{"version":3,"file":"shared-lib.n8pixRCr.mjs","names":["h","B","K","C","e","e.default","part","CSS","UI","_Fragment","useState","useRef","NAV_H","React.Fragment","useState","useRef","useCallback","useMemo","mfScroll","React.Fragment","_Fragment","__FramerMetadata__","React.forwardRef","useRef","React.useId","React.useMemo","metadataProvider","React.useContext","PropertyOverrides","__FramerMetadata__"],"sources":["https:/ga.jspm.io/npm:react-dom@18.3.1/server.browser.js","https:/framerusercontent.com/modules/WuubiuL5utcbz1gO1rMX/eUpcONvoSZkJVgj896pX/MFAboutMotion.js","https:/framerusercontent.com/modules/17sRaWhd6s8Tpz4ByMKj/G7NQObMtKbjLwU5IQmgw/MFAboutColour.js","https:/framerusercontent.com/modules/JJQO1fHMwILzDjr0BIro/EyXVptdnI9ncIpQGGnQp/MFLandingMotion.js","https:/framerusercontent.com/modules/X0m6qfi5r2dsXbv04baq/P5moLDF4j0NMgZ1zBFmo/MFLandingColour.js","https:/framerusercontent.com/modules/NZAWks3qHDtwHOABfDRk/B6rwEM23yccetDW0J03L/MFPhoneColour.js","https:/framerusercontent.com/modules/fcSZCkZFsDUvWDeMwCAt/dMu3gngq4fBJxcRdXiXy/MFColourBg.js","https:/framerusercontent.com/modules/CrdC7ajFhNFmeb4xC3sg/vHK3J06T9ythvNE3sj6K/MFHomepage.js","https:/framerusercontent.com/modules/wAxRfERbEFRh5rC63CuQ/lyS4UwIIoqRRWMbuwPBS/augiA20Il.js","https:/framerusercontent.com/modules/5vMDBsqK0N0GijlToALz/Ldf21fi3ew1WwJMzlcAd/augiA20Il.js","https:/framerusercontent.com/modules/emYaP2U45vYpe5lLKk0x/EJP9RxIjGrgnc0tGoQa4/snippets.js"],"sourcesContent":["import*as e from\"react\";var n=e;try{\"default\"in e&&(n=e.default)}catch(e){}var a={};var o=n;function l$2(e){for(var n=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,a=1;a<arguments.length;a++)n+=\"&args[]=\"+encodeURIComponent(arguments[a]);return\"Minified React error #\"+e+\"; visit \"+n+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var l=Object.prototype.hasOwnProperty,i=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,s={},c={};function ja$1(e){if(l.call(c,e))return!0;if(l.call(s,e))return!1;if(i.test(e))return c[e]=!0;s[e]=!0;return!1}function r(e,n,a,o,l,i,s){this.acceptsBooleans=2===n||3===n||4===n;this.attributeName=o;this.attributeNamespace=l;this.mustUseProperty=a;this.propertyName=e;this.type=n;this.sanitizeURL=i;this.removeEmptyString=s}var d={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach((function(e){d[e]=new r(e,0,!1,e,null,!1,!1)}));[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach((function(e){var n=e[0];d[n]=new r(n,1,!1,e[1],null,!1,!1)}));[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach((function(e){d[e]=new r(e,2,!1,e.toLowerCase(),null,!1,!1)}));[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach((function(e){d[e]=new r(e,2,!1,e,null,!1,!1)}));\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach((function(e){d[e]=new r(e,3,!1,e.toLowerCase(),null,!1,!1)}));[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach((function(e){d[e]=new r(e,3,!0,e,null,!1,!1)}));[\"capture\",\"download\"].forEach((function(e){d[e]=new r(e,4,!1,e,null,!1,!1)}));[\"cols\",\"rows\",\"size\",\"span\"].forEach((function(e){d[e]=new r(e,6,!1,e,null,!1,!1)}));[\"rowSpan\",\"start\"].forEach((function(e){d[e]=new r(e,5,!1,e.toLowerCase(),null,!1,!1)}));var f=/[\\-:]([a-z])/g;function la$1(e){return e[1].toUpperCase()}\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach((function(e){var n=e.replace(f,la$1);d[n]=new r(n,1,!1,e,null,!1,!1)}));\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach((function(e){var n=e.replace(f,la$1);d[n]=new r(n,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)}));[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach((function(e){var n=e.replace(f,la$1);d[n]=new r(n,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)}));[\"tabIndex\",\"crossOrigin\"].forEach((function(e){d[e]=new r(e,1,!1,e.toLowerCase(),null,!1,!1)}));d.xlinkHref=new r(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach((function(e){d[e]=new r(e,1,!1,e.toLowerCase(),null,!0,!0)}));var h={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},g=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(h).forEach((function(e){g.forEach((function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1);h[n]=h[e]}))}));var b=/[\"'&<>]/;function v(e){if(\"boolean\"===typeof e||\"number\"===typeof e)return\"\"+e;e=\"\"+e;var n=b.exec(e);if(n){var a,o=\"\",l=0;for(a=n.index;a<e.length;a++){switch(e.charCodeAt(a)){case 34:n=\"&quot;\";break;case 38:n=\"&amp;\";break;case 39:n=\"&#x27;\";break;case 60:n=\"&lt;\";break;case 62:n=\"&gt;\";break;default:continue}l!==a&&(o+=e.substring(l,a));l=a+1;o+=n}e=l!==a?o+e.substring(l,a):o}return e}var m=/([A-Z])/g,S=/^ms-/,x=Array.isArray;function w$1(e,n){return{insertionMode:e,selectedValue:n}}function ra$1(e,n,a){switch(n){case\"select\":return w$1(1,null!=a.value?a.value:a.defaultValue);case\"svg\":return w$1(2,null);case\"math\":return w$1(3,null);case\"foreignObject\":return w$1(1,null);case\"table\":return w$1(4,null);case\"thead\":case\"tbody\":case\"tfoot\":return w$1(5,null);case\"colgroup\":return w$1(7,null);case\"tr\":return w$1(6,null)}return 4<=e.insertionMode||0===e.insertionMode?w$1(1,null):e}var $=new Map;function ta$1(e,n,a){if(\"object\"!==typeof a)throw Error(l$2(62));n=!0;for(var o in a)if(l.call(a,o)){var i=a[o];if(null!=i&&\"boolean\"!==typeof i&&\"\"!==i){if(0===o.indexOf(\"--\")){var s=v(o);i=v((\"\"+i).trim())}else{s=o;var c=$.get(s);void 0!==c||(c=v(s.replace(m,\"-$1\").toLowerCase().replace(S,\"-ms-\")),$.set(s,c)),s=c;i=\"number\"===typeof i?0===i||l.call(h,o)?\"\"+i:i+\"px\":v((\"\"+i).trim())}n?(n=!1,e.push(' style=\"',s,\":\",i)):e.push(\";\",s,\":\",i)}}n||e.push('\"')}function x$1(e,n,a,o){switch(a){case\"style\":ta$1(e,n,o);return;case\"defaultValue\":case\"defaultChecked\":case\"innerHTML\":case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":return}if(!(2<a.length)||\"o\"!==a[0]&&\"O\"!==a[0]||\"n\"!==a[1]&&\"N\"!==a[1])if(n=d.hasOwnProperty(a)?d[a]:null,null!==n){switch(typeof o){case\"function\":case\"symbol\":return;case\"boolean\":if(!n.acceptsBooleans)return}a=n.attributeName;switch(n.type){case 3:o&&e.push(\" \",a,'=\"\"');break;case 4:!0===o?e.push(\" \",a,'=\"\"'):!1!==o&&e.push(\" \",a,'=\"',v(o),'\"');break;case 5:isNaN(o)||e.push(\" \",a,'=\"',v(o),'\"');break;case 6:!isNaN(o)&&1<=o&&e.push(\" \",a,'=\"',v(o),'\"');break;default:n.sanitizeURL&&(o=\"\"+o),e.push(\" \",a,'=\"',v(o),'\"')}}else if(ja$1(a)){switch(typeof o){case\"function\":case\"symbol\":return;case\"boolean\":if(n=a.toLowerCase().slice(0,5),\"data-\"!==n&&\"aria-\"!==n)return}e.push(\" \",a,'=\"',v(o),'\"')}}function y$1(e,n,a){if(null!=n){if(null!=a)throw Error(l$2(60));if(\"object\"!==typeof n||!(\"__html\"in n))throw Error(l$2(61));n=n.__html;null!==n&&void 0!==n&&e.push(\"\"+n)}}function ua$1(e){var n=\"\";o.Children.forEach(e,(function(e){null!=e&&(n+=e)}));return n}function va$1(e,n,a,o){e.push(A(a));var i,s=a=null;for(i in n)if(l.call(n,i)){var c=n[i];if(null!=c)switch(i){case\"children\":a=c;break;case\"dangerouslySetInnerHTML\":s=c;break;default:x$1(e,o,i,c)}}e.push(\">\");y$1(e,s,a);return\"string\"===typeof a?(e.push(v(a)),null):a}var E=/^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/,T=new Map;function A(e){var n=T.get(e);if(void 0===n){if(!E.test(e))throw Error(l$2(65,e));n=\"<\"+e;T.set(e,n)}return n}function ya$1(e,n,a,o,i){switch(n){case\"select\":e.push(A(\"select\"));var s=null,c=null;for(g in a)if(l.call(a,g)){var d=a[g];if(null!=d)switch(g){case\"children\":s=d;break;case\"dangerouslySetInnerHTML\":c=d;break;case\"defaultValue\":case\"value\":break;default:x$1(e,o,g,d)}}e.push(\">\");y$1(e,c,s);return s;case\"option\":c=i.selectedValue;e.push(A(\"option\"));var f=d=null,h=null;var g=null;for(s in a)if(l.call(a,s)){var b=a[s];if(null!=b)switch(s){case\"children\":d=b;break;case\"selected\":h=b;break;case\"dangerouslySetInnerHTML\":g=b;break;case\"value\":f=b;default:x$1(e,o,s,b)}}if(null!=c)if(a=null!==f?\"\"+f:ua$1(d),x(c)){for(o=0;o<c.length;o++)if(\"\"+c[o]===a){e.push(' selected=\"\"');break}}else\"\"+c===a&&e.push(' selected=\"\"');else h&&e.push(' selected=\"\"');e.push(\">\");y$1(e,g,d);return d;case\"textarea\":e.push(A(\"textarea\"));g=c=s=null;for(d in a)if(l.call(a,d)&&(f=a[d],null!=f))switch(d){case\"children\":g=f;break;case\"value\":s=f;break;case\"defaultValue\":c=f;break;case\"dangerouslySetInnerHTML\":throw Error(l$2(91));default:x$1(e,o,d,f)}null===s&&null!==c&&(s=c);e.push(\">\");if(null!=g){if(null!=s)throw Error(l$2(92));if(x(g)&&1<g.length)throw Error(l$2(93));s=\"\"+g}\"string\"===typeof s&&\"\\n\"===s[0]&&e.push(\"\\n\");null!==s&&e.push(v(\"\"+s));return null;case\"input\":e.push(A(\"input\"));f=g=d=s=null;for(c in a)if(l.call(a,c)&&(h=a[c],null!=h))switch(c){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(l$2(399,\"input\"));case\"defaultChecked\":f=h;break;case\"defaultValue\":d=h;break;case\"checked\":g=h;break;case\"value\":s=h;break;default:x$1(e,o,c,h)}null!==g?x$1(e,o,\"checked\",g):null!==f&&x$1(e,o,\"checked\",f);null!==s?x$1(e,o,\"value\",s):null!==d&&x$1(e,o,\"value\",d);e.push(\"/>\");return null;case\"menuitem\":e.push(A(\"menuitem\"));for(var m in a)if(l.call(a,m)&&(s=a[m],null!=s))switch(m){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(l$2(400));default:x$1(e,o,m,s)}e.push(\">\");return null;case\"title\":e.push(A(\"title\"));s=null;for(b in a)if(l.call(a,b)&&(c=a[b],null!=c))switch(b){case\"children\":s=c;break;case\"dangerouslySetInnerHTML\":throw Error(l$2(434));default:x$1(e,o,b,c)}e.push(\">\");return s;case\"listing\":case\"pre\":e.push(A(n));c=s=null;for(f in a)if(l.call(a,f)&&(d=a[f],null!=d))switch(f){case\"children\":s=d;break;case\"dangerouslySetInnerHTML\":c=d;break;default:x$1(e,o,f,d)}e.push(\">\");if(null!=c){if(null!=s)throw Error(l$2(60));if(\"object\"!==typeof c||!(\"__html\"in c))throw Error(l$2(61));a=c.__html;null!==a&&void 0!==a&&(\"string\"===typeof a&&0<a.length&&\"\\n\"===a[0]?e.push(\"\\n\",a):e.push(\"\"+a))}\"string\"===typeof s&&\"\\n\"===s[0]&&e.push(\"\\n\");return s;case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"img\":case\"keygen\":case\"link\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":e.push(A(n));for(var S in a)if(l.call(a,S)&&(s=a[S],null!=s))switch(S){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(l$2(399,n));default:x$1(e,o,S,s)}e.push(\"/>\");return null;case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return va$1(e,a,n,o);case\"html\":return 0===i.insertionMode&&e.push(\"<!DOCTYPE html>\"),va$1(e,a,n,o);default:if(-1===n.indexOf(\"-\")&&\"string\"!==typeof a.is)return va$1(e,a,n,o);e.push(A(n));c=s=null;for(h in a)if(l.call(a,h)&&(d=a[h],null!=d))switch(h){case\"children\":s=d;break;case\"dangerouslySetInnerHTML\":c=d;break;case\"style\":ta$1(e,o,d);break;case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":break;default:ja$1(h)&&\"function\"!==typeof d&&\"symbol\"!==typeof d&&e.push(\" \",h,'=\"',v(d),'\"')}e.push(\">\");y$1(e,c,s);return s}}function za$1(e,n,a){e.push('\\x3c!--$?--\\x3e<template id=\"');if(null===a)throw Error(l$2(395));e.push(a);return e.push('\"></template>')}function Aa$1(e,n,a,o){switch(a.insertionMode){case 0:case 1:return e.push('<div hidden id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 2:return e.push('<svg aria-hidden=\"true\" style=\"display:none\" id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 3:return e.push('<math aria-hidden=\"true\" style=\"display:none\" id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 4:return e.push('<table hidden id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 5:return e.push('<table hidden><tbody id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 6:return e.push('<table hidden><tr id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 7:return e.push('<table hidden><colgroup id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');default:throw Error(l$2(397))}}function Ba$1(e,n){switch(n.insertionMode){case 0:case 1:return e.push(\"</div>\");case 2:return e.push(\"</svg>\");case 3:return e.push(\"</math>\");case 4:return e.push(\"</table>\");case 5:return e.push(\"</tbody></table>\");case 6:return e.push(\"</tr></table>\");case 7:return e.push(\"</colgroup></table>\");default:throw Error(l$2(397))}}var R=/[<\\u2028\\u2029]/g;function Da$1(e){return JSON.stringify(e).replace(R,(function(e){switch(e){case\"<\":return\"\\\\u003c\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw Error(\"escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\")}}))}function Ea$1(e,n){n=void 0===n?\"\":n;return{bootstrapChunks:[],startInlineScript:\"<script>\",placeholderPrefix:n+\"P:\",segmentPrefix:n+\"S:\",boundaryPrefix:n+\"B:\",idPrefix:n,nextSuspenseID:0,sentCompleteSegmentFunction:!1,sentCompleteBoundaryFunction:!1,sentClientRenderFunction:!1,generateStaticMarkup:e}}function Fa$1(e,n,a,o){if(a.generateStaticMarkup)return e.push(v(n)),!1;\"\"===n?e=o:(o&&e.push(\"\\x3c!-- --\\x3e\"),e.push(v(n)),e=!0);return e}var _=Object.assign,I=Symbol.for(\"react.element\"),B=Symbol.for(\"react.portal\"),N=Symbol.for(\"react.fragment\"),z=Symbol.for(\"react.strict_mode\"),V=Symbol.for(\"react.profiler\"),j=Symbol.for(\"react.provider\"),O=Symbol.for(\"react.context\"),H=Symbol.for(\"react.forward_ref\"),U=Symbol.for(\"react.suspense\"),K=Symbol.for(\"react.suspense_list\"),ee=Symbol.for(\"react.memo\"),te=Symbol.for(\"react.lazy\"),ne=Symbol.for(\"react.scope\"),re=Symbol.for(\"react.debug_trace_mode\"),ae=Symbol.for(\"react.legacy_hidden\"),oe=Symbol.for(\"react.default_value\"),le=Symbol.iterator;function Xa$1(e){if(null==e)return null;if(\"function\"===typeof e)return e.displayName||e.name||null;if(\"string\"===typeof e)return e;switch(e){case N:return\"Fragment\";case B:return\"Portal\";case V:return\"Profiler\";case z:return\"StrictMode\";case U:return\"Suspense\";case K:return\"SuspenseList\"}if(\"object\"===typeof e)switch(e.$$typeof){case O:return(e.displayName||\"Context\")+\".Consumer\";case j:return(e._context.displayName||\"Context\")+\".Provider\";case H:var n=e.render;e=e.displayName;e||(e=n.displayName||n.name||\"\",e=\"\"!==e?\"ForwardRef(\"+e+\")\":\"ForwardRef\");return e;case ee:return n=e.displayName||null,null!==n?n:Xa$1(e.type)||\"Memo\";case te:n=e._payload;e=e._init;try{return Xa$1(e(n))}catch(e){}}return null}var ue={};function Za$1(e,n){e=e.contextTypes;if(!e)return ue;var a,o={};for(a in e)o[a]=n[a];return o}var ie=null;function F(e,n){if(e!==n){e.context._currentValue2=e.parentValue;e=e.parent;var a=n.parent;if(null===e){if(null!==a)throw Error(l$2(401))}else{if(null===a)throw Error(l$2(401));F(e,a)}n.context._currentValue2=n.value}}function $a$1(e){e.context._currentValue2=e.parentValue;e=e.parent;null!==e&&$a$1(e)}function ab$1(e){var n=e.parent;null!==n&&ab$1(n);e.context._currentValue2=e.value}function bb$1(e,n){e.context._currentValue2=e.parentValue;e=e.parent;if(null===e)throw Error(l$2(402));e.depth===n.depth?F(e,n):bb$1(e,n)}function cb$1(e,n){var a=n.parent;if(null===a)throw Error(l$2(402));e.depth===a.depth?F(e,a):cb$1(e,a);n.context._currentValue2=n.value}function G(e){var n=ie;n!==e&&(null===n?ab$1(e):null===e?$a$1(n):n.depth===e.depth?F(n,e):n.depth>e.depth?bb$1(n,e):cb$1(n,e),ie=e)}var se={isMounted:function(){return!1},enqueueSetState:function(e,n){e=e._reactInternals;null!==e.queue&&e.queue.push(n)},enqueueReplaceState:function(e,n){e=e._reactInternals;e.replace=!0;e.queue=[n]},enqueueForceUpdate:function(){}};function eb$1(e,n,a,o){var l=void 0!==e.state?e.state:null;e.updater=se;e.props=a;e.state=l;var i={queue:[],replace:!1};e._reactInternals=i;var s=n.contextType;e.context=\"object\"===typeof s&&null!==s?s._currentValue2:o;s=n.getDerivedStateFromProps;\"function\"===typeof s&&(s=s(a,l),l=null===s||void 0===s?l:_({},l,s),e.state=l);if(\"function\"!==typeof n.getDerivedStateFromProps&&\"function\"!==typeof e.getSnapshotBeforeUpdate&&(\"function\"===typeof e.UNSAFE_componentWillMount||\"function\"===typeof e.componentWillMount))if(n=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),n!==e.state&&se.enqueueReplaceState(e,e.state,null),null!==i.queue&&0<i.queue.length)if(n=i.queue,s=i.replace,i.queue=null,i.replace=!1,s&&1===n.length)e.state=n[0];else{i=s?n[0]:e.state;l=!0;for(s=s?1:0;s<n.length;s++){var c=n[s];c=\"function\"===typeof c?c.call(e,i,a,o):c;null!=c&&(l?(l=!1,i=_({},i,c)):_(i,c))}e.state=i}else i.queue=null}var ce={id:1,overflow:\"\"};function gb$1(e,n,a){var o=e.id;e=e.overflow;var l=32-de(o)-1;o&=~(1<<l);a+=1;var i=32-de(n)+l;if(30<i){var s=l-l%5;i=(o&(1<<s)-1).toString(32);o>>=s;l-=s;return{id:1<<32-de(n)+l|a<<l|o,overflow:i+e}}return{id:1<<i|a<<l|o,overflow:e}}var de=Math.clz32?Math.clz32:hb$1,fe=Math.log,pe=Math.LN2;function hb$1(e){e>>>=0;return 0===e?32:31-(fe(e)/pe|0)|0}function kb$1(e,n){return e===n&&(0!==e||1/e===1/n)||e!==e&&n!==n}var he=\"function\"===typeof Object.is?Object.is:kb$1,ge=null,be=null,me=null,ye=null,ve=!1,ke=!1,we=0,Se=null,xe=0;function Q$1(){if(null===ge)throw Error(l$2(321));return ge}function pb$1(){if(0<xe)throw Error(l$2(312));return{memoizedState:null,queue:null,next:null}}function qb$1(){null===ye?null===me?(ve=!1,me=ye=pb$1()):(ve=!0,ye=me):null===ye.next?(ve=!1,ye=ye.next=pb$1()):(ve=!0,ye=ye.next);return ye}function rb$1(){be=ge=null;ke=!1;me=null;xe=0;ye=Se=null}function sb$1(e,n){return\"function\"===typeof n?n(e):n}function tb$1(e,n,a){ge=Q$1();ye=qb$1();if(ve){var o=ye.queue;n=o.dispatch;if(null!==Se&&(a=Se.get(o),void 0!==a)){Se.delete(o);o=ye.memoizedState;do{o=e(o,a.action),a=a.next}while(null!==a);ye.memoizedState=o;return[o,n]}return[ye.memoizedState,n]}e=e===sb$1?\"function\"===typeof n?n():n:void 0!==a?a(n):n;ye.memoizedState=e;e=ye.queue={last:null,dispatch:null};e=e.dispatch=ub$1.bind(null,ge,e);return[ye.memoizedState,e]}function vb$1(e,n){ge=Q$1();ye=qb$1();n=void 0===n?null:n;if(null!==ye){var a=ye.memoizedState;if(null!==a&&null!==n){var o=a[1];e:if(null===o)o=!1;else{for(var l=0;l<o.length&&l<n.length;l++)if(!he(n[l],o[l])){o=!1;break e}o=!0}if(o)return a[0]}}e=e();ye.memoizedState=[e,n];return e}function ub$1(e,n,a){if(25<=xe)throw Error(l$2(301));if(e===ge)if(ke=!0,e={action:a,next:null},null===Se&&(Se=new Map),a=Se.get(n),void 0===a)Se.set(n,e);else{for(n=a;null!==n.next;)n=n.next;n.next=e}}function wb$1(){throw Error(l$2(394))}function R$1(){}var $e={readContext:function(e){return e._currentValue2},useContext:function(e){Q$1();return e._currentValue2},useMemo:vb$1,useReducer:tb$1,useRef:function(e){ge=Q$1();ye=qb$1();var n=ye.memoizedState;return null===n?(e={current:e},ye.memoizedState=e):n},useState:function(e){return tb$1(sb$1,e)},useInsertionEffect:R$1,useLayoutEffect:function(){},useCallback:function(e,n){return vb$1((function(){return e}),n)},useImperativeHandle:R$1,useEffect:R$1,useDebugValue:R$1,useDeferredValue:function(e){Q$1();return e},useTransition:function(){Q$1();return[!1,wb$1]},useId:function(){var e=be.treeContext;var n=e.overflow;e=e.id;e=(e&~(1<<32-de(e)-1)).toString(32)+n;var a=Ce;if(null===a)throw Error(l$2(404));n=we++;e=\":\"+a.idPrefix+\"R\"+e;0<n&&(e+=\"H\"+n.toString(32));return e+\":\"},useMutableSource:function(e,n){Q$1();return n(e._source)},useSyncExternalStore:function(e,n,a){if(void 0===a)throw Error(l$2(407));return a()}},Ce=null,Ee=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher;function zb$1(e){console.error(e);return null}function T$1(){}function Ab$1(e,n,a,o,l,i,s,c,d){var f=[],h=new Set;n={destination:null,responseState:n,progressiveChunkSize:void 0===o?12800:o,status:0,fatalError:null,nextSegmentId:0,allPendingTasks:0,pendingRootTasks:0,completedRootSegment:null,abortableTasks:h,pingedTasks:f,clientRenderedBoundaries:[],completedBoundaries:[],partialBoundaries:[],onError:void 0===l?zb$1:l,onAllReady:void 0===i?T$1:i,onShellReady:void 0===s?T$1:s,onShellError:void 0===c?T$1:c,onFatalError:void 0===d?T$1:d};a=U$1(n,0,null,a,!1,!1);a.parentFlushed=!0;e=Bb$1(n,e,null,a,h,ue,null,ce);f.push(e);return n}function Bb$1(e,n,a,o,l,i,s,c){e.allPendingTasks++;null===a?e.pendingRootTasks++:a.pendingTasks++;var d={node:n,ping:function(){var n=e.pingedTasks;n.push(d);1===n.length&&Cb$1(e)},blockedBoundary:a,blockedSegment:o,abortSet:l,legacyContext:i,context:s,treeContext:c};l.add(d);return d}function U$1(e,n,a,o,l,i){return{status:0,id:-1,index:n,parentFlushed:!1,chunks:[],children:[],formatContext:o,boundary:a,lastPushedText:l,textEmbedded:i}}function V$1(e,n){e=e.onError(n);if(null!=e&&\"string\"!==typeof e)throw Error('onError returned something with a type other than \"string\". onError should return a string and may return null or undefined but must not return anything else. It received something of type \"'+typeof e+'\" instead');return e}function W$1(e,n){var a=e.onShellError;a(n);a=e.onFatalError;a(n);null!==e.destination?(e.status=2,e.destination.destroy(n)):(e.status=1,e.fatalError=n)}function Db$1(e,n,a,o,l){ge={};be=n;we=0;for(e=a(o,l);ke;)ke=!1,we=0,xe+=1,ye=null,e=a(o,l);rb$1();return e}function Eb$1(e,n,a,o){var l=a.render(),i=o.childContextTypes;if(null!==i&&void 0!==i){var s=n.legacyContext;if(\"function\"!==typeof a.getChildContext)o=s;else{a=a.getChildContext();for(var c in a)if(!(c in i))throw Error(l$2(108,Xa$1(o)||\"Unknown\",c));o=_({},s,a)}n.legacyContext=o;X$1(e,n,l);n.legacyContext=s}else X$1(e,n,l)}function Fb(e,n){if(e&&e.defaultProps){n=_({},n);e=e.defaultProps;for(var a in e)void 0===n[a]&&(n[a]=e[a]);return n}return n}function Gb$1(e,n,a,o,l){if(\"function\"===typeof a)if(a.prototype&&a.prototype.isReactComponent){l=Za$1(a,n.legacyContext);var i=a.contextType;i=new a(o,\"object\"===typeof i&&null!==i?i._currentValue2:l);eb$1(i,a,o,l);Eb$1(e,n,i,a)}else{i=Za$1(a,n.legacyContext);l=Db$1(e,n,a,o,i);var s=0!==we;if(\"object\"===typeof l&&null!==l&&\"function\"===typeof l.render&&void 0===l.$$typeof)eb$1(l,a,o,i),Eb$1(e,n,l,a);else if(s){o=n.treeContext;n.treeContext=gb$1(o,1,0);try{X$1(e,n,l)}finally{n.treeContext=o}}else X$1(e,n,l)}else{if(\"string\"!==typeof a){switch(a){case ae:case re:case z:case V:case N:X$1(e,n,o.children);return;case K:X$1(e,n,o.children);return;case ne:throw Error(l$2(343));case U:e:{a=n.blockedBoundary;l=n.blockedSegment;i=o.fallback;o=o.children;s=new Set;var c={id:null,rootSegmentID:-1,parentFlushed:!1,pendingTasks:0,forceClientRender:!1,completedSegments:[],byteSize:0,fallbackAbortableTasks:s,errorDigest:null},d=U$1(e,l.chunks.length,c,l.formatContext,!1,!1);l.children.push(d);l.lastPushedText=!1;var f=U$1(e,0,null,l.formatContext,!1,!1);f.parentFlushed=!0;n.blockedBoundary=c;n.blockedSegment=f;try{if(Hb$1(e,n,o),e.responseState.generateStaticMarkup||f.lastPushedText&&f.textEmbedded&&f.chunks.push(\"\\x3c!-- --\\x3e\"),f.status=1,Y$1(c,f),0===c.pendingTasks)break e}catch(n){f.status=4,c.forceClientRender=!0,c.errorDigest=V$1(e,n)}finally{n.blockedBoundary=a,n.blockedSegment=l}n=Bb$1(e,i,a,d,s,n.legacyContext,n.context,n.treeContext);e.pingedTasks.push(n)}return}if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case H:o=Db$1(e,n,a.render,o,l);if(0!==we){a=n.treeContext;n.treeContext=gb$1(a,1,0);try{X$1(e,n,o)}finally{n.treeContext=a}}else X$1(e,n,o);return;case ee:a=a.type;o=Fb(a,o);Gb$1(e,n,a,o,l);return;case j:l=o.children;a=a._context;o=o.value;i=a._currentValue2;a._currentValue2=o;s=ie;ie=o={parent:s,depth:null===s?0:s.depth+1,context:a,parentValue:i,value:o};n.context=o;X$1(e,n,l);e=ie;if(null===e)throw Error(l$2(403));o=e.parentValue;e.context._currentValue2=o===oe?e.context._defaultValue:o;e=ie=e.parent;n.context=e;return;case O:o=o.children;o=o(a._currentValue2);X$1(e,n,o);return;case te:l=a._init;a=l(a._payload);o=Fb(a,o);Gb$1(e,n,a,o,void 0);return}throw Error(l$2(130,null==a?a:typeof a,\"\"))}l=n.blockedSegment;i=ya$1(l.chunks,a,o,e.responseState,l.formatContext);l.lastPushedText=!1;s=l.formatContext;l.formatContext=ra$1(s,a,o);Hb$1(e,n,i);l.formatContext=s;switch(a){case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"img\":case\"input\":case\"keygen\":case\"link\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":break;default:l.chunks.push(\"</\",a,\">\")}l.lastPushedText=!1}}function X$1(e,n,a){n.node=a;if(\"object\"===typeof a&&null!==a){switch(a.$$typeof){case I:Gb$1(e,n,a.type,a.props,a.ref);return;case B:throw Error(l$2(257));case te:var o=a._init;a=o(a._payload);X$1(e,n,a);return}if(x(a)){Ib$1(e,n,a);return}null===a||\"object\"!==typeof a?o=null:(o=le&&a[le]||a[\"@@iterator\"],o=\"function\"===typeof o?o:null);if(o&&(o=o.call(a))){a=o.next();if(!a.done){var l=[];do{l.push(a.value),a=o.next()}while(!a.done);Ib$1(e,n,l)}return}e=Object.prototype.toString.call(a);throw Error(l$2(31,\"[object Object]\"===e?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":e))}\"string\"===typeof a?(o=n.blockedSegment,o.lastPushedText=Fa$1(n.blockedSegment.chunks,a,e.responseState,o.lastPushedText)):\"number\"===typeof a&&(o=n.blockedSegment,o.lastPushedText=Fa$1(n.blockedSegment.chunks,\"\"+a,e.responseState,o.lastPushedText))}function Ib$1(e,n,a){for(var o=a.length,l=0;l<o;l++){var i=n.treeContext;n.treeContext=gb$1(i,o,l);try{Hb$1(e,n,a[l])}finally{n.treeContext=i}}}function Hb$1(e,n,a){var o=n.blockedSegment.formatContext,l=n.legacyContext,i=n.context;try{return X$1(e,n,a)}catch(d){if(rb$1(),\"object\"!==typeof d||null===d||\"function\"!==typeof d.then)throw n.blockedSegment.formatContext=o,n.legacyContext=l,n.context=i,G(i),d;a=d;var s=n.blockedSegment,c=U$1(e,s.chunks.length,null,s.formatContext,s.lastPushedText,!0);s.children.push(c);s.lastPushedText=!1;e=Bb$1(e,n.node,n.blockedBoundary,c,n.abortSet,n.legacyContext,n.context,n.treeContext).ping;a.then(e,e);n.blockedSegment.formatContext=o;n.legacyContext=l;n.context=i;G(i)}}function Jb$1(e){var n=e.blockedBoundary;e=e.blockedSegment;e.status=3;Kb$1(this,n,e)}function Lb$1(e,n,a){var o=e.blockedBoundary;e.blockedSegment.status=3;null===o?(n.allPendingTasks--,2!==n.status&&(n.status=2,null!==n.destination&&n.destination.push(null))):(o.pendingTasks--,o.forceClientRender||(o.forceClientRender=!0,e=void 0===a?Error(l$2(432)):a,o.errorDigest=n.onError(e),o.parentFlushed&&n.clientRenderedBoundaries.push(o)),o.fallbackAbortableTasks.forEach((function(e){return Lb$1(e,n,a)})),o.fallbackAbortableTasks.clear(),n.allPendingTasks--,0===n.allPendingTasks&&(o=n.onAllReady,o()))}function Y$1(e,n){if(0===n.chunks.length&&1===n.children.length&&null===n.children[0].boundary){var a=n.children[0];a.id=n.id;a.parentFlushed=!0;1===a.status&&Y$1(e,a)}else e.completedSegments.push(n)}function Kb$1(e,n,a){if(null===n){if(a.parentFlushed){if(null!==e.completedRootSegment)throw Error(l$2(389));e.completedRootSegment=a}e.pendingRootTasks--;0===e.pendingRootTasks&&(e.onShellError=T$1,n=e.onShellReady,n())}else n.pendingTasks--,n.forceClientRender||(0===n.pendingTasks?(a.parentFlushed&&1===a.status&&Y$1(n,a),n.parentFlushed&&e.completedBoundaries.push(n),n.fallbackAbortableTasks.forEach(Jb$1,e),n.fallbackAbortableTasks.clear()):a.parentFlushed&&1===a.status&&(Y$1(n,a),1===n.completedSegments.length&&n.parentFlushed&&e.partialBoundaries.push(n)));e.allPendingTasks--;0===e.allPendingTasks&&(e=e.onAllReady,e())}function Cb$1(e){if(2!==e.status){var n=ie,a=Ee.current;Ee.current=$e;var o=Ce;Ce=e.responseState;try{var l,i=e.pingedTasks;for(l=0;l<i.length;l++){var s=i[l];var c=e,d=s.blockedSegment;if(0===d.status){G(s.context);try{X$1(c,s,s.node),c.responseState.generateStaticMarkup||d.lastPushedText&&d.textEmbedded&&d.chunks.push(\"\\x3c!-- --\\x3e\"),s.abortSet.delete(s),d.status=1,Kb$1(c,s.blockedBoundary,d)}catch(e){if(rb$1(),\"object\"===typeof e&&null!==e&&\"function\"===typeof e.then){var f=s.ping;e.then(f,f)}else{s.abortSet.delete(s);d.status=4;var h=s.blockedBoundary,g=e,b=V$1(c,g);null===h?W$1(c,g):(h.pendingTasks--,h.forceClientRender||(h.forceClientRender=!0,h.errorDigest=b,h.parentFlushed&&c.clientRenderedBoundaries.push(h)));c.allPendingTasks--;if(0===c.allPendingTasks){var m=c.onAllReady;m()}}}}}i.splice(0,l);null!==e.destination&&Mb$1(e,e.destination)}catch(n){V$1(e,n),W$1(e,n)}finally{Ce=o,Ee.current=a,a===$e&&G(n)}}}function Z$1(e,n,a){a.parentFlushed=!0;switch(a.status){case 0:var o=a.id=e.nextSegmentId++;a.lastPushedText=!1;a.textEmbedded=!1;e=e.responseState;n.push('<template id=\"');n.push(e.placeholderPrefix);e=o.toString(16);n.push(e);return n.push('\"></template>');case 1:a.status=2;var l=!0;o=a.chunks;var i=0;a=a.children;for(var s=0;s<a.length;s++){for(l=a[s];i<l.index;i++)n.push(o[i]);l=Nb$1(e,n,l)}for(;i<o.length-1;i++)n.push(o[i]);i<o.length&&(l=n.push(o[i]));return l;default:throw Error(l$2(390))}}function Nb$1(e,n,a){var o=a.boundary;if(null===o)return Z$1(e,n,a);o.parentFlushed=!0;if(o.forceClientRender)return e.responseState.generateStaticMarkup||(o=o.errorDigest,n.push(\"\\x3c!--$!--\\x3e\"),n.push(\"<template\"),o&&(n.push(' data-dgst=\"'),o=v(o),n.push(o),n.push('\"')),n.push(\"></template>\")),Z$1(e,n,a),e=!!e.responseState.generateStaticMarkup||n.push(\"\\x3c!--/$--\\x3e\"),e;if(0<o.pendingTasks){o.rootSegmentID=e.nextSegmentId++;0<o.completedSegments.length&&e.partialBoundaries.push(o);var l=e.responseState;var i=l.nextSuspenseID++;l=l.boundaryPrefix+i.toString(16);o=o.id=l;za$1(n,e.responseState,o);Z$1(e,n,a);return n.push(\"\\x3c!--/$--\\x3e\")}if(o.byteSize>e.progressiveChunkSize)return o.rootSegmentID=e.nextSegmentId++,e.completedBoundaries.push(o),za$1(n,e.responseState,o.id),Z$1(e,n,a),n.push(\"\\x3c!--/$--\\x3e\");e.responseState.generateStaticMarkup||n.push(\"\\x3c!--$--\\x3e\");a=o.completedSegments;if(1!==a.length)throw Error(l$2(391));Nb$1(e,n,a[0]);e=!!e.responseState.generateStaticMarkup||n.push(\"\\x3c!--/$--\\x3e\");return e}function Ob$1(e,n,a){Aa$1(n,e.responseState,a.formatContext,a.id);Nb$1(e,n,a);return Ba$1(n,a.formatContext)}function Pb$1(e,n,a){for(var o=a.completedSegments,l=0;l<o.length;l++)Qb$1(e,n,a,o[l]);o.length=0;e=e.responseState;o=a.id;a=a.rootSegmentID;n.push(e.startInlineScript);e.sentCompleteBoundaryFunction?n.push('$RC(\"'):(e.sentCompleteBoundaryFunction=!0,n.push('function $RC(a,b){a=document.getElementById(a);b=document.getElementById(b);b.parentNode.removeChild(b);if(a){a=a.previousSibling;var f=a.parentNode,c=a.nextSibling,e=0;do{if(c&&8===c.nodeType){var d=c.data;if(\"/$\"===d)if(0===e)break;else e--;else\"$\"!==d&&\"$?\"!==d&&\"$!\"!==d||e++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;b.firstChild;)f.insertBefore(b.firstChild,c);a.data=\"$\";a._reactRetry&&a._reactRetry()}};$RC(\"'));if(null===o)throw Error(l$2(395));a=a.toString(16);n.push(o);n.push('\",\"');n.push(e.segmentPrefix);n.push(a);return n.push('\")<\\/script>')}function Qb$1(e,n,a,o){if(2===o.status)return!0;var l=o.id;if(-1===l){if(-1===(o.id=a.rootSegmentID))throw Error(l$2(392));return Ob$1(e,n,o)}Ob$1(e,n,o);e=e.responseState;n.push(e.startInlineScript);e.sentCompleteSegmentFunction?n.push('$RS(\"'):(e.sentCompleteSegmentFunction=!0,n.push('function $RS(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS(\"'));n.push(e.segmentPrefix);l=l.toString(16);n.push(l);n.push('\",\"');n.push(e.placeholderPrefix);n.push(l);return n.push('\")<\\/script>')}function Mb$1(e,n){try{var a=e.completedRootSegment;if(null!==a&&0===e.pendingRootTasks){Nb$1(e,n,a);e.completedRootSegment=null;var o=e.responseState.bootstrapChunks;for(a=0;a<o.length-1;a++)n.push(o[a]);a<o.length&&n.push(o[a])}var l,i=e.clientRenderedBoundaries;for(l=0;l<i.length;l++){var s=i[l];o=n;var c=e.responseState,d=s.id,f=s.errorDigest,h=s.errorMessage,g=s.errorComponentStack;o.push(c.startInlineScript);c.sentClientRenderFunction?o.push('$RX(\"'):(c.sentClientRenderFunction=!0,o.push('function $RX(b,c,d,e){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),b._reactRetry&&b._reactRetry())};$RX(\"'));if(null===d)throw Error(l$2(395));o.push(d);o.push('\"');if(f||h||g){o.push(\",\");var b=Da$1(f||\"\");o.push(b)}if(h||g){o.push(\",\");var m=Da$1(h||\"\");o.push(m)}if(g){o.push(\",\");var S=Da$1(g);o.push(S)}if(!o.push(\")<\\/script>\")){e.destination=null;l++;i.splice(0,l);return}}i.splice(0,l);var x=e.completedBoundaries;for(l=0;l<x.length;l++)if(!Pb$1(e,n,x[l])){e.destination=null;l++;x.splice(0,l);return}x.splice(0,l);var $=e.partialBoundaries;for(l=0;l<$.length;l++){var E=$[l];e:{i=e;s=n;var T=E.completedSegments;for(c=0;c<T.length;c++)if(!Qb$1(i,s,E,T[c])){c++;T.splice(0,c);var R=!1;break e}T.splice(0,c);R=!0}if(!R){e.destination=null;l++;$.splice(0,l);return}}$.splice(0,l);var _=e.completedBoundaries;for(l=0;l<_.length;l++)if(!Pb$1(e,n,_[l])){e.destination=null;l++;_.splice(0,l);return}_.splice(0,l)}finally{0===e.allPendingTasks&&0===e.pingedTasks.length&&0===e.clientRenderedBoundaries.length&&0===e.completedBoundaries.length&&n.push(null)}}function Rb$1(e,n){try{var a=e.abortableTasks;a.forEach((function(a){return Lb$1(a,e,n)}));a.clear();null!==e.destination&&Mb$1(e,e.destination)}catch(n){V$1(e,n),W$1(e,n)}}function Sb$1(){}function Tb$1(e,n,a,o){var l=!1,i=null,s=\"\",c={push:function(e){null!==e&&(s+=e);return!0},destroy:function(e){l=!0;i=e}},d=!1;e=Ab$1(e,Ea$1(a,n?n.identifierPrefix:void 0),{insertionMode:1,selectedValue:null},Infinity,Sb$1,void 0,(function(){d=!0}),void 0,void 0);Cb$1(e);Rb$1(e,o);if(1===e.status)e.status=2,c.destroy(e.fatalError);else if(2!==e.status&&null===e.destination){e.destination=c;try{Mb$1(e,c)}catch(n){V$1(e,n),W$1(e,n)}}if(l)throw i;if(!d)throw Error(l$2(426));return s}a.renderToNodeStream=function(){throw Error(l$2(207))};a.renderToStaticMarkup=function(e,n){return Tb$1(e,n,!0,'The server used \"renderToStaticMarkup\" which does not support Suspense. If you intended to have the server wait for the suspended component please switch to \"renderToReadableStream\" which supports Suspense on the server')};a.renderToStaticNodeStream=function(){throw Error(l$2(208))};a.renderToString=function(e,n){return Tb$1(e,n,!1,'The server used \"renderToString\" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to \"renderToReadableStream\" which supports Suspense on the server')};a.version=\"18.3.1\";var Fe=e;try{\"default\"in e&&(Fe=e.default)}catch(e){}var Te={};var Re=Fe;function k(e){for(var n=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,a=1;a<arguments.length;a++)n+=\"&args[]=\"+encodeURIComponent(arguments[a]);return\"Minified React error #\"+e+\"; visit \"+n+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var Pe=null,_e=0;function p(e,n){if(0!==n.length)if(512<n.length)0<_e&&(e.enqueue(new Uint8Array(Pe.buffer,0,_e)),Pe=new Uint8Array(512),_e=0),e.enqueue(n);else{var a=Pe.length-_e;a<n.length&&(0===a?e.enqueue(Pe):(Pe.set(n.subarray(0,a),_e),e.enqueue(Pe),n=n.subarray(a)),Pe=new Uint8Array(512),_e=0);Pe.set(n,_e);_e+=n.length}}function t(e,n){p(e,n);return!0}function ba(e){Pe&&0<_e&&(e.enqueue(new Uint8Array(Pe.buffer,0,_e)),Pe=null,_e=0)}var Me=new TextEncoder;function u(e){return Me.encode(e)}function w(e){return Me.encode(e)}function da(e,n){\"function\"===typeof e.error?e.error(n):e.close()}var Ie=Object.prototype.hasOwnProperty,De=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,Be={},Ne={};function ia(e){if(Ie.call(Ne,e))return!0;if(Ie.call(Be,e))return!1;if(De.test(e))return Ne[e]=!0;Be[e]=!0;return!1}function y(e,n,a,o,l,i,s){this.acceptsBooleans=2===n||3===n||4===n;this.attributeName=o;this.attributeNamespace=l;this.mustUseProperty=a;this.propertyName=e;this.type=n;this.sanitizeURL=i;this.removeEmptyString=s}var ze={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach((function(e){ze[e]=new y(e,0,!1,e,null,!1,!1)}));[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach((function(e){var n=e[0];ze[n]=new y(n,1,!1,e[1],null,!1,!1)}));[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach((function(e){ze[e]=new y(e,2,!1,e.toLowerCase(),null,!1,!1)}));[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach((function(e){ze[e]=new y(e,2,!1,e,null,!1,!1)}));\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach((function(e){ze[e]=new y(e,3,!1,e.toLowerCase(),null,!1,!1)}));[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach((function(e){ze[e]=new y(e,3,!0,e,null,!1,!1)}));[\"capture\",\"download\"].forEach((function(e){ze[e]=new y(e,4,!1,e,null,!1,!1)}));[\"cols\",\"rows\",\"size\",\"span\"].forEach((function(e){ze[e]=new y(e,6,!1,e,null,!1,!1)}));[\"rowSpan\",\"start\"].forEach((function(e){ze[e]=new y(e,5,!1,e.toLowerCase(),null,!1,!1)}));var Ve=/[\\-:]([a-z])/g;function ka(e){return e[1].toUpperCase()}\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach((function(e){var n=e.replace(Ve,ka);ze[n]=new y(n,1,!1,e,null,!1,!1)}));\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach((function(e){var n=e.replace(Ve,ka);ze[n]=new y(n,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)}));[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach((function(e){var n=e.replace(Ve,ka);ze[n]=new y(n,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)}));[\"tabIndex\",\"crossOrigin\"].forEach((function(e){ze[e]=new y(e,1,!1,e.toLowerCase(),null,!1,!1)}));ze.xlinkHref=new y(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach((function(e){ze[e]=new y(e,1,!1,e.toLowerCase(),null,!0,!0)}));var Ae={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Le=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(Ae).forEach((function(e){Le.forEach((function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1);Ae[n]=Ae[e]}))}));var je=/[\"'&<>]/;function C(e){if(\"boolean\"===typeof e||\"number\"===typeof e)return\"\"+e;e=\"\"+e;var n=je.exec(e);if(n){var a,o=\"\",l=0;for(a=n.index;a<e.length;a++){switch(e.charCodeAt(a)){case 34:n=\"&quot;\";break;case 38:n=\"&amp;\";break;case 39:n=\"&#x27;\";break;case 60:n=\"&lt;\";break;case 62:n=\"&gt;\";break;default:continue}l!==a&&(o+=e.substring(l,a));l=a+1;o+=n}e=l!==a?o+e.substring(l,a):o}return e}var Oe=/([A-Z])/g,qe=/^ms-/,We=Array.isArray,He=w(\"<script>\"),Ue=w(\"<\\/script>\"),Ze=w('<script src=\"'),Xe=w('<script type=\"module\" src=\"'),Je=w('\" async=\"\"><\\/script>'),Ge=/(<\\/|<)(s)(cript)/gi;function ya(e,n,a,o){return n+(\"s\"===a?\"\\\\u0073\":\"\\\\u0053\")+o}function za(e,n,a,o,l){e=void 0===e?\"\":e;n=void 0===n?He:w('<script nonce=\"'+C(n)+'\">');var i=[];void 0!==a&&i.push(n,u((\"\"+a).replace(Ge,ya)),Ue);if(void 0!==o)for(a=0;a<o.length;a++)i.push(Ze,u(C(o[a])),Je);if(void 0!==l)for(o=0;o<l.length;o++)i.push(Xe,u(C(l[o])),Je);return{bootstrapChunks:i,startInlineScript:n,placeholderPrefix:w(e+\"P:\"),segmentPrefix:w(e+\"S:\"),boundaryPrefix:e+\"B:\",idPrefix:e,nextSuspenseID:0,sentCompleteSegmentFunction:!1,sentCompleteBoundaryFunction:!1,sentClientRenderFunction:!1}}function D(e,n){return{insertionMode:e,selectedValue:n}}function Aa(e){return D(\"http://www.w3.org/2000/svg\"===e?2:\"http://www.w3.org/1998/Math/MathML\"===e?3:0,null)}function Ba(e,n,a){switch(n){case\"select\":return D(1,null!=a.value?a.value:a.defaultValue);case\"svg\":return D(2,null);case\"math\":return D(3,null);case\"foreignObject\":return D(1,null);case\"table\":return D(4,null);case\"thead\":case\"tbody\":case\"tfoot\":return D(5,null);case\"colgroup\":return D(7,null);case\"tr\":return D(6,null)}return 4<=e.insertionMode||0===e.insertionMode?D(1,null):e}var Qe=w(\"\\x3c!-- --\\x3e\");function Da(e,n,a,o){if(\"\"===n)return o;o&&e.push(Qe);e.push(u(C(n)));return!0}var Ye=new Map,Ke=w(' style=\"'),et=w(\":\"),tt=w(\";\");function Ia(e,n,a){if(\"object\"!==typeof a)throw Error(k(62));n=!0;for(var o in a)if(Ie.call(a,o)){var l=a[o];if(null!=l&&\"boolean\"!==typeof l&&\"\"!==l){if(0===o.indexOf(\"--\")){var i=u(C(o));l=u(C((\"\"+l).trim()))}else{i=o;var s=Ye.get(i);void 0!==s||(s=w(C(i.replace(Oe,\"-$1\").toLowerCase().replace(qe,\"-ms-\"))),Ye.set(i,s)),i=s;l=\"number\"===typeof l?0===l||Ie.call(Ae,o)?u(\"\"+l):u(l+\"px\"):u(C((\"\"+l).trim()))}n?(n=!1,e.push(Ke,i,et,l)):e.push(tt,i,et,l)}}n||e.push(at)}var nt=w(\" \"),rt=w('=\"'),at=w('\"'),ot=w('=\"\"');function J(e,n,a,o){switch(a){case\"style\":Ia(e,n,o);return;case\"defaultValue\":case\"defaultChecked\":case\"innerHTML\":case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":return}if(!(2<a.length)||\"o\"!==a[0]&&\"O\"!==a[0]||\"n\"!==a[1]&&\"N\"!==a[1])if(n=ze.hasOwnProperty(a)?ze[a]:null,null!==n){switch(typeof o){case\"function\":case\"symbol\":return;case\"boolean\":if(!n.acceptsBooleans)return}a=u(n.attributeName);switch(n.type){case 3:o&&e.push(nt,a,ot);break;case 4:!0===o?e.push(nt,a,ot):!1!==o&&e.push(nt,a,rt,u(C(o)),at);break;case 5:isNaN(o)||e.push(nt,a,rt,u(C(o)),at);break;case 6:!isNaN(o)&&1<=o&&e.push(nt,a,rt,u(C(o)),at);break;default:n.sanitizeURL&&(o=\"\"+o),e.push(nt,a,rt,u(C(o)),at)}}else if(ia(a)){switch(typeof o){case\"function\":case\"symbol\":return;case\"boolean\":if(n=a.toLowerCase().slice(0,5),\"data-\"!==n&&\"aria-\"!==n)return}e.push(nt,u(a),rt,u(C(o)),at)}}var lt=w(\">\"),ut=w(\"/>\");function L(e,n,a){if(null!=n){if(null!=a)throw Error(k(60));if(\"object\"!==typeof n||!(\"__html\"in n))throw Error(k(61));n=n.__html;null!==n&&void 0!==n&&e.push(u(\"\"+n))}}function La(e){var n=\"\";Re.Children.forEach(e,(function(e){null!=e&&(n+=e)}));return n}var it=w(' selected=\"\"');function Na(e,n,a,o){e.push(M(a));var l,i=a=null;for(l in n)if(Ie.call(n,l)){var s=n[l];if(null!=s)switch(l){case\"children\":a=s;break;case\"dangerouslySetInnerHTML\":i=s;break;default:J(e,o,l,s)}}e.push(lt);L(e,i,a);return\"string\"===typeof a?(e.push(u(C(a))),null):a}var st=w(\"\\n\"),ct=/^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/,dt=new Map;function M(e){var n=dt.get(e);if(void 0===n){if(!ct.test(e))throw Error(k(65,e));n=w(\"<\"+e);dt.set(e,n)}return n}var ft=w(\"<!DOCTYPE html>\");function Sa(e,n,a,o,l){switch(n){case\"select\":e.push(M(\"select\"));var i=null,s=null;for(h in a)if(Ie.call(a,h)){var c=a[h];if(null!=c)switch(h){case\"children\":i=c;break;case\"dangerouslySetInnerHTML\":s=c;break;case\"defaultValue\":case\"value\":break;default:J(e,o,h,c)}}e.push(lt);L(e,s,i);return i;case\"option\":s=l.selectedValue;e.push(M(\"option\"));var d=c=null,f=null;var h=null;for(i in a)if(Ie.call(a,i)){var g=a[i];if(null!=g)switch(i){case\"children\":c=g;break;case\"selected\":f=g;break;case\"dangerouslySetInnerHTML\":h=g;break;case\"value\":d=g;default:J(e,o,i,g)}}if(null!=s)if(a=null!==d?\"\"+d:La(c),We(s)){for(o=0;o<s.length;o++)if(\"\"+s[o]===a){e.push(it);break}}else\"\"+s===a&&e.push(it);else f&&e.push(it);e.push(lt);L(e,h,c);return c;case\"textarea\":e.push(M(\"textarea\"));h=s=i=null;for(c in a)if(Ie.call(a,c)&&(d=a[c],null!=d))switch(c){case\"children\":h=d;break;case\"value\":i=d;break;case\"defaultValue\":s=d;break;case\"dangerouslySetInnerHTML\":throw Error(k(91));default:J(e,o,c,d)}null===i&&null!==s&&(i=s);e.push(lt);if(null!=h){if(null!=i)throw Error(k(92));if(We(h)&&1<h.length)throw Error(k(93));i=\"\"+h}\"string\"===typeof i&&\"\\n\"===i[0]&&e.push(st);null!==i&&e.push(u(C(\"\"+i)));return null;case\"input\":e.push(M(\"input\"));d=h=c=i=null;for(s in a)if(Ie.call(a,s)&&(f=a[s],null!=f))switch(s){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(k(399,\"input\"));case\"defaultChecked\":d=f;break;case\"defaultValue\":c=f;break;case\"checked\":h=f;break;case\"value\":i=f;break;default:J(e,o,s,f)}null!==h?J(e,o,\"checked\",h):null!==d&&J(e,o,\"checked\",d);null!==i?J(e,o,\"value\",i):null!==c&&J(e,o,\"value\",c);e.push(ut);return null;case\"menuitem\":e.push(M(\"menuitem\"));for(var b in a)if(Ie.call(a,b)&&(i=a[b],null!=i))switch(b){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(k(400));default:J(e,o,b,i)}e.push(lt);return null;case\"title\":e.push(M(\"title\"));i=null;for(g in a)if(Ie.call(a,g)&&(s=a[g],null!=s))switch(g){case\"children\":i=s;break;case\"dangerouslySetInnerHTML\":throw Error(k(434));default:J(e,o,g,s)}e.push(lt);return i;case\"listing\":case\"pre\":e.push(M(n));s=i=null;for(d in a)if(Ie.call(a,d)&&(c=a[d],null!=c))switch(d){case\"children\":i=c;break;case\"dangerouslySetInnerHTML\":s=c;break;default:J(e,o,d,c)}e.push(lt);if(null!=s){if(null!=i)throw Error(k(60));if(\"object\"!==typeof s||!(\"__html\"in s))throw Error(k(61));a=s.__html;null!==a&&void 0!==a&&(\"string\"===typeof a&&0<a.length&&\"\\n\"===a[0]?e.push(st,u(a)):e.push(u(\"\"+a)))}\"string\"===typeof i&&\"\\n\"===i[0]&&e.push(st);return i;case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"img\":case\"keygen\":case\"link\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":e.push(M(n));for(var m in a)if(Ie.call(a,m)&&(i=a[m],null!=i))switch(m){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(k(399,n));default:J(e,o,m,i)}e.push(ut);return null;case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return Na(e,a,n,o);case\"html\":return 0===l.insertionMode&&e.push(ft),Na(e,a,n,o);default:if(-1===n.indexOf(\"-\")&&\"string\"!==typeof a.is)return Na(e,a,n,o);e.push(M(n));s=i=null;for(f in a)if(Ie.call(a,f)&&(c=a[f],null!=c))switch(f){case\"children\":i=c;break;case\"dangerouslySetInnerHTML\":s=c;break;case\"style\":Ia(e,o,c);break;case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":break;default:ia(f)&&\"function\"!==typeof c&&\"symbol\"!==typeof c&&e.push(nt,u(f),rt,u(C(c)),at)}e.push(lt);L(e,s,i);return i}}var pt=w(\"</\"),ht=w(\">\"),gt=w('<template id=\"'),bt=w('\"></template>'),mt=w(\"\\x3c!--$--\\x3e\"),yt=w('\\x3c!--$?--\\x3e<template id=\"'),vt=w('\"></template>'),kt=w(\"\\x3c!--$!--\\x3e\"),wt=w(\"\\x3c!--/$--\\x3e\"),St=w(\"<template\"),xt=w('\"'),$t=w(' data-dgst=\"');w(' data-msg=\"');w(' data-stck=\"');var Ct=w(\"></template>\");function fb(e,n,a){p(e,yt);if(null===a)throw Error(k(395));p(e,a);return t(e,vt)}var Et=w('<div hidden id=\"'),Ft=w('\">'),Tt=w(\"</div>\"),Rt=w('<svg aria-hidden=\"true\" style=\"display:none\" id=\"'),Pt=w('\">'),_t=w(\"</svg>\"),Mt=w('<math aria-hidden=\"true\" style=\"display:none\" id=\"'),It=w('\">'),Dt=w(\"</math>\"),Bt=w('<table hidden id=\"'),Nt=w('\">'),zt=w(\"</table>\"),Vt=w('<table hidden><tbody id=\"'),At=w('\">'),Lt=w(\"</tbody></table>\"),jt=w('<table hidden><tr id=\"'),Ot=w('\">'),qt=w(\"</tr></table>\"),Wt=w('<table hidden><colgroup id=\"'),Ht=w('\">'),Ut=w(\"</colgroup></table>\");function Bb(e,n,a,o){switch(a.insertionMode){case 0:case 1:return p(e,Et),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Ft);case 2:return p(e,Rt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Pt);case 3:return p(e,Mt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,It);case 4:return p(e,Bt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Nt);case 5:return p(e,Vt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,At);case 6:return p(e,jt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Ot);case 7:return p(e,Wt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Ht);default:throw Error(k(397))}}function Cb(e,n){switch(n.insertionMode){case 0:case 1:return t(e,Tt);case 2:return t(e,_t);case 3:return t(e,Dt);case 4:return t(e,zt);case 5:return t(e,Lt);case 6:return t(e,qt);case 7:return t(e,Ut);default:throw Error(k(397))}}var Zt=w('function $RS(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS(\"'),Xt=w('$RS(\"'),Jt=w('\",\"'),Gt=w('\")<\\/script>'),Qt=w('function $RC(a,b){a=document.getElementById(a);b=document.getElementById(b);b.parentNode.removeChild(b);if(a){a=a.previousSibling;var f=a.parentNode,c=a.nextSibling,e=0;do{if(c&&8===c.nodeType){var d=c.data;if(\"/$\"===d)if(0===e)break;else e--;else\"$\"!==d&&\"$?\"!==d&&\"$!\"!==d||e++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;b.firstChild;)f.insertBefore(b.firstChild,c);a.data=\"$\";a._reactRetry&&a._reactRetry()}};$RC(\"'),Yt=w('$RC(\"'),Kt=w('\",\"'),en=w('\")<\\/script>'),tn=w('function $RX(b,c,d,e){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),b._reactRetry&&b._reactRetry())};$RX(\"'),nn=w('$RX(\"'),rn=w('\"'),an=w(\")<\\/script>\"),on=w(\",\"),ln=/[<\\u2028\\u2029]/g;function Sb(e){return JSON.stringify(e).replace(ln,(function(e){switch(e){case\"<\":return\"\\\\u003c\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw Error(\"escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\")}}))}var un=Object.assign,sn=Symbol.for(\"react.element\"),cn=Symbol.for(\"react.portal\"),dn=Symbol.for(\"react.fragment\"),fn=Symbol.for(\"react.strict_mode\"),pn=Symbol.for(\"react.profiler\"),hn=Symbol.for(\"react.provider\"),gn=Symbol.for(\"react.context\"),bn=Symbol.for(\"react.forward_ref\"),mn=Symbol.for(\"react.suspense\"),yn=Symbol.for(\"react.suspense_list\"),vn=Symbol.for(\"react.memo\"),kn=Symbol.for(\"react.lazy\"),wn=Symbol.for(\"react.scope\"),Sn=Symbol.for(\"react.debug_trace_mode\"),xn=Symbol.for(\"react.legacy_hidden\"),$n=Symbol.for(\"react.default_value\"),Cn=Symbol.iterator;function jc(e){if(null==e)return null;if(\"function\"===typeof e)return e.displayName||e.name||null;if(\"string\"===typeof e)return e;switch(e){case dn:return\"Fragment\";case cn:return\"Portal\";case pn:return\"Profiler\";case fn:return\"StrictMode\";case mn:return\"Suspense\";case yn:return\"SuspenseList\"}if(\"object\"===typeof e)switch(e.$$typeof){case gn:return(e.displayName||\"Context\")+\".Consumer\";case hn:return(e._context.displayName||\"Context\")+\".Provider\";case bn:var n=e.render;e=e.displayName;e||(e=n.displayName||n.name||\"\",e=\"\"!==e?\"ForwardRef(\"+e+\")\":\"ForwardRef\");return e;case vn:return n=e.displayName||null,null!==n?n:jc(e.type)||\"Memo\";case kn:n=e._payload;e=e._init;try{return jc(e(n))}catch(e){}}return null}var En={};function lc(e,n){e=e.contextTypes;if(!e)return En;var a,o={};for(a in e)o[a]=n[a];return o}var Fn=null;function P(e,n){if(e!==n){e.context._currentValue=e.parentValue;e=e.parent;var a=n.parent;if(null===e){if(null!==a)throw Error(k(401))}else{if(null===a)throw Error(k(401));P(e,a)}n.context._currentValue=n.value}}function mc(e){e.context._currentValue=e.parentValue;e=e.parent;null!==e&&mc(e)}function nc(e){var n=e.parent;null!==n&&nc(n);e.context._currentValue=e.value}function oc(e,n){e.context._currentValue=e.parentValue;e=e.parent;if(null===e)throw Error(k(402));e.depth===n.depth?P(e,n):oc(e,n)}function pc(e,n){var a=n.parent;if(null===a)throw Error(k(402));e.depth===a.depth?P(e,a):pc(e,a);n.context._currentValue=n.value}function Q(e){var n=Fn;n!==e&&(null===n?nc(e):null===e?mc(n):n.depth===e.depth?P(n,e):n.depth>e.depth?oc(n,e):pc(n,e),Fn=e)}var Tn={isMounted:function(){return!1},enqueueSetState:function(e,n){e=e._reactInternals;null!==e.queue&&e.queue.push(n)},enqueueReplaceState:function(e,n){e=e._reactInternals;e.replace=!0;e.queue=[n]},enqueueForceUpdate:function(){}};function rc(e,n,a,o){var l=void 0!==e.state?e.state:null;e.updater=Tn;e.props=a;e.state=l;var i={queue:[],replace:!1};e._reactInternals=i;var s=n.contextType;e.context=\"object\"===typeof s&&null!==s?s._currentValue:o;s=n.getDerivedStateFromProps;\"function\"===typeof s&&(s=s(a,l),l=null===s||void 0===s?l:un({},l,s),e.state=l);if(\"function\"!==typeof n.getDerivedStateFromProps&&\"function\"!==typeof e.getSnapshotBeforeUpdate&&(\"function\"===typeof e.UNSAFE_componentWillMount||\"function\"===typeof e.componentWillMount))if(n=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),n!==e.state&&Tn.enqueueReplaceState(e,e.state,null),null!==i.queue&&0<i.queue.length)if(n=i.queue,s=i.replace,i.queue=null,i.replace=!1,s&&1===n.length)e.state=n[0];else{i=s?n[0]:e.state;l=!0;for(s=s?1:0;s<n.length;s++){var c=n[s];c=\"function\"===typeof c?c.call(e,i,a,o):c;null!=c&&(l?(l=!1,i=un({},i,c)):un(i,c))}e.state=i}else i.queue=null}var Rn={id:1,overflow:\"\"};function tc(e,n,a){var o=e.id;e=e.overflow;var l=32-Pn(o)-1;o&=~(1<<l);a+=1;var i=32-Pn(n)+l;if(30<i){var s=l-l%5;i=(o&(1<<s)-1).toString(32);o>>=s;l-=s;return{id:1<<32-Pn(n)+l|a<<l|o,overflow:i+e}}return{id:1<<i|a<<l|o,overflow:e}}var Pn=Math.clz32?Math.clz32:vc,_n=Math.log,Mn=Math.LN2;function vc(e){e>>>=0;return 0===e?32:31-(_n(e)/Mn|0)|0}function yc(e,n){return e===n&&(0!==e||1/e===1/n)||e!==e&&n!==n}var In=\"function\"===typeof Object.is?Object.is:yc,Dn=null,Bn=null,Nn=null,zn=null,Vn=!1,An=!1,Ln=0,jn=null,On=0;function W(){if(null===Dn)throw Error(k(321));return Dn}function Ec(){if(0<On)throw Error(k(312));return{memoizedState:null,queue:null,next:null}}function Fc(){null===zn?null===Nn?(Vn=!1,Nn=zn=Ec()):(Vn=!0,zn=Nn):null===zn.next?(Vn=!1,zn=zn.next=Ec()):(Vn=!0,zn=zn.next);return zn}function Gc(){Bn=Dn=null;An=!1;Nn=null;On=0;zn=jn=null}function Hc(e,n){return\"function\"===typeof n?n(e):n}function Ic(e,n,a){Dn=W();zn=Fc();if(Vn){var o=zn.queue;n=o.dispatch;if(null!==jn&&(a=jn.get(o),void 0!==a)){jn.delete(o);o=zn.memoizedState;do{o=e(o,a.action),a=a.next}while(null!==a);zn.memoizedState=o;return[o,n]}return[zn.memoizedState,n]}e=e===Hc?\"function\"===typeof n?n():n:void 0!==a?a(n):n;zn.memoizedState=e;e=zn.queue={last:null,dispatch:null};e=e.dispatch=Jc.bind(null,Dn,e);return[zn.memoizedState,e]}function Kc(e,n){Dn=W();zn=Fc();n=void 0===n?null:n;if(null!==zn){var a=zn.memoizedState;if(null!==a&&null!==n){var o=a[1];e:if(null===o)o=!1;else{for(var l=0;l<o.length&&l<n.length;l++)if(!In(n[l],o[l])){o=!1;break e}o=!0}if(o)return a[0]}}e=e();zn.memoizedState=[e,n];return e}function Jc(e,n,a){if(25<=On)throw Error(k(301));if(e===Dn)if(An=!0,e={action:a,next:null},null===jn&&(jn=new Map),a=jn.get(n),void 0===a)jn.set(n,e);else{for(n=a;null!==n.next;)n=n.next;n.next=e}}function Lc(){throw Error(k(394))}function Mc(){}var qn={readContext:function(e){return e._currentValue},useContext:function(e){W();return e._currentValue},useMemo:Kc,useReducer:Ic,useRef:function(e){Dn=W();zn=Fc();var n=zn.memoizedState;return null===n?(e={current:e},zn.memoizedState=e):n},useState:function(e){return Ic(Hc,e)},useInsertionEffect:Mc,useLayoutEffect:function(){},useCallback:function(e,n){return Kc((function(){return e}),n)},useImperativeHandle:Mc,useEffect:Mc,useDebugValue:Mc,useDeferredValue:function(e){W();return e},useTransition:function(){W();return[!1,Lc]},useId:function(){var e=Bn.treeContext;var n=e.overflow;e=e.id;e=(e&~(1<<32-Pn(e)-1)).toString(32)+n;var a=Wn;if(null===a)throw Error(k(404));n=Ln++;e=\":\"+a.idPrefix+\"R\"+e;0<n&&(e+=\"H\"+n.toString(32));return e+\":\"},useMutableSource:function(e,n){W();return n(e._source)},useSyncExternalStore:function(e,n,a){if(void 0===a)throw Error(k(407));return a()}},Wn=null,Hn=Re.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher;function Qc(e){console.error(e);return null}function X(){}function Rc(e,n,a,o,l,i,s,c,d){var f=[],h=new Set;n={destination:null,responseState:n,progressiveChunkSize:void 0===o?12800:o,status:0,fatalError:null,nextSegmentId:0,allPendingTasks:0,pendingRootTasks:0,completedRootSegment:null,abortableTasks:h,pingedTasks:f,clientRenderedBoundaries:[],completedBoundaries:[],partialBoundaries:[],onError:void 0===l?Qc:l,onAllReady:void 0===i?X:i,onShellReady:void 0===s?X:s,onShellError:void 0===c?X:c,onFatalError:void 0===d?X:d};a=Sc(n,0,null,a,!1,!1);a.parentFlushed=!0;e=Tc(n,e,null,a,h,En,null,Rn);f.push(e);return n}function Tc(e,n,a,o,l,i,s,c){e.allPendingTasks++;null===a?e.pendingRootTasks++:a.pendingTasks++;var d={node:n,ping:function(){var n=e.pingedTasks;n.push(d);1===n.length&&Uc(e)},blockedBoundary:a,blockedSegment:o,abortSet:l,legacyContext:i,context:s,treeContext:c};l.add(d);return d}function Sc(e,n,a,o,l,i){return{status:0,id:-1,index:n,parentFlushed:!1,chunks:[],children:[],formatContext:o,boundary:a,lastPushedText:l,textEmbedded:i}}function Y(e,n){e=e.onError(n);if(null!=e&&\"string\"!==typeof e)throw Error('onError returned something with a type other than \"string\". onError should return a string and may return null or undefined but must not return anything else. It received something of type \"'+typeof e+'\" instead');return e}function Vc(e,n){var a=e.onShellError;a(n);a=e.onFatalError;a(n);null!==e.destination?(e.status=2,da(e.destination,n)):(e.status=1,e.fatalError=n)}function Wc(e,n,a,o,l){Dn={};Bn=n;Ln=0;for(e=a(o,l);An;)An=!1,Ln=0,On+=1,zn=null,e=a(o,l);Gc();return e}function Xc(e,n,a,o){var l=a.render(),i=o.childContextTypes;if(null!==i&&void 0!==i){var s=n.legacyContext;if(\"function\"!==typeof a.getChildContext)o=s;else{a=a.getChildContext();for(var c in a)if(!(c in i))throw Error(k(108,jc(o)||\"Unknown\",c));o=un({},s,a)}n.legacyContext=o;Z(e,n,l);n.legacyContext=s}else Z(e,n,l)}function Yc(e,n){if(e&&e.defaultProps){n=un({},n);e=e.defaultProps;for(var a in e)void 0===n[a]&&(n[a]=e[a]);return n}return n}function Zc(e,n,a,o,l){if(\"function\"===typeof a)if(a.prototype&&a.prototype.isReactComponent){l=lc(a,n.legacyContext);var i=a.contextType;i=new a(o,\"object\"===typeof i&&null!==i?i._currentValue:l);rc(i,a,o,l);Xc(e,n,i,a)}else{i=lc(a,n.legacyContext);l=Wc(e,n,a,o,i);var s=0!==Ln;if(\"object\"===typeof l&&null!==l&&\"function\"===typeof l.render&&void 0===l.$$typeof)rc(l,a,o,i),Xc(e,n,l,a);else if(s){o=n.treeContext;n.treeContext=tc(o,1,0);try{Z(e,n,l)}finally{n.treeContext=o}}else Z(e,n,l)}else{if(\"string\"!==typeof a){switch(a){case xn:case Sn:case fn:case pn:case dn:Z(e,n,o.children);return;case yn:Z(e,n,o.children);return;case wn:throw Error(k(343));case mn:e:{a=n.blockedBoundary;l=n.blockedSegment;i=o.fallback;o=o.children;s=new Set;var c={id:null,rootSegmentID:-1,parentFlushed:!1,pendingTasks:0,forceClientRender:!1,completedSegments:[],byteSize:0,fallbackAbortableTasks:s,errorDigest:null},d=Sc(e,l.chunks.length,c,l.formatContext,!1,!1);l.children.push(d);l.lastPushedText=!1;var f=Sc(e,0,null,l.formatContext,!1,!1);f.parentFlushed=!0;n.blockedBoundary=c;n.blockedSegment=f;try{if($c(e,n,o),f.lastPushedText&&f.textEmbedded&&f.chunks.push(Qe),f.status=1,ad(c,f),0===c.pendingTasks)break e}catch(n){f.status=4,c.forceClientRender=!0,c.errorDigest=Y(e,n)}finally{n.blockedBoundary=a,n.blockedSegment=l}n=Tc(e,i,a,d,s,n.legacyContext,n.context,n.treeContext);e.pingedTasks.push(n)}return}if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case bn:o=Wc(e,n,a.render,o,l);if(0!==Ln){a=n.treeContext;n.treeContext=tc(a,1,0);try{Z(e,n,o)}finally{n.treeContext=a}}else Z(e,n,o);return;case vn:a=a.type;o=Yc(a,o);Zc(e,n,a,o,l);return;case hn:l=o.children;a=a._context;o=o.value;i=a._currentValue;a._currentValue=o;s=Fn;Fn=o={parent:s,depth:null===s?0:s.depth+1,context:a,parentValue:i,value:o};n.context=o;Z(e,n,l);e=Fn;if(null===e)throw Error(k(403));o=e.parentValue;e.context._currentValue=o===$n?e.context._defaultValue:o;e=Fn=e.parent;n.context=e;return;case gn:o=o.children;o=o(a._currentValue);Z(e,n,o);return;case kn:l=a._init;a=l(a._payload);o=Yc(a,o);Zc(e,n,a,o,void 0);return}throw Error(k(130,null==a?a:typeof a,\"\"))}l=n.blockedSegment;i=Sa(l.chunks,a,o,e.responseState,l.formatContext);l.lastPushedText=!1;s=l.formatContext;l.formatContext=Ba(s,a,o);$c(e,n,i);l.formatContext=s;switch(a){case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"img\":case\"input\":case\"keygen\":case\"link\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":break;default:l.chunks.push(pt,u(a),ht)}l.lastPushedText=!1}}function Z(e,n,a){n.node=a;if(\"object\"===typeof a&&null!==a){switch(a.$$typeof){case sn:Zc(e,n,a.type,a.props,a.ref);return;case cn:throw Error(k(257));case kn:var o=a._init;a=o(a._payload);Z(e,n,a);return}if(We(a)){bd(e,n,a);return}null===a||\"object\"!==typeof a?o=null:(o=Cn&&a[Cn]||a[\"@@iterator\"],o=\"function\"===typeof o?o:null);if(o&&(o=o.call(a))){a=o.next();if(!a.done){var l=[];do{l.push(a.value),a=o.next()}while(!a.done);bd(e,n,l)}return}e=Object.prototype.toString.call(a);throw Error(k(31,\"[object Object]\"===e?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":e))}\"string\"===typeof a?(o=n.blockedSegment,o.lastPushedText=Da(n.blockedSegment.chunks,a,e.responseState,o.lastPushedText)):\"number\"===typeof a&&(o=n.blockedSegment,o.lastPushedText=Da(n.blockedSegment.chunks,\"\"+a,e.responseState,o.lastPushedText))}function bd(e,n,a){for(var o=a.length,l=0;l<o;l++){var i=n.treeContext;n.treeContext=tc(i,o,l);try{$c(e,n,a[l])}finally{n.treeContext=i}}}function $c(e,n,a){var o=n.blockedSegment.formatContext,l=n.legacyContext,i=n.context;try{return Z(e,n,a)}catch(d){if(Gc(),\"object\"!==typeof d||null===d||\"function\"!==typeof d.then)throw n.blockedSegment.formatContext=o,n.legacyContext=l,n.context=i,Q(i),d;a=d;var s=n.blockedSegment,c=Sc(e,s.chunks.length,null,s.formatContext,s.lastPushedText,!0);s.children.push(c);s.lastPushedText=!1;e=Tc(e,n.node,n.blockedBoundary,c,n.abortSet,n.legacyContext,n.context,n.treeContext).ping;a.then(e,e);n.blockedSegment.formatContext=o;n.legacyContext=l;n.context=i;Q(i)}}function cd(e){var n=e.blockedBoundary;e=e.blockedSegment;e.status=3;dd(this,n,e)}function ed(e,n,a){var o=e.blockedBoundary;e.blockedSegment.status=3;null===o?(n.allPendingTasks--,2!==n.status&&(n.status=2,null!==n.destination&&n.destination.close())):(o.pendingTasks--,o.forceClientRender||(o.forceClientRender=!0,e=void 0===a?Error(k(432)):a,o.errorDigest=n.onError(e),o.parentFlushed&&n.clientRenderedBoundaries.push(o)),o.fallbackAbortableTasks.forEach((function(e){return ed(e,n,a)})),o.fallbackAbortableTasks.clear(),n.allPendingTasks--,0===n.allPendingTasks&&(o=n.onAllReady,o()))}function ad(e,n){if(0===n.chunks.length&&1===n.children.length&&null===n.children[0].boundary){var a=n.children[0];a.id=n.id;a.parentFlushed=!0;1===a.status&&ad(e,a)}else e.completedSegments.push(n)}function dd(e,n,a){if(null===n){if(a.parentFlushed){if(null!==e.completedRootSegment)throw Error(k(389));e.completedRootSegment=a}e.pendingRootTasks--;0===e.pendingRootTasks&&(e.onShellError=X,n=e.onShellReady,n())}else n.pendingTasks--,n.forceClientRender||(0===n.pendingTasks?(a.parentFlushed&&1===a.status&&ad(n,a),n.parentFlushed&&e.completedBoundaries.push(n),n.fallbackAbortableTasks.forEach(cd,e),n.fallbackAbortableTasks.clear()):a.parentFlushed&&1===a.status&&(ad(n,a),1===n.completedSegments.length&&n.parentFlushed&&e.partialBoundaries.push(n)));e.allPendingTasks--;0===e.allPendingTasks&&(e=e.onAllReady,e())}function Uc(e){if(2!==e.status){var n=Fn,a=Hn.current;Hn.current=qn;var o=Wn;Wn=e.responseState;try{var l,i=e.pingedTasks;for(l=0;l<i.length;l++){var s=i[l];var c=e,d=s.blockedSegment;if(0===d.status){Q(s.context);try{Z(c,s,s.node),d.lastPushedText&&d.textEmbedded&&d.chunks.push(Qe),s.abortSet.delete(s),d.status=1,dd(c,s.blockedBoundary,d)}catch(e){if(Gc(),\"object\"===typeof e&&null!==e&&\"function\"===typeof e.then){var f=s.ping;e.then(f,f)}else{s.abortSet.delete(s);d.status=4;var h=s.blockedBoundary,g=e,b=Y(c,g);null===h?Vc(c,g):(h.pendingTasks--,h.forceClientRender||(h.forceClientRender=!0,h.errorDigest=b,h.parentFlushed&&c.clientRenderedBoundaries.push(h)));c.allPendingTasks--;if(0===c.allPendingTasks){var m=c.onAllReady;m()}}}}}i.splice(0,l);null!==e.destination&&fd(e,e.destination)}catch(n){Y(e,n),Vc(e,n)}finally{Wn=o,Hn.current=a,a===qn&&Q(n)}}}function gd(e,n,a){a.parentFlushed=!0;switch(a.status){case 0:var o=a.id=e.nextSegmentId++;a.lastPushedText=!1;a.textEmbedded=!1;e=e.responseState;p(n,gt);p(n,e.placeholderPrefix);e=u(o.toString(16));p(n,e);return t(n,bt);case 1:a.status=2;var l=!0;o=a.chunks;var i=0;a=a.children;for(var s=0;s<a.length;s++){for(l=a[s];i<l.index;i++)p(n,o[i]);l=hd(e,n,l)}for(;i<o.length-1;i++)p(n,o[i]);i<o.length&&(l=t(n,o[i]));return l;default:throw Error(k(390))}}function hd(e,n,a){var o=a.boundary;if(null===o)return gd(e,n,a);o.parentFlushed=!0;if(o.forceClientRender)o=o.errorDigest,t(n,kt),p(n,St),o&&(p(n,$t),p(n,u(C(o))),p(n,xt)),t(n,Ct),gd(e,n,a);else if(0<o.pendingTasks){o.rootSegmentID=e.nextSegmentId++;0<o.completedSegments.length&&e.partialBoundaries.push(o);var l=e.responseState;var i=l.nextSuspenseID++;l=w(l.boundaryPrefix+i.toString(16));o=o.id=l;fb(n,e.responseState,o);gd(e,n,a)}else if(o.byteSize>e.progressiveChunkSize)o.rootSegmentID=e.nextSegmentId++,e.completedBoundaries.push(o),fb(n,e.responseState,o.id),gd(e,n,a);else{t(n,mt);a=o.completedSegments;if(1!==a.length)throw Error(k(391));hd(e,n,a[0])}return t(n,wt)}function id(e,n,a){Bb(n,e.responseState,a.formatContext,a.id);hd(e,n,a);return Cb(n,a.formatContext)}function jd(e,n,a){for(var o=a.completedSegments,l=0;l<o.length;l++)kd(e,n,a,o[l]);o.length=0;e=e.responseState;o=a.id;a=a.rootSegmentID;p(n,e.startInlineScript);e.sentCompleteBoundaryFunction?p(n,Yt):(e.sentCompleteBoundaryFunction=!0,p(n,Qt));if(null===o)throw Error(k(395));a=u(a.toString(16));p(n,o);p(n,Kt);p(n,e.segmentPrefix);p(n,a);return t(n,en)}function kd(e,n,a,o){if(2===o.status)return!0;var l=o.id;if(-1===l){if(-1===(o.id=a.rootSegmentID))throw Error(k(392));return id(e,n,o)}id(e,n,o);e=e.responseState;p(n,e.startInlineScript);e.sentCompleteSegmentFunction?p(n,Xt):(e.sentCompleteSegmentFunction=!0,p(n,Zt));p(n,e.segmentPrefix);l=u(l.toString(16));p(n,l);p(n,Jt);p(n,e.placeholderPrefix);p(n,l);return t(n,Gt)}function fd(e,n){Pe=new Uint8Array(512);_e=0;try{var a=e.completedRootSegment;if(null!==a&&0===e.pendingRootTasks){hd(e,n,a);e.completedRootSegment=null;var o=e.responseState.bootstrapChunks;for(a=0;a<o.length-1;a++)p(n,o[a]);a<o.length&&t(n,o[a])}var l,i=e.clientRenderedBoundaries;for(l=0;l<i.length;l++){var s=i[l];o=n;var c=e.responseState,d=s.id,f=s.errorDigest,h=s.errorMessage,g=s.errorComponentStack;p(o,c.startInlineScript);c.sentClientRenderFunction?p(o,nn):(c.sentClientRenderFunction=!0,p(o,tn));if(null===d)throw Error(k(395));p(o,d);p(o,rn);(f||h||g)&&(p(o,on),p(o,u(Sb(f||\"\"))));(h||g)&&(p(o,on),p(o,u(Sb(h||\"\"))));g&&(p(o,on),p(o,u(Sb(g))));if(!t(o,an)){e.destination=null;l++;i.splice(0,l);return}}i.splice(0,l);var b=e.completedBoundaries;for(l=0;l<b.length;l++)if(!jd(e,n,b[l])){e.destination=null;l++;b.splice(0,l);return}b.splice(0,l);ba(n);Pe=new Uint8Array(512);_e=0;var m=e.partialBoundaries;for(l=0;l<m.length;l++){var S=m[l];e:{i=e;s=n;var x=S.completedSegments;for(c=0;c<x.length;c++)if(!kd(i,s,S,x[c])){c++;x.splice(0,c);var $=!1;break e}x.splice(0,c);$=!0}if(!$){e.destination=null;l++;m.splice(0,l);return}}m.splice(0,l);var E=e.completedBoundaries;for(l=0;l<E.length;l++)if(!jd(e,n,E[l])){e.destination=null;l++;E.splice(0,l);return}E.splice(0,l)}finally{ba(n),0===e.allPendingTasks&&0===e.pingedTasks.length&&0===e.clientRenderedBoundaries.length&&0===e.completedBoundaries.length&&n.close()}}function ld(e,n){try{var a=e.abortableTasks;a.forEach((function(a){return ed(a,e,n)}));a.clear();null!==e.destination&&fd(e,e.destination)}catch(n){Y(e,n),Vc(e,n)}}Te.renderToReadableStream=function(e,n){return new Promise((function(a,o){var l,i,s=new Promise((function(e,n){i=e;l=n})),c=Rc(e,za(n?n.identifierPrefix:void 0,n?n.nonce:void 0,n?n.bootstrapScriptContent:void 0,n?n.bootstrapScripts:void 0,n?n.bootstrapModules:void 0),Aa(n?n.namespaceURI:void 0),n?n.progressiveChunkSize:void 0,n?n.onError:void 0,i,(function(){var e=new ReadableStream({type:\"bytes\",pull:function(e){if(1===c.status)c.status=2,da(e,c.fatalError);else if(2!==c.status&&null===c.destination){c.destination=e;try{fd(c,e)}catch(e){Y(c,e),Vc(c,e)}}},cancel:function(){ld(c)}},{highWaterMark:0});e.allReady=s;a(e)}),(function(e){s.catch((function(){}));o(e)}),l);if(n&&n.signal){var d=n.signal,q=function(){ld(c,d.reason);d.removeEventListener(\"abort\",q)};d.addEventListener(\"abort\",q)}Uc(c)}))};Te.version=\"18.3.1\";var Un={};var Zn,Xn;true;Zn=a;Xn=Te;Un.version=Zn.version;Un.renderToString=Zn.renderToString;Un.renderToStaticMarkup=Zn.renderToStaticMarkup;Un.renderToNodeStream=Zn.renderToNodeStream;Un.renderToStaticNodeStream=Zn.renderToStaticNodeStream;Un.renderToReadableStream=Xn.renderToReadableStream;const Jn=Un.version,Gn=Un.renderToString,Qn=Un.renderToStaticMarkup,Yn=Un.renderToNodeStream,Kn=Un.renderToStaticNodeStream,er=Un.renderToReadableStream;export{Un as default,Yn as renderToNodeStream,er as renderToReadableStream,Qn as renderToStaticMarkup,Kn as renderToStaticNodeStream,Gn as renderToString,Jn as version};\n//# sourceMappingURL=server.browser.js.map\n","// @ts-nocheck\n// GENERATED by _archive/session-scratch/s211-port/gen.js from s195-about-mockup/motion.html.\n// DO NOT EDIT: change the mockup, rebuild it, re-run the generator.\nexport const MFA_CSS='.mfa-root{\\n  --nav-h:68px;\\n  --ground:#07080c;\\n  --acc:#00d5f0;\\n  --acc-2:#4a9fb0;\\n  --ink:#e8eaf0;\\n  --dim:#9298ab;\\n  --dim2:#6f7890;\\n  --rim:rgba(160,200,220,.16);\\n  --hair:rgba(160,200,220,.09);\\n  --wash:rgba(0,213,240,.08);\\n  --fringe:rgb(255,40,90);\\n  --display:\"Dharma Gothic M\",\"Oswald\",\"Arial Narrow\",sans-serif;\\n  --ui:\"Pawl Square\",\"Helvetica Neue\",Arial,sans-serif;\\n  --edge-row:.22;\\n  --edge-head:.42;\\n  --pad-b:28px;\\n  --tile-h:56px;\\n  --row-gap:16px;\\n  --id-open-gap:56px;\\n  --amb-img:radial-gradient(ellipse 90% 60% at 22% 34%,rgba(0,213,240,.10),transparent 62%);\\n  --glow-digit:0 0 10px rgba(0,213,240,.30);\\n  --glow-line:0 0 6px rgba(0,213,240,.45);\\n  --glow-rim:none;\\n  --glow-head:none;\\n  --yr-color:var(--acc-2);\\n  --loc-color:var(--acc-2);\\n  --em-color:var(--ink);\\n  --edge-reg-head:rgba(0,213,240,.42);\\n}\\n.mfa-root[data-mfa-lit=\"0\"]{\\n  --glow-digit:none;\\n  --glow-line:none;\\n  --glow-rim:none;\\n  --glow-head:none;\\n  --yr-color:var(--dim);\\n  --loc-color:var(--dim);\\n  --em-color:var(--ink);\\n  --edge-reg-head:var(--hair);\\n}\\n.mfa-root[data-mfa-lit=\"2\"]{\\n  --glow-digit:0 0 2px rgba(0,213,240,.55), 0 0 16px rgba(0,213,240,.40);\\n  --glow-line:0 0 8px rgba(0,213,240,.60);\\n  --glow-rim:drop-shadow(0 0 10px rgba(0,213,240,.35));\\n  --glow-head:0 0 24px rgba(0,213,240,.22);\\n}\\n.mfa-root,.mfa-root *{box-sizing:border-box}\\n.mfa-root,.mfa-root{margin:0;width:100%;height:100%;background:var(--ground);color:var(--ink);\\n  font-family:var(--ui);font-weight:400;-webkit-font-smoothing:antialiased;overflow:hidden;\\n  color-scheme:dark}\\n.mfa-root button{appearance:none;background:none;border:0;color:inherit;font:inherit;padding:0;cursor:pointer}\\n.mfa-root .lab{font-family:var(--ui);font-weight:400;font-size:9.5px;letter-spacing:.16em;\\n  text-transform:uppercase;line-height:1}\\n.mfa-root .nav{position:absolute;left:0;right:0;top:0;height:var(--nav-h);z-index:20;\\n  display:flex;align-items:center;justify-content:space-between;padding:0 40px;\\n  border-bottom:1px solid var(--hair);background:var(--ground)}\\n.mfa-root .word{display:flex;align-items:center;gap:12px;color:var(--ink)}\\n.mfa-root .word .ico{width:18px;height:18px;border:1.5px solid var(--ink);position:relative;\\n  clip-path:polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,5px 100%,0 calc(100% - 5px))}\\n.mfa-root .word .ico{border-width:0}\\n.mfa-root .word .ico::before{content:\"\";position:absolute;inset:0;pointer-events:none;\\n  background:currentColor;\\n  clip-path:polygon(evenodd,\\n    0 0,calc(100% - 5px) 0,100% 5px,100% 100%,5px 100%,0 calc(100% - 5px),0 0,\\n    1.5px 1.5px,calc(100% - 6.12px) 1.5px,calc(100% - 1.5px) 6.12px,\\n    calc(100% - 1.5px) calc(100% - 1.5px),6.12px calc(100% - 1.5px),\\n    1.5px calc(100% - 6.12px),1.5px 1.5px)}\\n.mfa-root .word .ico::after{content:\"\";position:absolute;inset:4px;background:var(--acc);\\n  clip-path:polygon(0 0,calc(100% - 3px) 0,100% 3px,100% 100%,3px 100%,0 calc(100% - 3px))}\\n.mfa-root .word .ico::after{inset:calc(4px + 1.5px)}\\n.mfa-root .word b{font-weight:400;letter-spacing:.22em;font-size:11px}\\n.mfa-root .navr{display:flex;align-items:center;gap:26px;color:var(--dim)}\\n.mfa-root .navr a{color:var(--dim);text-decoration:none;position:relative}\\n.mfa-root .navr a[aria-current=\"true\"]{color:var(--ink)}\\n.mfa-root .navr a[aria-current=\"true\"]::after{content:\"\";position:absolute;left:0;right:0;bottom:-10px;\\n  height:1px;background:var(--acc)}\\n.mfa-root .sig{display:flex;gap:12px;align-items:center;color:var(--dim)}\\n.mfa-root .sig b{color:var(--ink);font-weight:400}\\n.mfa-root .sig i{width:26px;height:12px;border:1px solid var(--dim2);border-radius:6px;\\n  position:relative;display:inline-block}\\n.mfa-root .sig i::after{content:\"\";position:absolute;top:2px;left:16px;width:6px;height:6px;\\n  border-radius:50%;background:var(--acc)}\\n.mfa-root .stage{position:absolute;\\n  left:max(0px,calc((100% - var(--cap-w,100000px)) / 2));right:max(0px,calc((100% - var(--cap-w,100000px)) / 2));\\n  top:calc(var(--nav-h) + max(0px,calc((100% - var(--nav-h) - var(--cap-h,100000px)) / 2)));\\n  bottom:max(0px,calc((100% - var(--nav-h) - var(--cap-h,100000px)) / 2))}\\n.mfa-root [data-mfa-ground=\"site\"][data-mfa=\"resume-panel\"]{background:transparent}\\n.mfa-root [data-mfa-ground=\"site\"] .amb,.mfa-root [data-mfa-ground=\"site\"] .hold{display:none}\\n.mfa-root [data-mfa-ground=\"site\"] #pitch[data-plate],.mfa-root \\n[data-mfa-ground=\"site\"] .reg-screen[data-plate]{\\n  background-color:var(--ground);\\n  background-image:radial-gradient(ellipse 90% 55% at 50% -5%,rgba(0,213,240,.13),transparent 60%),\\n    linear-gradient(rgba(0,213,240,.06) 1px,transparent 1px),\\n    linear-gradient(90deg,rgba(0,213,240,.035) 1px,transparent 1px);\\n  background-size:100% 100%,88px 88px,88px 88px;\\n  background-attachment:fixed,fixed,fixed}\\n.mfa-root [data-mfa=\"resume-panel\"]{position:absolute;inset:0;overflow:hidden;\\n  background:var(--ground)}\\n.mfa-root .amb{position:absolute;inset:0;pointer-events:none;z-index:0;background-image:var(--amb-img)}\\n.mfa-root .hold{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:0;\\n  background-image:radial-gradient(ellipse 110% 72% at 50% 38%,rgba(0,213,240,.22),transparent 62%),\\n    linear-gradient(rgba(0,213,240,.06) 1px,transparent 1px),\\n    linear-gradient(90deg,rgba(0,213,240,.035) 1px,transparent 1px);\\n  background-size:100% 100%,88px 88px,88px 88px}\\n.mfa-root #pitch[data-plate=\"amb\"],.mfa-root \\n.reg-screen[data-plate=\"amb\"]{background-color:var(--ground);background-image:var(--amb-img)}\\n.mfa-root #pitch[data-plate=\"hold\"],.mfa-root \\n.reg-screen[data-plate=\"hold\"]{\\n  background-color:var(--ground);\\n  background-image:radial-gradient(ellipse 110% 72% at 50% 38%,rgba(0,213,240,.22),transparent 62%),\\n    linear-gradient(rgba(0,213,240,.06) 1px,transparent 1px),\\n    linear-gradient(90deg,rgba(0,213,240,.035) 1px,transparent 1px),\\n    var(--amb-img);\\n  background-size:100% 100%,88px 88px,88px 88px,100% 100%}\\n.mfa-root .chrome{position:absolute;top:14px;right:40px;z-index:12;display:flex;gap:16px;align-items:center}\\n.mfa-root .chrome button{color:var(--dim2)}\\n.mfa-root .chrome button:hover{color:var(--ink)}\\n.mfa-root #pitch{position:absolute;inset:0;z-index:2;overflow:hidden;background:transparent}\\n.mfa-root #pitch > [data-mfa=\"sbody\"]{position:absolute;inset:0;display:grid;\\n  grid-template-columns:minmax(0,3fr) minmax(0,2fr);column-gap:48px;height:100%;\\n  padding:28px 40px calc(var(--pad-b) + var(--tile-h) + var(--row-gap))}\\n.mfa-root .pitch-col{display:flex;flex-direction:column;min-width:0;height:100%;justify-content:flex-start}\\n.mfa-root .id-row{display:flex;gap:28px;align-items:center;flex:none;margin-bottom:var(--id-open-gap)}\\n.mfa-root .plate{position:relative;width:160px;height:194px;flex:none}\\n.mfa-root .plate .rim{position:absolute;inset:-1px;background:rgba(0,213,240,.55);\\n  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));\\n  filter:var(--glow-rim)}\\n.mfa-root .plate .face{position:absolute;inset:0;overflow:hidden;background:#14161d;\\n  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px))}\\n.mfa-root .plate img{width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block}\\n.mfa-root .who{min-width:0}\\n.mfa-root .who h1{margin:0;font-family:var(--display);font-weight:400;font-size:56px;line-height:.82;\\n  letter-spacing:.005em}\\n.mfa-root .disc-line{margin-top:14px;display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;\\n  color:var(--dim2);font-size:11px;letter-spacing:.16em}\\n.mfa-root .disc-line b{color:var(--acc);font-weight:400}\\n.mfa-root .disc-line span{font-weight:400;color:var(--dim2)}\\n.mfa-root .disc-line .sep{font-weight:400;color:var(--dim2);letter-spacing:0}\\n.mfa-root[data-mfa-em=\"cyan\"]{--em-color:var(--acc)}\\n.mfa-root .loc{margin-top:10px;color:var(--loc-color);letter-spacing:.16em;font-size:9.5px}\\n.mfa-root [data-mfa=\"opening\"]{margin-top:0;margin-bottom:0;flex:none}\\n.mfa-root .headline{margin:0;font-family:var(--display);font-weight:400;font-size:96px;line-height:.9;\\n  letter-spacing:.01em;text-transform:uppercase;max-width:min(24ch,100%);\\n  text-shadow:var(--glow-head)}\\n.mfa-root .lede{margin:16px 0 0;font-family:var(--ui);font-weight:300;font-size:18px;line-height:1.5;\\n  color:var(--ink);max-width:60ch}\\n.mfa-root [data-mfa=\"profile\"]{min-width:0;align-self:start}\\n.mfa-root [data-mfa=\"profile\"] .prof-head{padding:8px 0 12px;border-top:1px solid var(--edge-reg-head)}\\n.mfa-root [data-mfa=\"profile\"] .prof-head .t{font-size:11px;letter-spacing:.18em;font-weight:400;color:var(--ink)}\\n.mfa-root [data-mfa=\"profile\"] .prof-head .sub{margin-top:6px;color:var(--dim2);font-size:9.5px;letter-spacing:.14em}\\n.mfa-root [data-mfa=\"profile\"] .prof-body{display:flex;flex-direction:column;gap:14px}\\n.mfa-root [data-mfa=\"profile\"] .prof-body p{margin:0;font-family:var(--ui);font-weight:300;font-size:14.5px;\\n  line-height:1.6;color:#b9c2ce}\\n.mfa-root [data-mfa=\"profile\"] .prof-body em{font-style:normal;font-weight:400;color:var(--em-color)}\\n.mfa-root #menu{position:absolute;left:40px;right:40px;bottom:var(--pad-b);height:var(--tile-h);\\n  display:flex;gap:4px;z-index:5}\\n.mfa-root[data-mfa-back=\"tile\"] #menu{gap:8px}\\n.mfa-root .tile{position:relative;flex:1;min-width:0;height:var(--tile-h);display:flex;flex-direction:column;\\n  text-align:left;color:inherit;padding:0;isolation:isolate;background:var(--ground);--co:0px;\\n  clip-path:polygon(0 calc(0px - var(--co)),100% calc(0px - var(--co)),\\n    100% calc(100% + var(--co)),7px calc(100% + var(--co)),0 calc(100% - 7px + var(--co)))}\\n.mfa-root .tile:focus-visible{outline:0}\\n.mfa-root .tile:focus-visible::after{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:6;\\n  background:var(--acc);\\n  clip-path:polygon(evenodd,\\n    0 0,100% 0,100% 100%,7px 100%,0 calc(100% - 7px),0 0,\\n    1px 1px,calc(100% - 1px) 1px,calc(100% - 1px) calc(100% - 1px),\\n    7.41px calc(100% - 1px),1px calc(100% - 7.41px),1px 1px)}\\n.mfa-root [data-mfa-root=\"1\"]{flex:none;width:60px}\\n.mfa-root [data-mfa-root=\"1\"] [data-mfa=\"stack-bar\"] .mf-bar-face{padding:0 12px}\\n.mfa-root[data-mfa-back=\"tile\"] [data-mfa-root=\"1\"]{display:none}\\n.mfa-root .tile .mf-press-well{position:absolute;inset:0;overflow:hidden;pointer-events:none}\\n.mfa-root .tile .mf-press-clip{position:absolute;left:-36px;right:-36px;top:-36px;bottom:-36px;\\n  overflow:hidden;z-index:1;pointer-events:none}\\n.mfa-root .tile[data-press=\"1\"] .mf-press-clip{z-index:3;mix-blend-mode:difference}\\n.mfa-root .tile .mf-press-fill{position:absolute;left:0;right:0;top:calc(36px + var(--tile-h));\\n  height:calc(var(--tile-h) + 72px);background:rgb(20,233,235);opacity:0;\\n  transform:translateY(0px);will-change:transform;pointer-events:none}\\n.mfa-root .tile .mf-tile-spine{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--acc);\\n  transform:scaleX(0);transform-origin:0 50%;z-index:2;pointer-events:none}\\n.mfa-root .tile .mf-hover-well{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}\\n.mfa-root .tile .mf-hover-wash{position:absolute;left:-36px;right:-36px;bottom:-36px;\\n  height:calc(45% + 36px);background:rgb(20,233,235);opacity:0;pointer-events:none;\\n  filter:none}\\n.mfa-root .well{position:relative;height:56px;display:flex;align-items:center;gap:10px;\\n  padding:0 10px;min-width:0;overflow:hidden}\\n.mfa-root .metric-w{position:relative;flex:none}\\n.mfa-root .metric-glow{position:absolute;inset:0;pointer-events:none}\\n.mfa-root .well .metric,.mfa-root .well .metric-glow{font-family:var(--display);font-weight:400;font-size:40px;line-height:.9;\\n  color:var(--acc);letter-spacing:.02em;font-variant-numeric:tabular-nums}\\n.mfa-root .well .cap-w{position:relative;min-width:0}\\n.mfa-root .well .cap,.mfa-root .well .cap-hi{color:var(--dim);letter-spacing:.16em;font-size:10px;line-height:1.25;\\n  text-transform:uppercase;min-width:0;display:block}\\n.mfa-root .well .cap-hi{position:absolute;left:0;top:0;right:0;color:var(--acc);opacity:0}\\n.mfa-root .well-edge,.mfa-root .well-edge-hi{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--acc);\\n  pointer-events:none}\\n.mfa-root .well-edge{opacity:.22}\\n.mfa-root .well-edge-hi{opacity:0;box-shadow:var(--glow-line)}\\n.mfa-root .fit-tag{position:absolute;top:2px;right:2px;z-index:8;display:none;pointer-events:none;\\n  font-family:var(--ui);font-weight:400;font-size:9.5px;letter-spacing:.14em;color:var(--acc);\\n  border:1px solid var(--acc);padding:2px 5px;background:var(--ground)}\\n.mfa-root .tile[data-mfa-fit=\"0\"] .fit-tag{display:block}\\n.mfa-root [data-mfa=\"stack-bar\"]{\\n  position:relative;height:40px;width:100%;flex:none;\\n  pointer-events:none;overflow:visible;background:#07080c;\\n  isolation:isolate;display:block;padding:0;margin:0;\\n  -webkit-user-select:none;user-select:none;\\n}\\n.mfa-root [data-mfa=\"stack-bar\"] .mf-bar-edge,.mfa-root \\n[data-mfa=\"stack-bar\"] .mf-bar-edge-hi,.mfa-root \\n[data-mfa=\"stack-bar\"] .mf-bar-edge-top{position:absolute;left:0;right:0;height:1px;background:var(--acc);\\n  pointer-events:none;z-index:5}\\n.mfa-root [data-mfa=\"stack-bar\"] .mf-bar-edge{bottom:0;opacity:.22}\\n.mfa-root [data-mfa=\"stack-bar\"] .mf-bar-edge-top{top:0;opacity:.22}\\n.mfa-root[data-mfa-back=\"path\"] #menu .tile [data-mfa=\"stack-bar\"] .mf-bar-edge-top,.mfa-root[data-mfa-back=\"path\"] #menu .tile [data-mfa=\"stack-bar\"] .mf-bar-edge-hi{left:7px}\\n.mfa-root [data-mfa=\"stack-bar\"] .mf-bar-edge-hi{top:0;opacity:0;background:rgba(0,213,240,.42);z-index:6;\\n  box-shadow:var(--glow-line)}\\n.mfa-root [data-mfa=\"stack-bar\"] .mf-bar-wash{position:absolute;left:0;right:0;top:0;bottom:0;\\n  background:rgba(0,213,240,.08);opacity:0;z-index:1;pointer-events:none}\\n.mfa-root [data-mfa=\"stack-bar\"] .mf-bar-face,.mfa-root \\n[data-mfa=\"stack-bar\"] .mf-bar-grip{z-index:2}\\n.mfa-root [data-mfa=\"stack-bar\"] .mf-bar-face{position:absolute;left:0;right:0;top:0;display:flex;align-items:center;\\n  gap:8px;padding:0 12px;padding-right:40px;height:40px;overflow:hidden;white-space:nowrap;will-change:opacity}\\n.mfa-root [data-mfa=\"stack-bar\"] .mf-bar-row{height:40px}\\n.mfa-root [data-mfa=\"stack-bar\"] .mf-bar-head{height:40px;opacity:0}\\n.mfa-root [data-mfa=\"stack-bar\"] .mf-bar-n,.mfa-root \\n[data-mfa=\"stack-bar\"] .mf-bar-t{font-family:var(--ui);font-size:11px;font-weight:300;letter-spacing:.16em;color:var(--acc)}\\n.mfa-root [data-mfa=\"stack-bar\"] .mf-bar-head .mf-bar-t{font-weight:400}\\n.mfa-root [data-mfa=\"stack-bar\"] .mf-bar-grip{position:absolute;right:12px;top:50%;width:18px;height:2px;\\n  margin-top:-1px;background:var(--acc);opacity:.5;z-index:2}\\n.mfa-root [data-mfa=\"stack-bar\"] .mf-close-mark{position:absolute;right:12px;top:50%;width:10px;height:10px;\\n  margin-top:-5px;opacity:0;z-index:3;pointer-events:none;color:var(--acc);display:block}\\n.mfa-root [data-mfa=\"stack-bar\"] .mf-close-mark svg{display:block;width:10px;height:10px}\\n.mfa-root[data-mfa-tiles=\"stack\"]{--tile-h:96px}\\n.mfa-root[data-mfa-tiles=\"a\"] [data-mfa=\"stack-bar\"],.mfa-root[data-mfa-tiles=\"b\"] [data-mfa=\"stack-bar\"]{height:var(--tile-h)}\\n.mfa-root[data-mfa-tiles=\"a\"] [data-mfa=\"stack-bar\"] .mf-bar-face,.mfa-root[data-mfa-tiles=\"b\"] [data-mfa=\"stack-bar\"] .mf-bar-face{\\n  height:var(--tile-h);gap:10px;align-items:center}\\n.mfa-root[data-mfa-tiles=\"b\"] [data-mfa=\"stack-bar\"] .metric,.mfa-root[data-mfa-tiles=\"b\"] [data-mfa=\"stack-bar\"] .metric-glow{\\n  font-family:var(--display);font-weight:400;font-size:40px;line-height:.9;\\n  color:var(--acc);letter-spacing:.02em;font-variant-numeric:tabular-nums}\\n.mfa-root[data-mfa-tiles=\"b\"] [data-mfa=\"stack-bar\"] .mf-bar-head .metric{flex:none}\\n.mfa-root[data-mfa-tiles=\"b\"] [data-mfa=\"stack-bar\"] .cap-w{position:relative;min-width:0}\\n.mfa-root[data-mfa-tiles=\"b\"] [data-mfa=\"stack-bar\"] .cap,.mfa-root[data-mfa-tiles=\"b\"] [data-mfa=\"stack-bar\"] .cap-hi{\\n  color:var(--dim);letter-spacing:.16em;font-size:10px;line-height:1.25;\\n  text-transform:uppercase;min-width:0;display:block;font-family:var(--ui);font-weight:300}\\n.mfa-root[data-mfa-tiles=\"b\"] [data-mfa=\"stack-bar\"] .cap-hi{\\n  position:absolute;left:0;top:0;right:0;color:var(--acc);opacity:0}\\n.mfa-root[data-mfa-tiles=\"a\"] [data-mfa=\"stack-bar\"] .metric,.mfa-root[data-mfa-tiles=\"a\"] [data-mfa=\"stack-bar\"] .metric-glow{\\n  font-family:var(--ui);font-weight:300;font-size:11px;line-height:1;\\n  color:var(--acc);letter-spacing:.16em;font-variant-numeric:tabular-nums}\\n.mfa-root[data-mfa-tiles=\"a\"] [data-mfa=\"stack-bar\"] .mf-bar-head .metric{flex:none}\\n.mfa-root[data-mfa-tiles=\"a\"] [data-mfa=\"stack-bar\"] .cap-w{position:relative;min-width:0}\\n.mfa-root[data-mfa-tiles=\"a\"] [data-mfa=\"stack-bar\"] .cap,.mfa-root[data-mfa-tiles=\"a\"] [data-mfa=\"stack-bar\"] .cap-hi{\\n  color:var(--dim);letter-spacing:.16em;font-size:11px;line-height:1;\\n  text-transform:uppercase;min-width:0;display:block;font-family:var(--ui);font-weight:300}\\n.mfa-root[data-mfa-tiles=\"a\"] [data-mfa=\"stack-bar\"] .cap-hi{\\n  position:absolute;left:0;top:0;right:0;color:var(--acc);opacity:0}\\n.mfa-root[data-mfa-tiles=\"a\"] [data-mfa=\"stack-bar\"] .mf-bar-head .metric,.mfa-root[data-mfa-tiles=\"a\"] [data-mfa=\"stack-bar\"] .mf-bar-head .cap{font-weight:400}\\n.mfa-root .metric-glow{color:transparent;text-shadow:var(--glow-digit)}\\n.mfa-root[data-mfa-tiles=\"a\"] .metric-glow{text-shadow:none}\\n@media (max-width:1400px){\\n  .mfa-root[data-mfa-tiles=\"b\"] [data-mfa=\"stack-bar\"] .metric,.mfa-root[data-mfa-tiles=\"b\"] [data-mfa=\"stack-bar\"] .metric-glow,.mfa-root \\n  .well .metric,.mfa-root  .well .metric-glow { font-size:34px }\\n}\\n.mfa-root [data-mfa=\"back\"].tile [data-mfa=\"stack-bar\"] .metric,.mfa-root \\n[data-mfa=\"back\"].tile [data-mfa=\"stack-bar\"] .metric-glow{\\n  font-family:var(--display);font-weight:400;font-size:34px;line-height:.9;\\n  color:var(--acc);letter-spacing:.02em;font-variant-numeric:tabular-nums}\\n.mfa-root[data-mfa-tiles=\"a\"] [data-mfa=\"stack-bar\"] .well-edge-hi,.mfa-root[data-mfa-tiles=\"b\"] [data-mfa=\"stack-bar\"] .well-edge-hi{\\n  position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--acc);\\n  pointer-events:none;z-index:6;opacity:0;box-shadow:var(--glow-line)}\\n.mfa-root #bandHost{position:absolute;inset:0;z-index:6;pointer-events:none;overflow:hidden}\\n.mfa-root #seam{position:absolute;left:0;right:0;top:0;height:0;pointer-events:none;will-change:transform}\\n.mfa-root #wipe{position:absolute;left:0;right:0;overflow:hidden;pointer-events:none;opacity:0;\\n  will-change:transform;isolation:isolate}\\n.mfa-root #seam[data-band=\"down\"] #wipe{top:0;bottom:auto}\\n.mfa-root #seam[data-band=\"up\"] #wipe{bottom:0;top:auto}\\n.mfa-root #wipe .wipe-ramp,.mfa-root \\n#wipe .wipe-scan,.mfa-root \\n#wipe .wipe-roll,.mfa-root \\n#wipe .wipe-tear{position:absolute;inset:0}\\n.mfa-root #well{position:absolute;inset:0;overflow:hidden;z-index:1;pointer-events:none}\\n.mfa-root .reg-screen{position:absolute;inset:0;opacity:0;pointer-events:none;overflow:hidden}\\n.mfa-root .reg-screen[data-on=\"1\"]{opacity:1;pointer-events:auto}\\n.mfa-root .reg-screen > [data-mfa=\"register\"]{position:absolute;left:0;right:0;top:0;\\n  bottom:calc(var(--pad-b) + var(--tile-h) + var(--row-gap) + 32px);overflow-y:auto;overflow-x:hidden;\\n  padding:8px 40px 8px;overscroll-behavior:contain}\\n.mfa-root .reg-screen[data-mfa-overflow],.mfa-root \\n.reg-screen[data-mfa-overflow-x]{outline:1px solid var(--acc);outline-offset:-1px}\\n.mfa-root .ov-tag{position:absolute;top:6px;right:8px;z-index:20;display:none;pointer-events:none;\\n  font-family:var(--ui);font-weight:400;font-size:9.5px;letter-spacing:.14em;color:var(--acc);\\n  border:1px solid var(--acc);padding:3px 6px;background:var(--ground)}\\n.mfa-root .reg-screen[data-mfa-overflow] .ov-tag,.mfa-root \\n.reg-screen[data-mfa-overflow-x] .ov-tag{display:block}\\n.mfa-root [data-mfa=\"end-cue\"]{position:absolute;left:40px;right:40px;\\n  bottom:calc(var(--pad-b) + var(--tile-h) + var(--row-gap));height:32px;z-index:3;\\n  display:flex;align-items:center;justify-content:space-between;gap:16px;\\n  border-top:1px solid rgba(0,213,240,.22);pointer-events:none}\\n.mfa-root [data-mfa=\"end-cue\"] .ec-l,.mfa-root [data-mfa=\"end-close\"]{display:flex;align-items:center;gap:8px;\\n  font-family:var(--ui);font-weight:300;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;\\n  color:var(--dim2);transition:color .2s linear;line-height:1}\\n.mfa-root [data-mfa=\"end-close\"]{pointer-events:auto;cursor:pointer;align-self:stretch}\\n.mfa-root [data-mfa=\"end-close\"]:hover{color:var(--ink)}\\n.mfa-root [data-mfa=\"end-close\"]:focus-visible{box-shadow:inset 0 0 0 1px var(--acc);outline:0}\\n.mfa-root [data-mfa=\"end-close\"] svg{display:block;width:10px;height:10px;color:currentColor;pointer-events:none}\\n.mfa-root [data-mfa=\"resume-panel\"][data-mfa-latch=\"1\"] [data-mfa=\"end-cue\"]{border-top-color:rgba(0,213,240,.42)}\\n.mfa-root [data-mfa=\"resume-panel\"][data-mfa-latch=\"1\"] [data-mfa=\"end-cue\"] .ec-l,.mfa-root \\n[data-mfa=\"resume-panel\"][data-mfa-latch=\"1\"] [data-mfa=\"end-close\"]{color:var(--ink)}\\n.mfa-root .reg-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;\\n  padding:8px 0 12px;border-top:1px solid var(--edge-reg-head)}\\n.mfa-root[data-mfa-back=\"tile\"] .reg-head,.mfa-root[data-mfa-back=\"both\"] .reg-head,.mfa-root[data-mfa-back=\"bar\"] .reg-head,.mfa-root[data-mfa-back=\"title\"] .reg-head,.mfa-root[data-mfa-back=\"promote\"] .reg-head{align-items:center}\\n.mfa-root .reg-head .k{display:flex;align-items:baseline;gap:14px;min-width:0}\\n.mfa-root .reg-head .d{font-family:var(--display);font-weight:400;font-size:34px;line-height:1;\\n  color:var(--acc);letter-spacing:.02em;text-shadow:var(--glow-digit)}\\n.mfa-root .reg-head .t{font-size:11px;letter-spacing:.18em;font-weight:400}\\n.mfa-root .reg-head .sub{margin-top:6px;color:var(--dim2);font-size:9.5px;letter-spacing:.14em;padding-left:48px}\\n.mfa-root[data-mfa-back=\"title\"] .reg-head .d{display:none}\\n.mfa-root[data-mfa-back=\"title\"] .reg-head .t{font-family:var(--display);font-weight:400;font-size:34px;\\n  line-height:1;letter-spacing:.02em;color:var(--ink)}\\n.mfa-root[data-mfa-back=\"title\"] .reg-head .sub{padding-left:0}\\n.mfa-root[data-mfa-back=\"promote\"] .reg-head .d{font-size:56px}\\n.mfa-root[data-mfa-back=\"promote\"] .reg-head .sub{padding-left:70px}\\n@media (max-height:780px){\\n  .mfa-root[data-mfa-back=\"promote\"] .reg-head .d{font-size:48px}\\n  .mfa-root[data-mfa-back=\"promote\"] .reg-head .sub{padding-left:62px}\\n}\\n.mfa-root [data-mfa=\"back\"]{display:inline-flex;align-items:center;gap:8px;color:var(--dim);\\n  font-family:var(--ui);font-weight:300;font-size:11px;letter-spacing:.16em;text-transform:uppercase;\\n  flex:none;cursor:pointer}\\n.mfa-root [data-mfa=\"back\"]:hover{color:var(--ink)}\\n.mfa-root [data-mfa=\"back\"] svg{display:block;width:10px;height:10px;color:currentColor}\\n.mfa-root [data-mfa=\"back\"].tile{\\n  display:flex;flex-direction:column;align-items:stretch;justify-content:stretch;\\n  flex:none;align-self:center;height:56px;width:140px;--tile-h:56px;\\n  color:inherit;font-size:inherit;letter-spacing:inherit;text-transform:none;\\n  gap:0;padding:0;cursor:pointer}\\n.mfa-root [data-mfa=\"back\"].tile:hover{color:inherit}\\n.mfa-root [data-mfa=\"back\"].tile [data-mfa=\"stack-bar\"]{height:56px;pointer-events:none}\\n.mfa-root [data-mfa=\"back\"].tile [data-mfa=\"stack-bar\"] .mf-bar-face{\\n  height:56px;gap:10px;align-items:center}\\n.mfa-root [data-mfa=\"back\"].tile [data-mfa=\"stack-bar\"] .metric,.mfa-root \\n[data-mfa=\"back\"].tile [data-mfa=\"stack-bar\"] .metric-glow{\\n  font-family:var(--display);font-weight:400;font-size:34px;line-height:.9;\\n  color:var(--acc);letter-spacing:.02em;font-variant-numeric:tabular-nums}\\n.mfa-root [data-mfa=\"back\"].tile [data-mfa=\"stack-bar\"] .mf-bar-head .metric{flex:none}\\n.mfa-root[data-mfa-back=\"bar\"] [data-mfa=\"back\"].tile{height:40px;--tile-h:40px}\\n.mfa-root[data-mfa-back=\"bar\"] [data-mfa=\"back\"].tile [data-mfa=\"stack-bar\"]{height:40px}\\n.mfa-root[data-mfa-back=\"bar\"] [data-mfa=\"back\"].tile [data-mfa=\"stack-bar\"] .mf-bar-face{height:40px;gap:8px}\\n.mfa-root [data-mfa=\"back\"].tile [data-mfa=\"stack-bar\"] .cap-w{position:relative;min-width:0}\\n.mfa-root [data-mfa=\"back\"].tile [data-mfa=\"stack-bar\"] .cap,.mfa-root \\n[data-mfa=\"back\"].tile [data-mfa=\"stack-bar\"] .cap-hi{\\n  color:var(--dim);letter-spacing:.16em;font-size:10px;line-height:1.25;\\n  text-transform:uppercase;min-width:0;display:block;font-family:var(--ui);font-weight:300}\\n.mfa-root [data-mfa=\"back\"].tile [data-mfa=\"stack-bar\"] .cap-hi{\\n  position:absolute;left:0;top:0;right:0;color:var(--acc);opacity:0}\\n.mfa-root [data-mfa=\"back\"].tile [data-mfa=\"stack-bar\"] .well-edge-hi{\\n  position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--acc);\\n  pointer-events:none;z-index:6;opacity:0;box-shadow:var(--glow-line)}\\n.mfa-root .row{position:relative;min-height:52px;display:grid;\\n  grid-template-columns:36px minmax(0,1.4fr) minmax(0,1.6fr) max-content;gap:16px;align-items:center;\\n  padding:0;cursor:pointer;text-align:left;width:100%;color:inherit}\\n.mfa-root .row[data-kind=\"eng\"]{grid-template-columns:36px minmax(0,1.4fr) minmax(0,1.6fr) var(--yr-w,max-content)}\\n.mfa-root .row .edge,.mfa-root .row .edge-hi{position:absolute;left:0;right:0;top:0;height:1px;background:var(--acc);\\n  pointer-events:none}\\n.mfa-root .row .edge{opacity:.22}\\n.mfa-root .row .edge-hi{opacity:0;box-shadow:var(--glow-line)}\\n.mfa-root .row:hover .edge-hi{opacity:1}\\n.mfa-root .row[data-kind=\"eng\"]:hover{background:rgba(0,213,240,.09)}\\n.mfa-root .row .spine{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--acc);\\n  transform:scaleY(0);transform-origin:50% 0;pointer-events:none}\\n.mfa-root .row .wash{position:absolute;inset:0;background:var(--wash);opacity:0;pointer-events:none}\\n.mfa-root .row .n{position:relative;color:var(--acc);font-size:11px;letter-spacing:.18em;padding-left:12px}\\n.mfa-root .row .yr{display:flex;align-items:center;justify-content:flex-end;gap:12px}\\n.mfa-root .r-chev{display:block;flex:none;color:var(--dim2);\\n  transition:transform .32s cubic-bezier(.2,0,.2,1),color .15s linear}\\n.mfa-root .r-chev svg{display:block}\\n.mfa-root .r-chev path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square}\\n.mfa-root .row:hover .r-chev{color:var(--acc-2)}\\n.mfa-root .row[data-state=\"head\"] .r-chev{transform:rotate(90deg);color:var(--acc)}\\n.mfa-root .blurb{display:grid;grid-template-rows:0fr;\\n  transition:grid-template-rows .32s cubic-bezier(.2,0,.2,1)}\\n.mfa-root .blurb[data-open=\"1\"]{grid-template-rows:1fr}\\n.mfa-root .blurb .bw{display:block;overflow:hidden;min-height:0;padding:4px 0 16px 48px;\\n  transition:padding-top .32s cubic-bezier(.2,0,.2,1),padding-bottom .32s cubic-bezier(.2,0,.2,1)}\\n.mfa-root .blurb:not([data-open=\"1\"]) .bw{padding-top:0;padding-bottom:0}\\n.mfa-root[data-mfa-back=\"path\"] .reg-head .crumbs [data-mfa=\"back\"].up{display:inline-flex;\\n  align-items:baseline;gap:12px}\\n.mfa-root[data-mfa-back=\"path\"] .reg-head .crumbs .up .up-chev svg{width:17px;height:28px}\\n.mfa-root .up-chev{display:block;flex:none;position:relative;top:-2px;color:var(--dim2);\\n  transition:color .2s linear}\\n.mfa-root .up-chev svg{display:block}\\n.mfa-root .up-chev path{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:square}\\n.mfa-root .crumbs .up:hover .up-chev,.mfa-root .crumbs .up:focus-visible .up-chev{color:var(--acc)}\\n.mfa-root .row .nm-w{position:relative;min-width:0;overflow:hidden;font-size:13px;line-height:1.2}\\n.mfa-root .row .nm,.mfa-root .row .nm-hi,.mfa-root .row .fringe{font-family:var(--ui);font-size:13px;letter-spacing:.035em;\\n  text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}\\n.mfa-root .row .nm{position:relative;font-weight:400;color:var(--ink)}\\n.mfa-root .row .nm-hi{position:absolute;left:0;right:0;top:0;font-weight:400;color:var(--ink);opacity:0}\\n.mfa-root .row .fringe{position:absolute;left:0;right:0;top:0;color:var(--fringe);opacity:0;pointer-events:none}\\n.mfa-root .row .role{position:relative;color:var(--dim);font-weight:400;font-size:11px;line-height:14.3px;\\n  letter-spacing:.025em;text-transform:uppercase;white-space:nowrap;overflow:hidden;\\n  text-overflow:ellipsis}\\n.mfa-root .row .yr{position:relative;text-align:right;color:var(--yr-color);font-size:11px;letter-spacing:.1em;\\n  font-variant-numeric:tabular-nums;white-space:nowrap;min-width:110px}\\n.mfa-root .row .rf-city{display:flex;align-items:center;gap:5px;margin-top:3px;font-weight:400;\\n  font-size:11px;line-height:14.3px;letter-spacing:.1em;text-transform:uppercase;\\n  color:var(--acc-2);white-space:nowrap}\\n.mfa-root .row .rf-pin{display:block;flex:none;width:8px;height:10px}\\n.mfa-root .row .rf-pin path{fill:none;stroke:currentColor;stroke-width:1.1}\\n.mfa-root .row .rf-pin circle{fill:currentColor;stroke:none}\\n.mfa-root .row .role.rf{display:flex;align-items:center;gap:14px;overflow:visible;text-overflow:clip}\\n.mfa-root .row .rf-pos{min-width:0;color:var(--acc);text-shadow:var(--glow-digit);white-space:nowrap;\\n  overflow:hidden;text-overflow:ellipsis}\\n.mfa-root .row .rf-tag{flex:none;font-size:10px;line-height:12px;letter-spacing:.18em;color:var(--acc);\\n  text-shadow:var(--glow-digit);background:var(--wash);border:1px solid var(--acc);\\n  padding:3px 7px 2px}\\n.mfa-root .row[data-state=\"head\"] .nm-hi{opacity:1}\\n.mfa-root .row[data-state=\"head\"] .nm{opacity:0}\\n.mfa-root .blurb{position:relative;max-width:60ch;\\n  font-family:var(--ui);font-weight:300;font-size:14.5px;line-height:1.6;color:#b9c2ce}\\n.mfa-root .film-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 40px;\\n  align-items:start}\\n.mfa-root .film-col{min-width:0}\\n.mfa-root .film-row{cursor:default;grid-template-columns:36px minmax(0,1fr) max-content;\\n  min-height:0;align-items:start;padding:6px 0;gap:4px 12px}\\n.mfa-root .film-row .nm-w{overflow:visible;font-size:13px;line-height:15.6px}\\n.mfa-root .film-row .nm,.mfa-root .film-row .nm-hi,.mfa-root .film-row .fringe{font-size:13px;line-height:15.6px}\\n.mfa-root .film-row .nm,.mfa-root \\n.film-row .nm-hi,.mfa-root \\n.film-row .fringe{white-space:normal;overflow:visible;text-overflow:clip}\\n.mfa-root .film-row .dir{display:block;margin-top:3px;color:var(--dim2);font-weight:300;font-size:10.5px;\\n  letter-spacing:.01em;text-transform:none;white-space:normal;overflow:visible;\\n  line-height:13.5px}\\n.mfa-root .film-row .meta{display:block;margin-top:3px;color:var(--dim);font-weight:400;font-size:11px;\\n  letter-spacing:.025em;text-transform:uppercase;white-space:normal;overflow:visible;\\n  text-overflow:clip;line-height:14.3px;min-width:0}\\n.mfa-root .film-row .yr{min-width:0;padding-top:1px}\\n.mfa-root .film-sc{padding:3px 44px 12px 100px;color:var(--dim2);font-weight:300;font-size:10.5px;\\n  letter-spacing:.01em;line-height:13.5px;text-transform:none}\\n.mfa-root .brands{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:1fr;gap:0;\\n  height:calc(100% - 60px);min-height:0;padding:0;margin:0}\\n.mfa-root .brand-cell{position:relative;min-width:0;min-height:0;overflow:hidden;padding:10px 12px 12px;\\n  text-align:left;color:inherit;cursor:pointer;isolation:isolate}\\n.mfa-root .brand-cell .edge,.mfa-root .brand-cell .edge-hi{position:absolute;left:0;right:0;top:0;height:1px;\\n  background:var(--acc);pointer-events:none}\\n.mfa-root .brand-cell .edge{opacity:.22}\\n.mfa-root .brand-cell .edge-hi{opacity:0;box-shadow:var(--glow-line)}\\n.mfa-root .brand-cell:hover .edge-hi{opacity:1}\\n.mfa-root .brand-cell .n{position:relative;color:var(--acc);font-size:9.5px;letter-spacing:.18em;z-index:1}\\n.mfa-root .brand-cell .bn{position:relative;display:block;margin-top:8px;font-family:var(--display);font-weight:400;\\n  font-size:clamp(28px,2.6vw,40px);line-height:.9;letter-spacing:.01em;text-transform:uppercase;\\n  color:var(--ink);z-index:1}\\n.mfa-root .brand-cell .press-clip{position:absolute;inset:0;overflow:hidden;pointer-events:none;filter:blur(12px);z-index:0}\\n.mfa-root .brand-cell .press-fill{position:absolute;width:8px;height:8px;border-radius:50%;\\n  background:var(--acc);transform:scale(0);opacity:0;pointer-events:none}\\n.mfa-root .brand-cell[data-press=\"1\"] .bn{mix-blend-mode:difference;color:#fff}\\n.mfa-root .brand-cell.is-sub{cursor:default}\\n.mfa-root .brand-cell.is-sub .sub-txt{position:relative;z-index:1;margin-top:10px;color:var(--dim2);\\n  font-family:var(--ui);font-weight:300;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;\\n  line-height:1.4;max-width:100%}\\n.mfa-root .tools-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px 0;\\n  padding:8px 0 12px;align-items:start}\\n.mfa-root .spec{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 32px;padding:0}\\n.mfa-root .grp .gh{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}\\n.mfa-root .grp .gh .d{font-family:var(--display);font-weight:400;font-size:28px;line-height:28px;\\n  letter-spacing:0;color:var(--acc);text-shadow:var(--glow-digit)}\\n.mfa-root .grp .gh .t{font-family:var(--display);font-weight:400;font-size:26px;line-height:28px;\\n  letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}\\n.mfa-root .grp ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}\\n.mfa-root .grp li{font-weight:400;font-size:12px;line-height:15.6px;letter-spacing:.03em;\\n  text-transform:uppercase;color:var(--dim);text-wrap:balance}\\n.mfa-root .grp li i{display:block;margin-top:7px;font-style:normal;font-weight:300;font-size:9.5px;\\n  line-height:13px;letter-spacing:.03em;text-transform:uppercase;color:var(--ink);\\n  max-width:300px;text-wrap:balance}\\n.mfa-root[data-mfa-caps=\"rail\"] .tools-grid{--tt-row:38px;--tt-left:416px;\\n  --tt-slot:40px;--tt-gap:16px;\\n  grid-template-columns:var(--tt-left) minmax(0,1fr);\\n  gap:0 40px;padding:8px 0 12px}\\n.mfa-root[data-mfa-caps=\"rail\"] .spec-col{min-width:0}\\n.mfa-root[data-mfa-caps=\"rail\"] .spec{display:flex;flex-direction:column;gap:0;\\n  min-width:0;align-self:start}\\n.mfa-root[data-mfa-caps=\"rail\"] .op-row .edge,.mfa-root[data-mfa-caps=\"rail\"] .op-row .edge-hi{position:absolute;left:0;right:0;top:0;\\n  height:1px;background:var(--acc);pointer-events:none}\\n.mfa-root[data-mfa-caps=\"rail\"] .op-row .edge{opacity:var(--edge-row)}\\n.mfa-root[data-mfa-caps=\"rail\"] .op-row .edge-hi{opacity:0;box-shadow:var(--glow-line);\\n  transition:opacity .16s linear}\\n.mfa-root[data-mfa-capshl=\"col\"] .op-row:hover .edge-hi,.mfa-root[data-mfa-capshl=\"col\"] .op-row[data-on=\"1\"] .edge-hi{opacity:1}\\n.mfa-root[data-mfa-caps=\"rail\"] .op-row .r-chev{margin-left:2px}\\n.mfa-root[data-mfa-capshl=\"col\"] .op-row:hover .r-chev{color:var(--acc-2)}\\n.mfa-root[data-mfa-caps=\"rail\"] .op-row[data-on=\"1\"] .r-chev{transform:rotate(90deg);color:var(--acc)}\\n.mfa-root[data-mfa-caps=\"rail\"] .grp.op-row{position:relative;display:block;width:100%;\\n  padding:0 10px 0 0;text-align:left;color:inherit;background:none;border:0;\\n  cursor:pointer;transition:background .16s linear}\\n.mfa-root[data-mfa-capshl=\"col\"] .op-row[data-on=\"1\"]{background:var(--wash)}\\n.mfa-root[data-mfa-capshl=\"col\"] .op-row[data-on=\"1\"] .edge-hi{opacity:1}\\n.mfa-root[data-mfa-capshl=\"col\"] .op-head .spine,.mfa-root[data-mfa-capshl=\"col\"] .op-head .wash{display:none}\\n.mfa-root[data-mfa-capshl=\"head\"] .op-head{position:relative}\\n.mfa-root[data-mfa-capshl=\"head\"] .op-head .spine{position:absolute;left:0;top:0;bottom:0;width:3px;\\n  background:var(--acc);transform:scaleY(0);transform-origin:50% 0;pointer-events:none;\\n  transition:transform .25s cubic-bezier(.2,0,.2,1)}\\n.mfa-root[data-mfa-capshl=\"head\"] .op-head .wash{position:absolute;inset:0;background:var(--wash);\\n  opacity:0;pointer-events:none;transition:opacity .25s linear}\\n.mfa-root[data-mfa-capshl=\"head\"] .op-row[data-on=\"1\"] .op-head .spine{transform:scaleY(1)}\\n.mfa-root[data-mfa-capshl=\"head\"] .op-row[data-on=\"1\"] .op-head .wash{opacity:1}\\n.mfa-root[data-mfa-capshl=\"head\"] .op-head:hover{background:rgba(0,213,240,.09)}\\n.mfa-root[data-mfa-capshl=\"head\"] .op-row[data-hl=\"1\"] .edge-hi{opacity:1}\\n.mfa-root[data-mfa-capshl=\"head\"] .op-row[data-hl=\"1\"] .r-chev{color:var(--acc-2)}\\n.mfa-root[data-mfa-caps=\"rail\"] .op-head{display:grid;\\n  grid-template-columns:var(--tt-slot) minmax(0,1fr) max-content max-content;\\n  align-items:center;gap:var(--tt-gap);padding:3px 0;height:var(--tt-row);\\n  box-sizing:border-box}\\n.mfa-root[data-mfa-caps=\"rail\"] .train .row{padding:6px 0;height:var(--tt-row);box-sizing:border-box}\\n.mfa-root[data-mfa-capshl=\"head\"] .grp.op-row{padding-right:0}\\n.mfa-root[data-mfa-capshl=\"head\"] .op-head,.mfa-root[data-mfa-capshl=\"head\"] .op-clip{padding-right:10px}\\n.mfa-root[data-mfa-caps=\"rail\"] .train .row .tsub{margin-top:1px}\\n.mfa-root[data-mfa-caps=\"rail\"] .op-ico{display:flex;align-items:center;justify-content:center;\\n  color:var(--acc);filter:drop-shadow(0 0 10px rgba(0,213,240,.30))}\\n.mfa-root[data-mfa-caps=\"rail\"] .op-ico svg{width:32px;height:32px}\\n.mfa-root[data-mfa-caps=\"rail\"] .op-head .t{font-family:var(--ui);font-weight:400;\\n  font-size:13px;line-height:15.6px;letter-spacing:.035em;text-transform:uppercase;\\n  color:var(--ink)}\\n.mfa-root[data-mfa-caps=\"rail\"] .op-ct{font-weight:300;font-size:11px;letter-spacing:.1em;\\n  color:var(--yr-color);display:flex;align-items:baseline;gap:7px}\\n.mfa-root[data-mfa-caps=\"rail\"] .op-ct i{font-style:normal;font-size:9px;letter-spacing:.18em;\\n  color:var(--dim2)}\\n.mfa-root[data-mfa-caps=\"rail\"] .op-body{display:grid;grid-template-rows:0fr;\\n  transition:grid-template-rows .26s cubic-bezier(.2,0,.2,1)}\\n.mfa-root[data-mfa-caps=\"rail\"] .op-row[data-on=\"1\"] .op-body{grid-template-rows:1fr}\\n.mfa-root[data-mfa-caps=\"rail\"] .op-clip{overflow:hidden;min-height:0}\\n.mfa-root[data-mfa-caps=\"rail\"] .op-clip ul{gap:18px;\\n  padding:0 0 6px calc(var(--tt-slot) + var(--tt-gap))}\\n.mfa-root[data-mfa-caps=\"rail\"] .op-clip ul li{color:var(--acc)}\\n.mfa-root[data-mfa-caps=\"rail\"] .op-clip ul li i{color:var(--ink)}\\n.mfa-root .cap-ico{display:block;fill:none;stroke:currentColor;stroke-width:1.25;\\n  stroke-linecap:square;stroke-linejoin:miter;overflow:visible}\\n.mfa-root[data-mfa-caps=\"rail\"] .tools-train{border-top:0;padding-top:0;\\n  border-left:1px solid rgba(160,200,220,.12);padding-left:40px;min-width:0}\\n.mfa-root[data-mfa-caps=\"rail\"] .train{grid-template-columns:minmax(0,1fr);\\n  grid-auto-rows:var(--tt-row)}\\n.mfa-root[data-mfa-caps=\"rail\"] .caps-rail{display:none}\\n.mfa-root[data-mfa-train=\"g\"] .train{grid-auto-rows:52px}\\n.mfa-root[data-mfa-train=\"g\"] .train .row{height:52px;padding:6px 0;\\n  grid-template-columns:var(--tt-slot,40px) minmax(0,1.8fr) minmax(0,1.2fr) var(--yr-w)}\\n.mfa-root[data-mfa-train=\"g\"] .train .row .nm-w{flex-direction:column;align-items:flex-start;\\n  justify-content:center;gap:3px;min-height:0;max-width:100%}\\n.mfa-root[data-mfa-train=\"g\"] .train .row .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}\\n.mfa-root .train .row .tg-course{font-weight:400;font-size:11px;line-height:14.3px;letter-spacing:.1em;\\n  text-transform:uppercase;color:var(--acc-2);white-space:nowrap;overflow:hidden;\\n  text-overflow:ellipsis;max-width:100%}\\n.mfa-root .train .row .tg-cred{font-weight:400;font-size:11px;line-height:14.3px;letter-spacing:.025em;\\n  text-transform:uppercase;color:var(--acc);text-shadow:var(--glow-digit);white-space:nowrap}\\n.mfa-root[data-mfa-caps=\"row\"] .spec{grid-template-columns:repeat(var(--caps-n, 4), minmax(0, 1fr))}\\n.mfa-root{--caps-col:280px;--caps-fade:56px}\\n.mfa-root[data-mfa-caps=\"bleed\"] .spec{display:flex;gap:0 32px;\\n  overflow-x:auto;overflow-y:hidden;scrollbar-width:none;\\n  scroll-snap-type:x proximity;overscroll-behavior-x:contain;\\n  -webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - var(--caps-fade)),rgba(0,0,0,0) 100%);\\n  mask-image:linear-gradient(to right,#000 0,#000 calc(100% - var(--caps-fade)),rgba(0,0,0,0) 100%)}\\n.mfa-root[data-mfa-caps=\"bleed\"] .spec::-webkit-scrollbar{display:none}\\n.mfa-root[data-mfa-caps=\"bleed\"] .grp{flex:none;width:var(--caps-col);scroll-snap-align:start}\\n.mfa-root .caps-rail{display:none}\\n.mfa-root .caps-rail::before{content:\"\";position:absolute;inset:0;background:var(--acc);\\n  opacity:.22;pointer-events:none}\\n.mfa-root[data-mfa-caps=\"bleed\"] .caps-rail{display:block;position:relative;height:1px;\\n  margin-top:16px}\\n.mfa-root[data-mfa-caps=\"bleed\"] .caps-rail-on{position:absolute;left:0;top:0;height:1px;\\n  width:0;background:var(--acc);box-shadow:var(--glow-line)}\\n.mfa-root{--caps-h:417px;--caps-foot:34px;--eng-h:420px}\\n.mfa-root[data-mfa-capscroll=\"1\"] .spec{height:var(--caps-h)}\\n.mfa-root[data-mfa-rolesopen=\"click\"] .eng-list{height:var(--eng-h)}\\n.mfa-root[data-mfa-rolesopen=\"click\"] .eng-list,.mfa-root[data-mfa-capscroll=\"1\"] .spec{\\n  overflow-y:auto;overflow-x:hidden;scrollbar-width:none;\\n  overscroll-behavior-y:contain;\\n  -webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - var(--caps-foot)),rgba(0,0,0,0) 100%);\\n  mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - var(--caps-foot)),rgba(0,0,0,0) 100%)}\\n.mfa-root[data-mfa-rolesopen=\"click\"] .eng-list::-webkit-scrollbar,.mfa-root[data-mfa-capscroll=\"1\"] .spec::-webkit-scrollbar{display:none}\\n.mfa-root[data-mfa-rolesopen=\"click\"] .eng-list::after,.mfa-root[data-mfa-capscroll=\"1\"] .spec::after{content:\"\";display:block;flex:none;\\n  height:var(--caps-foot)}\\n.mfa-root[data-mfa-rolesopen=\"click\"] .eng-col,.mfa-root[data-mfa-capscroll=\"1\"] .spec-col{position:relative}\\n.mfa-root[data-mfa-capscroll=\"1\"] .caps-rail{height:var(--caps-h)}\\n.mfa-root[data-mfa-rolesopen=\"click\"] .eng-col .caps-rail{height:var(--eng-h)}\\n.mfa-root[data-mfa-rolesopen=\"click\"] .eng-col .caps-rail,.mfa-root[data-mfa-capscroll=\"1\"] .caps-rail{display:block;position:absolute;right:-14px;\\n  bottom:0;width:1px;margin-top:0;\\n  opacity:1;transition:opacity .14s linear}\\n.mfa-root[data-mfa-rolesopen=\"click\"] .eng-col .caps-rail[data-need=\"0\"],.mfa-root[data-mfa-capscroll=\"1\"] .caps-rail[data-need=\"0\"]{opacity:0;pointer-events:none}\\n.mfa-root[data-mfa-rolesopen=\"click\"] .eng-col .caps-rail-on,.mfa-root[data-mfa-capscroll=\"1\"] .caps-rail-on{position:absolute;left:0;top:0;width:1px;\\n  height:0;background:var(--acc);box-shadow:var(--glow-line);\\n  transition:top .12s linear,height .12s linear}\\n.mfa-root[data-mfa-capscroll=\"1\"] .op-row[data-on=\"1\"] .r-chev{transform:rotate(90deg);color:var(--acc)}\\n.mfa-root .tools-train{border-top:1px solid rgba(160,200,220,.12);padding-top:24px}\\n.mfa-root .train .row .role{white-space:normal;overflow:visible;text-overflow:clip;\\n  line-height:1.4;align-self:start;padding-top:1px}\\n.mfa-root .tools-train .blk-h,.mfa-root[data-mfa-caps=\"rail\"] .spec-col .blk-h{margin:0 0 14px;font-weight:400;font-size:10px;\\n  line-height:12px;letter-spacing:.18em;color:var(--dim2)}\\n.mfa-root .train{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}\\n.mfa-root .train .row{cursor:default;--lead:28px;--yr-w:88px;min-height:0;padding:12px 0;\\n  grid-template-columns:var(--tt-slot,40px) minmax(0,1.1fr) minmax(0,1.5fr) var(--yr-w);\\n  gap:0 var(--tt-gap,16px);align-items:center}\\n.mfa-root .train .row .tslot{position:relative;display:flex;align-items:center;justify-content:center;\\n  width:40px;height:var(--lead)}\\n.mfa-root .train .row .tslot .logo-mark{display:block;background-color:var(--acc);\\n  -webkit-mask-image:var(--mark);mask-image:var(--mark);\\n  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;\\n  -webkit-mask-position:50% 50%;mask-position:50% 50%;\\n  -webkit-mask-size:contain;mask-size:contain}\\n.mfa-root .train .row .tslot{filter:drop-shadow(0 0 4px rgba(0,213,240,.18))}\\n.mfa-root .train .row .tqual{min-width:0;display:flex;flex-direction:column;justify-content:center}\\n.mfa-root .train .row .nm-w{display:flex;align-items:center;min-height:var(--lead);\\n  font-size:13px;line-height:15.6px;overflow:visible;align-self:center}\\n.mfa-root .train .row .nm{white-space:normal}\\n.mfa-root .train .row .tmain{font-weight:400;font-size:11px;line-height:14.3px;\\n  letter-spacing:.025em;text-transform:uppercase;color:var(--dim)}\\n.mfa-root .train .row .tsub{margin-top:2px;font-weight:300;font-size:10.5px;line-height:13.5px;\\n  letter-spacing:.01em;text-transform:none;color:var(--dim2)}\\n.mfa-root .train .row .yr{display:flex;align-items:center;justify-content:flex-end;\\n  min-height:var(--lead);width:var(--yr-w);min-width:0;font-weight:300;font-size:11px;\\n  line-height:15.6px;letter-spacing:.1em;color:var(--yr-color)}\\n.mfa-root .recog-stack{display:flex;flex-direction:column;gap:16px;padding:8px 0 12px}\\n.mfa-root .recog-block .blk-h{margin:0 0 10px;font-weight:400;font-size:10px;line-height:12px;\\n  letter-spacing:.18em;color:var(--dim2)}\\n.mfa-root .quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 32px}\\n.mfa-root[data-mfa-frame=\"1\"] .reg-screen[data-mfa-screen=\"recognition\"] > [data-mfa=\"register\"]{scrollbar-width:none}\\n.mfa-root[data-mfa-frame=\"1\"] .reg-screen[data-mfa-screen=\"recognition\"] > [data-mfa=\"register\"]::-webkit-scrollbar{display:none}\\n.mfa-root[data-mfa-frame=\"1\"] .reg-screen[data-mfa-screen=\"recognition\"] > [data-mfa=\"register\"][data-mfa-rs=\"1\"] > .recog-stack{\\n  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,0) calc(var(--rs-st) - var(--rs-b) + 24px),#000 calc(var(--rs-st) - var(--rs-b) + 56px),#000 calc(var(--rs-st) - var(--rs-b) + var(--rs-h) - var(--rs-fb, 40px)),rgba(0,0,0,0) calc(var(--rs-st) - var(--rs-b) + var(--rs-h)));\\n  mask-image:linear-gradient(to bottom,rgba(0,0,0,0) calc(var(--rs-st) - var(--rs-b) + 24px),#000 calc(var(--rs-st) - var(--rs-b) + 56px),#000 calc(var(--rs-st) - var(--rs-b) + var(--rs-h) - var(--rs-fb, 40px)),rgba(0,0,0,0) calc(var(--rs-st) - var(--rs-b) + var(--rs-h)))}\\n.mfa-root .quote{position:relative;padding-left:44px}\\n.mfa-root .quote .qn{position:absolute;left:0;top:-3px;font-family:var(--display);font-weight:400;\\n  font-size:28px;line-height:1;color:var(--acc);letter-spacing:.02em;text-shadow:var(--glow-digit)}\\n.mfa-root[data-mfa-lit=\"0\"] .quote{padding-left:36px}\\n.mfa-root[data-mfa-lit=\"0\"] .quote .qn{top:0;font-family:var(--ui);font-weight:400;font-size:11px;\\n  letter-spacing:.18em;line-height:1;text-shadow:none}\\n.mfa-root .quote .qt{margin:0;font-family:var(--ui);font-weight:300;font-size:14.5px;line-height:1.6;\\n  color:#b9c2ce}\\n.mfa-root .quote .qa{margin:10px 0 0;font-family:var(--ui);font-weight:300;font-size:10.5px;\\n  line-height:13.5px;letter-spacing:.01em;text-transform:none;color:var(--dim2)}\\n.mfa-root .quote .qa b{font-weight:400;color:var(--ink)}\\n.mfa-root .quote .qt em.q-em{font-style:normal;font-weight:400}\\n.mfa-root .award-row{cursor:default}\\n.mfa-root #fakeContact{position:absolute;inset:0;z-index:10;display:none;align-items:center;justify-content:center;\\n  flex-direction:column;background:var(--ground);text-align:center;padding:40px}\\n.mfa-root #fakeContact[data-on=\"1\"]{display:flex}\\n.mfa-root #fakeContact .h{font-family:var(--display);font-weight:400;font-size:96px;line-height:.82;\\n  letter-spacing:.02em;margin:0;color:var(--ink)}\\n.mfa-root #fakeContact .cta{margin:18px 0 0;font-family:var(--ui);font-weight:300;font-size:18px;line-height:1.5;\\n  color:var(--ink)}\\n.mfa-root #fakeContact .colo-foot{position:absolute;right:40px;bottom:28px;font-size:10.5px;letter-spacing:.09em;color:#848b9c;\\n  white-space:nowrap}\\n@media (max-height:780px){\\n  .mfa-root{--pad-b:32px;--id-open-gap:40px}\\n  .mfa-root #pitch > [data-mfa=\"sbody\"]{padding:32px 40px calc(var(--pad-b) + var(--tile-h) + var(--row-gap))}\\n  .mfa-root .who h1{font-size:48px}\\n  .mfa-root .plate{width:140px;height:170px}\\n  .mfa-root .headline{font-size:80px}\\n  .mfa-root .lede{font-size:16px;margin-top:14px}\\n  .mfa-root [data-mfa=\"profile\"] .prof-body p{font-size:13px;line-height:1.5}\\n  .mfa-root #fakeContact .h{font-size:80px}\\n}\\n.mfa-root[data-mfa-back=\"path\"] [data-mfa-root=\"1\"]{display:none}\\n.mfa-root[data-mfa-back=\"path\"] #menu .tile{transition:flex-grow .42s cubic-bezier(.2,0,.2,1)}\\n.mfa-root[data-mfa-back=\"path\"] #menu [data-mfa=\"stack-bar\"] .mf-bar-face{justify-content:center;padding:0 12px}\\n.mfa-root[data-mfa-back=\"path\"] #menu [data-mfa=\"stack-bar\"] .mf-bar-grip{display:none}\\n.mfa-root[data-mfa-back=\"path\"] #menu[data-mfa-hov=\"1\"] .tile[data-mfa-fill=\"0\"]:not([data-mfa-dist=\"0\"]) [data-mfa=\"stack-bar\"] .mf-bar-row .metric{color:rgba(0,213,240,.64)}\\n.mfa-root[data-mfa-back=\"path\"] #menu[data-mfa-hov=\"1\"] .tile[data-mfa-fill=\"0\"]:not([data-mfa-dist=\"0\"]) [data-mfa=\"stack-bar\"] .mf-bar-row .cap{color:var(--dim2)}\\n.mfa-root[data-mfa-back=\"path\"] #menu[data-mfa-hov=\"1\"] .tile[data-mfa-fill=\"0\"][data-mfa-dist=\"0\"] [data-mfa=\"stack-bar\"] .mf-bar-row .cap{color:var(--ink)}\\n.mfa-root[data-mfa-back=\"path\"] .reg-head{border-top:0;display:block;padding:4px 0 18px}\\n.mfa-root[data-mfa-back=\"path\"] .reg-head .crumbs{display:flex;align-items:baseline;gap:14px;min-width:0}\\n.mfa-root[data-mfa-back=\"path\"] .reg-head [data-mfa=\"back\"].up{display:inline-block;position:relative;font-family:var(--display);font-weight:400;\\n  font-size:45px;line-height:.9;letter-spacing:.01em;text-transform:uppercase;color:var(--dim);transition:color .2s linear}\\n.mfa-root[data-mfa-back=\"path\"] .reg-head .up::after{content:\"\";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--acc);\\n  transform:scaleX(0);transform-origin:0 50%;transition:transform .25s cubic-bezier(.2,0,.2,1);box-shadow:var(--glow-line)}\\n.mfa-root[data-mfa-back=\"path\"] .reg-head [data-mfa=\"back\"].up:hover{color:var(--ink)}\\n.mfa-root[data-mfa-back=\"path\"] .reg-head .up:hover::after{transform:scaleX(1)}\\n.mfa-root[data-mfa-back=\"path\"] .reg-head .up:focus-visible{outline:1px solid var(--acc);outline-offset:4px}\\n.mfa-root[data-mfa-back=\"path\"] .reg-head .bs{font-family:var(--display);font-weight:400;font-size:45px;line-height:.9;color:var(--acc);\\n  text-shadow:var(--glow-digit);transition:transform .3s cubic-bezier(.2,0,.2,1)}\\n.mfa-root[data-mfa-back=\"path\"] .reg-head .w{font-family:var(--display);font-weight:400;font-size:45px;line-height:.9;letter-spacing:.01em;\\n  text-transform:uppercase;color:var(--ink);text-shadow:var(--glow-head);white-space:nowrap;\\n  transition:color .2s linear,letter-spacing .3s cubic-bezier(.2,0,.2,1)}\\n.mfa-root[data-mfa-back=\"path\"] .reg-head .crumbs:has(.up:hover) .w{color:var(--dim2);text-shadow:none}\\n.mfa-root[data-mfa-back=\"path\"] .reg-head .crumbs:has(.up:hover) .bs{transform:translateX(-6px)}\\n.mfa-root[data-mfa-back=\"path\"] .reg-head .w[data-pv=\"1\"]{color:var(--dim2);letter-spacing:.05em;text-shadow:none}\\n.mfa-root[data-mfa-back=\"path\"] .reg-head .sub{padding-left:0;margin-top:14px;transition:opacity .2s linear}\\n.mfa-root[data-mfa-back=\"path\"] .reg-head .sub[data-pv=\"1\"]{opacity:.55}\\n.mfa-root[data-mfa-back=\"path\"] #navAbout{transition:color .2s linear}\\n.mfa-root[data-mfa-back=\"path\"] #navAbout:hover{color:var(--acc)}\\n.mfa-root[data-mfa-back=\"path\"] #navAbout::after{transition:height .2s cubic-bezier(.2,0,.2,1),box-shadow .2s linear}\\n.mfa-root[data-mfa-back=\"path\"] #navAbout:hover::after{height:2px;box-shadow:var(--glow-line)}\\n.mfa-root{--peek-h:96px;--peek-w:300px;--well-w:312px;--well-h:468px}\\n@media (max-height:780px){.mfa-root{--peek-h:84px;--well-w:240px;--well-h:360px}}\\n.mfa-root[data-mfa-e2=\"1\"] .headline{display:inline-block;position:relative;font-size:110px;max-width:none;white-space:nowrap}\\n@media (max-height:780px){.mfa-root[data-mfa-e2=\"1\"] .headline{font-size:100px}}\\n.mfa-root[data-mfa-e2=\"1\"] .headline .hw{color:var(--acc);text-shadow:var(--glow-digit)}\\n.mfa-root[data-mfa-peek=\"1\"] #pitch > [data-mfa=\"sbody\"]{padding-bottom:calc(var(--pad-b) + var(--tile-h) + 12px + var(--peek-h) + 12px)}\\n.mfa-root[data-mfa-e2=\"1\"] .lede{font-size:22px;line-height:1.4;max-width:none;text-wrap:pretty}\\n.mfa-root[data-mfa-e2=\"1\"] [data-mfa=\"profile\"] .prof-body p{font-size:16px;line-height:1.5;color:#a9b2c0;text-wrap:pretty}\\n@media (max-height:780px){\\n  .mfa-root[data-mfa-e2=\"1\"] .lede{font-size:19px}\\n  .mfa-root[data-mfa-e2=\"1\"] [data-mfa=\"profile\"] .prof-body p{font-size:14px;line-height:1.5}\\n}\\n.mfa-root .hot{display:inline;position:relative;padding:0 1px;color:var(--acc);cursor:pointer;\\n  transition:color .15s linear,background-color .15s linear}\\n.mfa-root .hot:focus-visible{outline:1px solid var(--acc);outline-offset:2px}\\n.mfa-root .hot em{font-style:normal;font-weight:400;color:inherit}\\n.mfa-root .lede em.l-em{font-style:normal;font-weight:400}\\n.mfa-root .hot::after{content:attr(data-n);position:absolute;right:-13px;top:-7px;font-family:var(--display);font-weight:400;font-size:12px;\\n  line-height:1;letter-spacing:.02em;color:var(--acc);text-shadow:var(--glow-digit);opacity:0;transform:translateY(3px);\\n  transition:opacity .15s linear,transform .2s cubic-bezier(.2,0,.2,1);pointer-events:none}\\n.mfa-root .hot[data-mfa-hot-on=\"1\"]{color:var(--ink);background-color:rgba(0,213,240,.14)}\\n.mfa-root[data-mfa-tag=\"1\"] .hot[data-mfa-hot-on=\"1\"]::after{opacity:1;transform:none}\\n@keyframes mf-sweep{from{background-position:-240% 0}to{background-position:340% 0}}\\n.mfa-root[data-mfa-nums=\"1\"] [data-mfa=\"profile\"] .prof-body p{position:relative}\\n.mfa-root[data-mfa-nums=\"1\"] [data-mfa=\"profile\"] .prof-body p::before{content:attr(data-n);position:absolute;left:-30px;top:2px;\\n  font-family:var(--display);font-weight:400;font-size:16px;line-height:1;color:var(--acc);text-shadow:var(--glow-digit)}\\n.mfa-root .headline .caret{position:absolute;left:0;top:6%;width:6px;height:80%;background:rgb(20,233,235);box-shadow:var(--glow-line);\\n  opacity:0;pointer-events:none}\\n.mfa-root .lede-w{position:relative}\\n.mfa-root .lede-scan{position:absolute;left:0;right:0;top:0;height:2px;background:rgb(20,233,235);box-shadow:0 0 10px rgba(0,213,240,.7);\\n  opacity:0;pointer-events:none}\\n.mfa-root [data-mfa-e2boot=\"1\"] .headline{clip-path:inset(0 100% 0 0);animation:mf-typein .7s steps(28) .15s both}\\n.mfa-root [data-mfa-e2boot=\"1\"] .headline .caret{animation:mf-caret .7s steps(28) .15s both,mf-off .2s linear .85s forwards}\\n.mfa-root [data-mfa-e2boot=\"1\"] .lede{clip-path:inset(0 0 100% 0);animation:mf-downreveal .55s linear .85s both}\\n.mfa-root [data-mfa-e2boot=\"1\"] .lede-scan{animation:mf-scan .55s linear .85s both,mf-off .15s linear 1.4s forwards}\\n@keyframes mf-typein{to{clip-path:inset(-20px -20px -20px -20px)}}\\n@keyframes mf-caret{from{left:0;opacity:1}to{left:100%;opacity:1}}\\n@keyframes mf-off{to{opacity:0}}\\n@keyframes mf-downreveal{to{clip-path:inset(-14px -20px -6px -6px)}}\\n@keyframes mf-scan{from{top:0;opacity:1}to{top:100%;opacity:1}}\\n.mfa-root .typo{position:absolute;inset:0;background-color:#0b0d13;\\n  background-image:radial-gradient(ellipse 120% 70% at 30% 0%,rgba(0,213,240,.14),transparent 60%),\\n  linear-gradient(rgba(0,213,240,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(0,213,240,.045) 1px,transparent 1px);\\n  background-size:100% 100%,22px 22px,22px 22px}\\n.mfa-root .art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}\\n.mfa-root[data-mfa-art=\"0\"] .art,.mfa-root[data-mfa-art=\"0\"] .acap{display:none}\\n.mfa-root .peek{position:absolute;bottom:calc(var(--pad-b) + var(--tile-h) + 12px);width:var(--peek-w);height:var(--peek-h);z-index:4;\\n  display:grid;grid-template-columns:minmax(0,1fr) auto;background:rgba(11,13,19,.92);\\n  clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);\\n  opacity:0;transform:translateY(10px);transition:opacity .18s linear,transform .28s cubic-bezier(.2,0,.2,1);pointer-events:none}\\n.mfa-root .peek[data-on=\"1\"]{opacity:1;transform:none}\\n.mfa-root .nrim{position:absolute;inset:0;pointer-events:none;background:var(--nrim,rgba(0,213,240,.3));z-index:5}\\n.mfa-root .nrim[data-nk=\"tr\"]{clip-path:polygon(evenodd,\\n  0 0,calc(100% - var(--nk)) 0,100% var(--nk),100% 100%,0 100%,0 0,\\n  1px 1px,calc(100% - var(--nk) - 0.41px) 1px,calc(100% - 1px) calc(var(--nk) + 0.41px),\\n  calc(100% - 1px) calc(100% - 1px),1px calc(100% - 1px),1px 1px)}\\n.mfa-root .nrim[data-nk=\"trbl\"]{clip-path:polygon(evenodd,\\n  0 0,calc(100% - var(--nk)) 0,100% var(--nk),100% 100%,var(--nk) 100%,0 calc(100% - var(--nk)),0 0,\\n  1px 1px,calc(100% - var(--nk) - 0.41px) 1px,calc(100% - 1px) calc(var(--nk) + 0.41px),\\n  calc(100% - 1px) calc(100% - 1px),calc(var(--nk) + 0.41px) calc(100% - 1px),\\n  1px calc(100% - var(--nk) - 0.41px),1px 1px)}\\n.mfa-root .peek .sp{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--acc);box-shadow:var(--glow-line)}\\n.mfa-root .peek .nrim{--nk:12px}\\n.mfa-root .peek .pk{padding:10px 14px;display:flex;flex-direction:column;gap:6px;min-width:0}\\n.mfa-root .peek .ph{display:flex;justify-content:space-between;gap:10px;color:var(--dim2)}\\n.mfa-root .peek .ph b{font-weight:400;color:var(--ink)}\\n.mfa-root .peek .pr{display:flex;justify-content:space-between;gap:10px;align-items:baseline}\\n.mfa-root .peek .pr span{font-family:var(--ui);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:300;\\n  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#b9c2ce}\\n.mfa-root .peek .pr i{font-style:normal;color:var(--acc-2);font-size:8.5px;letter-spacing:.1em;white-space:nowrap}\\n.mfa-root .peek .pi{position:relative;width:92px;overflow:hidden}\\n.mfa-root .peek .pi .art{z-index:1}\\n.mfa-root .peek .pi::after{content:\"\";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(11,13,19,.9),transparent 40%)}\\n.mfa-root .peek[data-img=\"0\"] .pi,.mfa-root[data-mfa-art=\"0\"] .peek .pi{display:none}\\n.mfa-root[data-mfa-e2=\"1\"] .film-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) var(--well-w)}\\n.mfa-root[data-mfa-e2=\"1\"] .film-row{grid-template-columns:40px 36px minmax(0,1fr) max-content;padding:4px 0}\\n.mfa-root[data-mfa-e2=\"1\"] .film-row .n{padding-left:0}\\n.mfa-root .th{position:relative;display:block;width:40px;height:60px;overflow:hidden;\\n  clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px))}\\n.mfa-root .th .thy{position:absolute;inset:0;z-index:2;display:grid;place-items:center;font-family:var(--display);font-weight:400;\\n  font-size:17px;line-height:1;color:var(--acc);text-shadow:var(--glow-digit)}\\n.mfa-root .th .art{z-index:3}\\n.mfa-root .th.th-none{clip-path:none;background:none}\\n.mfa-root .pc.pc-none{background:none;clip-path:none}\\n.mfa-root .pc.pc-none::after{content:none}\\n.mfa-root[data-mfa-e2=\"1\"] .film-row[data-mfa-sel=\"1\"] .nm{font-weight:400}\\n.mfa-root[data-mfa-e2=\"1\"] .film-row[data-mfa-sel=\"1\"] .edge-hi{opacity:1}\\n.mfa-root .film-well{position:relative;width:var(--well-w);height:var(--well-h)}\\n.mfa-root{--drum-dial-w:60px;\\n  --drum-stage-h:400px;--drum-stage-w:230px;--drum-card-h:340px;--drum-card-w:226px;\\n  --drum-air:14px;--drum-top:60px;--drum-bot:0px;--drum-fade:55px;\\n  --drum-note-gap:14px;--drum-note-h:27px}\\n.mfa-root[data-mfa-film=\"drum\"] .film-grid{display:grid;\\n  grid-template-columns:minmax(0,1fr) calc(var(--drum-stage-w) + 16px + var(--drum-dial-w));\\n  gap:0 44px;align-items:start}\\n.mfa-root[data-mfa-film=\"drum\"] .film-cols{display:block;align-self:start}\\n.mfa-root[data-mfa-film=\"drum\"] .film-row{grid-template-columns:34px minmax(0,1fr) max-content;\\n  padding:10px 12px 11px;gap:2px 12px}\\n.mfa-root[data-mfa-film=\"drum\"] .film-row[data-mfa-sel=\"1\"]{background:rgba(0,213,240,.09)}\\n.mfa-root[data-mfa-film=\"drum\"] .film-row .spine,.mfa-root[data-mfa-film=\"drum\"] .film-row .wash{display:none}\\n.mfa-root[data-mfa-film=\"drum\"] .film-row .edge-hi{height:1px}\\n.mfa-root .nm-dir{display:none}\\n.mfa-root[data-mfa-film=\"drum\"] .film-row .nm-dir{display:inline;margin-left:10px;\\n  font-weight:300;font-size:10.5px;line-height:13.5px;letter-spacing:.01em;\\n  text-transform:none;color:var(--dim2);white-space:nowrap}\\n.mfa-root[data-mfa-film=\"drum\"] .film-row[data-mfa-sel=\"1\"] .nm-dir{color:#9aa3b4}\\n.mfa-root[data-mfa-film=\"drum\"] .film-drum{position:relative;display:flex;gap:16px;\\n  align-items:flex-start;justify-content:flex-end}\\n.mfa-root[data-mfa-film=\"drum\"] .drum-col{position:relative;display:flex;flex-direction:column;flex:none}\\n.mfa-root[data-mfa-film=\"drum\"] .drum-ap{display:none}\\n.mfa-root[data-mfa-film=\"drum\"][data-mfa-ap=\"1\"] .drum-ap{display:block;position:absolute;\\n  left:var(--drum-air);top:var(--drum-top);\\n  width:var(--drum-card-w);height:var(--drum-card-h);\\n  z-index:70;pointer-events:none;\\n  box-shadow:inset 0 0 0 1px var(--acc),var(--glow-line)}\\n.mfa-root[data-mfa-film=\"drum\"][data-mfa-ap=\"1\"] .pcd[data-on=\"1\"]{box-shadow:0 22px 48px rgba(0,0,0,.6)}\\n.mfa-root[data-mfa-film=\"drum\"] .drum-stage{position:relative;flex:none;\\n  height:var(--drum-stage-h);width:var(--drum-stage-w);\\n  overflow:hidden;isolation:isolate;\\n  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0,#000 var(--drum-fade),#000 100%);\\n  mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0,#000 var(--drum-fade),#000 100%)}\\n.mfa-root[data-mfa-film=\"drum\"][data-mfa-note=\"soft\"] .drum-stage{\\n  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0,#000 var(--drum-fade),#000 calc(var(--drum-top) + var(--drum-card-h) - 70px),rgba(0,0,0,0) calc(var(--drum-top) + var(--drum-card-h) + 8px));\\n  mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0,#000 var(--drum-fade),#000 calc(var(--drum-top) + var(--drum-card-h) - 70px),rgba(0,0,0,0) calc(var(--drum-top) + var(--drum-card-h) + 8px))}\\n.mfa-root[data-mfa-film=\"drum\"][data-mfa-note=\"foot\"] .drum-stage{\\n  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0,#000 var(--drum-fade),#000 calc(100% - var(--drum-fade)),rgba(0,0,0,0) 100%);\\n  mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0,#000 var(--drum-fade),#000 calc(100% - var(--drum-fade)),rgba(0,0,0,0) 100%)}\\n.mfa-root[data-mfa-film=\"drum\"][data-mfa-note=\"both\"] .drum-stage{\\n  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0,#000 var(--drum-fade),#000 var(--drum-bot-solid),rgba(0,0,0,0) var(--drum-bot-clear));\\n  mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0,#000 var(--drum-fade),#000 var(--drum-bot-solid),rgba(0,0,0,0) var(--drum-bot-clear))}\\n.mfa-root .drum-note{width:var(--drum-card-w);margin-left:var(--drum-air);\\n  margin-top:calc(var(--drum-note-gap) - var(--drum-note-pull, var(--drum-bot)));min-height:var(--drum-note-h);\\n  font-weight:300;font-size:10.5px;line-height:13.5px;letter-spacing:.01em;\\n  text-transform:none;color:var(--dim2);opacity:0;transition:opacity .2s linear}\\n.mfa-root .drum-note[data-on=\"1\"]{opacity:1}\\n.mfa-root[data-mfa-note=\"foot\"] .drum-note{position:absolute;z-index:40;pointer-events:none;\\n  left:var(--drum-air);width:var(--drum-card-w);\\n  bottom:var(--drum-bot);margin:0;padding:30px 14px 12px;box-sizing:border-box;\\n  color:#b9c2ce;background:linear-gradient(0deg,rgba(7,8,12,.94),rgba(7,8,12,.72) 55%,rgba(7,8,12,0))}\\n.mfa-root[data-mfa-film=\"drum\"] .pcd{position:absolute;left:50%;\\n  top:calc(var(--drum-top) + var(--drum-card-h) / 2);\\n  height:var(--drum-card-h);width:var(--drum-card-w);\\n  margin-left:calc(var(--drum-card-w) / -2);margin-top:calc(var(--drum-card-h) / -2);\\n  will-change:transform;box-shadow:inset 0 0 0 1px rgba(160,200,220,.12)}\\n.mfa-root[data-mfa-film=\"drum\"] .pcd[data-on=\"1\"]{box-shadow:inset 0 0 0 1px var(--acc),0 22px 48px rgba(0,0,0,.6)}\\n.mfa-root[data-mfa-film=\"drum\"] .pcd{clip-path:none}\\n.mfa-root[data-mfa-film=\"drum\"] .pcd::after{content:none}\\n.mfa-root .pcd-scrim{position:absolute;inset:0;z-index:5;pointer-events:none;background:rgba(7,8,12,0)}\\n.mfa-root[data-mfa-film=\"drum\"] .drum-dial{position:relative;flex:none;width:var(--drum-dial-w);\\n  height:var(--drum-card-h);margin-top:var(--drum-top);overflow:hidden;\\n  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0,#000 18%,#000 82%,rgba(0,0,0,0) 100%);\\n  mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0,#000 18%,#000 82%,rgba(0,0,0,0) 100%)}\\n.mfa-root[data-mfa-film=\"drum\"] .drum-ticks{position:absolute;left:0;right:0;top:50%;\\n  will-change:transform}\\n.mfa-root[data-mfa-film=\"drum\"] .drum-idx{position:absolute;left:0;top:50%;z-index:2;\\n  width:26px;height:1px;margin-top:-0.5px;background:var(--acc);\\n  box-shadow:var(--glow-line);pointer-events:none}\\n.mfa-root .drum-tick{position:absolute;left:0;right:0;\\n  top:calc(var(--i, 0) * var(--drum-tick-h) - var(--drum-tick-h) / 2);\\n  display:flex;align-items:center;gap:8px;justify-content:flex-start;\\n  background:none;border:0;padding:0;cursor:pointer;\\n  height:var(--drum-tick-h,calc(var(--drum-h) * 0.04857))}\\n.mfa-root .drum-tick .dt-l{display:block;height:1px;width:9px;background:rgba(160,200,220,.28);\\n  transition:width .2s cubic-bezier(.4,0,.2,1),background .2s linear,box-shadow .2s linear}\\n.mfa-root .drum-tick .dt-n{font-weight:400;font-size:9px;letter-spacing:.12em;color:rgba(160,200,220,.22);\\n  transition:color .2s linear}\\n.mfa-root .drum-tick[data-near=\"1\"] .dt-l{width:14px}\\n.mfa-root .drum-tick[data-on=\"1\"] .dt-l{width:22px;background:var(--acc);box-shadow:var(--glow-line)}\\n.mfa-root .drum-tick[data-on=\"1\"] .dt-n{color:var(--acc)}\\n@keyframes mfDbiRise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}\\n@keyframes mfDbiTick{from{opacity:0}to{opacity:1}}\\n.mfa-root[data-mfa-film=\"drum\"] .film-drum[data-mfa-dbi=\"rise\"] .drum-stage{\\n  animation:mfDbiRise 460ms cubic-bezier(.2,0,.2,1) both}\\n.mfa-root[data-mfa-film=\"drum\"] .film-drum[data-mfa-dbi=\"rise\"] .drum-tick{\\n  animation:mfDbiTick 240ms linear both;\\n  animation-delay:calc(var(--i, 0) * 34ms + 170ms)}\\n.mfa-root{--strip-h:186px;--strip-pad-b:17px}\\n@media (max-height:780px){.mfa-root{--strip-h:132px}}\\n.mfa-root[data-mfa-film=\"strip\"] .film-grid{grid-template-columns:minmax(0,1fr)}\\n.mfa-root[data-mfa-film=\"strip\"] .film-strip{position:relative;\\n  display:flex;gap:10px;align-items:flex-end;\\n  padding:0 0 var(--strip-pad-b);margin:0;border-bottom:1px solid rgba(160,200,220,.12)}\\n.mfa-root [data-mfa=\"register\"].reg-split{display:flex;flex-direction:column;align-items:stretch;\\n  overflow-y:hidden}\\n.mfa-root [data-mfa=\"register\"].reg-split .reg-head{flex:none}\\n.mfa-root [data-mfa=\"register\"].reg-split .film-grid{flex:1 1 auto;min-height:0}\\n.mfa-root[data-mfa-film=\"strip\"] [data-mfa=\"register\"].reg-split .film-grid{\\n  display:flex;flex-direction:column;align-items:stretch}\\n.mfa-root[data-mfa-film=\"strip\"] [data-mfa=\"register\"].reg-split .film-strip{flex:none}\\n.mfa-root[data-mfa-film=\"strip\"] [data-mfa=\"register\"].reg-split .film-cols{flex:1 1 auto;min-height:0;\\n  overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}\\n.mfa-root[data-mfa-film=\"drum\"] [data-mfa=\"register\"].reg-split .film-grid{\\n  display:grid;align-items:start}\\n.mfa-root[data-mfa-film=\"drum\"] [data-mfa=\"register\"].reg-split .film-cols{min-height:0;\\n  max-height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}\\n.mfa-root [data-mfa=\"register\"].reg-split .film-cols::-webkit-scrollbar{width:0;height:0}\\n.mfa-root[data-mfa-film=\"strip\"] .film-strip .pcs{position:relative;flex:none;\\n  height:var(--strip-h);width:calc(var(--strip-h) * 2 / 3);\\n  opacity:1;transition:opacity .25s linear,transform .25s cubic-bezier(.4,0,.2,1)}\\n.mfa-root[data-mfa-ps=\"dim\"][data-mfa-film=\"strip\"] .film-strip .pcs[data-on=\"0\"]{opacity:.5}\\n.mfa-root[data-mfa-film=\"strip\"] .film-strip .pcs[data-on=\"1\"]{opacity:1}\\n.mfa-root[data-mfa-film=\"strip\"] .film-strip .pcs::after{background:rgba(0,213,240,.10)}\\n.mfa-root[data-mfa-film=\"strip\"] .film-strip .pcs[data-on=\"1\"]::after{background:rgba(0,213,240,.55)}\\n.mfa-root[data-mfa-ps=\"dim\"][data-mfa-film=\"strip\"] .film-strip .pcs[data-on=\"1\"]::after{background:rgba(0,213,240,.30)}\\n.mfa-root[data-mfa-film=\"strip\"] .film-strip .pcs::before{content:\"\";position:absolute;\\n  left:0;right:0;bottom:0;height:3px;z-index:5;pointer-events:none;\\n  background:var(--acc);transform:scaleX(0);transform-origin:0 50%;\\n  transition:transform .22s cubic-bezier(.4,0,.2,1)}\\n.mfa-root[data-mfa-ps=\"rim\"][data-mfa-film=\"strip\"] .film-strip .pcs[data-on=\"1\"]::before{transform:scaleX(1)}\\n.mfa-root[data-mfa-ps=\"lift\"][data-mfa-film=\"strip\"] .film-strip .pcs[data-on=\"1\"]{transform:translateY(-6px)}\\n.mfa-root[data-mfa-fit=\"auto\"][data-mfa-film=\"strip\"] .film-strip .pcs{\\n  flex:1 1 0;min-width:0;width:auto;height:auto;\\n  max-width:calc(var(--strip-h) * 2 / 3);aspect-ratio:2 / 3}\\n.mfa-root[data-mfa-fit=\"bleed\"][data-mfa-film=\"strip\"] .film-strip{display:block}\\n.mfa-root[data-mfa-fit=\"bleed\"][data-mfa-film=\"strip\"] .film-track{position:relative;\\n  display:flex;gap:10px;align-items:flex-end;will-change:transform;\\n  transition:transform var(--bleed-ms,420ms) cubic-bezier(.4,0,.2,1)}\\n.mfa-root[data-mfa-ps=\"scale\"][data-mfa-film=\"strip\"] .film-strip .pcs{transform-origin:50% 50%}\\n.mfa-root[data-mfa-ps=\"scale\"][data-mfa-film=\"strip\"] .film-strip .pcs[data-on=\"1\"]{\\n  transform:scale(var(--ps-scale,1.08));z-index:2}\\n.mfa-root .film-mark{position:absolute;left:0;bottom:0;height:2px;width:0;z-index:6;\\n  pointer-events:none;background:var(--acc);box-shadow:0 0 8px rgba(0,213,240,.55);\\n  opacity:0;transform:translateX(0);\\n  transition:transform .28s cubic-bezier(.4,0,.2,1),width .28s cubic-bezier(.4,0,.2,1),opacity .18s linear}\\n.mfa-root .film-mark[data-on=\"1\"]{opacity:1}\\n.mfa-root[data-mfa-fit=\"bleed\"][data-mfa-film=\"strip\"] .film-track .film-mark{\\n  bottom:calc(-1 * var(--strip-pad-b))}\\n.mfa-root[data-mfa-film=\"strip\"] .film-strip .acap{display:none}\\n.mfa-root[data-mfa-film=\"strip\"] .film-cols{display:grid;\\n  grid-template-columns:repeat(3,minmax(0,1fr));gap:0 36px}\\n.mfa-root[data-mfa-film=\"strip\"] .film-row{grid-template-columns:32px minmax(0,1fr) max-content}\\n.mfa-root[data-mfa-film=\"strip\"] .film-sc{padding-left:44px}\\n.mfa-root .pc{position:relative;overflow:hidden;background:#0b0d13;\\n  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px))}\\n.mfa-root .pc::after{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:4;\\n  background:rgba(0,213,240,.18);\\n  clip-path:polygon(evenodd,\\n    0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px),0 0,\\n    1px 1px,calc(100% - 14.41px) 1px,calc(100% - 1px) 14.41px,\\n    calc(100% - 1px) calc(100% - 1px),14.41px calc(100% - 1px),1px calc(100% - 14.41px),1px 1px)}\\n.mfa-root .pcw{position:absolute;inset:0;opacity:0;transition:opacity .25s linear}\\n.mfa-root .pcw[data-on=\"1\"]{opacity:1}\\n.mfa-root .pc .art{z-index:3}\\n.mfa-root .ptx{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;padding:18px}\\n.mfa-root .ptx .pf{color:var(--dim);font-size:9.5px}\\n.mfa-root .ptx .py{position:absolute;right:16px;top:14px;font-family:var(--display);font-weight:400;font-size:34px;line-height:.9;\\n  color:var(--acc);text-shadow:var(--glow-digit)}\\n.mfa-root .ptx .pt{margin-top:auto;font-family:var(--display);font-weight:400;font-size:52px;line-height:.92;text-transform:uppercase;\\n  color:var(--ink);text-wrap:balance}\\n@media (max-height:780px){.mfa-root .ptx .pt{font-size:40px}}\\n.mfa-root .ptx .pd{margin-top:10px;color:var(--dim2);font-size:9.5px;line-height:1.3}\\n.mfa-root .acap{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:34px 16px 14px;color:var(--ink);\\n  background:linear-gradient(0deg,rgba(7,8,12,.92),transparent);line-height:1.35}\\n.mfa-root[data-mfa-e2=\"1\"] .quote{padding-left:90px;min-height:88px}\\n.mfa-root[data-mfa-e2=\"1\"] .quote .qn{display:none}\\n.mfa-root .rplate{position:absolute;left:0;top:0;width:72px;height:88px}\\n.mfa-root .rplate .rrim{position:absolute;inset:-1px;background:rgba(0,213,240,.45);\\n  clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px))}\\n.mfa-root .rplate .rface{position:absolute;inset:0;overflow:hidden;background:#0b0d13;\\n  clip-path:polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,11px 100%,0 calc(100% - 11px))}\\n.mfa-root .rplate .rnum{position:absolute;inset:0;z-index:1;display:grid;place-items:center;font-family:var(--display);font-weight:400;\\n  font-size:30px;line-height:.9;color:var(--acc);text-shadow:var(--glow-digit)}\\n.mfa-root .rplate .art{z-index:2}\\n.mfa-root .rplate.rlogo .rlogo-m{position:absolute;inset:0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;\\n  -webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:50% 0;mask-position:50% 0}\\n.mfa-root .tl-wrap{position:relative;padding-top:8px}\\n.mfa-root .tl-grid2{display:grid;grid-template-columns:minmax(0,1fr) 338px;gap:48px;align-items:start}\\n.mfa-root .tl{position:relative}\\n.mfa-root .tl-tick{position:absolute;top:18px;bottom:0;width:1px;background:rgba(0,213,240,.07)}\\n.mfa-root .tl-yr{position:absolute;top:0;transform:translateX(-50%);color:var(--acc-2);font-size:10px;letter-spacing:.1em}\\n.mfa-root .tl-now{position:absolute;top:0;bottom:0;width:1px;background:var(--acc);box-shadow:var(--glow-line);z-index:3;transform-origin:50% 0}\\n.mfa-root .tl-flag{position:absolute;top:-2px;transform:translateX(-50%);background:rgb(20,233,235);color:var(--ground);padding:3px 5px 2px;\\n  font-size:9px;z-index:4}\\n.mfa-root .ly{position:absolute;left:0;right:0;padding:0;text-align:left;color:inherit;cursor:pointer}\\n.mfa-root .ly:focus-visible{outline:1px solid var(--acc);outline-offset:2px}\\n.mfa-root .ly .tl-lbl{position:absolute;left:0;top:0;bottom:0;display:flex;align-items:center;color:var(--dim2);font-size:10px;\\n  letter-spacing:.14em;white-space:nowrap;transition:color .15s linear}\\n.mfa-root .ly .bar{position:absolute;top:0;bottom:0;background:rgba(0,213,240,.2);border-left:2px solid var(--acc);\\n  box-shadow:inset 0 1px 0 rgba(0,213,240,.35);transform-origin:0 50%;transition:background .15s linear}\\n.mfa-root .ly:hover .bar,.mfa-root .ly[data-on=\"1\"] .bar{background:rgba(20,233,235,.62)}\\n.mfa-root .ly:hover .tl-lbl,.mfa-root .ly[data-on=\"1\"] .tl-lbl{color:var(--ink)}\\n.mfa-root .tl-det .tl-imgbox{position:relative;height:232px;background:#0b0d13;\\n  clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px))}\\n@media (max-height:780px){.mfa-root .tl-det .tl-imgbox{height:190px}}\\n.mfa-root .tl-det .wp{position:absolute;inset:0;opacity:0;overflow:hidden;transition:opacity .25s linear}\\n.mfa-root .tl-det .wp[data-on=\"1\"]{opacity:1}\\n.mfa-root .tl-det .wpn{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;font-family:var(--display);font-weight:400;font-size:56px;\\n  line-height:.9;text-transform:uppercase;color:var(--ink);text-wrap:balance}\\n.mfa-root .tl-det .art{z-index:3}\\n.mfa-root .tl-n{margin-top:22px;font-family:var(--display);font-weight:400;font-size:44px;line-height:.9;text-transform:uppercase;\\n  color:var(--ink);text-shadow:var(--glow-head)}\\n.mfa-root .tl-r{margin-top:12px;color:var(--dim);line-height:1.4}\\n.mfa-root .tl-y{margin-top:8px;color:var(--yr-color)}\\n.mfa-root .tl-b{margin:16px 0 0;font-family:var(--ui);font-weight:300;font-size:14px;line-height:1.6;color:#b9c2ce}\\n.mfa-root .tl-replay{position:absolute;right:0;top:-66px;display:flex;align-items:center;gap:10px;color:var(--acc);padding:8px 12px;\\n  box-shadow:inset 0 0 0 1px rgba(0,213,240,.3);cursor:pointer;font-weight:300}\\n.mfa-root .tl-replay:hover{background:rgb(20,233,235);color:var(--ground)}\\n.mfa-root .tl-wrap[data-mfa-tl=\"0\"] .tl-tick,.mfa-root .tl-wrap[data-mfa-tl=\"0\"] .tl-yr,.mfa-root .tl-wrap[data-mfa-tl=\"0\"] .tl-flag,.mfa-root .tl-wrap[data-mfa-tl=\"0\"] .tl-det,.mfa-root .tl-wrap[data-mfa-tl=\"0\"] .tl-replay{opacity:0}\\n.mfa-root .tl-wrap[data-mfa-tl=\"0\"] .tl-lbl{clip-path:inset(0 100% 0 0)}\\n.mfa-root .tl-wrap[data-mfa-tl=\"0\"] .bar{transform:scaleX(0)}\\n.mfa-root .tl-wrap[data-mfa-tl=\"0\"] .tl-now{transform:scaleY(0)}\\n.mfa-root .tl-wrap[data-mfa-tl=\"1\"] .tl-tick,.mfa-root .tl-wrap[data-mfa-tl=\"1\"] .tl-yr,.mfa-root .tl-wrap[data-mfa-tl=\"1\"] .tl-flag{animation:mf-fadein .3s linear both}\\n.mfa-root .tl-wrap[data-mfa-tl=\"1\"] .tl-lbl{animation:mf-typein2 .35s cubic-bezier(.2,0,.2,1) both}\\n.mfa-root .tl-wrap[data-mfa-tl=\"1\"] .bar{animation:mf-barx .8s cubic-bezier(.7,0,.3,1) both}\\n.mfa-root .tl-wrap[data-mfa-tl=\"1\"] .tl-now{animation:mf-drop .5s cubic-bezier(.7,0,.3,1) both}\\n.mfa-root .tl-wrap[data-mfa-tl=\"1\"] .tl-det,.mfa-root .tl-wrap[data-mfa-tl=\"1\"] .tl-replay{animation:mf-boot .5s cubic-bezier(.2,0,.2,1) both}\\n@keyframes mf-fadein{from{opacity:0}to{opacity:1}}\\n@keyframes mf-typein2{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 -2px 0 0)}}\\n@keyframes mf-barx{from{transform:scaleX(0)}to{transform:scaleX(1)}}\\n@keyframes mf-drop{from{transform:scaleY(0)}to{transform:scaleY(1)}}\\n@keyframes mf-boot{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}\\n.mfa-root[data-mfa-engread=\"1\"] .ly .tl-lbl{color:var(--dim);letter-spacing:.08em}\\n.mfa-root[data-mfa-engread=\"1\"] .ly:hover .tl-lbl,.mfa-root[data-mfa-engread=\"1\"] .ly[data-on=\"1\"] .tl-lbl{color:var(--ink)}\\n.mfa-root[data-mfa-engread=\"1\"] .tl-r{font-size:10.5px;letter-spacing:.06em;font-weight:400;line-height:13.3px;color:var(--dim)}\\n.mfa-root[data-mfa-engread=\"1\"] .tl-r b{font-weight:400;color:var(--ink)}\\n.mfa-root[data-mfa-engread=\"1\"] .tl-y{font-size:10.5px;letter-spacing:.06em;font-weight:400;line-height:9.5px;color:var(--dim)}\\n.mfa-root[data-mfa-engread=\"1\"] .tl-y b{font-weight:400;color:var(--ink)}\\n.mfa-root[data-mfa-engread=\"1\"] .tl-tick{background:rgba(0,213,240,.12)}\\n.mfa-root[data-mfa-engread=\"1\"] .tl-yr[data-origin=\"1\"]{color:var(--dim)}\\n.mfa-root[data-mfa-engread=\"1\"] .ly .bar[data-now=\"1\"]::after{content:\"\";position:absolute;right:0;top:11px;width:2px;height:8px;background:var(--ink)}\\n.mfa-root[data-mfa-engread=\"1\"] .tl-replay{color:var(--dim);box-shadow:inset 0 0 0 1px rgba(0,213,240,.12)}\\n.mfa-root[data-mfa-engread=\"1\"] .tl-replay:hover,.mfa-root[data-mfa-engread=\"1\"] .tl-replay:focus-visible{background:none;color:var(--acc);box-shadow:inset 0 0 0 1px rgba(0,213,240,.3)}\\n.mfa-root[data-mfa-engfx~=\"mask\"] .tl-wrap[data-mfa-tl=\"0\"] .bar{transform:none;clip-path:inset(0 100% 0 0)}\\n.mfa-root[data-mfa-engfx~=\"mask\"] .tl-wrap[data-mfa-tl=\"0\"] .tl-tick,.mfa-root[data-mfa-engfx~=\"mask\"] .tl-wrap[data-mfa-tl=\"0\"] .tl-yr{opacity:1;clip-path:inset(0 100% 0 0)}\\n.mfa-root[data-mfa-engfx~=\"mask\"] .tl-wrap[data-mfa-tl=\"0\"] .tl-now{transform:none;opacity:0}\\n.mfa-root[data-mfa-engfx~=\"mask\"] .tl-wrap[data-mfa-tl=\"1\"] .tl-tick,.mfa-root[data-mfa-engfx~=\"mask\"] .tl-wrap[data-mfa-tl=\"1\"] .tl-yr,.mfa-root[data-mfa-engfx~=\"mask\"] .tl-wrap[data-mfa-tl=\"1\"] .bar,.mfa-root[data-mfa-engfx~=\"mask\"] .tl-wrap[data-mfa-tl=\"1\"] .tl-now,.mfa-root[data-mfa-engfx~=\"mask\"] .tl-wrap[data-mfa-tl=\"1\"] .tl-flag{animation:none}\\n.mfa-root[data-mfa-engfx~=\"mask\"] .tl-wrap[data-mfa-tl=\"1\"] .tl-flag{opacity:0}\\n.mfa-root[data-mfa-engfx~=\"mask\"] .tl-wrap[data-mfa-tl=\"0\"] .tl-lbl{clip-path:none;opacity:0}\\n.mfa-root[data-mfa-engfx~=\"mask\"] .tl-wrap[data-mfa-tl=\"0\"] .tl-det{opacity:1}\\n.mfa-root[data-mfa-engfx~=\"mask\"] .tl-wrap[data-mfa-tl=\"0\"] .tl-det .tl-imgbox,.mfa-root[data-mfa-engfx~=\"mask\"] .tl-wrap[data-mfa-tl=\"0\"] .tl-det .tl-n,.mfa-root[data-mfa-engfx~=\"mask\"] .tl-wrap[data-mfa-tl=\"0\"] .tl-det .tl-r,.mfa-root[data-mfa-engfx~=\"mask\"] .tl-wrap[data-mfa-tl=\"0\"] .tl-det .tl-y,.mfa-root[data-mfa-engfx~=\"mask\"] .tl-wrap[data-mfa-tl=\"0\"] .tl-det .tl-b{opacity:0}\\n.mfa-root[data-mfa-engfx~=\"mask\"] .tl-wrap[data-mfa-tl=\"1\"] .tl-lbl,.mfa-root[data-mfa-engfx~=\"mask\"] .tl-wrap[data-mfa-tl=\"1\"] .tl-det,.mfa-root[data-mfa-engfx~=\"mask\"] .tl-wrap[data-mfa-tl=\"1\"] .tl-replay{animation:none}\\n.mfa-root[data-mfa-engfx~=\"particle\"] .tl-det .tl-pcv{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:5}\\n.mfa-root[data-mfa-engfx~=\"particle\"][data-mfa-logos=\"1\"] .tl-det .wp{transition:none}\\n.mfa-root[data-mfa-engfx~=\"particle\"] .tl-det .wp .pglitch{position:absolute;left:var(--eng-logo-inset);top:var(--eng-logo-inset);\\n  width:calc(100% - 2 * var(--eng-logo-inset));height:calc(100% - 2 * var(--eng-logo-inset));z-index:3;pointer-events:none;display:none}\\n.mfa-root[data-mfa-engfx~=\"particle\"] .tl-det .wp .pglitch[data-on=\"1\"]{display:block}\\n.mfa-root[data-mfa-engfx~=\"particle\"] .tl-det .wp .pg-slice{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%;display:none}\\n.mfa-root[data-mfa-engfx~=\"particle\"] .tl-det .wp .pg-fringe{position:absolute;inset:0;display:none;background:var(--fringe);opacity:.7;\\n  -webkit-mask-image:var(--holo-src);mask-image:var(--holo-src);-webkit-mask-size:contain;mask-size:contain;\\n  -webkit-mask-position:50% 50%;mask-position:50% 50%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}\\n.mfa-root[data-mfa-engfx~=\"particle\"][data-mfa-engsq=\"0\"] .tl-det .wp:has(.eng-mark) .pg-fringe{-webkit-mask-image:var(--holo-mark-src);mask-image:var(--holo-mark-src)}\\n.mfa-root[data-mfa-engfx~=\"particle\"] .tl-det .wp .pg-slice[data-on=\"1\"],.mfa-root[data-mfa-engfx~=\"particle\"] .tl-det .wp .pg-fringe[data-on=\"1\"]{display:block}\\n.mfa-root[data-mfa-engfx~=\"holo\"] .tl-det .wp .holo,.mfa-root[data-mfa-engfx~=\"holo\"] .tl-det .wp .holo-ghost{position:absolute;left:var(--eng-logo-inset);top:var(--eng-logo-inset);\\n  width:calc(100% - 2 * var(--eng-logo-inset));height:calc(100% - 2 * var(--eng-logo-inset));pointer-events:none}\\n.mfa-root[data-mfa-engfx~=\"holo\"] .tl-det .wp .holo{z-index:4}\\n.mfa-root[data-mfa-engfx~=\"holo\"] .tl-det .wp .holo > span{position:absolute;inset:0}\\n.mfa-root[data-mfa-engfx~=\"holo\"] .tl-det .wp .holo > span,.mfa-root[data-mfa-engfx~=\"holo\"] .tl-det .wp .holo-ghost{\\n  -webkit-mask-image:var(--holo-src);mask-image:var(--holo-src);\\n  -webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:50% 50%;mask-position:50% 50%;\\n  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}\\n.mfa-root[data-mfa-engfx~=\"holo\"][data-mfa-engsq=\"0\"] .tl-det .wp:has(.eng-mark) .holo > span,.mfa-root[data-mfa-engfx~=\"holo\"][data-mfa-engsq=\"0\"] .tl-det .wp:has(.eng-mark) .holo-ghost{-webkit-mask-image:var(--holo-mark-src);mask-image:var(--holo-mark-src)}\\n.mfa-root[data-mfa-engfx~=\"holo\"] .tl-det .wp .holo-ghost{z-index:2;background:rgba(200,240,255,.6);opacity:0;transition:opacity .18s linear}\\n.mfa-root[data-mfa-engfx~=\"holo\"] .tl-det .wp .holo-scan{z-index:4;background:repeating-linear-gradient(0deg,rgba(0,0,0,.06) 0 1px,transparent 1px 4px)}\\n.mfa-root[data-mfa-engfx~=\"holo\"] .tl-det .wp .holo-sheen{z-index:4;overflow:hidden}\\n.mfa-root[data-mfa-engfx~=\"holo\"] .tl-det .wp .holo-strip{position:absolute;top:-30%;bottom:-30%;left:-60%;width:60%;transform:skewX(-20deg);\\n  background:linear-gradient(90deg,rgba(0,213,240,0) 0%,rgba(222,250,255,.32) 45%,rgba(150,205,255,.16) 62%,rgba(0,213,240,0) 100%)}\\n.mfa-root[data-mfa-engfx~=\"holo\"] .tl-det .wp .holo-plinth{position:absolute;left:50%;bottom:12px;width:100px;height:10px;margin:0 0 -5px -50px;\\n  z-index:4;pointer-events:none;opacity:0;transition:opacity .18s linear;\\n  background:radial-gradient(ellipse 50px 1px at 50% 50%,rgba(0,213,240,.9),transparent 70%),\\n    radial-gradient(ellipse 50px 5px at 50% 50%,rgba(0,213,240,.22),transparent 70%)}\\n.mfa-root[data-mfa-engfx~=\"holo\"] .tl-imgbox[data-holo-on=\"1\"] .holo-plinth{opacity:.5;transition-duration:.16s}\\n.mfa-root[data-mfa-engfx~=\"holo\"] .tl-imgbox[data-holo-on=\"1\"] .holo-ghost{opacity:1;transition-duration:.16s}\\n.mfa-root[data-mfa-engfx~=\"reg\"] .ly .bar .reg{position:absolute;top:0;bottom:0;width:6px;opacity:0;pointer-events:none;\\n  background-image:linear-gradient(var(--ink),var(--ink)),linear-gradient(var(--ink),var(--ink)),linear-gradient(var(--ink),var(--ink)),linear-gradient(var(--ink),var(--ink));\\n  background-repeat:no-repeat;background-size:5px 1px,5px 1px,1px 6px,1px 6px}\\n.mfa-root[data-mfa-engfx~=\"reg\"] .ly .bar .reg-l{left:-2px;background-position:0 0,0 100%,0 0,0 100%}\\n.mfa-root[data-mfa-engfx~=\"reg\"] .ly .bar .reg-r{right:0;background-position:100% 0,100% 100%,100% 0,100% 100%}\\n.mfa-root[data-mfa-engfx~=\"nofill\"] .ly:hover .bar,.mfa-root[data-mfa-engfx~=\"nofill\"] .ly[data-on=\"1\"] .bar{background:rgba(0,213,240,.2)}\\n.mfa-root[data-mfa-engfx~=\"shutter\"][data-mfa-logos=\"1\"] .tl-det .wp{transition:none}\\n.mfa-root[data-mfa-engfx~=\"link\"] .tl-link{position:absolute;top:0;left:0;width:48px;height:100%;overflow:visible;pointer-events:none;opacity:0;z-index:5}\\n.mfa-root[data-mfa-engfx~=\"link\"] .tl-link path{fill:none;stroke-width:1;stroke-linecap:butt}\\n.mfa-root[data-mfa-engfx~=\"link\"] .tl-link .tl-link-w{stroke:rgba(0,213,240,.2)}\\n.mfa-root[data-mfa-engfx~=\"link\"] .tl-link .tl-link-p{stroke:var(--acc);stroke-opacity:.9}\\n.mfa-root[data-mfa-engfx~=\"clock\"] .tl-clock{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none}\\n.mfa-root[data-mfa-engfx~=\"clock\"] .tl-clock path{fill:none;stroke:var(--acc);stroke-opacity:.8;stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;opacity:0}\\n@media (prefers-reduced-motion:reduce){\\n  .mfa-root[data-mfa-engfx~=\"holo\"] .tl-det .wp .holo-sheen,.mfa-root[data-mfa-engfx~=\"holo\"] .tl-det .wp .holo-ghost,.mfa-root[data-mfa-engfx~=\"holo\"] .tl-det .wp .holo-scan{display:none}\\n  .mfa-root[data-mfa-engfx~=\"holo\"] .tl-det .wp .holo-plinth{opacity:.25;transition:none}\\n}\\n.mfa-root[data-mfa-engfx~=\"proj\"] .tl-det .tl-proj{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:6}\\n.mfa-root[data-mfa-engfx~=\"proj\"] .tl-det .wp[data-logo=\"1\"] .eng-logo{visibility:hidden}\\n.mfa-root[data-mfa-engfx~=\"proj\"] .tl-det .wp .holo,.mfa-root[data-mfa-engfx~=\"proj\"] .tl-det .wp .holo-ghost,.mfa-root[data-mfa-engfx~=\"proj\"] .tl-det .wp .holo-plinth,.mfa-root[data-mfa-engfx~=\"proj\"] .tl-det .wp .pglitch,.mfa-root[data-mfa-engfx~=\"proj\"] .tl-det .tl-pcv{display:none}\\n.mfa-root{--org:\"Pawl Stretch\",\"Pawl Square\",sans-serif}\\n.mfa-root{--logo-slot:28px;--logo-gap:16px;--logo-line:15.6px;--logo-dy:0px;\\n  --eng-logo-inset:36px;--wall-logo-inset:12px;\\n  --wall-logo-top:32px}\\n@media (max-height:780px){.mfa-root{--wall-logo-top:28px}}\\n.mfa-root .logo-img{display:block;width:100%;height:100%;object-fit:contain;object-position:50% 50%}\\n.mfa-root .logo-slot{position:relative;display:block;width:var(--logo-slot);height:var(--logo-slot);pointer-events:none}\\n.mfa-root .art.fit{object-fit:contain;background:#0b0d13}\\n.mfa-root .tl-det .wp .eng-logo{position:absolute;left:var(--eng-logo-inset);top:var(--eng-logo-inset);\\n  width:calc(100% - 2 * var(--eng-logo-inset));height:calc(100% - 2 * var(--eng-logo-inset));z-index:3}\\n.mfa-root[data-mfa-logos=\"1\"] .tl-det .tl-imgbox{background:transparent;clip-path:none}\\n.mfa-root .tl-det .wp .eng-logo.eng-mark{display:none}\\n.mfa-root[data-mfa-engsq=\"0\"] .tl-det .wp .eng-logo.eng-mark{display:block}\\n.mfa-root[data-mfa-engsq=\"0\"] .tl-det .wp:has(.eng-mark) .eng-logo:not(.eng-mark){display:none}\\n.mfa-root .tl-det .wp[data-logo=\"1\"] .typo,.mfa-root .tl-det .wp[data-logo=\"1\"] .wpn{display:none}\\n.mfa-root[data-mfa-logos=\"1\"] .brand-cell{display:flex;flex-direction:column;align-items:stretch}\\n.mfa-root[data-mfa-logos=\"1\"] .brand-cell .bl{display:block;white-space:nowrap;position:relative;z-index:1;\\n  font-size:9.5px;line-height:1.4}\\n.mfa-root[data-mfa-logos=\"1\"] .brand-cell .bn{display:inline;margin:0 0 0 10px;font-family:var(--ui);\\n  font-weight:400;font-size:9.5px;line-height:1.4;letter-spacing:.18em;color:var(--ink);\\n  vertical-align:baseline}\\n.mfa-root .brand-cell .logo-box{position:absolute;left:var(--wall-logo-inset);right:var(--wall-logo-inset);\\n  top:var(--wall-logo-top);bottom:var(--wall-logo-inset);z-index:1;pointer-events:none}\\n.mfa-root .brand-cell.is-sub{grid-column:span 3}\\n.mfa-root[data-mfa-kb=\"1\"] .headline .caret{width:5px;top:7%;height:82%;background:#d4f5fb;box-shadow:0 0 2px rgba(212,245,251,.8),0 0 14px rgba(0,213,240,.55)}\\n.mfa-root[data-mfa-kb=\"1\"] [data-mfa-e2boot=\"1\"] .headline{clip-path:inset(-20px 100% -20px -20px);animation:kb-type-clip var(--kb-hd,1960ms) steps(1,end) .15s both}\\n.mfa-root[data-mfa-kb=\"1\"] [data-mfa-e2boot=\"1\"] .headline .caret{animation:kb-type-caret var(--kb-hd,1960ms) steps(1,end) .15s both,kb-blink 1620ms steps(1) var(--kb-bl,2110ms) both}\\n.mfa-root[data-mfa-kb=\"1\"] [data-mfa-e2boot=\"1\"] .lede{clip-path:inset(-14px -20px 100% -6px);animation:kb-lines calc(var(--kb-n,5) * 200ms) steps(var(--kb-n,5),jump-start) 2325ms forwards}\\n.mfa-root[data-mfa-kb=\"1\"] [data-mfa-e2boot=\"1\"] .lede-scan{display:none}\\n.mfa-root[data-mfa-kb=\"1\"] .kb-line .kb-bar{position:absolute;left:0;top:0;height:100%;width:0;opacity:0}\\n.mfa-root[data-mfa-kb=\"1\"] .kb-line .kb-halo{position:absolute;left:0;right:0;top:-95%;bottom:-150%;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 30%,#000 42%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 30%,#000 42%,transparent 100%)}\\n.mfa-root[data-mfa-kb=\"1\"] .kb-line .kb-core{position:absolute;inset:0}\\n.mfa-root[data-mfa-kb=\"1\"] .kb-line .kb-lead{position:absolute;left:90%;width:10%;top:0;height:100%;opacity:0;background:radial-gradient(ellipse 60% 90% at 70% 50%,rgba(150,215,245,.34),rgba(120,200,240,.14) 55%,rgba(120,200,240,0) 100%)}\\n@keyframes kb-blink{0%{opacity:1}17%{opacity:0}33%{opacity:1}50%{opacity:0}67%{opacity:1}83%{opacity:0}100%{opacity:0}}\\n@keyframes kb-lines{from{clip-path:inset(-14px -20px 100% -6px)}to{clip-path:inset(-14px -20px 0 -6px)}}\\n@keyframes mf-lead{0%{opacity:1}}\\n@keyframes mf-bp-e{0%{opacity:0}25%{left:52%;width:calc(48% + var(--kb-fe,70px));opacity:1}50%{left:0%;width:calc(100% + var(--kb-fe,70px));opacity:1}75%{left:0%;width:40%;opacity:1}}\\n@keyframes mf-bc-e{25%{background-image:linear-gradient(90deg,rgba(230,249,253,0) 0%,rgba(230,249,253,0.55) 3%,rgb(230,249,253) 6%,rgb(230,249,253) calc(100% - 90px),rgba(230,249,253,0.8) calc(100% - 65px),rgba(230,249,253,0.45) calc(100% - 39px),rgba(230,249,253,0.15) calc(100% - 14px),rgba(230,249,253,0) 100%)}50%{background-image:linear-gradient(90deg,rgb(230,249,253) 0%,rgb(230,249,253) calc(100% - 100px),rgba(230,249,253,0.84) calc(100% - 70px),rgba(230,249,253,0.5) calc(100% - 42px),rgba(230,249,253,0.18) calc(100% - 18px),rgba(230,249,253,0) 100%)}75%{background-image:linear-gradient(90deg,rgb(230,249,253) 0%,rgb(230,249,253) calc(100% - 60px),rgba(230,249,253,0.75) calc(100% - 40px),rgba(230,249,253,0.35) calc(100% - 20px),rgba(230,249,253,0) 100%)}}\\n@keyframes mf-bh-e{25%{background-image:linear-gradient(90deg,rgba(150,228,246,0.00) 0%,rgba(150,228,246,0.33) 3%,rgba(150,228,246,0.6) 6%,rgba(150,228,246,0.6) calc(100% - 90px),rgba(150,228,246,0.48) calc(100% - 65px),rgba(150,228,246,0.27) calc(100% - 39px),rgba(150,228,246,0.09) calc(100% - 14px),rgba(150,228,246,0.00) 100%)}50%{background-image:linear-gradient(90deg,rgba(150,228,246,0.6) 0%,rgba(150,228,246,0.6) calc(100% - 100px),rgba(150,228,246,0.50) calc(100% - 70px),rgba(150,228,246,0.30) calc(100% - 42px),rgba(150,228,246,0.11) calc(100% - 18px),rgba(150,228,246,0.00) 100%)}75%{background-image:linear-gradient(90deg,rgba(150,228,246,0.6) 0%,rgba(150,228,246,0.6) calc(100% - 60px),rgba(150,228,246,0.45) calc(100% - 40px),rgba(150,228,246,0.21) calc(100% - 20px),rgba(150,228,246,0.00) 100%)}}\\n.mfa-root[data-mfa-reel~=\"ground\"]{\\n  --ground:#050a0b;\\n  --dim:#9cc2c7;\\n  --dim2:#79acb3;\\n  --rim:rgba(73,131,139,.30);\\n  --hair:rgba(73,131,139,.18);\\n  --loc-color:#6eb6c4;\\n  --yr-color:#6eb6c4;\\n  --amb-img:radial-gradient(ellipse 125% 115% at 50% 46%,transparent 50%,rgba(0,0,0,.70) 100%),\\n    radial-gradient(ellipse 62% 60% at 34% 42%,rgba(28,54,58,1),rgba(28,54,58,.55) 50%,transparent 84%),\\n    radial-gradient(ellipse 90% 60% at 22% 34%,rgba(0,213,240,.05),transparent 62%);\\n}\\n.mfa-root[data-mfa-reel~=\"ground\"] .lede{color:#cadadc}\\n.mfa-root[data-mfa-reel~=\"ground\"] [data-mfa=\"profile\"] .prof-body p{color:#bfd3d7}\\n.mfa-root[data-mfa-reel~=\"ground\"] #pitch[data-plate=\"hold\"],.mfa-root[data-mfa-reel~=\"ground\"] .reg-screen[data-plate=\"hold\"]{\\n  background-size:100% 100%,88px 88px,88px 88px,100% 100%,100% 100%,100% 100%}\\n.mfa-root[data-mfa-reel~=\"tube\"] .amb::before{content:\"\";position:absolute;inset:0;pointer-events:none;\\n  background-image:radial-gradient(ellipse 80% 42% at 50% 108%,rgba(200,222,84,.20),rgba(200,222,84,.07) 45%,transparent 75%)}\\n.mfa-root[data-mfa-reel~=\"tube\"] .amb::after{content:\"\";position:absolute;inset:0;pointer-events:none;\\n  background-image:linear-gradient(rgba(200,222,84,.16) 1px,transparent 1px),\\n    linear-gradient(90deg,rgba(200,222,84,.12) 1px,transparent 1px),\\n    linear-gradient(rgba(73,131,139,.24) 1px,transparent 1px),\\n    linear-gradient(90deg,rgba(73,131,139,.18) 1px,transparent 1px);\\n  background-size:352px 352px,352px 352px,88px 88px,88px 88px;\\n  -webkit-mask-image:radial-gradient(ellipse 90% 85% at 45% 50%,#000 40%,transparent 100%);\\n  mask-image:radial-gradient(ellipse 90% 85% at 45% 50%,#000 40%,transparent 100%)}\\n.mfa-root[data-mfa-reel~=\"phos\"]{\\n  --ink:#d4f5fb;\\n  --glow-digit:0 0 2px rgba(212,245,251,.7),0 0 18px rgba(0,213,240,.45);\\n  --glow-line:0 0 10px rgba(0,213,240,.7);\\n  --glow-head:-2px 0 0 rgba(255,40,90,.40),2px 0 0 rgba(0,213,240,.50),0 0 3px rgba(212,245,251,.7),0 0 30px rgba(0,213,240,.55),0 0 60px rgba(0,213,240,.22);\\n}\\n.mfa-root[data-mfa-reel~=\"phos\"] #opening{position:relative}\\n.mfa-root[data-mfa-reel~=\"phos\"] .lede{color:#e2eef0}\\n.mfa-root[data-mfa-reel~=\"phos\"] #opening::before{content:\"\";position:absolute;left:-80px;right:-40px;top:-70px;bottom:-50px;z-index:-1;pointer-events:none;\\n  background:radial-gradient(ellipse 60% 55% at 40% 42%,rgba(84,140,255,.40),rgba(47,100,210,.24) 50%,transparent 78%)}\\n.mfa-root[data-mfa-reel~=\"phos\"] .reg-head{position:relative;z-index:0}\\n.mfa-root[data-mfa-reel~=\"phos\"] .reg-head::before{content:\"\";position:absolute;left:-60px;top:-50px;width:760px;bottom:-40px;z-index:-1;pointer-events:none;\\n  background:radial-gradient(ellipse 55% 60% at 38% 45%,rgba(84,140,255,.36),rgba(47,100,210,.20) 50%,transparent 78%)}\\n.mfa-root[data-mfa-reel~=\"phos\"] .who h1,.mfa-root[data-mfa-reel~=\"phos\"] .headline{color:#e6fbff;\\n  text-shadow:-2px 0 0 rgba(255,40,90,.40),2px 0 0 rgba(0,213,240,.50),0 0 3px rgba(212,245,251,.7),0 0 30px rgba(0,213,240,.45),0 0 60px rgba(0,213,240,.18)}\\n.mfa-root[data-mfa-reel~=\"chrome\"] .reel-frame{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:11;overflow:visible}\\n.mfa-root[data-mfa-reel~=\"chrome\"] .reel-frame path{fill:none;stroke-linejoin:miter}\\n.mfa-root[data-mfa-reel~=\"chrome\"] .reel-frame .rf-glow{stroke:rgba(95,182,196,.22);stroke-width:10}\\n.mfa-root[data-mfa-reel~=\"chrome\"] .reel-frame .rf-line{stroke:#5fb6c4;stroke-opacity:1;stroke-width:2}\\n.mfa-root[data-mfa-reel~=\"kata\"] .reel-kata{position:absolute;z-index:11;pointer-events:none;white-space:nowrap;\\n  font-family:\"Hiragino Kaku Gothic ProN\",\"Hiragino Sans\",\"Yu Gothic\",\"Noto Sans JP\",sans-serif;\\n  font-size:11px;line-height:13px;letter-spacing:.12em;color:#79acb3}\\n.mfa-root[data-mfa-reel~=\"kata\"] #panel:not([data-mfa-open=\"0\"]) .reel-kata[data-corner^=\"t\"]{visibility:hidden}\\n.mfa-root[data-mfa-reel~=\"cursor\"] .headline .caret{width:.4em;top:9%;height:76%;background:#d4f5fb;\\n  box-shadow:0 0 2px rgba(212,245,251,.8),0 0 14px rgba(0,213,240,.55)}\\n.mfa-root[data-mfa-reel~=\"cursor\"] [data-mfa-e2boot=\"1\"] .headline .caret{\\n  animation:mf-caret .7s steps(28) .15s both,reel-blink .7s steps(1) .85s both}\\n.mfa-root[data-mfa-reel~=\"term\"] [data-mfa-e2boot=\"1\"] .headline{animation:mf-typein 1.3s steps(28) .15s both}\\n.mfa-root[data-mfa-reel~=\"term\"] [data-mfa-e2boot=\"1\"] .headline .caret{\\n  animation:mf-caret 1.3s steps(28) .15s both,reel-blink 1.1s steps(1) 1.45s both}\\n.mfa-root[data-mfa-reel~=\"term\"] [data-mfa-e2boot=\"1\"] .lede{animation:reel-lines .9s steps(var(--reel-lines,5),jump-start) 1.6s both}\\n.mfa-root[data-mfa-reel~=\"term\"] [data-mfa-e2boot=\"1\"] .lede-scan{display:none}\\n.mfa-root[data-mfa-reel~=\"alarm\"]{--yr-color:#e39a62;--loc-color:#e39a62}\\n.mfa-root[data-mfa-reel~=\"alarm\"] .disc-line .sep{color:#e39a62}\\n.mfa-root[data-mfa-reel~=\"alarm\"] .chrome button{text-shadow:0 0 2px #050a0b,0 0 6px #050a0b,0 0 12px rgba(5,10,11,.9)}\\n.mfa-root[data-mfa-reel~=\"alarm\"] .reel-alarm{position:absolute;inset:0;z-index:0;pointer-events:none;\\n  background:radial-gradient(ellipse 30% 42% at 102% -2%,rgba(255,150,70,.55),rgba(240,140,70,.22) 45%,transparent 80%),\\n    radial-gradient(ellipse 58% 72% at 104% -4%,rgba(227,154,98,.14),transparent 74%),\\n    radial-gradient(ellipse 40% 30% at 100% 100%,rgba(227,154,98,.08),transparent 70%);\\n  animation:reel-alarm 4.8s ease-in-out infinite}\\n.mfa-root[data-mfa-reel~=\"alarm\"] .reel-pwr[data-on=\"1\"]{animation:reel-pwr .52s linear both}\\n@media (prefers-reduced-motion:reduce){\\n  .mfa-root[data-mfa-reel~=\"alarm\"] .reel-pwr{display:none}\\n  .mfa-root[data-mfa-reel~=\"alarm\"] .reel-alarm{animation:none}\\n}\\n@keyframes reel-blink{0%{opacity:1}17%{opacity:0}33%{opacity:1}50%{opacity:0}67%{opacity:1}83%{opacity:0}100%{opacity:0}}\\n@keyframes reel-lines{from{clip-path:inset(-14px -20px 100% -6px)}to{clip-path:inset(-14px -20px 0 -6px)}}\\n@keyframes reel-alarm{0%,100%{opacity:1}50%{opacity:.62}}\\n@keyframes reel-pwr{0%{opacity:0}6%{opacity:1}22%{opacity:.85}100%{opacity:0}}\\n@media print{\\n  .mfa-root .ov-tag,.mfa-root .fit-tag,.mfa-root .chrome{display:none!important}\\n}\\n.mfa-root{--crim:#ff3b4a}\\n.mfa-root .word .ico::after{background:var(--crim)}\\n.mfa-root .navr a[aria-current=\"true\"]::after{height:2px;background:var(--crim)}\\n.mfa-root[data-mfa-back=\"path\"] #navAbout:hover::after{box-shadow:none}\\n.mfa-root .plate .rim{background:var(--crim);filter:none;z-index:1;\\n  clip-path:polygon(evenodd,0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px),0 0,\\n    1.5px 1.5px,calc(100% - 18.62px) 1.5px,calc(100% - 1.5px) 18.62px,calc(100% - 1.5px) calc(100% - 1.5px),\\n    18.62px calc(100% - 1.5px),1.5px calc(100% - 18.62px),1.5px 1.5px)}\\n.mfa-root .disc-line span:not(.sep){background:var(--crim);color:var(--ground);padding:2px 5px 1px}\\n.mfa-root .loc .sl{color:var(--crim)}\\n.mfa-root [data-mfa=\"profile\"] .prof-head{border-top:2px solid var(--crim)}\\n.mfa-root [data-mfa=\"profile\"] .prof-head .t{display:inline-block;background:var(--crim);color:var(--ground);padding:2px 6px 1px}\\n.mfa-root [data-mfa=\"stack-bar\"] .mf-bar-edge,.mfa-root \\n[data-mfa=\"stack-bar\"] .mf-bar-edge-top{background:var(--crim);opacity:1}\\n.mfa-root .well-edge{background:var(--crim);opacity:.5}\\n.mfa-root [data-mfa=\"stack-bar\"] .mf-bar-edge-hi{background:var(--acc)}\\n.mfa-root[data-mfa-back=\"path\"] #menu[data-mfa-hov=\"1\"] .tile[data-mfa-dist=\"0\"] [data-mfa=\"stack-bar\"] .mf-bar-edge-top{background:transparent;transition:none}\\n.mfa-root[data-mfa-back=\"path\"] #menu .tile [data-mfa=\"stack-bar\"] .mf-bar-edge-top{transition:background-color 0s linear .16s}\\n.mfa-root .tile[data-press=\"1\"] [data-mfa=\"stack-bar\"] .mf-bar-edge,.mfa-root .tile[data-press=\"1\"] [data-mfa=\"stack-bar\"] .mf-bar-edge-top{background:transparent}\\n.mfa-root[data-mfa-back=\"path\"] .reg-head .bs{color:var(--crim);text-shadow:none}\\n.mfa-root .reg-head .sub .cnt,.mfa-root \\n.brand-cell.is-sub .sub-txt .cnt{background:var(--crim);color:var(--ground);padding:2px 4px 1px}\\n.mfa-root .row .rf-tag{color:var(--ground);background:var(--crim);border-color:var(--crim);text-shadow:none}\\n.mfa-root[data-mfa-film=\"drum\"][data-mfa-ap=\"1\"] .drum-ap{box-shadow:inset 0 0 0 1.5px var(--crim)}\\n.mfa-root[data-mfa-film=\"drum\"] .drum-idx{background:var(--crim);box-shadow:none;height:2px;margin-top:-1px}\\n.mfa-root[data-mfa-film=\"drum\"] .drum-tick[data-on=\"1\"] .dt-l{width:26px;background:transparent;box-shadow:none}\\n.mfa-root[data-mfa-film=\"drum\"] .drum-tick[data-on=\"1\"] .dt-l{transition:none}\\n.mfa-root .rplate.rlogo .rlogo-m{background:var(--crim)}\\n.mfa-root .rplate .rrim{background:var(--crim);z-index:1;\\n  clip-path:polygon(evenodd,0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px),0 0,\\n    1.5px 1.5px,calc(100% - 12.62px) 1.5px,calc(100% - 1.5px) 12.62px,calc(100% - 1.5px) calc(100% - 1.5px),\\n    12.62px calc(100% - 1.5px),1.5px calc(100% - 12.62px),1.5px 1.5px)}\\n.mfa-root #btnReplay,.mfa-root .tl-replay{display:none}\\n.mfa-root .tl-now{background:var(--crim);box-shadow:none}\\n.mfa-root .tl-flag{background:var(--crim)}\\n.mfa-root .tl-y b.now{font-weight:400;background:var(--crim);color:var(--ground);padding:2px 4px 1px}\\n.mfa-root .tools-train .blk-h,.mfa-root[data-mfa-caps=\"rail\"] .spec-col .blk-h{display:table;background:var(--crim);color:var(--ground);padding:1px 5px 0;line-height:11px}\\n.mfa-root .train .row .tg-cred,.mfa-root \\n.row .rf-pos{text-shadow:none}\\n.mfa-root .quote .qt em.q-em{color:var(--crim)}\\n.mfa-root .lede em.l-em{color:var(--crim)}\\n.mfa-root[data-mfa-frame=\"1\"] .frame-tab .ft-n{background:var(--crim);color:var(--ground);font-family:var(--ui);font-weight:400;font-size:10px;line-height:1;letter-spacing:.16em;padding:3px 6px 2px}\\n.mfa-root[data-mfa-frame=\"1\"] .reg-head .crumbs::before{content:var(--sec-num);background:var(--crim);color:var(--ground);font-family:var(--ui);font-weight:400;font-size:10px;line-height:1;letter-spacing:.16em;padding:3px 6px 2px}\\n.mfa-root .fr-br,.mfa-root .fr-num,.mfa-root .frame-tab{display:none}\\n.mfa-root[data-mfa-frame=\"1\"]{--pad-b:12px}\\n.mfa-root[data-mfa-frame=\"1\"] .fr-br{display:block;position:absolute;width:46px;height:46px;z-index:13;\\n  pointer-events:none;border:0 solid var(--acc)}\\n.mfa-root[data-mfa-frame=\"1\"] .fr-br.tl{left:12px;top:12px;border-left-width:2px;border-top-width:2px}\\n.mfa-root[data-mfa-frame=\"1\"] .fr-br.tr{right:12px;top:12px;border-right-width:2px;border-top-width:2px}\\n.mfa-root[data-mfa-frame=\"1\"] .fr-br.bl{left:12px;bottom:12px;border-left-width:2px;border-bottom-width:2px}\\n.mfa-root[data-mfa-frame=\"1\"] .fr-br.br{right:12px;bottom:12px;border-right-width:2px;border-bottom-width:2px}\\n.mfa-root[data-mfa-crn=\"br\"] .fr-br.tl,.mfa-root[data-mfa-crn=\"all\"] .fr-br.tl{border-top-left-radius:25px}\\n.mfa-root[data-mfa-crn=\"br\"] .fr-br.tr,.mfa-root[data-mfa-crn=\"all\"] .fr-br.tr{border-top-right-radius:25px}\\n.mfa-root[data-mfa-crn=\"br\"] .fr-br.bl,.mfa-root[data-mfa-crn=\"all\"] .fr-br.bl{border-bottom-left-radius:25px}\\n.mfa-root[data-mfa-crn=\"br\"] .fr-br.br,.mfa-root[data-mfa-crn=\"all\"] .fr-br.br{border-bottom-right-radius:25px}\\n.mfa-root[data-mfa-crn=\"all\"] .th,.mfa-root[data-mfa-crn=\"all\"] .pc,.mfa-root[data-mfa-crn=\"all\"] .rplate,.mfa-root[data-mfa-crn=\"all\"] .tl-det,.mfa-root[data-mfa-crn=\"all\"] .peek .pi{border-radius:6px}\\n.mfa-root[data-mfa-crn=\"all\"] img.art{border-radius:6px}\\n.mfa-root:not([data-mfa-frame=\"1\"]) .film-rail{display:none}\\n.mfa-root .stage > .caps-rail.rail-on-frame{display:block;position:absolute;width:1px;margin:0;z-index:13;pointer-events:none;\\n  visibility:hidden;opacity:1;transition:opacity .14s linear}\\n.mfa-root .stage > .caps-rail.rail-on-frame[data-sec-on=\"1\"]{visibility:visible}\\n.mfa-root .stage > .caps-rail.rail-on-frame[data-need=\"0\"]{opacity:0}\\n.mfa-root .stage > .caps-rail.rail-on-frame .caps-rail-on{position:absolute;left:0;top:0;width:1px;height:0;background:var(--acc);\\n  box-shadow:var(--glow-line);transition:top .12s linear,height .12s linear}\\n.mfa-root[data-mfa-frame=\"1\"][data-mfa-margin=\"1\"] .fr-num{display:block;position:absolute;left:-150px;top:16px;\\n  font-family:var(--display);font-weight:400;font-size:176px;line-height:.8;color:transparent;\\n  -webkit-text-stroke:1px var(--acc);pointer-events:none;z-index:13}\\n.mfa-root[data-mfa-frame=\"1\"] .frame-tab{display:flex;position:absolute;left:72px;right:72px;top:6px;height:14px;\\n  align-items:center;gap:10px;z-index:3;pointer-events:none}\\n.mfa-root[data-mfa-frame=\"1\"] .frame-tab .ft-name{font-family:var(--ui);font-weight:400;font-size:11px;line-height:1;\\n  letter-spacing:.22em;color:var(--acc)}\\n.mfa-root[data-mfa-frame=\"1\"] .frame-tab .ft-meta{margin-left:auto;font-family:var(--ui);font-weight:400;font-size:10px;\\n  line-height:1;letter-spacing:.14em;color:#848b9c}\\n.mfa-root[data-mfa-frame=\"1\"][data-mfa-back=\"path\"] .reg-head{position:absolute;left:72px;right:72px;top:6px;height:14px;display:flex;\\n  align-items:center;justify-content:space-between;padding:0;border:0;z-index:3}\\n.mfa-root[data-mfa-frame=\"1\"][data-mfa-back=\"path\"] .reg-head .crumbs{display:flex;align-items:center;gap:8px}\\n.mfa-root[data-mfa-frame=\"1\"][data-mfa-back=\"path\"] .reg-head [data-mfa=\"back\"].up,.mfa-root[data-mfa-frame=\"1\"][data-mfa-back=\"path\"] .reg-head .bs,.mfa-root[data-mfa-frame=\"1\"][data-mfa-back=\"path\"] .reg-head .w{\\n  font-family:var(--ui);font-weight:400;font-size:11px;line-height:1;letter-spacing:.22em;text-shadow:none}\\n.mfa-root[data-mfa-frame=\"1\"][data-mfa-back=\"path\"] .reg-head .w,.mfa-root[data-mfa-frame=\"1\"][data-mfa-back=\"path\"] .reg-head .w[data-pv=\"1\"]{color:var(--acc);letter-spacing:.22em}\\n.mfa-root[data-mfa-frame=\"1\"][data-mfa-back=\"path\"] .reg-head .w[data-pv=\"1\"]{color:var(--dim)}\\n.mfa-root[data-mfa-frame=\"1\"][data-mfa-back=\"path\"] .reg-head [data-mfa=\"back\"].up{display:inline-flex;align-items:center;gap:6px}\\n.mfa-root[data-mfa-frame=\"1\"][data-mfa-back=\"path\"] .reg-head .up::after{bottom:-4px;height:1px}\\n.mfa-root[data-mfa-frame=\"1\"][data-mfa-back=\"path\"] .reg-head .crumbs .up .up-chev{top:0}\\n.mfa-root[data-mfa-frame=\"1\"][data-mfa-back=\"path\"] .reg-head .crumbs .up .up-chev svg{width:7px;height:11px}\\n.mfa-root[data-mfa-frame=\"1\"][data-mfa-back=\"path\"] .reg-head .sub{margin:0;padding:0;font-size:10px;line-height:1;letter-spacing:.14em;color:#848b9c}\\n.mfa-root[data-mfa-frame=\"1\"] .reg-screen > [data-mfa=\"register\"]{padding-top:64px}\\n.mfa-root[data-mfa-frame=\"1\"] #pitch > [data-mfa=\"sbody\"]{padding-top:64px}\\n.mfa-root[data-mfa-frame=\"1\"] #menu{left:72px;right:72px}\\n.mfa-root[data-mfa-frame=\"1\"] [data-mfa=\"stack-bar\"] .mf-bar-edge,.mfa-root[data-mfa-frame=\"1\"] [data-mfa=\"stack-bar\"] .mf-bar-edge-top{background:var(--acc);opacity:.6}\\n.mfa-root[data-mfa-frame=\"1\"][data-mfa-back=\"path\"] #menu[data-mfa-hov=\"1\"] .tile[data-mfa-dist=\"0\"]:not([data-press=\"1\"]) [data-mfa=\"stack-bar\"] .mf-bar-edge-top{background:var(--acc)}\\n.mfa-root[data-mfa-frame=\"1\"][data-mfa-back=\"path\"] #menu .tile [data-mfa=\"stack-bar\"] .mf-bar-edge-top{transition:none}\\n@media (max-height:780px){\\n  .mfa-root[data-mfa-frame=\"1\"]{--pad-b:12px}\\n  .mfa-root[data-mfa-frame=\"1\"] #pitch > [data-mfa=\"sbody\"]{padding-top:64px}\\n}\\n.mfa-root .fr-back,.mfa-root .fr-div{display:none}\\n.mfa-root[data-mfa-frame=\"1\"] .fr-back{display:flex;position:absolute;left:72px;bottom:var(--pad-b);width:var(--tile-h);height:var(--tile-h);\\n  align-items:center;justify-content:center;z-index:5;margin:0;padding:0;background:transparent;box-sizing:border-box;\\n  border:0;border-top:1px solid rgba(0,213,240,.6);border-bottom:1px solid rgba(0,213,240,.6);cursor:pointer;\\n  opacity:1;transform:none;transition:opacity .28s linear .22s,transform .34s cubic-bezier(.2,0,.2,1) .22s,background-color .2s linear}\\n.mfa-root[data-mfa-frame=\"1\"] .fr-back .fb-chev{display:block;color:var(--acc);transition:filter .2s linear}\\n.mfa-root[data-mfa-frame=\"1\"] .fr-back .fb-chev svg{width:12px;height:20px;display:block}\\n.mfa-root[data-mfa-frame=\"1\"] .fr-back .fb-chev path{fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:square}\\n.mfa-root[data-mfa-frame=\"1\"] .fr-back .fb-t{position:absolute;left:0;right:0;bottom:calc(100% + 8px);text-align:center;\\n  font-family:var(--ui);font-weight:400;font-size:9px;line-height:1;letter-spacing:.2em;padding-left:.2em;color:var(--ink);\\n  opacity:0;transform:translateY(3px);transition:opacity .18s linear,transform .18s cubic-bezier(.2,0,.2,1);pointer-events:none}\\n.mfa-root[data-mfa-frame=\"1\"] .fr-back:hover{background:rgba(0,213,240,.14);border-top-color:var(--acc);border-bottom-color:var(--acc)}\\n.mfa-root[data-mfa-frame=\"1\"] .fr-back:hover .fb-chev{filter:drop-shadow(0 0 6px rgba(0,213,240,.9))}\\n.mfa-root[data-mfa-frame=\"1\"] .fr-back:hover .fb-t,.mfa-root[data-mfa-frame=\"1\"] .fr-back:focus-visible .fb-t{opacity:1;transform:none}\\n.mfa-root[data-mfa-frame=\"1\"] .fr-back:focus-visible{outline:1px solid var(--acc);outline-offset:2px}\\n.mfa-root[data-mfa-frame=\"1\"] .fr-div{display:block;position:absolute;left:138px;bottom:calc(var(--pad-b) + 12px);width:1px;height:32px;\\n  background:rgba(0,213,240,.35);z-index:5;pointer-events:none;opacity:1;transition:opacity .28s linear .22s}\\n.mfa-root[data-mfa-frame=\"1\"] #menu{left:148px;transition:left .34s cubic-bezier(.2,0,.2,1)}\\n.mfa-root[data-mfa-frame=\"1\"] #panel[data-mfa-open=\"0\"] .fr-back{opacity:0;transform:translateX(-10px);pointer-events:none;visibility:hidden;\\n  transition:opacity .18s linear,transform .18s linear,visibility 0s linear .18s}\\n.mfa-root[data-mfa-frame=\"1\"] #panel[data-mfa-open=\"0\"] .fr-div{opacity:0;transition:opacity .18s linear}\\n.mfa-root[data-mfa-frame=\"1\"] #panel[data-mfa-open=\"0\"] #menu{left:72px;transition:left .34s cubic-bezier(.2,0,.2,1) .1s}\\n@media (prefers-reduced-motion:reduce){\\n  .mfa-root[data-mfa-frame=\"1\"] .fr-back,.mfa-root[data-mfa-frame=\"1\"] .fr-div,.mfa-root[data-mfa-frame=\"1\"] #menu{transition:none!important}\\n}\\n.mfa-root[data-mfa-frame=\"1\"] .lede em.l-em{color:var(--acc)}\\n.mfa-root[data-mfa-frame=\"1\"][data-mfa-back=\"path\"] .reg-head .sub .cnt{background:transparent;color:inherit;padding:0;margin:0}\\n.mfa-root[data-mfa-frame=\"1\"] .tile .mf-tile-spine{transform:scaleY(0);transform-origin:50% 0}\\n.mfa-root[data-mfa-frame=\"1\"] .tile[data-press=\"1\"] .mf-tile-spine{z-index:4}\\n.mfa-root[data-mfa-frame=\"1\"][data-mfa-back=\"path\"]:not([data-mfa-sj=\"0\"]) #menu .tile .mf-tile-spine{left:7px;\\n  clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 3px))}\\n.mfa-root[data-mfa-frame=\"1\"][data-mfa-back=\"path\"]:not([data-mfa-sj=\"0\"]) #menu .tile .mf-hover-well{left:7px}\\n@property --lx{syntax:\"<length>\";inherits:false;initial-value:7px}\\n@property --ch{syntax:\"<length>\";inherits:false;initial-value:3px}\\n.mfa-root[data-mfa-frame=\"1\"][data-mfa-back=\"path\"]:not([data-mfa-sj=\"0\"]) #menu .tile{--lx:7px;--ch:3px;\\n  transition:flex-grow .42s cubic-bezier(.2,0,.2,1),--lx .42s cubic-bezier(.2,0,.2,1),--ch .42s cubic-bezier(.2,0,.2,1);\\n  clip-path:polygon(var(--lx) calc(0px - var(--co)),100% calc(0px - var(--co)),100% calc(100% + var(--co)),\\n    calc(var(--lx) + var(--ch)) calc(100% + var(--co)),var(--lx) calc(100% - var(--ch) + var(--co)))}\\n.mfa-root[data-mfa-frame=\"1\"][data-mfa-back=\"path\"]:not([data-mfa-sj=\"0\"]) #menu .tile:has([data-mfa=\"stack-bar\"][data-state=\"head\"]),.mfa-root[data-mfa-frame=\"1\"][data-mfa-back=\"path\"]:not([data-mfa-sj=\"0\"]) #menu .tile[data-press=\"1\"]{--lx:0px;--ch:7px;\\n  transition:flex-grow .42s cubic-bezier(.2,0,.2,1),--lx .27s cubic-bezier(.2,0,.2,1),--ch .27s cubic-bezier(.2,0,.2,1)}\\n.mfa-root[data-mfa-frame=\"1\"] [data-mfa=\"profile\"] .prof-head{border-top:0;padding-top:0}\\n.mfa-root[data-mfa-frame=\"1\"] [data-mfa=\"profile\"] .prof-head .t{display:block;width:max-content;margin-bottom:3px}\\n.mfa-root[data-mfa-frame=\"1\"] .tile .mf-press-fill{background:rgb(7,221,252)}\\n.mfa-root[data-mfa-frame=\"1\"] .tile[data-press=\"1\"] [data-mfa=\"stack-bar\"] .mf-bar-wash{visibility:hidden}\\n.mfa-root[data-mfa-frame=\"1\"] .tile .mf-hover-wash{background:rgba(0,213,240,.34)}\\n.mfa-root[data-mfa-frame=\"1\"] [data-mfa=\"stack-bar\"] .mf-bar-edge-hi,.mfa-root[data-mfa-frame=\"1\"] [data-mfa=\"stack-bar\"] .well-edge-hi{background:var(--acc);box-shadow:none}\\n.mfa-root[data-mfa-frame=\"1\"] .stage{--fr-pad:20px;\\n  top:calc(var(--nav-h) + var(--fr-pad) + max(0px,calc((100% - var(--nav-h) - 2 * var(--fr-pad) - var(--cap-h,100000px)) / 2)));\\n  bottom:calc(var(--fr-pad) + max(0px,calc((100% - var(--nav-h) - 2 * var(--fr-pad) - var(--cap-h,100000px)) / 2)))}\\n.mfa-root[data-mfa-frame=\"1\"][data-mfa-film=\"drum\"] .film-grid{position:relative}\\n.mfa-root[data-mfa-frame=\"1\"][data-mfa-film=\"drum\"] .film-rail{display:block;position:absolute;left:0;top:0;width:1px;height:0;\\n  pointer-events:none;opacity:1;transition:opacity .14s linear}\\n.mfa-root[data-mfa-frame=\"1\"][data-mfa-film=\"drum\"] .film-rail[data-need=\"0\"]{opacity:0}\\n.mfa-root[data-mfa-frame=\"1\"][data-mfa-film=\"drum\"] .film-rail .caps-rail-on{position:absolute;left:0;top:0;width:1px;height:0;\\n  background:var(--acc);box-shadow:var(--glow-line);transition:top .12s linear,height .12s linear}\\n.mfa-root[data-mfa-frame=\"1\"] .reg-screen [data-mfa=\"end-cue\"]{display:none}\\n.mfa-root[data-mfa-frame=\"1\"]:not([data-mfa-lg=\"0\"]) #menu .tile [data-mfa=\"stack-bar\"] .mf-bar-edge-hi,.mfa-root[data-mfa-frame=\"1\"]:not([data-mfa-lg=\"0\"]) #menu .tile [data-mfa=\"stack-bar\"] .well-edge-hi,.mfa-root[data-mfa-frame=\"1\"]:not([data-mfa-lg=\"0\"]) #menu .tile .mf-tile-spine{box-shadow:var(--glow-line)}\\n.mfa-root .logo-box.bh .bh-mark{position:absolute;inset:0;z-index:1}\\n.mfa-root .logo-box.bh .bh-cv{position:absolute;left:-12px;top:-6px;width:calc(100% + 24px);height:calc(100% + 12px);z-index:2;pointer-events:none}\\n.mfa-root .logo-box.bh[data-bh-lit=\"1\"] .bh-mark{opacity:0;transition:none}\\n.mfa-root[data-mfa-bholo=\"hover\"] .brand-cell .press-clip,.mfa-root[data-mfa-bholo=\"all\"] .brand-cell .press-clip{display:none}\\n.mfa-root[data-mfa-bholo=\"hover\"] .brand-cell[data-press=\"1\"] .bn,.mfa-root[data-mfa-bholo=\"all\"] .brand-cell[data-press=\"1\"] .bn{mix-blend-mode:normal;color:var(--ink)}\\n.mfa-root .navdd{position:absolute;left:0;right:0;top:100%;height:34px;visibility:hidden;clip-path:inset(0 0 100% 0);z-index:19;\\n  transition:clip-path .22s cubic-bezier(.7,0,.3,1),visibility 0s .22s}\\n.mfa-root .navdd[data-on=\"1\"]{visibility:visible;clip-path:inset(0 0 0 0);transition:clip-path .26s cubic-bezier(.7,0,.3,1)}\\n.mfa-root .navdd .dd-bg{position:absolute;inset:0;background:rgba(7,8,12,.94);border-bottom:1px solid rgba(0,213,240,.38);\\n  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}\\n.mfa-root .navdd .dd-row{position:relative;height:34px;margin:0 40px;display:flex;align-items:center;justify-content:space-between}\\n.mfa-root .navdd .dd-lk{position:relative;display:inline-flex;align-items:center;gap:8px;font-family:var(--ui);font-weight:400;\\n  font-size:10px;line-height:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);white-space:nowrap;\\n  text-decoration:none;transition:color .12s linear}\\n.mfa-root .navdd .dd-lk .n{color:var(--acc)}\\n.mfa-root .navdd .dd-lk::after{content:\"\";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--acc);\\n  transform:scaleX(0);transform-origin:0 50%;transition:transform .2s cubic-bezier(.2,.7,.2,1)}\\n.mfa-root .navdd .dd-lk:hover,.mfa-root .navdd .dd-lk:focus-visible,.mfa-root .navdd .dd-lk[data-cur=\"1\"]{color:var(--ink);outline:none}\\n.mfa-root .navdd .dd-lk:hover::after,.mfa-root .navdd .dd-lk:focus-visible::after,.mfa-root .navdd .dd-lk[data-cur=\"1\"]::after{transform:scaleX(1)}\\n.mfa-root .navdd .dd-sep{width:1px;height:12px;background:rgba(0,213,240,.45);flex:none}\\n.mfa-root .navdd .dd-row{justify-content:flex-start;gap:0}\\n.mfa-root .navdd .dd-lk{flex:1 1 0;min-width:0;align-self:stretch;justify-content:center;height:34px}\\n.mfa-root .navdd .dd-lk .w{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,213,240,.22),rgba(0,213,240,0) 78%);\\n  opacity:0;transition:opacity .2s linear;pointer-events:none}\\n.mfa-root .navdd .dd-lk::before{content:\"\";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--acc);\\n  transform:scaleY(0);transform-origin:50% 0;transition:transform .22s cubic-bezier(.2,.7,.2,1)}\\n.mfa-root .navdd .dd-lk::after{left:0;right:0;bottom:0;height:1px;box-shadow:var(--glow-line)}\\n.mfa-root .navdd .dd-lk > span:not(.w){position:relative}\\n.mfa-root .navdd .dd-lk .n{transition:text-shadow .2s linear}\\n.mfa-root .navdd .dd-lk:hover .w,.mfa-root .navdd .dd-lk:focus-visible .w{opacity:1}\\n.mfa-root .navdd .dd-lk:hover::before,.mfa-root .navdd .dd-lk:focus-visible::before{transform:scaleY(1)}\\n.mfa-root .navdd .dd-lk:hover .n,.mfa-root .navdd .dd-lk:focus-visible .n{text-shadow:var(--glow-digit)}\\n@keyframes dd-in{from{clip-path:inset(0 100% 0 0);opacity:0}}\\n.mfa-root .navdd[data-on=\"1\"] .dd-lk,.mfa-root .navdd[data-on=\"1\"] .dd-sep{animation:dd-in .16s cubic-bezier(.2,.7,.2,1) backwards}\\n.mfa-root[data-mfa-navdd=\"0\"] .navdd{display:none}\\n.mfa-root .navdd .dd-in{position:absolute;inset:0}\\n.mfa-root[data-mfa-ddfx=\"slide\"] .navdd,.mfa-root[data-mfa-ddfx=\"cascade\"] .navdd{clip-path:inset(0 0 0 0);overflow:hidden;\\n  transition:visibility 0s .28s}\\n.mfa-root[data-mfa-ddfx=\"slide\"] .navdd[data-on=\"1\"],.mfa-root[data-mfa-ddfx=\"cascade\"] .navdd[data-on=\"1\"]{transition:none}\\n.mfa-root[data-mfa-ddfx=\"slide\"] .navdd .dd-in,.mfa-root[data-mfa-ddfx=\"cascade\"] .navdd .dd-in{transform:translateY(-100%);\\n  transition:transform .26s cubic-bezier(.45,0,.4,1)}\\n.mfa-root[data-mfa-ddfx=\"slide\"] .navdd[data-on=\"1\"] .dd-in,.mfa-root[data-mfa-ddfx=\"cascade\"] .navdd[data-on=\"1\"] .dd-in{transform:none;\\n  transition:transform .3s cubic-bezier(.22,.9,.3,1)}\\n.mfa-root[data-mfa-ddfx=\"slide\"] .navdd[data-on=\"1\"] .dd-lk,.mfa-root[data-mfa-ddfx=\"slide\"] .navdd[data-on=\"1\"] .dd-sep,.mfa-root[data-mfa-ddfx=\"unroll\"] .navdd[data-on=\"1\"] .dd-lk,.mfa-root[data-mfa-ddfx=\"unroll\"] .navdd[data-on=\"1\"] .dd-sep{animation:none}\\n@keyframes dd-drop{from{transform:translateY(-12px);opacity:0}}\\n.mfa-root[data-mfa-ddfx=\"cascade\"] .navdd[data-on=\"1\"] .dd-lk,.mfa-root[data-mfa-ddfx=\"cascade\"] .navdd[data-on=\"1\"] .dd-sep{\\n  animation:dd-drop .3s cubic-bezier(.2,.8,.2,1) backwards}\\n.mfa-root[data-mfa-ddfx=\"unroll\"] .navdd[data-on=\"1\"]{transition:clip-path .34s cubic-bezier(.2,.8,.2,1)}\\n.mfa-root{position:relative;width:100%;height:calc(100vh - 68px);overflow:hidden;--nav-h:0px}\\n.mfa-root .nav,.mfa-root .chrome,.mfa-root #fakeContact{display:none!important}\\n.mfa-root{background:transparent}\\n.mfa-root .site-ground,.mfa-root .site-amb{display:none!important}';export const MFA_MARKUP='<div class=\"nav\" aria-label=\"Site navigation\">\\n  <div class=\"word lab\"><span class=\"ico\" aria-hidden=\"true\"></span><b>MIND FACTORY</b></div>\\n  <div class=\"navr lab\">\\n    <a href=\"#work\" id=\"navWork\">WORK</a>\\n    <a href=\"#about\" id=\"navAbout\" aria-current=\"true\">ABOUT</a>\\n    <a href=\"#contact\" id=\"navContact\">CONTACT</a>\\n    <span class=\"sig lab\" title=\"Motion mockup. Colour is the other lane\">\\n      <span>COLOUR</span><i></i><b>MOTION</b>\\n    </span>\\n  </div>\\n  <div class=\"navdd\" id=\"navDD\" aria-label=\"About sections\"><div class=\"dd-in\"><div class=\"dd-bg\"></div><div class=\"dd-row\" id=\"navDDRow\"></div></div></div>\\n</div>\\n\\n<div class=\"site-ground\" aria-hidden=\"true\"></div>\\n<div class=\"site-amb\" aria-hidden=\"true\"></div>\\n<div class=\"stage\">\\n  <span class=\"fr-br tl\" aria-hidden=\"true\"></span><span class=\"fr-br tr\" aria-hidden=\"true\"></span><span class=\"fr-br bl\" aria-hidden=\"true\"></span><span class=\"fr-br br\" aria-hidden=\"true\"></span>\\n  <div class=\"fr-num\" id=\"frNum\" aria-hidden=\"true\"></div>\\n  <div class=\"chrome lab\">\\n    <button type=\"button\" id=\"btnReplay\">REPLAY</button>\\n  </div>\\n  <div data-mfa=\"resume-panel\" id=\"panel\" data-mfa-open=\"0\" data-mfa-stop=\"about\" data-mfa-latch=\"0\" data-mfa-hold=\"0\">\\n    <div class=\"amb\" aria-hidden=\"true\"></div>\\n    <div class=\"hold\" id=\"hold\" aria-hidden=\"true\"></div>\\n    <div id=\"well\"></div>\\n    <div id=\"pitch\" data-mfa-screen=\"pitch\">\\n      <div class=\"frame-tab\" aria-hidden=\"true\"><span class=\"ft-n\" id=\"ftNum\"></span><span class=\"ft-name\">ABOUT</span><span class=\"ft-meta\" id=\"ftMeta\"></span></div>\\n      <div data-mfa=\"sbody\" id=\"pitchBody\">\\n        <div class=\"pitch-col\">\\n          <div class=\"id-row\">\\n            <div class=\"plate\" data-mfa=\"about-plate\" data-mfa-boot=\"0\">\\n              <div class=\"rim\" aria-hidden=\"true\"></div>\\n              <div class=\"face\"><img alt=\"Gav Patel\"></div>\\n            </div>\\n            <div class=\"who\">\\n              <h1 data-mfa-boot=\"1\" id=\"nm\"></h1>\\n              <div class=\"disc-line lab\" data-mfa-boot=\"2\" id=\"discLine\"></div>\\n              <div class=\"loc lab\" id=\"loc\"></div>\\n            </div>\\n          </div>\\n          <div data-mfa=\"opening\" id=\"opening\">\\n            <h2 class=\"headline\" data-mfa-boot=\"3\" id=\"headline\"></h2>\\n            <div class=\"lede-w\"><p class=\"lede\" id=\"lede\"></p><span class=\"lede-scan\" aria-hidden=\"true\"></span></div>\\n          </div>\\n        </div>\\n        <div data-mfa=\"profile\" id=\"profile\">\\n          <div class=\"prof-head\">\\n            <div class=\"t lab\">PROFILE</div>\\n            <div class=\"sub lab\" id=\"profSub\"></div>\\n          </div>\\n          <div class=\"prof-body\" id=\"profBody\"></div>\\n        </div>\\n      </div>\\n    </div>\\n    <div id=\"menu\" data-mfa=\"cut-row\" role=\"group\" aria-label=\"About sections\"></div>\\n    <button type=\"button\" class=\"fr-back\" id=\"frBack\" aria-label=\"Back to About\"><span class=\"fb-chev\" aria-hidden=\"true\"><svg width=\"12\" height=\"20\" viewBox=\"0 0 17 28\"><path d=\"M13 3 L4 14 L13 25\"/></svg></span><span class=\"fb-t\" aria-hidden=\"true\">BACK</span></button>\\n    <span class=\"fr-div\" aria-hidden=\"true\"></span>\\n    <div id=\"bandHost\" data-mfa=\"band-host\" aria-hidden=\"true\">\\n      <div id=\"seam\" data-mfa=\"seam\">\\n        <div id=\"wipe\" data-mfa=\"mobile-wipe\">\\n          <div class=\"wipe-ramp\" id=\"wipeRamp\"></div>\\n          <div class=\"wipe-scan\" id=\"wipeScan\"></div>\\n          <div class=\"wipe-roll\" id=\"wipeRoll\"></div>\\n          <div class=\"wipe-tear\" id=\"wipeTear\"></div>\\n        </div>\\n      </div>\\n    </div>\\n    <div id=\"fakeContact\" aria-hidden=\"true\">\\n      <div class=\"h\">CONTACT</div>\\n      <p class=\"cta\">Let\\'s make something move.</p>\\n      <div class=\"colo-foot lab\" id=\"coloFoot\"></div>\\n    </div>\\n  </div>\\n</div>';export const MFA_ROOT_CLASS=\"mfa-root\";export function mountMotionAbout(MFA_ROOT,MFA_HOST_IN){var MFA_HOST=MFA_HOST_IN||{};var MFA_alive=true,MFA_offs=[];function MFA_on(t,ty,fn,o){t.addEventListener(ty,fn,o);MFA_offs.push(function(){t.removeEventListener(ty,fn,o);});}function MFA_onLoad(fn){if(document.readyState===\"complete\")setTimeout(fn,0);else MFA_on(window,\"load\",fn);}function MFA_byId(id){return MFA_ROOT.querySelector(\"#\"+id)||document.getElementById(id);}var requestAnimationFrame=function(f){return window.requestAnimationFrame(function(t){if(MFA_alive)f(t);});};var cancelAnimationFrame=function(h){return window.cancelAnimationFrame(h);};var setTimeout=function(f,ms){return window.setTimeout(function(){if(MFA_alive)f();},ms);};var clearTimeout=function(h){return window.clearTimeout(h);};(function(){var R={\"name\":\"Gav Patel\",\"location\":\"TORONTO \\xb7 CANADA / REMOTE WORLDWIDE\",\"signature\":\"ONE STUDIO. TWO SIGNALS.\",\"disciplines\":[{\"label\":\"MOTION\",\"signal\":\"motion\"},{\"label\":\"VFX\",\"signal\":\"motion\"},{\"label\":\"COLOUR\",\"signal\":\"colour\"},{\"label\":\"CG\",\"signal\":\"motion\"}],\"headline\":\"Colour and motion as the work.\",\"headlineEm\":[\"Colour\",\"motion\"],\"headlineMotion\":\"Built here. Finished here.\",\"headlineMotionEm\":[\"Built\",\"Finished\"],\"positioningEm\":[\"17+ years\",\"long-form narrative\"],\"positioning\":\"A one-person post studio with 17+ years in broadcast, advertising and documentary. Started in compositing, then grading, AI model training and his own pipelines. Looking for more long-form narrative: episodic, documentary, feature.\",\"approach\":\"Gav started in broadcast compositing and kept following the problems: first into grading, then into training AI models and building his own pipelines. Colour, motion and composition aren't finishing steps. They're where the meaning gets made. He's looking for more long-form narrative work: episodic, documentary, feature.\",\"approachEm\":\"They're where the meaning gets made.\",\"order\":{\"colour\":[\"bio\",\"filmography\",\"recognition\",\"capabilities\",\"training\",\"memberships\",\"approach\"],\"motion\":[\"bio\",\"engagements\",\"filmography\",\"clients\",\"capabilities\",\"recognition\",\"training\",\"approach\"]},\"sections\":[{\"id\":\"bio\",\"title\":\"PROFILE\",\"sub\":\"THE SHORT VERSION\",\"sig\":\"both\"},{\"id\":\"engagements\",\"title\":\"SELECTED WORK\",\"sub\":\"08 ENGAGEMENTS \\xb7 CURRENT FIRST\",\"sig\":\"motion\"},{\"id\":\"filmography\",\"title\":\"FILMOGRAPHY\",\"sub\":\"LONG-FORM & BROADCAST \\xb7 CBC \\xb7 PBS \\xb7 TVO\",\"sig\":\"both\"},{\"id\":\"clients\",\"title\":\"SELECTED BRANDS\",\"sub\":\"THROUGH THE STUDIOS ABOVE \\xb7 SINCE 2003\",\"sig\":\"motion\"},{\"id\":\"capabilities\",\"title\":\"CAPABILITIES\",\"sub\":\"WHAT HE DOES \\xb7 WHAT WITH\",\"sig\":\"both\"},{\"id\":\"recognition\",\"title\":\"RECOGNITION\",\"sub\":\"AWARDS\",\"sig\":\"both\"},{\"id\":\"training\",\"title\":\"TRAINING\",\"sub\":\"EDUCATION\",\"sig\":\"both\"},{\"id\":\"memberships\",\"title\":\"MEMBERSHIPS\",\"sub\":\"COMMUNITIES\",\"sig\":\"both\"},{\"id\":\"approach\",\"title\":\"APPROACH\",\"sub\":\"METHOD\",\"sig\":\"both\"}],\"engagements\":[{\"id\":\"npa\",\"name\":\"NATIONAL PROGRESS ALLIANCE\",\"roleLine\":\"BRAND CREATIVE & MOTION \\xb7 REMOTE [US]\",\"range\":{\"from\":2022,\"to\":\"now\"},\"era\":\"current\",\"sig\":\"motion\",\"blurb\":\"Built the full brand and visual identity for a US-based YouTube channel: motion graphics, thumbnail systems and the channel website. Editing and colour grading as needed. Two or three thumbnails a week. The AI image workflows (LoRA training, ComfyUI) grew out of this account.\"},{\"id\":\"sjc\",\"name\":\"SJC\",\"fullName\":\"ST. JOSEPH COMMUNICATIONS\",\"roleLine\":\"MOTION GRAPHICS DESIGNER \\xb7 CONTRACT \\xb7 TORONTO\",\"range\":{\"from\":2018,\"to\":\"now\"},\"era\":\"current\",\"sig\":\"motion\",\"blurb\":\"Recurring contract work at one of Canada's largest private media companies. Motion graphics, digital signage and social content on TD Canada Trust, RBC, Chevrolet, Hyundai and Shoppers Drug Mart. Also sizzle reels and colour correction.\",\"rangeText\":\"2018 – 2019 \\xb7 2021 – NOW\"},{\"id\":\"jiang\",\"name\":\"JIANG MEDIA\",\"director\":\"DIR. JEANETTE KONG\",\"roleLine\":\"COLOURIST & MOTION GRAPHICS \\xb7 DOCUMENTARY\",\"range\":{\"from\":2013,\"to\":2025},\"era\":\"current\",\"sig\":\"both\",\"blurb\":\"Twelve years and three films with documentary filmmaker Jeanette Kong: motion graphics on all three, and full post-production on the most recent. Titles, credits and festival placements are in the filmography.\"},{\"id\":\"craft\",\"name\":\"CRAFT WORLDWIDE / MCCANN MRM\",\"fullName\":\"IPG\",\"roleLine\":\"MOTION GRAPHICS \\xb7 CONTRACT \\xb7 REMOTE\",\"range\":{\"from\":2020,\"to\":2024},\"era\":\"current\",\"sig\":\"motion\",\"blurb\":\"Three and a half years on contract with Craft's production team. 2D and 3D motion graphics on Johnson & Johnson (Optiblue and Odyssey MOA campaigns), adapted across CeraVe, Garnier and SkinCeuticals.\"},{\"id\":\"lotic\",\"name\":\"LOTIC.AI\",\"roleLine\":\"MOTION GRAPHICS & VFX \\xb7 FREELANCE \\xb7 REMOTE\",\"range\":{\"from\":2024,\"to\":2024},\"era\":\"current\",\"sig\":\"motion\",\"blurb\":\"Two campaign pieces for an AI and data-product company: the Marketplace video (animation) and the Pendant video (motion graphics and VFX).\"},{\"id\":\"unreasonable\",\"name\":\"UNREASONABLE STUDIOS\",\"roleLine\":\"MOTION DESIGN & COMPOSITING \\xb7 IN-STUDIO FREELANCE \\xb7 TORONTO\",\"range\":{\"from\":2019,\"to\":2019},\"era\":\"current\",\"sig\":\"motion\",\"blurb\":\"Motion graphics and compositing across a campaign year, including Budweiser social spots.\"},{\"id\":\"reactiv\",\"name\":\"REACTIV\",\"roleLine\":\"VFX & MOTION \\xb7 TORONTO\",\"range\":{\"from\":2014,\"to\":2019},\"era\":\"current\",\"sig\":\"motion\",\"blurb\":\"Full-time 2014 to 2015, then freelance through 2019. VFX: green-screen and window compositing, digital matte painting and roto. Branded compositing and motion design on the Lightlife campaign.\"},{\"id\":\"videonerve\",\"name\":\"VIDEONERVE / PUBLICIS\",\"roleLine\":\"MOTION GRAPHICS \\xb7 EMBEDDED FREELANCE \\xb7 TORONTO\",\"range\":{\"from\":2015,\"to\":2019},\"era\":\"current\",\"sig\":\"motion\",\"blurb\":\"Four years embedded in a broadcast and digital motion team working with Publicis. Accounts included Citigold and Citibank.\"},{\"id\":\"secret\",\"name\":\"SECRET LOCATION\",\"roleLine\":\"MOTIONOGRAPHER \\xb7 TORONTO\",\"position\":\"MOTIONOGRAPHER\",\"city\":\"TORONTO\",\"range\":{\"from\":2012,\"to\":2014},\"era\":\"earlier\",\"sig\":\"motion\",\"blurb\":\"Interactive media: broadcast websites, mobile and tablet apps, web series and real-time 3D games. Translated After Effects data to Flash, Pixi JS and HTML5 animation, working closely with developers. Cinema 4D, 3ds Max, Syntheyes tracking and DSLR video production.\"},{\"id\":\"crush\",\"name\":\"CRUSH INC.\",\"roleLine\":\"MOTION GRAPHICS DESIGNER \\xb7 TORONTO\",\"position\":\"MOTION GRAPHICS DESIGNER\",\"city\":\"TORONTO\",\"range\":{\"from\":2008,\"to\":2012},\"era\":\"earlier\",\"sig\":\"motion\",\"blurb\":\"Three and a half years at a leading Toronto broadcast design studio: idents, commercial back-ends, title sequences and animation, later expanding into the CG department for modelling, compositing and animation. Grew from assisting to independently building segments from brief to final. Compositing work included the Lil' Ronnie animated segments for CBC's The Ron James Show.\"},{\"id\":\"scarlett\",\"name\":\"SCARLETT STREET FILMS\",\"roleLine\":\"MOTION GRAPHICS DESIGNER \\xb7 FREELANCE \\xb7 TORONTO\",\"position\":\"MOTION GRAPHICS DESIGNER\",\"type\":\"FREELANCE\",\"city\":\"TORONTO\",\"range\":{\"from\":2010,\"to\":2011},\"era\":\"earlier\",\"sig\":\"motion\",\"blurb\":\"Motion graphics and titles for broadcast productions, including Flip, Flop and Fly, The Food Diaries and the Canadian Aboriginal Music Awards.\"},{\"id\":\"bseen\",\"name\":\"BSEEN\",\"roleLine\":\"FREELANCE MOTION GRAPHICS\",\"position\":\"MOTION GRAPHICS\",\"type\":\"FREELANCE\",\"range\":{\"from\":2003,\"to\":2012},\"era\":\"earlier\",\"sig\":\"motion\",\"blurb\":\"Long-running freelance. Started as a Flash animator, then motion graphics, VFX, animation and compositing.\"},{\"id\":\"c4\",\"name\":\"C4 STUDIOS / TRACE PICTURES\",\"roleLine\":\"COMPOSITOR\",\"position\":\"COMPOSITOR\",\"range\":{\"from\":2008,\"to\":2008},\"era\":\"earlier\",\"sig\":\"motion\",\"blurb\":\"First compositing roles. CG compositor on long-form documentaries built on fully CG shots, working in After Effects with passes provided by the 3D artists.\"},{\"id\":\"shattered\",\"name\":\"SHATTERED WINDOW PRODUCTIONS\",\"roleLine\":\"VFX SUPERVISOR \\xb7 FREELANCE \\xb7 MISSISSAUGA\",\"position\":\"VFX SUPERVISOR\",\"type\":\"FREELANCE\",\"city\":\"MISSISSAUGA\",\"range\":{\"from\":2008,\"to\":2008},\"era\":\"earlier\",\"sig\":\"motion\",\"blurb\":\"Developed the VFX and visual style with the director on three music videos that aired on MuchMusic. On set to protect the post-production.\"},{\"id\":\"4ward\",\"name\":\"4WARD INTELLECT\",\"roleLine\":\"NEW MEDIA DEVELOPER \\xb7 MARKHAM\",\"position\":\"NEW MEDIA DEVELOPER\",\"city\":\"MARKHAM\",\"range\":{\"from\":2007,\"to\":2008},\"era\":\"earlier\",\"sig\":\"motion\",\"blurb\":\"Corporate video projects: editing, motion graphics, camera operating and directing shoots. Also script editing and preparing video for web.\"}],\"credits\":[{\"title\":\"PETER CHIN: THE BLOOD REMEMBERS\",\"director\":\"DIR. JEANETTE KONG\",\"format\":\"DOC \\xb7 30 MIN\",\"role\":\"Colourist \\xb7 Motion Graphics \\xb7 Editor \\xb7 Archival Restoration\",\"production\":\"Jiang Media\",\"year\":{\"from\":2025,\"to\":2025},\"sig\":\"both\",\"lead\":true,\"screenings\":[\"Canadian premiere, TAIWANfest / Harbourfront Centre, Toronto, August 2025.\"]},{\"title\":\"COPPER COINS\",\"director\":\"DIR. GRACE GORDON\",\"format\":\"SHORT FILM\",\"role\":\"Colourist \\xb7 VFX\",\"roleDetail\":\"Colour.Training final practical\",\"production\":\"Independent\",\"year\":{\"from\":2025,\"to\":2025},\"sig\":\"colour\",\"screenings\":[\"The grade was awarded the Golden Astro for Best Colourist, Colour.Training.\"]},{\"title\":\"UPSIDE DOWN\",\"director\":\"DIR. ERIC BATES\",\"format\":\"SHORT FILM\",\"role\":\"Colourist\",\"production\":\"Independent\",\"year\":{\"from\":2025,\"to\":2025},\"sig\":\"colour\"},{\"title\":\"FOR THE RECORD\",\"director\":\"CR. JULIAN DE ZOTTI\",\"format\":\"SERIES \\xb7 CBC\",\"role\":\"Episode Title Sequences, two seasons\",\"production\":\"Anthology Productions\",\"year\":{\"from\":2020,\"to\":2021},\"sig\":\"motion\",\"screenings\":[\"CBC, two seasons.\"]},{\"title\":\"A BRIEF RECORD OF MY FATHER'S TIME AT SEA\",\"director\":\"DIR. JEANETTE KONG\",\"format\":\"DOC\",\"role\":\"Motion Graphics\",\"roleDetail\":\"titles, map animation, animated stills\",\"production\":\"Jiang Media\",\"year\":{\"from\":2020,\"to\":2020},\"sig\":\"motion\",\"screenings\":[\"Aired on TVO. Screened at international festivals.\"]},{\"title\":\"CAN'T FIND LOVE\",\"director\":\"DIR. GAV PATEL\",\"format\":\"MUSIC VIDEO\",\"role\":\"Colourist \\xb7 Editor\",\"production\":\"Independent\",\"year\":{\"from\":2016,\"to\":2016},\"sig\":\"colour\",\"screenings\":[\"Shot and cut in 2016 at 1080p; reopened in 2025 and remastered in 4K on the Resolve colour page.\"]},{\"title\":\"FINDING SAMUEL LOWE\",\"director\":\"DIR. JEANETTE KONG\",\"format\":\"FEATURE DOC\",\"role\":\"Motion Graphics\",\"roleDetail\":\"titles, map animation, animated stills\",\"production\":\"Jiang Media\",\"year\":{\"from\":2015,\"to\":2015},\"sig\":\"motion\",\"screenings\":[\"PBS and the Africa Channel. Winner, Reelworld Audience Award.\"]},{\"sig\":\"motion\",\"title\":\"WHATEVER, LINDA\",\"director\":\"CR. HANNAH CHEESMAN & JULIAN DE ZOTTI\",\"format\":\"WEB SERIES\",\"role\":\"Motion Graphics\",\"roleDetail\":\"opening titles\",\"production\":\"Independent\",\"year\":{\"from\":2014,\"to\":2014}},{\"sig\":\"motion\",\"title\":\"THE CONSPIRACY SHOW\",\"format\":\"SERIES\",\"role\":\"Main Title Sequence\",\"roleDetail\":\"rebuilt mid-run\",\"production\":\"Secret Location\",\"year\":{\"from\":2012,\"to\":2012}},{\"sig\":\"motion\",\"title\":\"THE RON JAMES SHOW\",\"director\":\"DIR. GARY THOMAS & DALE HESLIP\",\"format\":\"SERIES \\xb7 CBC\",\"role\":\"Compositing\",\"roleDetail\":\"Lil' Ronnie animated segments\",\"production\":\"Crush Inc.\",\"year\":{\"from\":2009,\"to\":2010}},{\"sig\":\"motion\",\"title\":\"CANADIAN ABORIGINAL MUSIC AWARDS\",\"director\":\"\",\"format\":\"BROADCAST SPECIAL\",\"role\":\"Motion Graphics & Titles\",\"production\":\"Scarlett Street\",\"year\":{\"from\":2010,\"to\":2011}},{\"sig\":\"motion\",\"title\":\"FLIP, FLOP AND FLY\",\"director\":\"DIR. JOEL GOLDBERG\",\"format\":\"DOC\",\"role\":\"Motion Graphics & Titles\",\"production\":\"Scarlett Street\",\"year\":{\"from\":2010,\"to\":2010}},{\"sig\":\"motion\",\"title\":\"THE FOOD DIARIES\",\"director\":\"CR. KAPANA FELDANO\",\"format\":\"TV PILOT\",\"role\":\"Motion Graphics & Titles\",\"production\":\"Scarlett Street\",\"year\":{\"from\":2010,\"to\":2010}}],\"clients\":[\"TD CANADA TRUST\",\"RBC\",\"CHEVROLET\",\"HYUNDAI\",\"SHOPPERS DRUG MART\",\"BUDWEISER\",\"JOHNSON & JOHNSON\",\"MTN DEW\",\"LIPTON\",\"NESTL\\xc9\",\"CERAVE\",\"GARNIER\",\"SKINCEUTICALS\",\"CITIBANK\",\"CBC\",\"PEPSI\",\"MITSUBISHI\",\"MAGNUM\",\"IKEA\",\"RED BULL\",\"BEAUTYREST\"],\"capabilities\":[{\"id\":\"colour\",\"name\":\"COLOUR\",\"sig\":\"colour\",\"items\":[{\"line\":\"Grading & look design\",\"note\":\"Primary and secondary grading, with shot matching across multi-camera shoots\"},{\"line\":\"Colour-managed pipelines\",\"note\":\"ACES and custom working spaces, set up from CG through to delivery\"},{\"line\":\"Look development\",\"note\":\"Lookbooks and grade proposals ahead of principal photography\"},{\"line\":\"Film & archival restoration\",\"note\":\"4K restoration and regrade of degraded and archival footage\"},{\"line\":\"Film emulation, grain & denoise\",\"note\":\"Film emulation, grain management and noise reduction\"},{\"line\":\"DCTL and LUT authoring\",\"note\":\"Custom DCTLs and show LUTs, built to brief\"},{\"line\":\"HDR & Dolby Vision workflow\",\"note\":\"HDR and Dolby Vision workflow on a calibrated reference suite\"},{\"line\":\"Live remote grading\",\"note\":\"Attended remote sessions, with the client end configured and supported\"}]},{\"id\":\"motion\",\"name\":\"3D & 2D MOTION DESIGN\",\"sig\":\"motion\",\"items\":[{\"line\":\"Explainer & educational animation\",\"note\":\"Storyboards and style frames through to final, cut to voiceover\"},{\"line\":\"3D look-dev, environments & sim\",\"note\":\"Modelling, lighting, look-dev, occasional environments, particles and simulation through to render\"},{\"line\":\"Campaign titles & packaging\",\"note\":\"Lower thirds, supers, cutdowns and captions, built to the existing brand\"},{\"line\":\"On-air identity systems\",\"note\":\"Title, type, colour and package rules for a channel or series, originated when no kit exists\"},{\"line\":\"2D character animation\",\"note\":\"Rigs and performance animation from supplied 2D artwork\"},{\"line\":\"Editor-ready motion templates\",\"note\":\"Editable templates handed to the client's editor or operator\"}]},{\"id\":\"vfx\",\"name\":\"VFX & COMPOSITING\",\"sig\":\"motion\",\"items\":[{\"line\":\"Live action / CG integration\",\"note\":\"Shot-level compositing of CG into photographed plates\"},{\"line\":\"Assembled on the colour page\",\"note\":\"Multi-pass CG and optical texture built as a node tree in the grade, in the show's working space\"},{\"line\":\"Cleanup & plate repair\",\"note\":\"Paint-outs, rig removal, clean plates, stabilisation and denoise\"},{\"line\":\"Tracking, roto & mattes\",\"note\":\"Planar and 3D tracking, rotoscoping and matte extraction\"}]},{\"id\":\"ai\",\"name\":\"IMAGING & AI\",\"sig\":\"motion\",\"items\":[{\"line\":\"Generated environments in shot photography\",\"note\":\"AI environments composited into product and lifestyle plates\"},{\"line\":\"Stills finishing\",\"note\":\"Retouch, grade and up-res for print and social, including generated plates\"},{\"line\":\"On-premises model training\",\"note\":\"Custom LoRAs trained on client assets, run locally, available under NDA\"},{\"line\":\"Batch stills pipelines\",\"note\":\"Production stills and variants generated, graded and versioned in batch\"}]},{\"id\":\"delivery\",\"name\":\"DELIVERY\",\"sig\":\"both\",\"items\":[{\"line\":\"Masters to spec\",\"note\":\"Broadcast, digital and social masters against the delivery sheet; one theatrical DCP to date\"},{\"line\":\"Multi-version packages\",\"note\":\"Aspect, duration, resolution and language versions from one timeline\"},{\"line\":\"Conform across NLEs\",\"note\":\"Picture conform between Resolve, Premiere and After Effects\"}]},{\"id\":\"suite-colour\",\"name\":\"SUITE\",\"sig\":\"colour\",\"items\":[{\"line\":\"Calibrated reference display\",\"note\":\"Calibrated OLED reference, measured and profiled\"},{\"line\":\"Grading control surface\",\"note\":\"Dedicated grading control surface\"},{\"line\":\"Dolby Vision mastering chain\",\"note\":\"Dolby Vision Professional Tools on site\"}]},{\"id\":\"suite-motion\",\"name\":\"SUITE\",\"sig\":\"motion\",\"items\":[{\"line\":\"Dual-GPU workstation\",\"note\":\"Dual-GPU workstation, twelve cores, 64 GB\"},{\"line\":\"Networked project storage\",\"note\":\"Thirty terabytes of networked project storage\"},{\"line\":\"Render farm overflow\",\"note\":\"Overflow to an external GPU render farm\"}]},{\"id\":\"software\",\"name\":\"SOFTWARE\",\"sig\":\"motion\",\"items\":[{\"line\":\"Colour & finishing\",\"note\":\"Resolve \\xb7 Colourlab Ai \\xb7 Nobe OmniScope \\xb7 LookDesigner \\xb7 FilmLab \\xb7 Neat Video \\xb7 Topaz Video AI \\xb7 Gyroflow\"},{\"line\":\"Motion, comp & edit\",\"note\":\"After Effects \\xb7 Premiere \\xb7 Photoshop \\xb7 Illustrator \\xb7 Continuum \\xb7 Mocha Pro \\xb7 Red Giant \\xb7 Element 3D \\xb7 Descript\"},{\"line\":\"3D\",\"note\":\"Cinema 4D \\xb7 Redshift \\xb7 X-Particles \\xb7 Blender \\xb7 Plasticity \\xb7 SynthEyes\"},{\"line\":\"AI & pipeline\",\"note\":\"ComfyUI \\xb7 Flux / Qwen \\xb7 Topaz \\xb7 Claude Code \\xb7 Python\"}]}],\"recognition\":[{\"name\":\"GOLDEN ASTRO\",\"line\":\"BEST COLOURIST \\xb7 COLOUR.TRAINING\",\"highlight\":true,\"sig\":\"colour\",\"blurb\":\"Awarded by Colour.Training for the final practical, a short film grade, at the close of Dado Valentic's Color Grading Masters Program, and presented in Miami during Art Basel week. Nine months across feature film, episodic, commercials, HDR, ACES and look design.\"}],\"training\":[{\"institution\":\"COLOUR.TRAINING\",\"person\":\"DADO VALENTIC\",\"award\":\"Certificate of Graduation \\xb7 Color Grading Masters Program\",\"course\":\"Color Grading Masters Program\",\"credential\":\"Certificate of Graduation\",\"years\":{\"from\":2024,\"to\":2025},\"sig\":\"both\"},{\"institution\":\"SHERIDAN COLLEGE\",\"award\":\"Graduate Certificate \\xb7 Advanced Film & Television\",\"course\":\"Advanced Film & Television\",\"credential\":\"Graduate Certificate\",\"years\":{\"from\":2006,\"to\":2007},\"sig\":\"both\"},{\"institution\":\"HUMBER COLLEGE\",\"award\":\"Diploma, Multimedia Design \\xb7 Honours, GPA 3.5\",\"course\":\"Multimedia Design\",\"credential\":\"Diploma\",\"years\":{\"from\":2002,\"to\":2004},\"sig\":\"both\"},{\"institution\":\"FXPHD\",\"award\":\"Compositing \\xb7 3D tracking \\xb7 digital cinematography\",\"course\":\"Compositing \\xb7 3D tracking\",\"credential\":\"Certificate\",\"years\":{\"from\":2008,\"to\":2010},\"sig\":\"both\"},{\"institution\":\"SCHOOL OF MOTION\",\"person\":\"MORGAN WILLIAMS\",\"award\":\"Character Animation Bootcamp \\xb7 certificate of completion\",\"course\":\"Character Animation Bootcamp\",\"credential\":\"Certificate\",\"years\":{\"from\":2016,\"to\":2016},\"sig\":\"motion\"},{\"institution\":\"SECOND CITY\",\"award\":\"Improvisation Program, all five levels\",\"course\":\"Improvisation Program, all five levels\",\"credential\":\"Certificate\",\"years\":{\"from\":2013,\"to\":2014},\"sig\":\"both\"}],\"memberships\":[{\"name\":\"Art of Color Research Group\",\"line\":\"Colour.Training colour-science community\",\"sig\":\"colour\"}]};R.bio=[\"Gav Patel is a Toronto-based colourist and motion graphics designer with 17+ years in post-production.\",\"He had been freelancing since 2003, but it started properly at Crush Inc., a broadcast design studio in Toronto, where he spent 3.5 years on idents, title sequences and animation. Those relationships carried into over a decade of work on brands like TD Canada Trust, RBC, Chevrolet, Hyundai, Shoppers Drug Mart and Budweiser — primarily through SJC, Craft Worldwide/McCann MRM and Unreasonable Studios.\",\"Colour grading became a dedicated discipline after he enrolled in Dado Valentic's Color Grading Masters Program at Colour.Training, covering feature film, episodic, commercials, HDR, ACES and look design. He received Colour.Training's <em>Golden Astro for Best Colourist</em> for the program's final practical, presented in Miami during Art Basel week.\",\"His longest creative partnership is with documentary filmmaker Jeanette Kong: three films over more than a decade. On the most recent, <em>Peter Chin: The Blood Remembers</em>, he handled in full: colour grading, editing, motion graphics and archival restoration.\"];var REFS={\"_note\":\"s207 (2026-09-23): the first REAL quotes. Each 'quote' is VERBATIM as Gav pasted it - only the outer quotation marks are dropped (Colour's template prints its own; Motion's numeral marks the quote). Never trim or reword a quote to fit: if one overflows, report the overflow and Gav decides. Dado’s colour quote is Gav’s trim A (2026-09-23): filler removed only (Wow. Wow. / guys, / the second This is the look. / actually / No.), deletions only, order kept, cuts unmarked by his choice of the light trim. Dado Valentic's two are spoken lines from his public review of Gav's Copper Coins grade (Color Lovestream 20, Colourlab Ai, 2025-11-29), quoted with his permission; credit him as TEACHER, never as a client. Jeanette Kong's quote arrived by email 2026-09-29 (subject 'testimonial'), verbatim, credited as she signed it. The remaining placeholders hold the slots for Lisa Hiney (motion) until her words arrive. Nothing here may be invented. The PDF does not read this file. No em dashes (U+2014) anywhere. s212 (2026-09-29): order Dado, Jeanette, Erin (Grok: status, outcome, ongoing trust); the em picks are Grok’s, taken by Gav; the quieter white tier (em2) was DROPPED - white in grey body copy does not read (his call; emph-guard.js). s218 (2026-10-12): Lisa Hiney's quote arrived by email 2026-10-08 (thread 'Re: updating my website'), verbatim (her three paragraphs joined with single spaces, as the others are one block; the line breaks in the email are its wrapping), credited as she signs (Creative Director, SJC Content). She asked that her picture NOT be used - her plate is the SJC mark. Her em picks are mine, taken by Gav; her landing cut (He just rolls with it / and gets the job done …) is his pick. Placed fourth, after Erin (his order kept). s218b: ORDER Dado, Erin, Jeanette, Lisa (short pair on top, long pair below: the 2-column grid sizes each row by its taller quote, so pairing like lengths saves about four lines at 1366, and no column stacks two long quotes; status, ongoing trust, the long record, the agency partner). s212rank keeps the old order for ?qord=prev.\",\"_schema\":{\"quote\":\"verbatim text as the person gave it, no em dashes\",\"name\":\"the person's name\",\"title\":\"their role\",\"org\":\"their organisation\",\"sig\":\"motion | colour | both\",\"em\":\"optional: phrases lifted in the quote, each copied EXACTLY from it (the build refuses one that is not there once); emphasis only, the words never change\",\"s212rank\":\"optional: the position a motion quote had before s218 reordered them (?qord=prev in the mockup); never shown\"},\"references\":[{\"quote\":\"Wait, am I still looking at the references? No, this is the look. This is an FX3. Look at that texture. Look at these eyes. Look at that grain. Look at the feel. Look at this contrast. I honestly thought… is he showing me something better than the reference? Normally the references look so good and the grade doesn’t. This is looking better than the references.\",\"name\":\"Dado Valentic\",\"title\":\"Founder & CEO\",\"org\":\"Colour Intelligence Inc.\",\"sig\":\"colour\",\"em\":[\"This is looking better than the references.\"]},{\"quote\":\"We’re finishers. We’re not just colorists. We take a project and we make it look absolutely amazing and finished. He’s removing a hair clip. He’s removing a light switch. He’s removing equipment. He’s recompositing the shots. This is the finishing on the top, top, top level.\",\"name\":\"Dado Valentic\",\"title\":\"Founder & CEO\",\"org\":\"Colour Intelligence Inc.\",\"sig\":\"motion\",\"em\":[\"He’s removing a hair clip. He’s removing a light switch. He’s removing equipment. He’s recompositing the shots. This is the finishing on the top, top, top level.\"],\"s212rank\":1},{\"quote\":\"I've been working with Gav for over four years, and his leadership, insight, and professionalism in branding, video colorization, and overall creative design have been indispensable. He is the creative genius behind our branding and thumbnails, which continue to help grow our YouTube channel. Most importantly, he is genuine, kind, incredibly professional, and dependable. We are grateful to have him part of our team!\",\"name\":\"Erin Herrick\",\"title\":\"Project Director\",\"org\":\"National Progress Alliance\",\"sig\":\"motion\",\"em\":[\"the creative genius behind our branding and thumbnails, which continue to help grow our YouTube channel\"],\"s212rank\":3},{\"quote\":\"Gav Patel possesses the rare combination of creative talent mixed with a high level of professionalism. For almost 15 years, Gav has contributed outstanding motion graphics to my documentaries, which has garnered awards and accolades at international film festivals. I admire his drive to understand the changes in technology and industry trends. He utilizes them to stay current and his experimentation adds to his creativity. Our most recent project benefited from his deep dive into colouring and Gav produced a style and feel that took the film to another level. He’s a listener and knows how to interpret ideas in a way that elevates them. He has my absolute highest recommendation.\",\"name\":\"Jeanette Kong\",\"title\":\"Documentary Producer and Director\",\"org\":\"Jiang Media Inc.\",\"sig\":\"both\",\"em\":[\"garnered awards and accolades at international film festivals\",\"Gav produced a style and feel that took the film to another level\"],\"s212rank\":2},{\"quote\":\"I've worked with Gav on a variety of projects over the years, from animation to video editing, and he's honestly a pleasure to work with. Gav is always willing to make time for me, even when I come to him with a last-minute project or a ridiculous deadline. He's patient, accommodating and never seems fazed by the endless changes, picky clients or sometimes unreasonable requests that come with this business. He just rolls with it and gets the job done, and always does great work. Beyond being really good at what he does, Gav is just a genuinely nice guy. Easy to work with, dependable and someone I know I can count on. I'd happily recommend him to anyone looking for a solid creative partner.\",\"name\":\"Lisa Hiney\",\"title\":\"Creative Director\",\"org\":\"SJC Content\",\"sig\":\"motion\",\"em\":[\"even when I come to him with a last-minute project or a ridiculous deadline\",\"He just rolls with it and gets the job done, and always does great work.\"],\"s212rank\":4}]};var IMG={\"_note\":\"s198. Optional imagery for the Motion About mockup, keyed so resume.json (which drives the PDF) is never edited from this lane. Every entry is optional: a missing key renders the typographic fallback card. THESE ARE STAND-INS - frames from the live site's Work tiles, not real posters or portraits. Replace or remove as real art arrives.\",\"credits\":{\"PETER CHIN: THE BLOOD REMEMBERS\":{\"src\":\"https://framerusercontent.com/assets/95ZyfSQyOrr4n1YpIZ1UzZtvKI.jpg\",\"pos\":\"50% 50%\"},\"FOR THE RECORD\":{\"src\":\"https://framerusercontent.com/assets/zGBsYTTXnN1rmKC3VMqpcAh9o.jpg\",\"pos\":\"22% 50%\"}},\"engagements\":{\"sjc\":{\"src\":\"https://framerusercontent.com/assets/lZFskNEXZU9ts3iJdyt16bjeU.jpg\",\"pos\":\"50% 60%\"},\"jiang\":{\"src\":\"https://framerusercontent.com/assets/95ZyfSQyOrr4n1YpIZ1UzZtvKI.jpg\",\"pos\":\"50% 45%\"},\"unreasonable\":{\"src\":\"https://framerusercontent.com/assets/7Os6KbSyY4Bjv7JSlvEcj3mzHzE.jpg\",\"pos\":\"80% 50%\"}},\"references\":{\"Dado Valentic\":{\"src\":\"https://framerusercontent.com/assets/DOypLeoochNp9vjxhmAQ9WA6Yw.jpg\",\"pos\":\"50% 36%\"},\"Jeanette Kong\":{\"src\":\"https://framerusercontent.com/assets/eZYjd5mXThMsQ6YKd0Nzqart4.jpg\",\"pos\":\"56% 42%\"},\"Erin Herrick\":{\"src\":\"https://framerusercontent.com/assets/JSMUcKjUQZyKF6ARtUOGH5NfYjw.png\",\"logo\":true,\"_why\":\"she asked that her photo not be used (a small digital footprint) - her organisation's mark, in crimson, no frame (his call)\"},\"Lisa Hiney\":{\"src\":\"https://framerusercontent.com/assets/l1BsIxPFTyKMjhlJvHm2icFNg0.png\",\"logo\":true,\"_why\":`s218: she asked that her picture not be used (\"don't use my picture!!\"); Gav told her he would use only the company logo - the SJC letters (the mark file, not the solid square, which would mask to a plain block), in crimson, no frame, as Erin's`}},\"peeks\":{\"1\":{\"src\":\"https://framerusercontent.com/assets/lZFskNEXZU9ts3iJdyt16bjeU.jpg\",\"pos\":\"50% 60%\"},\"3\":{\"src\":\"https://framerusercontent.com/assets/95ZyfSQyOrr4n1YpIZ1UzZtvKI.jpg\",\"pos\":\"50% 50%\"},\"4\":{\"src\":\"https://framerusercontent.com/assets/7Os6KbSyY4Bjv7JSlvEcj3mzHzE.jpg\",\"pos\":\"80% 50%\"}},\"colour\":{\"_note\":\"s199. Optional imagery for the Colour About mockup (colour/template.html, ?c2). Every entry is optional and the type fallback is the default. award: keyed by recognition name; after/before are a matched graded/ungraded pair of one frame, shown whole (contain), w/h set the frame's aspect. posters: keyed by credit title (2:3 posters only, never a still; none exist). references: keyed by reference name (portraits; none exist).\",\"award\":{\"GOLDEN ASTRO\":{\"after\":\"https://framerusercontent.com/assets/YcHbVK0rBTZRwiCxsW7WbI5JyM.jpg\",\"before\":\"https://framerusercontent.com/assets/fjnRRFoIsLrZzFhtHln5xg7eKrA.jpg\",\"credit\":\"COPPER COINS\",\"w\":900,\"h\":338}},\"posters\":{},\"references\":{}},\"logos\":{\"_note\":\"s199. Gav's approved one-colour logos (light ink on transparent). A brand square or plate keeps its own padding: never crop, pad or recolour these; size the slot, not the file.\",\"engagements\":{\"npa\":{\"src\":\"https://framerusercontent.com/assets/JSMUcKjUQZyKF6ARtUOGH5NfYjw.png\",\"w\":532,\"h\":320,\"optical\":167},\"sjc\":{\"src\":\"https://framerusercontent.com/assets/1vaVUsSyUaGlKhHNDFltfPO5w.png\",\"w\":532,\"h\":320,\"optical\":289,\"proj\":{\"beam\":.5,\"mark\":.85,\"why\":\"s208, Gav: SJC is a solid square, the only one, so the projection from behind made it brighter than it needs to be\"},\"mark\":{\"src\":\"https://framerusercontent.com/assets/l1BsIxPFTyKMjhlJvHm2icFNg0.png\",\"w\":532,\"h\":320}},\"jiang\":{\"src\":\"https://framerusercontent.com/assets/psJNWPHOJpK3NDS3mBzd9NqiMX4.png\",\"w\":532,\"h\":320,\"optical\":167},\"craft\":{\"src\":\"https://framerusercontent.com/assets/fGPk9utdoxLkIEZaXIP6nG0QX0k.png\",\"w\":532,\"h\":320,\"optical\":150},\"lotic\":{\"src\":\"https://framerusercontent.com/assets/ScJLXz2PgzfMdrBpa1XZROJemFs.png\",\"w\":532,\"h\":320,\"optical\":138},\"unreasonable\":{\"src\":\"https://framerusercontent.com/assets/YTCgiyHSBLE0fEbkdB4kJsc6w.png\",\"w\":532,\"h\":320,\"optical\":129},\"reactiv\":{\"src\":\"https://framerusercontent.com/assets/Rl6EsGU4vZq2lkYPilobJEMOn0.png\",\"w\":532,\"h\":320,\"optical\":153},\"videonerve\":{\"src\":\"https://framerusercontent.com/assets/XpVUQqInQiprpSYZf7SpeV1cS4Q.png\",\"w\":532,\"h\":320,\"optical\":167}},\"training\":{\"COLOUR.TRAINING\":{\"src\":\"https://framerusercontent.com/assets/UR3rUD3fMAAW0PbGx1LgeL2Jq0.png\",\"w\":35.3,\"h\":17.3,\"optical\":24.66,\"clamped\":false,\"cover\":.617},\"SHERIDAN COLLEGE\":{\"src\":\"https://framerusercontent.com/assets/Zn35zkUjG2l8cmiOR7DIoS9UG1o.png\",\"w\":24.7,\"h\":24.7,\"optical\":24.66,\"clamped\":false,\"cover\":.66},\"HUMBER COLLEGE\":{\"src\":\"https://framerusercontent.com/assets/8tocdgyuXHksWB3aJ7DpZKQC0Lo.png\",\"w\":25.9,\"h\":23.4,\"optical\":24.66,\"clamped\":false,\"cover\":.539},\"FXPHD\":{\"src\":\"https://framerusercontent.com/assets/EVDWQyftXLwJULUt5EvmBfqiCw.png\",\"w\":24.7,\"h\":24.7,\"optical\":24.66,\"clamped\":false,\"cover\":.63},\"SCHOOL OF MOTION\":{\"src\":\"https://framerusercontent.com/assets/FXbWPjBqJ4PfnJfInwLSk2aqCUE.png\",\"w\":37.5,\"h\":16.2,\"optical\":24.66,\"clamped\":false,\"cover\":.55},\"SECOND CITY\":{\"src\":\"https://framerusercontent.com/assets/rBqG5DV8CxYrg8erV0ALitScwMc.png\",\"w\":23.6,\"h\":25.8,\"optical\":24.66,\"clamped\":false,\"cover\":.284}},\"clients\":{\"TD CANADA TRUST\":{\"src\":\"https://framerusercontent.com/assets/xNwvaKbcfBi81P8quFXFXLbyigI.png\",\"w\":640,\"h\":272,\"optical\":172},\"RBC\":{\"src\":\"https://framerusercontent.com/assets/Yf4rw0zSPWV9osS5rMfQq0rNics.png\",\"w\":640,\"h\":272,\"optical\":124},\"CHEVROLET\":{\"src\":\"https://framerusercontent.com/assets/yRQHSnMyfL6VEx2bc6004yeLdU.png\",\"w\":640,\"h\":272,\"optical\":171},\"HYUNDAI\":{\"src\":\"https://framerusercontent.com/assets/kgVh1g3vDTpDzdeQwNEDbHr7wQ.png\",\"w\":640,\"h\":272,\"optical\":130},\"SHOPPERS DRUG MART\":{\"src\":\"https://framerusercontent.com/assets/6zRxNKjqj3f9oTRhKjuy4S2ncE.png\",\"w\":640,\"h\":272,\"optical\":149},\"BUDWEISER\":{\"src\":\"https://framerusercontent.com/assets/FGWH7girrqVfDkbuI7RNTDovPI.png\",\"w\":640,\"h\":272,\"optical\":171},\"JOHNSON & JOHNSON\":{\"src\":\"https://framerusercontent.com/assets/1aingnqOCIaJ1YABU7Nvz5F5EI.png\",\"w\":640,\"h\":272,\"optical\":106},\"MTN DEW\":{\"src\":\"https://framerusercontent.com/assets/7Pj6EE9IHerAzNcsY4DTxSr8Qc.png\",\"w\":640,\"h\":272,\"optical\":150},\"LIPTON\":{\"src\":\"https://framerusercontent.com/assets/VnkhN6ygKFxx6XU5OyY83LEKll0.png\",\"w\":640,\"h\":272,\"optical\":171},\"NESTL\\xc9\":{\"src\":\"https://framerusercontent.com/assets/NvRKd1SpwsfvFcRBU8wZoKNBpOU.png\",\"w\":640,\"h\":272,\"optical\":172},\"CERAVE\":{\"src\":\"https://framerusercontent.com/assets/GYyFKzGuyXuQLWJsHcE5FqfLk.png\",\"w\":640,\"h\":272,\"optical\":171},\"GARNIER\":{\"src\":\"https://framerusercontent.com/assets/alMPmEKIlvDjD45WVCh3r5DQ.png\",\"w\":640,\"h\":272,\"optical\":155},\"SKINCEUTICALS\":{\"src\":\"https://framerusercontent.com/assets/IiMARHvru76PTMrOljLEJ0lsuhs.png\",\"w\":640,\"h\":272,\"optical\":78},\"CITIBANK\":{\"src\":\"https://framerusercontent.com/assets/Llig6RzZB6YT82weGWw7nRNZA.png\",\"w\":640,\"h\":272,\"optical\":171},\"CBC\":{\"src\":\"https://framerusercontent.com/assets/m333koBjKN9dJVVTWSoqQ41Zc.png\",\"w\":640,\"h\":272,\"optical\":171},\"PEPSI\":{\"src\":\"https://framerusercontent.com/assets/0hBQ2NtVVdGCUwbSkjLIiNGM0c.png\",\"w\":640,\"h\":272,\"optical\":171},\"MITSUBISHI\":{\"src\":\"https://framerusercontent.com/assets/h5YkuNLAaS9OhEcgDQMCTdIDxEc.png\",\"w\":640,\"h\":272,\"optical\":127},\"MAGNUM\":{\"src\":\"https://framerusercontent.com/assets/m4tSRqNgkaISZwTbHV56CEPTZo.png\",\"w\":640,\"h\":272,\"optical\":158},\"IKEA\":{\"src\":\"https://framerusercontent.com/assets/B7Z6zWm1GuI4wO6x6E2NAwEapE.png\",\"w\":640,\"h\":272,\"optical\":171},\"RED BULL\":{\"src\":\"https://framerusercontent.com/assets/nHg85Nzvj9Hwd8RMaXbOcbgoExQ.png\",\"w\":640,\"h\":272,\"optical\":171},\"BEAUTYREST\":{\"src\":\"https://framerusercontent.com/assets/OzdtIL8N4GMkqQ2sRGTFOEh0v9o.png\",\"w\":640,\"h\":272,\"optical\":140}}},\"posters\":{\"_note\":\"s199. Gav's approved filmography art. The well always shows it whole; a thumb fills only when fill is true (its crop costs less than 15%).\",\"credits\":{\"FOR THE RECORD\":{\"src\":\"https://framerusercontent.com/assets/QUefrZHItjlGbtRg9C3ckQ2vfIU.jpg\",\"w\":800,\"h\":1200,\"what\":\"poster\",\"fill\":true},\"A BRIEF RECORD OF MY FATHER'S TIME AT SEA\":{\"src\":\"https://framerusercontent.com/assets/RcWbfPujfAGHnPrzycOCVfexoI.jpg\",\"w\":810,\"h\":1200,\"what\":\"poster\",\"fill\":true},\"FINDING SAMUEL LOWE\":{\"src\":\"https://framerusercontent.com/assets/dtGozqsTsiQdb3dZ7SWDO3T2nM.jpg\",\"w\":800,\"h\":1200,\"what\":\"book cover (Gav's pick)\",\"fill\":true},\"CANADIAN ABORIGINAL MUSIC AWARDS\":{\"src\":\"https://framerusercontent.com/assets/Dx7BS8UH0KXTIesGLlSXLV0LHLE.jpg\",\"w\":805,\"h\":1200,\"what\":\"poster (Gav supplied)\",\"fill\":true},\"THE FOOD DIARIES\":{\"src\":\"https://framerusercontent.com/assets/uLj8TUf3fBKxZOr4UdEzstzowY.jpg\",\"w\":719,\"h\":540,\"what\":\"thumbnail (Gav's pick)\",\"fill\":false},\"PETER CHIN: THE BLOOD REMEMBERS\":{\"src\":\"https://framerusercontent.com/assets/WRtSaa2mNAPtTO6DWTgcdZXQM.jpg\",\"w\":805,\"h\":1200,\"what\":\"poster (Gav supplied)\",\"fill\":true},\"WHATEVER, LINDA\":{\"src\":\"https://framerusercontent.com/assets/S20MAmZPelWpAvfDmmLnCxaus.jpg\",\"w\":805,\"h\":1200,\"what\":\"poster (Gav supplied)\",\"fill\":true},\"THE RON JAMES SHOW\":{\"src\":\"https://framerusercontent.com/assets/62p9B9SS9qMfxmH71KEPDaINS8.jpg\",\"w\":818,\"h\":1200,\"what\":\"IMDb poster (Gav's link)\",\"fill\":true},\"FLIP, FLOP AND FLY\":{\"src\":\"https://framerusercontent.com/assets/I5dHXMpZD2TqyZVZA5AVfzvesU.jpg\",\"w\":806,\"h\":1200,\"what\":\"IMDb poster (Gav's link)\",\"fill\":true},\"THE CONSPIRACY SHOW\":{\"src\":\"https://framerusercontent.com/assets/gbhnLDl9VqbWiRwjSCb4OuHsvBQ.jpg\",\"w\":805,\"h\":1200,\"what\":\"poster (Gav supplied)\",\"fill\":true}}}};var SIGNAL=\"motion\";var SECTION_BOOT_MS=1200;var SECTION_BOOT={span:.66,dur:.34,glitch:1};var DECODE_MS=250;var FRINGE_MS=320;var STACK_LATCH_SPINE_MS=220;var STACK_UNLATCH_SPINE_MS=250;var STACK_UNLATCH_REST_MS=250;var PRESS_FILL_MS=360;var PRESS_BLUR_PX=12;var PRESS_CLIP_PAD_PX=36;var STACK_STATE_MS=500;var BAND_TUCK_MS=250;var WIPE_OPTS={\"1500\":[1500,0],\"1000\":[1e3,0],\"800\":[800,0],\"600\":[600,0],\"400\":[400,0],\"250s\":[250,6],\"167s\":[167,4]};var WIPE_OPT=WIPE_OPTS[new URLSearchParams(location.search).get(\"wipe\")]||null;var NAV_WIPE_SWEEP_MS=WIPE_OPT?WIPE_OPT[0]:800;var WIPE_STEPS=WIPE_OPT?WIPE_OPT[1]:0;function wipeT(dt){var t=Math.max(0,Math.min(1,dt/NAV_WIPE_SWEEP_MS));return WIPE_STEPS&&t<1?Math.floor(t*WIPE_STEPS)/WIPE_STEPS:t;}var MOBILE_NAV_SWEEP_MS=NAV_WIPE_SWEEP_MS;var STACK_EASE=[.7,0,.3,1];var STACK_EASE_CSS=\"cubic-bezier(0.7, 0, 0.3, 1)\";var HUD_EASE=\"cubic-bezier(.2,0,.2,1)\";var FRAME_ON=new URLSearchParams(location.search).get(\"frame\")!==\"0\";var bHolo=new URLSearchParams(location.search).get(\"bholo\")!==\"0\";var BH_ALL=[\"0\",\"hover\",\"flood\"].indexOf(new URLSearchParams(location.search).get(\"bholo\"))<0;var SPINE_IN=FRAME_ON?\"scaleY(1)\":\"scaleX(1)\",SPINE_OUT=FRAME_ON?\"scaleY(0)\":\"scaleX(0)\",SPINE_ORG=FRAME_ON?\"50% 0\":\"0 50%\";var STACK_EDGE_ROW=FRAME_ON?.6:1;var STACK_EDGE_HEAD=1;var NAV_WIPE_BAND_VH=12;var NAV_WIPE_FALLOFF_POW=2.4;var NAV_WIPE_CRT_FRINGE_VH=.3;var NAV_WIPE_CRT_GLOW_VH=1.5;var WIPE_LEAD_RGB=[20,233,235];var FILL_RGB=FRAME_ON?[7,221,252]:WIPE_LEAD_RGB;var MOBILE_CRT_SCAN_ALPHA=.34;var MOBILE_CRT_SCAN_PERIOD=3;var MOBILE_CRT_JUDDER_AMP=2;var MOBILE_CRT_ROLL_ALPHA=.2;var MOBILE_CRT_ROLL_MS=2400;var MOBILE_CRT_TEAR_RATE=1.1;var GLYPHS=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/\\\\[]<>=+*\";var TOOL_IDS={};R.capabilities.forEach(function(g){if(g.sig!==\"colour\")TOOL_IDS[g.id]=1;});var CAP_ICONS={motion:'<path d=\"M6.5 4.5 L11.5 7.3 V12.9 L6.5 15.7 L1.5 12.9 V7.3 Z\"/><path d=\"M1.5 7.3 L6.5 10.1 L11.5 7.3\"/><path d=\"M6.5 10.1 V15.7\"/><path d=\"M3.5 20 C9 20 9.5 10.5 15.5 9.5\"/><path d=\"M18.2 6.8 L21 9.5 L18.2 12.2 L15.4 9.5 Z\"/>',vfx:'<path d=\"M12 3 L14 8 L19.5 4.5 L17 10 L21 12 L16.5 14 L19.5 19.5 L14 17 L12 21 L10 16.5 L4.5 19.5 L7 14 L3 12 L7.5 10 L4.5 4.5 L10 7 Z\"/>',ai:'<rect x=\"2.5\" y=\"4.5\" width=\"19\" height=\"15\"/><path d=\"M2.5 14.5 L11 14.5\"/><path d=\"M13 14.5 L21.5 14.5\" stroke-dasharray=\"2 2\"/><path d=\"M5 14.5 L8 10.8 L10.6 14.5 Z\"/><circle cx=\"17\" cy=\"9\" r=\"1.5\" fill=\"currentColor\" stroke=\"none\"/>',delivery:'<path d=\"M9.5 6.5 H21.5 L18.5 17.5 H6.5 Z\"/><path d=\"M9.5 6.5 L14 12 L21.5 6.5\" stroke-linecap=\"butt\"/><path d=\"M6.5 17.5 L11.5 13.5 M16.5 13.5 L18.5 17.5\" stroke-linecap=\"butt\"/><path d=\"M3.5 8.5 H6.5 M2.5 12 H5.5 M2.5 15.5 H3.5\"/>',software:'<path d=\"M3.5 3.5 H17.5 L20.5 6.5 V20.5 H3.5 Z\"/><path d=\"M7.5 3.5 V9.5 H15.5 V3.5 M7.5 20.5 V13.5 H16.5 V20.5\" stroke-linecap=\"butt\"/><path d=\"M12.5 5.5 V7.5\"/>',\"suite-motion\":'<rect x=\"2.5\" y=\"5.5\" width=\"12\" height=\"10\"/><path d=\"M8.5 15.5 V20.5 M5.5 20.5 H11.5\" stroke-linecap=\"butt\"/><rect x=\"17.5\" y=\"5.5\" width=\"4\" height=\"15\"/><path d=\"M19 9 H20\"/><circle cx=\"19.5\" cy=\"17.5\" r=\".75\" fill=\"currentColor\" stroke=\"none\"/>'};var CAP_ICONS_S205={vfx:'<rect x=\"2.5\" y=\"4.5\" width=\"11.5\" height=\"8.5\"/><rect x=\"10\" y=\"11\" width=\"11.5\" height=\"8.5\"/><path d=\"M8.25 13 V15.25 H10\"/><circle cx=\"8.25\" cy=\"13\" r=\"1.3\" fill=\"currentColor\" stroke=\"none\"/>',delivery:'<rect x=\"2.5\" y=\"4.5\" width=\"19\" height=\"12\"/><path d=\"M9 20.5 H15\"/><path d=\"M12 16.5 V20.5\"/><path d=\"M6.5 10.5 L10 10.5 L11.5 7.5 L14 13.5 L15.5 10.5 L17.5 10.5\"/>',software:'<rect x=\"3\" y=\"3\" width=\"8\" height=\"8\"/><rect x=\"13\" y=\"3\" width=\"8\" height=\"8\"/><rect x=\"3\" y=\"13\" width=\"8\" height=\"8\"/><rect x=\"13\" y=\"13\" width=\"8\" height=\"8\" fill=\"currentColor\" stroke=\"none\"/>',\"suite-motion\":'<rect x=\"2.5\" y=\"4\" width=\"19\" height=\"5.5\"/><rect x=\"2.5\" y=\"14.5\" width=\"19\" height=\"5.5\"/><path d=\"M6.5 9.5 V14.5 M11 9.5 V14.5 M15.5 9.5 V14.5\"/><circle cx=\"18\" cy=\"6.75\" r=\"1.3\" fill=\"currentColor\" stroke=\"none\"/>'};function capIcon(id){var key=String(id).split(\"-x\")[0];var d=marksS205&&CAP_ICONS_S205[key]||CAP_ICONS[key];if(!d)throw new Error(\"no capability mark for group id: \"+key);return'<svg class=\"cap-ico\" width=\"32\" height=\"32\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">'+d+\"</svg>\";}function trainMarkHtml(lg){if(!lg)return\"\";var sz=lg.w&&lg.h?\"width:\"+lg.w+\"px;height:\"+lg.h+\"px;\":\"\";return'<span class=\"logo-mark\" style=\"'+sz+\"--mark:url(&quot;\"+esc(lg.src)+'&quot;)\"></span>';}var TRAIN_SPLIT={\"COLOUR.TRAINING\":[0,1],\"SHERIDAN COLLEGE\":[1,0],\"HUMBER COLLEGE\":[0,1],\"SCHOOL OF MOTION\":[0,1]};function trainParts(institution,award){var m=TRAIN_SPLIT[institution];var p=String(award).split(\" \\xb7 \");if(!m||p.length!==2)return{main:award,sub:\"\"};return{main:p[m[0]],sub:p[m[1]]};}var ABOUT_BOOT_AT=.4;var ABOUT_CUT_INSET_VH=6;var PRESS_SWAP_MS=120;var STACK_EDGE_QUIET=FRAME_ON?.6:1;var QUIET_METRIC=1;var CLOSE_MARK_MS=220;var SVG_CHEV_DOWN='<svg viewBox=\"0 0 10 10\" aria-hidden=\"true\"><path fill=\"currentColor\" d=\"M1.2 3.2 L5 7.2 L8.8 3.2 L7.9 2.3 L5 5.3 L2.1 2.3 Z\"/></svg>';var SVG_CHEV_LEFT='<svg viewBox=\"0 0 10 10\" aria-hidden=\"true\"><path fill=\"currentColor\" d=\"M6.8 1.2 L2.8 5 L6.8 8.8 L7.7 7.9 L4.7 5 L7.7 2.1 Z\"/></svg>';var ROW_BUILD_DRAW_MS=280;var ROW_BUILD_PART_MS=330;var ROW_BUILD_OVERSHOOT=.2;var ROW_BUILD_STAGGER_MS=60;var ROW_BUILD_EASE=HUD_EASE;var HOVER_WASH_OP=\"0.42\";var HOVER_WASH_MS=200;var PRESS_RAMP_MS=340;var FILL_OUT_MS=340;var FAST_DRAIN_MS=200;var params=new URLSearchParams(location.search);var PORT=typeof MFA_HOST!==\"undefined\"&&MFA_HOST?MFA_HOST:null;var rest=params.get(\"rest\")===\"1\";var reduce=window.matchMedia&&window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;var emCyan=params.get(\"em\")===\"cyan\";var groundMode=params.get(\"ground\");if(groundMode!==\"hold\"&&groundMode!==\"quiet\")groundMode=\"site\";var groundHold=groundMode===\"hold\";var CAP_SIZES={\"1440\":[1440,900],\"1600\":[1600,900],\"1920\":[1920,1080]};var capQ=params.get(\"cap\")||(PORT&&PORT.cap?String(PORT.cap):\"\");if(CAP_SIZES[capQ]){MFA_ROOT.style.setProperty(\"--cap-w\",CAP_SIZES[capQ][0]+\"px\");MFA_ROOT.style.setProperty(\"--cap-h\",CAP_SIZES[capQ][1]-68+\"px\");}var bootEdge=params.get(\"boot\")===\"edge\";var bandSym=params.get(\"band\")===\"sym\";var tilesMode=params.get(\"tiles\")||\"b\";if(tilesMode===\"a\")tilesMode=\"b\";if(tilesMode!==\"b\"&&tilesMode!==\"stack\")tilesMode=\"b\";var TILE_H=tilesMode===\"stack\"?96:56;var FILL_FULL_PX=TILE_H+PRESS_CLIP_PAD_PX;var tileQ=parseInt(params.get(\"tile\")||params.get(\"door\")||\"0\",10);if(!(tileQ>=1&&tileQ<=6))tileQ=0;var litQ=parseInt(params.get(\"lit\")==null?\"2\":params.get(\"lit\"),10);if(litQ!==0&&litQ!==1&&litQ!==2)litQ=1;var rowBuild=params.get(\"rowbuild\")!==\"0\";var hoverWashOn=params.get(\"hoverwash\")!==\"0\";var handoffOn=params.get(\"handoff\")!==\"0\";var fastDrain=params.get(\"fastdrain\")!==\"0\";var returnMode=params.get(\"return\")===\"rise\"?\"rise\":\"fall\";var e2On=params.get(\"e2\")!==\"0\";var filmMode=params.get(\"film\");if([\"drum\",\"strip\",\"well\"].indexOf(filmMode)<0)filmMode=\"drum\";var filmDrum=filmMode===\"drum\";var filmStrip=filmMode===\"strip\";var DRUM_R_RATIO=1.341;var DRUM_P_RATIO=2.396;var drumPq=parseFloat(params.get(\"drumP\"));if(drumPq>=1200&&drumPq<=5e3)DRUM_P_RATIO=drumPq/1e3;var DRUM_STEP_DEG=50;var DRUM_STIFF=.36;var DRUM_DAMP=.5454;var DRUM_SCRIM=.72;var DRUM_CULL=1.85;var DRUM_FADE_RATIO=.1882;var DRUM_TOP_RATIO=.1863;var DRUM_AIR_RATIO=.0647;var DRUM_FLOOR_RATIO=.075;var capsQ=params.get(\"caps\");var KNOWN=[\"scroll\",\"rail\",\"row\",\"bleed\",\"0\"];if(capsQ===null||capsQ===\"\"||KNOWN.indexOf(capsQ)<0)capsQ=\"scroll\";var capsScroll=capsQ===\"scroll\";var capsMode=capsScroll?\"rail\":capsQ;var capsOpen=capsMode===\"rail\";var capsHQ=parseInt(params.get(\"capsh\"),10);function fitScrollBox(screen,sel,prop,force){if(force>0){MFA_ROOT.style.setProperty(prop,force+\"px\");return true;}var spec=screen.querySelector(sel);var reg=screen.querySelector('[data-mfa=\"register\"]')||screen;if(!spec||!reg)return false;var st=spec.getBoundingClientRect(),rb=reg.getBoundingClientRect();var below=0;for(var an=spec.parentElement;an;an=an.parentElement){var acs=getComputedStyle(an);below+=(parseFloat(acs.paddingBottom)||0)+(parseFloat(acs.borderBottomWidth)||0);if(an===reg)break;}var room=Math.round(rb.bottom-st.top-Math.max(12,below));if(!(room>80))return false;MFA_ROOT.style.setProperty(prop,room+\"px\");return true;}function fitCapsScroll(screen){if(!capsScroll)return true;return fitScrollBox(screen,'[data-mfa=\"spec\"]',\"--caps-h\",capsHQ);}function fitEngScroll(screen){if(rolesHover)return true;return fitScrollBox(screen,'[data-mfa=\"eng-list\"]',\"--eng-h\",0);}function railOf(host){if(host&&host._railTrack)return host._railTrack.querySelector('[data-mfa=\"caps-rail\"]');return host&&host.parentNode?host.parentNode.querySelector('[data-mfa=\"caps-rail\"]'):null;}function capsScrollRail(screen){if(!capsScroll)return;paintRail(screen.querySelector('[data-mfa=\"spec\"]'),\"caps\");}function filmRail(screen){if(!FRAME_ON||!filmDrum)return;var list=screen.querySelector(\".reg-split .film-cols\");var on=list&&railOf(list);var track=on&&on.parentNode;if(!list||!track)return;track.style.left=(list.offsetLeft+list.offsetWidth+22).toFixed(1)+\"px\";track.style.top=list.offsetTop+\"px\";track.style.height=list.clientHeight+\"px\";paintRail(list,\"film\");}function engScrollRail(screen){if(rolesHover)return;var list=screen.querySelector('[data-mfa=\"eng-list\"]');alignRailToFrame(list);paintRail(list,\"roles\");}function alignRailToFrame(list,secId){if(!FRAME_ON||!list)return;var on=railOf(list),track=on&&on.parentNode;var tr=MFA_ROOT.querySelector(\".fr-br.tr\"),brk=MFA_ROOT.querySelector(\".fr-br.br\");var host=tr&&tr.parentNode;if(!track||!tr||!brk||!host)return;if(track.parentNode!==host){host.appendChild(track);track.classList.add(\"rail-on-frame\");list._railTrack=track;var nOpen=0;for(var k2=0;k2<TILES.length;k2++)if(TILES[k2].id===(secId||\"earlier\"))nOpen=k2+1;var sync=function(){var on2=panel.getAttribute(\"data-mfa-open\")===String(nOpen);if(on2===(track.getAttribute(\"data-sec-on\")===\"1\"))return;track.setAttribute(\"data-sec-on\",on2?\"1\":\"0\");if(!on2)track.setAttribute(\"data-need\",\"0\");else requestAnimationFrame(function(){railFollow(list,(secId||\"roles\")+\" enter\");});};sync();if(window.MutationObserver)new MutationObserver(sync).observe(panel,{attributes:true,attributeFilter:[\"data-mfa-open\"]});}var op=host;var a=tr.getBoundingClientRect(),b=brk.getBoundingClientRect(),p=op.getBoundingClientRect();if(!(a.height>0)||!(b.top>a.bottom))return;var bw=parseFloat(getComputedStyle(tr).borderRightWidth)||2;track.style.left=(a.right-bw/2-.5-p.left).toFixed(1)+\"px\";track.style.right=\"auto\";track.style.top=Math.round(a.bottom+32-p.top)+\"px\";track.style.bottom=\"auto\";track.style.height=Math.max(0,Math.round(b.top-32-(a.bottom+32)))+\"px\";}var RAIL_FOLLOW_MIN_MS=560;function railFollow(host,why){if(!host)return;var gen=(host._railGen||0)+1;host._railGen=gen;var last=-1,still=0,t0=performance.now();var step=function(){if(host._railGen!==gen)return;var el=performance.now()-t0;var cur=host.scrollHeight;if(cur===last)still++;else{still=0;last=cur;}var done=el>=RAIL_FOLLOW_MIN_MS&&still>=3||el>=1500;paintRail(host,why,!done);if(!done)requestAnimationFrame(step);else if(railTrace)console.log(\"[rail] \"+why+\" settled at scroll=\"+cur+\" after \"+el.toFixed(0)+\"ms\");};requestAnimationFrame(step);}function paintRail(spec,why,hold2){var rail=railOf(spec);if(!spec||!rail)return;var h=spec.clientHeight,all=spec.scrollHeight;if(railTrace)console.log(\"[rail] \"+(why||\"?\")+\" need=\"+(all>h)+(hold2?\" hold\":\"\")+\" client=\"+h+\" scroll=\"+all+\" top=\"+spec.scrollTop+\" t=\"+performance.now().toFixed(0));if(hold2&&!(all>h)&&rail.parentNode&&rail.parentNode.getAttribute(\"data-need\")===\"1\")return;var box=rail.parentNode;if(!(all>h)){if(box)box.setAttribute(\"data-need\",\"0\");rail.style.height=\"0px\";rail.style.top=\"0px\";return;}if(box)box.setAttribute(\"data-need\",\"1\");var tH=box&&box.clientHeight||h;var run=Math.max(24,Math.round(tH*h/all));rail.style.height=run+\"px\";rail.style.top=Math.round((tH-run)*(spec.scrollTop/(all-h)))+\"px\";}var ttRowQ=parseInt(params.get(\"ttrow\"),10);if(ttRowQ>=28&&ttRowQ<=56){var ttSt=document.createElement(\"style\");ttSt.textContent='html[data-mfa-caps=\"rail\"] .tools-grid{--tt-row:'+ttRowQ+\"px}\";document.head.appendChild(ttSt);}var dbiMode=params.get(\"dbi\");if([\"glitch\",\"roll\",\"rise\",\"0\"].indexOf(dbiMode)<0)dbiMode=\"glitch\";var dbiArmed=dbiMode===\"roll\"||dbiMode===\"rise\";var capsN=parseInt(params.get(\"capsn\"),10);if(!(capsN>0&&capsN<=20))capsN=0;var notePlace=params.get(\"note\");if([\"both\",\"clear\",\"soft\",\"foot\"].indexOf(notePlace)<0)notePlace=\"both\";var DRUM_FADE_OF_SLACK=.5;var dfq=parseFloat(params.get(\"dfade\"));if(dfq>=10&&dfq<=100)DRUM_FADE_OF_SLACK=dfq/100;var apOn=params.get(\"ap\")!==\"0\";var DRUM_TICK_RATIO=.0667;var DRUM_TICK_SPREAD=1.6;var dtq=parseFloat(params.get(\"dtick\"));if(dtq>=60&&dtq<=400)DRUM_TICK_SPREAD=dtq/100;var psMode=params.get(\"ps\");if([\"rim\",\"lift\",\"play\",\"scale\",\"dim\"].indexOf(psMode)<0)psMode=\"scale\";var psScale=parseFloat(params.get(\"psx\"));if(!(psScale>=2&&psScale<=25))psScale=8;var fitMode=params.get(\"fit\");if([\"auto\",\"bleed\",\"fixed\"].indexOf(fitMode)<0)fitMode=\"bleed\";var fitAuto=fitMode===\"auto\";var fitBleed=fitMode===\"bleed\";var BLEED_SLIDE_MS=420;var pinStrip=params.get(\"pin\")!==\"0\";var sPad=parseFloat(params.get(\"spad\"));if(!(sPad>=8&&sPad<=40))sPad=0;var artOn=params.get(\"art\")!==\"0\"&&!(PORT&&PORT.noImages);var logosOn=params.get(\"logos\")!==\"0\"&&!(PORT&&PORT.noImages);if(PORT){var portFace=MFA_ROOT.querySelector('[data-mfa=\"about-plate\"] .face img');if(portFace){if(PORT.headshot)portFace.src=PORT.headshot;else portFace.style.display=\"none\";}}var engSq=params.get(\"engsq\")!==\"0\";var rollMode=params.get(\"roll\")||\"0\";var BLURB_OPEN_MS=320;var LOGOS=logosOn&&IMG.logos?IMG.logos:{};var POSTERS=logosOn&&IMG.posters&&IMG.posters.credits?IMG.posters.credits:null;var peekOn=e2On&&params.get(\"peek\")===\"1\";var numsOn=e2On&&params.get(\"nums\")===\"1\";var tagOn=e2On&&params.get(\"tag\")===\"1\";var allPhrases=params.get(\"phrases\")===\"all\";var E2={casAt:1250,casStep:240,casHold:340,casRise:320,casFall:380,bootMs:1600,tlBase:300,peekW:300};var TL_Y0=2012,TL_NOW=2026.7,TL_LABEL_W=240,TL_ROW_H=30,TL_GAP=14,TL_TOP=26;var backMode=params.get(\"back\")||\"path\";if([\"root\",\"tile\",\"both\",\"bar\",\"title\",\"promote\",\"row\",\"path\"].indexOf(backMode)<0)backMode=\"path\";var marksS205=params.get(\"marks\")===\"s205\";var rolesOld=params.get(\"roles\")===\"0\";var trainOld=params.get(\"train\")===\"0\";var rolesHover=params.get(\"roles\")===\"hover\";var capsHlCol=params.get(\"capshl\")===\"col\";var railTrace=params.get(\"railtrace\")===\"1\";var ENGFX_TOKENS=[\"mask\",\"holo\",\"reg\",\"nofill\",\"shutter\",\"link\",\"clock\",\"particle\",\"proj\"];var ENGFX_DEFAULT=[\"mask\",\"holo\",\"proj\"];var engFx={};(function(){var q=params.get(\"engfx\");var raw=q==null?null:String(q).trim().toLowerCase();var list=[];if(raw==null)list=ENGFX_DEFAULT;else if(raw===\"0\"||raw===\"none\")list=[];else{list=raw.split(\",\").map(function(t){return t.trim();}).filter(function(t){return ENGFX_TOKENS.indexOf(t)>=0;});if(!list.length)list=ENGFX_DEFAULT;}list.forEach(function(t){engFx[t]=true;});})();var engFxList=ENGFX_TOKENS.filter(function(t){return engFx[t];});var engRead=params.get(\"engread\")===\"1\";var ENGFX_ON=engFxList.length>0;var headPath=backMode===\"path\";var growOn=headPath&&params.get(\"grow\")!==\"0\";var expandPct=parseInt(params.get(\"expand\")||\"25\",10);if(!(expandPct>=0&&expandPct<=80))expandPct=25;var rootInRow=backMode!==\"tile\"&&backMode!==\"path\";var headBackTile=backMode===\"tile\"||backMode===\"both\"||backMode===\"bar\"||backMode===\"title\"||backMode===\"promote\";var headBar=backMode===\"bar\";var headNoBack=backMode===\"row\";var BACK_TILE_H=headBar?40:56;var BACK_FILL_FULL_PX=BACK_TILE_H+PRESS_CLIP_PAD_PX;MFA_ROOT.setAttribute(\"data-mfa-tiles\",tilesMode);MFA_ROOT.setAttribute(\"data-mfa-lit\",String(litQ));var kbOn=new URLSearchParams(location.search).get(\"kb\")!==\"0\";var KB={ledeAt:2200,gap:200,frame:1e3/23.976};var kbFontsRebooted=false;if(kbOn){MFA_ROOT.setAttribute(\"data-mfa-kb\",\"1\");E2.bootMs=3300;E2.casAt=3150;}var REEL_LAYERS=[\"ground\",\"tube\",\"phos\",\"chrome\",\"term\",\"alarm\"];var reelN=PORT?0:parseInt(params.get(\"reel\"),10);if(!(reelN>=1&&reelN<=6))reelN=0;var reelToks=REEL_LAYERS.slice(0,reelN).filter(function(k2){return params.get(\"r\"+k2)!==\"0\";});if(params.get(\"kata\")===\"1\")reelToks.push(\"kata\");if(params.get(\"cursor\")===\"1\"||reelToks.indexOf(\"term\")>=0)reelToks.push(\"cursor\");function reelHas(k2){return reelToks.indexOf(k2)>=0;}if(reelToks.length)MFA_ROOT.setAttribute(\"data-mfa-reel\",reelToks.join(\" \"));if(reelHas(\"term\")){E2.bootMs=2700;E2.casAt=2550;}(function reelMount(){var host=MFA_byId(\"panel\");if(!host||!reelToks.length)return;var frame=null,framePaths=[],kata=[];if(reelHas(\"chrome\")){var fw=document.createElement(\"div\");fw.innerHTML='<svg class=\"reel-frame\" aria-hidden=\"true\"><path class=\"rf-glow\" d=\"\"></path><path class=\"rf-line\" d=\"\"></path></svg>';frame=fw.querySelector(\".reel-frame\");if(frame){host.appendChild(frame);framePaths=[].slice.call(frame.querySelectorAll(\"path\"));}}if(reelHas(\"kata\")){[[\"グラフィックデザイン\",\"tl\"],[\"デジタルアート\",\"tr\"],[\"アニメーション\",\"bl\"],[\"モーショングラフィックス\",\"br\"]].forEach(function(k2){var s=document.createElement(\"span\");s.className=\"reel-kata\";s.setAttribute(\"data-corner\",k2[1]);s.setAttribute(\"aria-hidden\",\"true\");s.textContent=k2[0];host.appendChild(s);kata.push(s);});}var FI=10,FS=8,FT=3;function layout2(){var W=host.clientWidth,H=host.clientHeight;if(!(W>0&&H>0))return;var i=FI,s=FS,x1=Math.round(W*.2),x2=Math.round(W*.8),y1=Math.round(H*.14),y2=Math.round(H*.84),b=reelHas(\"alarm\")?8:0;function run(ax,ay,bx,by,ox,oy){return b?\" Q\"+((ax+bx)/2+ox*b)+\" \"+((ay+by)/2+oy*b)+\" \"+bx+\" \"+by:\" L\"+bx+\" \"+by;}if(frame){var d=\"M\"+i+\" \"+FT+\" L\"+(W-i)+\" \"+FT+\" L\"+(W-i)+\" \"+y1+\" L\"+(W-i-s)+\" \"+(y1+s)+run(W-i-s,y1+s,W-i-s,y2-s,1,0)+\" L\"+(W-i)+\" \"+y2+\" L\"+(W-i)+\" \"+(H-i)+\" L\"+x2+\" \"+(H-i)+\" L\"+(x2-s)+\" \"+(H-i-s)+run(x2-s,H-i-s,x1+s,H-i-s,0,1)+\" L\"+x1+\" \"+(H-i)+\" L\"+i+\" \"+(H-i)+\" L\"+i+\" \"+y2+\" L\"+(i+s)+\" \"+(y2-s)+run(i+s,y2-s,i+s,y1+s,-1,0)+\" L\"+i+\" \"+y1+\" Z\";frame.setAttribute(\"viewBox\",\"0 0 \"+W+\" \"+H);framePaths.forEach(function(p){p.setAttribute(\"d\",d);});}kata.forEach(function(el){var c=el.getAttribute(\"data-corner\");el.style.left=el.style.right=el.style.top=el.style.bottom=\"\";if(c[0]===\"t\")el.style.top=FT+6+\"px\";else el.style.bottom=FI+4+\"px\";if(c[1]===\"l\")el.style.left=FI+14+\"px\";else el.style.right=(c===\"tr\"?120:FI+14)+\"px\";});}var ledeEl2=MFA_byId(\"lede\");function ledeLines(){if(!ledeEl2||!reelHas(\"term\"))return;var lh=parseFloat(getComputedStyle(ledeEl2).lineHeight),hh=ledeEl2.offsetHeight;var n=lh>0&&hh>0?Math.max(1,Math.round(hh/lh)):5;ledeEl2.style.setProperty(\"--reel-lines\",String(n));}function ledeLinesSafe(){try{ledeLines();}catch(e){}}layout2();ledeLinesSafe();if(window.requestAnimationFrame)requestAnimationFrame(ledeLinesSafe);MFA_onLoad(ledeLinesSafe);MFA_on(window,\"resize\",function(){layout2();ledeLinesSafe();});if(reelHas(\"alarm\")){var alarmLt=document.createElement(\"div\");alarmLt.className=\"reel-alarm\";alarmLt.setAttribute(\"aria-hidden\",\"true\");var holdEl=MFA_byId(\"hold\");host.insertBefore(alarmLt,holdEl?holdEl.nextSibling:host.firstChild);var pwr=document.createElement(\"div\");pwr.className=\"reel-pwr\";pwr.setAttribute(\"aria-hidden\",\"true\");document.body.appendChild(pwr);var power=function(){if(reduce||rest)return;pwr.removeAttribute(\"data-on\");void pwr.offsetWidth;pwr.setAttribute(\"data-on\",\"1\");};power();var rb=MFA_byId(\"btnReplay\");if(rb)rb.addEventListener(\"click\",power);window.mfReelPower=power;}})();MFA_ROOT.setAttribute(\"data-mfa-back\",backMode);MFA_ROOT.setAttribute(\"data-mfa-frame\",FRAME_ON?\"1\":\"0\");(function(){var c=new URLSearchParams(location.search).get(\"crn\");MFA_ROOT.setAttribute(\"data-mfa-crn\",c===\"0\"||c===\"all\"?c:\"br\");})();(function(){var sj=new URLSearchParams(location.search).get(\"spinejoin\");MFA_ROOT.setAttribute(\"data-mfa-sj\",sj===\"0\"?\"0\":\"in\");var bh=new URLSearchParams(location.search).get(\"bholo\");MFA_ROOT.setAttribute(\"data-mfa-bholo\",bh===\"0\"||bh===\"flood\"||bh===\"hover\"?bh:\"all\");var lg=new URLSearchParams(location.search).get(\"lineglow\");MFA_ROOT.setAttribute(\"data-mfa-lg\",lg===\"0\"?\"0\":\"lit\");})();var SEC_NUM=PORT&&PORT.secNum||\"02\";MFA_ROOT.style.setProperty(\"--sec-num\",JSON.stringify(SEC_NUM));(function(){var n=MFA_byId(\"ftNum\");if(n)n.textContent=SEC_NUM;var m=MFA_byId(\"frNum\");if(m)m.textContent=SEC_NUM;})();function frameMargin(){var st=MFA_ROOT.querySelector(\".stage\");MFA_ROOT.setAttribute(\"data-mfa-margin\",st&&st.getBoundingClientRect().left>=150?\"1\":\"0\");}frameMargin();MFA_on(window,\"resize\",frameMargin);if(emCyan)MFA_ROOT.setAttribute(\"data-mfa-em\",\"cyan\");MFA_ROOT.setAttribute(\"data-mfa-e2\",e2On?\"1\":\"0\");MFA_ROOT.setAttribute(\"data-mfa-film\",e2On?filmMode:\"well\");MFA_ROOT.setAttribute(\"data-mfa-ps\",psMode);MFA_ROOT.setAttribute(\"data-mfa-caps\",capsMode);MFA_ROOT.setAttribute(\"data-mfa-marks\",marksS205?\"s205\":\"s207\");MFA_ROOT.setAttribute(\"data-mfa-roles\",rolesOld?\"0\":\"f\");MFA_ROOT.setAttribute(\"data-mfa-train\",trainOld?\"0\":\"g\");MFA_ROOT.setAttribute(\"data-mfa-rolesopen\",rolesHover?\"hover\":\"click\");MFA_ROOT.setAttribute(\"data-mfa-capshl\",capsHlCol?\"col\":\"head\");if(capsScroll)MFA_ROOT.setAttribute(\"data-mfa-capscroll\",\"1\");if(filmDrum)MFA_ROOT.setAttribute(\"data-mfa-note\",notePlace);if(filmDrum)MFA_ROOT.setAttribute(\"data-mfa-ap\",apOn?\"1\":\"0\");if(psMode===\"scale\")MFA_ROOT.style.setProperty(\"--ps-scale\",String(1+psScale/100));if(fitMode)MFA_ROOT.setAttribute(\"data-mfa-fit\",fitMode);if(fitBleed)MFA_ROOT.style.setProperty(\"--bleed-ms\",BLEED_SLIDE_MS+\"ms\");if(sPad)MFA_ROOT.style.setProperty(\"--strip-pad-b\",sPad+\"px\");if(!pinStrip)MFA_ROOT.setAttribute(\"data-mfa-pin\",\"0\");MFA_ROOT.setAttribute(\"data-mfa-art\",artOn?\"1\":\"0\");MFA_ROOT.setAttribute(\"data-mfa-logos\",logosOn?\"1\":\"0\");if(logosOn)MFA_ROOT.setAttribute(\"data-mfa-engsq\",engSq?\"1\":\"0\");MFA_ROOT.setAttribute(\"data-mfa-peek\",peekOn?\"1\":\"0\");MFA_ROOT.setAttribute(\"data-mfa-nums\",numsOn?\"1\":\"0\");MFA_ROOT.setAttribute(\"data-mfa-tag\",tagOn?\"1\":\"0\");if(ENGFX_ON)MFA_ROOT.setAttribute(\"data-mfa-engfx\",engFxList.join(\" \"));if(engRead)MFA_ROOT.setAttribute(\"data-mfa-engread\",\"1\");MFA_ROOT.style.setProperty(\"--tile-h\",TILE_H+\"px\");var ROOT=6;var ROOT_N=7;function visIdx(i){return i===ROOT?0:i+1;}function rowDelay(i){if(!rootInRow)return i===ROOT?0:i*ROW_BUILD_STAGGER_MS;return visIdx(i)*ROW_BUILD_STAGGER_MS;}var stop=\"about\";var open=0;var animating=false;var tripGen=0;var sweepRaf=0;var layout=[];var fillGen=[0,0,0,0,0,0,0];var fillFloor=[0,0,0,0,0,0,0];var rowBuildGen=0;var wipeTuckToken=0;var crtRaf=0;var bootId=0,bootRaf=0,bootEls=null;var lastFrame={seam:null,fill:null,t:null};var lastWheelAt=0;var bootFiredAt=null;var bootOrderDir=\"up\";var holdOn=false;var crtMem={tearNext:0,tearUntil:0,tearTop:0,tearShift:0};function keep(x){return x&&(x.sig===\"motion\"||x.sig===\"both\");}function esc(s){return String(s==null?\"\":s).replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/\"/g,\"&quot;\");}function clean(s){return String(s==null?\"\":s).replace(/\\u2014/g,\" – \");}var QEM=new URLSearchParams(location.search).get(\"qem\")||\"\";function quoteHtml(r){var h=esc(clean(r.quote||\"\"));if(QEM===\"0\")return h;[[\"em\",\"q-em\"]].forEach(function(t){(r[t[0]]||[]).forEach(function(w){var e=esc(clean(w));if(h.split(e).length!==2)throw new Error(t[0]+\" not in the quote once: \"+w);h=h.replace(e,function(){return'<em class=\"'+t[1]+'\">'+e+\"</em>\";});});});return h;}function pad2(n){return(n<10?\"0\":\"\")+n;}function yr(v){return v===\"now\"||v===\"NOW\"?\"NOW\":String(v);}function rangeOf(r,fallback){if(fallback)return clean(fallback);if(!r)return\"\";if(r.from===r.to)return String(r.from);return yr(r.from)+\" \\xb7 \"+yr(r.to);}function clamp(v,a,b){return Math.max(a,Math.min(b,v));}function easeOutPower(t,p){return 1-Math.pow(1-t,p);}function hash01(a,b){var n=a*374761393+b*668265263|0;n=(n^n>>>13)*1274126177;return((n^n>>>16)>>>0)/4294967296;}function sec(id){return R.sections.filter(function(s){return s.id===id;})[0]||{};}function twoRaf(fn){requestAnimationFrame(function(){requestAnimationFrame(fn);});}function cancelAnims(el){if(!el||!el.getAnimations)return;el.getAnimations().forEach(function(a){try{a.cancel();}catch(e){}});el._anims=null;}function cubicBezier(p1x,p1y,p2x,p2y){function cx(t){return 3*p1x*(1-t)*(1-t)*t+3*p2x*(1-t)*t*t+t*t*t;}function cy(t){return 3*p1y*(1-t)*(1-t)*t+3*p2y*(1-t)*t*t+t*t*t;}function solve(f,v){var lo=0,hi=1;for(var i=0;i<40;i++){var m=(lo+hi)/2;if(f(m)<v)lo=m;else hi=m;}return(lo+hi)/2;}return{y:function(x){if(x<=0)return 0;if(x>=1)return 1;return cy(solve(cx,x));},inv:function(y){if(y<=0)return 0;if(y>=1)return 1;return cx(solve(cy,y));}};}var BEZ=cubicBezier(STACK_EASE[0],STACK_EASE[1],STACK_EASE[2],STACK_EASE[3]);function toKey(v){if(v===\"now\"||v===\"NOW\")return 99999;var n=Number(v);return isFinite(n)?n:-1;}function sortByToDesc(arr){return arr.map(function(item,i){return{item,i};}).sort(function(a,b){var db=toKey(b.item.range&&b.item.range.to)-toKey(a.item.range&&a.item.range.to);if(db)return db;return a.i-b.i;}).map(function(x){return x.item;});}var engagements=R.engagements.filter(keep);var current=sortByToDesc(engagements.filter(function(e){return e.era===\"current\";}));var earlier=sortByToDesc(engagements.filter(function(e){return e.era===\"earlier\";}));var credits=R.credits.filter(keep);var filmsN=parseInt(params.get(\"films\"),10);if(filmsN>credits.length&&filmsN<=40){var realN=credits.length,padded=credits.slice();for(var pi=realN;pi<filmsN;pi++){var src=credits[pi%realN],copy={};for(var k in src)if(Object.prototype.hasOwnProperty.call(src,k))copy[k]=src[k];copy.title=src.title+\" [\"+(Math.floor(pi/realN)+1)+\"]\";copy.artTitle=src.title;padded.push(copy);}credits=padded;}var brands=R.clients.slice();var caps=R.capabilities.filter(function(g){return TOOL_IDS[g.id];});if(capsN>caps.length){var capsReal=caps.length;for(var cg=capsReal;cg<capsN;cg++){var src=caps[cg%capsReal];caps.push({id:src.id+\"-x\"+cg,name:src.name+\" [2]\",sig:src.sig,items:src.items});}}var capLines=caps.reduce(function(n,g){return n+(g.items?g.items.length:0);},0);var rec=R.recognition.filter(keep);var train=R.training.filter(keep);var refs=(REFS.references||[]).filter(keep);if(params.get(\"qord\")===\"prev\")refs.sort(function(a,b){return(a.s212rank||99)-(b.s212rank||99);});var refsReal=refs.filter(function(r){return r.name!==\"[NAME]\"&&!/PLACEHOLDER/.test(r.quote||\"\");}).length;var toolsMetric=capLines+train.length;var earlierSub=function(){var a=9999,b=0;earlier.forEach(function(e){if(e.range.from<a)a=e.range.from;var t=e.range.to===\"now\"?9999:e.range.to;if(t!==9999&&t>b)b=t;});return a+\" \\xb7 \"+b;}();var toolsSub=clean((sec(\"capabilities\").sub||\"TOOLS & LICENCES\")+\" \\xb7 \"+(sec(\"training\").sub||\"EDUCATION\"));var brandsSub=\"WORKED ON THROUGH STUDIOS AND AGENCIES \\xb7 SINCE 2003\";var panel=MFA_byId(\"panel\");var pitch=MFA_byId(\"pitch\");var pitchSbody=MFA_byId(\"pitchBody\");var wellEl=MFA_byId(\"well\");var menu=MFA_byId(\"menu\");var bandHost=MFA_byId(\"bandHost\");var seamEl=MFA_byId(\"seam\");var wipe=MFA_byId(\"wipe\");var wipeRamp=MFA_byId(\"wipeRamp\");var wipeScan=MFA_byId(\"wipeScan\");var wipeRoll=MFA_byId(\"wipeRoll\");var wipeTear=MFA_byId(\"wipeTear\");var hold=MFA_byId(\"hold\");var contact=MFA_byId(\"fakeContact\");var navAbout=MFA_byId(\"navAbout\");var navContact=MFA_byId(\"navContact\");var navWork=MFA_byId(\"navWork\");panel.setAttribute(\"data-mfa-ground\",groundMode);MFA_byId(\"nm\").textContent=R.name;var disc=MFA_byId(\"discLine\");R.disciplines.forEach(function(d,i){if(i){var sep=document.createElement(\"span\");sep.className=\"sep\";sep.setAttribute(\"aria-hidden\",\"true\");sep.textContent=\"\\xb7\";disc.appendChild(sep);}if(d.signal===\"motion\"){var b=document.createElement(\"b\");b.textContent=d.label;disc.appendChild(b);}else{var sp=document.createElement(\"span\");sp.textContent=d.label;disc.appendChild(sp);}});MFA_byId(\"loc\").innerHTML=esc(R.location).replace(\" / \",' <span class=\"sl\">/</span> ');var HOT=[[\"17+ years\",2],[\"broadcast, advertising and documentary\",3],[\"grading\",5],[\"AI model training and his own pipelines\",5],[\"long-form narrative\",3],[\"Crush Inc.\",2],[\"TD Canada Trust, RBC, Chevrolet, Hyundai, Shoppers Drug Mart and Budweiser\",4],[\"SJC, Craft Worldwide/McCann MRM and Unreasonable Studios\",1],[\"Color Grading Masters Program\",5],[\"<em>Golden Astro for Best Colourist</em>\",6],[\"Jeanette Kong\",1],[\"<em>Peter Chin: The Blood Remembers</em>\",3]];var SIX=[[\"SJC, Craft Worldwide/McCann MRM and Unreasonable Studios\",1],[\"Crush Inc.\",2],[\"<em>Peter Chin: The Blood Remembers</em>\",3],[\"TD Canada Trust, RBC, Chevrolet, Hyundai, Shoppers Drug Mart and Budweiser\",4],[\"Color Grading Masters Program\",5],[\"<em>Golden Astro for Best Colourist</em>\",6]];var HOT_ALL=HOT;if(!allPhrases)HOT=SIX;var offSig=(R.recognition||[]).filter(function(a){return!keep(a);}).map(function(a){return String(a.name||\"\").toLowerCase();}).filter(Boolean);function namesOff(t){var l=String(t).replace(/<[^>]+>/g,\"\").toLowerCase();return offSig.some(function(n){return l.indexOf(n)>=0;});}HOT=HOT.filter(function(h){return!namesOff(h[0]);});function dropOffSig(para){if(!offSig.length)return para;var bits=String(para).split(/(\\.\\s+)/),out=\"\";for(var i=0;i<bits.length;i+=2){var sent=bits[i]+(bits[i+1]||\"\");if(!namesOff(sent))out+=sent;}return out.replace(/\\s+$/,\"\");}function ledeEm(h){if(/[?&]ledeem=0(&|$)/.test(location.search))return h;(R.positioningEm||[]).forEach(function(w){var e=esc(clean(w));if(h.split(e).length!==2)throw new Error(\"positioningEm not in the positioning once: \"+w);h=h.replace(e,function(){return'<em class=\"l-em\">'+e+\"</em>\";});});return h;}var hotSeen={};var hotUsed={lede:{},bio:{}};function hotify(html,scope){if(!e2On)return html;HOT.forEach(function(h){var key=h[0],n=h[1];if(html.indexOf(key)<0||hotUsed[scope][key])return;hotUsed[scope][key]=1;hotSeen[key]=1;html=html.replace(key,'<span class=\"hot\" role=\"button\" tabindex=\"0\" data-n=\"0'+n+'\" data-mfa-hot=\"'+n+'\">'+key+\"</span>\");});return html;}if(e2On){var HL=R.headlineMotion||R.headline,HL_EM=R.headlineMotion?R.headlineMotionEm||[]:R.headlineEm||[];var hlHtml=esc(HL);HL_EM.forEach(function(w){if(hlHtml.indexOf(esc(w))<0)throw new Error(\"headlineEm not in the headline: \"+w);hlHtml=hlHtml.replace(esc(w),'<span class=\"hw\">'+esc(w)+\"</span>\");});MFA_byId(\"headline\").innerHTML=hlHtml+'<span class=\"caret\" aria-hidden=\"true\"></span>';var ledeBase=esc(clean(R.positioning));if(FRAME_ON){(R.positioningEm||[]).forEach(function(w){var hk=HOT_ALL.filter(function(h){return h[0]===w;})[0];if(!hk)throw new Error(\"positioningEm has no section in HOT: \"+w);var e=esc(clean(w));if(ledeBase.split(e).length!==2)throw new Error(\"positioningEm not in the positioning once: \"+w);ledeBase=ledeBase.replace(e,function(){return'<span class=\"hot\" role=\"button\" tabindex=\"0\" data-n=\"0'+hk[1]+'\" data-mfa-hot=\"'+hk[1]+'\">'+e+\"</span>\";});});}else ledeBase=ledeEm(ledeBase);var ledeTxt=ledeBase.replace(/ (\\S+)$/,\"\\xa0$1\");MFA_byId(\"lede\").innerHTML=allPhrases?hotify(ledeTxt,\"lede\"):ledeTxt;}else{MFA_byId(\"headline\").textContent=R.headlineMotion||R.headline;MFA_byId(\"lede\").textContent=R.positioning;}MFA_byId(\"profSub\").textContent=clean(sec(\"bio\").sub||\"THE SHORT VERSION\");var COLO=\"DESIGNED & BUILT IN-HOUSE\";var coloFoot=MFA_byId(\"coloFoot\");if(coloFoot)coloFoot.textContent=\"\\xa9 \"+/* @__PURE__ */new Date().getFullYear()+\" \\xb7 gav@mindfactory.ca \\xb7 \"+COLO;if(!PORT)try{console.log(\"%cMIND FACTORY%c  \"+COLO+\" \\xb7 mindfactory.ca\",\"font:700 12px sans-serif;letter-spacing:.2em;color:#00d5f0;background:#07080c;padding:4px 8px\",\"font:12px sans-serif;letter-spacing:.08em;color:#848b9c\");}catch(e){}var profBody=MFA_byId(\"profBody\");(R.bio||[]).forEach(function(para,i){var p=document.createElement(\"p\");p.setAttribute(\"data-mfa-boot\",String(4+i));p.setAttribute(\"data-n\",pad2(i+1));p.innerHTML=hotify(clean(dropOffSig(para)),\"bio\");profBody.appendChild(p);});if(e2On){HOT.forEach(function(h){if(!hotSeen[h[0]])throw new Error(\"hot phrase not in the copy: \"+h[0]);});}var TILES=[{id:\"engagements\",tab:\"CURRENT\",face:\"01 CURRENT\",cap:\"ENGAGEMENTS\",metric:pad2(current.length),title:\"ENGAGEMENTS\",sub:clean(sec(\"engagements\").sub||\"\")},{id:\"earlier\",tab:\"EARLIER\",face:\"02 EARLIER\",cap:\"EARLIER ROLES\",metric:pad2(earlier.length),title:\"EARLIER ROLES\",sub:earlierSub},{id:\"filmography\",tab:\"CREDITS\",face:\"03 CREDITS\",cap:\"FILMOGRAPHY\",metric:pad2(credits.length),title:\"FILMOGRAPHY\",sub:clean(sec(\"filmography\").sub||\"\")},{id:\"clients\",tab:\"BRANDS\",face:\"04 BRANDS\",cap:\"SELECTED BRANDS\",metric:pad2(brands.length),title:\"SELECTED BRANDS\",sub:brandsSub},{id:\"tools\",tab:\"TOOLS\",face:\"05 TOOLS\",cap:\"TOOLS & TRAINING\",metric:pad2(toolsMetric),title:\"TOOLS & TRAINING\",sub:toolsSub},/* s211 (owner): TESTIMONIALS. The tile said REFERENCES, the heading RECOGNITION and the\n       sub REFERENCES again - three names for one section of quotes. With no award on Motion\n       it is one name everywhere; RECOGNITION comes back only if an award ever lands here. */rec.length?{id:\"recognition\",tab:\"RECOGNITION\",face:\"06 RECOGNITION\",cap:\"RECOGNITION\",metric:pad2(refsReal),title:\"RECOGNITION\",sub:\"TESTIMONIALS \\xb7 AWARDS\"}:{id:\"recognition\",tab:\"TESTIMONIALS\",face:\"06 TESTIMONIALS\",cap:\"TESTIMONIALS\",metric:pad2(refsReal),title:\"TESTIMONIALS\",sub:pad2(refsReal)+\" QUOTES\"}];(function(){var fm=MFA_byId(\"ftMeta\");if(fm)fm.textContent=pad2(TILES.length)+\" SECTIONS\";})();function barHtmlStack(n,tab){var idx=pad2(n);return'<div class=\"mf-stack-bar\" data-mfa=\"stack-bar\" data-mfa-bar=\"'+n+'\" data-state=\"row\"><div class=\"mf-bar-edge-top\"></div><div class=\"mf-bar-edge-hi\"></div><div class=\"mf-bar-edge\"></div><div class=\"mf-bar-wash\"></div><div class=\"mf-bar-face mf-bar-row\"><span class=\"mf-bar-n\">'+idx+'</span><span class=\"mf-bar-t\">'+esc(tab)+'</span></div><div class=\"mf-bar-face mf-bar-head\"><span class=\"mf-bar-n\">'+idx+'</span><span class=\"mf-bar-t\">'+esc(tab)+'</span></div><div class=\"mf-bar-grip\"></div><span class=\"mf-close-mark\" data-mfa=\"close-mark\" aria-hidden=\"true\">'+SVG_CHEV_DOWN+\"</span></div>\";}function metricTwinHtml(t){return'<span class=\"metric-w\"><span class=\"metric-glow\" aria-hidden=\"true\">'+esc(t.metric)+'</span><span class=\"metric\" data-decode=\"'+esc(t.metric)+'\">'+esc(t.metric)+\"</span></span>\";}function faceHtmlFlatRow(t){return metricTwinHtml(t)+'<span class=\"cap-w\"><span class=\"cap\">'+esc(t.cap)+'</span><span class=\"cap-hi\" aria-hidden=\"true\">'+esc(t.cap)+\"</span></span>\";}function faceHtmlFlatHead(t){return'<span class=\"metric\" data-decode=\"'+esc(t.metric)+'\">'+esc(t.metric)+'</span><span class=\"cap-w\"><span class=\"cap\">'+esc(t.cap)+'</span><span class=\"cap-hi\" aria-hidden=\"true\">'+esc(t.cap)+\"</span></span>\";}function barHtmlFlat(n,t){return'<div class=\"mf-stack-bar\" data-mfa=\"stack-bar\" data-mfa-bar=\"'+n+'\" data-state=\"row\"><div class=\"mf-bar-edge-top\"></div><div class=\"mf-bar-edge-hi\"></div><div class=\"mf-bar-edge\"></div><div class=\"mf-bar-wash\"></div><div class=\"mf-bar-face mf-bar-row\">'+faceHtmlFlatRow(t)+'</div><div class=\"mf-bar-face mf-bar-head\">'+faceHtmlFlatHead(t)+'</div><div class=\"mf-bar-grip\"></div><span class=\"mf-close-mark\" data-mfa=\"close-mark\" aria-hidden=\"true\">'+SVG_CHEV_DOWN+'</span><span class=\"well-edge-hi\"></span></div>';}function buildRootTile(){var btn=document.createElement(\"button\");btn.type=\"button\";btn.className=\"tile\";btn.setAttribute(\"data-mfa-root\",\"1\");btn.setAttribute(\"data-mfa-fill\",\"1\");btn.setAttribute(\"aria-current\",\"true\");btn.setAttribute(\"aria-label\",\"00 OPENING\");var press='<div class=\"mf-press-well\"><div class=\"mf-press-clip\"><div class=\"mf-press-fill\"></div></div></div><div class=\"mf-tile-spine\"></div><div class=\"mf-hover-well\"><div class=\"mf-hover-wash\"></div></div>';var rootFace={metric:\"00\"};if(tilesMode===\"stack\"){btn.innerHTML=press+'<div class=\"mf-stack-bar\" data-mfa=\"stack-bar\" data-mfa-bar=\"0\" data-state=\"row\"><div class=\"mf-bar-edge-top\"></div><div class=\"mf-bar-edge-hi\"></div><div class=\"mf-bar-edge\"></div><div class=\"mf-bar-wash\"></div><div class=\"mf-bar-face mf-bar-row\"><span class=\"mf-bar-n\">00</span><span class=\"mf-bar-t\">OPENING</span></div><div class=\"mf-bar-face mf-bar-head\"><span class=\"mf-bar-n\">00</span><span class=\"mf-bar-t\">OPENING</span></div></div><div class=\"well\">'+metricTwinHtml(rootFace)+'<span class=\"well-edge\"></span><span class=\"well-edge-hi\"></span></div><span class=\"fit-tag\">FIT</span>';}else{btn.innerHTML=press+'<div class=\"mf-stack-bar\" data-mfa=\"stack-bar\" data-mfa-bar=\"0\" data-state=\"row\"><div class=\"mf-bar-edge-top\"></div><div class=\"mf-bar-edge-hi\"></div><div class=\"mf-bar-edge\"></div><div class=\"mf-bar-wash\"></div><div class=\"mf-bar-face mf-bar-row\">'+metricTwinHtml(rootFace)+'</div><div class=\"mf-bar-face mf-bar-head\"><span class=\"metric\" data-decode=\"00\">00</span></div><span class=\"well-edge-hi\"></span></div><span class=\"fit-tag\">FIT</span>';}return btn;}var rootTile=buildRootTile();menu.appendChild(rootTile);TILES.forEach(function(t,i){var n=i+1;var btn=document.createElement(\"button\");btn.type=\"button\";btn.className=\"tile\";btn.setAttribute(\"data-mfa-tile\",String(n));btn.setAttribute(\"data-mfa-fill\",\"0\");btn.setAttribute(\"aria-expanded\",\"false\");var press='<div class=\"mf-press-well\"><div class=\"mf-press-clip\"><div class=\"mf-press-fill\"></div></div></div><div class=\"mf-tile-spine\"></div><div class=\"mf-hover-well\"><div class=\"mf-hover-wash\"></div></div>';if(tilesMode===\"stack\"){btn.innerHTML=press+barHtmlStack(n,t.tab)+'<div class=\"well\">'+metricTwinHtml(t)+'<span class=\"cap-w\"><span class=\"cap\">'+esc(t.cap)+'</span><span class=\"cap-hi\" aria-hidden=\"true\">'+esc(t.cap)+'</span></span><span class=\"well-edge\"></span><span class=\"well-edge-hi\"></span></div><span class=\"fit-tag\">FIT</span>';}else{btn.innerHTML=press+barHtmlFlat(n,t)+'<span class=\"fit-tag\">FIT</span>';}menu.appendChild(btn);});function rowHtml(item,i,kind,slot){var idx=pad2(i+1);var name=clean(item.name||item.title||\"\");var role=clean(item.roleLine||item.role||\"\");var yrs=rangeOf(item.range||item.year,item.rangeText);if(kind===\"film\"){var dir=clean(item.director||\"\");var prod=clean(item.production||\"\");var fmt=clean(item.format||\"\");var caps2=(filmDrum?[prod,fmt]:[dir,prod,fmt]).filter(Boolean).join(\" \\xb7 \");var roleBits=clean(item.role||\"\");return'<button type=\"button\" class=\"row film-row\" data-kind=\"film\" data-i=\"'+i+'\"><span class=\"edge\"></span><span class=\"edge-hi\"></span><span class=\"spine\"></span><span class=\"wash\"></span>'+(e2On&&!filmStrip&&!filmDrum?thumbHtml(item):\"\")+'<span class=\"n lab\">'+idx+'</span><span class=\"nm-w\"><span class=\"fringe\" aria-hidden=\"true\">'+esc(name)+'</span><span class=\"nm\">'+esc(name)+'</span><span class=\"nm-hi\">'+esc(name)+\"</span>\"+(filmDrum&&dir?'<span class=\"nm-dir\">'+esc(dir)+\"</span>\":\"\")+(roleBits?'<span class=\"meta\">'+esc(roleBits)+\"</span>\":\"\")+(caps2?'<span class=\"dir\">'+esc(caps2)+\"</span>\":\"\")+'</span><span class=\"yr lab\">'+esc(yrs)+\"</span></button>\"+(item.screenings&&item.screenings[0]&&!filmDrum?'<div class=\"film-sc\">'+esc(clean(item.screenings[0]))+\"</div>\":\"\");}var blurb=clean(item.blurb||\"\");var rf=item.era===\"earlier\"&&!rolesOld&&item.position;var rfCity=rf&&item.city?'<span class=\"rf-city\"><svg class=\"rf-pin\" viewBox=\"0 0 8 10\" aria-hidden=\"true\"><path d=\"M4 9.3 C4 9.3 1 6.2 1 3.9 A3 3 0 0 1 7 3.9 C7 6.2 4 9.3 4 9.3 Z\"/><circle cx=\"4\" cy=\"3.9\" r=\"1\"/></svg>'+esc(clean(item.city))+\"</span>\":\"\";var rfRole=rf?'<span class=\"role rf\"><span class=\"rf-pos\">'+esc(clean(item.position))+\"</span>\"+(item.type?'<span class=\"rf-tag\">'+esc(clean(item.type))+\"</span>\":\"\")+\"</span>\":'<span class=\"role\">'+esc(role)+\"</span>\";return'<button type=\"button\" class=\"row\" data-kind=\"eng\" data-i=\"'+i+'\" data-id=\"'+esc(item.id)+'\" data-era=\"'+(item.era||\"\")+'\"><span class=\"edge\"></span><span class=\"edge-hi\"></span><span class=\"spine\"></span><span class=\"wash\"></span><span class=\"n lab\">'+idx+\"</span>\"+(slot?slotHtml(logoOf(LOGOS.engagements,item.id)):\"\")+'<span class=\"nm-w\"><span class=\"fringe\" aria-hidden=\"true\">'+esc(name)+'</span><span class=\"nm\">'+esc(name)+'</span><span class=\"nm-hi\">'+esc(name)+\"</span>\"+rfCity+\"</span>\"+rfRole+'<span class=\"yr lab\">'+esc(yrs)+(blurb?'<span class=\"r-chev\" aria-hidden=\"true\"><svg width=\"9\" height=\"14\" viewBox=\"0 0 9 14\"><path d=\"M2 2 L7 7 L2 12\"/></svg></span>':\"\")+'</span></button><div class=\"blurb\" data-for=\"'+esc(item.id)+'\"><span class=\"bw\">'+esc(blurb)+\"</span></div>\";}function backTileHtml(){var face={metric:\"00\",cap:\"OPENING\"};var rowFace=headBar?'<span class=\"mf-bar-n\">00</span><span class=\"mf-bar-t\">OPENING</span>':faceHtmlFlatRow(face);var headFace=headBar?'<span class=\"mf-bar-n\">00</span><span class=\"mf-bar-t\">OPENING</span>':faceHtmlFlatHead(face);var press='<div class=\"mf-press-well\"><div class=\"mf-press-clip\"><div class=\"mf-press-fill\"></div></div></div><div class=\"mf-tile-spine\"></div><div class=\"mf-hover-well\"><div class=\"mf-hover-wash\"></div></div>';return'<button type=\"button\" data-mfa=\"back\" class=\"tile\" data-mfa-back-tile=\"1\" aria-label=\"00 OPENING\">'+press+'<div class=\"mf-stack-bar\" data-mfa=\"stack-bar\" data-mfa-bar=\"back\" data-state=\"row\"><div class=\"mf-bar-edge-top\"></div><div class=\"mf-bar-edge-hi\"></div><div class=\"mf-bar-edge\"></div><div class=\"mf-bar-wash\"></div><div class=\"mf-bar-face mf-bar-row\">'+rowFace+'</div><div class=\"mf-bar-face mf-bar-head\">'+headFace+'</div><div class=\"mf-bar-grip\"></div><span class=\"well-edge-hi\"></span></div></button>';}function subHtml(sub){return esc(sub).replace(/(^|\\s)(\\d{1,3}\\+?)(?= [A-Z])/g,'$1<span class=\"cnt\">$2</span>');}function headHtml(id,idx,title,sub){if(headPath){return'<div class=\"reg-head\" data-mfa-section=\"'+id+'\" data-mfa-head=\"path\"><div class=\"crumbs\"><button type=\"button\" data-mfa=\"back\" class=\"up\"><span class=\"up-chev\" aria-hidden=\"true\"><svg width=\"17\" height=\"28\" viewBox=\"0 0 17 28\"><path d=\"M13 3 L4 14 L13 25\"/></svg></span>ABOUT</button><span class=\"bs\" aria-hidden=\"true\">\\\\</span><span class=\"w\">'+esc(title)+'</span></div><div class=\"sub lab\" data-sub=\"'+esc(sub)+'\">'+subHtml(sub)+\"</div></div>\";}var back=headNoBack?\"\":headBackTile?backTileHtml():'<button type=\"button\" data-mfa=\"back\" class=\"lab\">'+SVG_CHEV_LEFT+\"<span>00 OPENING</span></button>\";return'<div class=\"reg-head\" data-mfa-section=\"'+id+'\"><div><div class=\"k\"><span class=\"d\">'+esc(idx)+'</span><span class=\"t lab\">'+esc(title)+'</span></div><div class=\"sub lab\">'+esc(sub)+\"</div></div>\"+back+\"</div>\";}function buildReg(n){var t=TILES[n-1];var html=headHtml(t.id,pad2(n),t.title,t.sub);if(t.id===\"engagements\"){if(e2On)html+=tlHtml();else current.forEach(function(e,i){html+=rowHtml(e,i,\"eng\");});}if(t.id===\"earlier\"){html+='<div class=\"eng-col\"><div class=\"eng-list\" data-mfa=\"eng-list\" data-mfa-scroll=\"1\">';earlier.forEach(function(e,i){html+=rowHtml(e,i,\"eng\");});html+='</div><div class=\"caps-rail\" aria-hidden=\"true\"><span class=\"caps-rail-on\" data-mfa=\"caps-rail\"></span></div></div>';}if(t.id===\"filmography\"){var FILM_ROW_H=67;var FILM_SC_H=31;var filmHeights=credits.map(function(c){return FILM_ROW_H+(c.screenings&&c.screenings[0]?FILM_SC_H:0);});var filmTotal=0;for(var fh=0;fh<filmHeights.length;fh++)filmTotal+=filmHeights[fh];var filmLeftH=0;var filmMid=0;for(var fi=0;fi<filmHeights.length;fi++){var remainIncl=filmTotal-filmLeftH;if(filmMid>0&&filmLeftH+filmHeights[fi]>remainIncl)break;filmLeftH+=filmHeights[fi];filmMid=fi+1;}if(filmMid>=credits.length&&credits.length>1)filmMid=credits.length-1;if(e2On&&filmDrum){html+='<div class=\"film-grid\">';html+='<div class=\"film-cols\"'+(pinStrip?' data-mfa-scroll=\"1\"':\"\")+\">\";credits.forEach(function(c,i){html+=rowHtml(c,i,\"film\");});html+=\"</div>\";html+='<div class=\"caps-rail film-rail\" aria-hidden=\"true\"><span class=\"caps-rail-on\" data-mfa=\"caps-rail\"></span></div>';html+='<div class=\"film-drum\" data-mfa-n=\"'+credits.length+'\">';html+='<div class=\"drum-col\">';html+='<div class=\"drum-ap\" data-mfa=\"drum-ap\" aria-hidden=\"true\"></div>';html+='<div class=\"drum-stage\" data-mfa=\"drum-stage\">';credits.forEach(function(c,i){html+=drumCardHtml(c,i);});if(notePlace===\"foot\")html+='<div class=\"drum-note\" data-mfa=\"drum-note\" data-on=\"0\"></div>';html+=\"</div>\";if(notePlace!==\"foot\")html+='<div class=\"drum-note\" data-mfa=\"drum-note\" data-on=\"0\"></div>';html+=\"</div>\";html+='<div class=\"drum-dial\" role=\"tablist\" aria-label=\"Filmography index\">';html+='<span class=\"drum-idx\" aria-hidden=\"true\"></span>';html+='<div class=\"drum-ticks\" data-mfa=\"drum-ticks\">';credits.forEach(function(c,i){html+='<button type=\"button\" class=\"drum-tick\" data-mfa-tick=\"'+i+'\" data-on=\"0\" style=\"--i:'+i+'\" aria-label=\"'+esc(clean(c.title))+'\"><span class=\"dt-l\"></span><span class=\"dt-n lab\">'+pad2(i+1)+\"</span></button>\";});html+=\"</div></div>\";html+=\"</div></div>\";}else if(e2On&&filmStrip){var FILM_COLS=3;var cuts=[];var acc=0,taken=0;for(var col=1;col<FILM_COLS;col++){var share=(filmTotal-acc)/(FILM_COLS-col+1);var h=0;while(taken<credits.length-(FILM_COLS-col)){var next=h+filmHeights[taken];if(h>0&&Math.abs(next-share)>Math.abs(share-h))break;h=next;taken++;}acc+=h;cuts.push(taken);}html+='<div class=\"film-grid\">';html+='<div class=\"film-strip\" data-mfa-n=\"'+credits.length+'\" style=\"--strip-n:'+credits.length+'\">';if(fitBleed)html+='<div class=\"film-track\">';credits.forEach(function(c,i){html+=posterStripHtml(c,i);});if(psMode===\"play\")html+='<div class=\"film-mark\" data-on=\"0\"></div>';if(fitBleed)html+=\"</div>\";html+=\"</div>\";html+='<div class=\"film-cols\"'+(filmStrip&&pinStrip?' data-mfa-scroll=\"1\"':\"\")+\">\";var from=0;for(var cc=0;cc<=cuts.length;cc++){var to=cc<cuts.length?cuts[cc]:credits.length;html+='<div class=\"film-col\">';for(var ri=from;ri<to;ri++)html+=rowHtml(credits[ri],ri,\"film\");html+=\"</div>\";from=to;}html+=\"</div></div>\";}else{html+='<div class=\"film-grid\"><div class=\"film-col\">';credits.slice(0,filmMid).forEach(function(c,i){html+=rowHtml(c,i,\"film\");});html+='</div><div class=\"film-col\">';credits.slice(filmMid).forEach(function(c,i){html+=rowHtml(c,filmMid+i,\"film\");});html+=\"</div>\";if(e2On){html+='<div class=\"film-well\">';credits.forEach(function(c,i){html+=posterHtml(c,i);});html+=\"</div>\";}html+=\"</div>\";}}if(t.id===\"clients\"){html+='<div class=\"brands\">';brands.forEach(function(b,i){html+='<button type=\"button\" class=\"brand-cell\" data-brand=\"1\"><span class=\"edge\"></span><span class=\"edge-hi\"></span><span class=\"press-clip\"><span class=\"press-fill\"></span></span>'+(logosOn?'<span class=\"bl\"><span class=\"n lab\">'+pad2(i+1)+'</span><span class=\"bn\">'+esc(b)+\"</span></span>\":'<span class=\"n lab\">'+pad2(i+1)+'</span><span class=\"bn\">'+esc(b)+\"</span>\")+(logosOn?function(){var lg=logoOf(LOGOS.clients,b);if(!lg||!bHolo)return'<span class=\"logo-box\" aria-hidden=\"true\">'+logoHtml(lg)+\"</span>\";return'<span class=\"logo-box bh\" aria-hidden=\"true\">'+logoHtml(lg,\"bh-mark\")+'<canvas class=\"bh-cv\" aria-hidden=\"true\"></canvas></span>';}():\"\")+\"</button>\";});html+='<div class=\"brand-cell is-sub\" aria-hidden=\"true\"><span class=\"edge\"></span><span class=\"n lab\">'+pad2(brands.length+1)+'</span><div class=\"sub-txt lab\">'+subHtml(brandsSub)+\"</div></div>\";html+=\"</div>\";}if(t.id===\"tools\"){var capItems=function(g){return g.items.map(function(it){return\"<li>\"+esc(it.line)+(it.note?\" <i>\"+esc(it.note)+\"</i>\":\"\")+\"</li>\";}).join(\"\");};html+='<div class=\"tools-grid\"><div class=\"spec-col\"><div class=\"blk-h lab\">CAPABILITIES</div><div class=\"spec\" data-mfa=\"spec\" style=\"--caps-n:'+caps.length+'\">'+caps.map(function(g,gi){if(capsOpen){return'<button type=\"button\" class=\"grp op-row\" data-i=\"'+gi+'\" data-on=\"0\"><span class=\"edge\"></span><span class=\"edge-hi\"></span><span class=\"op-head\"><span class=\"spine\"></span><span class=\"wash\"></span><span class=\"op-ico\">'+capIcon(g.id)+'</span><span class=\"t lab\">'+esc(g.name)+'</span><span class=\"op-ct lab\">'+pad2(g.items.length)+'<i>ITEMS</i></span><span class=\"r-chev\" aria-hidden=\"true\"><svg width=\"9\" height=\"14\" viewBox=\"0 0 9 14\"><path d=\"M2 2 L7 7 L2 12\"/></svg></span></span><span class=\"op-body\"><span class=\"op-clip\"><ul>'+capItems(g)+\"</ul></span></span></button>\";}return'<div class=\"grp\"><div class=\"gh\"><span class=\"d\">'+pad2(gi+1)+'</span><span class=\"t lab\">'+esc(g.name)+\"</span></div><ul>\"+capItems(g)+\"</ul></div>\";}).join(\"\")+'</div><div class=\"caps-rail\" aria-hidden=\"true\"><span class=\"caps-rail-on\" data-mfa=\"caps-rail\"></span></div></div>';html+='<div class=\"tools-train\"><div class=\"blk-h lab\">TRAINING</div><div class=\"train\">';train.forEach(function(tr,i){var inst=clean(tr.institution);var tp=trainParts(inst,clean(tr.award));var tg=!trainOld&&tr.course;html+='<div class=\"row\" data-kind=\"train\"'+(tg?' data-tg=\"1\"':\"\")+'><span class=\"edge\"></span><span class=\"tslot\" aria-hidden=\"true\">'+trainMarkHtml(logoOf(LOGOS.training,inst))+'</span><span class=\"nm-w\"><span class=\"nm\">'+esc(inst)+\"</span>\"+(tg?'<span class=\"tg-course\">'+esc(clean(tr.course))+\"</span>\":\"\")+'</span><span class=\"tqual\">'+(tg?tr.credential?'<span class=\"tg-cred\">'+esc(clean(tr.credential))+\"</span>\":\"\":'<span class=\"tmain\">'+esc(tp.main)+\"</span>\"+(tp.sub?'<span class=\"tsub\">'+esc(tp.sub)+\"</span>\":\"\"))+'</span><span class=\"yr lab\">'+esc(rangeOf(tr.years))+\"</span></div>\";});html+=\"</div></div></div>\";}if(t.id===\"recognition\"){html+='<div class=\"recog-stack\">';html+='<div class=\"recog-block\">'+(rec.length?'<div class=\"blk-h lab\">TESTIMONIALS</div>':\"\")+'<div class=\"quote-grid\">';refs.forEach(function(rf,i){html+='<div class=\"quote\">'+(e2On?plateHtml(rf,i):\"\")+'<span class=\"qn\">'+pad2(i+1)+'</span><p class=\"qt\">'+quoteHtml(rf)+'</p><p class=\"qa\"><b>'+esc(clean(rf.name||\"\"))+\"</b> \\xb7 \"+esc(clean((rf.title||\"\")+(rf.org?\" \\xb7 \"+rf.org:\"\")))+\"</p></div>\";});html+=\"</div></div>\";if(rec.length)html+='<div class=\"recog-block\"><div class=\"blk-h lab\">AWARDS</div>';if(rec.length)rec.forEach(function(aw,i){var hi=!!(aw.highlight&&SIGNAL===\"colour\");if(hi){}html+='<div class=\"row award-row\" data-kind=\"train\"><span class=\"edge\"></span><span class=\"n lab\">'+pad2(i+1)+'</span><span class=\"nm-w\"><span class=\"nm\" style=\"font-weight:400\">'+esc(clean(aw.name))+'</span></span><span class=\"role\">'+esc(clean(aw.line||\"\"))+'</span><span class=\"yr lab\"></span></div>';});if(rec.length)html+=\"</div>\";html+=\"</div>\";}var screen=document.createElement(\"div\");screen.className=\"reg-screen\";screen.setAttribute(\"data-mfa-screen\",t.id);var regCls=t.id===\"filmography\"&&(filmDrum||filmStrip)&&pinStrip?' class=\"reg-split\"':\"\";screen.innerHTML='<div data-mfa=\"register\"'+regCls+\">\"+html+'</div><div data-mfa=\"end-cue\"><span class=\"ec-l\">END OF SECTION</span>'+(headPath?\"\":'<button type=\"button\" data-mfa=\"end-close\">00 OPENING'+SVG_CHEV_DOWN+\"</button>\")+'</div><div class=\"ov-tag\"></div>';if(t.id===\"recognition\"&&FRAME_ON)screen.insertAdjacentHTML(\"beforeend\",'<div class=\"caps-rail\" aria-hidden=\"true\"><span class=\"caps-rail-on\" data-mfa=\"caps-rail\"></span></div>');if(t.id===\"recognition\"&&FRAME_ON&&headPath){var rh=screen.querySelector('[data-mfa=\"register\"] > .reg-head');if(rh)screen.appendChild(rh);}var bootSel=\".row, .film-sc, .film-well, .film-strip, .brand-cell, .grp, .quote, .award-row, .blk-h\";if(dbiMode===\"glitch\")bootSel+=\", .drum-stage, .drum-ap, .drum-dial, .drum-note\";[].slice.call(screen.querySelectorAll(bootSel)).forEach(function(el,i){if(!el.hasAttribute(\"data-mfa-boot\"))el.setAttribute(\"data-mfa-boot\",String(i+1));});wellEl.appendChild(screen);return screen;}var tiles=[].slice.call(MFA_ROOT.querySelectorAll(\"[data-mfa-tile]\")).concat([rootTile]);var bars=tiles.map(function(t){return t.querySelector(\"[data-mfa-bar]\");});var wells=tiles.map(function(t){return t.querySelector(\".well\");});var regs=TILES.map(function(_,i){return buildReg(i+1);});regs.forEach(function(r){if(r&&r.setAttribute)r.setAttribute(\"inert\",\"\");});if(headBackTile){regs.forEach(function(screen){var btn=screen.querySelector('[data-mfa=\"back\"][data-mfa-back-tile=\"1\"]');if(btn)wireBackTile(btn);});}function scrambleField(el,final,ms){if(!el)return;var token=el._scramble=(el._scramble||0)+1;var t0=performance.now();var n=final.length;var step=function(){if(token!==el._scramble)return;var pr=Math.min(1,(performance.now()-t0)/ms);var lock=Math.floor(pr*n);var s=\"\";for(var i=0;i<n;i++){var ch=final.charAt(i);if(i<lock||ch===\" \"||ch===\"\\xb7\"||ch===\",\"||ch===\"[\"||ch===\"]\"||ch===\"/\")s+=ch;else s+=GLYPHS.charAt(Math.random()*GLYPHS.length|0);}el.textContent=s;if(pr<1)requestAnimationFrame(step);else el.textContent=final;};requestAnimationFrame(step);}function playFringe(el){if(!el||reduce)return;el.animate([{opacity:0,transform:\"translateX(0px)\"},{opacity:.6,transform:\"translateX(-3px)\",offset:.18},{opacity:.35,transform:\"translateX(2px)\",offset:.5},{opacity:0,transform:\"translateX(0px)\"}],{duration:FRINGE_MS,easing:\"linear\"});}function rowTween(el,prop,from,to,ms,origin,delay){if(!el)return null;var k0={},k1={};k0[prop]=from;k1[prop]=to;if(origin){k0.transformOrigin=origin;k1.transformOrigin=origin;}return el.animate([k0,k1],{duration:Math.max(1,Math.round(ms)),delay:Math.max(0,Math.round(delay||0)),easing:HUD_EASE,fill:\"forwards\"});}function latchRow(row,on,snap){if(!row||row.getAttribute(\"data-kind\")===\"train\"||row.classList.contains(\"film-row\"))return;var was=row.getAttribute(\"data-state\")===\"head\";if(on===was)return;var spine=row.querySelector(\".spine\");var wash=row.querySelector(\".wash\");var nmLo=row.querySelector(\".nm\");var nmHi=row.querySelector(\".nm-hi\");var fringe=row.querySelector(\".fringe\");var id=row.getAttribute(\"data-id\");var blurb=id?row.parentNode.querySelector('.blurb[data-for=\"'+id+'\"]'):null;if(row._hideT){clearTimeout(row._hideT);row._hideT=0;}if(reduce||snap){[spine,wash,nmLo,nmHi].forEach(function(el){if(el&&el.getAnimations)el.getAnimations().forEach(function(a){a.cancel();});});row.setAttribute(\"data-state\",on?\"head\":\"row\");if(spine)spine.style.transform=on?\"scaleY(1)\":\"scaleY(0)\";if(wash)wash.style.opacity=on?\"1\":\"0\";if(nmLo)nmLo.style.opacity=on?\"0\":\"1\";if(nmHi)nmHi.style.opacity=on?\"1\":\"0\";if(blurb)blurb.setAttribute(\"data-open\",on?\"1\":\"0\");return;}if(on){row.setAttribute(\"data-state\",\"head\");rowTween(spine,\"transform\",\"scaleY(0)\",\"scaleY(1)\",STACK_LATCH_SPINE_MS,\"50% 0%\");rowTween(wash,\"opacity\",\"0\",\"1\",STACK_LATCH_SPINE_MS);rowTween(nmLo,\"opacity\",\"1\",\"0\",STACK_LATCH_SPINE_MS);rowTween(nmHi,\"opacity\",\"0\",\"1\",STACK_LATCH_SPINE_MS);if(blurb){blurb.setAttribute(\"data-open\",\"1\");var bw=blurb.querySelector(\".bw\");if(bw){window.clearTimeout(bw._decT);bw._decT=setTimeout(function(){if(blurb.getAttribute(\"data-open\")!==\"1\")return;bw.style.height=bw.getBoundingClientRect().height.toFixed(2)+\"px\";scrambleField(bw,bw.textContent,DECODE_MS);setTimeout(function(){bw.style.height=\"\";},DECODE_MS+60);},BLURB_OPEN_MS+20);}}playFringe(fringe);}else{row.setAttribute(\"data-state\",\"row\");rowTween(spine,\"transform\",\"scaleY(1)\",\"scaleY(0)\",STACK_UNLATCH_SPINE_MS,\"50% 0%\");rowTween(wash,\"opacity\",\"1\",\"0\",STACK_UNLATCH_REST_MS,void 0,STACK_UNLATCH_SPINE_MS);rowTween(nmLo,\"opacity\",\"0\",\"1\",STACK_UNLATCH_REST_MS,void 0,STACK_UNLATCH_SPINE_MS);rowTween(nmHi,\"opacity\",\"1\",\"0\",STACK_UNLATCH_REST_MS,void 0,STACK_UNLATCH_SPINE_MS);if(blurb){var bwc=blurb.querySelector(\".bw\");if(bwc){window.clearTimeout(bwc._decT);bwc.style.height=\"\";}blurb.setAttribute(\"data-open\",\"0\");}}}function clearGlitch(el){el.style.opacity=\"\";el.style.transform=\"\";el.style.filter=\"\";el.style.clipPath=\"\";}function applyGlitch(el,local,rank,intensity,appear){if(local<=0){if(appear){el.style.opacity=\"0\";el.style.transform=\"\";el.style.filter=\"\";el.style.clipPath=\"\";}else clearGlitch(el);return;}if(local>=1){if(appear)clearGlitch(el);else{el.style.opacity=\"0\";el.style.transform=\"\";el.style.filter=\"\";el.style.clipPath=\"\";}return;}var vis=appear?local:1-local;var env=intensity*Math.min(1,local/.14,(1-local)/.3);var tt=performance.now()*.001+rank*2.1;var n1=hash01(rank,Math.floor(tt*42));var n2=hash01(rank+3,Math.floor(tt*55));var n3=hash01(rank+7,Math.floor(tt*31));var n4=hash01(rank+11,Math.floor(tt*19));var flicker=n1>.62?.15+n2*.5:n4>.88?.6:1;el.style.opacity=String(clamp(vis*(1-(1-flicker)*Math.min(1,env)),0,1));var jx=(n2-.5)*26*env;var jy=(n3-.5)*8*env;var skew=(n4-.5)*3.5*env;el.style.transform=\"translate(\"+jx.toFixed(2)+\"px,\"+jy.toFixed(2)+\"px) skewX(\"+skew.toFixed(2)+\"deg)\";var split=(4+n1*12)*env;el.style.filter=\"drop-shadow(\"+split.toFixed(1)+\"px 0 0 rgba(68,227,240,\"+Math.min(.9,.7*env).toFixed(2)+\")) drop-shadow(\"+(-split*.85).toFixed(1)+\"px 0 0 rgba(255,40,80,\"+Math.min(.8,.5*env).toFixed(2)+\"))\";var openAmt=easeOutPower(vis,1.35);var band=3+97*openAmt;if(n1>.9&&vis<.85)band=Math.min(band,12+n2*28);var mid=50+(n3-.5)*18*(1-openAmt);var top=clamp(mid-band/2,0,100);var bot=clamp(mid+band/2,0,100);el.style.clipPath=openAmt>=.99?\"\":\"inset(\"+top.toFixed(1)+\"% -12% \"+(100-bot).toFixed(1)+\"% -12%)\";}function bootNodes(root){return[].slice.call((root||document).querySelectorAll(\"[data-mfa-boot]\"));}var pitchBootAttrs=bootNodes(pitch).map(function(el){return{el,boot:el.getAttribute(\"data-mfa-boot\")};});function restorePitchBootAttrs(){pitchBootAttrs.forEach(function(it){if(it.boot==null)it.el.removeAttribute(\"data-mfa-boot\");else it.el.setAttribute(\"data-mfa-boot\",it.boot);});delete pitch._bootRanked;}function cancelBoot(){cancelAnimationFrame(bootRaf);bootRaf=0;bootId+=1;if(bootEls){bootEls.forEach(function(it){clearGlitch(it.el);});bootEls=null;}}function topInReg(el,reg){var y=0,n=el,hops=0;while(n&&n!==reg&&hops<12){y+=n.offsetTop||0;n=n.offsetParent;hops++;}return y;}function rankBootNodes(root,rise,withEdge){var nodes=bootNodes(root);var reg=root.querySelector&&root.querySelector('[data-mfa=\"register\"]');var scored=nodes.map(function(el,i){return{el,top:topInReg(el,reg),i};});scored.sort(function(a,b){var d=rise?b.top-a.top:a.top-b.top;if(d)return d;return a.i-b.i;});scored.forEach(function(it,r){it.el.setAttribute(\"data-mfa-boot\",String(r+1));it.rank=r+1;it.absStart=null;});if(bootEdge&&withEdge){var g=geom();var travel=g.travel;var inset=g.inset;scored.forEach(function(it){var bottom=it.top+(it.el.offsetHeight||0);var frac;if(rise){frac=clamp(1-(bottom-inset)/travel,0,1);}else{frac=clamp((it.top+inset)/travel,0,1);}it.absStart=NAV_WIPE_SWEEP_MS*BEZ.inv(frac);});}return{items:scored};}function primeBoot(root,rise){bootOrderDir=rise===false?\"down\":\"up\";var ranked=rankBootNodes(root,rise!==false,true);ranked.items.forEach(function(it){clearGlitch(it.el);it.el.style.opacity=\"0\";});drumPrime(root);root._bootRanked=ranked.items;}function startSectionBoot(root){cancelBoot();var id=++bootId;var items=root._bootRanked;if(!items||!items.length){items=bootNodes(root).map(function(el,i){var r=parseInt(el.getAttribute(\"data-mfa-boot\"),10);return{el,top:el.offsetTop,rank:isNaN(r)?i+1:r,absStart:null};}).sort(function(a,b){if(a.rank!==b.rank)return a.rank-b.rank;return 0;});}items=items.filter(function(it){return!it.el.closest||!it.el.closest('[data-state=\"head\"]');});if(!items.length)return;bootEls=items;var maxRank=1;items.forEach(function(it){if(it.rank>maxRank)maxRank=it.rank;});var useAbs=bootEdge&&items.some(function(it){return it.absStart!=null;});var durMs=SECTION_BOOT.dur*SECTION_BOOT_MS;var t0=performance.now();var tripOffset=useAbs&&bootFiredAt!=null?bootFiredAt:0;var step=function(now){if(bootId!==id)return;var elapsed=now-t0;var done=true;if(useAbs){var tripElapsed=elapsed+tripOffset;items.forEach(function(it){var local=clamp((tripElapsed-(it.absStart||0))/durMs,0,1);if(local<1)done=false;applyGlitch(it.el,local,it.rank,SECTION_BOOT.glitch,true);});if(tripElapsed<NAV_WIPE_SWEEP_MS+durMs)done=false;}else{var t=clamp(elapsed/SECTION_BOOT_MS,0,1);var tc=t*(SECTION_BOOT.span+SECTION_BOOT.dur);items.forEach(function(it){var start=it.rank/maxRank*SECTION_BOOT.span;var local=clamp((tc-start)/SECTION_BOOT.dur,0,1);applyGlitch(it.el,local,it.rank,SECTION_BOOT.glitch,true);});if(t<1)done=false;}if(done){items.forEach(function(it){clearGlitch(it.el);});bootEls=null;bootRaf=0;return;}bootRaf=requestAnimationFrame(step);};step(t0);}var BH_PAD_X=12,BH_PAD_Y=6,BH_RGB=\"rgb(0,213,240)\";var BH_DIST=function(){var v=new URLSearchParams(location.search).get(\"bdist\");return v===\"0\"?null:v===\"lens\"?\"lens\":\"tear\";}();var BH_TEAR_ROWS=12,BH_TEAR_BAND=.31,BH_TEAR_WIN=.31,BH_TEAR_PX=10,BH_LENS_R=.46,BH_LENS_MAG=.5;function bhDistort(E,now){var k2=E.hk,PW=E.PW,PH=E.PH,dpr=E.dpr,c=E.ctx;if(!(k2>.01)||!E.ptr||!PW)return;var px=E.ptr.x*dpr,py=E.ptr.y*dpr;var snap=E.snap;if(!snap||snap.width!==PW||snap.height!==PH){snap=E.snap=pjMk(PW,PH);}var sc=snap.getContext(\"2d\");sc.clearRect(0,0,PW,PH);sc.drawImage(E.cv,0,0);if(BH_DIST===\"lens\"){var R2=Math.min(PW,PH)*BH_LENS_R,mag=1+BH_LENS_MAG*k2;c.save();c.beginPath();c.arc(px,py,R2,0,Math.PI*2);c.clip();c.clearRect(px-R2,py-R2,2*R2,2*R2);c.translate(px,py);c.scale(mag,mag);c.translate(-px,-py);c.drawImage(snap,0,0);c.restore();return;}var t=now/1e3,R2=BH_TEAR_BAND*(PW+PH)/4,band=2*R2,sh=Math.max(1,Math.round(band/BH_TEAR_ROWS));var tear=E.tear;if(!tear||tear.width!==PW||tear.height!==PH){tear=E.tear=pjMk(PW,PH);}var tc=tear.getContext(\"2d\");tc.globalCompositeOperation=\"source-over\";tc.clearRect(0,0,PW,PH);tc.drawImage(snap,0,0);for(var i=0;i<BH_TEAR_ROWS;i++){var y0=Math.round(py-R2+i*sh);if(y0+sh<=0||y0>=PH)continue;var dy=(y0+sh/2-py)/R2,fall=Math.max(0,1-dy*dy);var off=(Math.sin(t*23+i*1.7)+.5*Math.sin(t*41+i*3.1))*BH_TEAR_PX*dpr*fall*k2;if(Math.abs(off)<.5)continue;tc.clearRect(0,y0,PW,sh);tc.drawImage(snap,0,y0,PW,sh,off,y0,PW,sh);}var disc2=function(ctx){var gr=ctx.createRadialGradient(px,py,0,px,py,R2);gr.addColorStop(0,\"rgba(0,0,0,1)\");gr.addColorStop(.55,\"rgba(0,0,0,1)\");gr.addColorStop(1,\"rgba(0,0,0,0)\");ctx.fillStyle=gr;ctx.fillRect(0,0,PW,PH);};tc.globalCompositeOperation=\"destination-in\";disc2(tc);tc.globalCompositeOperation=\"source-over\";c.save();c.globalCompositeOperation=\"destination-out\";disc2(c);c.globalCompositeOperation=\"lighter\";c.drawImage(tear,0,0);c.restore();}var bhLive=[],bhRaf=0;function bhEngine(box){if(box._bh)return box._bh;var cv=box.querySelector(\".bh-cv\");if(!cv||!cv.getContext)return null;var ctx=cv.getContext(\"2d\");if(!ctx)return null;var E={box,img:box.querySelector(\".bh-mark\"),cv,ctx,W:0,H:0,dpr:1,PW:0,PH:0,cache:{},noise:[],scanC:null,lay:null,lc:null,phase:\"idle\",t0:0,jit:[],on:false,lit:false,gate:null,spike:{at:0,dur:1,str:0,fringe:false,next:0},roll:{at:-1e9,next:0},dip:{at:-1e9,next:0},streak:{at:-1e9,end:-1e9,next:0},rowJ:null,rowB:null,rowS:null,rowDx:null,ptr:null,hov:false,hk:0,snap:null,tear:null};box._bh=E;return E;}function bhLayer(E){if(E.cache.L)return E.cache.L;var img=E.img;if(!img||!img.complete||!(img.naturalWidth>0))return null;var PW=E.PW,PH=E.PH,dpr=E.dpr;var BW=E.W-2*BH_PAD_X,BHh=E.H-2*BH_PAD_Y;var k2=Math.min(BW/img.naturalWidth,BHh/img.naturalHeight);var dw=img.naturalWidth*k2,dh=img.naturalHeight*k2,bx=BH_PAD_X+(BW-dw)/2,by=BH_PAD_Y+(BHh-dh)/2;var off=pjMk(PW,PH),c=off.getContext(\"2d\");c.drawImage(img,bx*dpr,by*dpr,dw*dpr,dh*dpr);c.globalCompositeOperation=\"source-atop\";c.fillStyle=BH_RGB;c.fillRect(0,0,PW,PH);var hb=pjMk(PW,PH),h=hb.getContext(\"2d\"),wsum=0,o;for(o=-PJ_HB_R;o<=PJ_HB_R;o++)wsum+=Math.exp(-Math.pow(o/PJ_HB_SIG,2));h.globalCompositeOperation=\"lighter\";for(o=-PJ_HB_R;o<=PJ_HB_R;o++){h.globalAlpha=Math.exp(-Math.pow(o/PJ_HB_SIG,2))/wsum*1.15;h.drawImage(off,o*dpr,0);}var mag=pjMk(PW,PH),m=mag.getContext(\"2d\");m.drawImage(img,bx*dpr,by*dpr,dw*dpr,dh*dpr);m.globalCompositeOperation=\"source-in\";m.fillStyle=\"rgb(255,40,90)\";m.fillRect(0,0,PW,PH);var s1=pjMk(Math.max(1,Math.round(PW/3)),Math.max(1,Math.round(PH/3))),s2=pjMk(Math.max(1,Math.round(PW/10)),Math.max(1,Math.round(PH/10)));s1.getContext(\"2d\").drawImage(off,0,0,s1.width,s1.height);s2.getContext(\"2d\").drawImage(s1,0,0,s2.width,s2.height);var glow=pjMk(PW,PH),g=glow.getContext(\"2d\");g.imageSmoothingQuality=\"high\";g.drawImage(s2,0,0,PW,PH);var top=by,bot=by+dh,holes=null;try{var d=c.getImageData(0,0,PW,PH).data,t2=by+dh,b2=by;for(var y=0;y<PH;y+=2)for(var x=0;x<PW;x+=2){if(d[(y*PW+x)*4+3]>24){var yc=y/dpr;if(yc<t2)t2=yc;if(yc>b2)b2=yc;}}if(b2>t2){top=t2;bot=b2+1;}holes=tlProjHoles(E,d);}catch(e){}return E.cache.L={off,hb,mag,glow,beam:null,sil:null,holes,top,bot,beamG:1,markG:1};}function bhDark(E){if(!E)return;E.phase=\"idle\";E.lit=false;E.box.removeAttribute(\"data-bh-lit\");if(E.PW)E.ctx.clearRect(0,0,E.PW,E.PH);}function bhStep(E,now){if(E.phase===\"idle\")return false;if(!E.cv.isConnected){E.phase=\"idle\";return false;}if(E.gate&&!E.gate())return false;if(!tlProjLayout(E))return true;var L=bhLayer(E);if(!L)return true;var t=now/1e3;E.ctx.clearRect(0,0,E.PW,E.PH);var flick=reduce?1:.9+.07*pjDrift(t*9,1);if(!reduce){if(now>E.dip.next){E.dip.at=now;E.dip.next=now+pjRnd([2e3,6e3]);}if(now-E.dip.at<50)flick*=.6;if(now>E.spike.next&&E.phase===\"rest\")tlProjSpike(E,now,.6+Math.random()*.4);if(now>E.roll.next){E.roll.at=now;E.roll.next=now+PJ_ROLL_MS+pjRnd(PJ_ROLL_GAP);}if(now>E.streak.next){E.streak.end=now+pjRnd(PJ_STREAK_ON);E.streak.next=now+pjRnd(PJ_STREAK_GAP);}if(now<E.streak.end){if(now-E.streak.at>PJ_STREAK_MS){E.streak.at=now;tlProjStreaks(E);}}else if(E.streak.at>-1e9){E.streak.at=-1e9;E.rowJ.fill(0);E.rowB.fill(0);E.rowS.fill(1);}}var u=E.spike.dur>0?(now-E.spike.at)/E.spike.dur:2;var sg=u<0||u>1?0:Math.pow(Math.sin(Math.PI*u),2)*E.spike.str;var env=reduce?0:(.55+.45*pjDrift(t*.7,2))*(1+sg*(PJ_SPK_GAIN-1));var fr=E.spike.fringe?sg:0;var lv=1,envK=1;if(E.phase===\"up\"){u=(now-E.t0)/PJ_UP_MS;if(u>=1){E.phase=\"rest\";if(!reduce)tlProjSpike(E,now,1);}else{lv=tlProjPattern(E,PJ_FLICK_ON,now-E.t0);envK=1+(1-u)*1.5;}}else if(E.phase===\"down\"){u=(now-E.t0)/PJ_DOWN_MS;var offEnd=(PJ_FLICK_OFF[PJ_FLICK_OFF.length-1][0]+(E.jit[PJ_FLICK_OFF.length-1]||0))/PJ_FLICK_SPEED;if(u>=1||now-E.t0>=offEnd){bhDark(E);return false;}lv=tlProjPattern(E,PJ_FLICK_OFF,now-E.t0);envK=1+u*2;}tlProjDraw(E,L,t,now,env*envK,flick,lv,fr,0,0);if(BH_DIST&&!reduce){E.hk+=((E.hov?1:0)-E.hk)*.16;bhDistort(E,now);}if(!E.lit&&lv>0){E.lit=true;E.box.setAttribute(\"data-bh-lit\",\"1\");}if(reduce&&E.phase===\"rest\")return false;return true;}function bhTick(now){bhRaf=0;bhLive=bhLive.filter(function(E){var go=bhStep(E,now);if(!go)E.on=false;return go;});if(bhLive.length)bhRaf=requestAnimationFrame(bhTick);}function bhRun(E){if(!E.on){E.on=true;bhLive.push(E);}if(!bhRaf)bhRaf=requestAnimationFrame(bhTick);}function bhUp(box){var E=bhEngine(box);if(!E||E.phase===\"up\"||E.phase===\"rest\")return;tlProjRejit(E);E.phase=reduce?\"rest\":\"up\";E.t0=performance.now();bhRun(E);}function bhDown(box){var E=box._bh;if(!E||E.phase===\"idle\"||E.phase===\"down\")return;if(reduce){bhDark(E);return;}tlProjRejit(E);E.phase=\"down\";E.t0=performance.now();bhRun(E);}function brandHoloWire(chip){var box=chip.querySelector(\".logo-box.bh\");if(!box)return;if(BH_DIST&&!reduce){chip.addEventListener(\"pointermove\",function(ev){var E=bhEngine(box);if(!E)return;var r=E.cv.getBoundingClientRect();E.ptr={x:ev.clientX-r.left,y:ev.clientY-r.top};E.hov=true;if(E.phase!==\"idle\")bhRun(E);});chip.addEventListener(\"pointerleave\",function(){var E=box._bh;if(E)E.hov=false;});}if(BH_ALL){var scr=chip.closest?chip.closest(\".reg-screen\"):null;var inView=true;var shown=function(){return inView&&(!scr||scr.getAttribute(\"data-on\")===\"1\");};var wake=function(){if(!shown())return;var E=box._bh;if(!E||E.phase===\"idle\")bhUp(box);else bhRun(E);};var E0=bhEngine(box);if(E0)E0.gate=shown;if(window.IntersectionObserver){new IntersectionObserver(function(es){es.forEach(function(e){inView=e.isIntersecting;wake();});}).observe(box);}if(scr&&window.MutationObserver){new MutationObserver(wake).observe(scr,{attributes:true,attributeFilter:[\"data-on\"]});}requestAnimationFrame(wake);chip.addEventListener(\"pointerenter\",function(){var E=box._bh;if(!E||E.phase===\"idle\"){bhUp(box);return;}if(!reduce&&!BH_DIST){tlProjSpike(E,performance.now(),1);E.spike.fringe=true;}});return;}chip.addEventListener(\"pointerenter\",function(){bhUp(box);});chip.addEventListener(\"pointerleave\",function(){bhDown(box);});}function armFlood(chip,ev){var fill=chip.querySelector(\".press-fill\");if(!fill)return;var r=chip.getBoundingClientRect();var x=ev&&ev.clientX!=null?ev.clientX-r.left:r.width/2;var y=ev&&ev.clientY!=null?ev.clientY-r.top:r.height/2;var size=Math.sqrt(r.width*r.width+r.height*r.height)*2.2;fill.style.width=size+\"px\";fill.style.height=size+\"px\";fill.style.left=x-size/2+\"px\";fill.style.top=y-size/2+\"px\";fill.style.opacity=\"1\";fill.getAnimations().forEach(function(a){a.cancel();});chip.setAttribute(\"data-press\",\"1\");fill.animate([{transform:\"scale(0.04)\"},{transform:\"scale(1)\"}],{duration:PRESS_FILL_MS,easing:\"linear\",fill:\"forwards\"});}function tuckFlood(chip){var fill=chip.querySelector(\".press-fill\");if(!fill)return;fill.getAnimations().forEach(function(a2){a2.cancel();});var a=fill.animate([{transform:\"scale(1)\"},{transform:\"scale(0.04)\"}],{duration:BAND_TUCK_MS,easing:HUD_EASE,fill:\"forwards\"});a.onfinish=function(){chip.removeAttribute(\"data-press\");fill.style.opacity=\"0\";};}[].slice.call(wellEl.querySelectorAll(\".brand-cell[data-brand]\")).forEach(function(chip){chip.addEventListener(\"pointerenter\",function(e){armFlood(chip,e);});chip.addEventListener(\"pointerleave\",function(){tuckFlood(chip);});brandHoloWire(chip);});wellEl.addEventListener(\"click\",function(e){var back=e.target.closest&&e.target.closest('[data-mfa=\"back\"]');if(back){e.preventDefault();if(animating||open===0||stop!==\"about\")return;if(headBackTile&&back.getAttribute(\"data-mfa-back-tile\")===\"1\")backPressFill(back);returnToRoot();return;}var endClose=e.target.closest&&e.target.closest('[data-mfa=\"end-close\"]');if(endClose){e.preventDefault();returnToRoot();return;}var row=e.target.closest&&e.target.closest(\".row\");if(!row||row.getAttribute(\"data-kind\")===\"train\"||row.classList.contains(\"film-row\")||row.classList.contains(\"award-row\"))return;latchRow(row,row.getAttribute(\"data-state\")!==\"head\");var engHost=row.closest&&row.closest('[data-mfa=\"eng-list\"]');if(engHost)railFollow(engHost,\"roles toggle\");});(function(){var engRows=[].slice.call(wellEl.querySelectorAll('.row[data-kind=\"eng\"]'));if(!engRows.length)return;if(!rolesHover)return;var openOne=function(row){engRows.forEach(function(r){var want=r===row;if(r.getAttribute(\"data-state\")===\"head\"!==want)latchRow(r,want);});};engRows.forEach(function(r){r.addEventListener(\"pointerenter\",function(){if(!reduce&&!rest)openOne(r);});r.addEventListener(\"focus\",function(){if(!reduce&&!rest)openOne(r);});});[].slice.call(wellEl.querySelectorAll('[data-mfa-section=\"earlier\"]')).forEach(function(head){var reg=head.closest('[data-mfa=\"register\"]');if(reg)reg.addEventListener(\"pointerleave\",function(){if(!reduce&&!rest)openOne(null);});});})();function chromeNow(el,prop){if(!el)return\"\";var v=window.getComputedStyle(el).getPropertyValue(prop);if(prop!==\"transform\")return v||(prop===\"filter\"?\"none\":\"1\");if(FRAME_ON&&el.classList&&el.classList.contains(\"mf-tile-spine\")){var md=v.match(/matrix\\(([^,]+),([^,]+),([^,]+),([^,]+),/);return md?\"scaleY(\"+Number(md[4]).toFixed(4)+\")\":v===\"none\"?\"scaleY(1)\":\"scaleY(0)\";}var m=v.match(/matrix\\(([^,]+),/);if(m)return\"scaleX(\"+Number(m[1]).toFixed(4)+\")\";return\"scaleX(1)\";}function tween(el,prop,from,to,ms,commit,origin,delay){if(!el)return null;if(!el._anims)el._anims={};var prev=el._anims[prop];if(prev){try{prev.cancel();}catch(e){}delete el._anims[prop];}var k0={},k1={};k0[prop]=from;k1[prop]=to;if(origin){k0.transformOrigin=origin;k1.transformOrigin=origin;}var a=el.animate([k0,k1],{duration:Math.max(1,Math.round(ms)),delay:Math.max(0,Math.round(delay||0)),easing:STACK_EASE_CSS,fill:\"both\"});el._anims[prop]=a;if(commit)a.addEventListener(\"finish\",function(){if(el._anims[prop]!==a)return;delete el._anims[prop];el.style[prop]=to;if(origin)el.style.transformOrigin=origin;try{a.cancel();}catch(e){}});return a;}function snapProp(el,prop,v,origin){if(!el)return;cancelAnims(el);el.style[prop]=v;if(origin)el.style.transformOrigin=origin;}var chromeCache=[];function TC(i){if(chromeCache[i])return chromeCache[i];var tile=tiles[i],bar=bars[i],well=wells[i];var row=bar.querySelector(\".mf-bar-row\");var head=bar.querySelector(\".mf-bar-head\");var metricRoot=well||row;return chromeCache[i]={tile,bar,well,spine:tile.querySelector(\".mf-tile-spine\"),fill:tile.querySelector(\".mf-press-fill\"),clip:tile.querySelector(\".mf-press-clip\"),hoverWash:tile.querySelector(\".mf-hover-wash\"),grip:bar.querySelector(\".mf-bar-grip\"),closeMark:bar.querySelector('[data-mfa=\"close-mark\"]'),wash:bar.querySelector(\".mf-bar-wash\"),row,head,top:bar.querySelector(\".mf-bar-edge-top\"),bot:bar.querySelector(\".mf-bar-edge\"),hi:bar.querySelector(\".mf-bar-edge-hi\"),wellEdge:well?well.querySelector(\".well-edge\"):null,wellHi:well?well.querySelector(\".well-edge-hi\"):bar.querySelector(\".well-edge-hi\"),metric:metricRoot.querySelector(\".metric\"),cap:metricRoot.querySelector(\".cap\"),capHi:metricRoot.querySelector(\".cap-hi\"),/* setQuiet owns .metric-w opacity (glyph + halo together). */metrics:[].slice.call(tile.querySelectorAll(\".metric-w\")),/* capSwap owns .metric-glow opacity (1 at rest, 0 under press). */metricGlows:[].slice.call(tile.querySelectorAll(\".metric-glow\")),caps:[].slice.call(tile.querySelectorAll(\".cap\")),capHis:[].slice.call(tile.querySelectorAll(\".cap-hi\"))};}function setCloseMark(i,on,ms,snap){var c=TC(i);if(!c.closeMark)return;var gripTo=on?\"0\":\"0.5\";var markTo=on?\"0.9\":\"0\";if(snap||reduce){snapProp(c.grip,\"opacity\",gripTo);snapProp(c.closeMark,\"opacity\",markTo);return;}tween(c.grip,\"opacity\",chromeNow(c.grip,\"opacity\"),gripTo,ms,true);tween(c.closeMark,\"opacity\",chromeNow(c.closeMark,\"opacity\")||\"0\",markTo,ms,true);}function edgeTarget(i,head){if(head)return String(STACK_EDGE_HEAD);return tiles[i].getAttribute(\"data-mfa-quiet\")===\"1\"?String(STACK_EDGE_QUIET):String(STACK_EDGE_ROW);}function latchSnap(i){var c=TC(i);return[chromeNow(c.spine,\"transform\"),chromeNow(c.wash,\"opacity\"),chromeNow(c.grip,\"opacity\"),chromeNow(c.row,\"opacity\"),chromeNow(c.head,\"opacity\"),chromeNow(c.top,\"opacity\"),chromeNow(c.bot,\"opacity\"),c.wellEdge?chromeNow(c.wellEdge,\"opacity\"):\"0\"];}function paintLatch(i,head,ms,commit,snap){var c=TC(i);var spineMs=head?ms:STACK_UNLATCH_SPINE_MS;var restMs=head?ms:STACK_UNLATCH_REST_MS;var restDelay=head?0:STACK_UNLATCH_SPINE_MS;var edge=edgeTarget(i,head);tween(c.spine,\"transform\",snap[0],head?SPINE_IN:SPINE_OUT,spineMs,commit,SPINE_ORG);tween(c.wash,\"opacity\",snap[1],head?\"1\":\"0\",restMs,commit,void 0,restDelay);tween(c.grip,\"opacity\",snap[2],head?\"0\":\"0.5\",restMs,commit,void 0,restDelay);tween(c.row,\"opacity\",snap[3],head?\"0\":\"1\",restMs,commit,void 0,restDelay);tween(c.head,\"opacity\",snap[4],head?\"1\":\"0\",restMs,commit,void 0,restDelay);tween(c.top,\"opacity\",snap[5],edge,restMs,commit,void 0,restDelay);tween(c.bot,\"opacity\",snap[6],edge,restMs,commit,void 0,restDelay);if(c.wellEdge)tween(c.wellEdge,\"opacity\",snap[7],edge,restMs,commit,void 0,restDelay);}function setBarLatch(i,head,ms,commit){var bar=bars[i];var was=bar.getAttribute(\"data-state\")===\"head\";var snap=latchSnap(i);bar.setAttribute(\"data-state\",head?\"head\":\"row\");if(was!==head||commit)paintLatch(i,head,ms,commit,snap);}function snapLatch(i,head){var c=TC(i);bars[i].setAttribute(\"data-state\",head?\"head\":\"row\");var edge=edgeTarget(i,head);snapProp(c.spine,\"transform\",head?SPINE_IN:SPINE_OUT,SPINE_ORG);snapProp(c.wash,\"opacity\",head?\"1\":\"0\");snapProp(c.grip,\"opacity\",head?\"0\":\"0.5\");snapProp(c.row,\"opacity\",head?\"0\":\"1\");snapProp(c.head,\"opacity\",head?\"1\":\"0\");snapProp(c.top,\"opacity\",edge);snapProp(c.bot,\"opacity\",edge);if(c.wellEdge)snapProp(c.wellEdge,\"opacity\",edge);snapProp(c.closeMark,\"opacity\",\"0\");}function setQuiet(i,on,ms,snap){var c=TC(i);var tile=tiles[i];var head=bars[i].getAttribute(\"data-state\")===\"head\";if(on)tile.setAttribute(\"data-mfa-quiet\",\"1\");else tile.removeAttribute(\"data-mfa-quiet\");var edge=edgeTarget(i,head);var met=on?String(QUIET_METRIC):\"1\";var mets=c.metrics.length?c.metrics:c.metric?[c.metric]:[];if(snap||reduce){snapProp(c.top,\"opacity\",edge);snapProp(c.bot,\"opacity\",edge);if(c.wellEdge)snapProp(c.wellEdge,\"opacity\",edge);mets.forEach(function(el){snapProp(el,\"opacity\",met);});return;}tween(c.top,\"opacity\",chromeNow(c.top,\"opacity\"),edge,ms,true);tween(c.bot,\"opacity\",chromeNow(c.bot,\"opacity\"),edge,ms,true);if(c.wellEdge)tween(c.wellEdge,\"opacity\",chromeNow(c.wellEdge,\"opacity\"),edge,ms,true);mets.forEach(function(el){tween(el,\"opacity\",chromeNow(el,\"opacity\"),met,ms,true);});}function capSwap(i,hi,ms,snap){var c=TC(i);var caps2=c.caps.length?c.caps:c.cap?[c.cap]:[];var his=c.capHis.length?c.capHis:c.capHi?[c.capHi]:[];var glows=c.metricGlows||[];caps2.forEach(function(cap,k2){var capHi=his[k2];if(snap||reduce){snapProp(cap,\"opacity\",hi?\"0\":\"1\");if(capHi)snapProp(capHi,\"opacity\",hi?\"1\":\"0\");return;}tween(cap,\"opacity\",chromeNow(cap,\"opacity\"),hi?\"0\":\"1\",ms,true);if(capHi)tween(capHi,\"opacity\",chromeNow(capHi,\"opacity\"),hi?\"1\":\"0\",ms,true);});glows.forEach(function(g){var to=hi?\"0\":\"1\";if(snap||reduce){snapProp(g,\"opacity\",to);return;}tween(g,\"opacity\",chromeNow(g,\"opacity\")||\"1\",to,ms,true);});}function readWashExtent(i){var c=TC(i);if(!c.hoverWash)return 0;var op=parseFloat(window.getComputedStyle(c.hoverWash).opacity);if(!(op>.001))return 0;var tr=c.tile.getBoundingClientRect();var wr=c.hoverWash.getBoundingClientRect();var px=tr.bottom-Math.max(wr.top,tr.top);if(!(px>0)||!isFinite(px))return 0;return px;}function armFill(i,startPx){var c=TC(i);var px=handoffOn?Math.max(0,startPx||0):0;fillGen[i]+=1;notchArm(i,px);fillFloor[i]=px;cancelAnims(c.fill);var fromOp=handoffOn&&c.hoverWash?chromeNow(c.hoverWash,\"opacity\")||\"0\":\"0\";c.fill.style.opacity=fromOp;tween(c.fill,\"opacity\",fromOp,\"1\",PRESS_RAMP_MS,true);c.fill.style.transform=\"translateY(\"+(-px).toFixed(2)+\"px)\";c.clip.style.filter=PRESS_BLUR_PX>0?\"blur(\"+PRESS_BLUR_PX+\"px)\":\"\";c.fill.style.background=\"rgb(\"+FILL_RGB[0]+\",\"+FILL_RGB[1]+\",\"+FILL_RGB[2]+\")\";tiles[i].setAttribute(\"data-press\",\"1\");if(handoffOn)endHoverWash(i,false,PRESS_RAMP_MS);}var notchQ=[],notchStart=[],notchGen=[];function notchOn(i){return FRAME_ON&&MFA_ROOT.getAttribute(\"data-mfa-back\")===\"path\"&&MFA_ROOT.getAttribute(\"data-mfa-sj\")!==\"0\"&&!!tiles[i];}function notchArm(i,startPx){if(!notchOn(i))return;notchStart[i]=1;notchGen[i]=(notchGen[i]||0)+1;notchQ[i]=0;notchPaint(i,0);}function notchPaint(i,q){var t=tiles[i];t.style.transition=\"flex-grow .42s cubic-bezier(.2,0,.2,1)\";t.style.setProperty(\"--lx\",(7*(1-q)).toFixed(3)+\"px\");t.style.setProperty(\"--ch\",(3+4*q).toFixed(3)+\"px\");}var NOTCH_GROW_MS=250;function notchFollow(i,px){if(notchQ[i]===void 0||notchQ[i]===null)return;var p=Math.max(0,Math.min(1,px/TILE_H));if(p<notchStart[i])return;notchQ[i]=null;var t=tiles[i],g=notchGen[i];t.style.transition=\"flex-grow .42s cubic-bezier(.2,0,.2,1),--lx \"+NOTCH_GROW_MS+\"ms cubic-bezier(.4,0,.2,1),--ch \"+NOTCH_GROW_MS+\"ms cubic-bezier(.4,0,.2,1)\";t.style.setProperty(\"--lx\",\"0px\");t.style.setProperty(\"--ch\",\"7px\");setTimeout(function(){requestAnimationFrame(function(){requestAnimationFrame(function(){if(notchGen[i]===g)notchClear(i);});});},NOTCH_GROW_MS);}function notchClear(i){notchQ[i]=null;notchGen[i]=(notchGen[i]||0)+1;var t=tiles[i];if(!t)return;t.style.removeProperty(\"--lx\");t.style.removeProperty(\"--ch\");t.style.transition=\"\";}function setFill(i,px){var c=TC(i);var floor=fillFloor[i]||0;var use=px<floor?floor:px;if(px>=floor)fillFloor[i]=0;c.fill.style.transform=\"translateY(\"+(-use).toFixed(2)+\"px)\";notchFollow(i,use);}function snapFill(i,full){var c=TC(i);fillGen[i]+=1;fillFloor[i]=0;cancelAnims(c.fill);notchClear(i);if(full){c.fill.style.opacity=\"1\";c.fill.style.transform=\"translateY(\"+-FILL_FULL_PX+\"px)\";c.clip.style.filter=PRESS_BLUR_PX>0?\"blur(\"+PRESS_BLUR_PX+\"px)\":\"\";tiles[i].setAttribute(\"data-press\",\"1\");tiles[i].setAttribute(\"data-mfa-fill\",\"1\");}else{c.fill.style.opacity=\"0\";c.fill.style.transform=\"translateY(0px)\";c.clip.style.filter=\"\";tiles[i].removeAttribute(\"data-press\");tiles[i].setAttribute(\"data-mfa-fill\",\"0\");}}function tuckFill(i){var c=TC(i);var gen=++fillGen[i];cancelAnims(c.fill);var from=chromeNow(c.fill,\"opacity\")||\"1\";endHoverWash(i,false,FILL_OUT_MS);washBlock[i]=true;var a=c.fill.animate([{opacity:from},{opacity:0}],{duration:FILL_OUT_MS,easing:STACK_EASE_CSS,fill:\"forwards\"});var done=function(){if(fillGen[i]!==gen)return;snapFill(i,false);};a.addEventListener(\"finish\",done);setTimeout(done,FILL_OUT_MS+40);}function unlatchAfterDrain(j){setTimeout(function(){setBarLatch(j,false,STACK_LATCH_SPINE_MS,true);},FILL_OUT_MS);}function fastDrainFill(i){var c=TC(i);var gen=++fillGen[i];fillFloor[i]=0;var from=\"translateY(\"+-FILL_FULL_PX+\"px)\";var to=\"translateY(0px)\";c.fill.style.transform=from;var ease=\"cubic-bezier(.33,0,.33,1)\";cancelAnims(c.fill);var a=c.fill.animate([{transform:from,opacity:1},{transform:to,opacity:0}],{duration:FILL_OUT_MS,easing:ease,fill:\"forwards\"});if(!c.fill._anims)c.fill._anims={};c.fill._anims.transform=a;endHoverWash(i,false,FILL_OUT_MS);washBlock[i]=true;var guard=function(){if(fillGen[i]!==gen)return;snapFill(i,false);};a.addEventListener(\"finish\",guard);setTimeout(guard,FILL_OUT_MS+40);}function navWipeRamp(kind){var band=70;var reach=100;var bright=[20,233,235];var dark=[4,67,76];var hot=[70,250,252];var fringe=[255,40,90];var steps=6;var stops=[];function put(rgb,a2,pos2){stops.push((kind===\"alpha\"?\"rgba(0,0,0,\"+a2+\")\":\"rgba(\"+rgb[0]+\",\"+rgb[1]+\",\"+rgb[2]+\",\"+a2+\")\")+\" \"+pos2);}var fringeEnd=NAV_WIPE_CRT_FRINGE_VH/NAV_WIPE_BAND_VH*100;var glowEnd=NAV_WIPE_CRT_GLOW_VH/NAV_WIPE_BAND_VH*100;if(kind===\"crt\"){put(fringe,\"1\",\"0%\");put(hot,\"1\",fringeEnd.toFixed(2)+\"%\");put(bright,\"1\",Math.min(band-.5,glowEnd).toFixed(2)+\"%\");}else put(bright,\"1\",\"0%\");put(bright,\"1\",band.toFixed(2)+\"%\");for(var i=1;i<=steps;i++){var f=i/steps;var a=Math.pow(1-f,NAV_WIPE_FALLOFF_POW);var r=Math.round(bright[0]+(dark[0]-bright[0])*f);var g=Math.round(bright[1]+(dark[1]-bright[1])*f);var b=Math.round(bright[2]+(dark[2]-bright[2])*f);var pos=band+(reach-band)*f;put([r,g,b],a.toFixed(3),pos.toFixed(2)+\"%\");}put(dark,\"0\",\"100%\");return stops.join(\",\");}var RAMP_CRT=navWipeRamp(\"crt\");var RAMP_ALPHA=navWipeRamp(\"alpha\");function crtTick(now,scan,roll,tear){if(scan){var j=(Math.sin(now/47)*.5+Math.sin(now/13.3)*.5)*MOBILE_CRT_JUDDER_AMP;scan.style.backgroundPosition=\"0 \"+j.toFixed(2)+\"px\";}if(roll){var t=now%MOBILE_CRT_ROLL_MS/MOBILE_CRT_ROLL_MS;roll.style.backgroundPosition=\"0 \"+(t*140-20).toFixed(2)+\"%\";}if(tear){if(now>crtMem.tearNext){crtMem.tearNext=now+(600+Math.random()*1400)/Math.max(.1,MOBILE_CRT_TEAR_RATE);crtMem.tearUntil=now+40+Math.random()*70;crtMem.tearTop=Math.random()*84;crtMem.tearShift=(Math.random()*2-1)*9;}if(now<crtMem.tearUntil){tear.style.opacity=\"1\";tear.style.backgroundImage=\"linear-gradient(to bottom,rgba(0,0,0,0) \"+crtMem.tearTop+\"%,rgba(210,255,255,.30) \"+crtMem.tearTop+\"%,rgba(210,255,255,.30) \"+(crtMem.tearTop+1.6)+\"%,rgba(0,20,26,.55) \"+(crtMem.tearTop+1.6)+\"%,rgba(0,20,26,.55) \"+(crtMem.tearTop+4.2)+\"%,rgba(0,0,0,0) \"+(crtMem.tearTop+4.2)+\"%)\";tear.style.backgroundPosition=crtMem.tearShift.toFixed(1)+\"px 0\";}else tear.style.opacity=\"0\";}}function startCrt(){if(crtRaf)return;var step=function(now){crtTick(now,wipeScan,wipeRoll,wipeTear);crtRaf=requestAnimationFrame(step);};crtRaf=requestAnimationFrame(step);}function stopCrt(){if(crtRaf)cancelAnimationFrame(crtRaf);crtRaf=0;}function parkWipe(){cancelAnims(wipe);wipe.style.opacity=\"0\";wipe.style.transform=\"none\";seamEl.style.transform=\"none\";seamEl.removeAttribute(\"data-band\");bandHost.style.clipPath=\"\";bandHost.removeAttribute(\"data-mfa-band\");stopCrt();}function armBand(rise,g){wipeTuckToken+=1;cancelAnims(wipe);seamEl.setAttribute(\"data-band\",rise?\"down\":\"up\");bandHost.setAttribute(\"data-mfa-band\",rise?\"rise\":\"fall\");var topCut=0,leftCut=0,rightCut=0;if(FRAME_ON){var trB=MFA_ROOT.querySelector(\".fr-br.tr\"),tlB=MFA_ROOT.querySelector(\".fr-br.tl\");if(trB){var hb=bandHost.getBoundingClientRect(),tb=trB.getBoundingClientRect();if(tb.height>0){topCut=Math.max(0,tb.top-hb.top);rightCut=Math.max(0,hb.right-tb.right);}if(tlB){var lb=tlB.getBoundingClientRect();if(lb.height>0)leftCut=Math.max(0,lb.left-hb.left);}}}bandHost.style.clipPath=\"inset(\"+topCut.toFixed(2)+\"px \"+rightCut.toFixed(2)+\"px \"+(g.panelH-g.rowTop).toFixed(2)+\"px \"+leftCut.toFixed(2)+\"px)\";wipe.style.height=g.bandH+\"px\";wipe.style.transform=\"scaleY(1)\";wipe.style.opacity=\"1\";var way=rise?\"to bottom\":\"to top\";wipeRamp.style.backgroundImage=\"linear-gradient(\"+way+\",\"+RAMP_CRT+\")\";var alpha=\"linear-gradient(\"+way+\",\"+RAMP_ALPHA+\")\";[wipeScan,wipeRoll,wipeTear].forEach(function(el){el.style.webkitMaskImage=alpha;el.style.maskImage=alpha;});wipeScan.style.backgroundImage=\"repeating-linear-gradient(to bottom,rgba(0,10,14,\"+MOBILE_CRT_SCAN_ALPHA+\") 0px,rgba(0,10,14,\"+MOBILE_CRT_SCAN_ALPHA+\") 1px,rgba(0,0,0,0) 1px,rgba(0,0,0,0) \"+MOBILE_CRT_SCAN_PERIOD+\"px)\";wipeScan.style.backgroundSize=\"100% \"+MOBILE_CRT_SCAN_PERIOD+\"px\";wipeRoll.style.backgroundImage=\"linear-gradient(to bottom,rgba(190,255,255,0) 0%,rgba(190,255,255,\"+MOBILE_CRT_ROLL_ALPHA+\") 50%,rgba(190,255,255,0) 100%)\";wipeRoll.style.backgroundRepeat=\"no-repeat\";wipeRoll.style.backgroundSize=\"100% 26%\";startCrt();}function tuckWipe(){var live=wipe.style.opacity!==\"0\"&&seamEl.getAttribute(\"data-band\");if(!live){parkWipe();return;}cancelAnims(wipe);var token=++wipeTuckToken;var hangsDown=seamEl.getAttribute(\"data-band\")===\"down\";var origin=hangsDown?\"50% 0\":\"50% 100%\";var a=wipe.animate([{transform:\"scaleY(1)\",transformOrigin:origin},{transform:\"scaleY(0.001)\",transformOrigin:origin}],{duration:BAND_TUCK_MS,easing:STACK_EASE_CSS,fill:\"forwards\"});var done=function(){if(token!==wipeTuckToken)return;parkWipe();};a.addEventListener(\"finish\",done);setTimeout(done,BAND_TUCK_MS+40);}function hoverOk(i){return!animating&&tiles[i].getAttribute(\"data-press\")!==\"1\"&&bars[i].getAttribute(\"data-state\")!==\"head\";}function snapHoverWash(i,on){var c=TC(i);if(!c.hoverWash)return;cancelAnims(c.hoverWash);window.clearTimeout(c.washClearT);if(on){c.hoverWash.style.filter=\"blur(\"+PRESS_BLUR_PX+\"px)\";c.hoverWash.style.opacity=HOVER_WASH_OP;}else{c.hoverWash.style.opacity=\"0\";c.hoverWash.style.filter=\"none\";}}var washBlock=[false,false,false,false,false,false,false];function startHoverWash(i,ms){if(!hoverWashOn||!hoverOk(i)||washBlock[i])return;var c=TC(i);if(!c.hoverWash)return;window.clearTimeout(c.washClearT);c.hoverWash.style.filter=\"blur(\"+PRESS_BLUR_PX+\"px)\";tween(c.hoverWash,\"opacity\",chromeNow(c.hoverWash,\"opacity\")||\"0\",HOVER_WASH_OP,ms||HOVER_WASH_MS,false);}function endHoverWash(i,snap,ms){if(!hoverWashOn)return;var c=TC(i);if(!c.hoverWash)return;if(snap||reduce){snapHoverWash(i,false);return;}var a=tween(c.hoverWash,\"opacity\",chromeNow(c.hoverWash,\"opacity\")||\"0\",\"0\",ms||HOVER_WASH_MS,true);var clear=function(){if(!c.hoverWash)return;if(parseFloat(chromeNow(c.hoverWash,\"opacity\")||\"0\")<=.001)c.hoverWash.style.filter=\"none\";};if(a)a.addEventListener(\"finish\",clear);c.washClearT=setTimeout(clear,(ms||HOVER_WASH_MS)+40);}function hoverOn(i,ms){if(animating)return;if(i===ROOT&&open===0)return;var c=TC(i);if(!hoverOk(i))return;var d=ms||200;tween(c.hi,\"opacity\",chromeNow(c.hi,\"opacity\")||\"0\",\"1\",d,false);if(c.wellHi)tween(c.wellHi,\"opacity\",chromeNow(c.wellHi,\"opacity\")||\"0\",\"1\",d,false);tween(c.spine,\"transform\",chromeNow(c.spine,\"transform\"),SPINE_IN,STACK_LATCH_SPINE_MS,false,SPINE_ORG);startHoverWash(i,d);}function hoverOff(i,ms){if(i===ROOT&&open===0)return;var c=TC(i);if(tiles[i].getAttribute(\"data-press\")===\"1\"||bars[i].getAttribute(\"data-state\")===\"head\")return;var d=ms||200;tween(c.hi,\"opacity\",chromeNow(c.hi,\"opacity\")||\"1\",\"0\",d,true);if(c.wellHi)tween(c.wellHi,\"opacity\",chromeNow(c.wellHi,\"opacity\")||\"1\",\"0\",d,true);tween(c.spine,\"transform\",chromeNow(c.spine,\"transform\"),SPINE_OUT,STACK_LATCH_SPINE_MS,true,SPINE_ORG);endHoverWash(i,false,d);}function killHover(i){var c=TC(i);tween(c.hi,\"opacity\",chromeNow(c.hi,\"opacity\")||\"0\",\"0\",200,true);if(c.wellHi)tween(c.wellHi,\"opacity\",chromeNow(c.wellHi,\"opacity\")||\"0\",\"0\",200,true);if(!handoffOn)endHoverWash(i,true);}function backTC(btn){if(!btn)return null;if(btn._bc)return btn._bc;var bar=btn.querySelector(\"[data-mfa-bar]\");var row=bar&&bar.querySelector(\".mf-bar-row\");var head=bar&&bar.querySelector(\".mf-bar-head\");return btn._bc={tile:btn,bar,spine:btn.querySelector(\".mf-tile-spine\"),fill:btn.querySelector(\".mf-press-fill\"),clip:btn.querySelector(\".mf-press-clip\"),hoverWash:btn.querySelector(\".mf-hover-wash\"),grip:bar&&bar.querySelector(\".mf-bar-grip\"),wash:bar&&bar.querySelector(\".mf-bar-wash\"),row,head,top:bar&&bar.querySelector(\".mf-bar-edge-top\"),bot:bar&&bar.querySelector(\".mf-bar-edge\"),hi:bar&&bar.querySelector(\".mf-bar-edge-hi\"),wellHi:bar&&bar.querySelector(\".well-edge-hi\"),caps:btn?[].slice.call(btn.querySelectorAll(\".cap\")):[],capHis:btn?[].slice.call(btn.querySelectorAll(\".cap-hi\")):[],metricGlows:btn?[].slice.call(btn.querySelectorAll(\".metric-glow\")):[]};}function backHoverOk(btn){return headBackTile&&!animating&&btn&&btn.getAttribute(\"data-press\")!==\"1\";}function backSnapHoverWash(btn,on){var c=backTC(btn);if(!c||!c.hoverWash)return;cancelAnims(c.hoverWash);window.clearTimeout(c.washClearT);if(on){c.hoverWash.style.filter=\"blur(\"+PRESS_BLUR_PX+\"px)\";c.hoverWash.style.opacity=HOVER_WASH_OP;}else{c.hoverWash.style.opacity=\"0\";c.hoverWash.style.filter=\"none\";}}function backStartHoverWash(btn){if(!hoverWashOn||!backHoverOk(btn))return;var c=backTC(btn);if(!c||!c.hoverWash)return;window.clearTimeout(c.washClearT);c.hoverWash.style.filter=\"blur(\"+PRESS_BLUR_PX+\"px)\";tween(c.hoverWash,\"opacity\",chromeNow(c.hoverWash,\"opacity\")||\"0\",HOVER_WASH_OP,HOVER_WASH_MS,false);}function backEndHoverWash(btn,snap){if(!hoverWashOn)return;var c=backTC(btn);if(!c||!c.hoverWash)return;if(snap||reduce){backSnapHoverWash(btn,false);return;}var a=tween(c.hoverWash,\"opacity\",chromeNow(c.hoverWash,\"opacity\")||\"0\",\"0\",HOVER_WASH_MS,true);var clear=function(){if(!c.hoverWash)return;if(parseFloat(chromeNow(c.hoverWash,\"opacity\")||\"0\")<=.001)c.hoverWash.style.filter=\"none\";};if(a)a.addEventListener(\"finish\",clear);c.washClearT=setTimeout(clear,HOVER_WASH_MS+40);}function backHoverOn(btn){if(!backHoverOk(btn))return;var c=backTC(btn);tween(c.hi,\"opacity\",chromeNow(c.hi,\"opacity\")||\"0\",\"1\",200,false);if(c.wellHi)tween(c.wellHi,\"opacity\",chromeNow(c.wellHi,\"opacity\")||\"0\",\"1\",200,false);tween(c.spine,\"transform\",chromeNow(c.spine,\"transform\"),SPINE_IN,STACK_LATCH_SPINE_MS,false,SPINE_ORG);backStartHoverWash(btn);}function backHoverOff(btn){if(!btn||btn.getAttribute(\"data-press\")===\"1\")return;var c=backTC(btn);if(!c)return;tween(c.hi,\"opacity\",chromeNow(c.hi,\"opacity\")||\"1\",\"0\",200,true);if(c.wellHi)tween(c.wellHi,\"opacity\",chromeNow(c.wellHi,\"opacity\")||\"1\",\"0\",200,true);tween(c.spine,\"transform\",chromeNow(c.spine,\"transform\"),SPINE_OUT,STACK_LATCH_SPINE_MS,true,SPINE_ORG);backEndHoverWash(btn,false);}function backKillHover(btn){var c=backTC(btn);if(!c)return;tween(c.hi,\"opacity\",chromeNow(c.hi,\"opacity\")||\"0\",\"0\",200,true);if(c.wellHi)tween(c.wellHi,\"opacity\",chromeNow(c.wellHi,\"opacity\")||\"0\",\"0\",200,true);if(!handoffOn)backEndHoverWash(btn,true);}function backReadWashExtent(btn){var c=backTC(btn);if(!c||!c.hoverWash)return 0;var op=parseFloat(window.getComputedStyle(c.hoverWash).opacity);if(!(op>.001))return 0;var tr=btn.getBoundingClientRect();var wr=c.hoverWash.getBoundingClientRect();var px=tr.bottom-Math.max(wr.top,tr.top);if(!(px>0)||!isFinite(px))return 0;return px;}function backArmFill(btn,startPx){var c=backTC(btn);if(!c||!c.fill)return;var px=handoffOn?Math.max(0,startPx||0):0;btn._fillGen=(btn._fillGen||0)+1;btn._fillFloor=px;cancelAnims(c.fill);c.fill.style.opacity=\"1\";c.fill.style.transform=\"translateY(\"+(-px).toFixed(2)+\"px)\";c.clip.style.filter=PRESS_BLUR_PX>0?\"blur(\"+PRESS_BLUR_PX+\"px)\":\"\";c.fill.style.background=\"rgb(\"+FILL_RGB[0]+\",\"+FILL_RGB[1]+\",\"+FILL_RGB[2]+\")\";btn.setAttribute(\"data-press\",\"1\");if(handoffOn)backEndHoverWash(btn,true);}function backSetFill(btn,px){var c=backTC(btn);if(!c||!c.fill)return;var floor=btn._fillFloor||0;var use=px<floor?floor:px;if(px>=floor)btn._fillFloor=0;c.fill.style.transform=\"translateY(\"+(-use).toFixed(2)+\"px)\";}function backCapSwap(btn,hi,ms,snap){var c=backTC(btn);if(!c)return;c.caps.forEach(function(cap,k2){var capHi=c.capHis[k2];if(snap||reduce){snapProp(cap,\"opacity\",hi?\"0\":\"1\");if(capHi)snapProp(capHi,\"opacity\",hi?\"1\":\"0\");return;}tween(cap,\"opacity\",chromeNow(cap,\"opacity\"),hi?\"0\":\"1\",ms,true);if(capHi)tween(capHi,\"opacity\",chromeNow(capHi,\"opacity\"),hi?\"1\":\"0\",ms,true);});c.metricGlows.forEach(function(g){var to=hi?\"0\":\"1\";if(snap||reduce){snapProp(g,\"opacity\",to);return;}tween(g,\"opacity\",chromeNow(g,\"opacity\")||\"1\",to,ms,true);});}function backPressFill(btn){var c=backTC(btn);if(!c||!c.fill)return;var seed=handoffOn?backReadWashExtent(btn):0;backKillHover(btn);backArmFill(btn,seed);var gen=btn._fillGen;backCapSwap(btn,true,PRESS_SWAP_MS);var g=geom();var t0=performance.now();function frame(now){if(btn._fillGen!==gen)return;var t=wipeT(now-t0);var s=(g.travel+g.bandH)*BEZ.y(t);backSetFill(btn,clamp(s,0,BACK_FILL_FULL_PX));if(s<BACK_FILL_FULL_PX&&t<1)requestAnimationFrame(frame);}requestAnimationFrame(frame);}function sizeBackTile(btn){if(!btn||btn.getAttribute(\"data-mfa-back-tile\")!==\"1\")return;var row=btn.querySelector(\".mf-bar-row\");if(!row)return;if(headBar){var nEl=row.querySelector(\".mf-bar-n\");var tEl=row.querySelector(\".mf-bar-t\");var bw=0;if(nEl)bw+=nEl.getBoundingClientRect().width;if(tEl)bw+=tEl.getBoundingClientRect().width;if(nEl&&tEl)bw+=8;btn.style.width=Math.ceil(bw)+52+\"px\";return;}var met=row.querySelector(\".metric\");var cap=row.querySelector(\".cap\");var w=0;if(met)w+=met.getBoundingClientRect().width;if(cap)w+=cap.getBoundingClientRect().width;if(met&&cap)w+=10;btn.style.width=Math.ceil(w)+52+\"px\";}function sizeAllBackTiles(){if(!headBackTile)return;[].slice.call(wellEl.querySelectorAll('[data-mfa=\"back\"][data-mfa-back-tile=\"1\"]')).forEach(sizeBackTile);}function wireBackTile(btn){if(!btn||btn.getAttribute(\"data-mfa-back-tile\")!==\"1\")return;btn.addEventListener(\"pointerenter\",function(){backHoverOn(btn);});btn.addEventListener(\"pointerleave\",function(){backHoverOff(btn);});}function geom(){var h=panel.clientHeight;var w=panel.clientWidth;var padB=parseFloat(getComputedStyle(panel).getPropertyValue(\"--pad-b\"));if(!isFinite(padB))padB=28;var rowBot=h-padB;var rowTop=rowBot-TILE_H;return{panelH:h,panelW:w,padB,rowTop,rowBot,travel:rowBot,/* fall: 0→travel; rise overshoots to -bandH */tileFrac:TILE_H/rowBot,/* distance fraction at which the edge clears the tile */inset:ABOUT_CUT_INSET_VH/100*h,bandH:NAV_WIPE_BAND_VH/100*h};}function measureLayout(){var pr=panel.getBoundingClientRect();tiles.forEach(function(tile,i){var r=tile.getBoundingClientRect();layout[i]={x:r.left-pr.left,w:r.width};});}function sbodyOf(screen){return screen.querySelector('[data-mfa=\"sbody\"]')||screen.querySelector('[data-mfa=\"register\"]');}function cutRise(el,seam,g){el.style.clipPath=\"inset(0 0 \"+Math.max(0,g.panelH-(seam+g.inset)).toFixed(2)+\"px 0)\";}function cutFall(el,seam,g){el.style.clipPath=\"inset(\"+Math.max(0,seam-g.inset).toFixed(2)+\"px 0 0 0)\";}function clearCut(el){el.style.clipPath=\"\";}function setPlate(el,kind){if(kind===\"amb\"||kind===\"hold\")el.setAttribute(\"data-plate\",kind);else el.removeAttribute(\"data-plate\");}function parkPitch(vis){clearCut(pitch);setPlate(pitch,null);pitch.style.zIndex=\"\";pitch.style.opacity=vis?\"1\":\"0\";pitch.style.pointerEvents=vis?\"auto\":\"none\";}function sizeBrandWall(screen){var scroller=sbodyOf(screen);var wall=scroller&&scroller.querySelector(\".brands\");if(!wall||!scroller)return;var head=scroller.querySelector(\".reg-head\");var cs=getComputedStyle(scroller);var padY=(parseFloat(cs.paddingTop)||0)+(parseFloat(cs.paddingBottom)||0);var avail=scroller.clientHeight-padY-(head?head.offsetHeight:0)-4;if(avail>40)wall.style.height=avail+\"px\";}function parkReg(screen,vis){clearCut(screen);setPlate(screen,null);screen.style.zIndex=\"\";screen.style.opacity=vis?\"1\":\"0\";screen.style.pointerEvents=vis?\"auto\":\"none\";if(vis)screen.removeAttribute(\"inert\");else screen.setAttribute(\"inert\",\"\");screen.setAttribute(\"data-on\",vis?\"1\":\"0\");if(vis){wellEl.style.pointerEvents=\"auto\";sizeBrandWall(screen);}else{e2Park(screen);}}function hideAllRegs(){wellEl.style.pointerEvents=\"none\";wellEl.style.zIndex=\"\";regs.forEach(function(s){parkReg(s,false);});}function setHoldAttr(on){holdOn=!!on;panel.setAttribute(\"data-mfa-hold\",on?\"1\":\"0\");}function showHold(){cancelAnims(hold);hold.style.opacity=\"1\";setHoldAttr(true);}function fadeHold(){if(groundHold){setHoldAttr(true);return;}tween(hold,\"opacity\",chromeNow(hold,\"opacity\")||\"1\",\"0\",BAND_TUCK_MS,true);setHoldAttr(false);}function hideHold(){cancelAnims(hold);if(groundHold){hold.style.opacity=\"1\";setHoldAttr(true);return;}hold.style.opacity=\"0\";setHoldAttr(false);}function decodeHead(i){if(reduce)return;var bar=bars[i];var els=tilesMode===\"stack\"?[bar.querySelector(\".mf-bar-head .mf-bar-n\"),bar.querySelector(\".mf-bar-head .mf-bar-t\")]:[bar.querySelector(\".mf-bar-head .metric\"),bar.querySelector(\".mf-bar-head .cap\")];var delays=[0,18,36,54];els.forEach(function(el,k2){if(!el)return;var final=el.getAttribute(\"data-decode\")||el.textContent;setTimeout(function(){scrambleField(el,final,DECODE_MS);},delays[k2]);});}function resetRegRows(screen){[].slice.call(screen.querySelectorAll('.row[data-state=\"head\"]')).forEach(function(r){latchRow(r,false,true);});[].slice.call(screen.querySelectorAll('[data-mfa=\"eng-list\"], [data-mfa=\"spec\"]')).forEach(function(l){l.scrollTop=0;});}function contentOverflow(scroller){if(!scroller)return 0;var st=scroller.scrollTop;scroller.scrollTop=0;var cs=getComputedStyle(scroller);var padBot=parseFloat(cs.paddingBottom)||0;var brBot=parseFloat(cs.borderBottomWidth)||0;var box=scroller.getBoundingClientRect();var padEdge=box.bottom-brBot-padBot;var bottom=padEdge;var kids=scroller.children;for(var i=0;i<kids.length;i++){var r=kids[i].getBoundingClientRect();if(r.bottom>bottom)bottom=r.bottom;}scroller.scrollTop=st;return Math.round(bottom-padEdge);}function contentOverflowX(scroller){if(!scroller||fitBleed)return 0;return Math.max(0,Math.round(scroller.scrollWidth-scroller.clientWidth));}function contentClear(scroller){if(!scroller)return 0;var st=scroller.scrollTop;scroller.scrollTop=0;var cs=getComputedStyle(scroller);var padEdge=scroller.getBoundingClientRect().bottom-(parseFloat(cs.borderBottomWidth)||0)-(parseFloat(cs.paddingBottom)||0);var low=null,kids=scroller.children;for(var i=0;i<kids.length;i++){var r=kids[i].getBoundingClientRect();if(low===null||r.bottom>low)low=r.bottom;}scroller.scrollTop=st;return low===null?0:Math.round(padEdge-low);}function longestEngRow(screen){var rows=[].slice.call(screen.querySelectorAll('.row[data-kind=\"eng\"]'));var best=rows[0]||null,bestN=-1;rows.forEach(function(row){var id=row.getAttribute(\"data-id\");var bl=id&&screen.querySelector('.blurb[data-for=\"'+id+'\"]');var n=bl?(bl.textContent||\"\").length:0;if(n>bestN){bestN=n;best=row;}});return best;}function measureReg(n){var screen=regs[n-1];var scroller=sbodyOf(screen);var t=TILES[n-1];sizeBrandWall(screen);var yrCells=[].slice.call(scroller.querySelectorAll('.row[data-kind=\"eng\"] .yr'));if(yrCells.length){scroller.style.removeProperty(\"--yr-w\");var yrW=0;yrCells.forEach(function(y){yrW=Math.max(yrW,y.getBoundingClientRect().width);});if(yrW>0)scroller.style.setProperty(\"--yr-w\",Math.ceil(yrW)+\"px\");}var wall=scroller.querySelector(\".brands\");if(wall){[].slice.call(wall.querySelectorAll(\".brand-cell\")).forEach(function(cell){var bn=cell.querySelector(\".bn\");var tall=cell.scrollHeight>cell.clientHeight+1;var wide=bn&&bn.scrollWidth>bn.clientWidth+1;if(tall||wide)cell.setAttribute(\"data-mfa-fit\",\"0\");else cell.removeAttribute(\"data-mfa-fit\");});}var px=contentOverflow(scroller);var pxMax=px;var hadHead=!!screen.querySelector('.row[data-state=\"head\"]');if((t.id===\"engagements\"||t.id===\"earlier\")&&!hadHead){var row=longestEngRow(screen);if(row){latchRow(row,true,true);pxMax=contentOverflow(scroller);latchRow(row,false,true);}}var pxX=contentOverflowX(scroller);screen.setAttribute(\"data-mfa-clear\",String(contentClear(scroller)));capsRail(screen);if(drumFit(screen)){var dfh=screen.querySelector(\".film-drum\");if(dfh&&dfh._mfDrum)dfh._mfDrum.posed=drumPose(dfh,dfh._mfDrum.pos)||false;if(dfh)drumBootFire(dfh);}filmRail(screen);(function(){var fl=screen.querySelector(\".reg-split .film-cols\");if(fl&&FRAME_ON&&filmDrum)railFollow(fl,\"film open\");})();var list=screen.querySelector(\".reg-split .film-cols\");if(list)screen.setAttribute(\"data-mfa-list-scroll\",String(Math.max(0,Math.round(list.scrollHeight-list.clientHeight))));else screen.removeAttribute(\"data-mfa-list-scroll\");var splitReg=screen.querySelector('[data-mfa=\"register\"].reg-split');if(splitReg){var clipPx=Math.max(0,Math.round(splitReg.scrollHeight-splitReg.clientHeight));if(clipPx>0)screen.setAttribute(\"data-mfa-clip\",String(clipPx));else screen.removeAttribute(\"data-mfa-clip\");}else screen.removeAttribute(\"data-mfa-clip\");var tag=screen.querySelector(\".ov-tag\");if(px>0||pxX>0){if(px>0)screen.setAttribute(\"data-mfa-overflow\",String(px));else screen.removeAttribute(\"data-mfa-overflow\");if(pxX>0)screen.setAttribute(\"data-mfa-overflow-x\",String(pxX));else screen.removeAttribute(\"data-mfa-overflow-x\");if(tag)tag.textContent=(px>0?\"OVERFLOW \"+px+\"px\":\"\")+(px>0&&pxX>0?\" \\xb7 \":\"\")+(pxX>0?\"WIDE \"+pxX+\"px\":\"\");}else{screen.removeAttribute(\"data-mfa-overflow\");screen.removeAttribute(\"data-mfa-overflow-x\");if(tag)tag.textContent=\"\";}if(pxMax>0)screen.setAttribute(\"data-mfa-overflow-max\",String(pxMax));else screen.removeAttribute(\"data-mfa-overflow-max\");}function measureAllRegs(){var prev=[];regs.forEach(function(s,i){prev[i]={op:s.style.opacity,pe:s.style.pointerEvents,cp:s.style.clipPath};s.style.opacity=\"1\";s.style.pointerEvents=\"none\";s.style.clipPath=\"\";});regs.forEach(function(_,i){measureReg(i+1);});regs.forEach(function(s,i){s.style.opacity=prev[i].op;s.style.pointerEvents=prev[i].pe;s.style.clipPath=prev[i].cp;});}function assertFit(){tiles.forEach(function(tile,i){if(i===ROOT&&!rootInRow){tile.removeAttribute(\"data-mfa-fit\");return;}var bar=bars[i];var w=wells[i];var bad=false;var els=tilesMode===\"stack\"?[bar.querySelector(\".mf-bar-row\"),bar.querySelector(\".mf-bar-head\"),w]:[bar.querySelector(\".mf-bar-row\"),bar.querySelector(\".mf-bar-head\")];els.forEach(function(el){if(el&&el.scrollWidth>el.clientWidth+1)bad=true;});if(bad)tile.setAttribute(\"data-mfa-fit\",\"0\");else tile.removeAttribute(\"data-mfa-fit\");});}function setNavCurrent(){navAbout.setAttribute(\"aria-current\",stop===\"about\"?\"true\":\"false\");navContact.setAttribute(\"aria-current\",stop===\"contact\"?\"true\":\"false\");panel.setAttribute(\"data-mfa-stop\",stop);contact.setAttribute(\"data-on\",stop===\"contact\"?\"1\":\"0\");contact.setAttribute(\"aria-hidden\",stop===\"contact\"?\"false\":\"true\");}function clearLatch(){panel.setAttribute(\"data-mfa-latch\",\"0\");}function lightLatchCue(){panel.setAttribute(\"data-mfa-latch\",\"1\");}function snapRoot(on){snapLatch(ROOT,on);snapFill(ROOT,on);capSwap(ROOT,on,0,true);rootTile.setAttribute(\"data-mfa-fill\",on?\"1\":\"0\");rootTile.setAttribute(\"aria-current\",on?\"true\":\"false\");}function snapClose(){cancelBoot();bootNodes(document).forEach(clearGlitch);parkWipe();hideHold();hideAllRegs();regs.forEach(function(s){resetRegRows(s);delete s._bootRanked;});parkPitch(true);restorePitchBootAttrs();tiles.forEach(function(tile,i){if(i===ROOT)return;snapFill(i,false);tile.removeAttribute(\"data-mfa-quiet\");snapLatch(i,false);setQuiet(i,false,0,true);capSwap(i,false,0,true);setCloseMark(i,false,0,true);tile.setAttribute(\"aria-expanded\",\"false\");});snapRoot(!!rootInRow);open=0;panel.setAttribute(\"data-mfa-open\",\"0\");clearLatch();bootFiredAt=null;}function snapOpen(n){cancelBoot();bootNodes(document).forEach(clearGlitch);measureLayout();parkWipe();showHold();parkPitch(false);hideAllRegs();tiles.forEach(function(tile,i){if(i===ROOT)return;var head=i===n-1;if(head)tile.removeAttribute(\"data-mfa-quiet\");else tile.setAttribute(\"data-mfa-quiet\",\"1\");snapLatch(i,head);setQuiet(i,!head,0,true);capSwap(i,head,0,true);snapFill(i,head);tile.setAttribute(\"aria-expanded\",head?\"true\":\"false\");});snapRoot(false);parkReg(regs[n-1],true);e2BootFired(regs[n-1]);open=n;panel.setAttribute(\"data-mfa-open\",String(n));clearLatch();measureReg(n);}function runSweep(o){var g=o.g,tok=o.tok,t0=performance.now();var booted=false;bootFiredAt=null;var riseTravel=g.travel+g.bandH;var fallTravel=bandSym?g.travel+g.bandH:g.travel;var fallOrigin=bandSym?-g.bandH:0;function frame(now){if(tok!==tripGen)return;var t=wipeT(now-t0);var e=BEZ.y(t);var seam=o.rise?g.travel-riseTravel*e:fallOrigin+fallTravel*e;seamEl.style.transform=\"translateY(\"+seam.toFixed(2)+\"px)\";var fillPx=null;if(o.rise){var s=g.travel-seam;if(o.fillN){fillPx=clamp(s,0,FILL_FULL_PX);setFill(o.fillN-1,fillPx);}if(o.drainN)setFill(o.drainN-1,clamp(FILL_FULL_PX-s,0,FILL_FULL_PX));cutRise(o.dep,seam,g);}else{var d=seam-g.rowTop;if(o.drainN){fillPx=clamp(TILE_H-d,0,FILL_FULL_PX);setFill(o.drainN-1,fillPx);}if(o.fillN){fillPx=clamp(d,0,FILL_FULL_PX);setFill(o.fillN-1,fillPx);}cutFall(o.dep,seam,g);}if(!booted&&(bootEdge||e>=ABOUT_BOOT_AT)){booted=true;bootFiredAt=Math.round(now-t0);startSectionBoot(o.bootRoot);e2BootFired(o.bootRoot);}lastFrame.seam=seam;lastFrame.fill=fillPx;lastFrame.t=t;if(t<1){sweepRaf=requestAnimationFrame(frame);return;}sweepRaf=0;if(!booted){booted=true;bootFiredAt=Math.round(NAV_WIPE_SWEEP_MS);startSectionBoot(o.bootRoot);e2BootFired(o.bootRoot);}twoRaf(function(){if(tok!==tripGen)return;o.done();});}sweepRaf=requestAnimationFrame(frame);}function restFill(i,settle){var g=geom();var seed=handoffOn?readWashExtent(i):0;killHover(i);armFill(i,seed);var gen=fillGen[i];capSwap(i,true,PRESS_SWAP_MS);var t0=performance.now();function frame(now){if(fillGen[i]!==gen)return;var t=wipeT(now-t0);var s=(g.travel+g.bandH)*BEZ.y(t);setFill(i,clamp(s,0,FILL_FULL_PX));if(s<FILL_FULL_PX&&t<1){requestAnimationFrame(frame);return;}settle();}requestAnimationFrame(frame);}function settleRoot(){setBarLatch(ROOT,true,STACK_LATCH_SPINE_MS,true);decodeHead(ROOT);rootTile.setAttribute(\"data-mfa-fill\",\"1\");rootTile.setAttribute(\"aria-current\",\"true\");}function beginOpen(n,down){if(animating||open!==0||stop!==\"about\")return;if(!(n>=1&&n<=TILES.length))return;animating=true;clearLatch();var tok=++tripGen;var g=geom();measureLayout();var i=n-1;if(reduce){snapOpen(n);animating=false;return;}cancelBoot();var dest=regs[i];resetRegRows(dest);sbodyOf(dest).scrollTop=0;var handoffPx=handoffOn?readWashExtent(i):0;e2TripStart();killHover(i);armFill(i,handoffPx);capSwap(i,true,PRESS_SWAP_MS);if(rootInRow){setBarLatch(ROOT,false,STACK_LATCH_SPINE_MS,true);if(fastDrain)fastDrainFill(ROOT);else{fillGen[ROOT]+=1;fillFloor[ROOT]=0;}capSwap(ROOT,false,STACK_UNLATCH_REST_MS);}else{fillGen[ROOT]+=1;fillFloor[ROOT]=0;}tiles.forEach(function(_,k2){if(k2!==i&&k2!==ROOT)setQuiet(k2,true,STACK_STATE_MS);});setPlate(pitch,groundHold?\"hold\":\"amb\");showHold();pitch.style.pointerEvents=\"none\";hideAllRegs();parkReg(dest,true);primeBoot(dest,true);dest.style.pointerEvents=\"none\";wellEl.style.pointerEvents=\"none\";armBand(!down,g);runSweep({g,tok,rise:!down,fillN:n,drainN:fastDrain||!rootInRow?0:ROOT_N,dep:pitch,bootRoot:dest,done:function(){parkPitch(false);tuckWipe();if(rootInRow){tuckFill(ROOT);rootTile.setAttribute(\"data-mfa-fill\",\"0\");rootTile.setAttribute(\"aria-current\",\"false\");}setBarLatch(i,true,STACK_LATCH_SPINE_MS,true);decodeHead(i);tiles[i].setAttribute(\"data-mfa-fill\",\"1\");tiles[i].setAttribute(\"aria-expanded\",\"true\");parkReg(dest,true);open=n;panel.setAttribute(\"data-mfa-open\",String(n));measureReg(n);animating=false;}});}function beginSwitch(m,down){var n=open;if(animating||n===0||m===n||stop!==\"about\")return;if(!(m>=1&&m<=TILES.length))return;animating=true;clearLatch();var tok=++tripGen;var g=geom();measureLayout();var i=m-1,j=n-1;if(reduce){resetRegRows(regs[j]);snapOpen(m);animating=false;return;}cancelBoot();var dep=regs[j],dest=regs[i];resetRegRows(dest);sbodyOf(dest).scrollTop=0;var handoffPx=handoffOn?readWashExtent(i):0;killHover(i);setQuiet(i,false,PRESS_SWAP_MS);armFill(i,handoffPx);capSwap(i,true,PRESS_SWAP_MS);if(fastDrain){fastDrainFill(j);unlatchAfterDrain(j);}else setBarLatch(j,false,STACK_LATCH_SPINE_MS,true);hideAllRegs();parkReg(dep,true);setPlate(dep,\"hold\");parkReg(dest,true);primeBoot(dest,true);dep.style.pointerEvents=\"none\";dest.style.pointerEvents=\"none\";wellEl.style.pointerEvents=\"none\";dep.style.zIndex=\"2\";dest.style.zIndex=\"1\";armBand(!down,g);runSweep({g,tok,rise:!down,fillN:m,drainN:fastDrain?0:n,dep,bootRoot:dest,done:function(){parkReg(dep,false);tuckWipe();tuckFill(j);capSwap(j,false,STACK_UNLATCH_REST_MS);setQuiet(j,true,STACK_UNLATCH_REST_MS);tiles[j].setAttribute(\"data-mfa-fill\",\"0\");tiles[j].setAttribute(\"aria-expanded\",\"false\");setBarLatch(i,true,STACK_LATCH_SPINE_MS,true);decodeHead(i);tiles[i].setAttribute(\"data-mfa-fill\",\"1\");tiles[i].setAttribute(\"aria-expanded\",\"true\");parkReg(dest,true);open=m;panel.setAttribute(\"data-mfa-open\",String(m));measureReg(m);animating=false;}});}function beginClose(){if(animating||open===0||stop!==\"about\")return;var n=open;animating=true;clearLatch();var tok=++tripGen;var g=geom();measureLayout();var j=n-1;if(reduce){snapClose();animating=false;return;}cancelBoot();var dep=regs[j];primeBoot(pitch,false);var closeDrain=fastDrain;if(closeDrain){fastDrainFill(j);unlatchAfterDrain(j);}else setBarLatch(j,false,STACK_LATCH_SPINE_MS,true);setPlate(dep,\"hold\");showHold();parkPitch(true);pitch.style.pointerEvents=\"none\";pitch.style.zIndex=\"1\";wellEl.style.zIndex=\"2\";wellEl.style.pointerEvents=\"none\";dep.style.pointerEvents=\"none\";armBand(false,g);runSweep({g,tok,rise:false,fillN:0,drainN:closeDrain?0:n,dep,bootRoot:pitch,done:function(){resetRegRows(dep);hideAllRegs();tuckWipe();fadeHold();tuckFill(j);capSwap(j,false,STACK_UNLATCH_REST_MS);tiles.forEach(function(tile,k2){if(k2!==j&&k2!==ROOT)setQuiet(k2,false,STACK_UNLATCH_REST_MS);if(k2!==ROOT)tile.setAttribute(\"aria-expanded\",\"false\");});tiles[j].setAttribute(\"data-mfa-fill\",\"0\");parkPitch(true);restorePitchBootAttrs();open=0;panel.setAttribute(\"data-mfa-open\",\"0\");animating=false;if(returnMode===\"fall\"&&rootInRow)restFill(ROOT,settleRoot);}});}function beginReturn(){if(animating||open===0||stop!==\"about\")return;animating=true;clearLatch();var tok=++tripGen;var g=geom();measureLayout();var j=open-1;if(reduce){snapClose();animating=false;return;}cancelBoot();var dep=regs[j];if(!headPath){var seed=handoffOn?readWashExtent(ROOT):0;killHover(ROOT);armFill(ROOT,seed);capSwap(ROOT,true,PRESS_SWAP_MS);}if(fastDrain){fastDrainFill(j);unlatchAfterDrain(j);}else setBarLatch(j,false,STACK_LATCH_SPINE_MS,true);restorePitchBootAttrs();primeBoot(pitch,true);setPlate(dep,\"hold\");showHold();parkPitch(true);pitch.style.pointerEvents=\"none\";pitch.style.zIndex=\"1\";wellEl.style.zIndex=\"2\";wellEl.style.pointerEvents=\"none\";dep.style.pointerEvents=\"none\";armBand(true,g);runSweep({g,tok,rise:true,fillN:headPath?0:ROOT_N,drainN:fastDrain?0:open,dep,bootRoot:pitch,done:function(){resetRegRows(dep);hideAllRegs();tuckWipe();fadeHold();tuckFill(j);capSwap(j,false,STACK_UNLATCH_REST_MS);tiles.forEach(function(t,k2){if(k2!==ROOT){setQuiet(k2,false,STACK_UNLATCH_REST_MS);t.setAttribute(\"aria-expanded\",\"false\");}});tiles[j].setAttribute(\"data-mfa-fill\",\"0\");if(!headPath){setBarLatch(ROOT,true,STACK_LATCH_SPINE_MS,true);decodeHead(ROOT);rootTile.setAttribute(\"data-mfa-fill\",\"1\");rootTile.setAttribute(\"aria-current\",\"true\");}parkPitch(true);restorePitchBootAttrs();open=0;panel.setAttribute(\"data-mfa-open\",\"0\");animating=false;}});}function returnToRoot(){if(returnMode===\"fall\")beginClose();else beginReturn();if(headPath)afterTrip(function(){previewHead(hovN);});}function abortTrip(){tripGen+=1;if(sweepRaf)cancelAnimationFrame(sweepRaf);sweepRaf=0;animating=false;cancelBoot();parkWipe();hideHold();lastFrame.seam=null;lastFrame.fill=null;lastFrame.t=null;}function cutToContact(){abortTrip();snapClose();stop=\"contact\";setNavCurrent();}function cutToAbout(){abortTrip();snapClose();stop=\"about\";setNavCurrent();}function onTileClick(n){if(animating||stop!==\"about\")return;if(open===0)beginOpen(n);else if(open===n)returnToRoot();else beginSwitch(n);if(headPath)afterTrip(function(){previewHead(hovN);});}var DD_WIPE_DOWN=new URLSearchParams(location.search).get(\"ddwipe\")!==\"up\";function openSectionById(id,down){var i=-1;for(var k2=0;k2<TILES.length;k2++)if(TILES[k2].id===id){i=k2;break;}if(i<0||animating||stop!==\"about\")return false;var n=i+1;if(open===n)return true;if(open===0)beginOpen(n,!!down);else beginSwitch(n,!!down);return true;}window.mfOpenSection=openSectionById;function onRootClick(){if(animating||stop!==\"about\")return;if(open===0)return;returnToRoot();}tiles.forEach(function(tile,i){if(i===ROOT)return;var n=i+1;tile.addEventListener(\"click\",function(e){e.stopPropagation();onTileClick(n);});tile.addEventListener(\"pointerenter\",function(){washBlock[i]=false;hoverOn(i);setHot(n,true);});tile.addEventListener(\"pointerleave\",function(){hoverOff(i);setHot(0);});});rootTile.addEventListener(\"click\",function(e){e.stopPropagation();onRootClick();});rootTile.addEventListener(\"pointerenter\",function(){hoverOn(ROOT);});rootTile.addEventListener(\"pointerleave\",function(){hoverOff(ROOT);});var hotN=0,casGen=0,e2BootT=0;var hlEl=MFA_byId(\"headline\");var peeks=[];function imgOf(map,key){return e2On&&!(PORT&&PORT.noImages)&&map&&map[key]?map[key]:null;}function artHtml(im,cls){return im?'<img class=\"art'+(cls?\" \"+cls:\"\")+'\" crossorigin=\"anonymous\" src=\"'+esc(im.src)+'\" alt=\"\" style=\"object-position:'+esc(im.pos||\"50% 50%\")+(im.fit?\";object-fit:\"+esc(im.fit)+\";padding:\"+(+im.pad||0)+\"px;box-sizing:border-box;background:#0b0d13\":\"\")+'\">':\"\";}function peekRows(n){var sjc=function(e){return rangeOf(e.range,e.id===\"sjc\"?\"2018 – NOW\":null);};if(n===1)return current.slice(0,3).map(function(e){return[clean(e.name),sjc(e)];});if(n===2)return earlier.slice(0,3).map(function(e){return[clean(e.name),rangeOf(e.range)];});if(n===3)return credits.slice(0,3).map(function(c){return[clean(c.title),rangeOf(c.year)];});if(n===4)return brands.slice(0,3).map(function(b){return[b,\"\"];});if(n===5)return[[\"AFTER EFFECTS \\xb7 CINEMA 4D\",\"\"],[\"COMFYUI \\xb7 LORA TRAINING\",\"\"],[clean(train[0]?train[0].institution:\"\"),train[0]?rangeOf(train[0].years):\"\"]];if(!rec.length)return[[pad2(refsReal)+\" QUOTES\",\"\"]].concat(refs.slice(0,2).map(function(r){return[clean(r.name||\"\"),\"\"];}));return[[pad2(refsReal)+\" QUOTES\",\"\"],[clean(rec[0]?rec[0].name:\"\"),\"\"],[clean(rec[0]?rec[0].line:\"\"),\"\"]];}if(peekOn){TILES.forEach(function(t,i){var n=i+1;var im=imgOf(IMG.peeks,String(n));var pk=document.createElement(\"div\");pk.className=\"peek\";pk.setAttribute(\"data-mfa-peek\",String(n));pk.setAttribute(\"data-on\",\"0\");pk.setAttribute(\"data-img\",im?\"1\":\"0\");pk.setAttribute(\"aria-hidden\",\"true\");pk.innerHTML='<span class=\"nrim\" data-nk=\"tr\" aria-hidden=\"true\"></span><span class=\"sp\"></span><div class=\"pk\"><div class=\"ph lab\"><b>'+esc(t.title)+\"</b><span>\"+esc(t.metric)+\"</span></div>\"+peekRows(n).map(function(r){return'<div class=\"pr\"><span>'+esc(r[0])+'</span><i class=\"lab\">'+esc(r[1])+\"</i></div>\";}).join(\"\")+\"</div>\"+(im?'<div class=\"pi\"><span class=\"typo\"></span>'+artHtml(im)+\"</div>\":\"\");panel.appendChild(pk);peeks.push(pk);});}var hots=[].slice.call(MFA_ROOT.querySelectorAll(\".hot\"));var hotReT=0;function placePeek(i){if(!peeks[i])return;var pr=panel.getBoundingClientRect();var tr=tiles[i].getBoundingClientRect();peeks[i].style.left=clamp(tr.left-pr.left,40,pr.width-40-E2.peekW).toFixed(0)+\"px\";}var TILE_GROW_MS=420+5*30;var peekFollowT=0;function followPeek(i){window.cancelAnimationFrame(peekFollowT);if(!peeks[i])return;var until=performance.now()+TILE_GROW_MS+60;var step=function(){if(!peeks[i]||peeks[i].getAttribute(\"data-on\")!==\"1\")return;placePeek(i);if(performance.now()<until)peekFollowT=requestAnimationFrame(step);};step();}function setHot(n,fromTile){if(!e2On)return;hotN=n;var wantPeek=!!fromTile;window.clearTimeout(hotReT);hots.forEach(function(b){b.setAttribute(\"data-mfa-hot-on\",b._n===n?\"1\":\"0\");});var show=wantPeek&&n>0&&open===0&&!animating&&stop===\"about\";peeks.forEach(function(pk,i){var on=show&&i+1===n;if(on)placePeek(i);pk.setAttribute(\"data-on\",on?\"1\":\"0\");if(on)followPeek(i);});}hots.forEach(function(b){var n=parseInt(b.getAttribute(\"data-mfa-hot\"),10);b._n=n;b.addEventListener(\"pointerenter\",function(){setHot(n);hoverOn(n-1);});b.addEventListener(\"pointerleave\",function(){setHot(0);hoverOff(n-1);});b.addEventListener(\"click\",function(e){e.stopPropagation();setHot(0);onTileClick(n);});b.addEventListener(\"keydown\",function(e){if(e.key===\"Enter\"||e.key===\" \"){e.preventDefault();setHot(0);onTileClick(n);}});});function e2TripStart(){casGen+=1;setHot(0);}var casLit=[];function e2Cascade(){if(!e2On||reduce||rest)return;var gen=++casGen;tiles.forEach(function(_,i){if(i===ROOT)return;setTimeout(function(){if(gen!==casGen||open!==0||animating||hovN===i+1)return;if(peekOn&&peeks[i]){placePeek(i);peeks[i].setAttribute(\"data-on\",\"1\");}casLit[i]=gen;hoverOn(i,E2.casRise);setTimeout(function(){if(casLit[i]!==gen||hovN===i+1)return;if(peekOn&&peeks[i]&&hotN!==i+1)peeks[i].setAttribute(\"data-on\",\"0\");hoverOff(i,E2.casFall);},E2.casHold);},E2.casAt+i*E2.casStep);});}function e2BootStart(){casGen+=1;setHot(0);hlEl.removeAttribute(\"data-mfa-boot\");clearGlitch(hlEl);if(kbOn)kbHeadline();if(kbOn&&!kbFontsRebooted&&document.fonts&&document.fonts.status!==\"loaded\"){kbFontsRebooted=true;document.fonts.ready.then(function(){e2BootStart();});}panel.removeAttribute(\"data-mfa-e2boot\");void panel.offsetWidth;panel.setAttribute(\"data-mfa-e2boot\",\"1\");window.clearTimeout(e2BootT);e2BootT=setTimeout(function(){panel.removeAttribute(\"data-mfa-e2boot\");},E2.bootMs);if(kbOn)kbLedeBars();e2Cascade();}var HL_CLEAR=48;function fitHeadline(){try{var hd=MFA_byId(\"headline\"),col=hd&&hd.closest(\".pitch-col\");if(!hd||!col)return;hd.style.fontSize=\"\";var w=hd.getBoundingClientRect().width,avail=col.getBoundingClientRect().width-HL_CLEAR;if(!(w>0)||!(avail>0)||w<=avail)return;var fs=parseFloat(getComputedStyle(hd).fontSize)||110;hd.style.fontSize=Math.floor(fs*avail/w)+\"px\";}catch(e){}}function kbHeadline(){fitHeadline();try{var hd=MFA_byId(\"headline\");if(!hd||!document.createRange)return;var hr=hd.getBoundingClientRect(),W=hr.width,edges=[];var walker=document.createTreeWalker(hd,NodeFilter.SHOW_TEXT,null,false),node;while(node=walker.nextNode()){if(node.parentNode&&node.parentNode.classList&&node.parentNode.classList.contains(\"caret\"))continue;for(var i=0;i<node.data.length;i++){var r=document.createRange();r.setStart(node,i);r.setEnd(node,i+1);var b=r.getBoundingClientRect();if(/\\S/.test(node.data[i])&&b.width>0)edges.push(b.right-hr.left);}}if(!edges.length)return;var N=edges.length,STEP=70,css=[\"@keyframes kb-type-clip{\"],car=[\"@keyframes kb-type-caret{\"];for(var k2=0;k2<=N;k2++){var p=(k2/(N+1)*100).toFixed(4)+\"%\",x=k2?edges[k2-1]:0;css.push(p+\"{clip-path:inset(-20px \"+(k2===N?\"-20px\":(W-x).toFixed(1)+\"px\")+\" -20px -20px)}\");car.push(p+\"{left:\"+(x+1).toFixed(1)+\"px;opacity:1}\");}css.push(\"100%{clip-path:inset(-20px -20px -20px -20px)}}\");car.push(\"100%{left:\"+(edges[N-1]+1).toFixed(1)+\"px;opacity:1}}\");var st=MFA_byId(\"kb-type-kf\");if(!st){st=document.createElement(\"style\");st.id=\"kb-type-kf\";document.head.appendChild(st);}st.textContent=css.join(\"\")+car.join(\"\");var dur=(N+1)*STEP;hd.style.setProperty(\"--kb-hd\",dur+\"ms\");hd.style.setProperty(\"--kb-bl\",150+dur+\"ms\");}catch(e){}}function kbLedeBars(){sizeLede();try{var wrap=MFA_ROOT.querySelector(\"#pitch .lede-w\"),lede=MFA_byId(\"lede\");if(!wrap||!lede||!document.createRange)return;var prof=MFA_byId(\"profile\"),profL=prof?prof.getBoundingClientRect().left:Infinity;[].slice.call(wrap.querySelectorAll(\".kb-line\")).forEach(function(n){n.parentNode.removeChild(n);});var r=document.createRange();r.selectNodeContents(lede);var wr=wrap.getBoundingClientRect(),lines=[];[].slice.call(r.getClientRects()).forEach(function(q){if(q.width<1)return;var L=null;for(var k2=0;k2<lines.length;k2++)if(Math.abs(lines[k2].top-q.top)<4)L=lines[k2];if(L){L.left=Math.min(L.left,q.left);L.right=Math.max(L.right,q.right);}else lines.push({top:q.top,left:q.left,right:q.right});});lines.sort(function(a,b){return a.top-b.top;});if(!lines.length)return;lede.style.setProperty(\"--kb-n\",String(lines.length));var fs=parseFloat(getComputedStyle(lede).fontSize)||18;lines.forEach(function(l,k2){var t0=Math.round(KB.ledeAt+k2*KB.gap);wrap.appendChild(kbBarEl(l.left-wr.left,l.top-wr.top+.39*fs-1,l.right-l.left,.7*fs+1.5,Math.min(70,profL-48-l.right),t0));});}catch(e){}}function kbBarEl(x,y,w,h,fe,t0){var d=Math.round(KB.frame*4);var el=document.createElement(\"div\");el.className=\"kb-line\";el.style.cssText=\"position:absolute;pointer-events:none;z-index:3;left:\"+x.toFixed(1)+\"px;top:\"+y.toFixed(1)+\"px;width:\"+w.toFixed(1)+\"px;height:\"+h.toFixed(1)+\"px\"+(fe==null?\"\":\";--kb-fe:\"+Math.max(0,Math.round(fe))+\"px\");el.innerHTML='<span class=\"kb-lead\" style=\"animation:mf-lead '+Math.round(KB.frame)+\"ms steps(1,end) \"+t0+'ms 1 none\"></span><span class=\"kb-bar\" style=\"animation:mf-bp-e '+d+\"ms steps(1,end) \"+t0+'ms 1 none\"><span class=\"kb-halo\" style=\"animation:mf-bh-e '+d+\"ms steps(1,end) \"+t0+'ms 1 none\"></span><span class=\"kb-core\" style=\"animation:mf-bc-e '+d+\"ms steps(1,end) \"+t0+'ms 1 none\"></span></span>';return el;}function kbLinesOf(el){var r=document.createRange();r.selectNodeContents(el);var lines=[];[].slice.call(r.getClientRects()).forEach(function(q){if(q.width<1)return;var L=null;for(var k2=0;k2<lines.length;k2++)if(Math.abs(lines[k2].top-q.top)<4)L=lines[k2];if(L){L.left=Math.min(L.left,q.left);L.right=Math.max(L.right,q.right);}else lines.push({top:q.top,left:q.left,right:q.right});});return lines.sort(function(a,b){return a.top-b.top;});}function e2BootAfter(){restorePitchBootAttrs();}function creditArt(c){var k2=c.artTitle||c.title;return logosOn?imgOf(POSTERS,k2):imgOf(IMG.credits,k2);}function thumbHtml(c){var im=creditArt(c);var thumbCls=logosOn&&!(im&&im.fill)?\"fit\":null;if(logosOn&&!im)return'<span class=\"th th-none\"></span>';return'<span class=\"th\"><span class=\"typo\"></span><span class=\"thy\">'+esc(String(c.year.from).slice(2))+\"</span>\"+artHtml(im,thumbCls)+\"</span>\";}function posterStripHtml(c,i){var im=creditArt(c);if(logosOn&&!im)return'<div class=\"pc pcs pc-none\" data-mfa-poster=\"'+i+'\" data-on=\"0\"></div>';return'<div class=\"pc pcs\" data-mfa-poster=\"'+i+'\" data-on=\"0\"><span class=\"typo\"></span><span class=\"ptx\"><span class=\"pf lab\">'+esc(clean(c.format))+'</span><span class=\"py\">'+esc(String(c.year.from))+'</span><span class=\"pt\">'+esc(clean(c.title))+\"</span></span>\"+artHtml(im,logosOn?\"fit\":null)+\"</div>\";}function drumCardHtml(c,i){var im=creditArt(c);if(logosOn&&!im)return'<div class=\"pc pcd pc-none\" data-mfa-poster=\"'+i+'\"><span class=\"pcd-scrim\"></span></div>';return'<div class=\"pc pcd\" data-mfa-poster=\"'+i+'\"><span class=\"typo\"></span><span class=\"ptx\"><span class=\"pf lab\">'+esc(clean(c.format))+'</span><span class=\"py\">'+esc(String(c.year.from))+'</span><span class=\"pt\">'+esc(clean(c.title))+\"</span></span>\"+artHtml(im,null)+'<span class=\"pcd-scrim\"></span></div>';}function posterHtml(c,i){var im=creditArt(c);var dir=clean(c.director)||clean(c.production).toUpperCase();if(logosOn&&!im)return'<div class=\"pc pcw pc-none\" data-mfa-poster=\"'+i+'\" data-on=\"'+(i===0?\"1\":\"0\")+'\"></div>';return'<div class=\"pc pcw\" data-mfa-poster=\"'+i+'\" data-on=\"'+(i===0?\"1\":\"0\")+'\"><span class=\"typo\"></span><span class=\"ptx\"><span class=\"pf lab\">'+esc(clean(c.format))+'</span><span class=\"py\">'+esc(String(c.year.from))+'</span><span class=\"pt\">'+esc(clean(c.title))+'</span><span class=\"pd lab\">'+esc(dir)+\"</span></span>\"+artHtml(im,logosOn?\"fit\":null)+(im?'<span class=\"acap lab\">'+esc(clean(c.title))+\"</span>\":\"\")+\"</div>\";}function logoOf(map,key){return map&&map[key]?map[key]:null;}function logoHtml(lg,cls){return lg?'<img class=\"logo-img'+(cls?\" \"+cls:\"\")+'\" crossorigin=\"anonymous\" src=\"'+esc(lg.src)+'\" alt=\"\">':\"\";}function slotHtml(lg){return'<span class=\"logo-slot\" aria-hidden=\"true\">'+logoHtml(lg&&lg.slot?lg.slot:lg)+\"</span>\";}function plateHtml(rf,i){var im=imgOf(IMG.references,rf.name);if(im&&im.logo)return'<span class=\"rplate rlogo\" aria-hidden=\"true\"><span class=\"rlogo-m\" style=\"-webkit-mask-image:url('+esc(im.src)+\");mask-image:url(\"+esc(im.src)+')\"></span></span>';return'<span class=\"rplate\" aria-hidden=\"true\"><span class=\"rrim\"></span><span class=\"rface\"><span class=\"typo\"></span><span class=\"rnum\">'+pad2(i+1)+\"</span>\"+artHtml(im)+\"</span></span>\";}function tlF(y){return clamp((y-TL_Y0)/(TL_NOW-TL_Y0),0,1);}function tlLeft(f){return\"calc(\"+TL_LABEL_W+\"px + (100% - \"+TL_LABEL_W+\"px) * \"+f.toFixed(4)+\")\";}function tlWidth(f0,f1){return\"calc((100% - \"+TL_LABEL_W+\"px) * \"+(f1-f0).toFixed(4)+\")\";}function tlSpans(e){if(e.id===\"sjc\")return[[2018,2020],[2021,TL_NOW]];return[[e.range.from,e.range.to===\"now\"?TL_NOW:e.range.to+1]];}function tlHtml(){var rows=current;var H=TL_TOP+rows.length*(TL_ROW_H+TL_GAP);var b=E2.tlBase;var s='<div class=\"tl-wrap\" data-mfa-tl=\"0\"><div class=\"tl-grid2\"><div class=\"tl\" style=\"height:'+H+'px\">';for(var y=TL_Y0;y<=2026;y++){var d=b+(y-TL_Y0)*45;s+='<span class=\"tl-tick\" style=\"left:'+tlLeft(tlF(y))+\";animation-delay:\"+d+'ms\"></span>';if(y%2===1||y===TL_Y0)s+='<span class=\"tl-yr lab\"'+(engRead&&y===TL_Y0?' data-origin=\"1\"':\"\")+' style=\"left:'+tlLeft(tlF(y))+\";animation-delay:\"+d+'ms\">'+y+\"</span>\";}var nd=b+450+rows.length*90;s+='<span class=\"tl-now\" style=\"left:'+tlLeft(tlF(TL_NOW))+\";animation-delay:\"+nd+'ms\"></span><span class=\"tl-flag lab\" style=\"left:'+tlLeft(tlF(TL_NOW))+\";animation-delay:\"+nd+'ms\">NOW</span>';rows.forEach(function(e,r){var top=TL_TOP+r*(TL_ROW_H+TL_GAP);var rd=b+380+r*90;s+='<button type=\"button\" class=\"ly\" data-i=\"'+r+'\" data-on=\"0\"'+(engRead?' aria-label=\"'+esc(clean(e.name)+\", \"+clean(e.roleLine)+\", \"+rangeOf(e.range,e.rangeText))+'\"':\"\")+' style=\"top:'+top+\"px;height:\"+TL_ROW_H+'px\"><span class=\"tl-lbl\" style=\"animation-delay:'+(rd-120)+'ms\">'+esc(clean(e.name))+\"</span>\";tlSpans(e).forEach(function(sp){s+='<span class=\"bar\"'+(engRead&&sp[1]===TL_NOW?' data-now=\"1\"':\"\")+' style=\"left:'+tlLeft(tlF(sp[0]))+\";width:\"+tlWidth(tlF(sp[0]),tlF(sp[1]))+\";animation-delay:\"+rd+'ms\">'+(engFx.reg?'<span class=\"reg reg-l\" aria-hidden=\"true\"></span><span class=\"reg reg-r\" aria-hidden=\"true\"></span>':\"\")+\"</span>\";});s+=\"</button>\";});s+='</div><div class=\"tl-det\" style=\"animation-delay:'+(b+520+rows.length*90)+'ms\"><div class=\"tl-imgbox\">';rows.forEach(function(e,r){var im=imgOf(IMG.engagements,e.id);var lg=logoOf(LOGOS.engagements,e.id);var holoVars=(engFx.holo||engFx.particle)&&lg?' style=\"--holo-src:url(&quot;'+esc(lg.src)+\"&quot;)\"+(lg.mark?\";--holo-mark-src:url(&quot;\"+esc(lg.mark.src)+\"&quot;)\":\"\")+'\"':\"\";var holo=engFx.holo&&lg?'<span class=\"holo-ghost\" aria-hidden=\"true\"></span><span class=\"holo\" aria-hidden=\"true\"><span class=\"holo-scan\"></span><span class=\"holo-sheen\"><span class=\"holo-strip\"></span></span></span><span class=\"holo-plinth\" aria-hidden=\"true\"></span>':\"\";s+='<div class=\"wp\" data-on=\"0\" data-i=\"'+r+'\"'+(lg?' data-logo=\"1\"':\"\")+holoVars+'><span class=\"typo\"></span><span class=\"wpn\">'+esc(clean(e.name))+\"</span>\"+(lg?logoHtml(lg,\"eng-logo\")+(lg.mark?logoHtml(lg.mark,\"eng-logo eng-mark\"):\"\"):artHtml(im))+holo+\"</div>\";});s+=(engFx.particle?'<canvas class=\"tl-pcv\" aria-hidden=\"true\"></canvas>':\"\")+(engFx.proj&&logosOn?'<canvas class=\"tl-proj\" aria-hidden=\"true\"></canvas>':\"\")+'</div><div class=\"tl-n\"></div><div class=\"tl-r lab\"></div><div class=\"tl-y lab\"></div><p class=\"tl-b\"></p></div></div>'+(engFx.link?'<svg class=\"tl-link\" aria-hidden=\"true\"><path class=\"tl-link-w\" d=\"\"></path><path class=\"tl-link-p\" d=\"\"></path></svg>':\"\")+'<button type=\"button\" class=\"tl-replay lab\" style=\"animation-delay:'+(b+520+rows.length*90)+'ms\">REPLAY THE BUILD'+(engFx.clock?'<svg class=\"tl-clock\" aria-hidden=\"true\"><path pathLength=\"1\" d=\"M.5 .5 H1 V1 H.5 Z\"></path></svg>':\"\")+\"</button></div>\";return s;}function setTl(wrap,r){var e=current[r];if(!e)return;var prev=ENGFX_ON?wrap._tlSel:void 0;if(ENGFX_ON)wrap._tlSel=r;[].slice.call(wrap.querySelectorAll(\".ly\")).forEach(function(el){el.setAttribute(\"data-on\",el.getAttribute(\"data-i\")===String(r)?\"1\":\"0\");});if(!(engFx.particle&&logosOn&&tlParticle(wrap,r))&&!(engFx.shutter&&logosOn&&tlShutter(wrap,r))){[].slice.call(wrap.querySelectorAll(\".tl-det .wp\")).forEach(function(el){el.setAttribute(\"data-on\",el.getAttribute(\"data-i\")===String(r)?\"1\":\"0\");});}wrap.querySelector(\".tl-n\").textContent=clean(e.name);if(engRead){var rl=clean(e.roleLine),k2=rl.indexOf(\" \\xb7 \");wrap.querySelector(\".tl-r\").innerHTML=k2>0?\"<b>\"+esc(rl.slice(0,k2))+\"</b>\"+esc(rl.slice(k2)):\"<b>\"+esc(rl)+\"</b>\";wrap.querySelector(\".tl-y\").innerHTML=esc(rangeOf(e.range,e.rangeText)).replace(/NOW/g,'<b class=\"now rd\">NOW</b>');}else{wrap.querySelector(\".tl-r\").textContent=clean(e.roleLine);wrap.querySelector(\".tl-y\").innerHTML=esc(rangeOf(e.range,e.rangeText)).replace(/NOW/g,'<b class=\"now\">NOW</b>');}wrap.querySelector(\".tl-b\").textContent=clean(e.blurb||\"\");if(ENGFX_ON)tlFxSelect(wrap,r,prev);}function tlRun(wrap,explicit){if(ENGFX_ON)tlFxCancel(wrap);if(reduce||rest){wrap.setAttribute(\"data-mfa-tl\",\"2\");if(ENGFX_ON)tlLanded(wrap);return;}wrap.setAttribute(\"data-mfa-tl\",\"0\");void wrap.offsetWidth;wrap.setAttribute(\"data-mfa-tl\",\"1\");if(ENGFX_ON)tlFxRun(wrap,!!explicit);}var ENG_EASE=cubicBezier(.2,0,.2,1);var MASK_EASE=cubicBezier(.45,0,.55,1);var MASK_DROP_MS=200,MASK_FLAG_MS=167;function tlMaskAt(){return E2.tlBase+380-120;}function tlMaskEndAt(){return E2.tlBase+380+(current.length-1)*90-120+350;}function tlBootEndMs(){return E2.tlBase+520+current.length*90+500;}var HOLO_SHEEN_MS=420,HOLO_SETTLE_MS=100,HOLO_SMOOTH_MS=80;var PART_HOLD_MS=100,PART_OUT_MS=260,PART_IN_AT=80,PART_IN_STAGGER=200,PART_IN_MS=380;var PART_SHOW_MS=PART_IN_AT+PART_IN_STAGGER+Math.round(PART_IN_MS*.85);var PART_FADE_MS=160,PART_DIST_MS=260,PART_MAX=3e3,PART_JIT=1.6,PART_DPR_MAX=2,PART_PX=1.8;var PART_FILL_LAG=140,PART_LIFT_MS=90;var GL_GAP_MIN=1500,GL_GAP_MAX=5e3,GL_DUR_MIN=40,GL_DUR_MAX=160;var GL_DX_MIN=1,GL_DX_MAX=6,GL_BAND_MIN=4,GL_BAND_MAX=18;var GL_TWO_P=.3,GL_REROLL_P=.4,GL_FRINGE_P=.3,GL_SLICES=6,GL_RETRY_MS=400;var REG_HOLD_MS=100,REG_IN_MS=140,REG_OUT_MS=80;var SHUT_HOLD_MS=80,SHUT_OUT_MS=60,SHUT_IN_MS=180;var LINK_HOLD_MS=100,LINK_RUN_MS=260,LINK_FADE_MS=80;var CLOCK_HOLD_MS=100,CLOCK_FADE_MS=120;var finePointer=!!(window.matchMedia&&window.matchMedia(\"(pointer: fine)\").matches);function tlBuildMs(){return E2.tlBase+380+(current.length-1)*90+800;}function tlFx(wrap){if(!wrap._tlFx)wrap._tlFx={raf:0,t0:0,dur:0,mask:null,clock:null,landT:0,regT:0,regRow:null,shT:0,shCur:null,shOut:null,shAnims:[],linkT:0,linkAnims:[],holoT:0,sheenR:null,par:null,part:null,maskArm:false,gl:{next:0,t:[],busy:false,wp:null}};return wrap._tlFx;}function wpOf(wrap,r){return wrap.querySelector('.tl-det .wp[data-i=\"'+r+'\"]');}function lyOf(wrap,r){return wrap.querySelector('.ly[data-i=\"'+r+'\"]');}function cancelList(list){list.forEach(function(a){try{a.cancel();}catch(e){}});list.length=0;}function tlClockStart(wrap,st,dur){st.t0=performance.now();st.dur=dur;var tick=function(){var t=performance.now()-st.t0;if(st.mask)tlMaskFrame(st,t);if(st.gin)tlGinFrame(st,t);if(st.clock)tlClockFrame(st,t);if(t>=st.dur){st.raf=0;tlClockDone(wrap,st);return;}st.raf=requestAnimationFrame(tick);};if(st.mask)tlMaskFrame(st,0);if(st.gin)tlGinFrame(st,0);if(st.clock)tlClockFrame(st,0);st.raf=requestAnimationFrame(tick);}function tlClockDone(wrap,st){tlGinEnd(st);if(st.mask)tlMaskEnd(wrap,st);else if(st.maskArm)tlMaskRest(wrap,st);if(st.clock)tlClockEnd(st);tlLanded(wrap);}function tlFxRun(wrap,explicit){var st=tlFx(wrap);var dur=engFx.mask?Math.max(tlBootEndMs(),tlMaskEndAt()+MASK_FLAG_MS):tlBuildMs();if(engFx.clock&&explicit)tlClockArm(wrap,st);if(engFx.mask){st.maskArm=true;tlMaskArm(wrap,st);}if(engFx.mask&&!st.mask)tlMaskRest(wrap,st);if(st.gin&&st.gin.end>dur)dur=st.gin.end;if(st.mask||st.clock)tlClockStart(wrap,st,dur);else st.landT=setTimeout(function(){st.landT=0;tlLanded(wrap);},dur);}function tlFxCancel(wrap){var st=tlFx(wrap);if(st.raf)cancelAnimationFrame(st.raf);st.raf=0;window.clearTimeout(st.landT);st.landT=0;tlGinEnd(st);if(st.mask)tlMaskEnd(wrap,st);else if(st.maskArm)tlMaskRest(wrap,st);if(st.clock)tlClockReset(st);window.clearTimeout(st.holoT);st.holoT=0;st.sheenR=null;window.clearTimeout(st.regT);st.regT=0;if(engFx.reg)tlRegClear(wrap,st);window.clearTimeout(st.shT);st.shT=0;if(engFx.shutter)tlShutterSettle(wrap,st);window.clearTimeout(st.linkT);st.linkT=0;if(engFx.link)tlLinkOff(wrap,st);if(st.par)tlHoloParkPointer(wrap,st);if(engFx.particle)tlParticleCancel(wrap,st);if(engFx.proj)tlProjStop(wrap,st);}function tlLanded(wrap){var st=tlFx(wrap),r=wrap._tlSel;if(r==null)return;if(engFx.reg&&st.regRow!==r)tlRegShow(wrap,st,r,true);if(engFx.holo&&!reduce&&st.sheenR!==r){st.sheenR=r;tlHoloSheen(wrap,r);}if(engFx.particle&&!reduce)tlGlitchArm(wrap);if(engFx.proj)tlProjSelect(wrap,r);}function tlSheenDelay(){if(engFx.particle)return(engFx.link?LINK_HOLD_MS+LINK_RUN_MS:PART_HOLD_MS)+PART_SHOW_MS+PART_DIST_MS;if(engFx.shutter)return SHUT_HOLD_MS+SHUT_OUT_MS+SHUT_IN_MS;return HOLO_SETTLE_MS;}function tlFxSelect(wrap,r,prev){var st=tlFx(wrap);var playing=wrap.getAttribute(\"data-mfa-tl\")===\"1\";if(st.mask&&playing)tlMaskFinish(wrap,st);if(prev===r)return;if(wrap.getAttribute(\"data-mfa-tl\")===\"0\")return;if(engFx.proj)tlProjSelect(wrap,r);if(engFx.reg){window.clearTimeout(st.regT);if(st.regRow!=null&&st.regRow!==r)tlRegShow(wrap,st,st.regRow,false);st.regT=setTimeout(function(){st.regT=0;if(wrap._tlSel===r&&st.regRow!==r)tlRegShow(wrap,st,r,true);},reduce?0:REG_HOLD_MS);}if(engFx.holo&&!reduce){window.clearTimeout(st.holoT);if(st.sheenR!==r){st.sheenR=null;st.holoT=setTimeout(function(){st.holoT=0;if(wrap._tlSel===r){st.sheenR=r;tlHoloSheen(wrap,r);}},tlSheenDelay());}}if(engFx.link&&!reduce){window.clearTimeout(st.linkT);tlLinkOff(wrap,st);st.linkT=setTimeout(function(){st.linkT=0;if(wrap._tlSel===r)tlLinkRun(wrap,st,r);},LINK_HOLD_MS);}}function tlMaskArm(wrap,st){var tl=wrap.querySelector(\".tl\");if(!tl)return;var tr=tl.getBoundingClientRect();var W=tr.width;if(!(W>0))return;var items=[];[].slice.call(tl.querySelectorAll(\".tl-tick, .tl-yr, .bar\")).forEach(function(el){var r=el.getBoundingClientRect();items.push({el,r:r.right-tr.left,w:r.width});});st.mask={W,X0:TL_LABEL_W,items,now:tl.querySelector(\".tl-now\"),flag:tl.querySelector(\".tl-flag\"),at:tlMaskAt(),end:tlMaskEndAt()};tlGinArm(wrap,st);}var GIN_STEP_MS=70;function tlGinArm(wrap,st){var items=[],rank=1,dur=SECTION_BOOT.dur*SECTION_BOOT_MS;var at=function(el){var d=parseFloat(el&&el.style.animationDelay);return isNaN(d)?0:d;};var sk=kbOn;[].slice.call(wrap.querySelectorAll(\".ly .tl-lbl\")).forEach(function(el){items.push({el,start:at(el),rank:rank++,streak:sk});});var det=wrap.querySelector(\".tl-det\"),d0=at(det);[\".tl-imgbox\",\".tl-n\",\".tl-r\",\".tl-y\",\".tl-b\"].forEach(function(s,k2){var el=det&&det.querySelector(s);if(el)items.push({el,start:d0+k2*GIN_STEP_MS,rank:rank++,slot:s===\".tl-imgbox\",streak:sk&&s!==\".tl-imgbox\"});});var rp=wrap.querySelector(\".tl-replay\");if(rp)items.push({el:rp,start:at(rp),rank:rank++});var end=0;items.forEach(function(it){it.done=false;var len=dur;if(it.streak){var n=1;try{n=Math.max(1,kbLinesOf(it.el).length);}catch(e){}len=(n-1)*KB.gap+KB.frame*4;}if(it.start+len>end)end=it.start+len;});st.gin={wrap,items,dur,end};}function tlGinFrame(st,t){var G=st.gin;G.items.forEach(function(it){if(it.done)return;if(it.streak){tlStreakFrame(G,it,t);return;}var local=(t-it.start)/G.dur;if(it.slot&&local>0&&!it.lit){it.lit=true;if(engFx.proj&&G.wrap._tlSel!=null)tlProjSelect(G.wrap,G.wrap._tlSel,true);}if(local>=1){clearGlitch(it.el);it.done=true;return;}applyGlitch(it.el,local,it.rank,SECTION_BOOT.glitch,true);});}function tlGinEnd(st){if(!st.gin)return;st.gin.items.forEach(function(it){clearGlitch(it.el);});tlStreakClear(st.gin.wrap);st.gin=null;}function tlStreakFrame(G,it,t){var el=it.el;if(t<it.start){el.style.opacity=\"0\";return;}if(!it.bars){it.bars=true;it.t0=t;it.cuts=[];try{it.cuts=tlStreakLay(G.wrap,el);}catch(e){it.cuts=[];}}var n=it.cuts.length;if(!n){clearGlitch(el);it.done=true;return;}var shown=0;for(var k2=0;k2<n;k2++)if(t>=it.t0+k2*KB.gap+KB.frame*3)shown=k2+1;if(!shown){el.style.opacity=\"0\";return;}el.style.opacity=\"\";if(shown>=n){el.style.clipPath=\"\";it.done=true;return;}el.style.clipPath=\"inset(-14px -40px \"+Math.max(0,it.cuts[shown]).toFixed(1)+\"px -6px)\";}function tlStreakLay(wrap,el){var lines=kbLinesOf(el);if(!lines.length)return[];var wr=wrap.getBoundingClientRect(),er=el.getBoundingClientRect();var cs=getComputedStyle(el),fs=parseFloat(cs.fontSize)||14;var lh=parseFloat(cs.lineHeight);if(isNaN(lh))lh=fs*1.2;var dharma=/Dharma/i.test(cs.fontFamily);var colR;if(el.classList.contains(\"tl-lbl\")){var tl=wrap.querySelector(\".tl\");colR=(tl?tl.getBoundingClientRect().left:er.left)+TL_LABEL_W;}else{var det=wrap.querySelector(\".tl-det\");colR=det?det.getBoundingClientRect().right:er.right;}var cuts=[];lines.forEach(function(l,k2){var y=dharma?er.top+k2*lh+.06*lh:l.top+.39*fs-1;var h=dharma?.74*lh:.7*fs+1.5;wrap.appendChild(kbBarEl(l.left-wr.left,y-wr.top,l.right-l.left,h,colR-l.right,Math.round(k2*KB.gap)));cuts.push(k2?er.bottom-(dharma?er.top+k2*lh:l.top):0);});return cuts;}function tlStreakClear(wrap){if(!wrap)return;[].slice.call(wrap.querySelectorAll(\".kb-line\")).forEach(function(n){n.parentNode.removeChild(n);});}function tlMaskFrame(st,t){var m=st.mask;var p=t<=m.at?0:t>=m.end?1:MASK_EASE.y((t-m.at)/(m.end-m.at));var X=m.X0+p*(m.W-m.X0);m.items.forEach(function(it){var cut=Math.max(0,it.r-X);it.el.style.clipPath=cut>=it.w?\"inset(0 100% 0 0)\":\"inset(0 \"+cut.toFixed(2)+\"px 0 0)\";});if(m.now){var d=clamp((t-(m.at-MASK_DROP_MS))/MASK_DROP_MS,0,1);m.now.style.transform=\"translateX(\"+(X-m.W).toFixed(2)+\"px) scaleY(\"+ENG_EASE.y(d).toFixed(3)+\")\";m.now.style.opacity=d>0?\"1\":\"0\";}if(m.flag){var ff=clamp((t-m.end)/MASK_FLAG_MS,0,1);var fs=ff>0?Math.min(1,Math.ceil(ff*4)/4):0;m.flag.style.opacity=fs>0?\"1\":\"0\";m.flag.style.clipPath=fs>=1?\"\":\"inset(0 \"+((1-fs)*50).toFixed(1)+\"% 0 \"+((1-fs)*50).toFixed(1)+\"%)\";}}function tlMaskEnd(wrap,st,keep2){var m=st.mask;if(!m)return;st.mask=null;m.items.forEach(function(it){it.el.style.clipPath=\"\";});if(m.now){m.now.style.transform=\"\";m.now.style.opacity=\"\";}if(m.flag){m.flag.style.opacity=keep2?\"1\":\"\";m.flag.style.clipPath=\"\";}if(!keep2)tlMaskRest(wrap,st);}function tlMaskRest(wrap,st){st.maskArm=false;var flag=wrap.querySelector(\".tl-flag\");if(flag)flag.style.opacity=\"\";if(wrap.getAttribute(\"data-mfa-tl\")===\"1\")wrap.setAttribute(\"data-mfa-tl\",\"2\");}function tlMaskFinish(wrap,st){tlMaskEnd(wrap,st,true);}function tlHoloSheen(wrap,r){var wp=wpOf(wrap,r);var strip=wp&&wp.querySelector(\".holo-strip\");if(!strip||!strip.animate)return;cancelAnims(strip);strip.animate([{transform:\"translateX(0) skewX(-20deg)\"},{transform:\"translateX(280%) skewX(-20deg)\"}],{duration:HOLO_SHEEN_MS,easing:\"cubic-bezier(.2,0,.2,1)\"});}function tlHoloWire(wrap){if(engFx.proj)return;var box=wrap.querySelector(\".tl-det .tl-imgbox\");if(!box||!finePointer||reduce)return;var st=tlFx(wrap);st.par={tx:0,ty:0,cx:0,cy:0,px:0,py:0,raf:0,last:0,rect:null,on:false};var par=st.par;var apply=function(){[].slice.call(wrap.querySelectorAll('.tl-det .wp:not([data-on=\"1\"]) .eng-logo, .tl-det .wp:not([data-on=\"1\"]) .holo, .tl-det .wp:not([data-on=\"1\"]) .holo-ghost, .tl-det .wp:not([data-on=\"1\"]) .pglitch')).forEach(function(el){if(el.style.transform)el.style.transform=\"\";});var wp=wrap.querySelector('.tl-det .wp[data-on=\"1\"]');if(!wp)return;var settled=!par.on&&Math.abs(par.cx)<.01&&Math.abs(par.cy)<.01;var tilt=\" perspective(700px) rotateX(\"+(-par.cy/1.5).toFixed(2)+\"deg) rotateY(\"+(par.cx/1.5).toFixed(2)+\"deg)\";var tf=settled?\"\":\"translate(\"+par.cx.toFixed(2)+\"px,\"+par.cy.toFixed(2)+\"px)\"+tilt;[].slice.call(wp.querySelectorAll(\".eng-logo, .holo, .pglitch\")).forEach(function(el){el.style.transform=tf;});var g=wp.querySelector(\".holo-ghost\");if(g)g.style.transform=settled?\"\":\"translate(\"+(par.cx*2/3).toFixed(2)+\"px,\"+(par.cy*2/3).toFixed(2)+\"px)\"+tilt;return settled;};var step=function(){var now=performance.now();var dt=par.last?Math.min(64,now-par.last):16;par.last=now;var k2=1-Math.exp(-dt/HOLO_SMOOTH_MS);par.cx+=(par.tx-par.cx)*k2;par.cy+=(par.ty-par.cy)*k2;if(!par.on&&Math.abs(par.tx-par.cx)<.01&&Math.abs(par.ty-par.cy)<.01){par.cx=par.cy=0;}var settled=apply();if(settled||Math.abs(par.tx-par.cx)<.005&&Math.abs(par.ty-par.cy)<.005){par.raf=0;par.last=0;return;}par.raf=requestAnimationFrame(step);};var kick=function(){if(!par.raf)par.raf=requestAnimationFrame(step);};box.addEventListener(\"pointerenter\",function(e){par.rect=box.getBoundingClientRect();par.on=true;box.setAttribute(\"data-holo-on\",\"1\");});box.addEventListener(\"pointermove\",function(e){if(!par.on||!par.rect)return;var nx=clamp((e.clientX-(par.rect.left+par.rect.width/2))/(par.rect.width/2),-1,1);var ny=clamp((e.clientY-(par.rect.top+par.rect.height/2))/(par.rect.height/2),-1,1);par.tx=nx*1.5;par.ty=ny*1.5;kick();});box.addEventListener(\"pointerleave\",function(){par.on=false;par.tx=par.ty=0;box.removeAttribute(\"data-holo-on\");kick();});}function tlHoloParkPointer(wrap,st){var par=st.par;if(par.raf)cancelAnimationFrame(par.raf);par.raf=0;par.last=0;par.on=false;par.tx=par.ty=par.cx=par.cy=0;var box=wrap.querySelector(\".tl-det .tl-imgbox\");if(box)box.removeAttribute(\"data-holo-on\");[].slice.call(wrap.querySelectorAll(\".tl-det .eng-logo, .tl-det .holo, .tl-det .holo-ghost, .tl-det .pglitch\")).forEach(function(el){el.style.transform=\"\";});}function tlRegShow(wrap,st,r,on){var ly=lyOf(wrap,r);if(!ly)return;if(on)st.regRow=r;else if(st.regRow===r)st.regRow=null;[].slice.call(ly.querySelectorAll(\".reg\")).forEach(function(el){var left=el.classList.contains(\"reg-l\");cancelAnims(el);if(reduce||!el.animate){el.style.opacity=on?\"1\":\"\";el.style.transform=\"\";return;}el.style.opacity=\"\";if(on){el.animate([{opacity:0,transform:\"translateX(\"+(left?-2:2)+\"px)\"},{opacity:1,transform:\"none\"}],{duration:REG_IN_MS,easing:\"cubic-bezier(.2,0,.2,1)\",fill:\"forwards\"});}else{el.animate([{opacity:1},{opacity:0}],{duration:REG_OUT_MS,easing:\"linear\",fill:\"forwards\"});}});}function tlRegClear(wrap,st){st.regRow=null;[].slice.call(wrap.querySelectorAll(\".ly .reg\")).forEach(function(el){cancelAnims(el);el.style.opacity=\"\";el.style.transform=\"\";});}function tlShutter(wrap,r){if(engFx.proj)return false;var st=tlFx(wrap);var to=wpOf(wrap,r);if(!to)return false;window.clearTimeout(st.shT);st.shT=0;var from=st.shCur||wrap.querySelector('.tl-det .wp[data-on=\"1\"]');if(!from||from===to||reduce||!to.hasAttribute(\"data-logo\")||!from.hasAttribute(\"data-logo\")){tlShutterSettle(wrap,st);st.shCur=to;return false;}st.shT=setTimeout(function(){st.shT=0;if(wrap._tlSel!==r)return;tlShutterSettle(wrap,st);from=wrap.querySelector('.tl-det .wp[data-on=\"1\"]');if(from===to){st.shCur=to;return;}if(!from){tlShutterOpen(wrap,st,to,from);return;}st.shOut=from;st.shAnims.push(from.animate([{opacity:1},{opacity:0}],{duration:SHUT_OUT_MS,easing:\"linear\",fill:\"forwards\"}));st.shT=setTimeout(function(){st.shT=0;tlShutterOpen(wrap,st,to,from);},SHUT_OUT_MS);},SHUT_HOLD_MS);return true;}function tlShutterOpen(wrap,st,to,from){cancelList(st.shAnims);[].slice.call(wrap.querySelectorAll(\".tl-det .wp\")).forEach(function(el){el.setAttribute(\"data-on\",el===to?\"1\":\"0\");});st.shCur=to;st.shOut=null;var imgs=[].slice.call(to.querySelectorAll(\".eng-logo\"));imgs.forEach(function(img){img.style.clipPath=\"inset(50% 0 50% 0)\";if(!img.animate){img.style.clipPath=\"\";return;}var a=img.animate([{clipPath:\"inset(50% 0 50% 0)\"},{clipPath:\"inset(0 0 0 0)\"}],{duration:SHUT_IN_MS,easing:\"cubic-bezier(.2,0,.2,1)\",fill:\"forwards\"});a.onfinish=function(){img.style.clipPath=\"\";try{a.cancel();}catch(e){}};st.shAnims.push(a);});}function tlShutterSettle(wrap,st){cancelList(st.shAnims);if(st.shOut){st.shOut.setAttribute(\"data-on\",\"0\");st.shOut=null;}[].slice.call(wrap.querySelectorAll(\".tl-det .eng-logo\")).forEach(function(img){img.style.clipPath=\"\";});}function tlParticleCtx(wrap){var box=wrap.querySelector(\".tl-det .tl-imgbox\");var cv=box&&box.querySelector(\".tl-pcv\");if(!cv||!cv.getContext)return null;var w=box.clientWidth,h=box.clientHeight;if(!(w>0&&h>0))return null;var dpr=Math.min(PART_DPR_MAX,window.devicePixelRatio||1);var pw=Math.round(w*dpr),ph=Math.round(h*dpr);if(cv.width!==pw||cv.height!==ph){cv.width=pw;cv.height=ph;}var ctx=cv.getContext(\"2d\");if(!ctx)return null;return{cv,ctx,w,h,pw,ph,dpr,box};}function tlParticleImg(wp){return[].slice.call(wp.querySelectorAll(\".eng-logo\")).filter(function(i){return i.offsetWidth>0;})[0]||null;}function tlParticlePoints(wrap,wp,g){if(wp._pPts!==void 0)return wp._pPts;var pts=null;try{var img=tlParticleImg(wp);if(img&&img.complete&&img.naturalWidth>0){var br=g.box.getBoundingClientRect(),ir=img.getBoundingClientRect();var k2=Math.min(ir.width/img.naturalWidth,ir.height/img.naturalHeight);var dw=img.naturalWidth*k2,dh=img.naturalHeight*k2;var dx=ir.left-br.left+(ir.width-dw)/2,dy=ir.top-br.top+(ir.height-dh)/2;var off=document.createElement(\"canvas\");off.width=Math.ceil(g.w);off.height=Math.ceil(g.h);var oc=off.getContext(\"2d\");oc.drawImage(img,dx,dy,dw,dh);var data=oc.getImageData(0,0,off.width,off.height).data;var n=0,x,y;for(y=0;y<off.height;y+=2)for(x=0;x<off.width;x+=2)if(data[(y*off.width+x)*4+3]>96)n++;var step=Math.max(2,Math.ceil(2*Math.sqrt(n/PART_MAX)));pts=[];var W2=off.width,H2=off.height;var al=function(xx,yy){return xx<0||yy<0||xx>=W2||yy>=H2?0:data[(yy*W2+xx)*4+3];};for(y=step>>1;y<H2;y+=step)for(x=step>>1;x<W2;x+=step){if(al(x,y)>96){var edge=al(x-step,y)<=96||al(x+step,y)<=96||al(x,y-step)<=96||al(x,y+step)<=96;pts.push([x+(Math.random()-.5)*step*.6,y+(Math.random()-.5)*step*.6,edge?1:0]);}}if(!pts.length)pts=null;}}catch(e){pts=null;}wp._pPts=pts;return pts;}function tlParticleSwap(wrap,to){[].slice.call(wrap.querySelectorAll(\".tl-det .wp\")).forEach(function(el){el.setAttribute(\"data-on\",el===to?\"1\":\"0\");});}function tlParticle(wrap,r){if(engFx.proj)return false;var st=tlFx(wrap);var to=wpOf(wrap,r);if(!to)return false;var P=st.part||(st.part={ps:[],raf:0,holdT:0,showT:0,gen:0,img:null,distT0:0,to:null,fading:null,fadeA:null,buf:null});window.clearTimeout(P.holdT);P.holdT=0;var running=P.ps.length>0||P.showT||P.distT0;var from=wrap.querySelector('.tl-det .wp[data-on=\"1\"]');if(reduce||!to.hasAttribute(\"data-logo\")||!running&&(!from||from===to||!from.hasAttribute(\"data-logo\"))){tlParticleSettle(wrap,st);return false;}if(running&&P.to===to)return true;if(engFx.shutter)tlShutterSettle(wrap,st);P.holdT=setTimeout(function(){P.holdT=0;if(wrap._tlSel!==r)return;tlParticleGo(wrap,st,to);},engFx.link?LINK_HOLD_MS+LINK_RUN_MS:PART_HOLD_MS);return true;}function tlParticleGo(wrap,st,to){var P=st.part;var g=tlParticleCtx(wrap);var inPts=g?tlParticlePoints(wrap,to,g):null;if(!g||!inPts){tlParticleSettle(wrap,st);tlParticleSwap(wrap,to);return;}var now=performance.now();var ex=0,ey=g.h/2;P.gen++;P.to=to;tlGlitchWarm(to);window.clearTimeout(P.showT);P.showT=0;if(P.img){P.img.style.opacity=\"\";cancelAnims(P.img);P.img=null;}tlGlitchClear(wrap,st);P.distT0=0;tlParticleFadeDone(P);var odd=0;P.ps=P.ps.filter(function(p){if(p.fadeAt)return false;if(p.mode===\"in\"&&odd++%2)return false;return tlParticleDrain(p,now,ex,ey);});var from=wrap.querySelector('.tl-det .wp[data-on=\"1\"]');if(from&&from!==to){var outPts=tlParticlePoints(wrap,from,g);if(from.animate){P.fading=from;var fa=from.animate([{opacity:1},{opacity:0}],{duration:PART_LIFT_MS,easing:\"linear\",fill:\"forwards\"});P.fadeA=fa;fa.onfinish=function(){if(P.fadeA===fa)tlParticleFadeDone(P);};}else from.setAttribute(\"data-on\",\"0\");if(outPts)outPts.forEach(function(q,i){if(i%2)return;P.ps.push({mode:\"out\",sx:q[0],sy:q[1],tx:ex+(Math.random()-.5)*4,ty:ey+(Math.random()-.5)*10,t0:now+(1-q[0]/g.w)*100+Math.random()*60,dur:PART_OUT_MS*(.8+Math.random()*.4),fadeAt:0,edge:q[2]});});}inPts.forEach(function(q){P.ps.push({mode:\"in\",sx:ex+(Math.random()-.5)*6,sy:ey+(Math.random()-.5)*14,tx:q[0],ty:q[1],t0:now+PART_IN_AT+q[0]/g.w*PART_IN_STAGGER+Math.random()*60+(q[2]?0:PART_FILL_LAG),dur:PART_IN_MS*(.85+Math.random()*.4),fadeAt:0,edge:q[2]});});var gen=P.gen;P.showT=setTimeout(function(){P.showT=0;if(P.gen===gen)tlParticleShow(wrap,st,to,g);},PART_SHOW_MS);tlParticleLoop(wrap,st,g);}function tlParticleFadeDone(P){if(P.fadeA){try{P.fadeA.cancel();}catch(e){}P.fadeA=null;}if(P.fading){P.fading.setAttribute(\"data-on\",\"0\");P.fading=null;}}function tlParticleDrain(p,now,x,y){var u=(now-p.t0)/p.dur;if(u<0)return false;if(p.mode===\"out\")return true;var e=1-Math.pow(1-Math.min(u,1),3);p.sx=p.sx+(p.tx-p.sx)*e;p.sy=p.sy+(p.ty-p.sy)*e;p.tx=x+(Math.random()-.5)*4;p.ty=y+(Math.random()-.5)*10;p.t0=now+Math.random()*40;p.dur=200+Math.random()*80;p.mode=\"out\";p.fadeAt=0;return true;}function tlParticleShow(wrap,st,to,g){var P=st.part,now=performance.now();tlParticleSwap(wrap,to);if(engFx.shutter)st.shCur=to;P.ps.forEach(function(p){if(p.mode===\"in\")p.fadeAt=now;});var img=tlParticleImg(to);if(img){P.img=img;P.distT0=now;[img,tlGlitchEls(to)].forEach(function(el){if(!el.animate)return;el.style.opacity=\"0\";var a=el.animate([{opacity:0},{opacity:1}],{duration:120,easing:\"linear\",fill:\"forwards\"});a.onfinish=function(){el.style.opacity=\"\";try{a.cancel();}catch(e){}};});tlGlitchBurst(wrap,st,to,function(){P.img=null;P.distT0=0;});}if(!P.raf)tlParticleLoop(wrap,st,g);}function tlParticleLoop(wrap,st,g){var P=st.part;if(!P.buf||P.buf.width!==g.pw||P.buf.height!==g.ph)P.buf=g.ctx.createImageData(g.pw,g.ph);var buf=P.buf,data=buf.data,pw=g.pw,ph=g.ph,dpr=g.dpr;var s=Math.max(1,Math.round(PART_PX*dpr));var step=function(){var now=performance.now(),keep2=[];data.fill(0);P.ps.forEach(function(p){var u=(now-p.t0)/p.dur;if(u<0){keep2.push(p);return;}var v=Math.min(u,1),e,a,jit;if(p.mode===\"in\"){e=1-Math.pow(1-v,3);jit=PART_JIT*(1-v)+.25;a=Math.min(1,u*5)*(p.edge?.95:.8);if(p.fadeAt){var f=(now-p.fadeAt)/PART_FADE_MS;if(f>=1)return;a*=1-f;}}else{if(u>=1)return;e=v*v;jit=PART_JIT*.5;a=u<.6?.9:.9*(1-(u-.6)/.4);}var x=p.sx+(p.tx-p.sx)*e+(Math.random()-.5)*2*jit;var y=p.sy+(p.ty-p.sy)*e+(Math.random()-.5)*2*jit;var px=Math.round(x*dpr-s/2),py=Math.round(y*dpr-s/2),a8=Math.round(a*255);for(var j=0;j<s;j++){var yy=py+j;if(yy<0||yy>=ph)continue;for(var i=0;i<s;i++){var xx=px+i;if(xx<0||xx>=pw)continue;var k2=(yy*pw+xx)*4;data[k2]=0;data[k2+1]=213;data[k2+2]=240;if(data[k2+3]<a8)data[k2+3]=a8;}}keep2.push(p);});g.ctx.putImageData(buf,0,0);P.ps=keep2;if(!keep2.length){g.ctx.clearRect(0,0,g.pw,g.ph);P.raf=0;return;}P.raf=requestAnimationFrame(step);};if(P.raf)cancelAnimationFrame(P.raf);P.raf=requestAnimationFrame(step);}function tlParticleSettle(wrap,st){var P=st.part;tlGlitchStop(wrap,st);if(!P)return;window.clearTimeout(P.holdT);P.holdT=0;window.clearTimeout(P.showT);P.showT=0;if(P.raf)cancelAnimationFrame(P.raf);P.raf=0;P.ps=[];P.gen++;P.to=null;P.distT0=0;tlParticleFadeDone(P);if(P.img){cancelAnims(P.img);P.img.style.opacity=\"\";P.img=null;}var g=tlParticleCtx(wrap);if(g)g.ctx.clearRect(0,0,g.pw,g.ph);}function tlParticleCancel(wrap,st){tlParticleSettle(wrap,st);var to=wrap._tlSel!=null?wpOf(wrap,wrap._tlSel):null;if(to)tlParticleSwap(wrap,to);}function tlGlitchEls(wp){var g=wp.querySelector(\".pglitch\");if(g)return g;g=document.createElement(\"span\");g.className=\"pglitch\";g.setAttribute(\"aria-hidden\",\"true\");g.setAttribute(\"data-on\",\"0\");var html=\"\";for(var i=0;i<GL_SLICES;i++)html+='<img class=\"pg-slice\" alt=\"\" crossorigin=\"anonymous\" data-on=\"0\">';g.innerHTML=html+'<span class=\"pg-fringe\" data-on=\"0\"></span>';wp.appendChild(g);return g;}function tlGlitchWarm(wp){if(!wp||!wp.hasAttribute(\"data-logo\"))return;var img=tlParticleImg(wp);if(!img)return;var g=tlGlitchEls(wp),src2=img.currentSrc||img.src;[].slice.call(g.querySelectorAll(\".pg-slice\")).forEach(function(s){if(s.getAttribute(\"src\")!==src2)s.setAttribute(\"src\",src2);});}function tlGlitchBands(H,amp,n){var out=[],tries=0;while(out.length<n&&tries++<12){var h=GL_BAND_MIN+Math.random()*(GL_BAND_MAX-GL_BAND_MIN);var y=Math.random()*Math.max(1,H-h);var clash=out.some(function(b){return y<b.y+b.h+2&&y+h+2>b.y;});if(clash)continue;var mag=GL_DX_MIN+Math.random()*Math.max(0,amp-GL_DX_MIN);out.push({y,h,dx:(Math.random()<.5?-1:1)*mag,fringe:!out.length&&Math.random()<GL_FRINGE_P});}return out;}function tlGlitchFrame(wp,g,bands){var img=tlParticleImg(wp);var slices=[].slice.call(g.querySelectorAll(\".pg-slice\")),fr=g.querySelector(\".pg-fringe\");if(!bands||!img){g.setAttribute(\"data-on\",\"0\");slices.forEach(function(s){s.setAttribute(\"data-on\",\"0\");});if(fr)fr.setAttribute(\"data-on\",\"0\");if(img)img.style.visibility=\"\";return;}var H=img.clientHeight||1;var regions=[],cur=0;bands.slice().sort(function(a,b){return a.y-b.y;}).forEach(function(b){if(b.y>cur)regions.push([cur,b.y,0,null]);regions.push([b.y,b.y+b.h,b.dx,b]);cur=b.y+b.h;});if(cur<H)regions.push([cur,H,0,null]);var src2=img.currentSrc||img.src;slices.forEach(function(s,i){var r=regions[i];if(!r){s.setAttribute(\"data-on\",\"0\");return;}if(s.getAttribute(\"src\")!==src2)s.setAttribute(\"src\",src2);s.style.clipPath=\"inset(\"+(r[0]/H*100).toFixed(3)+\"% 0 \"+((H-r[1])/H*100).toFixed(3)+\"% 0)\";s.style.transform=r[2]?\"translateX(\"+r[2].toFixed(2)+\"px)\":\"\";s.setAttribute(\"data-on\",\"1\");});var fb=bands.filter(function(b){return b.fringe;})[0];if(fr){if(fb){fr.style.clipPath=\"inset(\"+(fb.y/H*100).toFixed(3)+\"% 0 \"+((H-fb.y-fb.h)/H*100).toFixed(3)+\"% 0)\";fr.style.transform=\"translateX(\"+(fb.dx+(fb.dx<0?-1.5:1.5)).toFixed(2)+\"px)\";fr.setAttribute(\"data-on\",\"1\");}else fr.setAttribute(\"data-on\",\"0\");}img.style.visibility=\"hidden\";g.setAttribute(\"data-on\",\"1\");}function tlGlitchPlay(wrap,st,wp,frames,done){var G=st.gl;tlGlitchClear(wrap,st);var g=tlGlitchEls(wp);G.wp=wp;G.busy=true;frames.forEach(function(f){G.t.push(setTimeout(function(){tlGlitchFrame(wp,g,f.bands);},f.at));});var end=frames[frames.length-1].at;G.t.push(setTimeout(function(){tlGlitchFrame(wp,g,null);G.t=[];G.busy=false;G.wp=null;if(done)done();},end+1));}function tlGlitchClear(wrap,st){var G=st.gl;G.t.forEach(function(t){window.clearTimeout(t);});G.t=[];G.busy=false;if(G.wp){var g=G.wp.querySelector(\".pglitch\");if(g){tlGlitchFrame(G.wp,g,null);cancelAnims(g);g.style.opacity=\"\";}G.wp=null;}}function tlGlitchBurst(wrap,st,wp,done){var img=tlParticleImg(wp);var H=img?img.clientHeight:0;if(!(H>0)||reduce){if(done)done();return;}var steps=[[0,6,2],[50,5,2],[100,3,1],[160,2,1],[220,1,1]];var frames=steps.map(function(s){return{at:s[0],bands:tlGlitchBands(H,s[1],s[2])};});frames.push({at:PART_DIST_MS,bands:null});tlGlitchPlay(wrap,st,wp,frames,done);}function tlGlitchRandom(wrap,st){var G=st.gl,P=st.part;G.next=0;if(reduce||document.hidden||wrap.getAttribute(\"data-mfa-tl\")===\"0\")return;var wp=wrap.querySelector('.tl-det .wp[data-on=\"1\"]');var img=wp&&wp.hasAttribute(\"data-logo\")?tlParticleImg(wp):null;var inFlight=G.busy||P&&(P.ps.length||P.showT||P.holdT||P.distT0)||st.shAnims.length;if(!img||!(img.clientHeight>0)||inFlight){G.next=setTimeout(function(){tlGlitchRandom(wrap,st);},GL_RETRY_MS);return;}var H=img.clientHeight;var dur=GL_DUR_MIN+Math.random()*(GL_DUR_MAX-GL_DUR_MIN);var n=Math.random()<GL_TWO_P?2:1;var frames=[{at:0,bands:tlGlitchBands(H,GL_DX_MAX,n)}];if(Math.random()<GL_REROLL_P)frames.push({at:Math.round(dur/2),bands:tlGlitchBands(H,GL_DX_MAX,n)});frames.push({at:Math.round(dur),bands:null});tlGlitchPlay(wrap,st,wp,frames);tlGlitchArm(wrap);}function tlGlitchArm(wrap){var st=tlFx(wrap),G=st.gl;window.clearTimeout(G.next);if(reduce||document.hidden){G.next=0;return;}tlGlitchWarm(wrap.querySelector('.tl-det .wp[data-on=\"1\"]'));G.next=setTimeout(function(){tlGlitchRandom(wrap,st);},GL_GAP_MIN+Math.random()*(GL_GAP_MAX-GL_GAP_MIN));}function tlGlitchStop(wrap,st){var G=st.gl;window.clearTimeout(G.next);G.next=0;tlGlitchClear(wrap,st);}function tlGlitchWire(wrap){MFA_on(document,\"visibilitychange\",function(){var st=tlFx(wrap);if(document.hidden)tlGlitchStop(wrap,st);else if(wrap.getAttribute(\"data-mfa-tl\")!==\"0\")tlGlitchArm(wrap);});}var PJ_INSET=36,PJ_SRC_OFF=14,PJ_DPR_MAX=2;var PJ_A=.8,PJ_L1=58,PJ_L2=13.7,PJ_L3=31,PJ_W1=2.1,PJ_W2=5.3,PJ_W3=1.3;var PJ_SPK_GAP=[1400,4200],PJ_SPK_DUR=[140,380],PJ_SPK_GAIN=3.6,PJ_SPK_FRINGE_P=.35;var PJ_DOWN_MS=340,PJ_FLASH_MS=60,PJ_UP_MS=340,PJ_FLICK_SPEED=1/.6;var PJ_FLICK_OFF=[[0,1],[70,0],[110,.8],[180,0],[205,1],[240,0],[300,.55],[325,0],[370,.35],[385,0]];var PJ_FLICK_ON=[[0,0],[250,.4],[270,0],[320,.8],[350,0],[380,1],[430,0],[455,.9],[475,0],[500,1]];var PJ_ROLL_GAP=[2200,4500],PJ_ROLL_MS=900;var PJ_HB_R=12,PJ_HB_SIG=5,PJ_BEAM_STEPS=90,PJ_BEAM_A=.021,PJ_BEAM_LIVE=60;var PJ_BRIGHT=1.3,PJ_NOISE_N=6,PJ_NOISE_CUT=.4,PJ_NOISE_SPARK=.22,PJ_SCAN_CUT=.46,PJ_HOLE_CUT=.55;var PJ_STREAK_MS=60,PJ_STREAK_P=.09,PJ_STREAK_GAP=[1800,4200],PJ_STREAK_ON=[120,280];function pjRnd(a){return a[0]+Math.random()*(a[1]-a[0]);}function pjDrift(t,s){return(Math.sin(t*1.3+s)+.8*Math.sin(t*.61+2+s*1.7)+.5*Math.sin(t*2.7+1.1+s*.3))/2.3;}function pjMk(w,h){var c=document.createElement(\"canvas\");c.width=w;c.height=h;return c;}function tlProjEngine(wrap){var st=tlFx(wrap);if(st.proj)return st.proj;var cv=wrap.querySelector(\".tl-det .tl-proj\");if(!cv||!cv.getContext)return null;var ctx=cv.getContext(\"2d\");var E={cv,ctx,raf:0,W:0,H:0,dpr:1,PW:0,PH:0,cache:{},noise:[],scanC:null,lay:null,lc:null,shown:null,want:null,phase:\"idle\",t0:0,jit:[],spike:{at:0,dur:1,str:0,fringe:false,next:0},roll:{at:-1e9,next:0},dip:{at:-1e9,next:0},streak:{at:-1e9,end:-1e9,next:0},rowJ:null,rowB:null,rowS:null,rowDx:null};st.proj=E;return E;}function tlProjLayout(E){var W=E.cv.clientWidth,H=E.cv.clientHeight;if(!(W>0&&H>0))return false;if(W===E.W&&H===E.H)return true;E.W=W;E.H=H;E.dpr=Math.min(PJ_DPR_MAX,window.devicePixelRatio||1);E.PW=Math.round(W*E.dpr);E.PH=Math.round(H*E.dpr);E.cv.width=E.PW;E.cv.height=E.PH;E.cache={};E.noise=[];for(var n=0;n<PJ_NOISE_N;n++){var c=pjMk(E.PW,E.PH),x=c.getContext(\"2d\"),id=x.createImageData(E.PW,E.PH),d=id.data;for(var k2=0;k2<d.length;k2+=4){d[k2]=200;d[k2+1]=245;d[k2+2]=255;d[k2+3]=Math.random()<.55?Math.round(Math.pow(Math.random(),1.5)*255):0;}x.putImageData(id,0,0);E.noise.push(c);}E.scanC=pjMk(E.PW,E.PH);var sx=E.scanC.getContext(\"2d\"),P=Math.max(2,Math.round(2*E.dpr)),dark=Math.max(1,Math.round(E.dpr));sx.fillStyle=\"#000\";for(var y=0;y<E.PH;y+=P)sx.fillRect(0,y,E.PW,dark);E.lay=pjMk(E.PW,E.PH);E.lc=E.lay.getContext(\"2d\");E.blay=pjMk(E.PW,E.PH);E.bc=E.blay.getContext(\"2d\");E.rowJ=new Float32Array(E.PH);E.rowB=new Float32Array(E.PH);E.rowS=new Float32Array(E.PH);E.rowDx=new Float32Array(E.PH);E.rowS.fill(1);return true;}function pjCX(E){return E.W/2;}function pjEY(E){return E.H-PJ_SRC_OFF;}function tlProjHoles(E,d){var PW=E.PW,PH=E.PH,n=PW*PH,seen=new Uint8Array(n),q=new Int32Array(n),qh=0,qt=0,i,x,y;function push(k2){if(!seen[k2]&&d[k2*4+3]<=60){seen[k2]=1;q[qt++]=k2;}}for(x=0;x<PW;x++){push(x);push((PH-1)*PW+x);}for(y=0;y<PH;y++){push(y*PW);push(y*PW+PW-1);}while(qh<qt){i=q[qh++];x=i%PW;y=(i-x)/PW;if(x>0)push(i-1);if(x<PW-1)push(i+1);if(y>0)push(i-PW);if(y<PH-1)push(i+PW);}var c=pjMk(PW,PH),cx=c.getContext(\"2d\"),id=cx.createImageData(PW,PH),o=id.data,any=false;for(i=0;i<n;i++)if(!seen[i]&&d[i*4+3]<=60){o[i*4+3]=255;any=true;}if(!any)return null;cx.putImageData(id,0,0);return c;}function tlProjLayer(E,wrap,r){if(r==null)return null;var wp=wpOf(wrap,r);if(!wp||!wp.hasAttribute(\"data-logo\"))return null;var img=tlParticleImg(wp);if(!img||!img.complete||!(img.naturalWidth>0))return null;var key=r+\"|\"+(img.currentSrc||img.src);if(E.cache[key])return E.cache[key];var PW=E.PW,PH=E.PH,dpr=E.dpr;var BW=E.W-2*PJ_INSET,BH=E.H-2*PJ_INSET;var k2=Math.min(BW/img.naturalWidth,BH/img.naturalHeight);var dw=img.naturalWidth*k2,dh=img.naturalHeight*k2,bx=PJ_INSET+(BW-dw)/2,by=PJ_INSET+(BH-dh)/2;var off=pjMk(PW,PH),c=off.getContext(\"2d\");c.drawImage(img,bx*dpr,by*dpr,dw*dpr,dh*dpr);c.globalCompositeOperation=\"source-atop\";c.fillStyle=\"rgb(255,59,74)\";c.fillRect(0,0,PW,PH);var hb=pjMk(PW,PH),h=hb.getContext(\"2d\"),wsum=0,o;for(o=-PJ_HB_R;o<=PJ_HB_R;o++)wsum+=Math.exp(-Math.pow(o/PJ_HB_SIG,2));h.globalCompositeOperation=\"lighter\";for(o=-PJ_HB_R;o<=PJ_HB_R;o++){h.globalAlpha=Math.exp(-Math.pow(o/PJ_HB_SIG,2))/wsum*1.15;h.drawImage(off,o*dpr,0);}var mag=pjMk(PW,PH),m=mag.getContext(\"2d\");m.drawImage(img,bx*dpr,by*dpr,dw*dpr,dh*dpr);m.globalCompositeOperation=\"source-in\";m.fillStyle=\"rgb(255,40,90)\";m.fillRect(0,0,PW,PH);var s1=pjMk(Math.round(PW/3),Math.round(PH/3)),s5=pjMk(Math.round(PW/5),Math.round(PH/5)),s2=pjMk(Math.round(PW/10),Math.round(PH/10));s1.getContext(\"2d\").drawImage(off,0,0,s1.width,s1.height);s2.getContext(\"2d\").drawImage(s1,0,0,s2.width,s2.height);s5.getContext(\"2d\").drawImage(s1,0,0,s5.width,s5.height);var glow=pjMk(PW,PH),g=glow.getContext(\"2d\");g.imageSmoothingQuality=\"high\";g.drawImage(s2,0,0,PW,PH);var CX=pjCX(E),EY=pjEY(E);var beam=pjMk(PW,PH),bc=beam.getContext(\"2d\");bc.globalCompositeOperation=\"lighter\";bc.globalAlpha=PJ_BEAM_A;for(var i=1;i<=PJ_BEAM_STEPS;i++){var s=i/PJ_BEAM_STEPS;bc.setTransform(s,0,0,s,CX*dpr*(1-s),EY*dpr*(1-s));bc.drawImage(s5,0,0,PW,PH);}bc.setTransform(1,0,0,1,0,0);var top=by,bot=by+dh,holes=null;try{var d=c.getImageData(0,0,PW,PH).data,t2=by+dh,b2=by;for(var y=0;y<PH;y+=2)for(var x=0;x<PW;x+=2){if(d[(y*PW+x)*4+3]>24){var yc=y/dpr;if(yc<t2)t2=yc;if(yc>b2)b2=yc;}}if(b2>t2){top=t2;bot=b2+1;}holes=tlProjHoles(E,d);}catch(e2){}var e=current[r],lg=e?logoOf(LOGOS.engagements,e.id):null,src2=img.currentSrc||img.src||\"\";var pj=lg&&lg.mark&&src2.indexOf(lg.mark.src)>=0?lg.mark.proj:lg&&lg.proj;var beamG=pj&&pj.beam>0?pj.beam:1,markG=pj&&pj.mark>0?pj.mark:1;return E.cache[key]={off,hb,mag,glow,beam,sil:s5,holes,top,bot,beamG,markG};}function tlProjRejit(E){E.jit=[];for(var i=0;i<12;i++)E.jit.push((Math.random()-.5)*24);}function tlProjPattern(E,pat,ms){var lv=0;ms*=PJ_FLICK_SPEED;for(var i=0;i<pat.length;i++){if(ms>=pat[i][0]+(i?E.jit[i]:0))lv=pat[i][1];else break;}return lv;}function tlProjSpike(E,now,str){E.spike.at=now;E.spike.dur=pjRnd(PJ_SPK_DUR);E.spike.str=str;E.spike.fringe=Math.random()<PJ_SPK_FRINGE_P;E.spike.next=now+pjRnd(PJ_SPK_GAP);}function tlProjStreaks(E){var PH=E.PH,y=0;E.rowJ.fill(0);E.rowB.fill(0);E.rowS.fill(1);while(y<PH){var hgt=Math.round((2+Math.random()*5)*E.dpr);if(Math.random()<PJ_STREAK_P){var j=(Math.random()<.5?-1:1)*(.6+Math.random()*2.6),b=.45+Math.random()*.45,s=1+Math.random()*.12;for(var k2=y;k2<Math.min(PH,y+hgt);k2++){E.rowJ[k2]=j;E.rowB[k2]=b;E.rowS[k2]=s;}}y+=hgt;}}function tlProjWave(yc,t,env){var ph=2.4*pjDrift(t*.8,4);return PJ_A*env*(Math.sin(2*Math.PI*yc/PJ_L1+PJ_W1*t)+.6*Math.sin(2*Math.PI*yc/PJ_L2-PJ_W2*t+ph)+.3*Math.sin(2*Math.PI*yc/PJ_L3+PJ_W3*t+1.7))/1.9;}function tlProjSource(E,flick,boost){var ctx=E.ctx,dpr=E.dpr,CX=pjCX(E),EY=pjEY(E);ctx.save();ctx.globalCompositeOperation=\"lighter\";var r=ctx.createRadialGradient(CX*dpr,EY*dpr,0,CX*dpr,EY*dpr,30*dpr);r.addColorStop(0,\"rgba(255,59,74,\"+(.45*flick*boost).toFixed(3)+\")\");r.addColorStop(1,\"rgba(255,59,74,0)\");ctx.setTransform(1,0,0,.2,0,EY*dpr*.8);ctx.fillStyle=r;ctx.fillRect((CX-30)*dpr,(EY-30)*dpr,60*dpr,60*dpr);ctx.setTransform(1,0,0,1,0,0);ctx.fillStyle=\"rgba(255,222,226,\"+Math.min(1,.85*flick*boost).toFixed(3)+\")\";ctx.fillRect((CX-16)*dpr,EY*dpr,32*dpr,Math.max(1,dpr));ctx.restore();ctx.fillStyle=\"rgba(255,59,74,.22)\";ctx.fillRect((CX-40)*dpr,(EY+3)*dpr,80*dpr,Math.max(1,dpr));}function tlProjBeamLive(E,L,r,a){var lc=E.bc,dpr=E.dpr,CX=pjCX(E),EY=pjEY(E),n=Math.floor(PJ_BEAM_LIVE*r);lc.globalAlpha=clamp(a*PJ_BEAM_A*PJ_BEAM_STEPS/PJ_BEAM_LIVE,0,1);for(var i=1;i<=n;i++){var s=i/PJ_BEAM_LIVE;lc.setTransform(s,0,0,s,CX*dpr*(1-s),EY*dpr*(1-s));lc.drawImage(L.sil,0,0,E.PW,E.PH);}lc.setTransform(1,0,0,1,0,0);}function tlProjDraw(E,L,t,now,env,flick,gain,fr,beamA,beamR){var lc=E.lc,PW=E.PW,PH=E.PH,dpr=E.dpr,y;beamA*=L.beamG;gain*=L.markG;var rollY=reduce?-1e9:L.bot+12-(L.bot-L.top+24)*((now-E.roll.at)/PJ_ROLL_MS);lc.globalCompositeOperation=\"source-over\";lc.globalAlpha=1;lc.clearRect(0,0,PW,PH);var bc=E.bc;bc.globalCompositeOperation=\"source-over\";bc.globalAlpha=1;bc.clearRect(0,0,PW,PH);if(beamA>0&&beamR>0){bc.globalCompositeOperation=\"lighter\";if(beamR>=1){bc.globalAlpha=clamp(beamA*flick,0,1);bc.drawImage(L.beam,0,0);}else tlProjBeamLive(E,L,beamR,beamA*flick);if(L.holes){bc.globalCompositeOperation=\"destination-out\";bc.globalAlpha=PJ_HOLE_CUT;bc.drawImage(L.holes,0,0);}bc.globalCompositeOperation=\"source-over\";bc.globalAlpha=1;E.ctx.save();E.ctx.globalCompositeOperation=\"lighter\";E.ctx.drawImage(E.blay,0,0);E.ctx.restore();}lc.globalCompositeOperation=\"lighter\";var y0=Math.max(0,Math.floor(L.top*dpr)-2),y1=Math.min(PH,Math.ceil(L.bot*dpr)+2);if(gain>.01){lc.globalAlpha=clamp(.38*flick*gain,0,1);lc.drawImage(L.glow,tlProjWave((L.top+L.bot)/2,t,env)*.6*dpr,0);for(y=y0;y<y1;y++){var yc=(y+.5)/dpr;var dx=tlProjWave(yc,t,env)+(reduce?0:E.rowJ[y]);E.rowDx[y]=dx;var near=.72+.28*clamp((yc-L.top)/Math.max(1,L.bot-L.top),0,1);var rb=1+.7*Math.exp(-Math.pow((yc-rollY)/6,2));var a=clamp(PJ_BRIGHT*flick*near*rb*gain,0,1.6);var b=reduce?.25:.3+E.rowB[y];if(fr>0){var fa=clamp((Math.abs(dx)-1.6)/2.4,0,1)*.6*fr;if(fa>.01){lc.globalAlpha=fa;lc.drawImage(L.mag,0,y,PW,1,(dx+(dx<0?-1.6:1.6))*dpr,y,PW,1);}}var sw=PW*E.rowS[y];lc.globalAlpha=clamp(a*b,0,1);lc.drawImage(L.hb,0,y,PW,1,dx*dpr-(sw-PW)/2,y,sw,1);lc.globalAlpha=clamp(a*(1-b*.6),0,1);lc.drawImage(L.off,0,y,PW,1,dx*dpr,y,PW,1);}}else for(y=y0;y<y1;y++)E.rowDx[y]=0;if(L.holes){lc.globalCompositeOperation=\"destination-out\";lc.globalAlpha=PJ_HOLE_CUT;for(y=y0;y<y1;y++)lc.drawImage(L.holes,0,y,PW,1,E.rowDx[y]*dpr,y,PW,1);}var nf=Math.floor(now/33)%PJ_NOISE_N;lc.globalCompositeOperation=\"destination-out\";lc.globalAlpha=PJ_SCAN_CUT;lc.drawImage(E.scanC,0,0);if(!reduce){lc.globalAlpha=PJ_NOISE_CUT;lc.drawImage(E.noise[nf],0,0);lc.globalCompositeOperation=\"source-atop\";lc.globalAlpha=PJ_NOISE_SPARK;lc.drawImage(E.noise[(nf+3)%PJ_NOISE_N],0,0);}lc.globalCompositeOperation=\"source-over\";lc.globalAlpha=1;E.ctx.save();E.ctx.globalCompositeOperation=\"lighter\";E.ctx.drawImage(E.lay,0,0);E.ctx.restore();}function tlProjFrame(wrap,E,now){E.raf=requestAnimationFrame(function(n){tlProjFrame(wrap,E,n);});var t=now/1e3,ctx=E.ctx;ctx.clearRect(0,0,E.PW,E.PH);var flick=reduce?1:.9+.07*pjDrift(t*9,1);if(!reduce){if(now>E.dip.next){E.dip.at=now;E.dip.next=now+pjRnd([2e3,6e3]);}if(now-E.dip.at<50)flick*=.6;if(now>E.spike.next&&E.phase===\"rest\")tlProjSpike(E,now,.6+Math.random()*.4);if(now>E.roll.next){E.roll.at=now;E.roll.next=now+PJ_ROLL_MS+pjRnd(PJ_ROLL_GAP);}if(now>E.streak.next){E.streak.end=now+pjRnd(PJ_STREAK_ON);E.streak.next=now+pjRnd(PJ_STREAK_GAP);}if(now<E.streak.end){if(now-E.streak.at>PJ_STREAK_MS){E.streak.at=now;tlProjStreaks(E);}}else if(E.streak.at>-1e9){E.streak.at=-1e9;E.rowJ.fill(0);E.rowB.fill(0);E.rowS.fill(1);}}var u=E.spike.dur>0?(now-E.spike.at)/E.spike.dur:2;var sg=u<0||u>1?0:Math.pow(Math.sin(Math.PI*u),2)*E.spike.str;var env=reduce?0:(.55+.45*pjDrift(t*.7,2))*(1+sg*(PJ_SPK_GAIN-1));var fr=E.spike.fringe?sg:0;var L,q;if(E.phase===\"down\"){u=(now-E.t0)/PJ_DOWN_MS;L=tlProjLayer(E,wrap,E.shown);if(u>=1||!L){E.phase=\"flash\";E.t0=now;}else{q=clamp((u-.3)/.7,0,1);tlProjDraw(E,L,t,now,env*(1+u*2),flick,tlProjPattern(E,PJ_FLICK_OFF,now-E.t0),fr,1.2,1-q*q);tlProjSource(E,flick,1+q*.5);return;}}if(E.phase===\"flash\"){u=(now-E.t0)/PJ_FLASH_MS;L=tlProjLayer(E,wrap,E.want);if(!L){tlProjSource(E,flick,1);var wp=wpOf(wrap,E.want);if(!wp||!wp.hasAttribute(\"data-logo\")){E.shown=E.want;E.phase=\"empty\";}return;}if(u>=1){E.phase=\"up\";E.t0=now;E.shown=E.want;}else{tlProjSource(E,flick,1.6+.6*Math.sin(Math.PI*u));return;}}if(E.phase===\"up\"){u=(now-E.t0)/PJ_UP_MS;L=tlProjLayer(E,wrap,E.shown);if(u>=1||!L){E.phase=\"rest\";if(!reduce)tlProjSpike(E,now,1);if(E.want!==E.shown){tlProjRejit(E);E.phase=\"down\";E.t0=now;}}else{var ext=1-Math.pow(1-clamp(u/.45,0,1),3);tlProjDraw(E,L,t,now,env*(1+(1-u)*1.5),flick,tlProjPattern(E,PJ_FLICK_ON,now-E.t0),fr,1.2-.2*u,ext);tlProjSource(E,flick,1.5-.5*u);return;}}if(E.phase===\"empty\"&&E.want!==E.shown){E.phase=\"flash\";E.t0=now;}if(E.phase===\"rest\"){L=tlProjLayer(E,wrap,E.shown);if(L){tlProjDraw(E,L,t,now,env,flick,1,fr,1,1);tlProjSource(E,flick,1);if(reduce){cancelAnimationFrame(E.raf);E.raf=0;}return;}}tlProjSource(E,flick,1);}function tlProjSelect(wrap,r,instant){if(!logosOn)return;var E=tlProjEngine(wrap);if(!E||r==null)return;if(!tlProjLayout(E))return;E.want=r;if(reduce||instant&&E.phase===\"idle\"){E.shown=r;E.phase=\"rest\";}else if(E.phase===\"idle\"){tlProjRejit(E);E.phase=\"flash\";E.t0=performance.now();}else if((E.phase===\"rest\"||E.phase===\"empty\")&&E.shown!==r){tlProjRejit(E);E.phase=E.phase===\"rest\"?\"down\":\"flash\";E.t0=performance.now();}if(!E.raf)E.raf=requestAnimationFrame(function(n){tlProjFrame(wrap,E,n);});}function tlProjStop(wrap,st){var E=st.proj;if(!E)return;if(E.raf)cancelAnimationFrame(E.raf);E.raf=0;E.phase=\"idle\";E.shown=null;E.want=null;if(E.PW)E.ctx.clearRect(0,0,E.PW,E.PH);}function tlLinkRun(wrap,st,r){var svg=wrap.querySelector(\".tl-link\");var tl=wrap.querySelector(\".tl\");var ly=lyOf(wrap,r);var box=wrap.querySelector(\".tl-det .tl-imgbox\");if(!svg||!tl||!ly||!box)return;var left=tl.offsetLeft+tl.offsetWidth;var rowY=tl.offsetTop+ly.offsetTop+ly.offsetHeight/2;var slotY=box.offsetTop+box.offsetHeight/2;if(!(tl.offsetWidth>0))return;var d=\"M10 \"+rowY.toFixed(1)+\" H24 V\"+slotY.toFixed(1)+\" H46\";var L=14+Math.abs(slotY-rowY)+22;svg.style.left=left+\"px\";svg.style.height=wrap.offsetHeight+\"px\";var w=svg.querySelector(\".tl-link-w\"),p=svg.querySelector(\".tl-link-p\");w.setAttribute(\"d\",d);p.setAttribute(\"d\",d);p.style.strokeDasharray=\"12 \"+L.toFixed(1);if(!svg.animate)return;svg.style.opacity=\"1\";st.linkAnims.push(p.animate([{strokeDashoffset:12},{strokeDashoffset:-L}],{duration:LINK_RUN_MS,easing:\"linear\",fill:\"forwards\"}));var fade=svg.animate([{opacity:1,offset:0},{opacity:1,offset:LINK_RUN_MS/(LINK_RUN_MS+LINK_FADE_MS)},{opacity:0,offset:1}],{duration:LINK_RUN_MS+LINK_FADE_MS,easing:\"linear\",fill:\"forwards\"});fade.onfinish=function(){tlLinkOff(wrap,st);};st.linkAnims.push(fade);}function tlLinkOff(wrap,st){cancelList(st.linkAnims);var svg=wrap.querySelector(\".tl-link\");if(svg)svg.style.opacity=\"\";}function tlClockArm(wrap,st){var btn=wrap.querySelector(\".tl-replay\");var rect=btn&&btn.querySelector(\".tl-clock path\");if(!rect)return;var bw=btn.clientWidth,bh=btn.clientHeight;if(bw>1&&bh>1)rect.setAttribute(\"d\",\"M.5 .5 H\"+(bw-.5)+\" V\"+(bh-.5)+\" H.5 Z\");cancelAnims(rect);st.clock={rect,hold:0};}function tlClockFrame(st,t){var c=st.clock;c.rect.style.opacity=\"1\";c.rect.style.strokeDashoffset=String(1-clamp(t/st.dur,0,1));}function tlClockEnd(st){var c=st.clock;if(!c)return;st.clock=null;c.rect.style.strokeDashoffset=\"0\";if(!c.rect.animate||reduce){c.rect.style.opacity=\"\";c.rect.style.strokeDashoffset=\"\";return;}var a=c.rect.animate([{opacity:1,offset:0},{opacity:1,offset:CLOCK_HOLD_MS/(CLOCK_HOLD_MS+CLOCK_FADE_MS)},{opacity:0,offset:1}],{duration:CLOCK_HOLD_MS+CLOCK_FADE_MS,easing:\"linear\",fill:\"forwards\"});a.onfinish=function(){c.rect.style.opacity=\"\";c.rect.style.strokeDashoffset=\"\";try{a.cancel();}catch(e){}};}function tlClockReset(st){var c=st.clock;st.clock=null;if(!c)return;cancelAnims(c.rect);c.rect.style.opacity=\"\";c.rect.style.strokeDashoffset=\"\";}var ROLL_HOLD_MS=620;var ROLL_STEP_MS=190;var rollT=[];function rollOpenRows(root){rollT.forEach(function(t){window.clearTimeout(t);});rollT=[];if(rollMode===\"0\"||reduce||rest)return;var rows=[].slice.call(root.querySelectorAll('.row[data-kind=\"eng\"]')).filter(function(r){var id=r.getAttribute(\"data-id\");var b=id&&root.querySelector('.blurb[data-for=\"'+id+'\"] .bw');return!!(b&&b.textContent);});if(rows.length<2)return;rows.forEach(function(r,i){if(rollMode===\"all\"){latchRow(r,true,true);rollT.push(setTimeout(function(){latchRow(r,false);},ROLL_HOLD_MS+i*ROLL_STEP_MS));return;}rollT.push(setTimeout(function(){latchRow(r,true);},i*ROLL_STEP_MS));rollT.push(setTimeout(function(){latchRow(r,false);},i*ROLL_STEP_MS+ROLL_HOLD_MS));});}function drumArm(root){if(!root||!root.querySelector)return;var host=root.querySelector(\".film-drum\");if(!host)return;host.removeAttribute(\"data-mfa-dbi\");host._mfDbiPend=!dbiArmed||reduce||rest?0:1;}var DRUM_PARTS='[data-mfa=\"drum-stage\"],[data-mfa=\"drum-ap\"],.drum-dial,[data-mfa=\"drum-note\"]';function drumPrime(root){if(!root||!root.querySelector||!dbiArmed||reduce||rest)return;[].slice.call(root.querySelectorAll(DRUM_PARTS)).forEach(function(el){el.style.opacity=\"0\";});}function drumBootFire(host){if(!host||!host._mfDbiPend)return;host._mfDbiPend=0;var st=host._mfDrum;if(!st)return;var parts=[].slice.call(host.querySelectorAll(DRUM_PARTS));var show=function(){parts.forEach(function(el){el.style.opacity=\"\";});};if(dbiMode===\"rise\"){show();host.removeAttribute(\"data-mfa-dbi\");void host.offsetWidth;host.setAttribute(\"data-mfa-dbi\",\"rise\");return;}show();st.pos=st.target-DRUM_CULL;st.v=0;st.posed=drumPose(host,st.pos)||st.posed;if(!st.raf)st.raf=requestAnimationFrame(st.step);}function e2BootFired(root){if(!e2On||!root||!root.querySelector)return;var wrap=root.querySelector(\".tl-wrap\");if(wrap)tlRun(wrap);rollOpenRows(root);drumArm(root);}function e2Park(screen){if(!e2On)return;var wrap=screen.querySelector(\".tl-wrap\");if(wrap&&ENGFX_ON)tlFxCancel(wrap);if(wrap)wrap.setAttribute(\"data-mfa-tl\",\"0\");var dh=screen.querySelector&&screen.querySelector(\".film-drum\");if(dh){dh._mfDbiPend=0;dh.removeAttribute(\"data-mfa-dbi\");[].slice.call(dh.querySelectorAll(DRUM_PARTS)).forEach(function(el){el.style.opacity=\"\";});}}function drumAabb(o,tileH){var P=DRUM_P_RATIO*tileH;var R2=DRUM_R_RATIO*tileH;var th=-o*DRUM_STEP_DEG*Math.PI/180;var cos=Math.cos(th),sin=Math.sin(th);var sFit=P>R2+1?P/(P-R2):1;var project=function(yl){var y=yl*cos-R2*sin;var z=yl*sin+R2*cos;var den=P-z;if(!(den>1))return{Y:y,s:1};return{Y:y*P/den,s:P/den};};var half=tileH*.5;var top=project(-half),bot=project(half),mid=project(0);var syRaw=tileH>0?(bot.Y-top.Y)/tileH:1;var sx=mid.s/sFit;var syBox=syRaw/sFit;return{ty:(top.Y+bot.Y)*.5/sFit,sx,sy:syBox>.02?sx:syBox};}function capsRail(screen){var sp=screen.querySelector('[data-mfa=\"spec\"]');var on=screen.querySelector('[data-mfa=\"caps-rail\"]');if(!sp||!on)return false;var seen=sp.scrollWidth>0?(sp.scrollLeft+sp.clientWidth)/sp.scrollWidth:1;on.style.width=(Math.max(0,Math.min(1,seen))*100).toFixed(2)+\"%\";return true;}function drumFit(screen){var host=screen.querySelector(\".film-drum\");if(!host)return false;var reg=screen.querySelector('[data-mfa=\"register\"]');var head=screen.querySelector(\".reg-head\");if(!reg||!head)return false;var cs=getComputedStyle(reg);var room=reg.clientHeight-(parseFloat(cs.paddingTop)||0)-(parseFloat(cs.paddingBottom)||0)-head.offsetHeight;if(!(room>160))return false;var NOTE_GAP=14,NOTE_LINE=13.5;var noteEl=host.querySelector('[data-mfa=\"drum-note\"]');var worst=\"\";for(var wi=0;wi<credits.length;wi++){var sc0=credits[wi].screenings&&credits[wi].screenings[0];if(sc0&&clean(sc0).length>worst.length)worst=clean(sc0);}var NOTE_SLOT=Math.ceil(NOTE_LINE*2);var reserve=notePlace===\"foot\"?0:NOTE_SLOT+NOTE_GAP;var floor=Math.round(room*DRUM_FLOOR_RATIO);var botR=notePlace===\"clear\"?0:DRUM_TOP_RATIO;var stageH,cardH,topS,botS,cardW,air;for(var pass=0;pass<3;pass++){var passBot=Math.round(cardH?cardH*botR:0);var passTop=Math.round(cardH?cardH*DRUM_TOP_RATIO:0);var passPull=notePlace===\"soft\"?passBot:notePlace===\"both\"?Math.min(passBot,Math.max(1,Math.round(passTop*DRUM_FADE_OF_SLACK))):0;reserve=notePlace===\"foot\"?0:NOTE_SLOT+NOTE_GAP-passPull;if(reserve<0)reserve=0;stageH=Math.floor(room-reserve-floor);cardH=Math.floor(stageH/(1+DRUM_TOP_RATIO+botR));topS=Math.round(cardH*DRUM_TOP_RATIO);botS=Math.round(cardH*botR);cardW=Math.round(cardH*2/3);air=Math.round(cardW*DRUM_AIR_RATIO);if(notePlace===\"foot\"||!noteEl||!worst)break;var keepTxt=noteEl.textContent,keepW=noteEl.style.width,keepMin=noteEl.style.minHeight;noteEl.style.width=cardW+\"px\";noteEl.style.minHeight=\"0px\";noteEl.textContent=worst;var need=Math.ceil(noteEl.scrollHeight||NOTE_SLOT);noteEl.textContent=keepTxt;noteEl.style.width=keepW;noteEl.style.minHeight=keepMin;if(need<=NOTE_SLOT)break;NOTE_SLOT=need;}var st=reg.style;st.setProperty(\"--drum-stage-h\",topS+cardH+botS+\"px\");st.setProperty(\"--drum-stage-w\",cardW+air*2+\"px\");st.setProperty(\"--drum-card-h\",cardH+\"px\");st.setProperty(\"--drum-card-w\",cardW+\"px\");st.setProperty(\"--drum-air\",air+\"px\");st.setProperty(\"--drum-top\",topS+\"px\");st.setProperty(\"--drum-bot\",botS+\"px\");st.setProperty(\"--drum-fade\",Math.max(1,Math.round(topS*DRUM_FADE_OF_SLACK))+\"px\");var notePull=notePlace===\"soft\"?botS:notePlace===\"both\"?Math.min(botS,Math.max(1,Math.round(topS*DRUM_FADE_OF_SLACK))):0;st.setProperty(\"--drum-note-pull\",notePull+\"px\");var NOTE_CLEAR=6;var noteTop=stageH+NOTE_GAP-notePull;var botClear=Math.max(0,Math.min(stageH,noteTop-NOTE_CLEAR));var botBand=Math.max(0,botClear-(topS+cardH));var botFade=Math.max(1,Math.min(Math.round(topS*DRUM_FADE_OF_SLACK),Math.round(botBand*.4)));var botSolid=Math.max(0,botClear-botFade);st.setProperty(\"--drum-bot-clear\",botClear+\"px\");st.setProperty(\"--drum-bot-solid\",botSolid+\"px\");st.setProperty(\"--drum-note-gap\",NOTE_GAP+\"px\");st.setProperty(\"--drum-note-h\",NOTE_SLOT+\"px\");st.setProperty(\"--drum-floor\",floor+\"px\");var tickH=Math.max(6,Math.round(cardH*DRUM_TICK_RATIO*DRUM_TICK_SPREAD));st.setProperty(\"--drum-tick-h\",tickH+\"px\");host._mfTickH=tickH;return true;}function drumPose(host,pos){var stage=host.querySelector('[data-mfa=\"drum-stage\"]');if(!stage)return false;var cards=stage.querySelectorAll(\".pcd\");if(!cards.length)return false;var tileH=cards[0].offsetHeight||0;if(!tileH)return false;var sel=Math.max(0,Math.min(cards.length-1,Math.round(pos)));for(var i=0;i<cards.length;i++){var el=cards[i];var o=i-pos;var a=drumAabb(o,tileH);var culled=Math.cos(-o*DRUM_STEP_DEG*Math.PI/180)<=.02||Math.abs(o)>=DRUM_CULL;el.style.transform=\"translate3d(0,\"+a.ty.toFixed(2)+\"px,0) scale(\"+a.sx.toFixed(4)+\",\"+a.sy.toFixed(4)+\")\";el.style.opacity=culled?\"0\":\"1\";el.style.zIndex=String(60-Math.round(Math.abs(o)*10));el.setAttribute(\"data-on\",i===sel?\"1\":\"0\");var sc=el.querySelector(\".pcd-scrim\");if(sc)sc.style.background=\"rgba(7,8,12,\"+(DRUM_SCRIM*Math.min(1,Math.abs(o))).toFixed(3)+\")\";}var track=host.querySelector('[data-mfa=\"drum-ticks\"]');var pitch2=host._mfTickH||0;if(track&&pitch2)track.style.transform=\"translate3d(0,\"+(-pos*pitch2).toFixed(2)+\"px,0)\";var ticks=host.querySelectorAll(\".drum-tick\");for(var k2=0;k2<ticks.length;k2++){ticks[k2].setAttribute(\"data-on\",k2===sel?\"1\":\"0\");ticks[k2].setAttribute(\"data-near\",Math.abs(k2-pos)<1.2?\"1\":\"0\");}return true;}function drumStart(host){if(!host||host._mfDrum)return;var st={pos:0,target:0,v:0,raf:0};host._mfDrum=st;var step=function(){var moving=Math.abs(st.target-st.pos)>5e-4||Math.abs(st.v)>5e-4;if(moving){st.v=(st.v+(st.target-st.pos)*DRUM_STIFF)*DRUM_DAMP;st.pos+=st.v;if(Math.abs(st.target-st.pos)<5e-4&&Math.abs(st.v)<5e-4){st.pos=st.target;st.v=0;}}if(moving||!st.posed){if(drumPose(host,st.pos))st.posed=true;}if(!moving&&st.posed){st.raf=0;return;}st.raf=requestAnimationFrame(step);};st.step=step;st.posed=drumPose(host,0);st.raf=requestAnimationFrame(step);}function setFilm(screen,i){[].slice.call(screen.querySelectorAll(\".film-row\")).forEach(function(el){el.setAttribute(\"data-mfa-sel\",el.getAttribute(\"data-i\")===String(i)?\"1\":\"0\");});[].slice.call(screen.querySelectorAll(\".film-well .pcw, .film-strip .pcs\")).forEach(function(el){el.setAttribute(\"data-on\",el.getAttribute(\"data-mfa-poster\")===String(i)?\"1\":\"0\");});if(fitBleed){var tr=screen.querySelector(\".film-track\");if(tr){var reg=tr.closest&&tr.closest('[data-mfa=\"register\"]');var band;if(reg){var rcs=getComputedStyle(reg);band=reg.clientWidth-(parseFloat(rcs.paddingLeft)||0)-(parseFloat(rcs.paddingRight)||0);}else{band=tr.parentElement?tr.parentElement.clientWidth:0;}var rowW=tr.scrollWidth,tx=0;var pc=i>=0?tr.querySelector('.pcs[data-mfa-poster=\"'+i+'\"]'):null;if(pc&&rowW>band){tx=-(pc.offsetLeft+pc.offsetWidth/2-band/2);if(tx>0)tx=0;if(tx<band-rowW)tx=band-rowW;}tr.style.transform=\"translateX(\"+Math.round(tx)+\"px)\";}}var drumHost=screen.querySelector(\".film-drum\");if(drumHost&&i>=0){var nEl=drumHost.querySelector('[data-mfa=\"drum-note\"]');if(nEl){var sc=credits[i]&&credits[i].screenings&&credits[i].screenings[0];nEl.textContent=sc?clean(sc):\"\";nEl.setAttribute(\"data-on\",sc?\"1\":\"0\");}if(!drumHost._mfDrum)drumStart(drumHost);var dst=drumHost._mfDrum;if(reduce||rest){dst.pos=i;dst.target=i;dst.posed=drumPose(drumHost,i)||dst.posed;}else dst.target=i;if(!dst.raf&&dst.step)dst.raf=requestAnimationFrame(dst.step);}if(psMode===\"play\"){var mk=screen.querySelector(\".film-strip .film-mark\");if(mk){var cell=i>=0?screen.querySelector('.film-strip .pcs[data-mfa-poster=\"'+i+'\"]'):null;if(cell){mk.style.width=cell.offsetWidth+\"px\";mk.style.transform=\"translateX(\"+cell.offsetLeft+\"px)\";mk.setAttribute(\"data-on\",\"1\");}else{mk.setAttribute(\"data-on\",\"0\");}}}}if(e2On){regs.forEach(function(screen){var wrap=screen.querySelector(\".tl-wrap\");if(wrap){setTl(wrap,1);[].slice.call(wrap.querySelectorAll(\".ly\")).forEach(function(el){var r=parseInt(el.getAttribute(\"data-i\"),10);el.addEventListener(\"pointerenter\",function(){setTl(wrap,r);});el.addEventListener(\"click\",function(e){e.stopPropagation();setTl(wrap,r);});if(engRead)el.addEventListener(\"focus\",function(){setTl(wrap,r);});});wrap.querySelector(\".tl-replay\").addEventListener(\"click\",function(e){e.stopPropagation();tlRun(wrap,true);});if(engFx.holo)tlHoloWire(wrap);if(engFx.particle)tlGlitchWire(wrap);}if(capsOpen){var specRail=screen.querySelector('[data-mfa=\"spec\"]');if(specRail){var capRows=[].slice.call(specRail.querySelectorAll(\".op-row\"));var openCap=function(i){capRows.forEach(function(el){el.setAttribute(\"data-on\",el.getAttribute(\"data-i\")===String(i)?\"1\":\"0\");});};if(capsScroll){capRows.forEach(function(el){var toggle=function(e){if(e)e.stopPropagation();el.setAttribute(\"data-on\",el.getAttribute(\"data-on\")===\"1\"?\"0\":\"1\");railFollow(specRail,\"caps toggle\");};el.addEventListener(\"click\",toggle);var opHead=el.querySelector(\".op-head\");if(opHead&&!capsHlCol){opHead.addEventListener(\"pointerenter\",function(){el.setAttribute(\"data-hl\",\"1\");});opHead.addEventListener(\"pointerleave\",function(){el.setAttribute(\"data-hl\",\"0\");});}});specRail.addEventListener(\"scroll\",function(){capsScrollRail(screen);},{passive:true});var refit=function(){if(fitCapsScroll(screen))capsScrollRail(screen);};requestAnimationFrame(function(){requestAnimationFrame(refit);});MFA_on(window,\"resize\",refit);return;}capRows.forEach(function(el){var ci=el.getAttribute(\"data-i\");el.addEventListener(\"pointerenter\",function(){openCap(ci);});el.addEventListener(\"focus\",function(){openCap(ci);});el.addEventListener(\"click\",function(e){e.stopPropagation();openCap(ci);});});specRail.addEventListener(\"pointerleave\",function(){openCap(-1);});}}if(capsMode===\"bleed\"){var sp=screen.querySelector('[data-mfa=\"spec\"]');if(sp){sp.addEventListener(\"scroll\",function(){capsRail(screen);},{passive:true});capsRail(screen);}}var filmList=screen.querySelector(\".reg-split .film-cols\");if(filmList&&FRAME_ON&&filmDrum){filmList.addEventListener(\"scroll\",function(){filmRail(screen);},{passive:true});requestAnimationFrame(function(){requestAnimationFrame(function(){filmRail(screen);});});MFA_on(window,\"resize\",function(){filmRail(screen);});}var engList=screen.querySelector('[data-mfa=\"eng-list\"]');if(engList&&!rolesHover){engList.addEventListener(\"scroll\",function(){engScrollRail(screen);},{passive:true});var refitEng=function(){if(fitEngScroll(screen))engScrollRail(screen);};requestAnimationFrame(function(){requestAnimationFrame(refitEng);});MFA_on(window,\"resize\",refitEng);}var recReg=FRAME_ON&&screen.getAttribute(\"data-mfa-screen\")===\"recognition\"?screen.querySelector('[data-mfa=\"register\"]'):null;if(recReg){var recBlk=recReg.querySelector(\".recog-stack\");var recFade=function(){var st=recReg.scrollTop,over=recReg.scrollHeight>recReg.clientHeight+1;recReg.setAttribute(\"data-mfa-rs\",over?\"1\":\"0\");recReg.style.setProperty(\"--rs-st\",st+\"px\");recReg.style.setProperty(\"--rs-h\",recReg.clientHeight+\"px\");if(recBlk)recReg.style.setProperty(\"--rs-b\",recBlk.offsetTop+\"px\");recReg.style.setProperty(\"--rs-fb\",Math.max(0,Math.min(40,recReg.scrollHeight-recReg.clientHeight-st))+\"px\");};var recRail=function(){alignRailToFrame(recReg,\"recognition\");paintRail(recReg,\"recog\");recFade();};var recGrid=recReg.querySelector(\".quote-grid\");var recFit=function(){if(recGrid&&recReg.clientHeight>80){recGrid.style.rowGap=\"\";var over=recReg.scrollHeight-recReg.clientHeight;if(over>0)recGrid.style.rowGap=Math.max(28,48-over-1)+\"px\";}recRail();};recReg.addEventListener(\"scroll\",recRail,{passive:true});requestAnimationFrame(function(){requestAnimationFrame(recFit);});MFA_on(window,\"resize\",recFit);if(window.MutationObserver&&panel)new MutationObserver(function(){requestAnimationFrame(recFit);}).observe(panel,{attributes:true,attributeFilter:[\"data-mfa-open\"]});}var dh=screen.querySelector(\".film-drum\");if(dh){requestAnimationFrame(function(){requestAnimationFrame(function(){drumStart(dh);});});}if(screen.querySelector(\".film-well, .film-strip, .film-drum\")){setFilm(screen,filmStrip?-1:0);[].slice.call(screen.querySelectorAll(\".film-row\")).forEach(function(el){var i=parseInt(el.getAttribute(\"data-i\"),10);el.addEventListener(\"pointerenter\",function(){setFilm(screen,i);});el.addEventListener(\"focus\",function(){setFilm(screen,i);});});}});}var drumWheelAt=0;var hovN=-1;var GROW_W=[0,1,1,1,1,1];function setHov(n){hovN=n;var g=expandPct/100;menu.setAttribute(\"data-mfa-hov\",n>0?\"1\":\"0\");var share=[],k2;for(k2=1;k2<=6;k2++)share[k2]=0;if(growOn&&n>0){[-1,1].forEach(function(dir){var side=[],wsum=0,j;for(j=n+dir;j>=1&&j<=6;j+=dir){var w=GROW_W[Math.min(GROW_W.length-1,Math.abs(j-n))];side.push([j,w]);wsum+=w;}if(!side.length||wsum<=0)return;var other=dir===-1?n<6:n>1;var take=other?g/2:g;side.forEach(function(p){share[p[0]]+=take*p[1]/wsum;});});}for(k2=1;k2<=6;k2++){var tile=tiles[k2-1];var d=n>0?Math.abs(k2-n):-1;var gr=1;if(growOn&&n>0)gr=d===0?1+g:1-share[k2];tile.style.flexGrow=gr.toFixed(4);tile.style.transitionDelay=\"0ms\";if(d<0)tile.removeAttribute(\"data-mfa-dist\");else tile.setAttribute(\"data-mfa-dist\",String(Math.min(3,d)));}previewHead(n);}function previewHead(n){regs.forEach(function(screen,i){var w=screen.querySelector('[data-mfa-head=\"path\"] .w');var sub=screen.querySelector('[data-mfa-head=\"path\"] .sub');if(!w||!sub)return;var pv=n>0&&!animating&&open===i+1&&n!==open;var t=pv?TILES[n-1]:TILES[i];if(w.textContent!==t.title)w.textContent=t.title;var want=t.sub;if(sub.getAttribute(\"data-sub\")!==want){sub.innerHTML=subHtml(want);sub.setAttribute(\"data-sub\",want);}w.setAttribute(\"data-pv\",pv?\"1\":\"0\");sub.setAttribute(\"data-pv\",pv?\"1\":\"0\");});}function afterTrip(fn){(function wait(){if(animating){requestAnimationFrame(wait);return;}fn();})();}if(headPath){tiles.forEach(function(tile,i){if(i===ROOT)return;tile.addEventListener(\"pointerenter\",function(){setHov(i+1);});});menu.addEventListener(\"pointerleave\",function(){setHov(-1);});}function canScroll(scroller,dir){if(!scroller)return false;if(dir<0)return scroller.scrollTop>0;return scroller.scrollTop+scroller.clientHeight<scroller.scrollHeight-1;}function wheelScroller(target,dir){var reg=target&&target.closest&&target.closest('[data-mfa=\"register\"]');if(!reg)return null;var el=target;while(el&&el!==reg){var oy=el.nodeType===1?getComputedStyle(el).overflowY:\"\";if((oy===\"auto\"||oy===\"scroll\")&&el.scrollHeight>el.clientHeight+1&&canScroll(el,dir))return el;el=el.parentElement;}var inner=reg.querySelector('[data-mfa-scroll=\"1\"]');if(inner&&inner.scrollHeight>inner.clientHeight+1)return inner;return reg;}panel.addEventListener(\"wheel\",function(e){if(animating){e.preventDefault();return;}var now=performance.now();if(stop===\"contact\"){if(e.deltaY<0){e.preventDefault();clearLatch();cutToAbout();}else{e.preventDefault();}lastWheelAt=now;return;}if(PORT&&open===0){clearLatch();lastWheelAt=now;return;}if(PORT)e.mfaOwned=true;if(open===0){clearLatch();if(e.deltaY>0){e.preventDefault();cutToContact();}else{e.preventDefault();}lastWheelAt=now;return;}var t=e.target;var dir=e.deltaY>0?1:e.deltaY<0?-1:0;if(!dir){lastWheelAt=now;return;}var scroller=wheelScroller(t,dir);var capsHost=t&&t.closest&&t.closest('[data-mfa=\"spec\"]');if(capsHost&&capsMode===\"bleed\"){var capsMax=capsHost.scrollWidth-capsHost.clientWidth;var capsEnd=dir>0?capsHost.scrollLeft>=capsMax-1:capsHost.scrollLeft<=0;if(!capsEnd){e.preventDefault();clearLatch();capsHost.scrollLeft+=e.deltaY;lastWheelAt=now;return;}}var dHost=t&&t.closest&&t.closest(\".film-drum\");if(dHost&&dHost._mfDrum){e.preventDefault();clearLatch();if(now-drumWheelAt>=260){var nCards=dHost.querySelectorAll(\".pcd\").length;var want=Math.max(0,Math.min(nCards-1,dHost._mfDrum.target+dir));if(want!==dHost._mfDrum.target){drumWheelAt=now;dHost._mfDrum.target=want;if(!dHost._mfDrum.raf&&dHost._mfDrum.step)dHost._mfDrum.raf=requestAnimationFrame(dHost._mfDrum.step);var sr=dHost.closest(\".reg-screen\");if(sr)setFilm(sr,want);}}lastWheelAt=now;return;}if(scroller&&canScroll(scroller,e.deltaY)){clearLatch();if(!scroller.contains(t)){e.preventDefault();scroller.scrollTop+=e.deltaY;}lastWheelAt=now;return;}e.preventDefault();lightLatchCue();lastWheelAt=now;},{passive:false});MFA_on(document,\"keydown\",function(e){if(e.key!==\"Escape\")return;if(stop===\"contact\"){cutToAbout();return;}if(open>0&&!animating)returnToRoot();});var frBack=MFA_byId(\"frBack\");if(frBack)frBack.addEventListener(\"click\",function(e){e.preventDefault();if(headPath&&stop===\"about\"&&open>0&&!animating)returnToRoot();});(function(){if(PORT)return;var DD_ON=new URLSearchParams(location.search).get(\"navdd\")!==\"0\";(function(){var v=new URLSearchParams(location.search).get(\"ddfx\");MFA_ROOT.setAttribute(\"data-mfa-ddfx\",v===\"cascade\"||v===\"unroll\"||v===\"wipe\"?v:\"slide\");})();MFA_ROOT.setAttribute(\"data-mfa-navdd\",DD_ON?\"1\":\"0\");var dd=MFA_byId(\"navDD\"),row=MFA_byId(\"navDDRow\");if(!DD_ON||!dd||!row)return;var DD_OPEN_MS=100,DD_GRACE_MS=600,DD_STAGGER_MS=35;var items=[{id:\"about\",n:\"00\",t:\"ABOUT\"}].concat(TILES.map(function(t,i){return{id:t.id,n:pad2(i+1),t:t.title};}));var html=\"\";items.forEach(function(it,i){var st=MFA_ROOT.getAttribute(\"data-mfa-ddfx\")===\"cascade\"?22:DD_STAGGER_MS;if(i)html+='<span class=\"dd-sep\" aria-hidden=\"true\" style=\"animation-delay:'+(i*st-Math.round(st/2))+'ms\"></span>';html+='<a href=\"#about\" class=\"dd-lk\" data-sec=\"'+it.id+'\" style=\"animation-delay:'+i*st+'ms\"><span class=\"w\" aria-hidden=\"true\"></span><span class=\"n\">'+it.n+\"</span><span>\"+esc(it.t)+\"</span></a>\";});row.innerHTML=html;var links=[].slice.call(row.querySelectorAll(\".dd-lk\"));var isOn=false,pinned=false,tOpen=0,tClose=0,escHold=false;var navEl=dd.parentNode;navAbout.setAttribute(\"aria-haspopup\",\"true\");navAbout.setAttribute(\"aria-expanded\",\"false\");function mark(){var cur=stop===\"about\"?open>0?TILES[open-1].id:\"about\":null;links.forEach(function(a){a.setAttribute(\"data-cur\",a.getAttribute(\"data-sec\")===cur?\"1\":\"0\");});}function show(){clearTimeout(tClose);clearTimeout(tOpen);if(isOn)return;isOn=true;mark();dd.setAttribute(\"data-on\",\"1\");navAbout.setAttribute(\"aria-expanded\",\"true\");}function hide(){clearTimeout(tClose);clearTimeout(tOpen);pinned=false;if(!isOn)return;isOn=false;dd.removeAttribute(\"data-on\");navAbout.setAttribute(\"aria-expanded\",\"false\");}function soon(){clearTimeout(tClose);if(!pinned)tClose=setTimeout(hide,DD_GRACE_MS);}navAbout.addEventListener(\"pointerenter\",function(){clearTimeout(tClose);if(!isOn)tOpen=setTimeout(show,DD_OPEN_MS);});navAbout.addEventListener(\"pointerleave\",function(){clearTimeout(tOpen);});navEl.addEventListener(\"pointerenter\",function(){clearTimeout(tClose);});navEl.addEventListener(\"pointerleave\",function(){clearTimeout(tOpen);soon();});navAbout.addEventListener(\"click\",function(e){e.preventDefault();e.stopImmediatePropagation();if(isOn&&pinned){hide();return;}show();pinned=true;});MFA_on(document,\"pointerdown\",function(e){if(isOn&&pinned&&!navEl.contains(e.target))hide();});navAbout.addEventListener(\"focus\",function(){if(escHold){escHold=false;return;}show();});dd.addEventListener(\"focusout\",function(e){if(!dd.contains(e.relatedTarget)&&e.relatedTarget!==navAbout)hide();});navAbout.addEventListener(\"blur\",function(e){if(!dd.contains(e.relatedTarget))soon();});MFA_on(document,\"keydown\",function(e){if(e.key===\"Escape\"&&isOn){hide();if(document.activeElement!==navAbout){escHold=true;navAbout.focus();}}});MFA_on(window,\"wheel\",function(){if(isOn)hide();},{passive:true});function go(id){if(stop===\"about\"){if(id===\"about\"){if(open>0&&!animating)returnToRoot();return;}openSectionById(id,DD_WIPE_DOWN);return;}cutToAbout();if(id===\"about\")return;var t0=performance.now();(function retry(){if(openSectionById(id))return;if(performance.now()-t0<3e3)setTimeout(retry,60);})();}links.forEach(function(a){a.addEventListener(\"click\",function(e){e.preventDefault();e.stopPropagation();hide();go(a.getAttribute(\"data-sec\"));});});})();navAbout.addEventListener(\"click\",function(e){e.preventDefault();if(headPath&&stop===\"about\"&&open>0&&!animating){returnToRoot();return;}if(stop===\"about\"&&open===0&&!animating)return;cutToAbout();});navContact.addEventListener(\"click\",function(e){e.preventDefault();cutToContact();});navWork.addEventListener(\"click\",function(e){e.preventDefault();if(animating){abortTrip();snapClose();stop=\"about\";setNavCurrent();}});function metricEl(i){var w=wells[i];if(w)return w.querySelector(\".metric\");return bars[i].querySelector(\".mf-bar-row .metric\");}function rowFaceEls(i){var c=TC(i);var out=[];if(c.row)out.push(c.row);if(c.well)out.push(c.well);return out;}function barEdgeH(){return tilesMode===\"stack\"?40:TILE_H;}function scrambleMetrics(){tiles.forEach(function(_,i){if(i===ROOT&&!rootInRow)return;var el=metricEl(i);if(!el)return;var final=el.getAttribute(\"data-decode\")||el.textContent;if(reduce||rest){el.textContent=final;return;}setTimeout(function(){scrambleField(el,final,DECODE_MS);},rowDelay(i));});}function armRowBuildPose(){var mid=(barEdgeH()-1)/2;var origin=\"50% 50%\";tiles.forEach(function(_,i){if(i===ROOT&&!rootInRow)return;var c=TC(i);cancelAnims(c.top);cancelAnims(c.bot);c.top.style.transformOrigin=origin;c.bot.style.transformOrigin=origin;c.top.style.transform=\"translateY(\"+mid.toFixed(2)+\"px) scaleX(0)\";c.bot.style.transform=\"translateY(\"+(-mid).toFixed(2)+\"px) scaleX(0)\";rowFaceEls(i).forEach(function(el){cancelAnims(el);el.style.opacity=\"0\";});if(c.grip){cancelAnims(c.grip);c.grip.style.opacity=\"0\";}if(c.closeMark){cancelAnims(c.closeMark);c.closeMark.style.opacity=\"0\";}});snapRoot(false);}function commitEdgeTransform(el,to,origin){if(!el)return;el.style.transform=to;el.style.transformOrigin=origin;}function playRowBuild(){armRowBuildPose();var gen=++rowBuildGen;var mid=(barEdgeH()-1)/2;var origin=\"50% 50%\";var draw=ROW_BUILD_DRAW_MS;var part=ROW_BUILD_PART_MS;var total=draw+part;var drawOffset=draw/total;tiles.forEach(function(_,i){if(i===ROOT&&!rootInRow)return;var c=TC(i);var delay=rowDelay(i);var over=mid*ROW_BUILD_OVERSHOOT;var topA=\"translateY(\"+mid.toFixed(2)+\"px) scaleX(0)\";var topB=\"translateY(\"+mid.toFixed(2)+\"px) scaleX(1)\";var topO=\"translateY(\"+(-over).toFixed(2)+\"px) scaleX(1)\";var topC=\"translateY(0px) scaleX(1)\";var botA=\"translateY(\"+(-mid).toFixed(2)+\"px) scaleX(0)\";var botB=\"translateY(\"+(-mid).toFixed(2)+\"px) scaleX(1)\";var botO=\"translateY(\"+over.toFixed(2)+\"px) scaleX(1)\";var botC=\"translateY(0px) scaleX(1)\";var tileEl=tiles[i];if(tileEl){tileEl.style.setProperty(\"--co\",over.toFixed(2)+\"px\");setTimeout(function(){if(rowBuildGen===gen)tileEl.style.removeProperty(\"--co\");},delay+total+60);}function runEdge(el,a0,a1,a3,a2){if(!el)return;if(!a0||!a1||!a3||!a2)throw new Error(\"runEdge: missing pose\");cancelAnims(el);var overAt=drawOffset+(1-drawOffset)*.8;var anim=el.animate([{transform:a0,transformOrigin:origin,easing:ROW_BUILD_EASE},{transform:a1,transformOrigin:origin,offset:drawOffset,easing:\"cubic-bezier(.16,.9,.3,1)\"},{transform:a3,transformOrigin:origin,offset:overAt,easing:\"cubic-bezier(.4,0,.2,1)\"},{transform:a2,transformOrigin:origin}],{duration:total,delay,fill:\"forwards\"});if(!el._anims)el._anims={};el._anims.transform=anim;var done=function(){if(el._anims&&el._anims.transform!==anim)return;if(el._anims)delete el._anims.transform;commitEdgeTransform(el,a2,origin);try{anim.cancel();}catch(e){}};anim.addEventListener(\"finish\",done);setTimeout(done,delay+total+40);}runEdge(c.top,topA,topB,topO,topC);runEdge(c.bot,botA,botB,botO,botC);setTimeout(function(){rowFaceEls(i).forEach(function(el2){el2.style.opacity=\"1\";});if(c.grip)c.grip.style.opacity=\"0.5\";if(c.closeMark)c.closeMark.style.opacity=\"0\";var el=metricEl(i);if(!el)return;var final=el.getAttribute(\"data-decode\")||el.textContent;scrambleField(el,final,DECODE_MS);},delay+draw);});if(rootInRow){setTimeout(function(){if(gen!==rowBuildGen)return;restFill(ROOT,settleRoot);},6*ROW_BUILD_STAGGER_MS+ROW_BUILD_DRAW_MS);}}function playEntrance(){if(reduce||rest){scrambleMetrics();return;}restorePitchBootAttrs();if(e2On)e2BootStart();startSectionBoot(pitch);if(e2On)e2BootAfter();if(rowBuild)playRowBuild();else{setTimeout(scrambleMetrics,SECTION_BOOT_MS);if(rootInRow){setTimeout(function(){restFill(ROOT,settleRoot);},SECTION_BOOT_MS);}}}function replay(){abortTrip();snapClose();stop=\"about\";setNavCurrent();tiles.forEach(function(_,i){var el=metricEl(i);if(!el)return;el.textContent=el.getAttribute(\"data-decode\")||el.textContent;var c=TC(i);commitEdgeTransform(c.top,\"translateY(0px) scaleX(1)\",\"50% 50%\");commitEdgeTransform(c.bot,\"translateY(0px) scaleX(1)\",\"50% 50%\");rowFaceEls(i).forEach(function(face){face.style.opacity=\"1\";});if(c.grip)c.grip.style.opacity=\"0.5\";if(c.closeMark)c.closeMark.style.opacity=\"0\";});if(reduce){scrambleMetrics();return;}playEntrance();}MFA_byId(\"btnReplay\").addEventListener(\"click\",replay);var replayPending=false;function replayCurrent(){if(replayPending||animating)return;var n=open;if(!(n>0)||reduce){replay();return;}replayPending=true;abortTrip();snapClose();stop=\"about\";setNavCurrent();scrambleMetrics();setTimeout(function(){replayPending=false;beginOpen(n);},40);}window.mfReplay=replayCurrent;if(PORT){var portPrimed=[],portPrimeT=0;var portPark=function(){abortTrip();snapClose();stop=\"about\";setNavCurrent();};var portUnhide=function(){window.clearTimeout(portPrimeT);portPrimeT=0;portPrimed.forEach(function(el){el.style.opacity=\"\";});portPrimed=[];};var PORT_PRIME_MAX_MS=2500;var portPending=null;PORT.api={/* s215 v234: the site sets this before its wipe to the About (the landing quote -> \"recognition\"); the next\n         arrive() opens that section instead of replaying the opening. Cleared by depart(). */openOnArrive:function(id){portPending=id||null;},/* hold = true: the site hides the About as it LEAVES the screen and keeps it hidden while it\n         is away (the Mac, host v3: priming only when it came back let a smooth scroll paint 1-2\n         finished frames first). The site owns the un-hide then (arrive, or its own settle timer),\n         so there is no safety timer on a held prime. */prime:function(hold2){portPark();portUnhide();portPrimed=[MFA_byId(\"pitch\"),MFA_byId(\"menu\")].filter(Boolean);portPrimed.forEach(function(el){el.style.opacity=\"0\";});if(!hold2)portPrimeT=setTimeout(portUnhide,PORT_PRIME_MAX_MS);},arrive:function(){portUnhide();var want=portPending;portPending=null;if(want){var wi=-1;for(var q=0;q<TILES.length;q++)if(TILES[q].id===want){wi=q;break;}if(wi>=0&&!animating){snapOpen(wi+1);primeBoot(regs[wi],true);startSectionBoot(regs[wi]);return;}}replay();},depart:function(){portPending=null;portUnhide();portPark();},/* the site's nav ABOUT (s197: \"the way back is ABOUT in the nav\"): with a section open it\n         closes it the signed way - the fall - exactly as this page's own nav ABOUT does. On the\n         live desktop the nav only scrolls to #about, which is where an open section already is. */home:function(){if(stop===\"about\"&&open>0&&!animating)returnToRoot();},/* s215 v250: the site's drop-down */sections:function(){return[{id:\"about\",n:\"00\",t:\"ABOUT\"}].concat(TILES.map(function(t,i){return{id:t.id,n:pad2(i+1),t:t.title};}));},open:function(id){if(id===\"about\"){if(stop===\"about\"&&open>0&&!animating)returnToRoot();return true;}return openSectionById(id,DD_WIPE_DOWN);},current:function(){return stop===\"about\"?open>0?TILES[open-1].id:\"about\":null;}};}window.mfState=function(){var g=geom();return{stop,tile:open,door:open,animating,seam:lastFrame.seam,fill:lastFrame.fill,t:lastFrame.t,travel:g.travel,rowTop:g.rowTop,rowBot:g.rowBot,fillMs:Math.round(NAV_WIPE_SWEEP_MS*BEZ.inv(g.tileFrac)),bootMs:Math.round(NAV_WIPE_SWEEP_MS*BEZ.inv(ABOUT_BOOT_AT)),latch:panel.getAttribute(\"data-mfa-latch\")===\"1\"?1:0,hold:panel.getAttribute(\"data-mfa-hold\")===\"1\"?1:0,bootGateMs:Math.round(NAV_WIPE_SWEEP_MS*BEZ.inv(ABOUT_BOOT_AT)),bootOrder:bootOrderDir,bootFiredAt,lit:litQ,returnMode,back:backMode,rootInRow:rootInRow?1:0,headBackTile:headBackTile?1:0,tripGen,hov:hovN,expand:growOn?expandPct:0,e2:e2On?1:0,art:artOn?1:0,hot:hotN,peek:peekOn?1:0,tl:function(){var w=regs[0].querySelector(\".tl-wrap\");return w?w.getAttribute(\"data-mfa-tl\"):null;}()};};function sizeRoot(){if(!rootInRow){measureLayout();return;}var w=0;if(tilesMode===\"stack\"){var row=bars[ROOT].querySelector(\".mf-bar-row\");var wellMet=wells[ROOT]&&wells[ROOT].querySelector(\".metric\");var barContent=0;if(row){var nEl=row.querySelector(\".mf-bar-n\");var tEl=row.querySelector(\".mf-bar-t\");if(nEl)barContent+=nEl.getBoundingClientRect().width;if(tEl)barContent+=tEl.getBoundingClientRect().width;if(nEl&&tEl)barContent+=8;}var metW=wellMet?wellMet.getBoundingClientRect().width:0;w=Math.max(barContent,metW);}else{var headMet=bars[ROOT].querySelector(\".mf-bar-head .metric\");w=headMet?headMet.getBoundingClientRect().width:0;}rootTile.style.width=Math.ceil(w)+24+\"px\";measureLayout();}MFA_on(window,\"resize\",function(){if(animating)return;sizeLede();sizeRoot();sizeAllBackTiles();if(open>0)measureReg(open);if(engFx.mask){var tw=regs[0].querySelector(\".tl-wrap\");if(tw&&tlFx(tw).mask)tlMaskFinish(tw,tlFx(tw));}if(engFx.particle){[].slice.call(regs[0].querySelectorAll(\".tl-det .wp\")).forEach(function(el){delete el._pPts;});}assertFit();});setNavCurrent();if(groundHold)showHold();else setHoldAttr(false);measureLayout();if(rowBuild&&!rest&&!reduce&&!tileQ&&!PORT)armRowBuildPose();else if(rootInRow&&(rest||reduce||tileQ||PORT))snapRoot(true);else snapRoot(false);if(PORT){scrambleMetrics();}else if(rest&&tileQ){scrambleMetrics();snapOpen(tileQ);}else if(tileQ&&!rest){scrambleMetrics();if(reduce)snapOpen(tileQ);else{setTimeout(function(){beginOpen(tileQ);},40);}}else{playEntrance();}var ledeEl=MFA_byId(\"lede\");function sizeLede(){if(!e2On)return;fitHeadline();var hd=MFA_byId(\"headline\"),ld=MFA_byId(\"lede\");if(!hd||!ld)return;var w=hd.getBoundingClientRect().width;if(w>100)ld.style.width=Math.round(w)+\"px\";}function runMeasurePass(){sizeLede();sizeRoot();sizeAllBackTiles();measureAllRegs();assertFit();}window.mfMeasure=runMeasurePass;setTimeout(runMeasurePass,rest?40:80);if(document.fonts&&document.fonts.ready){document.fonts.ready.then(function(){runMeasurePass();if(open>0)measureReg(open);});}})();return{api:MFA_HOST.api||null,destroy:function(){MFA_alive=false;MFA_offs.forEach(function(off){try{off();}catch(e){}});MFA_offs=[];[\"kb-type-kf\"].forEach(function(id){var s=document.getElementById(id);if(s&&s.parentNode)s.parentNode.removeChild(s);});}};}\nexport const __FramerMetadata__ = {\"exports\":{\"mountMotionAbout\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MFA_CSS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MFA_ROOT_CLASS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MFA_MARKUP\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MFAboutMotion.map","// @ts-nocheck\n// GENERATED by _archive/session-scratch/s211-port/gen-colour.js from s195-about-mockup/colour.html.\n// DO NOT EDIT: change the mockup, rebuild it, re-run the generator.\nexport const MFC_ABOUT_CSS='.mfc-root{\\n  --ground:#07080c; --nav-h:68px;\\n  --peek-x:48px; --peek-y:110px; --idx-h:48px;\\n  --acc:#ff3b4a; --acc-deep:#7a1d25;\\n  --ink:#ece6df; --dim:#8a8580; --dim2:#807b75;\\n  --rim:rgba(231,220,196,.14); --hair:rgba(231,220,196,.08);\\n  --display:\"Playfair Display\",Georgia,\"Times New Roman\",serif;\\n  --ui:\"Schibsted Grotesk\",\"Helvetica Neue\",Arial,sans-serif;\\n  --cpage-ease:cubic-bezier(.4,0,.2,1);\\n  --land-ease:cubic-bezier(.16,1,.3,1);\\n  --lift-ease:cubic-bezier(.2,.7,.2,1);\\n  --build-in:1300ms; --build-out:480ms; --stagger:90ms;\\n  --fade:520ms; --index-ms:900ms; --turn-ms:1200ms;\\n  --hover:200ms;\\n  color-scheme:dark;\\n}\\n.mfc-root,.mfc-root{margin:0;height:100%;background:var(--ground);color:var(--ink);\\n  font-family:var(--ui);-webkit-font-smoothing:antialiased;overflow:hidden;\\n  overscroll-behavior-x:contain}\\n.mfc-root,.mfc-root *{box-sizing:border-box}\\n.mfc-root button{font:inherit;color:inherit;appearance:none;background:none;border:0;padding:0;cursor:pointer}\\n.mfc-root button:focus-visible,.mfc-root a:focus-visible{outline:1px solid var(--acc);outline-offset:3px}\\n.mfc-root nav{position:relative;z-index:6;height:var(--nav-h);display:flex;align-items:center;\\n  justify-content:space-between;padding:0 44px;flex:none}\\n.mfc-root nav::before{content:\"\";position:absolute;left:0;right:0;top:0;height:98px;\\n  background:linear-gradient(to bottom,rgba(7,8,12,.62),rgba(7,8,12,0));\\n  pointer-events:none;z-index:0}\\n.mfc-root nav > *{position:relative;z-index:1}\\n.mfc-root .wordmark{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}\\n.mfc-root .wordmark svg{display:block;height:18px;width:auto;fill:currentColor}\\n.mfc-root .wordmark b{font-weight:500;font-size:10.5px;letter-spacing:.18em}\\n.mfc-root .sig{display:flex;align-items:center;gap:6px;color:var(--dim);pointer-events:none}\\n.mfc-root .sig .br{font-weight:400;font-size:17px;color:var(--acc);opacity:.55;line-height:1}\\n.mfc-root .sig-track{position:relative;display:flex;align-items:center;padding:2px}\\n.mfc-root .sig-track i{position:absolute;left:2px;top:2px;bottom:2px;width:calc(50% - 2px);\\n  background:rgba(255,59,74,.18);border-radius:2px;pointer-events:none}\\n.mfc-root .sig-track span{position:relative;z-index:1;padding:6px 18px;font-weight:500;\\n  font-size:10px;letter-spacing:.12em}\\n.mfc-root .sig-track span.on{color:var(--ink)}\\n.mfc-root .nav-links{display:flex;gap:36px;align-items:center}\\n.mfc-root .nav-links a{text-decoration:none;font-weight:500;font-size:11px;letter-spacing:.14em;\\n  color:var(--dim);position:relative;padding-bottom:4px}\\n.mfc-root .nav-links a[data-mfca-cur=\"1\"]{color:var(--ink)}\\n.mfc-root .nav-links a[data-mfca-cur=\"1\"]::after{content:\"\";position:absolute;left:0;right:0;bottom:0;\\n  height:1px;background:var(--acc);transform:scaleX(0);transform-origin:left;\\n  animation:hair 500ms var(--cpage-ease) forwards}\\n@keyframes hair{to{transform:scaleX(1)}}\\n.mfc-root [data-mfca=\"resume-panel\"]{height:calc(100vh - var(--nav-h));overflow:hidden;\\n  background:var(--ground);position:relative;overscroll-behavior-x:contain;\\n  touch-action:none;user-select:none}\\n.mfc-root .amb{position:absolute;inset:0;z-index:0;pointer-events:none}\\n.mfc-root .amb i{position:absolute;inset:0;\\n  background:radial-gradient(ellipse 90% 60% at 22% 34%,rgba(255,59,74,.13),transparent 62%);\\n  opacity:.7}\\n.mfc-root .lab{font-family:var(--ui);font-weight:500;font-size:11px;letter-spacing:.18em;\\n  text-transform:uppercase;line-height:1.2}\\n.mfc-root .identity{display:flex;gap:28px;align-items:center;flex:none}\\n.mfc-root .disc{width:160px;height:160px;border-radius:50%;overflow:hidden;flex:none;\\n  background:#14161d;box-shadow:0 0 0 1px var(--rim)}\\n.mfc-root .disc img{width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block}\\n.mfc-root .who{min-width:0}\\n.mfc-root .who h1{margin:0;font-family:var(--display);font-weight:400;font-size:40px;line-height:1;\\n  letter-spacing:-.015em;color:var(--ink);transform-origin:0% 50%}\\n.mfc-root .disc-line{margin-top:14px;display:flex;flex-wrap:wrap;gap:9px;align-items:baseline;\\n  color:var(--dim2);font-size:11px;letter-spacing:.18em}\\n.mfc-root .disc-line b{font-weight:500;color:var(--acc)}\\n.mfc-root .disc-line span{font-weight:500}\\n.mfc-root .loc{margin-top:10px;color:var(--dim);font-size:11px;letter-spacing:.16em}\\n.mfc-root .headline{margin:0 0 16px;font-family:var(--display);font-weight:400;font-size:56px;\\n  line-height:1.1;letter-spacing:-.015em;color:var(--ink);max-width:22ch;\\n  transform-origin:0% 50%}\\n.mfc-root .pitch-body{margin:0 0 20px;font-family:var(--display);font-weight:400;font-size:22px;\\n  line-height:1.42;color:var(--ink);max-width:52ch}\\n.mfc-root .pitch-body[data-notch=\"1\"]{font-size:20px}\\n.mfc-root .pitch-body[data-notch=\"2\"]{font-size:18px}\\n.mfc-root .proofs{display:flex;flex-direction:column;border-top:1px solid var(--hair);padding-top:4px;\\n  max-width:52ch}\\n.mfc-root .proofs button{text-align:left;padding:11px 0;font-weight:500;font-size:11px;\\n  letter-spacing:.18em;text-transform:uppercase;color:var(--ink);opacity:.7;\\n  transition:opacity var(--hover) linear;line-height:1.45}\\n.mfc-root .proofs button:hover,.mfc-root .proofs button:focus-visible{opacity:1}\\n.mfc-root .sec{position:relative;height:100%;display:flex;flex-direction:column;min-height:0}\\n.mfc-root .sec-kicker{display:flex;align-items:baseline;gap:12px;margin:0 0 8px;color:var(--dim)}\\n.mfc-root .sec-kicker i{font-style:normal;color:var(--acc);font-size:10.5px;letter-spacing:.18em}\\n.mfc-root .sec-kicker span{font-size:10.5px;letter-spacing:.18em}\\n.mfc-root .rule{height:1px;background:var(--acc);opacity:.85;margin:0 0 10px;max-width:220px}\\n.mfc-root .sec-title{margin:0 0 12px;font-family:var(--display);font-weight:400;font-size:26px;\\n  line-height:1.1;letter-spacing:-.01em;color:var(--ink);transform-origin:0% 50%}\\n.mfc-root .sec .sub{margin:-4px 0 18px;color:var(--dim2);font-size:10.5px;letter-spacing:.16em}\\n.mfc-root .sec-head{flex:none}\\n.mfc-root .sec-body{flex:1;min-height:0}\\n.mfc-root .two{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;align-items:start}\\n.mfc-root .two .col{display:flex;flex-direction:column;gap:16px}\\n.mfc-root p.copy{margin:0;font-family:var(--display);font-weight:400;font-size:16.5px;\\n  line-height:1.55;color:#c4beb4;max-width:36ch}\\n.mfc-root p.copy em{font-style:italic;color:var(--ink);font-weight:400}\\n.mfc-root .credit{padding:16px 0;border-bottom:1px solid var(--hair)}\\n.mfc-root .credit:last-child{border-bottom:0}\\n.mfc-root .credit .t{font-family:var(--display);font-weight:400;font-size:22px;line-height:1.15;\\n  color:var(--ink);margin:0 0 8px}\\n.mfc-root .credit .caps{color:var(--dim);font-size:10.5px;letter-spacing:.14em;line-height:1.5}\\n.mfc-root .credit .role{margin-top:8px;font-size:13.5px;line-height:1.4;color:#bdb7ae;letter-spacing:0;\\n  text-transform:none}\\n.mfc-root .credit .sc{margin-top:6px;font-size:12.5px;line-height:1.45;color:var(--dim2);\\n  letter-spacing:0;text-transform:none}\\n.mfc-root .film-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:start}\\n.mfc-root .credit-lead{padding:0;border:0;max-width:46ch}\\n.mfc-root .credit-lead .t{font-size:36px;line-height:1.1;margin-bottom:12px}\\n.mfc-root .film-rest{display:flex;flex-direction:column}\\n.mfc-root .rec-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}\\n.mfc-root .pull{border-left:2px solid var(--acc);padding:4px 0 4px 28px;max-width:52ch}\\n.mfc-root .pull h3{margin:0;font-family:var(--display);font-weight:400;font-size:36px;line-height:1.05;\\n  letter-spacing:-.015em;color:var(--ink);transform-origin:0% 50%}\\n.mfc-root .pull .line{margin-top:10px;color:var(--dim);font-size:11px;letter-spacing:.16em}\\n.mfc-root .pull .blurb{margin:16px 0 0;font-family:var(--display);font-style:italic;font-weight:400;\\n  font-size:20px;line-height:1.42;color:#d4cfc6;max-width:46ch}\\n.mfc-root .refs{display:flex;flex-direction:column;gap:28px}\\n.mfc-root .ref{max-width:46ch}\\n.mfc-root .ref .quote{margin:0;font-family:var(--display);font-style:italic;font-weight:400;\\n  font-size:20px;line-height:1.42;color:#d4cfc6}\\n.mfc-root .ref .attr{margin-top:12px;color:var(--dim2);font-size:10.5px;letter-spacing:.18em;\\n  text-transform:uppercase}\\n.mfc-root .ref .attr b{font-weight:500;color:var(--ink)}\\n.mfc-root .tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}\\n.mfc-root .caps-stack{display:flex;flex-direction:column;gap:28px}\\n.mfc-root .grp h3{margin:0 0 10px;color:var(--acc);font-size:10.5px;letter-spacing:.16em;font-weight:500}\\n.mfc-root .grp ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}\\n.mfc-root .grp li{font-size:13.5px;line-height:1.4;color:var(--ink);letter-spacing:0;text-transform:none}\\n.mfc-root .grp li i{font-style:normal;color:var(--dim)}\\n.mfc-root .rows{display:flex;flex-direction:column}\\n.mfc-root .rows .r{display:grid;grid-template-columns:1fr 92px;gap:16px;padding:13px 0;\\n  border-bottom:1px solid var(--hair);align-items:baseline}\\n.mfc-root .rows .r:last-child{border-bottom:0}\\n.mfc-root .rows .n{font-family:var(--display);font-size:20px;line-height:1.15;color:var(--ink)}\\n.mfc-root .rows .s{margin-top:5px;color:var(--dim);font-size:13px;line-height:1.4;letter-spacing:0;\\n  text-transform:none}\\n.mfc-root .rows .y{text-align:right;color:var(--dim2);font-variant-numeric:tabular-nums;\\n  font-size:11px;letter-spacing:.12em}\\n.mfc-root .mem-block{margin-top:28px}\\n.mfc-root .mem-block .sub{margin:0 0 8px}\\n.mfc-root .pitch-left{display:flex;flex-direction:column;min-height:0;height:100%}\\n.mfc-root [data-mfca=\"profile\"]{min-width:0}\\n.mfc-root [data-mfca=\"profile\"] .sec-kicker{margin-bottom:8px}\\n.mfc-root [data-mfca=\"profile\"] .rule{max-width:120px}\\n.mfc-root [data-mfca=\"profile\"] .sub{margin:0 0 14px}\\n.mfc-root .turn{position:relative;height:100%;z-index:1;display:flex;flex-direction:column}\\n.mfc-root .pages{position:relative;flex:1;min-height:0}\\n.mfc-root .page{position:absolute;inset:0;overflow:hidden;visibility:hidden;pointer-events:none;\\n  background:var(--ground)}\\n.mfc-root .page.on{visibility:visible;pointer-events:auto;z-index:2}\\n.mfc-root [data-axis=\"x\"] .pages{order:1}\\n.mfc-root [data-axis=\"x\"] .idx{order:2}\\n.mfc-root [data-axis=\"x\"] .page{padding:48px 80px 28px}\\n.mfc-root [data-axis=\"x\"] .page[data-mfca-page=\"pitch\"]{display:grid;\\n  grid-template-columns:minmax(0,6fr) minmax(0,6fr);column-gap:64px;align-items:stretch}\\n.mfc-root [data-axis=\"x\"] [data-mfca=\"opening\"]{margin-top:auto;margin-bottom:12px;max-width:52ch}\\n.mfc-root [data-axis=\"x\"] .idx{flex:none;height:var(--idx-h);position:relative;z-index:3;\\n  padding:0 80px;display:flex;flex-direction:column;justify-content:flex-end}\\n.mfc-root [data-axis=\"x\"] .idx .rail{position:absolute;left:80px;right:80px;top:0;height:1px;\\n  background:var(--acc)}\\n.mfc-root [data-axis=\"x\"] .idx .row{position:relative;display:flex;align-items:flex-end;\\n  justify-content:space-between;height:100%;padding:0 0 10px}\\n.mfc-root [data-axis=\"x\"] .idx .mk{position:absolute;bottom:0;height:3px;background:var(--acc);\\n  transition:left var(--index-ms) var(--cpage-ease),width var(--index-ms) var(--cpage-ease)}\\n.mfc-root [data-axis=\"x\"] .idx button{padding:8px 0 6px;font-weight:500;font-size:10.5px;\\n  letter-spacing:.18em;text-transform:uppercase;color:var(--dim);\\n  display:flex;gap:8px;align-items:baseline;transition:color var(--hover) linear}\\n.mfc-root [data-axis=\"x\"] .idx button:hover,.mfc-root [data-axis=\"x\"] .idx button:focus-visible,.mfc-root \\n[data-axis=\"x\"] .idx button[aria-current=\"true\"]{color:var(--ink)}\\n.mfc-root [data-axis=\"x\"] .idx button i{font-style:normal;font-size:10.5px;color:var(--dim2);\\n  letter-spacing:.18em}\\n.mfc-root [data-axis=\"x\"] .idx button[aria-current=\"true\"] i{color:var(--acc)}\\n.mfc-root [data-axis=\"x\"] .peek{position:absolute;right:0;top:0;bottom:var(--idx-h);width:var(--peek-x);\\n  z-index:2;overflow:hidden;pointer-events:none;background:var(--ground)}\\n.mfc-root .peek-fill{position:absolute;inset:0;pointer-events:none}\\n.mfc-root [data-axis=\"x\"] .peek-inner{position:absolute;left:10px;top:48px;white-space:nowrap}\\n.mfc-root [data-axis=\"x\"] .peek-inner i{font-style:normal;color:var(--acc);font-size:10.5px;\\n  letter-spacing:.18em}\\n.mfc-root [data-axis=\"x\"] .peek-inner .peek-rule{height:1px;width:220px;background:var(--acc);\\n  opacity:.85;margin-top:8px}\\n.mfc-root [data-axis=\"x\"] .turn[data-last=\"1\"] .peek{visibility:hidden}\\n.mfc-root [data-axis=\"x\"] .end-cue{position:absolute;left:80px;right:80px;bottom:var(--idx-h);\\n  z-index:3;display:flex;align-items:center;justify-content:flex-end;gap:16px;\\n  padding:0 0 10px;pointer-events:none;opacity:0;\\n  transition:opacity 200ms linear;color:var(--dim2);\\n  font-weight:500;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase}\\n.mfc-root [data-mfca-latch=\"1\"] .end-cue{opacity:1}\\n.mfc-root .end-cue .end-cue-r{display:inline-flex;align-items:center;gap:8px}\\n.mfc-root .end-cue svg{display:block;width:10px;height:10px;flex:none}\\n.mfc-root .chev{position:absolute;top:50%;z-index:4;width:36px;height:36px;margin-top:-18px;\\n  display:flex;align-items:center;justify-content:center;color:var(--ink);opacity:.5;\\n  transition:opacity var(--hover) linear;background:none}\\n.mfc-root [data-axis=\"x\"] .chev{top:calc((100% - var(--idx-h)) / 2)}\\n.mfc-root .chev:hover,.mfc-root .chev:focus-visible{opacity:1}\\n.mfc-root .chev svg{display:block;width:18px;height:18px}\\n.mfc-root .chev[hidden]{display:none}\\n.mfc-root [data-axis=\"x\"] .chev-l{left:16px}\\n.mfc-root [data-axis=\"x\"] .chev-r{right:8px}\\n.mfc-root [data-axis=\"y\"] .chev{display:none}\\n.mfc-root [data-axis=\"y\"] .turn{display:block}\\n.mfc-root [data-axis=\"y\"] .pages{position:absolute;inset:0}\\n.mfc-root [data-axis=\"y\"] .idx{position:absolute;left:36px;top:40px;bottom:40px;z-index:3;width:168px;\\n  padding-left:14px}\\n.mfc-root [data-axis=\"y\"] .idx .rail{position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--acc-deep)}\\n.mfc-root [data-axis=\"y\"] .idx .row{display:flex;flex-direction:column}\\n.mfc-root [data-axis=\"y\"] .idx .mk{position:absolute;left:-1px;width:3px;background:var(--acc);\\n  transition:top var(--index-ms) var(--cpage-ease),height var(--index-ms) var(--cpage-ease)}\\n.mfc-root [data-axis=\"y\"] .idx button{display:flex;gap:10px;align-items:baseline;width:100%;text-align:left;\\n  padding:9px 0;font-weight:500;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;\\n  color:var(--dim);transition:color var(--hover) linear}\\n.mfc-root [data-axis=\"y\"] .idx button:hover,.mfc-root [data-axis=\"y\"] .idx button:focus-visible,.mfc-root \\n[data-axis=\"y\"] .idx button[aria-current=\"true\"]{color:var(--ink)}\\n.mfc-root [data-axis=\"y\"] .idx button i{font-style:normal;font-size:9.5px;color:var(--dim2);letter-spacing:.12em}\\n.mfc-root [data-axis=\"y\"] .idx button[aria-current=\"true\"] i{color:var(--acc)}\\n.mfc-root [data-axis=\"y\"] .page{padding:48px 80px 48px 220px}\\n.mfc-root [data-axis=\"y\"] .page[data-mfca-page=\"pitch\"]{display:grid;\\n  grid-template-columns:minmax(0,6fr) minmax(0,6fr);column-gap:48px;align-items:stretch;\\n  padding-bottom:28px;top:0;bottom:var(--peek-y)}\\n.mfc-root [data-axis=\"y\"] [data-mfca=\"opening\"]{margin-top:auto;margin-bottom:12px;max-width:52ch}\\n.mfc-root [data-axis=\"y\"] .peek{position:absolute;left:0;right:0;top:calc(100% - var(--peek-y));z-index:1;\\n  padding:8px 80px 80px 220px;background:var(--ground);pointer-events:none}\\n.mfc-root [data-axis=\"y\"] .peek-inner i{font-style:normal;color:var(--acc);font-size:10.5px;letter-spacing:.18em}\\n.mfc-root [data-axis=\"y\"] .turn:not([data-page=\"0\"]) .peek{visibility:hidden}\\n.mfc-root [data-axis=\"y\"] .end-cue{position:absolute;left:220px;right:80px;bottom:var(--peek-y);\\n  z-index:3;display:flex;align-items:center;justify-content:space-between;\\n  padding:0 0 12px;pointer-events:none;opacity:0;\\n  transition:opacity 200ms linear;color:var(--dim2);\\n  font-weight:500;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase}\\n.mfc-root:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .will-build,.mfc-root:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .will-fade{opacity:0}\\n.mfc-root[data-reduce=\"1\"] .idx .mk{transition:none}\\n.mfc-root .contact-stop{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;\\n  align-items:center;justify-content:center;background:var(--ground);opacity:0;\\n  visibility:hidden;pointer-events:none}\\n.mfc-root .contact-stop.is-on{opacity:1;visibility:visible;pointer-events:auto}\\n.mfc-root[data-stop=\"contact\"] .turn{pointer-events:none}\\n.mfc-root .contact-copy{text-align:center;padding:0 80px}\\n.mfc-root .contact-kicker{margin:0 0 22px;color:var(--dim)}\\n.mfc-root .contact-copy h2{margin:0;font-family:var(--display);font-weight:400;font-size:64px;\\n  line-height:1.02;letter-spacing:-.02em;color:var(--ink)}\\n.mfc-root .contact-copy h2 em{font-style:italic;color:var(--acc);font-weight:400}\\n.mfc-root .contact-copy a{display:inline-block;margin-top:36px;font-family:var(--display);font-style:italic;\\n  font-size:22px;color:var(--acc);text-decoration:none;border-bottom:1px solid var(--hair);\\n  padding-bottom:8px}\\n.mfc-root .contact-copy a:hover{border-bottom-color:var(--acc)}\\n.mfc-root .contact-foot{position:absolute;left:44px;right:44px;bottom:28px;display:flex;\\n  justify-content:space-between;align-items:center;border-top:1px solid var(--hair);\\n  padding-top:16px;color:var(--dim2)}\\n.mfc-root .ovf{position:absolute;inset:0;border:2px solid var(--acc);pointer-events:none;\\n  display:none;z-index:6}\\n.mfc-root .ovf::after{content:attr(data-msg);position:absolute;right:0;top:0;\\n  background:var(--acc);color:#07080c;font-family:var(--ui);font-weight:500;font-size:10px;\\n  letter-spacing:.18em;text-transform:uppercase;padding:3px 9px}\\n.mfc-root .page[data-mfca-overflow] .ovf{display:block}\\n@media print{\\n  .mfc-root .ovf{display:none !important}\\n}\\n.mfc-root{--well-w:312px; --well-h:468px; --card-pad:22px; --card-t:32px;\\n  --body-c:#c4beb4; --quote-c:#d4cfc6; --role-c:#bdb7ae}\\n.mfc-root[data-mfca-c2=\"1\"] .lab.c2-ink{color:var(--ink)}\\n.mfc-root[data-mfca-c3=\"1\"] .turn.one-wrap{display:block}\\n.mfc-root[data-mfca-c3=\"1\"] .one{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;overscroll-behavior:contain}\\n.mfc-root[data-mfca-c3=\"1\"] .one::-webkit-scrollbar{display:none}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-top{padding:36px 48px 0;display:flex;flex-direction:column;gap:28px}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-voice{margin:0 auto;width:940px;max-width:100%;display:flex;flex-direction:column;gap:18px;align-items:center}\\n.mfc-root .q-em{font-style:inherit;color:var(--acc)}\\n.mfc-root .l-em{font-style:inherit;color:var(--acc)}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-voice blockquote{margin:0;font-family:var(--display);font-style:italic;font-weight:400;font-size:25px;\\n  line-height:1.5;color:#e2ddd5;text-align:center;text-wrap:balance;transform-origin:50% 50%}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-who{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;justify-content:center}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-who b{font-family:var(--display);font-weight:400;font-size:16px;letter-spacing:0;color:var(--ink)}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-who .lab{font-size:10px;color:var(--dim2)}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-hr{height:1px;background:var(--hair);flex:none}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-row{display:grid;grid-template-columns:400px minmax(0,1fr);column-gap:56px;align-items:start}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-frame{margin:0;display:flex;flex-direction:column;gap:10px}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-pic{position:relative;width:400px;height:150px;overflow:hidden;background:#0e1016}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-pic .c3-before{opacity:0;transition:opacity 600ms var(--cpage-ease)}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-pic:hover .c3-before,.mfc-root[data-mfca-c3=\"1\"] .c3-pic:focus-visible .c3-before{opacity:1}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-cap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;font-size:10px;color:var(--dim2)}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-cap .acc{color:var(--acc)}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-cap .u{display:none}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-frame:hover .c3-cap .g,.mfc-root[data-mfca-c3=\"1\"] .c3-frame:focus-within .c3-cap .g{display:none}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-frame:hover .c3-cap .u,.mfc-root[data-mfca-c3=\"1\"] .c3-frame:focus-within .c3-cap .u{display:inline}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-pitch{display:flex;flex-direction:column;gap:14px}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-id{display:flex;gap:14px;align-items:center}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-id img{width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:center 18%;\\n  box-shadow:0 0 0 1px var(--rim);flex:none}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-id h1{margin:0;font-family:var(--display);font-weight:400;font-size:34px;line-height:1.1;\\n  letter-spacing:-.01em;color:var(--ink);transform-origin:0% 50%}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-pitch p{margin:0;font-family:var(--display);font-weight:400;font-size:16px;line-height:1.55;color:var(--body-c)}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-more{display:flex;flex-direction:column;align-items:center;padding:72px 48px 120px;gap:72px}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-second{margin:0;width:760px;max-width:100%;display:flex;flex-direction:column;gap:14px;align-items:center}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-second blockquote{margin:0;font-family:var(--display);font-style:italic;font-weight:400;font-size:21px;\\n  line-height:1.5;color:var(--dim);text-align:center;text-wrap:balance}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-tools{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:56px;align-items:start}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-col{display:flex;flex-direction:column;gap:56px}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-grp{display:flex;flex-direction:column;gap:18px}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-hd{font-size:10.5px;letter-spacing:.22em;color:var(--acc);text-align:center;padding-bottom:14px;\\n  border-bottom:1px solid var(--rim);margin-bottom:6px}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-it{display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-it b{font-family:var(--display);font-weight:400;font-size:18px;line-height:1.2;color:var(--ink)}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-it span{font-size:12.5px;line-height:18px;color:var(--dim);max-width:330px}\\n.mfc-root[data-mfca-port=\"1\"][data-mfca-cside=\"1\"] [data-mfca=\"resume-panel\"]{height:calc(100vh - 68px);overflow:hidden}\\n.mfc-root[data-mfca-cside=\"1\"] .sd{position:absolute;inset:0;overflow:hidden;color:#fff;font-family:var(--ui);--f:.3333}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-head{position:absolute;left:0;right:0;top:0;z-index:2;max-width:1408px;margin:0 auto;padding:clamp(28px,4.5vh,64px) 44px 0;box-sizing:border-box;display:flex;align-items:center;gap:16px;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-head .acc{color:#ff3b4a}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-head i{flex:1;height:1px;background:rgba(255,59,74,.4);transform-origin:0 50%}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-head .m{color:rgba(255,255,255,.6)}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-head .bar{flex:none;width:1px;height:12px;background:rgba(255,59,74,.4)}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-head a{display:inline-flex;align-items:center;min-height:44px;margin:-16px 0;color:rgba(255,255,255,.86);text-decoration:none;line-height:1.6;background:linear-gradient(#ff3b4a,#ff3b4a) 0 calc(50% + 10px)/100% 1px no-repeat}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-head a:hover{color:#ff3b4a}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-track{position:absolute;left:0;top:0;height:100%;width:300%;display:flex;transition:transform 1.2s cubic-bezier(.7,0,.3,1)}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-track.jump{transition:none}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-panel{width:33.3333%;height:100%;flex:none}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-in{height:100%;max-width:1408px;margin:0 auto;padding:0 44px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-h1{margin:0;font-family:var(--display);font-weight:400;font-size:clamp(64px,7.2vw,156px);line-height:.93;letter-spacing:-.014em;color:#fff;transform-origin:0% 100%}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-h1 .l-em,.mfc-root[data-mfca-cside=\"1\"] .sd-pitch .l-em{font-style:normal}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-pitch{display:flex;gap:22px;align-items:flex-start;margin-top:clamp(20px,3.5vh,48px)}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-pitch img{width:60px;height:60px;border-radius:50%;object-fit:cover;object-position:center 18%;flex:none;box-shadow:0 0 0 1px rgba(255,255,255,.14);margin-top:3px}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-pitch p{margin:0;max-width:32em;font-family:var(--display);font-size:clamp(20px,1.6vw,32px);line-height:1.3;color:rgba(255,255,255,.72)}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-lead{margin:0;max-width:980px;display:flex;flex-direction:column;gap:clamp(14px,2.4vh,26px)}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-lead blockquote{margin:0;font-family:var(--display);font-style:italic;font-size:clamp(28px,2.7vw,58px);line-height:1.08;letter-spacing:-.01em;color:#fff;transform-origin:0% 100%}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-who{display:flex;flex-direction:column;gap:8px}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-who b{font-family:var(--display);font-weight:400;font-size:24px;line-height:1}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-who .lab{font-size:10.5px;color:rgba(255,255,255,.6)}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-who .aw{margin-top:10px;color:#ff3b4a}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-row{margin-top:clamp(28px,6vh,88px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;padding-top:clamp(18px,2.6vh,32px);border-top:1px solid rgba(255,59,74,.4)}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-q{margin:0;padding-right:24px;display:flex;flex-direction:column;gap:14px}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-q blockquote{margin:0;font-family:var(--display);font-style:italic;font-size:clamp(17px,1.3vw,26px);line-height:1.22;color:rgba(255,255,255,.86)}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-q .sd-who{gap:5px}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-q .sd-who b{font-size:18px}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-q .sd-who .lab{font-size:10px}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-mark{display:none}\\n.mfc-root[data-mfca-cside=\"1\"][data-mfca-plogo=\"1\"] .sd-mark{display:block;width:clamp(70px,5vw,96px);aspect-ratio:532/320;margin:0 0 4px -6px;background-color:#ff3b4a;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:0 50%;mask-position:0 50%;-webkit-mask-size:contain;mask-size:contain}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-tools{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-tl{grid-column:1 / span 3;font-size:11px;letter-spacing:.18em;color:#ff3b4a}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-cols{grid-column:4 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;align-items:start}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-col{display:flex;flex-direction:column;gap:clamp(16px,2.6vh,34px)}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-grp{display:flex;flex-direction:column;gap:clamp(5px,.8vh,10px)}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-gh{font-size:10px;letter-spacing:.22em;color:#ff3b4a;padding-bottom:8px;margin-bottom:4px;border-bottom:1px solid rgba(255,59,74,.4)}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-it{font-size:clamp(13px,.85vw,16px);line-height:1.35;color:rgba(255,255,255,.86)}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-ft{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);column-gap:clamp(40px,5vw,120px);align-items:center}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-big{display:flex;flex-direction:column}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-big .sd-kick{font-size:10.5px;letter-spacing:.18em;color:#ff3b4a;margin-bottom:clamp(10px,1.8vh,24px)}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-ln{display:flex;align-items:center;gap:clamp(14px,1.4vw,26px);font-family:var(--display);font-size:clamp(24px,min(2.5vw,4.3vh),46px);line-height:1.1;letter-spacing:-.01em;color:rgba(255,255,255,.72);white-space:nowrap;padding:clamp(5px,1.05vh,13px) 0}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-ln{position:relative}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-ln+.sd-ln::before{content:\"\";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(255,59,74,.12);transform-origin:0 50%}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-ln.lead{color:#fff}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-ln .k{font-family:var(--ui);font-size:10.5px;letter-spacing:.18em;color:#ff3b4a;width:22px;flex:none}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-ln svg,.mfc-root[data-mfca-cside=\"1\"] .sd-fgh svg{flex:none;fill:none;stroke:#ff3b4a;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-ln svg{width:.62em;height:.62em}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-side{position:relative;display:flex;flex-direction:column;gap:clamp(16px,3vh,40px);padding-left:clamp(24px,2.4vw,48px)}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-side::before{content:\"\";position:absolute;left:0;top:0;bottom:0;width:1px;background:rgba(255,59,74,.4);transform-origin:50% 0}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-fgh{display:flex;align-items:center;gap:10px;font-size:10.5px;letter-spacing:.18em;color:#ff3b4a;margin-bottom:10px}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-fgh svg{width:16px;height:16px}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-fit{display:block;font-family:var(--display);font-size:clamp(17px,min(1.45vw,2.5vh),30px);line-height:1.3;color:rgba(255,255,255,.86)}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-fit.mute{color:rgba(255,255,255,.55);font-style:italic}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-lg{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:clamp(36px,4.4vw,96px);align-items:center}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-lg .sd-lead{max-width:none}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-lg .sd-lead blockquote{font-size:clamp(30px,min(3.1vw,5.6vh),66px);line-height:1.06}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-ledger{position:relative;padding-left:clamp(24px,2.6vw,52px)}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-ledger>i{position:absolute;left:0;top:0;bottom:0;width:1px;background:rgba(255,59,74,.4);transform-origin:50% 0}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-lq{margin:0;position:relative;display:grid;grid-template-columns:clamp(66px,5.4vw,100px) minmax(0,1fr);column-gap:clamp(16px,1.6vw,28px);align-items:start;padding:clamp(14px,2.4vh,28px) 0}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-lq:first-of-type{padding-top:0}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-lq:last-child{padding-bottom:0}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-lq+.sd-lq::before{content:\"\";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(255,59,74,.18);transform-origin:0 50%}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-lmk{display:block;width:100%;aspect-ratio:532/320;margin-top:2px;background-color:#ff3b4a;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:50% 50%;mask-position:50% 50%}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-lq blockquote{margin:0;font-family:var(--display);font-style:italic;font-size:clamp(16px,min(1.2vw,2.3vh),24px);line-height:1.22;color:rgba(255,255,255,.86)}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-lwho{margin-top:clamp(8px,1.2vh,14px);display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-lwho b{font-family:var(--display);font-weight:400;font-size:clamp(18px,min(1.3vw,2.4vh),24px);line-height:1;color:#fff}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-lwho .lab{font-size:10px;color:rgba(255,255,255,.6)}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-foot{position:absolute;left:0;right:0;bottom:0;z-index:2;max-width:1408px;margin:0 auto;padding:0 44px clamp(22px,4vh,56px);box-sizing:border-box}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-rule{position:relative;height:1px;background:rgba(255,59,74,.4);transform-origin:0 50%}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-fill{position:absolute;left:0;right:0;top:-1px;height:2px;background:#ff3b4a;transform-origin:0 50%;transform:scaleX(var(--f));transition:transform 1.2s cubic-bezier(.7,0,.3,1)}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-step{appearance:none;background:none;border:0;padding:14px 0 0;min-height:44px;cursor:pointer;text-align:left;font:500 10.5px/1.2 var(--ui);letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.6)}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-step:hover,.mfc-root[data-mfca-cside=\"1\"] .sd-step.cur{color:#fff}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-step .n{margin-right:10px}\\n.mfc-root[data-mfca-cside=\"1\"] .sd-step.cur .n{color:#ff3b4a}\\n@keyframes mfs-op{from{opacity:0}to{opacity:1}}\\n@keyframes mfs-bl{from{filter:blur(22px);transform:scale(1.18)}to{filter:blur(0);transform:scale(1)}}\\n@keyframes mfs-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}\\n.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-wait .fp,.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-wait .fd{opacity:0}\\n.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-go .sd-panel.on .fp{animation:mfs-op .715s linear both,mfs-bl 1.3s cubic-bezier(.25,1,.5,1) both;animation-delay:inherit}\\n.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-go .sd-panel.on .fd{animation:mfs-rise .7s cubic-bezier(.2,.7,.2,1) both;animation-delay:inherit}\\n@keyframes mfs-drawy{from{transform:scaleY(0)}to{transform:none}}\\n@keyframes mfs-drawx{from{transform:scaleX(0)}to{transform:none}}\\n.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-wait .sd-ledger>i{transform:scaleY(0)}\\n.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-wait .sd-lq::before{transform:scaleX(0)}\\n.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-go .sd-panel.on .sd-ledger>i{animation:mfs-drawy 1.1s cubic-bezier(.7,0,.3,1) 1s both}\\n.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-go .sd-panel.on .sd-lq::before{animation:mfs-drawx .9s cubic-bezier(.7,0,.3,1) both;animation-delay:inherit}\\n.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-wait .sd-head i,.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-wait .sd-rule{transform:scaleX(0)}\\n.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-wait .sd-steps{opacity:0}\\n@keyframes mfs-hrise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}\\n.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-wait .sd-head>*:not(i),.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-go>.sd-head:not(.in)>*:not(i){opacity:0}\\n.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-go>.sd-head.in>*:not(i){animation:mfs-hrise 1.4s cubic-bezier(.65,0,.35,1) both}\\n.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-go>.sd-head.in>.m{animation-delay:.12s}\\n.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-go>.sd-head.in>.bar{animation-delay:.24s}\\n.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-go>.sd-head.in>a{animation-delay:.36s}\\n.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-go>.sd-head:not(.in) i,.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-go .sd-foot:not(.in) .sd-rule{transform:scaleX(0)}\\n.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-go .sd-foot:not(.in) .sd-steps{opacity:0}\\n.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-go>.sd-head.in i{animation:mfs-drawx 1.9s cubic-bezier(.65,0,.35,1) .1s both}\\n.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-go .sd-foot.in .sd-rule{animation:mfs-drawx 1.1s cubic-bezier(.7,0,.3,1) .2s both}\\n.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-go .sd-foot.in .sd-steps{animation:mfs-rise .7s cubic-bezier(.2,.7,.2,1) .5s both}\\n.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-wait .sd-ln+.sd-ln::before{transform:scaleX(0)}\\n.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-wait .sd-side::before{transform:scaleY(0)}\\n.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-go .sd-panel.on .sd-ln+.sd-ln::before{animation:mfs-drawx .8s cubic-bezier(.7,0,.3,1) both;animation-delay:inherit}\\n.mfc-root[data-mfca-cside=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .sd-go .sd-panel.on .sd-side::before{animation:mfs-drawy 1.1s cubic-bezier(.7,0,.3,1) .6s both}\\n.mfc-root[data-mfca-cside=\"1\"][data-reduce=\"1\"] .sd-track,.mfc-root[data-mfca-cside=\"1\"][data-reduce=\"1\"] .sd-fill{transition:none}\\n.mfc-root[data-mfca-port=\"1\"]{height:auto;overflow:visible}\\n.mfc-root[data-mfca-port=\"1\"] nav,.mfc-root[data-mfca-port=\"1\"] .c3-end{display:none}\\n.mfc-root[data-mfca-port=\"1\"] [data-mfca=\"resume-panel\"]{height:auto;overflow:visible;touch-action:auto;user-select:auto}\\n.mfc-root[data-mfca-port=\"1\"][data-mfca-c3=\"1\"] .one{position:relative;inset:auto;overflow:visible}\\n.mfc-root[data-mfca-port=\"1\"] .turn{height:auto}\\n.mfc-root[data-mfca-port=\"1\"][data-mfca-c3=\"1\"] .c3-more{padding-bottom:96px}\\n.mfc-root[data-mfca-clang=\"1\"]{--display:\"Instrument Serif\",Georgia,\"Times New Roman\",serif;--ink:#fff;--dim:rgba(255,255,255,.6);--dim2:rgba(255,255,255,.6);\\n  --body-c:rgba(255,255,255,.7);--quote-c:#fff;--role-c:rgba(255,255,255,.6);--rim:rgba(255,59,74,.4);--hair:rgba(255,59,74,.4)}\\n.mfc-root[data-mfca-clang=\"1\"] ::selection{background:#ff3b4a;color:#07080c}\\n.mfc-root[data-mfca-clang=\"1\"] .amb i{background:radial-gradient(70vw 50vh at 18% 8vh,rgba(255,59,74,.125),transparent 62%) no-repeat;opacity:1}\\n.mfc-root[data-mfca-clang=\"1\"] .c3-top,.mfc-root[data-mfca-clang=\"1\"] .c3-more{width:100%;max-width:1408px;margin-left:auto;margin-right:auto;padding-left:44px;padding-right:44px}\\n.mfc-root[data-mfca-clang=\"1\"] .c3-voice blockquote{font-size:36px;line-height:1.16;letter-spacing:-.005em;color:#fff}\\n.mfc-root[data-mfca-clang=\"1\"] .c3-who{gap:16px}\\n.mfc-root[data-mfca-clang=\"1\"] .c3-who b{font-size:24px;line-height:1}\\n.mfc-root[data-mfca-clang=\"1\"] .c3-who .lab{font-size:10.5px;color:rgba(255,255,255,.6)}\\n.mfc-root[data-mfca-clang=\"1\"] .c3-hr{background:rgba(255,59,74,.4);transform-origin:50% 50%}\\n.mfc-root[data-mfca-clang=\"1\"] .c3-pic{background:#07080c}\\n.mfc-root[data-mfca-clang=\"1\"] .c3-pic::after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:2px;background:#ff3b4a;transform-origin:50% 50%;z-index:2;pointer-events:none}\\n.mfc-root[data-mfca-clang=\"1\"] .c3-cap{color:rgba(255,255,255,.6)}\\n.mfc-root[data-mfca-clang=\"1\"] .c3-id img{box-shadow:0 0 0 1px rgba(255,255,255,.14)}\\n.mfc-root[data-mfca-clang=\"1\"] .c3-id h1{font-size:52px;line-height:.98;letter-spacing:-.012em;color:#fff;transform-origin:0% 100%}\\n.mfc-root[data-mfca-clang=\"1\"] .c3-pitch p{font-size:22px;line-height:1.36;color:rgba(255,255,255,.7)}\\n.mfc-root[data-mfca-clang=\"1\"] .c3-second blockquote{font-size:29px;line-height:1.2;color:rgba(255,255,255,.7)}\\n.mfc-root[data-mfca-clang=\"1\"] .c3-hd{position:relative;border-bottom:0;font-size:10.5px;letter-spacing:.22em}\\n.mfc-root[data-mfca-clang=\"1\"] .c3-hd::after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(255,59,74,.4);transform-origin:50% 50%}\\n.mfc-root[data-mfca-clang=\"1\"] .c3-it b{font-size:24px;line-height:1.1}\\n.mfc-root[data-mfca-clang=\"1\"] .c3-it span{font-size:12.5px;line-height:18px;color:rgba(255,255,255,.6)}\\n.mfc-root[data-mfca-clang=\"1\"] .c3-end{color:rgba(255,255,255,.6)}\\n.mfc-root[data-mfca-clang=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .c3-hr{transform:scaleX(0);transition:transform .9s cubic-bezier(.7,0,.3,1)}\\n.mfc-root[data-mfca-clang=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .c3-hr.on{transform:scaleX(1)}\\n.mfc-root[data-mfca-clang=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .c3-pic::after{transform:scaleX(0);transition:transform .9s cubic-bezier(.7,0,.3,1)}\\n.mfc-root[data-mfca-clang=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .c3-pic{clip-path:inset(calc(100% - 2px) 0 0 0);transition:clip-path 1.5s cubic-bezier(.7,0,.3,1) .55s}\\n.mfc-root[data-mfca-clang=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .c3-frame.on .c3-pic::after{transform:scaleX(1)}\\n.mfc-root[data-mfca-clang=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .c3-frame.on .c3-pic{clip-path:inset(0 0 0 0)}\\n.mfc-root[data-mfca-clang=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .c3-hd::after{transform:scaleX(0);transition:transform .9s cubic-bezier(.7,0,.3,1) .2s}\\n.mfc-root[data-mfca-clang=\"1\"]:not([data-rest=\"1\"]):not([data-reduce=\"1\"]) .c3-hd.on::after{transform:scaleX(1)}\\n.mfc-root[data-mfca-c3=\"1\"] .c3-end{text-align:center;padding:0 0 48px;font-size:10.5px;letter-spacing:.18em;color:var(--dim2)}\\n.mfc-root[data-mfca-c2=\"1\"][data-axis=\"x\"] .page[data-mfca-page=\"pitch\"]{display:flex;\\n  flex-direction:column;justify-content:flex-start}\\n.mfc-root[data-mfca-c2=\"1\"] [data-mfca=\"opening\"]{margin:0;max-width:none;min-width:0}\\n.mfc-root[data-mfca-c2=\"1\"] .oc-band{display:grid;grid-template-columns:384px minmax(0,1fr);\\n  column-gap:40px;align-items:start;flex:none}\\n.mfc-root[data-mfca-c2=\"1\"] .oc-id{display:flex;align-items:center;gap:20px}\\n.mfc-root[data-mfca-c2=\"1\"] .oc .disc{width:96px;height:96px}\\n.mfc-root[data-mfca-c2=\"1\"] .oc-name{font-family:var(--display);font-weight:400;font-size:40px;\\n  line-height:1.1;color:var(--ink);margin:0 0 4px}\\n.mfc-root[data-mfca-c2=\"1\"] .oc-lab{font-size:10.5px;line-height:16px;color:var(--dim)}\\n.mfc-root[data-mfca-c2=\"1\"] .oc-lab b{font-weight:500;color:var(--acc)}\\n.mfc-root[data-mfca-c2=\"1\"] .oc-disc-line{display:flex;flex-wrap:wrap;gap:0 6px;align-items:baseline}\\n.mfc-root[data-mfca-c2=\"1\"] .oc-link{display:inline-block;margin-top:20px;font-size:10.5px;\\n  line-height:16px;color:var(--role-c);padding-bottom:6px;border-bottom:1px solid var(--rim);\\n  text-align:left;transition:color 250ms linear,border-color 250ms linear}\\n.mfc-root[data-mfca-c2=\"1\"] .oc-link:hover,.mfc-root[data-mfca-c2=\"1\"] .oc-link:focus-visible{\\n  color:var(--ink);border-bottom-color:var(--acc)}\\n.mfc-root[data-mfca-c2=\"1\"] .oc .headline{font-size:56px;line-height:1.1;max-width:none;margin:0}\\n.mfc-root[data-mfca-c2=\"1\"] .oc-pitch{margin:16px 0 0;font-family:var(--display);font-weight:400;\\n  font-size:22px;line-height:1.42;color:var(--ink);max-width:780px}\\n.mfc-root[data-mfca-c2=\"1\"] .oc-strip{margin-top:24px;flex:none;min-width:0}\\n.mfc-root[data-mfca-c2=\"1\"] .oc-head{display:flex;align-items:center;gap:16px;height:16px;margin-bottom:12px}\\n.mfc-root[data-mfca-c2=\"1\"] .oc-head .lab{font-size:10.5px;line-height:16px}\\n.mfc-root[data-mfca-c2=\"1\"] .oc-hr{flex:1 1 auto;height:1px;background:var(--rim)}\\n.mfc-root[data-mfca-c2=\"1\"] .oc-bio{column-count:3;column-gap:40px}\\n.mfc-root[data-mfca-c2=\"1\"] .oc-bio p{margin:0 0 10px;font-family:var(--display);font-weight:400;\\n  font-size:16px;line-height:1.5;color:var(--body-c)}\\n.mfc-root[data-mfca-c2=\"1\"] .oc-bio p:last-child{margin-bottom:0}\\n.mfc-root[data-mfca-c2=\"1\"] .oc-bio em{font-style:italic;color:var(--ink)}\\n.mfc-root[data-mfca-c2=\"1\"] .fc-cols{display:grid;\\n  grid-template-columns:minmax(0,1fr) minmax(0,1fr) var(--well-w);column-gap:40px;align-items:start}\\n.mfc-root[data-mfca-c2=\"1\"] .fc-list{min-width:0}\\n.mfc-root[data-mfca-c2=\"1\"] .fc-row{position:relative;display:grid;grid-template-columns:40px 22px minmax(0,1fr);\\n  column-gap:12px;padding:12px 0;cursor:default;--t:var(--quote-c);--m:var(--dim)}\\n.mfc-root[data-mfca-c2=\"1\"] .fc-row + .fc-row{border-top:1px solid var(--hair)}\\n.mfc-root[data-mfca-c2=\"1\"] .fc-row[data-mfca-sel=\"1\"]{--t:var(--ink);--m:var(--role-c)}\\n.mfc-root[data-mfca-c2=\"1\"] .fc-row:focus-visible{outline:1px solid var(--acc);outline-offset:3px}\\n.mfc-root[data-mfca-c2=\"1\"] .fc-th{position:relative;width:40px;height:60px;border:1px solid var(--rim);\\n  background:var(--ground);display:flex;align-items:center;justify-content:center;\\n  font-family:var(--display);font-size:18px;line-height:1;color:var(--t);transition:color 250ms linear}\\n.mfc-root[data-mfca-c2=\"1\"] .fc-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;\\n  display:block;background:var(--ground);z-index:2}\\n.mfc-root[data-mfca-c2=\"1\"] .fc-th .fc-art.fc-fill{object-fit:cover}\\n.mfc-root[data-mfca-c2=\"1\"] .fc-n{padding-top:7px;font-size:10.5px;line-height:16px;color:var(--dim2)}\\n.mfc-root[data-mfca-c2=\"1\"] .fc-body{min-width:0}\\n.mfc-root[data-mfca-c2=\"1\"] .fc-tt{font-family:var(--display);font-weight:400;font-size:22px;line-height:1.27;\\n  color:var(--t);padding-right:48px;transition:color 250ms linear}\\n.mfc-root[data-mfca-c2=\"1\"] .fc-line{margin-top:4px;font-size:10.5px;line-height:16px;letter-spacing:.14em;\\n  color:var(--m);transition:color 250ms linear}\\n.mfc-root[data-mfca-c2=\"1\"] .fc-roles{margin-top:4px;font-size:10.5px;line-height:16px;color:var(--m);\\n  transition:color 250ms linear}\\n.mfc-root[data-mfca-c2=\"1\"] .fc-note{margin-top:6px;font-family:var(--display);font-style:italic;\\n  font-size:15px;line-height:1.4;color:var(--role-c)}\\n.mfc-root[data-mfca-c2=\"1\"] .fc-yr{position:absolute;right:0;top:18px;font-size:10.5px;line-height:16px;\\n  letter-spacing:.14em;color:var(--dim)}\\n.mfc-root[data-mfca-c2=\"1\"] .fc-well{position:relative;width:var(--well-w);height:var(--well-h);justify-self:end}\\n.mfc-root[data-mfca-c2=\"1\"] .fc-card{position:absolute;inset:0;border:1px solid var(--rim);background:var(--ground);\\n  padding:var(--card-pad);display:flex;flex-direction:column;justify-content:space-between;\\n  opacity:0;transition:opacity 250ms linear}\\n.mfc-root[data-mfca-c2=\"1\"] .fc-card[data-on=\"1\"]{opacity:1}\\n.mfc-root[data-mfca-c2=\"1\"] .fc-th.fc-th-none{border:0;background:none}\\n.mfc-root[data-mfca-c2=\"1\"] .fc-card.fc-card-none{border:0;background:none}\\n.mfc-root[data-mfca-c2=\"1\"] .fc-top{display:flex;justify-content:space-between;gap:12px}\\n.mfc-root[data-mfca-c2=\"1\"] .fc-card .lab{font-size:10.5px;line-height:16px;letter-spacing:.14em}\\n.mfc-root[data-mfca-c2=\"1\"] .fc-ct{font-family:var(--display);font-weight:400;font-size:var(--card-t);\\n  line-height:1.2;color:var(--ink)}\\n.mfc-root[data-mfca-c2=\"1\"] .fc-cd{margin-top:8px}\\n.mfc-root[data-mfca-c2=\"1\"] .ra-cols{display:grid;grid-template-columns:480px minmax(0,1fr);column-gap:56px;\\n  align-items:start}\\n.mfc-root[data-mfca-c2=\"1\"] .ra-award{border-left:2px solid var(--acc);padding-left:24px}\\n.mfc-root[data-mfca-c2=\"1\"] .ra-an{margin:0;font-family:var(--display);font-weight:500;font-size:36px;\\n  line-height:1.2;letter-spacing:.02em;color:var(--ink);transform-origin:0% 50%}\\n.mfc-root[data-mfca-c2=\"1\"] .ra-as{margin-top:6px;font-size:10.5px;line-height:16px}\\n.mfc-root[data-mfca-c2=\"1\"] .ra-ab{margin:16px 0 0;font-family:var(--display);font-weight:400;font-size:16px;\\n  line-height:1.55;color:var(--body-c)}\\n.mfc-root[data-mfca-c2=\"1\"] .ra-cmpwrap{margin:24px 0 0 26px;cursor:default}\\n.mfc-root[data-mfca-c2=\"1\"] .ra-cmpwrap:focus-visible{outline:1px solid var(--acc);outline-offset:3px}\\n.mfc-root[data-mfca-c2=\"1\"] .ra-frame{position:relative;width:100%;background:var(--ground)}\\n.mfc-root[data-mfca-c2=\"1\"] .ra-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;\\n  display:block;transition:opacity 450ms linear}\\n.mfc-root[data-mfca-c2=\"1\"] .ra-frame .ra-before{opacity:0}\\n.mfc-root[data-mfca-c2=\"1\"] .ra-cmpwrap:hover .ra-before,.mfc-root[data-mfca-c2=\"1\"] .ra-cmpwrap:focus-visible .ra-before{opacity:1}\\n.mfc-root[data-mfca-c2=\"1\"] .ra-cmpwrap:hover .ra-after,.mfc-root[data-mfca-c2=\"1\"] .ra-cmpwrap:focus-visible .ra-after{opacity:0}\\n.mfc-root[data-mfca-c2=\"1\"] .ra-cap{margin-top:8px;font-size:10.5px;line-height:16px}\\n.mfc-root[data-mfca-c2=\"1\"] .ra-cap .u{display:none}\\n.mfc-root[data-mfca-c2=\"1\"] .ra-cmpwrap:hover .ra-cap .u,.mfc-root[data-mfca-c2=\"1\"] .ra-cmpwrap:focus-visible .ra-cap .u{display:inline}\\n.mfc-root[data-mfca-c2=\"1\"] .ra-cmpwrap:hover .ra-cap .g,.mfc-root[data-mfca-c2=\"1\"] .ra-cmpwrap:focus-visible .ra-cap .g{display:none}\\n.mfc-root[data-mfca-c2=\"1\"] .ra-refs{min-width:0}\\n.mfc-root[data-mfca-c2=\"1\"] .ra-ref{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:24px;align-items:start}\\n.mfc-root[data-mfca-c2=\"1\"] .ra-ref + .ra-ref{margin-top:28px;padding-top:28px;border-top:1px solid var(--hair)}\\n.mfc-root[data-mfca-c2=\"1\"] .ra-plate{position:relative;width:56px;height:56px;border-radius:50%;border:1px solid var(--rim);\\n  display:flex;align-items:center;justify-content:center;font-family:var(--display);font-style:italic;\\n  font-size:18px;line-height:1;color:var(--ink);overflow:hidden;background:var(--ground)}\\n.mfc-root[data-mfca-c2=\"1\"] .ra-plate img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}\\n.mfc-root[data-mfca-c2=\"1\"] .ra-q{margin:0;font-family:var(--display);font-style:italic;font-weight:400;\\n  font-size:20px;line-height:1.42;color:var(--quote-c);max-width:calc(100% - 80px)}\\n.mfc-root[data-mfca-c2=\"1\"] .ra-who{margin-top:12px}\\n.mfc-root[data-mfca-c2=\"1\"] .ra-who .lab{font-size:10.5px;line-height:16px}\\n@media (max-height:800px){\\n  .mfc-root{--well-w:240px; --well-h:360px; --card-pad:18px; --card-t:24px}\\n}\\n.mfc-root{--logo-slot:28px; --logo-gap:16px; --logo-line:23px; --logo-dy:1.23px}\\n.mfc-root .logo-mark{display:block;width:100%;height:100%;background-color:var(--acc);\\n  -webkit-mask-image:var(--mark);mask-image:var(--mark);\\n  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;\\n  -webkit-mask-position:50% 50%;mask-position:50% 50%;\\n  -webkit-mask-size:contain;mask-size:contain}\\n.mfc-root[data-mfca-logos=\"1\"] .rows .r.mem{grid-template-columns:1fr 92px}\\n.mfc-root .logo-slot{display:block;width:var(--logo-slot);height:var(--logo-slot);pointer-events:none}\\n.mfc-root[data-mfca-logos=\"1\"] .rows .r{grid-template-columns:var(--logo-slot) 1fr 92px;column-gap:var(--logo-gap)}\\n.mfc-root[data-mfca-logos=\"1\"] .rows .r .logo-slot{align-self:start;\\n  margin-top:calc(var(--logo-line) / 2 + var(--logo-dy) - var(--logo-slot) / 2)}\\n@media (max-height:800px){\\n  .mfc-root{--peek-y:96px; --idx-h:44px}\\n  .mfc-root [data-axis=\"x\"] .page,.mfc-root [data-axis=\"y\"] .page{padding-top:32px;padding-bottom:20px}\\n  .mfc-root [data-axis=\"x\"] .page{padding-left:56px;padding-right:56px}\\n  .mfc-root [data-axis=\"y\"] .page{padding-left:200px;padding-right:56px}\\n  .mfc-root [data-axis=\"x\"] .idx{padding-left:56px;padding-right:56px}\\n  .mfc-root [data-axis=\"x\"] .idx .rail{left:56px;right:56px}\\n  .mfc-root [data-axis=\"x\"] .end-cue{left:56px;right:56px}\\n  .mfc-root [data-axis=\"y\"] .end-cue{left:200px;right:56px}\\n  .mfc-root .who h1{font-size:36px}\\n  .mfc-root .disc{width:140px;height:140px}\\n  .mfc-root .headline{font-size:48px}\\n  .mfc-root .pitch-body{font-size:20px}\\n  .mfc-root .pitch-body[data-notch=\"1\"]{font-size:18px}\\n  .mfc-root .pitch-body[data-notch=\"2\"]{font-size:16.5px}\\n  .mfc-root [data-axis=\"x\"] .page[data-mfca-page=\"pitch\"]{column-gap:48px}\\n  .mfc-root [data-axis=\"y\"] .idx{left:28px;top:28px;bottom:28px}\\n  .mfc-root [data-axis=\"y\"] .peek{padding:6px 56px 64px 200px}\\n  .mfc-root .credit{padding:10px 0}\\n  .mfc-root .credit .t{font-size:20px}\\n  .mfc-root .credit-lead .t{font-size:30px}\\n  .mfc-root .film-grid{gap:32px}\\n  .mfc-root .rec-grid,.mfc-root .tools-grid{gap:32px}\\n  .mfc-root .two{column-gap:28px}\\n  .mfc-root .two .col{gap:12px}\\n  .mfc-root p.copy{font-size:15.5px;line-height:1.48}\\n  .mfc-root .rows .r{padding:10px 0}\\n  .mfc-root .sec-title{font-size:24px;margin-bottom:10px}\\n  .mfc-root .pull h3{font-size:30px}\\n  .mfc-root .pull .blurb,.mfc-root .ref .quote{font-size:18px}\\n  .mfc-root .caps-stack{gap:20px}\\n  .mfc-root .contact-copy h2{font-size:52px}\\n}\\n@media (max-width:1366px){\\n  .mfc-root{--peek-x:32px}\\n  .mfc-root [data-axis=\"x\"] .peek-inner{left:6px;top:40px}\\n}\\n@media (prefers-reduced-motion:reduce){\\n  .mfc-root,.mfc-root *::before,.mfc-root *::after,.mfc-root *{animation:none!important;transition:none!important}\\n}\\n.mfc-root{position:relative;width:100%;--nav-h:0px}';export const MFC_ABOUT_MARKUP='<nav>\\n  <a class=\"wordmark lab\" href=\"#top\" id=\"navHome\" aria-label=\"Mind Factory\">\\n    <svg viewBox=\"0 0 328 328\" aria-hidden=\"true\">\\n      <path d=\"M272,328H56c-30.88,0-56-25.12-56-56V56C0,25.12,25.12,0,56,0h216c30.88,0,56,25.12,56,56v216c0,30.88-25.12,56-56,56ZM56,28c-15.44,0-28,12.56-28,28v216c0,15.44,12.56,28,28,28h216c15.44,0,28-12.56,28-28V56c0-15.44-12.56-28-28-28H56Z\"/>\\n      <path d=\"M145,150H61c-2.76,0-5-2.24-5-5V61c0-2.76,2.24-5,5-5h84c2.76,0,5,2.24,5,5v84c0,2.76-2.24,5-5,5ZM267,56h-84c-2.76,0-5,2.24-5,5v84c0,2.76,2.24,5,5,5h84c2.76,0,5-2.24,5-5V61c0-2.76-2.24-5-5-5Z\"/>\\n      <path d=\"M113.5,178h43.5v94h-43.5v-94ZM214.5,178h-43.5v94h43.5v-94ZM267,178h-38.5v94h38.5c2.76,0,5-2.24,5-5v84c0,2.76-2.24,5-5-5ZM99.5,178h-38.5c-2.76,0-5,2.24-5,5v84c0,2.76,2.24,5,5,5h38.5v-94Z\"/>\\n    </svg>\\n    <b>MIND FACTORY</b>\\n  </a>\\n  <div class=\"sig lab\" aria-label=\"Signal: Colour\">\\n    <span class=\"br\">[</span>\\n    <div class=\"sig-track\"><i></i><span class=\"on\">COLOUR</span><span>MOTION</span></div>\\n    <span class=\"br\">]</span>\\n  </div>\\n  <div class=\"nav-links lab\">\\n    <a href=\"#work\" id=\"navWork\">WORK</a>\\n    <a href=\"#about\" data-mfca-cur=\"1\" id=\"navAbout\">ABOUT</a>\\n    <a href=\"#contact\" id=\"navContact\">CONTACT</a>\\n  </div>\\n</nav>\\n\\n<div data-mfca=\"resume-panel\" id=\"panel\" data-mfca-stop=\"about\" data-mfca-current-page=\"pitch\" data-mfca-latch=\"0\">\\n  <div class=\"amb\" aria-hidden=\"true\"><i></i></div>\\n</div>';export const MFC_ABOUT_ROOT_CLASS=\"mfc-root\";export function mountColourAbout(MFA_ROOT,MFA_HOST_IN){var MFA_HOST=MFA_HOST_IN||{};var MFA_alive=true,MFA_offs=[];function MFA_on(t,ty,fn,o){t.addEventListener(ty,fn,o);MFA_offs.push(function(){t.removeEventListener(ty,fn,o);});}function MFA_onLoad(fn){if(document.readyState===\"complete\")setTimeout(fn,0);else MFA_on(window,\"load\",fn);}function MFA_byId(id){return MFA_ROOT.querySelector(\"#\"+id)||document.getElementById(id);}var requestAnimationFrame=function(f){return window.requestAnimationFrame(function(t){if(MFA_alive)f(t);});};var cancelAnimationFrame=function(h){return window.cancelAnimationFrame(h);};var setTimeout=function(f,ms){return window.setTimeout(function(){if(MFA_alive)f();},ms);};var clearTimeout=function(h){return window.clearTimeout(h);};(function(){var PORT=typeof MFA_HOST!==\"undefined\"&&MFA_HOST?MFA_HOST:null;var R={\"name\":\"Gav Patel\",\"location\":\"TORONTO \\xb7 CANADA / REMOTE WORLDWIDE\",\"signature\":\"ONE STUDIO. TWO SIGNALS.\",\"disciplines\":[{\"label\":\"MOTION\",\"signal\":\"motion\"},{\"label\":\"VFX\",\"signal\":\"motion\"},{\"label\":\"COLOUR\",\"signal\":\"colour\"},{\"label\":\"CG\",\"signal\":\"motion\"}],\"headline\":\"Colour and motion as the work.\",\"headlineEm\":[\"Colour\",\"motion\"],\"headlineMotion\":\"Built here. Finished here.\",\"headlineMotionEm\":[\"Built\",\"Finished\"],\"positioningEm\":[\"17+ years\",\"long-form narrative\"],\"positioning\":\"A one-person post studio with 17+ years in broadcast, advertising and documentary. Started in compositing, then grading, AI model training and his own pipelines. Looking for more long-form narrative: episodic, documentary, feature.\",\"approach\":\"Gav started in broadcast compositing and kept following the problems: first into grading, then into training AI models and building his own pipelines. Colour, motion and composition aren't finishing steps. They're where the meaning gets made. He's looking for more long-form narrative work: episodic, documentary, feature.\",\"approachEm\":\"They're where the meaning gets made.\",\"order\":{\"colour\":[\"bio\",\"filmography\",\"recognition\",\"capabilities\",\"training\",\"memberships\",\"approach\"],\"motion\":[\"bio\",\"engagements\",\"filmography\",\"clients\",\"capabilities\",\"recognition\",\"training\",\"approach\"]},\"sections\":[{\"id\":\"bio\",\"title\":\"PROFILE\",\"sub\":\"THE SHORT VERSION\",\"sig\":\"both\"},{\"id\":\"engagements\",\"title\":\"SELECTED WORK\",\"sub\":\"08 ENGAGEMENTS \\xb7 CURRENT FIRST\",\"sig\":\"motion\"},{\"id\":\"filmography\",\"title\":\"FILMOGRAPHY\",\"sub\":\"LONG-FORM & BROADCAST \\xb7 CBC \\xb7 PBS \\xb7 TVO\",\"sig\":\"both\"},{\"id\":\"clients\",\"title\":\"SELECTED BRANDS\",\"sub\":\"THROUGH THE STUDIOS ABOVE \\xb7 SINCE 2003\",\"sig\":\"motion\"},{\"id\":\"capabilities\",\"title\":\"CAPABILITIES\",\"sub\":\"WHAT HE DOES \\xb7 WHAT WITH\",\"sig\":\"both\"},{\"id\":\"recognition\",\"title\":\"RECOGNITION\",\"sub\":\"AWARDS\",\"sig\":\"both\"},{\"id\":\"training\",\"title\":\"TRAINING\",\"sub\":\"EDUCATION\",\"sig\":\"both\"},{\"id\":\"memberships\",\"title\":\"MEMBERSHIPS\",\"sub\":\"COMMUNITIES\",\"sig\":\"both\"},{\"id\":\"approach\",\"title\":\"APPROACH\",\"sub\":\"METHOD\",\"sig\":\"both\"}],\"engagements\":[{\"id\":\"npa\",\"name\":\"NATIONAL PROGRESS ALLIANCE\",\"roleLine\":\"BRAND CREATIVE & MOTION \\xb7 REMOTE [US]\",\"range\":{\"from\":2022,\"to\":\"now\"},\"era\":\"current\",\"sig\":\"motion\",\"blurb\":\"Built the full brand and visual identity for a US-based YouTube channel: motion graphics, thumbnail systems and the channel website. Editing and colour grading as needed. Two or three thumbnails a week. The AI image workflows (LoRA training, ComfyUI) grew out of this account.\"},{\"id\":\"sjc\",\"name\":\"SJC\",\"fullName\":\"ST. JOSEPH COMMUNICATIONS\",\"roleLine\":\"MOTION GRAPHICS DESIGNER \\xb7 CONTRACT \\xb7 TORONTO\",\"range\":{\"from\":2018,\"to\":\"now\"},\"era\":\"current\",\"sig\":\"motion\",\"blurb\":\"Recurring contract work at one of Canada's largest private media companies. Motion graphics, digital signage and social content on TD Canada Trust, RBC, Chevrolet, Hyundai and Shoppers Drug Mart. Also sizzle reels and colour correction.\",\"rangeText\":\"2018 – 2019 \\xb7 2021 – NOW\"},{\"id\":\"jiang\",\"name\":\"JIANG MEDIA\",\"director\":\"DIR. JEANETTE KONG\",\"roleLine\":\"COLOURIST & MOTION GRAPHICS \\xb7 DOCUMENTARY\",\"range\":{\"from\":2013,\"to\":2025},\"era\":\"current\",\"sig\":\"both\",\"blurb\":\"Twelve years and three films with documentary filmmaker Jeanette Kong: motion graphics on all three, and full post-production on the most recent. Titles, credits and festival placements are in the filmography.\"},{\"id\":\"craft\",\"name\":\"CRAFT WORLDWIDE / MCCANN MRM\",\"fullName\":\"IPG\",\"roleLine\":\"MOTION GRAPHICS \\xb7 CONTRACT \\xb7 REMOTE\",\"range\":{\"from\":2020,\"to\":2024},\"era\":\"current\",\"sig\":\"motion\",\"blurb\":\"Three and a half years on contract with Craft's production team. 2D and 3D motion graphics on Johnson & Johnson (Optiblue and Odyssey MOA campaigns), adapted across CeraVe, Garnier and SkinCeuticals.\"},{\"id\":\"lotic\",\"name\":\"LOTIC.AI\",\"roleLine\":\"MOTION GRAPHICS & VFX \\xb7 FREELANCE \\xb7 REMOTE\",\"range\":{\"from\":2024,\"to\":2024},\"era\":\"current\",\"sig\":\"motion\",\"blurb\":\"Two campaign pieces for an AI and data-product company: the Marketplace video (animation) and the Pendant video (motion graphics and VFX).\"},{\"id\":\"unreasonable\",\"name\":\"UNREASONABLE STUDIOS\",\"roleLine\":\"MOTION DESIGN & COMPOSITING \\xb7 IN-STUDIO FREELANCE \\xb7 TORONTO\",\"range\":{\"from\":2019,\"to\":2019},\"era\":\"current\",\"sig\":\"motion\",\"blurb\":\"Motion graphics and compositing across a campaign year, including Budweiser social spots.\"},{\"id\":\"reactiv\",\"name\":\"REACTIV\",\"roleLine\":\"VFX & MOTION \\xb7 TORONTO\",\"range\":{\"from\":2014,\"to\":2019},\"era\":\"current\",\"sig\":\"motion\",\"blurb\":\"Full-time 2014 to 2015, then freelance through 2019. VFX: green-screen and window compositing, digital matte painting and roto. Branded compositing and motion design on the Lightlife campaign.\"},{\"id\":\"videonerve\",\"name\":\"VIDEONERVE / PUBLICIS\",\"roleLine\":\"MOTION GRAPHICS \\xb7 EMBEDDED FREELANCE \\xb7 TORONTO\",\"range\":{\"from\":2015,\"to\":2019},\"era\":\"current\",\"sig\":\"motion\",\"blurb\":\"Four years embedded in a broadcast and digital motion team working with Publicis. Accounts included Citigold and Citibank.\"},{\"id\":\"secret\",\"name\":\"SECRET LOCATION\",\"roleLine\":\"MOTIONOGRAPHER \\xb7 TORONTO\",\"position\":\"MOTIONOGRAPHER\",\"city\":\"TORONTO\",\"range\":{\"from\":2012,\"to\":2014},\"era\":\"earlier\",\"sig\":\"motion\",\"blurb\":\"Interactive media: broadcast websites, mobile and tablet apps, web series and real-time 3D games. Translated After Effects data to Flash, Pixi JS and HTML5 animation, working closely with developers. Cinema 4D, 3ds Max, Syntheyes tracking and DSLR video production.\"},{\"id\":\"crush\",\"name\":\"CRUSH INC.\",\"roleLine\":\"MOTION GRAPHICS DESIGNER \\xb7 TORONTO\",\"position\":\"MOTION GRAPHICS DESIGNER\",\"city\":\"TORONTO\",\"range\":{\"from\":2008,\"to\":2012},\"era\":\"earlier\",\"sig\":\"motion\",\"blurb\":\"Three and a half years at a leading Toronto broadcast design studio: idents, commercial back-ends, title sequences and animation, later expanding into the CG department for modelling, compositing and animation. Grew from assisting to independently building segments from brief to final. Compositing work included the Lil' Ronnie animated segments for CBC's The Ron James Show.\"},{\"id\":\"scarlett\",\"name\":\"SCARLETT STREET FILMS\",\"roleLine\":\"MOTION GRAPHICS DESIGNER \\xb7 FREELANCE \\xb7 TORONTO\",\"position\":\"MOTION GRAPHICS DESIGNER\",\"type\":\"FREELANCE\",\"city\":\"TORONTO\",\"range\":{\"from\":2010,\"to\":2011},\"era\":\"earlier\",\"sig\":\"motion\",\"blurb\":\"Motion graphics and titles for broadcast productions, including Flip, Flop and Fly, The Food Diaries and the Canadian Aboriginal Music Awards.\"},{\"id\":\"bseen\",\"name\":\"BSEEN\",\"roleLine\":\"FREELANCE MOTION GRAPHICS\",\"position\":\"MOTION GRAPHICS\",\"type\":\"FREELANCE\",\"range\":{\"from\":2003,\"to\":2012},\"era\":\"earlier\",\"sig\":\"motion\",\"blurb\":\"Long-running freelance. Started as a Flash animator, then motion graphics, VFX, animation and compositing.\"},{\"id\":\"c4\",\"name\":\"C4 STUDIOS / TRACE PICTURES\",\"roleLine\":\"COMPOSITOR\",\"position\":\"COMPOSITOR\",\"range\":{\"from\":2008,\"to\":2008},\"era\":\"earlier\",\"sig\":\"motion\",\"blurb\":\"First compositing roles. CG compositor on long-form documentaries built on fully CG shots, working in After Effects with passes provided by the 3D artists.\"},{\"id\":\"shattered\",\"name\":\"SHATTERED WINDOW PRODUCTIONS\",\"roleLine\":\"VFX SUPERVISOR \\xb7 FREELANCE \\xb7 MISSISSAUGA\",\"position\":\"VFX SUPERVISOR\",\"type\":\"FREELANCE\",\"city\":\"MISSISSAUGA\",\"range\":{\"from\":2008,\"to\":2008},\"era\":\"earlier\",\"sig\":\"motion\",\"blurb\":\"Developed the VFX and visual style with the director on three music videos that aired on MuchMusic. On set to protect the post-production.\"},{\"id\":\"4ward\",\"name\":\"4WARD INTELLECT\",\"roleLine\":\"NEW MEDIA DEVELOPER \\xb7 MARKHAM\",\"position\":\"NEW MEDIA DEVELOPER\",\"city\":\"MARKHAM\",\"range\":{\"from\":2007,\"to\":2008},\"era\":\"earlier\",\"sig\":\"motion\",\"blurb\":\"Corporate video projects: editing, motion graphics, camera operating and directing shoots. Also script editing and preparing video for web.\"}],\"credits\":[{\"title\":\"PETER CHIN: THE BLOOD REMEMBERS\",\"director\":\"DIR. JEANETTE KONG\",\"format\":\"DOC \\xb7 30 MIN\",\"role\":\"Colourist \\xb7 Motion Graphics \\xb7 Editor \\xb7 Archival Restoration\",\"production\":\"Jiang Media\",\"year\":{\"from\":2025,\"to\":2025},\"sig\":\"both\",\"lead\":true,\"screenings\":[\"Canadian premiere, TAIWANfest / Harbourfront Centre, Toronto, August 2025.\"]},{\"title\":\"COPPER COINS\",\"director\":\"DIR. GRACE GORDON\",\"format\":\"SHORT FILM\",\"role\":\"Colourist \\xb7 VFX\",\"roleDetail\":\"Colour.Training final practical\",\"production\":\"Independent\",\"year\":{\"from\":2025,\"to\":2025},\"sig\":\"colour\",\"screenings\":[\"The grade was awarded the Golden Astro for Best Colourist, Colour.Training.\"]},{\"title\":\"UPSIDE DOWN\",\"director\":\"DIR. ERIC BATES\",\"format\":\"SHORT FILM\",\"role\":\"Colourist\",\"production\":\"Independent\",\"year\":{\"from\":2025,\"to\":2025},\"sig\":\"colour\"},{\"title\":\"FOR THE RECORD\",\"director\":\"CR. JULIAN DE ZOTTI\",\"format\":\"SERIES \\xb7 CBC\",\"role\":\"Episode Title Sequences, two seasons\",\"production\":\"Anthology Productions\",\"year\":{\"from\":2020,\"to\":2021},\"sig\":\"motion\",\"screenings\":[\"CBC, two seasons.\"]},{\"title\":\"A BRIEF RECORD OF MY FATHER'S TIME AT SEA\",\"director\":\"DIR. JEANETTE KONG\",\"format\":\"DOC\",\"role\":\"Motion Graphics\",\"roleDetail\":\"titles, map animation, animated stills\",\"production\":\"Jiang Media\",\"year\":{\"from\":2020,\"to\":2020},\"sig\":\"motion\",\"screenings\":[\"Aired on TVO. Screened at international festivals.\"]},{\"title\":\"CAN'T FIND LOVE\",\"director\":\"DIR. GAV PATEL\",\"format\":\"MUSIC VIDEO\",\"role\":\"Colourist \\xb7 Editor\",\"production\":\"Independent\",\"year\":{\"from\":2016,\"to\":2016},\"sig\":\"colour\",\"screenings\":[\"Shot and cut in 2016 at 1080p; reopened in 2025 and remastered in 4K on the Resolve colour page.\"]},{\"title\":\"FINDING SAMUEL LOWE\",\"director\":\"DIR. JEANETTE KONG\",\"format\":\"FEATURE DOC\",\"role\":\"Motion Graphics\",\"roleDetail\":\"titles, map animation, animated stills\",\"production\":\"Jiang Media\",\"year\":{\"from\":2015,\"to\":2015},\"sig\":\"motion\",\"screenings\":[\"PBS and the Africa Channel. Winner, Reelworld Audience Award.\"]},{\"sig\":\"motion\",\"title\":\"WHATEVER, LINDA\",\"director\":\"CR. HANNAH CHEESMAN & JULIAN DE ZOTTI\",\"format\":\"WEB SERIES\",\"role\":\"Motion Graphics\",\"roleDetail\":\"opening titles\",\"production\":\"Independent\",\"year\":{\"from\":2014,\"to\":2014}},{\"sig\":\"motion\",\"title\":\"THE CONSPIRACY SHOW\",\"format\":\"SERIES\",\"role\":\"Main Title Sequence\",\"roleDetail\":\"rebuilt mid-run\",\"production\":\"Secret Location\",\"year\":{\"from\":2012,\"to\":2012}},{\"sig\":\"motion\",\"title\":\"THE RON JAMES SHOW\",\"director\":\"DIR. GARY THOMAS & DALE HESLIP\",\"format\":\"SERIES \\xb7 CBC\",\"role\":\"Compositing\",\"roleDetail\":\"Lil' Ronnie animated segments\",\"production\":\"Crush Inc.\",\"year\":{\"from\":2009,\"to\":2010}},{\"sig\":\"motion\",\"title\":\"CANADIAN ABORIGINAL MUSIC AWARDS\",\"director\":\"\",\"format\":\"BROADCAST SPECIAL\",\"role\":\"Motion Graphics & Titles\",\"production\":\"Scarlett Street\",\"year\":{\"from\":2010,\"to\":2011}},{\"sig\":\"motion\",\"title\":\"FLIP, FLOP AND FLY\",\"director\":\"DIR. JOEL GOLDBERG\",\"format\":\"DOC\",\"role\":\"Motion Graphics & Titles\",\"production\":\"Scarlett Street\",\"year\":{\"from\":2010,\"to\":2010}},{\"sig\":\"motion\",\"title\":\"THE FOOD DIARIES\",\"director\":\"CR. KAPANA FELDANO\",\"format\":\"TV PILOT\",\"role\":\"Motion Graphics & Titles\",\"production\":\"Scarlett Street\",\"year\":{\"from\":2010,\"to\":2010}}],\"clients\":[\"TD CANADA TRUST\",\"RBC\",\"CHEVROLET\",\"HYUNDAI\",\"SHOPPERS DRUG MART\",\"BUDWEISER\",\"JOHNSON & JOHNSON\",\"MTN DEW\",\"LIPTON\",\"NESTL\\xc9\",\"CERAVE\",\"GARNIER\",\"SKINCEUTICALS\",\"CITIBANK\",\"CBC\",\"PEPSI\",\"MITSUBISHI\",\"MAGNUM\",\"IKEA\",\"RED BULL\",\"BEAUTYREST\"],\"capabilities\":[{\"id\":\"colour\",\"name\":\"COLOUR\",\"sig\":\"colour\",\"items\":[{\"line\":\"Grading & look design\",\"note\":\"Primary and secondary grading, with shot matching across multi-camera shoots\"},{\"line\":\"Colour-managed pipelines\",\"note\":\"ACES and custom working spaces, set up from CG through to delivery\"},{\"line\":\"Look development\",\"note\":\"Lookbooks and grade proposals ahead of principal photography\"},{\"line\":\"Film & archival restoration\",\"note\":\"4K restoration and regrade of degraded and archival footage\"},{\"line\":\"Film emulation, grain & denoise\",\"note\":\"Film emulation, grain management and noise reduction\"},{\"line\":\"DCTL and LUT authoring\",\"note\":\"Custom DCTLs and show LUTs, built to brief\"},{\"line\":\"HDR & Dolby Vision workflow\",\"note\":\"HDR and Dolby Vision workflow on a calibrated reference suite\"},{\"line\":\"Live remote grading\",\"note\":\"Attended remote sessions, with the client end configured and supported\"}]},{\"id\":\"motion\",\"name\":\"3D & 2D MOTION DESIGN\",\"sig\":\"motion\",\"items\":[{\"line\":\"Explainer & educational animation\",\"note\":\"Storyboards and style frames through to final, cut to voiceover\"},{\"line\":\"3D look-dev, environments & sim\",\"note\":\"Modelling, lighting, look-dev, occasional environments, particles and simulation through to render\"},{\"line\":\"Campaign titles & packaging\",\"note\":\"Lower thirds, supers, cutdowns and captions, built to the existing brand\"},{\"line\":\"On-air identity systems\",\"note\":\"Title, type, colour and package rules for a channel or series, originated when no kit exists\"},{\"line\":\"2D character animation\",\"note\":\"Rigs and performance animation from supplied 2D artwork\"},{\"line\":\"Editor-ready motion templates\",\"note\":\"Editable templates handed to the client's editor or operator\"}]},{\"id\":\"vfx\",\"name\":\"VFX & COMPOSITING\",\"sig\":\"motion\",\"items\":[{\"line\":\"Live action / CG integration\",\"note\":\"Shot-level compositing of CG into photographed plates\"},{\"line\":\"Assembled on the colour page\",\"note\":\"Multi-pass CG and optical texture built as a node tree in the grade, in the show's working space\"},{\"line\":\"Cleanup & plate repair\",\"note\":\"Paint-outs, rig removal, clean plates, stabilisation and denoise\"},{\"line\":\"Tracking, roto & mattes\",\"note\":\"Planar and 3D tracking, rotoscoping and matte extraction\"}]},{\"id\":\"ai\",\"name\":\"IMAGING & AI\",\"sig\":\"motion\",\"items\":[{\"line\":\"Generated environments in shot photography\",\"note\":\"AI environments composited into product and lifestyle plates\"},{\"line\":\"Stills finishing\",\"note\":\"Retouch, grade and up-res for print and social, including generated plates\"},{\"line\":\"On-premises model training\",\"note\":\"Custom LoRAs trained on client assets, run locally, available under NDA\"},{\"line\":\"Batch stills pipelines\",\"note\":\"Production stills and variants generated, graded and versioned in batch\"}]},{\"id\":\"delivery\",\"name\":\"DELIVERY\",\"sig\":\"both\",\"items\":[{\"line\":\"Masters to spec\",\"note\":\"Broadcast, digital and social masters against the delivery sheet; one theatrical DCP to date\"},{\"line\":\"Multi-version packages\",\"note\":\"Aspect, duration, resolution and language versions from one timeline\"},{\"line\":\"Conform across NLEs\",\"note\":\"Picture conform between Resolve, Premiere and After Effects\"}]},{\"id\":\"suite-colour\",\"name\":\"SUITE\",\"sig\":\"colour\",\"items\":[{\"line\":\"Calibrated reference display\",\"note\":\"Calibrated OLED reference, measured and profiled\"},{\"line\":\"Grading control surface\",\"note\":\"Dedicated grading control surface\"},{\"line\":\"Dolby Vision mastering chain\",\"note\":\"Dolby Vision Professional Tools on site\"}]},{\"id\":\"suite-motion\",\"name\":\"SUITE\",\"sig\":\"motion\",\"items\":[{\"line\":\"Dual-GPU workstation\",\"note\":\"Dual-GPU workstation, twelve cores, 64 GB\"},{\"line\":\"Networked project storage\",\"note\":\"Thirty terabytes of networked project storage\"},{\"line\":\"Render farm overflow\",\"note\":\"Overflow to an external GPU render farm\"}]},{\"id\":\"software\",\"name\":\"SOFTWARE\",\"sig\":\"motion\",\"items\":[{\"line\":\"Colour & finishing\",\"note\":\"Resolve \\xb7 Colourlab Ai \\xb7 Nobe OmniScope \\xb7 LookDesigner \\xb7 FilmLab \\xb7 Neat Video \\xb7 Topaz Video AI \\xb7 Gyroflow\"},{\"line\":\"Motion, comp & edit\",\"note\":\"After Effects \\xb7 Premiere \\xb7 Photoshop \\xb7 Illustrator \\xb7 Continuum \\xb7 Mocha Pro \\xb7 Red Giant \\xb7 Element 3D \\xb7 Descript\"},{\"line\":\"3D\",\"note\":\"Cinema 4D \\xb7 Redshift \\xb7 X-Particles \\xb7 Blender \\xb7 Plasticity \\xb7 SynthEyes\"},{\"line\":\"AI & pipeline\",\"note\":\"ComfyUI \\xb7 Flux / Qwen \\xb7 Topaz \\xb7 Claude Code \\xb7 Python\"}]}],\"recognition\":[{\"name\":\"GOLDEN ASTRO\",\"line\":\"BEST COLOURIST \\xb7 COLOUR.TRAINING\",\"highlight\":true,\"sig\":\"colour\",\"blurb\":\"Awarded by Colour.Training for the final practical, a short film grade, at the close of Dado Valentic's Color Grading Masters Program, and presented in Miami during Art Basel week. Nine months across feature film, episodic, commercials, HDR, ACES and look design.\"}],\"training\":[{\"institution\":\"COLOUR.TRAINING\",\"person\":\"DADO VALENTIC\",\"award\":\"Certificate of Graduation \\xb7 Color Grading Masters Program\",\"course\":\"Color Grading Masters Program\",\"credential\":\"Certificate of Graduation\",\"years\":{\"from\":2024,\"to\":2025},\"sig\":\"both\"},{\"institution\":\"SHERIDAN COLLEGE\",\"award\":\"Graduate Certificate \\xb7 Advanced Film & Television\",\"course\":\"Advanced Film & Television\",\"credential\":\"Graduate Certificate\",\"years\":{\"from\":2006,\"to\":2007},\"sig\":\"both\"},{\"institution\":\"HUMBER COLLEGE\",\"award\":\"Diploma, Multimedia Design \\xb7 Honours, GPA 3.5\",\"course\":\"Multimedia Design\",\"credential\":\"Diploma\",\"years\":{\"from\":2002,\"to\":2004},\"sig\":\"both\"},{\"institution\":\"FXPHD\",\"award\":\"Compositing \\xb7 3D tracking \\xb7 digital cinematography\",\"course\":\"Compositing \\xb7 3D tracking\",\"credential\":\"Certificate\",\"years\":{\"from\":2008,\"to\":2010},\"sig\":\"both\"},{\"institution\":\"SCHOOL OF MOTION\",\"person\":\"MORGAN WILLIAMS\",\"award\":\"Character Animation Bootcamp \\xb7 certificate of completion\",\"course\":\"Character Animation Bootcamp\",\"credential\":\"Certificate\",\"years\":{\"from\":2016,\"to\":2016},\"sig\":\"motion\"},{\"institution\":\"SECOND CITY\",\"award\":\"Improvisation Program, all five levels\",\"course\":\"Improvisation Program, all five levels\",\"credential\":\"Certificate\",\"years\":{\"from\":2013,\"to\":2014},\"sig\":\"both\"}],\"memberships\":[{\"name\":\"Art of Color Research Group\",\"line\":\"Colour.Training colour-science community\",\"sig\":\"colour\"}]};R.bio=[\"Gav Patel is a Toronto-based colourist and motion graphics designer with 17+ years in post-production.\",\"He had been freelancing since 2003, but it started properly at Crush Inc., a broadcast design studio in Toronto, where he spent 3.5 years on idents, title sequences and animation. Those relationships carried into over a decade of work on brands like TD Canada Trust, RBC, Chevrolet, Hyundai, Shoppers Drug Mart and Budweiser – primarily through SJC, Craft Worldwide/McCann MRM and Unreasonable Studios.\",\"Colour grading became a dedicated discipline after he enrolled in Dado Valentic's Color Grading Masters Program at Colour.Training, covering feature film, episodic, commercials, HDR, ACES and look design. He received Colour.Training's <em>Golden Astro for Best Colourist</em> for the program's final practical, presented in Miami during Art Basel week.\",\"His longest creative partnership is with documentary filmmaker Jeanette Kong: three films over more than a decade. On the most recent, <em>Peter Chin: The Blood Remembers</em>, he handled in full: colour grading, editing, motion graphics and archival restoration.\"];var REFS={\"_note\":\"s207 (2026-09-23): the first REAL quotes. Each 'quote' is VERBATIM as Gav pasted it - only the outer quotation marks are dropped (Colour's template prints its own; Motion's numeral marks the quote). Never trim or reword a quote to fit: if one overflows, report the overflow and Gav decides. Dado’s colour quote is Gav’s trim A (2026-09-23): filler removed only (Wow. Wow. / guys, / the second This is the look. / actually / No.), deletions only, order kept, cuts unmarked by his choice of the light trim. Dado Valentic's two are spoken lines from his public review of Gav's Copper Coins grade (Color Lovestream 20, Colourlab Ai, 2025-11-29), quoted with his permission; credit him as TEACHER, never as a client. Jeanette Kong's quote arrived by email 2026-09-29 (subject 'testimonial'), verbatim, credited as she signed it. The remaining placeholders hold the slots for Lisa Hiney (motion) until her words arrive. Nothing here may be invented. The PDF does not read this file. No em dashes (U+2014) anywhere. s212 (2026-09-29): order Dado, Jeanette, Erin (Grok: status, outcome, ongoing trust); the em picks are Grok’s, taken by Gav; the quieter white tier (em2) was DROPPED - white in grey body copy does not read (his call; emph-guard.js). s218 (2026-10-12): Lisa Hiney's quote arrived by email 2026-10-08 (thread 'Re: updating my website'), verbatim (her three paragraphs joined with single spaces, as the others are one block; the line breaks in the email are its wrapping), credited as she signs (Creative Director, SJC Content). She asked that her picture NOT be used - her plate is the SJC mark. Her em picks are mine, taken by Gav; her landing cut (He just rolls with it / and gets the job done …) is his pick. Placed fourth, after Erin (his order kept). s218b: ORDER Dado, Erin, Jeanette, Lisa (short pair on top, long pair below: the 2-column grid sizes each row by its taller quote, so pairing like lengths saves about four lines at 1366, and no column stacks two long quotes; status, ongoing trust, the long record, the agency partner). s212rank keeps the old order for ?qord=prev.\",\"_schema\":{\"quote\":\"verbatim text as the person gave it, no em dashes\",\"name\":\"the person's name\",\"title\":\"their role\",\"org\":\"their organisation\",\"sig\":\"motion | colour | both\",\"em\":\"optional: phrases lifted in the quote, each copied EXACTLY from it (the build refuses one that is not there once); emphasis only, the words never change\",\"s212rank\":\"optional: the position a motion quote had before s218 reordered them (?qord=prev in the mockup); never shown\"},\"references\":[{\"quote\":\"Wait, am I still looking at the references? No, this is the look. This is an FX3. Look at that texture. Look at these eyes. Look at that grain. Look at the feel. Look at this contrast. I honestly thought… is he showing me something better than the reference? Normally the references look so good and the grade doesn’t. This is looking better than the references.\",\"name\":\"Dado Valentic\",\"title\":\"Founder & CEO\",\"org\":\"Colour Intelligence Inc.\",\"sig\":\"colour\",\"em\":[\"This is looking better than the references.\"]},{\"quote\":\"We’re finishers. We’re not just colorists. We take a project and we make it look absolutely amazing and finished. He’s removing a hair clip. He’s removing a light switch. He’s removing equipment. He’s recompositing the shots. This is the finishing on the top, top, top level.\",\"name\":\"Dado Valentic\",\"title\":\"Founder & CEO\",\"org\":\"Colour Intelligence Inc.\",\"sig\":\"motion\",\"em\":[\"He’s removing a hair clip. He’s removing a light switch. He’s removing equipment. He’s recompositing the shots. This is the finishing on the top, top, top level.\"],\"s212rank\":1},{\"quote\":\"I've been working with Gav for over four years, and his leadership, insight, and professionalism in branding, video colorization, and overall creative design have been indispensable. He is the creative genius behind our branding and thumbnails, which continue to help grow our YouTube channel. Most importantly, he is genuine, kind, incredibly professional, and dependable. We are grateful to have him part of our team!\",\"name\":\"Erin Herrick\",\"title\":\"Project Director\",\"org\":\"National Progress Alliance\",\"sig\":\"motion\",\"em\":[\"the creative genius behind our branding and thumbnails, which continue to help grow our YouTube channel\"],\"s212rank\":3},{\"quote\":\"Gav Patel possesses the rare combination of creative talent mixed with a high level of professionalism. For almost 15 years, Gav has contributed outstanding motion graphics to my documentaries, which has garnered awards and accolades at international film festivals. I admire his drive to understand the changes in technology and industry trends. He utilizes them to stay current and his experimentation adds to his creativity. Our most recent project benefited from his deep dive into colouring and Gav produced a style and feel that took the film to another level. He’s a listener and knows how to interpret ideas in a way that elevates them. He has my absolute highest recommendation.\",\"name\":\"Jeanette Kong\",\"title\":\"Documentary Producer and Director\",\"org\":\"Jiang Media Inc.\",\"sig\":\"both\",\"em\":[\"garnered awards and accolades at international film festivals\",\"Gav produced a style and feel that took the film to another level\"],\"s212rank\":2},{\"quote\":\"I've worked with Gav on a variety of projects over the years, from animation to video editing, and he's honestly a pleasure to work with. Gav is always willing to make time for me, even when I come to him with a last-minute project or a ridiculous deadline. He's patient, accommodating and never seems fazed by the endless changes, picky clients or sometimes unreasonable requests that come with this business. He just rolls with it and gets the job done, and always does great work. Beyond being really good at what he does, Gav is just a genuinely nice guy. Easy to work with, dependable and someone I know I can count on. I'd happily recommend him to anyone looking for a solid creative partner.\",\"name\":\"Lisa Hiney\",\"title\":\"Creative Director\",\"org\":\"SJC Content\",\"sig\":\"motion\",\"em\":[\"even when I come to him with a last-minute project or a ridiculous deadline\",\"He just rolls with it and gets the job done, and always does great work.\"],\"s212rank\":4}]};var IMG={\"employerMarks\":{\"_why\":\"s226: the Colour Proof row marks each voice with its employer (his: use the employers). Same files as the Motion testimonial plates.\",\"Jeanette Kong\":\"https://framerusercontent.com/assets/psJNWPHOJpK3NDS3mBzd9NqiMX4.png\",\"Erin Herrick\":\"https://framerusercontent.com/assets/JSMUcKjUQZyKF6ARtUOGH5NfYjw.png\",\"Lisa Hiney\":\"https://framerusercontent.com/assets/l1BsIxPFTyKMjhlJvHm2icFNg0.png\"},\"employerMarkSize\":{\"_why\":\"s226: the marks' optical sizes in the Proof ledger (mask-size; absent = contain). NPA is a small text mark whose artwork fills 88% of its file width (anything over ~113% crops it - the s226 crop), so NPA stays at contain and the others come DOWN to match it; SJC is the heavy one.\",\"Jeanette Kong\":.78,\"Lisa Hiney\":.67},\"_note\":\"s198. Optional imagery for the Motion About mockup, keyed so resume.json (which drives the PDF) is never edited from this lane. Every entry is optional: a missing key renders the typographic fallback card. THESE ARE STAND-INS - frames from the live site's Work tiles, not real posters or portraits. Replace or remove as real art arrives.\",\"credits\":{\"PETER CHIN: THE BLOOD REMEMBERS\":{\"src\":\"https://framerusercontent.com/assets/95ZyfSQyOrr4n1YpIZ1UzZtvKI.jpg\",\"pos\":\"50% 50%\"},\"FOR THE RECORD\":{\"src\":\"https://framerusercontent.com/assets/zGBsYTTXnN1rmKC3VMqpcAh9o.jpg\",\"pos\":\"22% 50%\"}},\"engagements\":{\"sjc\":{\"src\":\"https://framerusercontent.com/assets/lZFskNEXZU9ts3iJdyt16bjeU.jpg\",\"pos\":\"50% 60%\"},\"jiang\":{\"src\":\"https://framerusercontent.com/assets/95ZyfSQyOrr4n1YpIZ1UzZtvKI.jpg\",\"pos\":\"50% 45%\"},\"unreasonable\":{\"src\":\"https://framerusercontent.com/assets/7Os6KbSyY4Bjv7JSlvEcj3mzHzE.jpg\",\"pos\":\"80% 50%\"}},\"references\":{\"Dado Valentic\":{\"src\":\"https://framerusercontent.com/assets/DOypLeoochNp9vjxhmAQ9WA6Yw.jpg\",\"pos\":\"50% 36%\"},\"Jeanette Kong\":{\"src\":\"https://framerusercontent.com/assets/eZYjd5mXThMsQ6YKd0Nzqart4.jpg\",\"pos\":\"56% 42%\"},\"Erin Herrick\":{\"src\":\"https://framerusercontent.com/assets/JSMUcKjUQZyKF6ARtUOGH5NfYjw.png\",\"logo\":true,\"_why\":\"she asked that her photo not be used (a small digital footprint) - her organisation's mark, in crimson, no frame (his call)\"},\"Lisa Hiney\":{\"src\":\"https://framerusercontent.com/assets/l1BsIxPFTyKMjhlJvHm2icFNg0.png\",\"logo\":true,\"_why\":`s218: she asked that her picture not be used (\"don't use my picture!!\"); Gav told her he would use only the company logo - the SJC letters (the mark file, not the solid square, which would mask to a plain block), in crimson, no frame, as Erin's`}},\"peeks\":{\"1\":{\"src\":\"https://framerusercontent.com/assets/lZFskNEXZU9ts3iJdyt16bjeU.jpg\",\"pos\":\"50% 60%\"},\"3\":{\"src\":\"https://framerusercontent.com/assets/95ZyfSQyOrr4n1YpIZ1UzZtvKI.jpg\",\"pos\":\"50% 50%\"},\"4\":{\"src\":\"https://framerusercontent.com/assets/7Os6KbSyY4Bjv7JSlvEcj3mzHzE.jpg\",\"pos\":\"80% 50%\"}},\"colour\":{\"_note\":\"s199. Optional imagery for the Colour About mockup (colour/template.html, ?c2). Every entry is optional and the type fallback is the default. award: keyed by recognition name; after/before are a matched graded/ungraded pair of one frame, shown whole (contain), w/h set the frame's aspect. posters: keyed by credit title (2:3 posters only, never a still; none exist). references: keyed by reference name (portraits; none exist).\",\"award\":{\"GOLDEN ASTRO\":{\"after\":\"https://framerusercontent.com/assets/YcHbVK0rBTZRwiCxsW7WbI5JyM.jpg\",\"before\":\"https://framerusercontent.com/assets/fjnRRFoIsLrZzFhtHln5xg7eKrA.jpg\",\"credit\":\"COPPER COINS\",\"w\":900,\"h\":338}},\"posters\":{},\"references\":{}},\"logos\":{\"_note\":\"s199. Gav's approved one-colour logos (light ink on transparent). A brand square or plate keeps its own padding: never crop, pad or recolour these; size the slot, not the file.\",\"engagements\":{\"npa\":{\"src\":\"https://framerusercontent.com/assets/JSMUcKjUQZyKF6ARtUOGH5NfYjw.png\",\"w\":532,\"h\":320,\"optical\":167},\"sjc\":{\"src\":\"https://framerusercontent.com/assets/1vaVUsSyUaGlKhHNDFltfPO5w.png\",\"w\":532,\"h\":320,\"optical\":289,\"proj\":{\"beam\":.5,\"mark\":.85,\"why\":\"s208, Gav: SJC is a solid square, the only one, so the projection from behind made it brighter than it needs to be\"},\"mark\":{\"src\":\"https://framerusercontent.com/assets/l1BsIxPFTyKMjhlJvHm2icFNg0.png\",\"w\":532,\"h\":320}},\"jiang\":{\"src\":\"https://framerusercontent.com/assets/psJNWPHOJpK3NDS3mBzd9NqiMX4.png\",\"w\":532,\"h\":320,\"optical\":167},\"craft\":{\"src\":\"https://framerusercontent.com/assets/fGPk9utdoxLkIEZaXIP6nG0QX0k.png\",\"w\":532,\"h\":320,\"optical\":150},\"lotic\":{\"src\":\"https://framerusercontent.com/assets/ScJLXz2PgzfMdrBpa1XZROJemFs.png\",\"w\":532,\"h\":320,\"optical\":138},\"unreasonable\":{\"src\":\"https://framerusercontent.com/assets/YTCgiyHSBLE0fEbkdB4kJsc6w.png\",\"w\":532,\"h\":320,\"optical\":129},\"reactiv\":{\"src\":\"https://framerusercontent.com/assets/Rl6EsGU4vZq2lkYPilobJEMOn0.png\",\"w\":532,\"h\":320,\"optical\":153},\"videonerve\":{\"src\":\"https://framerusercontent.com/assets/XpVUQqInQiprpSYZf7SpeV1cS4Q.png\",\"w\":532,\"h\":320,\"optical\":167}},\"training\":{\"COLOUR.TRAINING\":{\"src\":\"https://framerusercontent.com/assets/UR3rUD3fMAAW0PbGx1LgeL2Jq0.png\",\"w\":35.3,\"h\":17.3,\"optical\":24.66,\"clamped\":false,\"cover\":.617},\"SHERIDAN COLLEGE\":{\"src\":\"https://framerusercontent.com/assets/Zn35zkUjG2l8cmiOR7DIoS9UG1o.png\",\"w\":24.7,\"h\":24.7,\"optical\":24.66,\"clamped\":false,\"cover\":.66},\"HUMBER COLLEGE\":{\"src\":\"https://framerusercontent.com/assets/8tocdgyuXHksWB3aJ7DpZKQC0Lo.png\",\"w\":25.9,\"h\":23.4,\"optical\":24.66,\"clamped\":false,\"cover\":.539},\"FXPHD\":{\"src\":\"https://framerusercontent.com/assets/EVDWQyftXLwJULUt5EvmBfqiCw.png\",\"w\":24.7,\"h\":24.7,\"optical\":24.66,\"clamped\":false,\"cover\":.63},\"SCHOOL OF MOTION\":{\"src\":\"https://framerusercontent.com/assets/FXbWPjBqJ4PfnJfInwLSk2aqCUE.png\",\"w\":37.5,\"h\":16.2,\"optical\":24.66,\"clamped\":false,\"cover\":.55},\"SECOND CITY\":{\"src\":\"https://framerusercontent.com/assets/rBqG5DV8CxYrg8erV0ALitScwMc.png\",\"w\":23.6,\"h\":25.8,\"optical\":24.66,\"clamped\":false,\"cover\":.284}},\"clients\":{\"TD CANADA TRUST\":{\"src\":\"https://framerusercontent.com/assets/xNwvaKbcfBi81P8quFXFXLbyigI.png\",\"w\":640,\"h\":272,\"optical\":172},\"RBC\":{\"src\":\"https://framerusercontent.com/assets/Yf4rw0zSPWV9osS5rMfQq0rNics.png\",\"w\":640,\"h\":272,\"optical\":124},\"CHEVROLET\":{\"src\":\"https://framerusercontent.com/assets/yRQHSnMyfL6VEx2bc6004yeLdU.png\",\"w\":640,\"h\":272,\"optical\":171},\"HYUNDAI\":{\"src\":\"https://framerusercontent.com/assets/kgVh1g3vDTpDzdeQwNEDbHr7wQ.png\",\"w\":640,\"h\":272,\"optical\":130},\"SHOPPERS DRUG MART\":{\"src\":\"https://framerusercontent.com/assets/6zRxNKjqj3f9oTRhKjuy4S2ncE.png\",\"w\":640,\"h\":272,\"optical\":149},\"BUDWEISER\":{\"src\":\"https://framerusercontent.com/assets/FGWH7girrqVfDkbuI7RNTDovPI.png\",\"w\":640,\"h\":272,\"optical\":171},\"JOHNSON & JOHNSON\":{\"src\":\"https://framerusercontent.com/assets/1aingnqOCIaJ1YABU7Nvz5F5EI.png\",\"w\":640,\"h\":272,\"optical\":106},\"MTN DEW\":{\"src\":\"https://framerusercontent.com/assets/7Pj6EE9IHerAzNcsY4DTxSr8Qc.png\",\"w\":640,\"h\":272,\"optical\":150},\"LIPTON\":{\"src\":\"https://framerusercontent.com/assets/VnkhN6ygKFxx6XU5OyY83LEKll0.png\",\"w\":640,\"h\":272,\"optical\":171},\"NESTL\\xc9\":{\"src\":\"https://framerusercontent.com/assets/NvRKd1SpwsfvFcRBU8wZoKNBpOU.png\",\"w\":640,\"h\":272,\"optical\":172},\"CERAVE\":{\"src\":\"https://framerusercontent.com/assets/GYyFKzGuyXuQLWJsHcE5FqfLk.png\",\"w\":640,\"h\":272,\"optical\":171},\"GARNIER\":{\"src\":\"https://framerusercontent.com/assets/alMPmEKIlvDjD45WVCh3r5DQ.png\",\"w\":640,\"h\":272,\"optical\":155},\"SKINCEUTICALS\":{\"src\":\"https://framerusercontent.com/assets/IiMARHvru76PTMrOljLEJ0lsuhs.png\",\"w\":640,\"h\":272,\"optical\":78},\"CITIBANK\":{\"src\":\"https://framerusercontent.com/assets/Llig6RzZB6YT82weGWw7nRNZA.png\",\"w\":640,\"h\":272,\"optical\":171},\"CBC\":{\"src\":\"https://framerusercontent.com/assets/m333koBjKN9dJVVTWSoqQ41Zc.png\",\"w\":640,\"h\":272,\"optical\":171},\"PEPSI\":{\"src\":\"https://framerusercontent.com/assets/0hBQ2NtVVdGCUwbSkjLIiNGM0c.png\",\"w\":640,\"h\":272,\"optical\":171},\"MITSUBISHI\":{\"src\":\"https://framerusercontent.com/assets/h5YkuNLAaS9OhEcgDQMCTdIDxEc.png\",\"w\":640,\"h\":272,\"optical\":127},\"MAGNUM\":{\"src\":\"https://framerusercontent.com/assets/m4tSRqNgkaISZwTbHV56CEPTZo.png\",\"w\":640,\"h\":272,\"optical\":158},\"IKEA\":{\"src\":\"https://framerusercontent.com/assets/B7Z6zWm1GuI4wO6x6E2NAwEapE.png\",\"w\":640,\"h\":272,\"optical\":171},\"RED BULL\":{\"src\":\"https://framerusercontent.com/assets/nHg85Nzvj9Hwd8RMaXbOcbgoExQ.png\",\"w\":640,\"h\":272,\"optical\":171},\"BEAUTYREST\":{\"src\":\"https://framerusercontent.com/assets/OzdtIL8N4GMkqQ2sRGTFOEh0v9o.png\",\"w\":640,\"h\":272,\"optical\":140}}},\"posters\":{\"_note\":\"s199. Gav's approved filmography art. The well always shows it whole; a thumb fills only when fill is true (its crop costs less than 15%).\",\"credits\":{\"FOR THE RECORD\":{\"src\":\"https://framerusercontent.com/assets/QUefrZHItjlGbtRg9C3ckQ2vfIU.jpg\",\"w\":800,\"h\":1200,\"what\":\"poster\",\"fill\":true},\"A BRIEF RECORD OF MY FATHER'S TIME AT SEA\":{\"src\":\"https://framerusercontent.com/assets/RcWbfPujfAGHnPrzycOCVfexoI.jpg\",\"w\":810,\"h\":1200,\"what\":\"poster\",\"fill\":true},\"FINDING SAMUEL LOWE\":{\"src\":\"https://framerusercontent.com/assets/dtGozqsTsiQdb3dZ7SWDO3T2nM.jpg\",\"w\":800,\"h\":1200,\"what\":\"book cover (Gav's pick)\",\"fill\":true},\"CANADIAN ABORIGINAL MUSIC AWARDS\":{\"src\":\"https://framerusercontent.com/assets/Dx7BS8UH0KXTIesGLlSXLV0LHLE.jpg\",\"w\":805,\"h\":1200,\"what\":\"poster (Gav supplied)\",\"fill\":true},\"THE FOOD DIARIES\":{\"src\":\"https://framerusercontent.com/assets/uLj8TUf3fBKxZOr4UdEzstzowY.jpg\",\"w\":719,\"h\":540,\"what\":\"thumbnail (Gav's pick)\",\"fill\":false},\"PETER CHIN: THE BLOOD REMEMBERS\":{\"src\":\"https://framerusercontent.com/assets/WRtSaa2mNAPtTO6DWTgcdZXQM.jpg\",\"w\":805,\"h\":1200,\"what\":\"poster (Gav supplied)\",\"fill\":true},\"WHATEVER, LINDA\":{\"src\":\"https://framerusercontent.com/assets/S20MAmZPelWpAvfDmmLnCxaus.jpg\",\"w\":805,\"h\":1200,\"what\":\"poster (Gav supplied)\",\"fill\":true},\"THE RON JAMES SHOW\":{\"src\":\"https://framerusercontent.com/assets/62p9B9SS9qMfxmH71KEPDaINS8.jpg\",\"w\":818,\"h\":1200,\"what\":\"IMDb poster (Gav's link)\",\"fill\":true},\"FLIP, FLOP AND FLY\":{\"src\":\"https://framerusercontent.com/assets/I5dHXMpZD2TqyZVZA5AVfzvesU.jpg\",\"w\":806,\"h\":1200,\"what\":\"IMDb poster (Gav's link)\",\"fill\":true},\"THE CONSPIRACY SHOW\":{\"src\":\"https://framerusercontent.com/assets/gbhnLDl9VqbWiRwjSCb4OuHsvBQ.jpg\",\"w\":805,\"h\":1200,\"what\":\"poster (Gav supplied)\",\"fill\":true}}}};var params=new URLSearchParams(PORT?\"\":location.search);var axis=params.get(\"axis\")===\"y\"?\"y\":\"x\";var rest=params.get(\"rest\")===\"1\";var reduce=window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;var c2=axis===\"x\"&&params.get(\"c2\")!==\"0\";var c3=c2&&params.get(\"c3\")!==\"0\";var art=params.get(\"art\")!==\"0\";var IMGC=art&&IMG&&IMG.colour?IMG.colour:{};var logosOn=params.get(\"logos\")!==\"0\";var LOGOS=logosOn&&IMG&&IMG.logos?IMG.logos:{};var EMARK=IMG&&IMG.employerMarks?IMG.employerMarks:{};var POSTERS=logosOn&&art&&IMG&&IMG.posters?IMG.posters.credits:null;MFA_ROOT.setAttribute(\"data-axis\",axis);MFA_ROOT.setAttribute(\"data-mfca-c2\",c2?\"1\":\"0\");MFA_ROOT.setAttribute(\"data-mfca-c3\",c3?\"1\":\"0\");var clang=c3&&params.get(\"clang\")!==\"0\";MFA_ROOT.setAttribute(\"data-mfca-clang\",clang?\"1\":\"0\");var side=clang&&params.get(\"cside\")!==\"0\"&&!(PORT&&PORT.side===false);MFA_ROOT.setAttribute(\"data-mfca-cside\",side?\"1\":\"0\");var plogo=params.get(\"plogo\")!==\"0\";MFA_ROOT.setAttribute(\"data-mfca-plogo\",plogo?\"1\":\"0\");var tfeat=params.get(\"tfeat\")!==\"0\";MFA_ROOT.setAttribute(\"data-mfca-tfeat\",tfeat?\"1\":\"0\");var pledger=params.get(\"pledger\")!==\"0\";var tind=/* @__PURE__ */function(v){return v===\"1\"?1:v===\"2\"?2:3;}(new URLSearchParams(location.search).get(\"tind\"));MFA_ROOT.setAttribute(\"data-mfca-pledger\",pledger?\"1\":\"0\");MFA_ROOT.setAttribute(\"data-mfca-qem\",new URLSearchParams(location.search).get(\"qem\")||\"crimson\");MFA_ROOT.setAttribute(\"data-mfca-art\",art?\"1\":\"0\");MFA_ROOT.setAttribute(\"data-mfca-logos\",logosOn?\"1\":\"0\");MFA_ROOT.setAttribute(\"data-stop\",\"about\");if(rest)MFA_ROOT.setAttribute(\"data-rest\",\"1\");if(reduce)MFA_ROOT.setAttribute(\"data-reduce\",\"1\");var CPAGE_EASE=\"cubic-bezier(.4,0,.2,1)\";var LAND_EASE=\"cubic-bezier(.16,1,.3,1)\";if(clang)LAND_EASE=\"cubic-bezier(.25,1,.5,1)\";var LIFT_EASE=\"cubic-bezier(.2,.7,.2,1)\";var BUILD_IN=1300;var BUILD_OUT=480;var STAGGER=90;if(clang)STAGGER=180;var FADE=520;var INDEX_MS=900;var TURN_MS=1200;var DRIFT=6;var HEADSHOT_LAND=1400;var OPEN_REST_AT=params.get(\"cbuild\")===\"old\"?BUILD_IN:Math.round(BUILD_IN*.55);var IN_DELAY=180;var SWIPE_PX=60;var SWIPE_MAX_MS=700;var ASSIST_COOLDOWN_MS=220;var ABOUT_LATCH_TTL_MS=1500;var WHEEL_PX=24;var CUT_MS=360;var panel=MFA_byId(\"panel\");var FACE=PORT&&PORT.headshot||\"\";if(PORT)MFA_ROOT.setAttribute(\"data-mfca-port\",\"1\");var turnState={page:0,turning:false,pages:[],mk:null,idx:null,ids:[]};var rafs=[];var stop=\"about\";var cutting=false;var coolDir=0;var coolUntil=0;var gestDir=0;var gestOn=false;var gestTimer=0;var ptr=null;var edgeLatchAt=0;var lastWheelAt=0;var latchDir=0;function keep(x){return x&&(x.sig===\"both\"||x.sig===\"colour\");}function pad(n){return(n<10?\"0\":\"\")+n;}function esc(s){return String(s).replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/\"/g,\"&quot;\");}function clean(s){return String(s).replace(/\\u2014/g,\"–\");}function ledeEm(h){if(/[?&]ledeem=0(&|$)/.test(location.search))return h;(R.positioningEm||[]).forEach(function(w){var e=esc(clean(w));if(h.split(e).length!==2)throw new Error(\"positioningEm not in the positioning once: \"+w);h=h.replace(e,function(){return'<em class=\"l-em\">'+e+\"</em>\";});});return h;}var QEM=new URLSearchParams(location.search).get(\"qem\")||\"\";function quoteHtml(r){var h=esc(clean(r.quote||\"\"));if(QEM===\"0\")return h;[[\"em\",\"q-em\"]].forEach(function(t){(r[t[0]]||[]).forEach(function(w){var e=esc(clean(w));if(h.split(e).length!==2)throw new Error(t[0]+\" not in the quote once: \"+w);h=h.replace(e,function(){return'<em class=\"'+t[1]+'\">'+e+\"</em>\";});});});return h;}function titleCase(s){return String(s).toLowerCase().replace(/(^|[^a-z0-9'])([a-z])/g,function(_,a,b){return a+b.toUpperCase();});}function mixedHead(s){return s.charAt(0)+s.slice(1).toLowerCase();}function range(r){if(!r)return\"\";if(r.from===r.to)return String(r.from);var a=r.from===\"now\"?\"NOW\":String(r.from);var b=r.to===\"now\"?\"NOW\":String(r.to);return a+\" – \"+b;}function words(s){return String(s).trim().split(/\\s+/).filter(Boolean).length;}function sectionById(id){return R.sections.filter(function(s){return s.id===id;})[0];}function pageMeta(){return[{id:\"pitch\",label:\"OPENING\"},{id:\"filmography\",label:\"FILMOGRAPHY\"},{id:\"recognition\",label:\"RECOGNITION\"},{id:\"tools\",label:\"TOOLS & TRAINING\"}];}function pageIds(){return pageMeta().map(function(p){return p.id;});}function recProof(){var rec=R.recognition.filter(keep)[0];return rec.name+\" \\xb7 \"+rec.line;}function discLine(){var acc=R.disciplines.filter(function(d){return d.signal===\"colour\";});var dim=R.disciplines.filter(function(d){return d.signal!==\"colour\";});var bits=acc.map(function(d){return\"<b>\"+esc(d.label)+\"</b>\";}).concat(dim.map(function(d){return\"<span>\"+esc(d.label)+\"</span>\";}));return bits.join(\"<span>\\xb7</span>\");}function identityHtml(){return'<div class=\"identity\"><div class=\"disc\" data-mfca=\"about-disc\"><img src=\"'+esc(FACE)+'\" alt=\"'+esc(R.name)+'\"></div><div class=\"who\"><h1 class=\"will-build\">'+esc(R.name)+'</h1><div class=\"disc-line lab will-fade\">'+discLine()+'</div><div class=\"loc lab will-fade\">'+esc(R.location)+\"</div></div></div>\";}function pitchHtml(){var n=words(R.positioning);var notch=n>100?\"2\":n>70?\"1\":\"\";return'<div data-mfca=\"opening\"><h2 class=\"headline will-build\">'+esc(R.headline)+'</h2><p class=\"pitch-body will-fade\"'+(notch?' data-notch=\"'+notch+'\"':\"\")+\">\"+esc(clean(R.positioning))+'</p><div class=\"proofs\"><div class=\"will-fade\"><button type=\"button\" data-mfca-proof data-to=\"recognition\">'+esc(recProof())+\"</button></div></div></div>\";}function profileHtml(){var bioSec=sectionById(\"bio\");var sub=bioSec&&bioSec.sub?bioSec.sub:\"THE SHORT VERSION\";var h='<div data-mfca=\"profile\"><div class=\"sec-kicker lab\"><span>PROFILE</span></div><div class=\"rule\"></div><div class=\"sub lab will-fade\">'+esc(sub)+'</div><div class=\"two\">';[[0,1],[2,3]].forEach(function(pair){h+='<div class=\"col\">';pair.forEach(function(i){h+='<p class=\"copy will-fade\">'+clean(R.bio[i])+\"</p>\";});h+=\"</div>\";});return h+\"</div></div>\";}function kicker(num,title){return'<div class=\"sec-head\"><div class=\"sec-kicker lab\"><i>'+pad(num)+\"</i><span>\"+esc(title)+'</span></div><div class=\"rule\"></div><h2 class=\"sec-title will-build\">'+esc(mixedHead(title))+\"</h2></div>\";}function creditBlock(c,lead){var caps=[];if(c.director)caps.push(c.director);if(c.format)caps.push(c.format);if(c.production)caps.push(String(c.production).toUpperCase());caps.push(range(c.year));var h='<div class=\"credit'+(lead?\" credit-lead\":\"\")+' will-fade\"><div class=\"t\">'+esc(titleCase(c.title))+'</div><div class=\"caps lab\">'+esc(caps.join(\" \\xb7 \"))+'</div><div class=\"role\">'+esc(c.role)+(c.roleDetail?\" \\xb7 \"+esc(c.roleDetail):\"\")+\"</div>\";if(c.screenings)c.screenings.forEach(function(s){h+='<div class=\"sc\">'+esc(s)+\"</div>\";});return h+\"</div>\";}function htmlFilm(){var list=R.credits.filter(keep);var lead=null;var rest2=[];list.forEach(function(c){if(c.lead&&!lead)lead=c;else rest2.push(c);});if(!lead&&list.length){lead=list[0];rest2=list.slice(1);}var filmSec=sectionById(\"filmography\");var filmSub=filmSec&&filmSec.sub?filmSec.sub:\"\";var h=(filmSub?'<div class=\"sub lab will-fade\">'+esc(filmSub)+\"</div>\":\"\")+'<div class=\"film-grid\">';if(lead)h+=creditBlock(lead,true);h+='<div class=\"film-rest\">';rest2.forEach(function(c){h+=creditBlock(c,false);});h+=\"</div></div>\";return h;}function htmlRec(){var a=R.recognition.filter(keep)[0];var refs=(REFS.references||[]).filter(keep).slice(0,2);var h='<div class=\"rec-grid\">';h+='<div class=\"pull\"><h3 class=\"will-build\">'+esc(a.name)+'</h3><div class=\"line lab will-fade\">'+esc(a.line)+'</div><p class=\"blurb will-fade\">'+esc(a.blurb)+\"</p></div>\";h+='<div class=\"refs\">';refs.forEach(function(r){var who=esc(r.name);var role=[r.title,r.org].filter(Boolean).map(esc).join(\" \\xb7 \");h+='<div class=\"ref will-fade\"><p class=\"quote\">'+esc(clean(r.quote))+'</p><div class=\"attr lab\"><b>'+who+\"</b>\"+(role?\" \\xb7 \"+role:\"\")+\"</div></div>\";});h+=\"</div></div>\";return h;}function htmlCaps(){var h='<div class=\"caps-stack\">';R.capabilities.filter(keep).forEach(function(g){h+='<div class=\"grp will-fade\"><h3 class=\"lab\">'+esc(g.name)+\"</h3><ul>\";g.items.forEach(function(it){h+=\"<li>\"+esc(it.line)+(it.note?\" <i>\\xb7 \"+esc(it.note)+\"</i>\":\"\")+\"</li>\";});h+=\"</ul></div>\";});return h+\"</div>\";}function htmlTrain(){var h='<div class=\"rows\">';R.training.filter(keep).forEach(function(t){h+='<div class=\"r will-fade\">'+(logosOn?slotC(LOGOS.training&&LOGOS.training[t.institution]):\"\")+'<div><div class=\"n\">'+esc(t.institution)+(t.person?' <span class=\"lab\" style=\"color:var(--dim2)\">\\xb7 '+esc(t.person)+\"</span>\":\"\")+'</div><div class=\"s\">'+esc(t.award)+'</div></div><div class=\"y lab\">'+range(t.years)+\"</div></div>\";});return h+\"</div>\";}function htmlMem(){var h='<div class=\"rows\">';R.memberships.filter(keep).forEach(function(m){h+='<div class=\"r mem will-fade\"><div><div class=\"n\">'+esc(m.name)+'</div><div class=\"s\">'+esc(m.line)+\"</div></div><div></div></div>\";});return h+\"</div>\";}function htmlTools(){return'<div class=\"tools-grid\"><div>'+htmlCaps()+\"</div><div>\"+htmlTrain()+'<div class=\"mem-block\"><div class=\"sub lab will-fade\">MEMBERSHIPS</div>'+htmlMem()+\"</div></div></div>\";}function imgC(map,key){return map&&key&&map[key]?map[key]:null;}function creditByTitle(title){var t=String(title||\"\").toUpperCase();return R.credits.filter(function(c){return String(c.title).toUpperCase()===t;})[0];}function artC(src,alt,cls){return src?'<img class=\"'+cls+'\" src=\"'+esc(src)+'\" alt=\"'+esc(alt)+'\">':\"\";}function slotC(lg){return'<span class=\"logo-slot\" aria-hidden=\"true\">'+(lg?'<span class=\"logo-mark\" style=\"--mark:url(&quot;'+esc(lg.src)+'&quot;)\"></span>':\"\")+\"</span>\";}function posterOf(c){return imgC(POSTERS,c.title)||imgC(IMGC.posters,c.title);}function locLines(){return String(R.location).split(\"/\").map(function(s){return esc(s.trim());}).join(\"<br>\");}function openingC(){var h='<div class=\"oc-band\"><div class=\"oc-idcol\"><div class=\"oc-id\"><div class=\"disc\" data-mfca=\"about-disc\"><img src=\"'+esc(FACE)+'\" alt=\"'+esc(R.name)+'\"></div><div class=\"oc-who\"><div class=\"oc-name will-fade\">'+esc(R.name)+'</div><div class=\"lab oc-lab oc-disc-line will-fade\">'+discLine()+'</div><div class=\"lab oc-lab will-fade\">'+locLines()+'</div></div></div><button type=\"button\" class=\"lab oc-link will-fade\" data-mfca-proof data-to=\"recognition\">'+esc(recProof())+'</button></div><div class=\"oc-lede\" data-mfca=\"opening\"><h2 class=\"headline will-build\">'+esc(R.headline)+'</h2><p class=\"oc-pitch will-fade\">'+esc(clean(R.positioning))+\"</p></div></div>\";var bioSec=sectionById(\"bio\");var title=bioSec&&bioSec.title?bioSec.title:\"PROFILE\";var sub=bioSec&&bioSec.sub?bioSec.sub:\"THE SHORT VERSION\";h+='<div class=\"oc-strip\" data-mfca=\"profile\"><div class=\"oc-head will-fade\"><span class=\"lab c2-ink\">'+esc(title)+'</span><span class=\"oc-hr\"></span><span class=\"lab\">'+esc(sub)+'</span></div><div class=\"oc-bio will-fade\">';R.bio.forEach(function(p){h+=\"<p>\"+clean(p)+\"</p>\";});return h+\"</div></div>\";}function filmRowEst(c){var title=titleCase(c.title);var roles=String(c.role)+(c.roleDetail?\" \\xb7 \"+c.roleDetail:\"\");var h=24+28*(title.length>26?2:1)+4+16+4+16*(roles.length>42?2:1);if(c.screenings&&c.screenings[0])h+=6+21*Math.ceil(String(c.screenings[0]).length/48);return h;}function filmSplit(list){var hs=list.map(filmRowEst);var total=0;hs.forEach(function(x){total+=x;});var leftH=0,mid=0;for(var i=0;i<hs.length;i++){var remainIncl=total-leftH;if(mid>0&&leftH+hs[i]>remainIncl)break;leftH+=hs[i];mid=i+1;}if(mid>=list.length&&list.length>1)mid=list.length-1;return mid;}function filmRowC(c,i){var poster=posterOf(c);var caps=[];if(c.director)caps.push(c.director);if(c.production)caps.push(String(c.production).toUpperCase());if(c.format)caps.push(c.format);var title=titleCase(c.title);var h='<div class=\"fc-row will-fade\" data-mfca-film=\"'+i+'\" data-mfca-sel=\"'+(i===0?\"1\":\"0\")+'\" tabindex=\"0\">'+(logosOn&&!poster?'<div class=\"fc-th fc-th-none\"></div>':'<div class=\"fc-th\">'+esc(String(c.year.from).slice(2))+artC(poster&&poster.src,title+\", poster\",poster&&poster.fill?\"fc-art fc-fill\":\"fc-art\")+\"</div>\")+'<div class=\"lab fc-n\">'+pad(i+1)+'</div><div class=\"fc-body\"><div class=\"fc-tt\">'+esc(title)+'</div><div class=\"lab fc-line\">'+esc(clean(caps.join(\" \\xb7 \")))+'</div><div class=\"lab fc-roles\">'+esc(c.role)+(c.roleDetail?\" \\xb7 \"+esc(c.roleDetail):\"\")+\"</div>\";if(c.screenings)c.screenings.forEach(function(s){h+='<div class=\"fc-note\">'+esc(clean(s))+\"</div>\";});h+='</div><div class=\"lab fc-yr\">'+esc(range(c.year))+\"</div></div>\";return h;}function filmCardC(c,i){var poster=posterOf(c);var title=titleCase(c.title);if(logosOn&&!poster)return'<div class=\"fc-card fc-card-none\" data-mfca-poster=\"'+i+'\" data-on=\"'+(i===0?\"1\":\"0\")+'\"></div>';var dir=c.director?c.director:String(c.production||\"\").toUpperCase();return'<div class=\"fc-card\" data-mfca-poster=\"'+i+'\" data-on=\"'+(i===0?\"1\":\"0\")+'\"><div class=\"fc-top\"><span class=\"lab\">'+esc(clean(c.format||\"\"))+'</span><span class=\"lab\">'+esc(range(c.year))+'</span></div><div><div class=\"fc-ct\">'+esc(title)+'</div><div class=\"lab fc-cd\">'+esc(clean(dir))+\"</div></div>\"+artC(poster&&poster.src,title+\", poster\",\"fc-art\")+\"</div>\";}function htmlFilmC(){var list=R.credits.filter(keep);var filmSec=sectionById(\"filmography\");var filmSub=filmSec&&filmSec.sub?filmSec.sub:\"\";var mid=filmSplit(list);var h=(filmSub?'<div class=\"sub lab will-fade\">'+esc(filmSub)+\"</div>\":\"\")+'<div class=\"fc-cols\"><div class=\"fc-list\">';list.slice(0,mid).forEach(function(c,i){h+=filmRowC(c,i);});h+='</div><div class=\"fc-list\">';list.slice(mid).forEach(function(c,i){h+=filmRowC(c,mid+i);});h+='</div><div class=\"fc-well will-fade\" data-mfca=\"film-well\">';list.forEach(function(c,i){h+=filmCardC(c,i);});return h+\"</div></div>\";}function setFilm(page,i){Array.prototype.forEach.call(page.querySelectorAll(\".fc-row\"),function(el){el.setAttribute(\"data-mfca-sel\",el.getAttribute(\"data-mfca-film\")===String(i)?\"1\":\"0\");});Array.prototype.forEach.call(page.querySelectorAll(\".fc-card\"),function(el){el.setAttribute(\"data-on\",el.getAttribute(\"data-mfca-poster\")===String(i)?\"1\":\"0\");});}function bindFilm(root){Array.prototype.forEach.call(root.querySelectorAll(\".fc-row\"),function(el){var page=el.closest(\".page\");var i=parseInt(el.getAttribute(\"data-mfca-film\"),10);if(!page)return;el.addEventListener(\"pointerenter\",function(){setFilm(page,i);});el.addEventListener(\"focus\",function(){setFilm(page,i);});});}function resetFilm(){turnState.pages.forEach(function(p){if(p.querySelector(\".fc-row\"))setFilm(p,0);});}function htmlRecC(){var a=R.recognition.filter(keep)[0];var refs=(REFS.references||[]).filter(keep).slice(0,2);var frame=imgC(IMGC.award,a.name);var h='<div class=\"ra-cols\"><div class=\"ra-left\"><div class=\"ra-award\" data-mfca=\"award\"><h3 class=\"ra-an will-build\">'+esc(a.name)+'</h3><div class=\"lab ra-as will-fade\">'+esc(a.line)+'</div><p class=\"ra-ab will-fade\">'+esc(clean(a.blurb))+\"</p></div>\";if(frame&&frame.after){var credit=creditByTitle(frame.credit);var ctitle=titleCase(credit?credit.title:frame.credit||\"\");var ratio=frame.w>0&&frame.h>0?frame.w+\" / \"+frame.h:\"16 / 9\";h+='<div class=\"ra-cmpwrap will-fade\" data-mfca=\"award-frame\" tabindex=\"0\"><div class=\"ra-frame\" style=\"aspect-ratio:'+ratio+'\">'+artC(frame.after,ctitle+\", graded frame\",\"ra-after\")+artC(frame.before,ctitle+\", ungraded frame\",\"ra-before\")+'</div><div class=\"lab ra-cap\">'+esc(ctitle)+' \\xb7 <span class=\"g\">GRADED FRAME</span><span class=\"u\">UNGRADED FRAME</span></div></div>';}h+='</div><div class=\"ra-refs\">';refs.forEach(function(r,i){var portrait=imgC(IMGC.references,r.name);var role=[r.title,r.org].filter(Boolean).map(esc).join(\" \\xb7 \");h+='<div class=\"ra-ref will-fade\"><div class=\"ra-plate\" aria-hidden=\"true\">'+pad(i+1)+artC(portrait&&portrait.src,\"\",\"\")+'</div><div><p class=\"ra-q\">“'+esc(clean(r.quote))+'”</p><div class=\"ra-who\"><div class=\"lab c2-ink\">'+esc(r.name)+\"</div>\"+(role?'<div class=\"lab\">'+role+\"</div>\":\"\")+\"</div></div></div>\";});return h+\"</div></div>\";}var BODY=c2?{filmography:htmlFilmC,recognition:htmlRecC,tools:htmlTools}:{filmography:htmlFilm,recognition:htmlRec,tools:htmlTools};function killAnims(){if(panel.getAnimations)panel.getAnimations({subtree:true}).forEach(function(a){try{a.cancel();}catch(e){}});rafs.forEach(function(id){cancelAnimationFrame(id);});rafs=[];}function headsOf(page){return page.querySelectorAll(\"h1, .headline, .sec-title, .pull h3, .ra-award h3\");}function focusBuildIn(els,delay){els=Array.prototype.slice.call(els);if(rest||reduce){els.forEach(function(el){Array.prototype.forEach.call(el.getAnimations?el.getAnimations():[],function(a){try{a.cancel();}catch(e){}});el.style.opacity=\"1\";el.style.filter=\"none\";el.style.transform=\"none\";});return;}els.forEach(function(el,k){Array.prototype.forEach.call(el.getAnimations?el.getAnimations():[],function(a2){try{a2.cancel();}catch(e){}});el.style.transformOrigin=el.getAttribute(\"data-mfca-origin\")||\"0% 50%\";var a=el.animate([{opacity:0,filter:\"blur(22px)\",transform:\"scale(1.18)\",offset:0},{opacity:1,offset:.55},{opacity:1,filter:\"blur(0px)\",transform:\"scale(1)\",offset:1}],{duration:BUILD_IN,delay:(delay||0)+k*STAGGER,easing:LAND_EASE,fill:\"both\"});a.addEventListener(\"finish\",function(){try{a.cancel();}catch(e){}el.style.filter=\"none\";el.style.opacity=\"1\";el.style.transform=\"none\";});});}function focusBuildOut(els){els=Array.prototype.slice.call(els);if(rest||reduce)return;els.forEach(function(el,k){el.style.transformOrigin=el.getAttribute(\"data-mfca-origin\")||\"0% 50%\";el.animate([{opacity:1,filter:\"blur(0px)\",transform:\"scale(1)\"},{opacity:0,filter:\"blur(15px)\",transform:\"scale(1.09)\"}],{duration:BUILD_OUT,delay:k*40,easing:\"cubic-bezier(.4,0,1,1)\",fill:\"forwards\"});});}function fadeDrift(els,delay,dir){els=Array.prototype.slice.call(els);if(rest||reduce){els.forEach(function(el){el.style.opacity=\"1\";el.style.transform=\"none\";});return;}var dx=axis===\"x\"?22*(dir==null?1:dir):0;var dy=axis===\"y\"?22:0;els.forEach(function(el,k){var a=el.animate([{opacity:0,transform:\"translate(\"+dx+\"px,\"+dy+\"px)\"},{opacity:1,transform:\"translate(0px,0px)\"}],{duration:FADE,delay:(delay||0)+k*70,easing:LIFT_EASE,fill:\"both\"});a.addEventListener(\"finish\",function(){try{a.cancel();}catch(e){}el.style.opacity=\"1\";el.style.transform=\"none\";});});}function landDisc(img){if(!img)return;Array.prototype.forEach.call(img.getAnimations?img.getAnimations():[],function(a2){try{a2.cancel();}catch(e){}});if(rest||reduce){img.style.opacity=\"1\";return;}var a=img.animate([{opacity:0},{opacity:1}],{duration:HEADSHOT_LAND,easing:LAND_EASE,fill:\"both\"});a.addEventListener(\"finish\",function(){try{a.cancel();}catch(e){}img.style.opacity=\"1\";});}function fadeDisc(img){if(!img||rest||reduce)return;img.animate([{opacity:1},{opacity:0}],{duration:BUILD_OUT,easing:\"cubic-bezier(.4,0,1,1)\",fill:\"forwards\"});}function clearLatch(){edgeLatchAt=0;latchDir=0;panel.setAttribute(\"data-mfca-latch\",\"0\");}function armLatch(dir){edgeLatchAt=performance.now();latchDir=dir;panel.setAttribute(\"data-mfca-latch\",\"1\");}function latchArmed(){if(panel.getAttribute(\"data-mfca-latch\")!==\"1\")return false;if(performance.now()-lastWheelAt>=ABOUT_LATCH_TTL_MS){clearLatch();return false;}return true;}function retriggerHair(el){if(!el)return;el.removeAttribute(\"data-mfca-cur\");void el.offsetWidth;el.setAttribute(\"data-mfca-cur\",\"1\");}function setNav(which){var about=MFA_byId(\"navAbout\");var contact=MFA_byId(\"navContact\");var work=MFA_byId(\"navWork\");if(work)work.removeAttribute(\"data-mfca-cur\");if(which===\"contact\"){if(about)about.removeAttribute(\"data-mfca-cur\");retriggerHair(contact);}else{if(contact)contact.removeAttribute(\"data-mfca-cur\");retriggerHair(about);}}function currentId(){return turnState.ids[turnState.page]||\"pitch\";}function stampPage(){panel.setAttribute(\"data-mfca-current-page\",currentId());var wrap=panel.querySelector(\".turn\");if(wrap){wrap.setAttribute(\"data-page\",String(turnState.page));wrap.setAttribute(\"data-last\",turnState.page===turnState.pages.length-1?\"1\":\"0\");}}function moveMarker(i){var mk=turnState.mk;var btns=turnState.idx?turnState.idx.querySelectorAll(\"button\"):[];var b=btns[i];if(!mk||!b)return;if(axis===\"x\"){mk.style.left=b.offsetLeft+\"px\";mk.style.width=b.offsetWidth+\"px\";}else{mk.style.top=b.offsetTop+\"px\";mk.style.height=b.offsetHeight+\"px\";}Array.prototype.forEach.call(btns,function(x,n){if(n===i)x.setAttribute(\"aria-current\",\"true\");else x.removeAttribute(\"aria-current\");});}function updatePeek(){var peek=panel.querySelector('[data-mfca=\"peek\"]');if(!peek)return;var next=turnState.page+1;var meta=pageMeta();if(next>=turnState.pages.length){peek.style.visibility=\"hidden\";return;}peek.style.visibility=\"visible\";var numEl=peek.querySelector(\".peek-num\");var titleEl=peek.querySelector(\".peek-title\");var title=meta[next]?meta[next].label:\"\";if(numEl)numEl.textContent=pad(next+1);if(titleEl)titleEl.textContent=title;}function updateChevrons(){var l=panel.querySelector(\".chev-l\");var r=panel.querySelector(\".chev-r\");if(l)l.hidden=turnState.page<=0;if(r)r.hidden=turnState.page>=turnState.pages.length-1;}function setPage(i,vis){turnState.pages.forEach(function(p,n){var on=n===i;p.classList.toggle(\"on\",on);p.style.visibility=on||vis===n?\"visible\":\"hidden\";p.style.pointerEvents=on?\"auto\":\"none\";p.style.zIndex=on?\"2\":vis===n?\"1\":\"0\";if(!on&&vis!==n){p.style.opacity=\"1\";p.style.transform=\"none\";}});}function resetTurn(){turnState.turning=false;turnState.page=0;clearLatch();resetFilm();setPage(0);moveMarker(0);stampPage();updatePeek();updateChevrons();turnState.pages.forEach(function(p){p.style.opacity=\"1\";p.style.transform=\"none\";p.style.filter=\"none\";Array.prototype.forEach.call(p.getAnimations?p.getAnimations({subtree:true}):[],function(a){try{a.cancel();}catch(e){}});Array.prototype.forEach.call(headsOf(p),function(el){el.style.opacity=\"1\";el.style.filter=\"none\";el.style.transform=\"none\";});var discImg=p.querySelector(\".disc img\");if(discImg)discImg.style.opacity=\"1\";});}function goPage(to){var from=turnState.page;if(to===from||to<0||to>=turnState.pages.length||turnState.turning)return;if(stop!==\"about\"||cutting)return;turn(to,to>from?1:-1);}function turn(to,dir){if(turnState.turning)return;var from=turnState.page;if(to<0||to>=turnState.pages.length||to===from)return;clearLatch();turnState.turning=true;turnState.page=to;stampPage();var out=turnState.pages[from];var inn=turnState.pages[to];inn.style.visibility=\"visible\";inn.style.pointerEvents=\"none\";inn.style.zIndex=\"2\";out.style.zIndex=\"1\";out.style.pointerEvents=\"none\";moveMarker(to);updatePeek();updateChevrons();if(reduce||rest){setPage(to);turnState.turning=false;focusBuildIn(headsOf(inn),0);fadeDrift(inn.querySelectorAll(\".will-fade\"),0,dir);if(to===0)landDisc(inn.querySelector(\".disc img\"));return;}var drift=DRIFT*dir;var D=TURN_MS;var axisProp=axis===\"x\"?\"X\":\"Y\";out.animate([{opacity:1,transform:\"translateZ(0) translate\"+axisProp+\"(0%) scale(1)\"},{opacity:1,offset:.4},{opacity:0,transform:\"translateZ(0) translate\"+axisProp+\"(\"+-drift+\"%) scale(1.035)\"}],{duration:D*.85,easing:CPAGE_EASE,fill:\"forwards\"});var aIn=inn.animate([{opacity:0,transform:\"translateZ(0) translate\"+axisProp+\"(\"+drift+\"%) scale(1.045)\"},{opacity:1,offset:.45},{opacity:1,transform:\"translateZ(0) translate\"+axisProp+\"(0%) scale(1)\"}],{duration:D,delay:IN_DELAY,easing:CPAGE_EASE,fill:\"both\"});focusBuildOut(headsOf(out));if(from===0)fadeDisc(out.querySelector(\".disc img\"));requestAnimationFrame(function(){focusBuildIn(headsOf(inn),D*.35-16);});fadeDrift(inn.querySelectorAll(\".will-fade\"),D*.45,dir);if(to===0)landDisc(inn.querySelector(\".disc img\"));aIn.addEventListener(\"finish\",function(){out.style.opacity=\"0\";out.style.visibility=\"hidden\";out.style.pointerEvents=\"none\";inn.style.opacity=\"1\";inn.style.pointerEvents=\"auto\";inn.classList.add(\"on\");out.classList.remove(\"on\");turnState.turning=false;Array.prototype.forEach.call(out.getAnimations?out.getAnimations():[],function(a){try{a.cancel();}catch(e){}});Array.prototype.forEach.call(inn.getAnimations?inn.getAnimations():[],function(a){try{a.cancel();}catch(e){}});});}function cancelPageAnims(){turnState.turning=false;turnState.pages.forEach(function(p){Array.prototype.forEach.call(p.getAnimations?p.getAnimations():[],function(a){try{a.cancel();}catch(e){}});});}function applyStop(next){stop=next;MFA_ROOT.setAttribute(\"data-stop\",next);panel.setAttribute(\"data-mfca-stop\",next);var cs=panel.querySelector(\".contact-stop\");var tr=panel.querySelector(\".turn\");if(cs){cs.classList.toggle(\"is-on\",next===\"contact\");cs.setAttribute(\"aria-hidden\",next===\"contact\"?\"false\":\"true\");cs.style.opacity=next===\"contact\"?\"1\":\"0\";cs.style.filter=\"none\";cs.style.visibility=next===\"contact\"?\"visible\":\"hidden\";cs.style.pointerEvents=next===\"contact\"?\"auto\":\"none\";}if(tr){tr.style.opacity=next===\"about\"?\"1\":\"0\";tr.style.filter=\"none\";tr.style.visibility=next===\"about\"?\"visible\":\"hidden\";tr.style.pointerEvents=next===\"about\"?\"auto\":\"none\";}setNav(next);}function cutTo(next){if(next===stop||cutting)return;var leaving=stop;clearLatch();if(reduce||rest){cancelPageAnims();if(leaving===\"about\")resetTurn();applyStop(next);return;}cutting=true;cancelPageAnims();var aboutEl=panel.querySelector(\".turn\");var contactEl=panel.querySelector(\".contact-stop\");var outEl=leaving===\"about\"?aboutEl:contactEl;var inEl=next===\"about\"?aboutEl:contactEl;if(inEl){inEl.style.visibility=\"visible\";inEl.style.pointerEvents=\"none\";inEl.style.opacity=\"0\";}var resetAt=setTimeout(function(){if(leaving===\"about\")resetTurn();},Math.round(CUT_MS*.45));var outAnim=outEl?outEl.animate([{opacity:1,filter:\"blur(0px)\"},{opacity:0,filter:\"blur(10px)\"}],{duration:CUT_MS,easing:\"cubic-bezier(.4,0,.2,1)\",fill:\"forwards\"}):null;var inAnim=inEl?inEl.animate([{opacity:0,filter:\"blur(10px)\"},{opacity:1,filter:\"blur(0px)\"}],{duration:CUT_MS,delay:80,easing:\"cubic-bezier(.16,1,.3,1)\",fill:\"both\"}):null;function done(){window.clearTimeout(resetAt);if(leaving===\"about\")resetTurn();applyStop(next);cutting=false;if(outAnim)try{outAnim.cancel();}catch(e){}if(inAnim)try{inAnim.cancel();}catch(e){}}if(inAnim)inAnim.addEventListener(\"finish\",done);else done();}function tryLeave(dir,now){if(turnState.page===0){clearLatch();lastWheelAt=now;if(dir>0)cutTo(\"contact\");return;}if(latchArmed()){if(dir!==latchDir){clearLatch();lastWheelAt=now;return;}if(now-lastWheelAt<ASSIST_COOLDOWN_MS){lastWheelAt=now;return;}clearLatch();lastWheelAt=now;if(dir>0)cutTo(\"contact\");return;}armLatch(dir);lastWheelAt=now;}function onWheel(e){if(e.defaultPrevented)return;if(cutting)return;var dx=e.deltaX,dy=e.deltaY;if(stop===\"contact\"){if(dy<-WHEEL_PX&&Math.abs(dy)>1.5*Math.abs(dx))cutTo(\"about\");return;}if(side){sideWheel(e,false);return;}if(c3){var sc=panel.querySelector(\".one\");if(sc&&dy>WHEEL_PX&&Math.abs(dy)>1.5*Math.abs(dx)&&c3AtBottom(sc)){var now=performance.now();if(!c3BottomAt)c3BottomAt=now;else if(now-c3BottomAt>C3_BOTTOM_MS){e.preventDefault();c3BottomAt=0;cutTo(\"contact\");}}return;}if(axis===\"x\"){if(Math.abs(dx)>1.5*Math.abs(dy)&&Math.abs(dx)>WHEEL_PX){e.preventDefault();clearLatch();var dir=dx>0?1:-1;var now=performance.now();window.clearTimeout(gestTimer);gestTimer=setTimeout(function(){gestOn=false;gestDir=0;},120);if(gestOn&&gestDir===dir)return;if(coolDir===dir&&now<coolUntil)return;gestOn=true;gestDir=dir;coolDir=dir;coolUntil=now+ASSIST_COOLDOWN_MS;goPage(turnState.page+dir);return;}if(Math.abs(dy)>1.5*Math.abs(dx)&&Math.abs(dy)>WHEEL_PX){e.preventDefault();tryLeave(dy>0?1:-1,performance.now());return;}return;}e.preventDefault();if(turnState.turning)return;if(dy>WHEEL_PX)goPage(turnState.page+1);else if(dy<-WHEEL_PX)goPage(turnState.page-1);}function onKey(e){if(e.defaultPrevented)return;if(cutting)return;var k=e.key;if(stop===\"contact\"){if(k===\"Escape\"||k===\"Home\"){e.preventDefault();cutTo(\"about\");}return;}if(k===\"ArrowRight\"){e.preventDefault();goPage(turnState.page+1);}else if(k===\"ArrowLeft\"){e.preventDefault();goPage(turnState.page-1);}else if(k===\"Home\"||k===\"Escape\"){e.preventDefault();goPage(0);}}function ptrIgnore(t){return!!(t&&t.closest&&t.closest(\"button, a, .idx, .chev\"));}function onPtrDown(e){if(c3)return;if(stop!==\"about\"||cutting||ptrIgnore(e.target))return;if(e.pointerType===\"mouse\"&&e.button!==0)return;ptr={id:e.pointerId,x:e.clientX,y:e.clientY,t:performance.now()};try{panel.setPointerCapture(e.pointerId);}catch(err){}}function onPtrUp(e){if(!ptr||e.pointerId!==ptr.id)return;var dx=e.clientX-ptr.x;var dy=e.clientY-ptr.y;var dt=performance.now()-ptr.t;ptr=null;try{panel.releasePointerCapture(e.pointerId);}catch(err){}if(dt>SWIPE_MAX_MS*8)return;if(stop!==\"about\"||cutting)return;if(Math.abs(dx)>=SWIPE_PX&&Math.abs(dx)>Math.abs(dy)*1.5){clearLatch();goPage(turnState.page+(dx<0?1:-1));return;}if(axis===\"x\"&&Math.abs(dy)>=SWIPE_PX&&Math.abs(dy)>Math.abs(dx)*1.5){tryLeave(dy<0?1:-1,performance.now());}}function onPtrCancel(){ptr=null;}function bindProofs(root){Array.prototype.forEach.call(root.querySelectorAll(\"[data-mfca-proof]\"),function(b){b.addEventListener(\"click\",function(){var id=b.getAttribute(\"data-to\");var i=turnState.ids.indexOf(id);if(i>=0)goPage(i);});});}function measurePages(){if(c3)return;turnState.pages.forEach(function(p){var ovf=p.querySelector(\".ovf\");var padB=parseFloat(getComputedStyle(p).paddingBottom)||0;var edge=p.getBoundingClientRect().bottom-padB;var low=-Infinity;Array.prototype.forEach.call(p.querySelectorAll(\"*\"),function(el){if(el.classList&&el.classList.contains(\"ovf\"))return;var r=el.getBoundingClientRect();if(r.width===0&&r.height===0)return;low=Math.max(low,r.bottom);});var over=Math.round(low-edge);if(over>1){p.setAttribute(\"data-mfca-overflow\",String(over));if(ovf)ovf.setAttribute(\"data-msg\",\"OVERFLOW \"+over+\"PX\");}else{p.removeAttribute(\"data-mfca-overflow\");if(ovf)ovf.removeAttribute(\"data-msg\");}});}function contactHtml(){return`<div class=\"contact-stop\" aria-hidden=\"true\"><div class=\"contact-copy\"><div class=\"contact-kicker lab\">CONTACT</div><h2>Let's make<br>something <em>felt.</em></h2><a href=\"mailto:gav@mindfactory.ca\">gav@mindfactory.ca</a></div><div class=\"contact-foot\"><span class=\"lab\">MIND FACTORY</span><span class=\"lab\">PLACEHOLDER</span></div></div>`;}function chevSvg(dir){var d=dir===\"l\"?\"M14.5 3.5 L6.5 11.5 L14.5 19.5\":dir===\"down\"?\"M3.5 3.5 L7.5 7.5 L11.5 3.5\":\"M9.5 3.5 L17.5 11.5 L9.5 19.5\";var vb=dir===\"down\"?\"0 0 15 12\":\"0 0 24 24\";return'<svg viewBox=\"'+vb+'\" aria-hidden=\"true\"><path d=\"'+d+'\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"square\"/></svg>';}function endCueHtml(){return'<div class=\"end-cue\" data-mfca=\"end-cue\" aria-hidden=\"true\"><span class=\"end-cue-l\">END OF SECTION</span><span class=\"end-cue-r\">SCROLL AGAIN FOR CONTACT'+chevSvg(\"down\")+\"</span></div>\";}function c3Item(name,note){return'<div class=\"c3-it will-fade\"><b>'+esc(name)+\"</b>\"+(note?\"<span>\"+esc(note)+\"</span>\":\"\")+\"</div>\";}function c3Group(title,items){return'<div class=\"c3-grp\"><div class=\"c3-hd lab will-fade\">'+esc(title)+\"</div>\"+items+\"</div>\";}function c3Html(){var a=R.recognition.filter(keep)[0];var refs=(REFS.references||[]).filter(keep);var r1=refs[0],r2=refs[1];var frame=a?imgC(IMGC.award,a.name):null;var credit=frame?creditByTitle(frame.credit):null;var ctitle=credit?titleCase(credit.title):frame?titleCase(frame.credit||\"\"):\"\";var role=function(r){return[r.title,r.org].filter(Boolean).map(esc).join(\" \\xb7 \");};var h='<div class=\"one\" data-mfca=\"one\"><div class=\"c3-top\">';if(r1){h+='<figure class=\"c3-voice\"><blockquote class=\"will-build\" data-mfca-origin=\"50% 50%\">“'+quoteHtml(r1)+'”</blockquote><figcaption class=\"c3-who will-fade\"><b>'+esc(r1.name)+'</b><span class=\"lab\">'+role(r1)+(ctitle?\" \\xb7 ON \"+esc(ctitle.toUpperCase()):\"\")+'</span></figcaption></figure><div class=\"c3-hr will-fade\"></div>';}h+='<div class=\"c3-row\">';if(frame&&frame.after){h+='<figure class=\"c3-frame will-fade\"><div class=\"c3-pic\" tabindex=\"0\">'+artC(frame.after,ctitle+\", graded frame\",\"c3-after\")+artC(frame.before,ctitle+\", ungraded frame\",\"c3-before\")+'</div><figcaption class=\"c3-cap lab\"><span class=\"acc\">'+esc(a.name)+\" \\xb7 \"+esc(a.line)+\"</span><span>\"+esc(ctitle.toUpperCase())+' \\xb7 <span class=\"g\">GRADED</span><span class=\"u\">UNGRADED</span></span></figcaption></figure>';}else h+=\"<div></div>\";h+='<div class=\"c3-pitch\"><div class=\"c3-id\"><img src=\"'+esc(FACE)+'\" alt=\"'+esc(R.name)+'\"><h1 class=\"will-build\">'+esc(R.headline)+'</h1></div><p class=\"will-fade\">'+ledeEm(esc(clean(R.positioning)))+\"</p></div>\";h+='</div></div><div class=\"c3-more\">';if(r2){h+='<figure class=\"c3-second will-fade\"><blockquote>“'+quoteHtml(r2)+'”</blockquote><figcaption class=\"c3-who\"><b>'+esc(r2.name)+'</b><span class=\"lab\">'+role(r2)+\"</span></figcaption></figure>\";}var caps=R.capabilities.filter(keep);var grp=function(g){return c3Group(g.name,g.items.map(function(it){return c3Item(it.line,it.note);}).join(\"\"));};var train=R.training.filter(keep).map(function(t){return c3Item(t.institution+(t.person?\" \\xb7 \"+t.person:\"\"),t.award+\" \\xb7 \"+range(t.years));}).join(\"\");var mem=R.memberships.filter(keep).map(function(m){return c3Item(m.name,m.line);}).join(\"\");h+='<div class=\"c3-tools\"><div class=\"c3-col\">'+(caps[0]?grp(caps[0]):\"\")+'</div><div class=\"c3-col\">'+caps.slice(1).map(grp).join(\"\")+'</div><div class=\"c3-col\">'+c3Group(\"TRAINING\",train)+(mem?c3Group(\"MEMBERSHIPS\",mem):\"\")+'</div></div></div><div class=\"c3-end lab\">SCROLL AGAIN FOR CONTACT</div></div>';return h;}var C3_BOTTOM_MS=350,c3BottomAt=0;function c3AtBottom(sc){return sc.scrollTop+sc.clientHeight>=sc.scrollHeight-2;}function renderOne(){var html='<div class=\"turn one-wrap\" data-page=\"0\" data-last=\"1\">'+c3Html()+\"</div>\"+(PORT?\"\":contactHtml());panel.insertAdjacentHTML(\"beforeend\",html);turnState.pages=Array.prototype.slice.call(panel.querySelectorAll(\".one\"));turnState.ids=[\"pitch\"];turnState.page=0;clearLatch();var sc=panel.querySelector(\".one\");c3BottomAt=0;sc.addEventListener(\"scroll\",function(){c3BottomAt=c3AtBottom(sc)?c3BottomAt||performance.now():0;},{passive:true});setNav(\"about\");if(rest||reduce){Array.prototype.forEach.call(panel.querySelectorAll(\".will-build,.will-fade\"),function(el){el.style.opacity=\"1\";el.style.filter=\"none\";el.style.transform=\"none\";});}}function renderTurn(){var meta=pageMeta();var ids=pageIds();var html='<div class=\"turn\" data-page=\"0\" data-last=\"0\">';html+=endCueHtml();html+='<div class=\"idx\" data-mfca=\"index\" id=\"idx\"><div class=\"rail\"></div><div class=\"row\">';meta.forEach(function(p,i){html+='<button type=\"button\" data-i=\"'+i+'\"><i>'+pad(i+1)+\"</i>\"+esc(p.label)+\"</button>\";});html+='<div class=\"mk\" id=\"mk\"></div></div></div>';html+='<div class=\"pages\">';if(c2){html+='<div class=\"page on oc\" data-mfca-page=\"pitch\" data-i=\"0\">'+openingC()+'<span class=\"ovf\"></span></div>';}else{html+='<div class=\"page on\" data-mfca-page=\"pitch\" data-i=\"0\"><div class=\"pitch-left\">'+identityHtml()+pitchHtml()+\"</div>\"+profileHtml()+'<span class=\"ovf\"></span></div>';}meta.slice(1).forEach(function(p,i){var body=BODY[p.id]?BODY[p.id]():\"\";html+='<div class=\"page\" data-mfca-page=\"'+p.id+'\" data-mfca-section=\"'+p.id+'\" data-i=\"'+(i+1)+'\"><div class=\"sec\" data-mfca-section=\"'+p.id+'\">'+kicker(i+2,p.label)+'<div class=\"sec-body\">'+body+'</div></div><span class=\"ovf\"></span></div>';});html+=\"</div>\";var nextTitle=meta[1]?meta[1].label:\"\";html+='<div class=\"peek\" data-mfca=\"peek\"><div data-mfca=\"cut-row\" class=\"peek-fill\"></div><div class=\"peek-inner\"><i class=\"peek-num lab\">'+pad(2)+\"</i>\"+(axis===\"y\"?'<span class=\"peek-title\"> '+esc(nextTitle)+'</span><div class=\"rule\"></div><h2 class=\"sec-title\">'+esc(mixedHead(nextTitle))+\"</h2>\":\"\")+'<div class=\"peek-rule\"></div></div></div>';html+='<button type=\"button\" class=\"chev chev-l\" aria-label=\"Previous page\" hidden>'+chevSvg(\"l\")+\"</button>\";html+='<button type=\"button\" class=\"chev chev-r\" aria-label=\"Next page\">'+chevSvg(\"r\")+\"</button>\";html+=\"</div>\";html+=contactHtml();panel.insertAdjacentHTML(\"beforeend\",html);turnState.idx=panel.querySelector(\"#idx\");turnState.mk=panel.querySelector(\"#mk\");turnState.pages=Array.prototype.slice.call(panel.querySelectorAll(\".page\"));turnState.ids=ids;turnState.page=0;clearLatch();Array.prototype.forEach.call(turnState.idx.querySelectorAll(\"button\"),function(b){b.addEventListener(\"click\",function(){goPage(Number(b.getAttribute(\"data-i\")));});});var cl=panel.querySelector(\".chev-l\");var cr=panel.querySelector(\".chev-r\");if(cl)cl.addEventListener(\"click\",function(){goPage(turnState.page-1);});if(cr)cr.addEventListener(\"click\",function(){goPage(turnState.page+1);});bindProofs(panel);bindFilm(panel);requestAnimationFrame(function(){moveMarker(0);measurePages();});stampPage();updatePeek();updateChevrons();setNav(\"about\");if(rest||reduce){Array.prototype.forEach.call(panel.querySelectorAll(\".will-build,.will-fade\"),function(el){el.style.opacity=\"1\";el.style.filter=\"none\";el.style.transform=\"none\";});}}function playTurn(){if(side){playSide();return;}var open=turnState.pages[0];if(!open)return;if(c3&&clang){playLang(open);return;}if(c3){landDisc(open.querySelector(\".c3-id img\"));focusBuildIn(open.querySelectorAll(\".c3-voice blockquote, .c3-id h1\"),0);fadeDrift(open.querySelectorAll(\".will-fade\"),OPEN_REST_AT,1);return;}landDisc(open.querySelector(\".disc img\"));focusBuildIn(open.querySelectorAll(\"h1, .headline\"),0);fadeDrift(open.querySelectorAll(\".will-fade\"),OPEN_REST_AT,1);}var langIO=null,langT=[];function langClear(){if(langIO){langIO.disconnect();langIO=null;}langT.forEach(clearTimeout);langT=[];}function langAt(ms,fn){langT.push(setTimeout(fn,ms));}function playLang(open){langClear();var more=open.querySelector(\".c3-more\");var top=Array.prototype.filter.call(open.querySelectorAll(\".will-fade\"),function(el){return(!more||!more.contains(el))&&!el.classList.contains(\"c3-hr\");});Array.prototype.forEach.call(open.querySelectorAll(\".c3-hr\"),function(el){el.style.opacity=\"1\";});landDisc(open.querySelector(\".c3-id img\"));focusBuildIn(open.querySelectorAll(\".c3-voice blockquote\"),0);fadeDrift(top,OPEN_REST_AT,1);var hr=open.querySelector(\".c3-hr\"),fr=open.querySelector(\".c3-frame\");langAt(OPEN_REST_AT,function(){if(hr)hr.classList.add(\"on\");});langAt(OPEN_REST_AT+300,function(){if(fr)fr.classList.add(\"on\");});focusBuildIn(open.querySelectorAll(\".c3-id h1\"),OPEN_REST_AT+300+1350);if(!more)return;var units=Array.prototype.slice.call(more.querySelectorAll(\".c3-second, .c3-grp\"));var reveal=function(u){if(u.classList.contains(\"c3-second\")){focusBuildIn(u.querySelectorAll(\"blockquote\"),0);fadeDrift([u],0,1);fadeDrift(u.querySelectorAll(\".c3-who\"),BUILD_IN*.4,1);return;}var hd=u.querySelector(\".c3-hd\");if(hd)hd.classList.add(\"on\");fadeDrift(u.querySelectorAll(\".will-fade\"),0,1);};if(typeof IntersectionObserver===\"undefined\"){units.forEach(reveal);return;}langIO=new IntersectionObserver(function(es){es.forEach(function(e){if(e.isIntersecting){langIO.unobserve(e.target);reveal(e.target);}});},{threshold:0,rootMargin:\"0px 0px -12% 0px\"});units.forEach(function(u){langIO.observe(u);});}var SIDE={headline:\"The work is the [grade].\",pitch:\"A Toronto colourist, one-person post studio, with [17+ years] in broadcast, advertising and documentary. Started in compositing, [then grading], with his own colour-managed pipelines.\",lead:{name:\"Dado Valentic\",text:\"Normally the references look so good and the grade doesn’t. [This is looking better than the references.]\",on:\"Copper Coins\"},row:[{name:\"Jeanette Kong\",text:\"Our most recent project benefited from his deep dive into colouring and Gav produced a style and feel that [took the film to another level].\"},{name:\"Erin Herrick\",text:\"Most importantly, he is genuine, kind, incredibly professional, and dependable.\"},{name:\"Lisa Hiney\",text:\"Easy to work with, dependable and someone I know I can count on.\"}],steps:[\"Statement\",\"Proof\",\"Tools & Training\"],place:\"Toronto \\xb7 Remote worldwide\"};var RESUME=PORT&&PORT.resumeUrl||\"#resume\";var sideI=0,sideLock=0,sideDir=0,sideLastY=0,sideEl=null;function lit(t,cls){return esc(t).replace(/\\[([^\\]]+)\\]/g,'<em class=\"'+cls+'\">$1</em>');}function refRole(name){var r=(REFS.references||[]).filter(function(x){return x&&x.name===name;})[0];return r?[r.title,r.org].filter(Boolean).map(esc).join(\" \\xb7 \"):\"\";}function sideHtml(){var a=R.recognition.filter(keep)[0];var h='<div class=\"sd\" data-mfca=\"side\">';h+='<div class=\"sd-head lab\"><span class=\"acc\">[ 02 ]&#160;&#160;ABOUT</span><i></i><span class=\"m\">'+esc(SIDE.place)+'</span><span class=\"bar\"></span><a href=\"'+esc(RESUME)+'\">RESUME, PDF&#160;↓</a></div>';h+='<div class=\"sd-track\">';h+='<section class=\"sd-panel\" data-i=\"0\" aria-label=\"'+esc(SIDE.steps[0])+'\"><div class=\"sd-in\"><div style=\"animation-delay:.25s\"><h1 class=\"sd-h1 fp\">'+lit(SIDE.headline,\"l-em\")+'</h1></div><div class=\"sd-pitch\" style=\"animation-delay:.7s\"><img class=\"fd\" src=\"'+esc(FACE)+'\" alt=\"'+esc(R.name)+'\"><p class=\"fd\">'+lit(SIDE.pitch,\"l-em\")+\"</p></div></div></section>\";var L1=SIDE.lead;if(MFA_ROOT.getAttribute(\"data-mfca-pledger\")===\"1\")h+=ledgerHtml(L1,a);else h+='<section class=\"sd-panel\" data-i=\"1\" aria-label=\"'+esc(SIDE.steps[1])+'\"><div class=\"sd-in\"><figure class=\"sd-lead\" style=\"animation-delay:.35s\"><blockquote class=\"fp\">“'+lit(L1.text,\"q-em\")+'”</blockquote><figcaption class=\"sd-who fd\" style=\"animation-delay:.9s\"><b>'+esc(L1.name)+'</b><span class=\"lab\">'+refRole(L1.name)+\" \\xb7 ON \"+esc(L1.on.toUpperCase())+\"</span>\"+(a?'<span class=\"lab aw\">'+esc(a.name)+\" \\xb7 \"+esc(a.line)+\"</span>\":\"\")+'</figcaption></figure><div class=\"sd-row fd\" style=\"animation-delay:1.35s\">'+SIDE.row.map(function(q){return'<figure class=\"sd-q\"><blockquote>“'+lit(q.text,\"q-em\")+'”</blockquote><figcaption class=\"sd-who\">'+(EMARK[q.name]?'<span class=\"sd-mark\" aria-hidden=\"true\" style=\"-webkit-mask-image:url('+esc(EMARK[q.name])+\");mask-image:url(\"+esc(EMARK[q.name])+')\"></span>':\"\")+\"<b>\"+esc(q.name)+'</b><span class=\"lab\">'+refRole(q.name)+\"</span></figcaption></figure>\";}).join(\"\")+\"</div></div></section>\";function ledgerHtml(L12,a2){var SZ=IMG&&IMG.employerMarkSize?IMG.employerMarkSize:{};var o='<section class=\"sd-panel\" data-i=\"1\" aria-label=\"'+esc(SIDE.steps[1])+'\"><div class=\"sd-in\"><div class=\"sd-lg\"><figure class=\"sd-lead\" style=\"animation-delay:.35s\"><blockquote class=\"fp\">“'+lit(L12.text,\"q-em\")+'”</blockquote><figcaption class=\"sd-who fd\" style=\"animation-delay:.9s\"><b>'+esc(L12.name)+'</b><span class=\"lab\">'+refRole(L12.name)+\" \\xb7 ON \"+esc(L12.on.toUpperCase())+\"</span>\"+(a2?'<span class=\"lab aw\">'+esc(a2.name)+\" \\xb7 \"+esc(a2.line)+\"</span>\":\"\")+'</figcaption></figure><div class=\"sd-ledger\"><i aria-hidden=\"true\"></i>';SIDE.row.forEach(function(q,k){var d=(1.3+k*.3).toFixed(2),m=EMARK[q.name],sz=SZ[q.name]?Math.round(SZ[q.name]*100)+\"%\":\"contain\";var r=(REFS.references||[]).filter(function(x){return x&&x.name===q.name;})[0];o+='<figure class=\"sd-lq\" style=\"animation-delay:'+d+'s\">'+(m?'<span class=\"sd-lmk fp\" aria-hidden=\"true\" style=\"-webkit-mask-image:url('+esc(m)+\");mask-image:url(\"+esc(m)+\");-webkit-mask-size:\"+sz+\";mask-size:\"+sz+'\"></span>':\"<span></span>\")+'<div class=\"fd\" style=\"animation-delay:'+(+d+.12).toFixed(2)+'s\"><blockquote>“'+lit(q.text,\"q-em\")+'”</blockquote><figcaption class=\"sd-lwho\"><b>'+esc(q.name)+'</b><span class=\"lab\">'+(r&&r.org?esc(r.org):refRole(q.name))+\"</span></figcaption></div></figure>\";});return o+\"</div></div></div></section>\";}var caps=R.capabilities.filter(keep);var grp=function(name,items){return'<div class=\"sd-grp\"><div class=\"sd-gh lab\">'+esc(name)+\"</div>\"+items.map(function(t){return'<span class=\"sd-it\">'+esc(t)+\"</span>\";}).join(\"\")+\"</div>\";};var capG=function(g){return grp(g.name,g.items.map(function(it){return it.line;}));};var train=R.training.filter(keep).map(function(t){return t.institution+(t.person?\" \\xb7 \"+t.person:\"\");});var mem=R.memberships.filter(keep).map(function(m){return m.name;});h+='<section class=\"sd-panel\" data-i=\"2\" aria-label=\"'+esc(SIDE.steps[2])+'\"><div class=\"sd-in\">'+(MFA_ROOT.getAttribute(\"data-mfca-tfeat\")===\"1\"?tfeatHtml():'<div class=\"sd-tools fd\" style=\"animation-delay:.3s\"><div class=\"sd-tl lab\">TOOLS &amp; TRAINING</div><div class=\"sd-cols\"><div class=\"sd-col\">'+(caps[0]?capG(caps[0]):\"\")+'</div><div class=\"sd-col\">'+caps.slice(1).map(capG).join(\"\")+'</div><div class=\"sd-col\">'+grp(\"TRAINING\",train)+(mem.length?grp(\"MEMBERSHIPS\",mem):\"\")+\"</div></div></div>\")+\"</div></section>\";function tfeatHtml(){var IC={\"Grading & look design\":'<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M12 3v3M12 18v3M3 12h3M18 12h3\"/><circle cx=\"14.5\" cy=\"10\" r=\"1.6\"/>',\"Colour-managed pipelines\":'<circle cx=\"4.5\" cy=\"12\" r=\"2.2\"/><circle cx=\"12\" cy=\"6\" r=\"2.2\"/><circle cx=\"12\" cy=\"18\" r=\"2.2\"/><circle cx=\"19.5\" cy=\"12\" r=\"2.2\"/><path d=\"M6.4 10.8 10.2 7.3M6.4 13.2l3.8 3.5M13.8 7.3l3.8 3.5M13.8 16.7l3.8-3.5\"/>',\"Look development\":'<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M12 3a9 9 0 0 0 0 18z\" fill=\"#ff3b4a\" stroke=\"none\" opacity=\".55\"/>',\"Film & archival restoration\":'<rect x=\"4\" y=\"2.5\" width=\"16\" height=\"19\" rx=\"1\"/><path d=\"M8 2.5v19M16 2.5v19\"/><path d=\"M5.5 5h1M5.5 9h1M5.5 13h1M5.5 17h1M17.5 5h1M17.5 9h1M17.5 13h1M17.5 17h1\"/>',\"Film emulation, grain & denoise\":'<circle cx=\"5\" cy=\"6\" r=\".9\"/><circle cx=\"11\" cy=\"4.5\" r=\".9\"/><circle cx=\"18\" cy=\"6.5\" r=\".9\"/><circle cx=\"7.5\" cy=\"11.5\" r=\".9\"/><circle cx=\"14\" cy=\"10\" r=\".9\"/><circle cx=\"19.5\" cy=\"13\" r=\".9\"/><circle cx=\"4.5\" cy=\"17\" r=\".9\"/><circle cx=\"11.5\" cy=\"16\" r=\".9\"/><circle cx=\"16.5\" cy=\"19.5\" r=\".9\"/>',\"DCTL and LUT authoring\":'<path d=\"M12 2.5 20.5 7v10L12 21.5 3.5 17V7z\"/><path d=\"M3.5 7 12 11.5 20.5 7M12 11.5v10\"/>',\"HDR & Dolby Vision workflow\":'<path d=\"M2.5 20h19\"/><path d=\"M3 18c4 0 5-9 9-13 2.5 2.5 4 9 9 10\"/><path d=\"M2.5 4h19\" stroke-dasharray=\"2 2.5\"/>',\"Live remote grading\":'<rect x=\"2.5\" y=\"5\" width=\"9\" height=\"7\" rx=\"1\"/><rect x=\"12.5\" y=\"12\" width=\"9\" height=\"7\" rx=\"1\"/><path d=\"M7 15v2.5h3M17 9V6.5h-3\"/>',\"DELIVERY\":'<rect x=\"3\" y=\"4\" width=\"18\" height=\"5\" rx=\"1\"/><rect x=\"3\" y=\"10\" width=\"18\" height=\"5\" rx=\"1\"/><rect x=\"3\" y=\"16\" width=\"18\" height=\"5\" rx=\"1\"/>',\"SUITE\":'<rect x=\"2.5\" y=\"3.5\" width=\"19\" height=\"13\" rx=\"1\"/><path d=\"M9 21h6M12 16.5V21\"/>',\"TRAINING\":'<path d=\"M12 4 2.5 9 12 14l9.5-5z\"/><path d=\"M6.5 11.2V16c1.5 1.5 3.5 2.2 5.5 2.2s4-.7 5.5-2.2v-4.8\"/>'};var icon=function(k){if(!IC[k]){console.warn(\"MF tools: no icon for\",k);return\"\";}return'<svg class=\"fp\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">'+IC[k]+\"</svg>\";};var lead=caps[0],rest2=caps.slice(1);var KEEP={FXPHD:1};var mixed=function(t){return t.split(\" \").map(function(w){return KEEP[w]?w:w.toLowerCase().replace(/(^|[.\\-])([a-z])/g,function(_,p,c){return p+c.toUpperCase();});}).join(\" \");};var trainM=train.map(mixed);var gi=0;var fg=function(name,items,muted){return'<div class=\"sd-fgrp fd\" style=\"animation-delay:'+(.95+gi++*.15).toFixed(2)+'s\"><div class=\"sd-fgh lab\">'+icon(name)+esc(name)+\"</div>\"+items.map(function(t){return'<span class=\"sd-fit\">'+esc(t)+\"</span>\";}).join(\"\")+(muted?'<span class=\"sd-fit mute\">'+esc(muted)+\"</span>\":\"\")+\"</div>\";};return'<div class=\"sd-ft\"><div class=\"sd-big\">'+(lead?'<span class=\"sd-kick lab fd\" style=\"animation-delay:.2s\">'+esc(lead.name)+\"</span>\"+lead.items.map(function(it,i){return'<div class=\"sd-ln fd'+(i<2?\" lead\":\"\")+'\" style=\"animation-delay:'+(.3+i*.09).toFixed(2)+'s\"><span class=\"k\">'+(i<9?\"0\":\"\")+(i+1)+\"</span>\"+icon(it.line)+esc(it.line)+\"</div>\";}).join(\"\"):\"\")+'</div><div class=\"sd-side\">'+rest2.map(function(g){return fg(g.name,g.items.map(function(it){return it.line;}));}).join(\"\")+fg(\"TRAINING\",trainM,mem.length?\"Member, \"+mem.join(\", \"):\"\")+\"</div></div>\";}h+=\"</div>\";h+='<div class=\"sd-foot\"><div class=\"sd-rule\"><i class=\"sd-fill\"></i></div><div class=\"sd-steps\">'+SIDE.steps.map(function(t,i){return'<button type=\"button\" class=\"sd-step\" data-i=\"'+i+'\"><span class=\"n\">0'+(i+1)+\"</span>\"+esc(t)+\"</button>\";}).join(\"\")+\"</div></div></div>\";return h;}function sideSet(i,jump){sideI=i;var tr=sideEl.querySelector(\".sd-track\");if(jump)tr.classList.add(\"jump\");tr.style.transform=\"translateX(\"+-i*33.3333+\"%)\";sideEl.style.setProperty(\"--f\",String((i+1)/3));Array.prototype.forEach.call(sideEl.querySelectorAll(\".sd-panel\"),function(p,k){p.classList.toggle(\"on\",k===i);});Array.prototype.forEach.call(sideEl.querySelectorAll(\".sd-step\"),function(b,k){b.classList.toggle(\"cur\",k===i);b.setAttribute(\"aria-current\",k===i?\"step\":\"false\");});if(jump){void tr.offsetWidth;tr.classList.remove(\"jump\");}}var SIDE_LAND_MS=300,SIDE_GONE_MS=1250,sideT=[];function sideGo(i){i=Math.max(0,Math.min(2,i));if(i===sideI||!sideEl)return;sideLock=Date.now()+1100;var old=sideI;sideSet(i,false);if(rest||reduce)return;var ps=sideEl.querySelectorAll(\".sd-panel\"),np=ps[i],op=ps[old];sideT.forEach(clearTimeout);sideT=[];if(np.classList.contains(\"sd-wait\")){np.classList.remove(\"on\");sideT.push(setTimeout(function(){if(sideI!==i)return;np.classList.remove(\"sd-wait\");void np.offsetWidth;np.classList.add(\"on\");},SIDE_LAND_MS));}sideT.push(setTimeout(function(){if(sideI!==old)op.classList.add(\"sd-wait\");},SIDE_GONE_MS));}function sdIndent(){if(!sideEl)return;Array.prototype.forEach.call(sideEl.querySelectorAll(\".sd-ft\"),function(ft){var side2=ft.querySelector(\".sd-side\");if(!side2)return;var big=ft.querySelector(\".sd-big\");if(!big)return;ft.style.gridTemplateColumns=\"\";ft.style.paddingLeft=\"\";big.style.paddingLeft=\"\";if(tind===3&&document.createRange){ft.style.gridTemplateColumns=\"max-content max-content\";var fw=ft.clientWidth,gap=parseFloat(getComputedStyle(ft).columnGap)||0;var bw=big.getBoundingClientRect().width,sr=side2.getBoundingClientRect();var padS=parseFloat(getComputedStyle(side2).paddingLeft)||0,rg0=document.createRange(),ends0=[];Array.prototype.forEach.call(side2.querySelectorAll(\".sd-fit:not(.mute)\"),function(it){rg0.selectNodeContents(it);var rr=rg0.getBoundingClientRect();if(rr.width)ends0.push(rr.right);});if(ends0.length&&bw+gap+sr.width<=fw){var avgW=Math.max.apply(null,ends0)-(sr.left+padS);ft.style.paddingLeft=Math.max(0,Math.round((fw-(bw+gap+padS+avgW))/2))+\"px\";return;}ft.style.gridTemplateColumns=\"\";}if(tind===1){big.style.paddingLeft=(parseFloat(getComputedStyle(side2).paddingLeft)||0)+\"px\";return;}if(!document.createRange)return;var right=-1e9,rg=document.createRange(),ends=[];(function walk(el){Array.prototype.forEach.call(el.childNodes,function(n){if(n.nodeType===1)walk(n);else if(n.nodeType===3&&n.textContent.trim()){rg.selectNodeContents(n);var rr=rg.getBoundingClientRect();if(rr.width){right=Math.max(right,rr.right);if(n.parentNode.classList&&n.parentNode.classList.contains(\"sd-fit\"))ends.push(rr.right);}}});})(side2);if(right<-1e8)return;if(tind===3&&ends.length){var avg=ends.reduce(function(a,b){return a+b;},0)/ends.length;big.style.paddingLeft=Math.max(0,Math.round(side2.getBoundingClientRect().right-avg))+\"px\";return;}big.style.paddingLeft=Math.max(0,Math.round(side2.getBoundingClientRect().right-right))+\"px\";});}function renderSide(){panel.insertAdjacentHTML(\"beforeend\",sideHtml()+(PORT?\"\":contactHtml()));sideEl=panel.querySelector(\".sd\");turnState.pages=[sideEl];turnState.ids=[\"pitch\"];turnState.page=0;clearLatch();Array.prototype.forEach.call(sideEl.querySelectorAll(\".sd-step\"),function(b){b.addEventListener(\"click\",function(){sideGo(Number(b.getAttribute(\"data-i\")));});});sideSet(0,true);setNav(\"about\");sideEl.classList.add(rest||reduce?\"sd-go\":\"sd-wait\");sdIndent();if(document.fonts&&document.fonts.ready)document.fonts.ready.then(sdIndent);}function playSide(){if(!sideEl)return;var start=PORT&&sideDir<0?2:0;sideSet(start,true);var p=sideEl.querySelectorAll(\".sd-panel\")[start];sideT.forEach(clearTimeout);sideT=[];Array.prototype.forEach.call(sideEl.querySelectorAll(\".sd-panel\"),function(q){q.classList.add(\"sd-wait\");q.classList.remove(\"on\");});sideEl.classList.remove(\"sd-wait\");sideEl.classList.add(\"sd-go\");sideLock=Date.now()+700;sideParts();}function sideParts(){if(!sideEl||rest||reduce||!sideEl.classList.contains(\"sd-go\"))return;var vh=window.innerHeight,nh=PORT&&PORT.navH||68;var shown=function(el){var r2=el.getBoundingClientRect();return r2.top<vh-20&&r2.bottom>nh+20;};var h=sideEl.querySelector(\".sd-head\"),f=sideEl.querySelector(\".sd-foot\");if(h&&!h.classList.contains(\"in\")&&shown(h))h.classList.add(\"in\");if(f&&!f.classList.contains(\"in\")&&shown(f))f.classList.add(\"in\");var p=sideEl.querySelectorAll(\".sd-panel\")[sideI],pin=p&&p.querySelector(\".sd-in\");if(pin&&p.classList.contains(\"sd-wait\")){var r=pin.getBoundingClientRect();var vis=Math.max(0,Math.min(r.bottom,vh)-Math.max(r.top,nh));if(r.top>=nh-10&&r.top<vh*.85||vis>=r.height*.75){p.classList.remove(\"sd-wait\");void p.offsetWidth;p.classList.add(\"on\");}}}function sideAtRest(){if(!PORT)return true;return Math.abs(panel.getBoundingClientRect().top-(PORT.navH||68))<=3;}function sideWheel(e,port){if(!sideEl||e.defaultPrevented)return;if(port&&!sideAtRest())return;var dy=e.deltaY;if(Math.abs(dy)<4||Math.abs(e.deltaX)>Math.abs(dy))return;var now=Date.now(),dir=dy>0?1:-1;if(now<sideLock){e.preventDefault();return;}var next=sideI+dir;if(next<0||next>2){if(!port&&next>2){e.preventDefault();cutTo(\"contact\");}return;}e.preventDefault();sideGo(next);}function onNavClick(e){e.preventDefault();var id=e.currentTarget.id;if(id===\"navContact\")cutTo(\"contact\");else if(id===\"navAbout\"||id===\"navHome\")cutTo(\"about\");}function strip(){killAnims();langClear();document.removeEventListener(\"wheel\",onWheel);document.removeEventListener(\"keydown\",onKey);panel.removeEventListener(\"pointerdown\",onPtrDown);panel.removeEventListener(\"pointerup\",onPtrUp);panel.removeEventListener(\"pointercancel\",onPtrCancel);[\"navWork\",\"navAbout\",\"navContact\",\"navHome\"].forEach(function(id){var el=MFA_byId(id);if(el)el.removeEventListener(\"click\",onNavClick);});var keepAmb=panel.querySelector(\".amb\");Array.prototype.forEach.call(Array.prototype.slice.call(panel.children),function(ch){if(ch!==keepAmb)ch.remove();});stop=\"about\";cutting=false;ptr=null;gestOn=false;clearLatch();MFA_ROOT.setAttribute(\"data-stop\",\"about\");panel.setAttribute(\"data-mfca-stop\",\"about\");panel.setAttribute(\"data-mfca-current-page\",\"pitch\");turnState={page:0,turning:false,pages:[],mk:null,idx:null,ids:[]};}var playId=0;function play(){playTurn();}function bind(){MFA_on(document,\"wheel\",onWheel,{passive:false});MFA_on(document,\"keydown\",onKey);panel.addEventListener(\"pointerdown\",onPtrDown);panel.addEventListener(\"pointerup\",onPtrUp);panel.addEventListener(\"pointercancel\",onPtrCancel);[\"navWork\",\"navAbout\",\"navContact\",\"navHome\"].forEach(function(id){var el=MFA_byId(id);if(el)el.addEventListener(\"click\",onNavClick);});}function boot(){strip();if(side)renderSide();else if(c3)renderOne();else renderTurn();if(!PORT)bind();}function schedulePlay(){var id=++playId;function run(){if(id!==playId)return;measurePages();play();}if(document.fonts&&document.fonts.ready)document.fonts.ready.then(run);else run();}window.mfReplay=function(){rest=false;MFA_ROOT.removeAttribute(\"data-rest\");reduce=window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;if(reduce)MFA_ROOT.setAttribute(\"data-reduce\",\"1\");else MFA_ROOT.removeAttribute(\"data-reduce\");boot();schedulePlay();};window.mfMeasure=function(){measurePages();};window.mfState=function(){return{stop,page:currentId(),latch:panel.getAttribute(\"data-mfca-latch\")===\"1\"};};boot();if(!PORT)schedulePlay();else{var armed=true;var api={prime:function(){boot();armed=true;},arrive:function(){if(!armed)return;armed=false;schedulePlay();},depart:function(){}};PORT.api=api;if(side){MFA_on(document,\"wheel\",function(e){sideWheel(e,true);},{passive:false});MFA_on(window,\"scroll\",function(){var y=window.scrollY;if(y!==sideLastY)sideDir=y>sideLastY?1:-1;sideLastY=y;},{passive:true});}if(!PORT.hostDriven&&typeof IntersectionObserver!==\"undefined\"){var seen=false;var ARRIVE_FRAC=.25;var sbChk=function(){var r=panel.getBoundingClientRect(),vh=window.innerHeight,nh=PORT.navH||68;var vis=Math.max(0,Math.min(r.bottom,vh)-Math.max(r.top,0));if(vis>0&&vis>=Math.min(vh-nh,r.height)*ARRIVE_FRAC){seen=true;api.arrive();}else if(seen&&!armed&&(r.top>=vh||r.bottom<=nh+2)){seen=false;api.prime();}sideParts();};var io=new IntersectionObserver(sbChk,{threshold:Array.from({length:101},function(_,i){return i/100;})});MFA_on(window,\"scroll\",sbChk,{passive:true});io.observe(panel);PORT.stopArm=function(){io.disconnect();window.removeEventListener(\"scroll\",sbChk);};}}MFA_on(window,\"resize\",function(){sdIndent();moveMarker(turnState.page);measurePages();});})();return{api:MFA_HOST.api||null,destroy:function(){MFA_alive=false;MFA_offs.forEach(function(off){try{off();}catch(e){}});MFA_offs=[];if(MFA_HOST&&MFA_HOST.stopArm)try{MFA_HOST.stopArm();}catch(e){}}};}\nexport const __FramerMetadata__ = {\"exports\":{\"MFC_ABOUT_MARKUP\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mountColourAbout\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MFC_ABOUT_CSS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MFC_ABOUT_ROOT_CLASS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MFAboutColour.map","// @ts-nocheck\n// MFLandingMotion.tsx - GENERATED by _archive/session-scratch/s215-landing-port/gen.js from the landing canvas round 11, build\n// HUD 2 (s213-landing/build11.mjs + logic11.js, made by make-build11.js). NEVER HAND-EDIT: change the source, re-run gen.js.\n// The Motion desktop landing: MFHomepage mounts it into the hero (mountMotionLanding) behind ?mflanding=0.\n// ../s209-reel-canvas/fx.mjs\nvar FX_CSS=`\n@keyframes mfl-bp-w{0%{opacity:0}25%{left:168%;width:2000%;opacity:1}50%{left:0%;width:343%;opacity:1}75%{left:0%;width:170%;opacity:1}}\n@keyframes mfl-bc-w{25%{background-image:linear-gradient(90deg,rgba(230,249,253,0) 0%,rgba(230,249,253,0.55) 1.8%,rgb(230,249,253) 3.6%,rgb(230,249,253) 100%)}50%{background-image:linear-gradient(90deg,rgb(230,249,253) 0%,rgb(230,249,253) 78%,rgba(230,249,253,0.45) 88%,rgba(230,249,253,0) 100%)}75%{background-image:linear-gradient(90deg,rgb(230,249,253) 0%,rgb(230,249,253) 55%,rgba(230,249,253,0.45) 74%,rgba(230,249,253,0) 100%)}}\n@keyframes mfl-bh-w{25%{background-image:linear-gradient(90deg,rgba(150,228,246,0.00) 0%,rgba(150,228,246,0.33) 1.8%,rgba(150,228,246,0.6) 3.6%,rgba(150,228,246,0.6) 100%)}50%{background-image:linear-gradient(90deg,rgba(150,228,246,0.6) 0%,rgba(150,228,246,0.6) 78%,rgba(150,228,246,0.27) 88%,rgba(150,228,246,0.00) 100%)}75%{background-image:linear-gradient(90deg,rgba(150,228,246,0.6) 0%,rgba(150,228,246,0.6) 55%,rgba(150,228,246,0.27) 74%,rgba(150,228,246,0.00) 100%)}}\n@keyframes mfl-bp-t{0%{opacity:0}25%{left:128%;width:2000%;opacity:1}50%{left:0%;width:215%;opacity:1}75%{left:0%;width:100%;opacity:1}}\n@keyframes mfl-bc-t{25%{background-image:linear-gradient(90deg,rgba(230,249,253,0) 0%,rgba(230,249,253,0.55) 1.8%,rgb(230,249,253) 3.6%,rgb(230,249,253) 100%)}50%{background-image:linear-gradient(90deg,rgb(230,249,253) 0%,rgb(230,249,253) 86%,rgba(230,249,253,0.45) 93%,rgba(230,249,253,0) 100%)}75%{background-image:linear-gradient(90deg,rgb(230,249,253) 0%,rgb(230,249,253) 70%,rgba(230,249,253,0.45) 85%,rgba(230,249,253,0) 100%)}}\n@keyframes mfl-bh-t{25%{background-image:linear-gradient(90deg,rgba(150,228,246,0.00) 0%,rgba(150,228,246,0.33) 1.8%,rgba(150,228,246,0.6) 3.6%,rgba(150,228,246,0.6) 100%)}50%{background-image:linear-gradient(90deg,rgba(150,228,246,0.6) 0%,rgba(150,228,246,0.6) 86%,rgba(150,228,246,0.27) 93%,rgba(150,228,246,0.00) 100%)}75%{background-image:linear-gradient(90deg,rgba(150,228,246,0.6) 0%,rgba(150,228,246,0.6) 70%,rgba(150,228,246,0.27) 85%,rgba(150,228,246,0.00) 100%)}}\n@keyframes mfl-lead{0%{opacity:1}}\n/* profile e (s209, Gav): the bar starts at the END OF ITS OWN LINE and streaks back to the line start - it never\n   leaves the line's box, so it cannot start at the screen edge or cross the column to its right */\n@keyframes mfl-bp-e{0%{opacity:0}25%{left:52%;width:calc(48% + 70px);opacity:1}50%{left:0%;width:calc(100% + 70px);opacity:1}75%{left:0%;width:40%;opacity:1}}\n@keyframes mfl-bc-e{25%{background-image:linear-gradient(90deg,rgba(230,249,253,0) 0%,rgba(230,249,253,0.55) 3%,rgb(230,249,253) 6%,rgb(230,249,253) calc(100% - 90px),rgba(230,249,253,0.8) calc(100% - 65px),rgba(230,249,253,0.45) calc(100% - 39px),rgba(230,249,253,0.15) calc(100% - 14px),rgba(230,249,253,0) 100%)}50%{background-image:linear-gradient(90deg,rgb(230,249,253) 0%,rgb(230,249,253) calc(100% - 100px),rgba(230,249,253,0.84) calc(100% - 70px),rgba(230,249,253,0.5) calc(100% - 42px),rgba(230,249,253,0.18) calc(100% - 18px),rgba(230,249,253,0) 100%)}75%{background-image:linear-gradient(90deg,rgb(230,249,253) 0%,rgb(230,249,253) calc(100% - 60px),rgba(230,249,253,0.75) calc(100% - 40px),rgba(230,249,253,0.35) calc(100% - 20px),rgba(230,249,253,0) 100%)}}\n@keyframes mfl-bh-e{25%{background-image:linear-gradient(90deg,rgba(150,228,246,0.00) 0%,rgba(150,228,246,0.33) 3%,rgba(150,228,246,0.6) 6%,rgba(150,228,246,0.6) calc(100% - 90px),rgba(150,228,246,0.48) calc(100% - 65px),rgba(150,228,246,0.27) calc(100% - 39px),rgba(150,228,246,0.09) calc(100% - 14px),rgba(150,228,246,0.00) 100%)}50%{background-image:linear-gradient(90deg,rgba(150,228,246,0.6) 0%,rgba(150,228,246,0.6) calc(100% - 100px),rgba(150,228,246,0.50) calc(100% - 70px),rgba(150,228,246,0.30) calc(100% - 42px),rgba(150,228,246,0.11) calc(100% - 18px),rgba(150,228,246,0.00) 100%)}75%{background-image:linear-gradient(90deg,rgba(150,228,246,0.6) 0%,rgba(150,228,246,0.6) calc(100% - 60px),rgba(150,228,246,0.45) calc(100% - 40px),rgba(150,228,246,0.21) calc(100% - 20px),rgba(150,228,246,0.00) 100%)}}\n@keyframes mfl-land{0%,40%{color:rgb(196,238,243);text-shadow:0 0 5px rgba(150,228,246,.7),0 0 18px rgba(0,213,240,.5),0 0 34px rgba(0,213,240,.22)}}\n.mfl-lw span{animation:inherit}\n@keyframes mfl-flashin{0%{opacity:1;text-shadow:0 0 2px #fff,0 0 18px rgba(212,245,251,.95),0 0 40px rgba(0,213,240,.8)}100%{opacity:1;text-shadow:none}}\n@keyframes mfl-flashin-g{0%{opacity:1;text-shadow:0 0 2px #fff,0 0 18px rgba(212,245,251,.95),0 0 40px rgba(0,213,240,.8)}100%{opacity:1;text-shadow:0 0 22px rgba(0,213,240,.35)}}\n`;var FRAME=1e3/23.976;function barWrite(inner,{start,style=\"\",unit,profile}={}){const dur=Math.round(FRAME*4);const t0=Math.round(start);const isLine=[\"t\",\"e\"].includes(profile!=null?profile:String(inner).replace(/<[^>]*>/g,\"\").length>12?\"t\":\"w\");const lit=Math.round(start+FRAME*(isLine?3:4));const plain=String(inner).replace(/<[^>]*>/g,\"\").replace(/&[a-z#0-9]+;/g,\"x\");const long=plain.length>12;const u=profile===\"e\"?null:unit!=null?unit:long?\"6em\":null;const k=profile!=null?profile:long?\"t\":\"w\";const MASK_H=\"linear-gradient(to bottom,transparent 0%,#000 30%,#000 42%,transparent 100%)\";const HALO=k===\"t\"||k===\"e\"?[\"-95%\",\"-150%\"]:[\"-19%\",\"-58%\"];const lead=k===\"e\"?`<span style=\"position: absolute; top: auto; left: 90%; width: 10%; height: calc(.7em + 1.5px); margin-top: -1px; opacity: 0; background: radial-gradient(ellipse 60% 90% at 70% 50%,rgba(150,215,245,.34),rgba(120,200,240,.14) 55%,rgba(120,200,240,0) 100%); animation: mfl-lead ${Math.round(FRAME)}ms steps(1,end) ${t0}ms 1 none; pointer-events: none; z-index: 2;\"></span>`:`<span style=\"position: fixed; top: auto; right: 0; width: 6vw; height: calc(.7em + 1.5px); margin-top: -1px; opacity: 0; background: radial-gradient(ellipse 60% 90% at 70% 50%,rgba(150,215,245,.34),rgba(120,200,240,.14) 55%,rgba(120,200,240,0) 100%); animation: mfl-lead ${Math.round(FRAME)}ms steps(1,end) ${t0}ms 1 none; pointer-events: none; z-index: 2;\"></span>`;const bar=`<span style=\"display: inline-block; width: 0; height: .7em; vertical-align: baseline;\">${lead}<span style=\"position: absolute; left: 0; width: 0; height: calc(.7em + 1.5px); margin-top: -1px; opacity: 0; animation: mfl-bp-${k} ${dur}ms steps(1,end) ${t0}ms 1 none; pointer-events: none; z-index: 2;\"><span style=\"position: absolute; left: 0; right: 0; top: ${HALO[0]}; bottom: ${HALO[1]}; -webkit-mask-image: ${MASK_H}; mask-image: ${MASK_H}; animation: mfl-bh-${k} ${dur}ms steps(1,end) ${t0}ms 1 none;\"></span><span style=\"position: absolute; inset: 0; animation: mfl-bc-${k} ${dur}ms steps(1,end) ${t0}ms 1 none;\"></span></span></span>`;const anchor=u?`<span style=\"position: absolute; left: 0; top: 0; width: ${u}; white-space: nowrap;\">${bar}</span>`:bar;return`<span style=\"position: relative; display: inline-block; ${style}\">${anchor}<span class=\"mfl-lw\" style=\"opacity: 0; animation: mfl-show 1ms linear ${lit}ms forwards, mfl-land 1600ms cubic-bezier(.2,.6,.3,1) ${lit}ms 1;\">${inner}</span></span>`;}// ../s213-landing/_mfl-core.tmp.mjs\nvar barWrite2=(...a)=>{const out=barWrite(...a),fixed=out.replace(/opacity: 0; animation: mfl-show 1ms linear (\\d+)ms forwards, /g,(m,t)=>`animation: mfl-pre ${t}ms linear 0ms 1 none, `);if(/mfl-show 1ms linear \\d+ms forwards/.test(fixed))throw new Error(\"barWrite: an mfl-show reveal survived\");return fixed;};var B={pawl300:\"/_blob/a7b83885251f7e378b8c4f718bac1df5\",pawl400:\"/_blob/e22de8a694892ecf0fd0253ce8995bfd\",dharma:\"/_blob/beacfa887e32850e2bc6bb9c53f9eca9\",dado:\"/_blob/4f40acfed12a07bf5419ba0fc4bf2bc4\",jeanette:\"/_blob/1b12eed129339d36315b9c58dc9e0202\",npa:\"/_blob/7350ec165a9ba0b9e110151982cfa932\"};var STILLS=[{src:\"/_blob/7f6f5527c6451c5902a709209d17812f\",studio:\"CBC\",meta:\"TV \\xb7 2020 \\xb7 2D Motion, Design\"},{src:\"/_blob/bad46c06d91ca68c468c1c64899e612e\",studio:\"Secret Location\",meta:\"TV \\xb7 2010 \\xb7 2D Motion\"},{src:\"/_blob/d989db077b09440a575ea25645675af5\",studio:\"The Signal Productions\",meta:\"Documentary \\xb7 2022 \\xb7 3D Motion, Design\"},{src:\"/_blob/6b1c60a88d91020e73eccf7dcec2e0d4\",studio:\"Jiang Media\",meta:\"Documentary \\xb7 2025 \\xb7 2D Motion\"},{src:\"/_blob/d170ac8eeac697bd212005279e398c6c\",studio:\"National Progress Alliance\",meta:\"TV \\xb7 2022 \\xb7 2D Motion\"},{src:\"/_blob/843d29835c93d4c25c8f430798cac9df\",studio:\"Crush Inc.\",meta:\"Advertising \\xb7 2011 \\xb7 3D Motion\"}];var SLOT=4200;var CYCLE=SLOT*STILLS.length;var C={ground:\"#07080c\",plate:\"#04060a\",ink:\"#e8eaf0\",body:\"#cfd4de\",dim:\"#9298ab\",dim2:\"#8a90a0\",acc:\"#00d5f0\",glow:\"rgba(0,213,240,.62)\",crim:\"#ff3b4a\",phos:\"#d4f5fb\",tele:\"rgba(68,227,240,.72)\"};var DISPLAY=\"'Dharma Gothic M','Arial Narrow',sans-serif\";var UI=\"'Pawl Square','Helvetica Neue',sans-serif\";var esc2=s=>String(s).replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\"/g,\"&quot;\");var LABEL=`font-family: ${UI}; font-weight: 400; font-size: 10px; line-height: 12px; letter-spacing: .18em; text-transform: uppercase;`;var HEADS=[{k:\"MOTION \\xb7 COLOUR \\xb7 VFX \\xb7 FINISHING\",l:[[\"One studio.\",\"\"],[\"Two signals.\",\"signals\"],[\"No misses.\",\"\"]]},{k:\"MOTION \\xb7 COLOUR \\xb7 VFX \\xb7 FINISHING\",l:[[\"One studio.\",\"\"],[\"Two signals.\",\"\"],[\"17+ years.\",\"years\"]]},{k:\"ONE STUDIO \\xb7 TWO SIGNALS\",l:[[\"Colour and\",\"\"],[\"motion as\",\"\"],[\"the work.\",\"work\"]]},{k:\"BROADCAST \\xb7 ADVERTISING \\xb7 DOCUMENTARY\",l:[[\"Colour and\",\"\"],[\"motion.\",\"\"],[\"One studio.\",\"studio\"]]},{k:\"ONE STUDIO \\xb7 TORONTO \\xb7 17+ YEARS\",l:[[\"Colour.\",\"\"],[\"Motion.\",\"\"],[\"Finishing.\",\"finishing\"]]},{k:\"ONE STUDIO \\xb7 TWO SIGNALS \\xb7 17+ YEARS\",l:[[\"Mind Factory\",\"factory\"],[\"Colour and\",\"\"],[\"motion.\",\"\"]]},// s214: Grok's MOTION-focused set (grok-headline-motion.md, his ask) - 6 is Grok's pick\n{k:\"BROADCAST \\xb7 ADS \\xb7 DOCUMENTARY\",l:[[\"2D and 3D.\",\"\"],[\"Design.\",\"\"],[\"Motion.\",\"motion\"]]},{k:\"2D \\xb7 3D \\xb7 VFX \\xb7 ANIMATION\",l:[[\"Titles and\",\"\"],[\"idents.\",\"\"],[\"Motion.\",\"motion\"]]},{k:\"TV \\xb7 ADS \\xb7 DOCUMENTARY\",l:[[\"VFX and\",\"\"],[\"animation.\",\"\"],[\"Design.\",\"design\"]]},{k:\"IDENTS \\xb7 TITLES \\xb7 TORONTO\",l:[[\"Animation.\",\"\"],[\"2D and 3D.\",\"\"],[\"VFX.\",\"vfx\"]]},{k:\"BROADCAST \\xb7 ADS \\xb7 DOCUMENTARY\",l:[[\"One person.\",\"\"],[\"17+ years.\",\"\"],[\"Motion.\",\"motion\"]]},// s214: HIS OWN (2026-10-01) - the round-9 default; FINISH lit (my call, his to change)\n{k:\"2D \\xb7 3D \\xb7 VFX \\xb7 ANIMATION\",l:[[\"Build it.\",\"\"],[\"Move it.\",\"\"],[\"Finish it.\",\"finish\"]]}];var HEAD_OPTS=HEADS.map((h,i)=>`${i} \\xb7 ${i===0?\"current\":h.l.map(l=>l[0]).join(\" \")}`);var PEOPLE=[{who:\"DADO VALENTIC\",role:\"FOUNDER & CEO, COLOUR INTELLIGENCE INC.\",img:B.dado,mode:\"lum\"},{who:\"JEANETTE KONG\",role:\"DOCUMENTARY PRODUCER AND DIRECTOR, JIANG MEDIA INC.\",img:B.jeanette,mode:\"lum\"},{who:\"ERIN HERRICK\",role:\"PROJECT DIRECTOR, NATIONAL PROGRESS ALLIANCE\",img:B.npa,mode:\"alpha\"},// s218: Lisa Hiney (email 2026-10-08); no portrait anywhere, her ask - the landing names her only (img null: no\n// builder that draws a plate reads her; the pull quotes print who + role)\n{who:\"LISA HINEY\",role:\"CREATIVE DIRECTOR, SJC CONTENT\",img:null,mode:\"alpha\"}];var PULLS=[{p:0,ctx:\"He’s removing a hair clip. He’s removing a light switch. He’s removing equipment. He’s recompositing the shots.\",lines:[\"This is the finishing\",\"on the top, top, top level.\"]},{p:1,ctx:\"Our most recent project benefited from his deep dive into colouring and\",lines:[\"Gav produced a style and feel\",\"that took the film to another level.\"]},{p:2,ctx:\"I've been working with Gav for over four years … He is\",lines:[\"the creative genius behind\",\"our branding and thumbnails …\"]},// s218: his pick of my cut - her exact words, inside her lit sentence on the About, the \" …\" marks the cut as Erin's\n{p:3,ctx:\"Gav is always willing to make time for me, even when I come to him with a last-minute project or a ridiculous deadline.\",lines:[\"He just rolls with it\",\"and gets the job done …\"]}];var CSS3=`\n.mfl-disp .mfl-ov{opacity:0;transition:opacity .22s linear}\n.mfl-disp:hover .mfl-ov{opacity:1}\n.mfl-reel .mfl-reel-t{transition:color .15s linear}\n.mfl-reel:hover .mfl-reel-t{color:#00d5f0}\n@keyframes mfl-prog{from{width:0}to{width:100%}}\n@keyframes mfl-head{from{left:0}to{left:100%}}\n@keyframes mfl-spin{to{transform:rotate(360deg)}}\n@keyframes mfl-cnt{0%,14.2%{opacity:1}14.3%,100%{opacity:0}}\n@keyframes mfl-cut{0%,16.6%{opacity:1}16.7%,100%{opacity:0}}\n@keyframes mfl-flash{0%,92%{opacity:0}94%{opacity:.5}100%{opacity:0}}\n.mfl-tfill{clip-path:inset(0 100% 0 0);transition:clip-path .55s cubic-bezier(.2,.7,.2,1)}\n.mfl-disp:hover .mfl-tfill{clip-path:inset(0 0 0 0)}\n.mfl-holo{transition:filter .2s linear}\n.mfl-disp:hover .mfl-holo{filter:brightness(1.4)}\n@keyframes mfl-pin{from{transform:translateX(0)}to{transform:translateX(-100%)}}\n@keyframes mfl-pulse{0%{transform:scale(1);opacity:.75}100%{transform:scale(1.55);opacity:0}}\n@keyframes mfl-nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}\n.mfl-next .mfl-next-t{transition:color .15s linear}\n.mfl-next:hover .mfl-next-t{color:#fff}\n@keyframes mfl-beam{0%{opacity:.9}11%{opacity:.75}12%{opacity:.95}47%{opacity:.82}48%{opacity:.5}49%{opacity:.9}80%{opacity:.78}100%{opacity:.9}}\n.mfl-pil-s{transition:opacity .18s linear}\n.mfl-disp:hover .mfl-pil-s{opacity:0}\n.mfl-pil-b{opacity:0;transition:opacity .12s linear}\n.mfl-disp:hover .mfl-pil-b{opacity:1}\n.mfl-beside .mfl-holo{transition:filter .2s linear}\n.mfl-beside:hover .mfl-holo{filter:brightness(1.4)}\n.mfl-beside .mfl-reel-t{transition:color .15s linear}\n.mfl-beside:hover .mfl-reel-t{color:#00d5f0}\n[data-crn=\"round\"] [data-face],[data-crn=\"round\"] [data-ap]{border-radius:var(--mfl-fr)}\n[data-crn=\"round\"] [data-face]{--mfl-cr:var(--mfl-fr)}\n[data-crn=\"round\"] [data-plate]{border-radius:8px}\n[data-hv=\"bright\"] .mfl-pil-b{display:none}\n[data-hv=\"bright\"].mfl-disp:hover .mfl-pil-s{opacity:1}\n@keyframes mfl-tab-nudge{0%,72%,100%{transform:translateY(0)}84%{transform:translateY(-4px)}}\n@keyframes mfl-tab-nudge-d{0%,72%,100%{transform:translateY(0)}84%{transform:translateY(4px)}}\n@keyframes mfl-vu{0%,100%{transform:scaleY(.22)}18%{transform:scaleY(.86)}40%{transform:scaleY(.42)}63%{transform:scaleY(1)}82%{transform:scaleY(.5)}}\n`;var CSS=`\n@keyframes mfl-show{to{opacity:1}}\n@keyframes mfl-pre{from,to{opacity:0}}\n@keyframes mfl-b2-kx{0%{left:calc(var(--ax) + (var(--aw) - 1px) / 2);width:1px;border-right-width:0}0.1%{border-right-width:1px}100%{left:var(--ax);width:var(--aw)}}\n@keyframes mfl-b2-ky{0%{top:calc(var(--ay) + (var(--ah) - 1px) / 2);height:1px;border-bottom-width:0}0.1%{border-bottom-width:1px}100%{top:var(--ay);height:var(--ah)}}\n@keyframes mfl-b2-clip{0.0%{clip-path:inset(calc((var(--ah) - 1px) * 0.5000) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0665) round var(--mfl-cr, 0px))}2.5%{clip-path:inset(calc((var(--ah) - 1px) * 0.4990) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0580) round var(--mfl-cr, 0px))}5.0%{clip-path:inset(calc((var(--ah) - 1px) * 0.4955) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0505) round var(--mfl-cr, 0px))}7.5%{clip-path:inset(calc((var(--ah) - 1px) * 0.4887) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0437) round var(--mfl-cr, 0px))}10.0%{clip-path:inset(calc((var(--ah) - 1px) * 0.4772) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0377) round var(--mfl-cr, 0px))}12.5%{clip-path:inset(calc((var(--ah) - 1px) * 0.4590) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0322) round var(--mfl-cr, 0px))}15.0%{clip-path:inset(calc((var(--ah) - 1px) * 0.4310) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0274) round var(--mfl-cr, 0px))}17.5%{clip-path:inset(calc((var(--ah) - 1px) * 0.3904) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0230) round var(--mfl-cr, 0px))}20.0%{clip-path:inset(calc((var(--ah) - 1px) * 0.3405) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0192) round var(--mfl-cr, 0px))}22.5%{clip-path:inset(calc((var(--ah) - 1px) * 0.2918) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0157) round var(--mfl-cr, 0px))}25.0%{clip-path:inset(calc((var(--ah) - 1px) * 0.2504) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0127) round var(--mfl-cr, 0px))}27.5%{clip-path:inset(calc((var(--ah) - 1px) * 0.2163) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0101) round var(--mfl-cr, 0px))}30.0%{clip-path:inset(calc((var(--ah) - 1px) * 0.1882) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0078) round var(--mfl-cr, 0px))}32.5%{clip-path:inset(calc((var(--ah) - 1px) * 0.1645) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0059) round var(--mfl-cr, 0px))}35.0%{clip-path:inset(calc((var(--ah) - 1px) * 0.1443) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0043) round var(--mfl-cr, 0px))}37.5%{clip-path:inset(calc((var(--ah) - 1px) * 0.1269) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0029) round var(--mfl-cr, 0px))}40.0%{clip-path:inset(calc((var(--ah) - 1px) * 0.1117) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0018) round var(--mfl-cr, 0px))}42.5%{clip-path:inset(calc((var(--ah) - 1px) * 0.0983) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0010) round var(--mfl-cr, 0px))}45.0%{clip-path:inset(calc((var(--ah) - 1px) * 0.0864) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0005) round var(--mfl-cr, 0px))}47.5%{clip-path:inset(calc((var(--ah) - 1px) * 0.0759) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0001) round var(--mfl-cr, 0px))}50.0%{clip-path:inset(calc((var(--ah) - 1px) * 0.0665) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0000) round var(--mfl-cr, 0px))}52.5%{clip-path:inset(calc((var(--ah) - 1px) * 0.0580) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0000) round var(--mfl-cr, 0px))}55.0%{clip-path:inset(calc((var(--ah) - 1px) * 0.0505) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0000) round var(--mfl-cr, 0px))}57.5%{clip-path:inset(calc((var(--ah) - 1px) * 0.0437) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0000) round var(--mfl-cr, 0px))}60.0%{clip-path:inset(calc((var(--ah) - 1px) * 0.0377) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0000) round var(--mfl-cr, 0px))}62.5%{clip-path:inset(calc((var(--ah) - 1px) * 0.0322) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0000) round var(--mfl-cr, 0px))}65.0%{clip-path:inset(calc((var(--ah) - 1px) * 0.0274) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0000) round var(--mfl-cr, 0px))}67.5%{clip-path:inset(calc((var(--ah) - 1px) * 0.0230) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0000) round var(--mfl-cr, 0px))}70.0%{clip-path:inset(calc((var(--ah) - 1px) * 0.0192) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0000) round var(--mfl-cr, 0px))}72.5%{clip-path:inset(calc((var(--ah) - 1px) * 0.0157) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0000) round var(--mfl-cr, 0px))}75.0%{clip-path:inset(calc((var(--ah) - 1px) * 0.0127) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0000) round var(--mfl-cr, 0px))}77.5%{clip-path:inset(calc((var(--ah) - 1px) * 0.0101) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0000) round var(--mfl-cr, 0px))}80.0%{clip-path:inset(calc((var(--ah) - 1px) * 0.0078) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0000) round var(--mfl-cr, 0px))}82.5%{clip-path:inset(calc((var(--ah) - 1px) * 0.0059) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0000) round var(--mfl-cr, 0px))}85.0%{clip-path:inset(calc((var(--ah) - 1px) * 0.0043) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0000) round var(--mfl-cr, 0px))}87.5%{clip-path:inset(calc((var(--ah) - 1px) * 0.0029) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0000) round var(--mfl-cr, 0px))}90.0%{clip-path:inset(calc((var(--ah) - 1px) * 0.0018) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0000) round var(--mfl-cr, 0px))}92.5%{clip-path:inset(calc((var(--ah) - 1px) * 0.0010) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0000) round var(--mfl-cr, 0px))}95.0%{clip-path:inset(calc((var(--ah) - 1px) * 0.0005) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0000) round var(--mfl-cr, 0px))}97.5%{clip-path:inset(calc((var(--ah) - 1px) * 0.0001) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0000) round var(--mfl-cr, 0px))}100.0%{clip-path:inset(calc((var(--ah) - 1px) * 0.0000) calc(var(--ex, 0px) + (var(--aw) - 1px) * 0.0000) round var(--mfl-cr, 0px))}}\n@keyframes mfl-b2-brk{0%{transform:translate(calc(var(--ix) * var(--mfl-bo)),calc(var(--iy) * var(--mfl-bo)));border-top-width:calc(var(--bt) * 1px);border-right-width:calc(var(--brr) * 1px);border-bottom-width:calc(var(--bb) * 1px);border-left-width:calc(var(--bl) * 1px);border-top-left-radius:calc(var(--bt) * var(--bl) * var(--r0));border-top-right-radius:calc(var(--bt) * var(--brr) * var(--r0));border-bottom-left-radius:calc(var(--bb) * var(--bl) * var(--r0));border-bottom-right-radius:calc(var(--bb) * var(--brr) * var(--r0));border-color:rgba(0,213,240,.85);animation-timing-function:cubic-bezier(.7,0,.3,1)}62.5%{transform:translate(calc(var(--ix) * var(--mfl-ov1) * -1),calc(var(--iy) * var(--mfl-ov1) * -1));border-top-width:calc(var(--bt) * 2px);border-right-width:calc(var(--brr) * 2px);border-bottom-width:calc(var(--bb) * 2px);border-left-width:calc(var(--bl) * 2px);border-top-left-radius:calc(var(--bt) * var(--bl) * var(--r1));border-top-right-radius:calc(var(--bt) * var(--brr) * var(--r1));border-bottom-left-radius:calc(var(--bb) * var(--bl) * var(--r1));border-bottom-right-radius:calc(var(--bb) * var(--brr) * var(--r1));border-color:#00d5f0;animation-timing-function:cubic-bezier(.167,.167,.667,1)}81.25%{transform:translate(calc(var(--ix) * var(--mfl-ov2)),calc(var(--iy) * var(--mfl-ov2)));animation-timing-function:cubic-bezier(.167,.167,.667,1)}100%{transform:none}}\n@keyframes mfl-b2-trk{from{clip-path:inset(-40px 100% -60px 0)}to{clip-path:inset(-40px 0 -60px 0)}}\n@keyframes mfl-b2-tk{from{transform:scaleY(0)}}\n@keyframes mfl-b2-glow{from{box-shadow:0 0 26px 4px rgba(0,213,240,.95),inset 0 0 18px rgba(0,213,240,.6)}to{box-shadow:0 0 26px 4px rgba(0,213,240,0),inset 0 0 18px rgba(0,213,240,0)}}\n@keyframes mfl-hud-on2{0%{opacity:0}8%{opacity:1;filter:brightness(2.6) drop-shadow(0 0 10px #00d5f0)}14%{opacity:0}22%{opacity:1;filter:brightness(2.2) drop-shadow(0 0 10px #00d5f0)}28%{opacity:.25}38%{opacity:1;filter:brightness(2) drop-shadow(0 0 12px #00d5f0)}100%{opacity:1;filter:none}}\n[data-crn=\"round\"] .mfl-apg{--mfl-cr:var(--mfl-fr)}\n.mfl-b7[data-build=\"hud2\"] .mfl-apl{animation:mfl-pre 400ms linear 0ms 1 none,mfl-b2-kx 667ms cubic-bezier(.333,0,0,1) 400ms 1 backwards,mfl-b2-ky 667ms cubic-bezier(.333,0,0,1) 733ms 1 backwards,mfl-b2-glow 1533ms linear 400ms 1 backwards}\n.mfl-b7[data-build=\"hud2\"] [data-face],.mfl-b7[data-build=\"hud2\"] .mfl-apg{animation:mfl-bld-fade 667ms linear 733ms 1 backwards}\n.mfl-b7[data-build=\"hud2\"] [data-face=\"0\"],.mfl-b7[data-build=\"hud2\"] .mfl-apg{animation:mfl-bld-fade 667ms linear 733ms 1 backwards,mfl-b2-clip 666ms linear 733ms 1 backwards}\n.mfl-b7[data-build=\"hud2\"] .mfl-brk{animation:mfl-pre 1400ms linear 0ms 1 none,mfl-b2-brk 533ms linear 1400ms 1 backwards!important}\n.mfl-b7[data-build=\"hud2\"] .mfl-tl6{animation:none!important}\n.mfl-b7[data-build=\"hud2\"] .mfl-trk{animation:mfl-b2-trk 1000ms cubic-bezier(.333,0,0,1) 800ms 1 backwards}\n.mfl-b7[data-build=\"hud2\"] .mfl-tk{animation:mfl-b2-tk 333ms cubic-bezier(.333,0,0,1) var(--tkd) 1 backwards}\n.mfl-b7[data-build=\"hud2\"] .mfl-tcd{animation:mfl-pre var(--d) linear 0ms 1 none}\n.mfl-b7[data-build=\"hud2\"] [data-plate]{animation:mfl-hud-on2 720ms linear 1267ms 1 backwards}\n.mfl-b7[data-build=\"hud2\"] .mfl-h7{animation:mfl-hud-on 760ms linear 200ms 1 backwards}\n.mfl-b7[data-build=\"hud2\"]:not([data-qgo]) ~ .mfl-q7 *{animation-play-state:paused}\n.mfl-b7[data-build=\"hud2\"] .mfl-next{animation:mfl-hud-on2 720ms linear 1600ms 1 backwards}\n@keyframes mfl-hud-on{0%{opacity:0;transform:translateX(-16px)}8%{opacity:1;transform:translateX(9px);filter:brightness(2.6) drop-shadow(0 0 10px #00d5f0)}14%{opacity:0}22%{opacity:1;transform:translateX(-5px);filter:brightness(2.2) drop-shadow(0 0 10px #00d5f0)}28%{opacity:.25;transform:translateX(2px)}38%{opacity:1;transform:none;filter:brightness(2) drop-shadow(0 0 12px #00d5f0)}100%{opacity:1;transform:none;filter:none}}\n@keyframes mfl-hud-apl{0%{opacity:0;box-shadow:none}10%{opacity:1}16%{opacity:0}26%{opacity:1;box-shadow:0 0 18px 2px rgba(0,213,240,.9),inset 0 0 14px rgba(0,213,240,.55)}34%{opacity:.3}44%{opacity:1;box-shadow:0 0 26px 4px rgba(0,213,240,.95),inset 0 0 18px rgba(0,213,240,.6)}100%{opacity:1;box-shadow:none}}\n@keyframes mfl-hud-tear{0%{opacity:0}6%{opacity:1;clip-path:inset(30% 0 52% 0);transform:translateX(-48px);filter:brightness(2.6) blur(2px)}12%{opacity:.3;clip-path:inset(58% 0 18% 0);transform:translateX(36px)}20%{opacity:1;clip-path:inset(8% 0 40% 0);transform:translateX(-24px);filter:brightness(2.1) blur(1.5px)}30%{opacity:.6;clip-path:inset(0 0 0 0);transform:translateX(15px);filter:brightness(1.8) blur(1px)}42%{opacity:1;transform:translateX(-6px);filter:brightness(1.4)}55%{transform:translateX(2px);filter:brightness(1.15)}100%{opacity:1;clip-path:inset(0 0 0 0);transform:none;filter:none}}\n@keyframes mfl-hud-streak{0%{transform:scaleX(0);opacity:1}38%{transform:scaleX(1);opacity:1}70%{opacity:.7}100%{transform:scaleX(1);opacity:0}}\n@keyframes mfl-hud-tl{0%{opacity:0;transform:scaleX(.03);filter:brightness(3)}10%{opacity:1}32%{transform:scaleX(1.03);filter:brightness(2.2)}44%{transform:scaleX(1);opacity:.3}54%{opacity:1;filter:brightness(1.6)}100%{opacity:1;transform:none;filter:none}}\n.mfl-b7[data-build=\"hud\"] .mfl-brk{animation:mfl-pre 60ms linear 0ms 1 none,mfl-hud-on 720ms linear 60ms 1 backwards!important}\n.mfl-b7[data-build=\"hud\"] .mfl-brk[data-hc=\"tr\"]{animation:mfl-pre 120ms linear 0ms 1 none,mfl-hud-on 720ms linear 120ms 1 backwards!important}\n.mfl-b7[data-build=\"hud\"] .mfl-brk[data-hc=\"br\"]{animation:mfl-pre 180ms linear 0ms 1 none,mfl-hud-on 720ms linear 180ms 1 backwards!important}\n.mfl-b7[data-build=\"hud\"] .mfl-brk[data-hc=\"bl\"]{animation:mfl-pre 240ms linear 0ms 1 none,mfl-hud-on 720ms linear 240ms 1 backwards!important}\n.mfl-b7[data-build=\"hud\"] .mfl-apl{animation:mfl-pre 220ms linear 0ms 1 none,mfl-hud-apl 1300ms linear 220ms 1 backwards}\n.mfl-b7[data-build=\"hud\"] .mfl-tl6{transform-origin:0 50%;animation:mfl-pre 600ms linear 0ms 1 none,mfl-hud-tl 800ms linear 600ms 1 backwards!important}\n.mfl-b7[data-build=\"hud\"] [data-plate]{animation:mfl-hud-on 720ms linear 600ms 1 backwards}\n.mfl-b7[data-build=\"hud\"] .mfl-h7{animation:mfl-hud-on 760ms linear 1000ms 1 backwards}\n.mfl-b7[data-build=\"hud\"] ~ .mfl-q7 > *{animation:mfl-hud-on 760ms linear 1400ms 1 backwards}\n@keyframes mfl-hud-streak-d{0%{stroke-dashoffset:100;opacity:1}38%{stroke-dashoffset:0;opacity:1}70%{opacity:.7}100%{stroke-dashoffset:0;opacity:0}}\n@keyframes mfl-hud-trk{0%{transform:none}6%{transform:translateX(-48px)}12%{transform:translateX(36px)}20%{transform:translateX(-24px)}30%{transform:translateX(15px)}42%{transform:translateX(-6px)}55%{transform:translateX(2px)}100%{transform:none}}\n@keyframes mfl-bld-power{0%{clip-path:inset(50% 50% 50% 50%);filter:brightness(3)}22%{clip-path:inset(49.7% 8% 49.7% 8%);filter:brightness(3)}34%{clip-path:inset(49.7% 0 49.7% 0);filter:brightness(2.6)}72%{clip-path:inset(0 0 0 0);filter:brightness(1.35)}100%{clip-path:inset(0 0 0 0);filter:none}}\n@keyframes mfl-bld-wipe{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}\n@keyframes mfl-bld-edge{0%{transform:translateY(0);opacity:1}94%{opacity:1}100%{transform:translateY(var(--mfl-bsh));opacity:0}}\n@keyframes mfl-bld-acq{0%{opacity:0}6%{opacity:.85;clip-path:inset(0 0 62% 0);transform:translateX(-12px)}13%{opacity:.15}20%{opacity:1;clip-path:inset(38% 0 18% 0);transform:translateX(9px)}30%{opacity:.4;clip-path:inset(8% 0 46% 0);transform:translateX(-5px)}42%{opacity:1;clip-path:inset(0 0 0 0);transform:translateX(3px)}55%{opacity:.7}66%{opacity:1;transform:none}100%{opacity:1;clip-path:inset(0 0 0 0);transform:none}}\n@keyframes mfl-bld-scan{0%{opacity:.9}70%{opacity:.6}100%{opacity:0}}\n@keyframes mfl-bld-fade{from{opacity:0}}\n.mfl-bld-edge,.mfl-bld-scan{opacity:0}\n.mfl-disp[data-build=\"power\"]{animation:mfl-pre 260ms linear 0ms 1 none,mfl-bld-power 820ms cubic-bezier(.3,.6,.2,1) 260ms 1 backwards}\n.mfl-disp[data-build=\"wipe\"]{animation:mfl-pre 260ms linear 0ms 1 none,mfl-bld-wipe 950ms cubic-bezier(.7,0,.3,1) 260ms 1 backwards}\n.mfl-disp[data-build=\"wipe\"] .mfl-bld-edge{animation:mfl-bld-edge 950ms cubic-bezier(.7,0,.3,1) 260ms 1 none}\n.mfl-disp[data-build=\"acquire\"]{animation:mfl-pre 260ms linear 0ms 1 none,mfl-bld-acq 900ms linear 260ms 1 backwards}\n.mfl-disp[data-build=\"acquire\"] .mfl-bld-scan{animation:mfl-bld-scan 1100ms linear 260ms 1 none}\n.mfl-disp[data-build=\"roll\"]{animation:mfl-pre 200ms linear 0ms 1 none,mfl-bld-fade 380ms linear 200ms 1 backwards}\n@keyframes mfl-hud-reveal{0%{clip-path:circle(0px at var(--hcx) var(--hcy));filter:brightness(1.9) saturate(.15) hue-rotate(-12deg)}55%{filter:brightness(1.35) saturate(.55)}100%{clip-path:circle(var(--hr) at var(--hcx) var(--hcy));filter:none}}\n@keyframes mfl-hud-cross-x{0%{transform:scaleX(0);opacity:1}45%{transform:scaleX(1);opacity:.95}100%{transform:scaleX(1);opacity:0}}\n@keyframes mfl-hud-cross-y{0%{transform:scaleY(0);opacity:1}45%{transform:scaleY(1);opacity:.95}100%{transform:scaleY(1);opacity:0}}\n@keyframes mfl-hud-ring{0%{transform:scale(.15) rotate(0deg);opacity:0}14%{opacity:1}58%{transform:scale(1) rotate(140deg);opacity:1}100%{transform:scale(2.6) rotate(220deg);opacity:0}}\n@keyframes mfl-hud-ring2{0%{transform:scale(.15) rotate(0deg);opacity:0}18%{opacity:.9}62%{transform:scale(1) rotate(-160deg);opacity:.9}100%{transform:scale(3.1) rotate(-250deg);opacity:0}}\n@keyframes mfl-hud-draw{0%{stroke-dashoffset:1;opacity:1}82%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}\n@keyframes mfl-hud-blink{0%{opacity:0}8%{opacity:1}16%{opacity:.15}24%{opacity:1}34%{opacity:.4}42%{opacity:1}82%{opacity:1}100%{opacity:0}}\n@keyframes mfl-hud-dot{0%{transform:scale(0);opacity:1}30%{transform:scale(1.4);opacity:1}60%{transform:scale(1);opacity:1}100%{transform:scale(1);opacity:0}}\n.mfl-hud .h{opacity:0;transform-box:fill-box;transform-origin:center}\n.mfl-disp[data-build=\"hud\"]{animation:mfl-pre 200ms linear 0ms 1 none,mfl-hud-tear 900ms linear 200ms 1 backwards}\n.mfl-disp[data-build=\"hud\"] .mfl-bld-scan{animation:mfl-bld-scan 1100ms linear 200ms 1 none}\n.mfl-hud[data-build=\"hud\"] .h-cx{animation:mfl-hud-cross-x 760ms cubic-bezier(.2,.8,.2,1) 180ms 1 backwards}\n.mfl-hud[data-build=\"hud\"] .h-cy{animation:mfl-hud-cross-y 760ms cubic-bezier(.2,.8,.2,1) 220ms 1 backwards}\n.mfl-hud[data-build=\"hud\"] .h-r1{animation:mfl-hud-ring 1150ms cubic-bezier(.3,.6,.3,1) 160ms 1 backwards}\n.mfl-hud[data-build=\"hud\"] .h-r2{animation:mfl-hud-ring2 1250ms cubic-bezier(.3,.6,.3,1) 220ms 1 backwards}\n.mfl-hud[data-build=\"hud\"] .h-dot{animation:mfl-hud-dot 700ms cubic-bezier(.2,.8,.2,1) 120ms 1 backwards}\n.mfl-hud[data-build=\"hud\"] .h-st{animation:mfl-hud-streak-d 700ms cubic-bezier(.2,.8,.2,1) 120ms 1 backwards}\n.mfl-hud[data-build=\"hud\"] .h-st2{animation:mfl-hud-streak-d 700ms cubic-bezier(.2,.8,.2,1) 190ms 1 backwards}\n.mfl-hud[data-build=\"hud\"]{animation:mfl-hud-trk 900ms linear 200ms 1 backwards}\n.mfl-hud[data-crn=\"round\"] .h-sq,.mfl-hud:not([data-crn=\"round\"]) .h-rd{display:none}\n.mfl-hud[data-build=\"hud\"] .h-tx{animation:mfl-hud-blink 1100ms linear 520ms 1 backwards}\n@keyframes mfl-win{0%,100%{opacity:1}}\n@keyframes mfl-blink{0%,49%{opacity:1}50%,100%{opacity:0}}\n@keyframes mfl-rec{0%,49%{opacity:1}50%,100%{opacity:.15}}\n@keyframes mfl-gin{0%{clip-path:inset(0 0 62% 0);transform:translateX(-6px)}25%{clip-path:inset(38% 0 18% 0);transform:translateX(5px)}50%{clip-path:inset(8% 0 46% 0);transform:translateX(-3px)}75%{clip-path:inset(0 0 0 0);transform:translateX(2px)}100%{clip-path:inset(0 0 0 0);transform:none}}\n@keyframes mfl-br-tl{from{transform:translate(-34px,-34px);opacity:0}}\n@keyframes mfl-br-tr{from{transform:translate(34px,-34px);opacity:0}}\n@keyframes mfl-br-bl{from{transform:translate(-34px,34px);opacity:0}}\n@keyframes mfl-br-br{from{transform:translate(34px,34px);opacity:0}}\n@keyframes mfl-still{0%{opacity:0;transform:translateX(7%) scale(1.08);filter:blur(16px)}\n 1.9%{opacity:1;transform:translateX(0) scale(1.08);filter:blur(0)}\n 16.2%{opacity:1;transform:translateX(-2.4%) scale(1.08);filter:blur(0)}\n 18.1%{opacity:0;transform:translateX(-9%) scale(1.08);filter:blur(16px)}\n 100%{opacity:0;transform:translateX(-9%) scale(1.08)}}\n@keyframes mfl-slot{0%,1.2%{opacity:0}2.6%,15.8%{opacity:1}17.2%,100%{opacity:0}}\n@keyframes mfl-sheen{0%,72%{transform:translateX(-60%) skewX(-18deg);opacity:0}76%{opacity:1}96%{opacity:1}100%{transform:translateX(260%) skewX(-18deg);opacity:0}}\n@keyframes mfl-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}\n${FX_CSS}\n${CSS3}\n`;var pre=t=>t>0?`mfl-pre ${t}ms linear 0ms 1 none, `:\"\";var gin=(t,ent)=>ent?`animation: ${pre(t)}mfl-gin 168ms steps(1,end) ${t}ms 1 none;`:\"\";var onSlot=i=>`opacity: ${i===0?1:0}; animation: mfl-slot ${CYCLE}ms linear ${i*SLOT}ms infinite ${i===0?\"backwards\":\"none\"};`;var chip=(t,extra=\"\")=>`<span style=\"display: inline-block; background: ${C.crim}; color: ${C.ground}; font-family: ${UI}; font-weight: 400; font-size: 10px; line-height: 1; letter-spacing: .16em; padding: 3px 6px 2px; ${extra}\">${t}</span>`;function typed(lines,t0,size,ent,{oneLine=false,align=\"left\",lh=.82}={}){let t=t0,html=\"\";const STEP=70;const cur=(at,dur,last)=>`<span style=\"position: absolute; left: 100%; top: 7%; height: 82%; width: ${Math.max(3,Math.round(size/26))}px; margin-left: .05em; background: ${C.phos}; box-shadow: 0 0 2px rgba(212,245,251,.8),0 0 14px rgba(0,213,240,.55); opacity: 0; animation: mfl-win ${dur}ms steps(1) ${at}ms 1 none${last?`, mfl-blink 540ms steps(1) ${at}ms 3`:\"\"};\"></span>`;const rows=oneLine?[[lines.map(l=>l[0]).join(\" \"),lines.map(l=>l[1]).find(Boolean)||\"\"]]:lines;rows.forEach(([text,lit],li)=>{const low=text.toLowerCase(),i0=lit?low.lastIndexOf(lit):-1,i1=i0+(lit?lit.length:0);let row=\"\";[...text].forEach((ch,i)=>{const on=i>=i0&&i<i1;const col=on?`color: ${C.acc}; text-shadow: 0 0 22px rgba(0,213,240,.35);`:\"\";const last=li===rows.length-1&&i===text.length-1;if(!ent){row+=ch===\" \"?\" \":`<span style=\"${col}\">${esc2(ch)}</span>`;return;}const at=t;t+=STEP;row+=`<span style=\"position: relative; display: inline-block; ${col} ${ch===\" \"?\"width: .22em;\":\"\"} ${at>0?`animation: mfl-pre ${at}ms linear 0ms 1 none;`:\"\"}\">${ch===\" \"?\"\":esc2(ch)}${cur(at,last?1:STEP,last)}</span>`;});html+=`<div style=\"white-space: nowrap; text-align: ${align};\">${row}</div>`;t+=120;});return{html:`<div style=\"font-family: ${DISPLAY}; font-weight: 400; font-size: ${size}px; line-height: ${lh}; letter-spacing: .01em; text-transform: uppercase; color: #fff;\">${html}</div>`,end:t};}var kicker=(k,ent,size=12.2,extra=\"\")=>`<div style=\"font-family: ${UI}; font-weight: 400; font-size: ${size}px; letter-spacing: .28em; color: ${C.acc}; text-shadow: 0 0 8px ${C.glow}; white-space: nowrap; ${extra}\">${ent?barWrite2(esc2(k),{start:260,profile:\"e\"}):esc2(k)}</div>`;var attribution=(pi,t,extra=\"\")=>`<div style=\"${LABEL} display: flex; flex-direction: column; gap: 5px; white-space: nowrap; ${extra} animation: ${pre(t)}mfl-gin 168ms steps(1,end) ${t}ms 1 none;\"><span style=\"color: ${C.ink};\">${esc2(PEOPLE[pi].who)}</span><span style=\"color: ${C.dim2};\">${esc2(PEOPLE[pi].role)}</span></div>`;var rec=`<span style=\"color: ${C.crim}; animation: mfl-rec 1.8s steps(1) infinite;\">●</span>`;function pullBlocks(x,y,w,maxPs,mark=true){return PULLS.map((q,i)=>{const longest=Math.max(...q.lines.map(l=>l.length));const ps=Math.round(Math.min(maxPs,w/(longest*.41)));const lines=q.lines.map((l,k)=>`<div style=\"white-space: nowrap;\">${barWrite2(`<span style=\"color: ${C.crim};\">${esc2(l)}</span>`,{start:300+k*200,profile:\"e\"})}</div>`).join(\"\");return`<sc-if value=\"{{q${i}}}\" hint-placeholder-val=\"{{${i===0}}}\"><a href=\"#about\" class=\"mfl-part-quote\" aria-label=\"Read the testimonials\" style=\"position: absolute; display: block; left: ${x}px; top: ${y}px; width: max-content; z-index: 14; color: inherit; text-decoration: none; cursor: pointer;\">\n${mark?`<div style=\"position: absolute; left: ${-Math.round(ps*.75)}px; top: -2px; font-family: ${DISPLAY}; font-size: ${Math.round(ps*1.5)}px; line-height: .8; color: ${C.crim}; animation: ${pre(200)}mfl-gin 168ms steps(1,end) 200ms 1 none;\">“</div>`:\"\"}\n<div style=\"font-family: ${DISPLAY}; font-weight: 400; font-size: ${ps}px; line-height: .92; letter-spacing: .01em; text-transform: uppercase;\">${lines}</div>\n${attribution(q.p,800,\"margin-top: 14px;\")}</a></sc-if>`;}).join(\"\\n\");}function drumPoseB(o,len){const P=2.396*len,R=1.341*len,th=-o*50*Math.PI/180,c=Math.cos(th),s=Math.sin(th),sFit=P>R+1?P/(P-R):1;const pr=yl=>{const y=yl*c-R*s,z=yl*s+R*c,den=P-z;return den>1?{Y:y*P/den,s:P/den}:{Y:y,s:1};};const t=pr(-len/2),b=pr(len/2),m=pr(0);return{ty:(t.Y+b.Y)/2/sFit,sx:m.s/sFit,culled:c<=.02||Math.abs(o)>=1.85,scrim:.72*Math.min(1,Math.abs(o))};}function scrollHints(W,H,g,ent){const cx=Math.round(g.dx+g.dw/2),y=H-38,t=ent?2600:0;const next=`<sc-if value=\"{{hintNext}}\" hint-placeholder-val=\"{{true}}\"><a href=\"#work\" class=\"mfl-next\" aria-label=\"Scroll to Selected Work\" style=\"position: absolute; left: ${cx}px; top: ${y}px; transform: translateX(-50%); display: flex; align-items: center; gap: 10px; text-decoration: none; z-index: 14;\">\n<span style=\"width: ${Math.round(g.dw*.2)}px; height: 1px; background: linear-gradient(90deg, transparent, rgba(0,213,240,.45));\"></span>\n${chip(\"01\")}<span class=\"mfl-next-t\" style=\"${LABEL} font-size: 11px; letter-spacing: .22em; color: ${C.acc}; white-space: nowrap;\">SELECTED WORK</span>\n<svg width=\"12\" height=\"8\" viewBox=\"0 0 12 8\" style=\"animation: mfl-nudge 1.6s ease-in-out infinite;\"><path d=\"M1 1l5 5 5-5\" style=\"fill: none; stroke: ${C.acc}; stroke-width: 1.5;\"></path></svg>\n<span style=\"width: ${Math.round(g.dw*.2)}px; height: 1px; background: linear-gradient(90deg, rgba(0,213,240,.45), transparent);\"></span></a></sc-if>`;const roomy=W-(g.dx+g.dw+14)>=150;const top=roomy?108:g.dy-14+46+18,bot=H-56,x=W-(roomy?26:14),span=bot-top;const secs=[[\"00\",\"HOME\"],[\"01\",\"SELECTED WORK\"],[\"02\",\"ABOUT\"],[\"03\",\"CONTACT\"]];const ticks=secs.map(([n,name],i)=>{const ty=top+Math.round(span*i/3),on=i===0;return`<a href=\"#s${n}\" aria-label=\"${name}\" style=\"position: absolute; right: ${roomy?18:6}px; top: ${ty-6}px; display: flex; align-items: center; gap: ${roomy?8:4}px; text-decoration: none; pointer-events: auto;\">\n<span style=\"${LABEL} font-size: 9px; letter-spacing: ${roomy?\".18em\":\".06em\"}; color: ${on?C.acc:\"#848b9c\"}; white-space: nowrap;\">${roomy?`${n} ${name}`:n}</span><span style=\"width: ${on?10:6}px; height: 1px; background: ${on?C.acc:\"rgba(0,213,240,.5)\"};\"></span></a>`;}).join(\"\");const rail=`<sc-if value=\"{{hintRail}}\" hint-placeholder-val=\"{{false}}\"><div style=\"position: absolute; left: 0; top: 0; width: ${W}px; height: ${H}px; pointer-events: none; z-index: 15;\">\n<div style=\"position: absolute; left: ${x}px; top: ${top}px; width: 1px; height: ${span}px; background: rgba(0,213,240,.18);\"></div>\n<div style=\"position: absolute; left: ${x}px; top: ${top}px; width: 1px; height: ${Math.round(span/6)}px; background: ${C.acc}; box-shadow: 0 0 6px rgba(0,213,240,.7);\"></div>\n${ticks}</div></sc-if>`;return next+\"\\n\"+rail;}var COPY_REEL=\"MOTION SHOWREEL\";var COPY_RUN=\"00:59\";function bracketR(x,y,corner,t,ent,r,s=46){const b={tl:\"border-left-width: 2px; border-top-width: 2px;\",tr:\"border-right-width: 2px; border-top-width: 2px;\",bl:\"border-left-width: 2px; border-bottom-width: 2px;\",br:\"border-right-width: 2px; border-bottom-width: 2px;\"}[corner];const rad={tl:\"border-top-left-radius\",tr:\"border-top-right-radius\",bl:\"border-bottom-left-radius\",br:\"border-bottom-right-radius\"}[corner];const anim=ent?`animation: ${pre(t)}mfl-br-${corner} 520ms cubic-bezier(.2,.7,.2,1) ${t}ms 1 none;`:\"\";const iv=`--ix: ${corner[1]===\"l\"?1:-1}; --iy: ${corner[0]===\"t\"?1:-1}; --bt: ${corner[0]===\"t\"?1:0}; --bb: ${corner[0]===\"b\"?1:0}; --bl: ${corner[1]===\"l\"?1:0}; --brr: ${corner[1]===\"r\"?1:0}; --r0: ${r?\"var(--mfl-r0)\":\"0px\"}; --r1: ${r||0}px;`;return`<div class=\"mfl-brk mfl-part-brk\" data-hc=\"${corner}\" data-c=\"${corner}\" style=\"${iv} position: absolute; left: ${x}px; top: ${y}px; width: ${s}px; height: ${s}px; box-sizing: border-box; border: 0 solid ${C.acc}; ${b} ${r?`${rad}: ${r}px;`:\"\"} z-index: 12; ${anim}\"></div>`;}var bracketsR=(x,y,w,h,ent,r,which=[\"tl\",\"tr\",\"bl\",\"br\"],bs=46)=>which.map((c,k)=>bracketR(c[1]===\"l\"?x:x+w-bs,c[0]===\"t\"?y:y+h-bs,c,60+k*40,ent,r,bs)).join(\"\");var cornered=fn=>`<sc-if value=\"{{cornerSquare}}\" hint-placeholder-val=\"{{true}}\">${fn(0)}</sc-if><sc-if value=\"{{cornerRound}}\" hint-placeholder-val=\"{{false}}\">${fn(1)}</sc-if>`;var tri=(s,fill=C.acc)=>`<svg width=\"${s}\" height=\"${s}\" viewBox=\"0 0 14 14\" fill=\"${fill}\" aria-hidden=\"true\"><path d=\"M3.2 1.6v10.8l9.2-5.4L3.2 1.6z\"></path></svg>`;function tcChars(){const s=\"00:00:14:08 / 00:00:59:00\",ord=[...s].map((c,k)=>k);let q=7;for(let k=ord.length-1;k>0;k--){q=(q*1103515245+12345)%2147483648;const m=q%(k+1);[ord[k],ord[m]]=[ord[m],ord[k]];}const at=[];ord.forEach((k,n)=>{at[k]=Math.round(1667+333.3*(n+1)/s.length);});const ch=k=>`<span class=\"mfl-tcd\" style=\"--d: ${at[k]}ms;\">${s[k]}</span>`;return`<span data-tc=\"1\">${[...s].slice(0,11).map((c,k)=>ch(k)).join(\"\")}</span>${[...s].slice(11).map((c,k)=>ch(k+11)).join(\"\")}`;}function timeline6(x,ty,tw,W,t,ent){const segs=STILLS.map((s,i)=>`<div class=\"mfl-tk\" style=\"--tkd: ${Math.round(800+66.67*i)}ms; position: absolute; left: ${(i/STILLS.length*100).toFixed(3)}%; top: -5px; width: 1px; height: 12px; background: rgba(0,213,240,.5);\"></div>`).join(\"\");const chap=STILLS.map((s,i)=>`<div style=\"position: absolute; ${i<STILLS.length/2?`left: ${(i/STILLS.length*100).toFixed(3)}%;`:`right: ${((STILLS.length-i-1)/STILLS.length*100).toFixed(3)}%;`} top: 14px; white-space: nowrap; ${onSlot(i)}\">${chip(`CH 0${i+1}`)}<span style=\"${LABEL} color: ${C.ink}; margin-left: 10px;\">${esc2(s.studio)}</span><span style=\"${LABEL} color: ${C.acc}; margin-left: 12px;\">${esc2(s.meta)}</span></div>`).join(\"\");return`<div class=\"mfl-tl6 mfl-part-tl\" style=\"position: absolute; left: ${x}px; top: ${ty}px; width: ${tw}px; height: 60px; z-index: 14; ${gin(t,ent)}\">\n<sc-if value=\"{{reelFacts}}\" hint-placeholder-val=\"{{false}}\"><a href=\"#reel\" class=\"mfl-reel\" aria-label=\"Play the motion showreel\" style=\"position: absolute; left: 0; top: -1px; display: flex; align-items: center; gap: 10px; text-decoration: none;\">${tri(11)}<span class=\"mfl-reel-t\" style=\"${LABEL} font-size: 12px; letter-spacing: .22em; color: #fff;\">${COPY_REEL}</span><span style=\"${LABEL} color: ${C.acc};\">${COPY_RUN}</span></a></sc-if>\n<span style=\"position: absolute; right: 0; top: 0; ${LABEL} color: #848b9c;\">${rec} ${tcChars()}</span>\n<div class=\"mfl-trk\" style=\"position: absolute; left: 0; right: 0; top: 26px; height: 2px; background: rgba(0,213,240,.2);\">\n${segs}<div style=\"position: absolute; left: 0; top: 0; height: 2px; background: ${C.acc}; box-shadow: 0 0 8px rgba(0,213,240,.7); animation: mfl-prog ${CYCLE}ms linear 0ms infinite;\"></div>\n<div style=\"position: absolute; top: -7px; width: 2px; height: 16px; margin-left: -1px; background: ${C.phos}; box-shadow: 0 0 10px rgba(0,213,240,.9); animation: mfl-head ${CYCLE}ms linear 0ms infinite;\"></div>\n${chap}</div></div>`;}var reelLine=(x,y,big,t,ent)=>`<sc-if value=\"{{reelColumn}}\" hint-placeholder-val=\"{{false}}\"><a href=\"#reel\" class=\"mfl-reel\" aria-label=\"Play the motion showreel\" style=\"position: absolute; left: ${x}px; top: ${y}px; display: flex; align-items: center; gap: ${big?14:11}px; text-decoration: none; z-index: 14; ${gin(t,ent)}\">\n<span style=\"width: ${big?34:28}px; height: ${big?34:28}px; display: flex; align-items: center; justify-content: center; box-shadow: inset 0 0 0 1.5px ${C.acc};\">${tri(big?13:11)}</span>\n<span class=\"mfl-reel-t\" style=\"${LABEL} font-size: ${big?15:13}px; letter-spacing: .22em; color: #fff;\">${COPY_REEL}</span><span style=\"${LABEL} font-size: ${big?13:11}px; color: ${C.acc};\">${COPY_RUN}</span></a></sc-if>`;var ADV={\"dharma\":{\"0\":.256,\"1\":.126,\"2\":.248,\"3\":.248,\"4\":.241,\"5\":.249,\"6\":.254,\"7\":.217,\"8\":.252,\"9\":.254,\"A\":.261,\"B\":.277,\"C\":.271,\"D\":.28,\"E\":.216,\"F\":.202,\"G\":.271,\"H\":.283,\"I\":.13,\"J\":.259,\"K\":.277,\"L\":.194,\"M\":.369,\"N\":.287,\"O\":.276,\"P\":.262,\"Q\":.276,\"R\":.279,\"S\":.26,\"T\":.194,\"U\":.276,\"V\":.258,\"W\":.397,\"X\":.261,\"Y\":.247,\"Z\":.215,\" \":.11,\".\":.128,\",\":.128,\"\\xb7\":.128,\"+\":.256,\"&\":.277,\"-\":.167,\"'\":.128},\"pawl400\":{\"0\":.622,\"1\":.355,\"2\":.611,\"3\":.647,\"4\":.551,\"5\":.62,\"6\":.644,\"7\":.556,\"8\":.633,\"9\":.643,\"A\":.653,\"B\":.593,\"C\":.663,\"D\":.646,\"E\":.565,\"F\":.565,\"G\":.663,\"H\":.692,\"I\":.252,\"J\":.555,\"K\":.679,\"L\":.557,\"M\":.805,\"N\":.721,\"O\":.692,\"P\":.618,\"Q\":.702,\"R\":.618,\"S\":.676,\"T\":.676,\"U\":.712,\"V\":.657,\"W\":.933,\"X\":.639,\"Y\":.674,\"Z\":.634,\" \":.295,\".\":.212,\",\":.213,\"\\xb7\":.212,\"+\":.552,\"&\":.82,\"-\":.38,\"'\":.2}};var emW=(font,txt,track,spaceEm)=>[...String(txt).toUpperCase()].reduce((a,ch)=>{var _a;return a+(ch===\" \"&&spaceEm!=null?spaceEm:(_a=ADV[font][ch])!=null?_a:font===\"dharma\"?.26:.62)+track;},0);var headEm=h=>Math.max(...h.l.map(l=>emW(\"dharma\",l[0],.01,.22)));var kickerPx=h=>12.2*emW(\"pawl400\",h.k,.28);var BRK_R=G=>Math.round((G.faceR+G.BO+G.AI)*2/3);var DEF_HEAD=11;function geo7(W,H){const big=W>=1600,hintH=big?66:56;const FR=(aw2,v,min)=>Math.max(min,Math.round(aw2*v/907));let AI=big?12:9,BO=14,BS=46,faceR=big?12:9;const t=Math.max(0,Math.min(1,(16/9-W/H)/(16/9-5/4)));const c=Math.max(0,Math.min(1,(1080-H)/(1080-768))),HR=141/520,QR=64/520;const asp=16/9+(5/4-16/9)*t;const GUT=Math.round(.045*Math.min(W,H));const GUTS=Math.round(GUT*(1+2*(1-t)));let g1=BO+Math.round(20-6*c);const tlRow=Math.round(60-12*c);let BR=AI+BO;const AIR=Math.round(GUT-(GUT-28)*c),GUTQ=Math.round(GUT-(GUT-24)*c);let Mmin=AI+BO+(big?40:18);const qCap=big?Math.round(64+16*t):999;let ah=1e3,colW=0,qps=0,hsCap=Infinity;for(let i=0;i<8;i++){BR=AI+BO;Mmin=AI+BO+(big?40:18);g1=BO+Math.round(20-6*c);hsCap=HR*ah;colW=Math.ceil(Math.min(386,Math.floor(hsCap)*headEm(HEADS[DEF_HEAD])));qps=Math.floor(Math.min(qCap,QR*ah));const qH2=qps*1.84+43;const ahW=(W-2*Mmin-colW-GUTS)/asp;const ahH=H-68-hintH-2*AIR-BR-AI-g1-tlRow-GUTQ-qH2;ah=Math.min(ahW,ahH);const aw1=ah*asp;AI=FR(aw1,12,6);BO=FR(aw1,14,8);BS=FR(aw1,46,24);faceR=FR(aw1,12,6);}BR=AI+BO;Mmin=AI+BO+(big?40:18);g1=BO+Math.round(20-6*c);ah=Math.round(ah);const aw=Math.round(ah*asp);const qH=Math.round(qps*1.84+43);const boxW=colW+GUTS+aw,boxH=BR+ah+AI+g1+tlRow+GUTQ+qH;const M=Math.round((W-boxW)/2),top=68+Math.round((H-68-hintH-boxH)/2);const apL=M+colW+GUTS,apT=top+BR;const tlY=apT+ah+AI+g1,qY=tlY+tlRow+GUTQ;const sx=apL-GUTS,sy=apT-AI-20;return{W,H,big,faceR,hintH,AI,BO,BS,t,c,asp,GUT,M,boxW,boxH,top,sx,sy,sw:W-sx,sh:ah+2*AI+40,fx:GUTS,fy:AI+20,fw:aw,fh:ah,GUTS,fadeL:Math.round(GUTS*.75),fadeR:Math.round((W-apL-aw)*.8),front:{dx:apL,dy:apT,dw:aw,dh:ah},box:{dx:apL-AI,dy:apT-AI,dw:aw+2*AI,dh:ah+2*AI},tlY,tlRow,hsCap:Math.floor(hsCap),qps,qY,g:{L:M,dy:apT},col:{x:M,y:apT,w:colW,bottom:tlY+tlRow-4}};}function quoteGeo7(W,H){const G=geo7(W,H),ps=G.qps;return{ps,x:G.col.x+Math.round(ps*.75),y:G.qY,w:G.boxW-Math.round(ps*.75)};}function quote7(W,H){const q=quoteGeo7(W,H);return pullBlocks(q.x,q.y,Math.max(q.w,q.ps*40),q.ps);}function pilot7(G,side){const big=G.big,inset=big?22:16,box=big?34:28;const y=G.fy+G.fh-inset-(box+(big?20:16));const plate=`<a href=\"#reel\" aria-label=\"Play the motion showreel\" class=\"mfl-pil-s mfl-holo\" data-plate=\"1\" style=\"position: absolute; ${side===\"left\"?`left: ${G.fx+inset}px;`:`right: ${G.sw-G.fx-G.fw+inset}px;`} top: ${y}px; z-index: 210; cursor: pointer; text-decoration: none; display: flex; align-items: center; gap: ${big?14:11}px; padding: ${big?10:8}px ${big?18:14}px ${big?10:8}px ${big?10:8}px; box-sizing: border-box; background: rgba(4,6,10,.62); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: inset 0 0 0 1px rgba(0,213,240,.30); white-space: nowrap;\">\n<span style=\"width: ${box}px; height: ${box}px; flex: none; display: flex; align-items: center; justify-content: center; box-shadow: inset 0 0 0 1.5px ${C.acc};\">${tri(big?13:11)}</span>\n<span class=\"mfl-reel-t\" style=\"${LABEL} font-size: ${big?15:13}px; letter-spacing: .22em; color: #fff;\">${COPY_REEL}</span><span style=\"${LABEL} font-size: ${big?13:11}px; color: ${C.acc};\">${COPY_RUN}</span></a>`;const hw=big?150:116,hh=Math.round(hw*1.04);const boot=`<sc-if value=\"{{hoverBoot}}\" hint-placeholder-val=\"{{true}}\"><span class=\"mfl-pil-b\" style=\"position: absolute; left: ${G.fx}px; top: ${G.fy}px; width: ${G.fw}px; height: ${G.fh}px; z-index: 205; pointer-events: none;\">\n<span data-ap=\"1\" style=\"position: absolute; inset: 0; background: rgba(4,6,10,.42);\"></span>\n<span style=\"position: absolute; left: 50%; top: 50%; width: ${hw}px; height: ${hh+40}px; margin: ${-Math.round((hh+40)/2)}px 0 0 ${-Math.round(hw/2)}px;\">\n<span style=\"position: absolute; left: -40%; right: -40%; top: ${hh-10}px; height: 40px; background: radial-gradient(ellipse 50% 40% at 50% 30%, rgba(0,213,240,.45), transparent 70%); filter: blur(3px);\"></span>\n<span style=\"position: absolute; left: 12%; right: 12%; top: ${hh+2}px; height: 1px; background: linear-gradient(90deg, transparent, ${C.acc}, transparent);\"></span>\n<canvas data-proj=\"play\" data-mode=\"alpha\" data-boot=\"1\" style=\"position: absolute; left: ${-Math.round(hw*.8/14)}px; top: 0; width: ${hw}px; height: ${hh}px;\"></canvas></span></span></sc-if>`;return plate+boot;}function hint8(W,H){const tab=down=>`<a href=\"#work\" class=\"mfl-next\" aria-label=\"Scroll to Selected Work\" style=\"position: absolute; left: 0; right: 0; margin: 0 auto; width: max-content; bottom: 14px; padding: 14px 26px; display: block; z-index: 14; text-decoration: none;\">\n<span style=\"position: relative; width: 44px; height: 16px; display: flex; align-items: center; justify-content: center; animation: ${down?\"mfl-tab-nudge-d\":\"mfl-tab-nudge\"} 2.4s ease-in-out infinite;\">\n<svg width=\"14\" height=\"8\" viewBox=\"0 0 14 8\" fill=\"none\" aria-hidden=\"true\" style=\"display: block; overflow: visible;\"><path d=\"${down?\"M1 1L7 7L13 1\":\"M1 7L7 1L13 7\"}\" stroke=\"#00d5f0\" stroke-width=\"2\" stroke-linecap=\"square\"></path></svg>\n<i style=\"position: absolute; left: 50%; margin-left: -11px; width: 22px; height: 2px; background: rgba(0,213,240,.55); ${down?\"top: -4px;\":\"bottom: -4px;\"}\"></i>\n<i style=\"position: absolute; left: 50%; margin-left: -7px; width: 14px; height: 2px; background: rgba(0,213,240,.55); opacity: .45; ${down?\"top: -9px;\":\"bottom: -9px;\"}\"></i></span></a>`;return`<sc-if value=\"{{hintDown}}\" hint-placeholder-val=\"{{true}}\">${tab(true)}</sc-if><sc-if value=\"{{hintUp}}\" hint-placeholder-val=\"{{false}}\">${tab(false)}</sc-if>`;}var SHIFT=null;function shiftAnims(html,d){return html.replace(/animation: ([^;\"]+)/g,(m,list)=>{const out=list.split(/,(?![^(]*\\))/).map(e=>e.trim()).map(e=>{const p=e.split(/\\s+/),ti=p.map((x,i)=>/^-?[\\d.]+ms$/.test(x)?i:-1).filter(i=>i>=0);if(p[0]===\"mfl-pre\"){const v=parseFloat(p[ti[0]])+d;if(v<=0)return null;p[ti[0]]=Math.round(v)+\"ms\";return p.join(\" \");}if(ti.length>=2)p[ti[1]]=Math.round(parseFloat(p[ti[1]])+d)+\"ms\";return p.join(\" \");}).filter(Boolean);return out.length?\"animation: \"+out.join(\", \"):\"animation: none\";});}function barrel7(W,H,h,ent){const G0=geo7(W,H),f=G0.front,big=G0.big;const FW=Math.max(G0.fw,Math.round(G0.fh*16/9)),EX=Math.round((FW-G0.fw)/2);const S0=EX?Math.min(G0.sx,G0.front.dx-EX-24):G0.sx,G={...G0,sx:S0,sw:W-S0,fx:G0.front.dx-S0};const off=G0.sx-S0,mRest=[off,off+G0.fadeL,G.sw-G0.fadeR,G.sw];const mMove=[Math.min(mRest[0],G.fx-EX-12),Math.min(mRest[1],G.fx-EX+12),Math.max(mRest[2],Math.min(G.fx+G.fw+EX-12,G.sw-12)),G.sw];const faces=STILLS.map((s,i)=>{let o=i;if(o>=STILLS.length/2)o-=STILLS.length;const p=drumPoseB(o,FW),u=Math.min(1,Math.abs(o)/.2),ex=Math.round(EX*(1-u*u*(3-2*u))*1e3)/1e3;return`<div data-face=\"${i}\" data-len=\"${FW}\" data-lenoff=\"${G.fw}\" data-ex=\"${EX}\" data-ax=\"${G.fx}\" data-aw=\"${G.fw}\" data-full=\"${G.fx-EX},${G.fy},${FW},${G.fh}\" data-fit=\"${G.fx},${G.fy+Math.round((G.fh-Math.round(G.fw*9/16))/2)},${G.fw},${Math.round(G.fw*9/16)}\" style=\"--ex: ${EX}px; position: absolute; left: ${G.fx-EX}px; top: ${G.fy}px; width: ${FW}px; height: ${G.fh}px; clip-path: inset(0 ${ex}px 0 ${ex}px round var(--mfl-cr, 0px)); overflow: hidden; background: ${C.plate}; transform: translate3d(${p.ty.toFixed(2)}px,0,0) scale(${p.sx.toFixed(4)}); z-index: ${100-Math.round(Math.abs(o)*10)}; visibility: ${p.culled?\"hidden\":\"visible\"};\">\n<div style=\"position: absolute; inset: 0; background: url(${s.src}) center / cover no-repeat; filter: saturate(.72) contrast(1.04) brightness(.86) hue-rotate(-4deg);\"></div>\n<div data-scrim=\"1\" style=\"position: absolute; inset: 0; background: #04060a; opacity: ${p.scrim.toFixed(3)};\"></div></div>`;}).join(\"\");const mask=EX?\"linear-gradient(to right, transparent var(--l0), #000 var(--l1), #000 var(--r1), transparent var(--r0))\":`linear-gradient(to right, transparent 0, #000 ${G.fadeL}px, #000 calc(100% - ${G.fadeR}px), transparent 100%)`;const mVars=EX?`--l0: ${mRest[0]}px; --l1: ${mRest[1]}px; --r1: ${mRest[2]}px; --r0: ${mRest[3]}px;`:\"\";const apGround=`<div data-ap=\"1\" class=\"mfl-apg\" style=\"position: absolute; left: ${G.fx}px; top: ${G.fy}px; width: ${G.fw}px; height: ${G.fh}px; background: ${C.plate}; z-index: 1;\"></div>`;const apLine=`<div data-ap=\"1\" class=\"mfl-apl\" style=\"position: absolute; left: ${G.fx}px; top: ${G.fy}px; width: ${G.fw}px; height: ${G.fh}px; box-sizing: border-box; border: 1px solid rgba(0,213,240,.85); z-index: 220; pointer-events: none;\"></div>`;const pil=`<sc-if value=\"{{pilotLeft}}\" hint-placeholder-val=\"{{true}}\">${pilot7(G,\"left\")}</sc-if><sc-if value=\"{{pilotRight}}\" hint-placeholder-val=\"{{false}}\">${pilot7(G,\"right\")}</sc-if>`;const stage=`<div class=\"mfl-disp\" data-build=\"${ent?\"{{build}}\":\"off\"}\" data-drum=\"x\" data-slot=\"${SLOT}\" data-roll=\"{{roll}}\" data-crn=\"{{corners}}\" data-hv=\"{{hover}}\" data-open=\"{{reveal}}\" data-mrest=\"${mRest.join(\",\")}\" data-mmove=\"${mMove.join(\",\")}\" style=\"${mVars} --mfl-fr: ${G.faceR}px; --mfl-bsh: ${G.sh}px; --hcx: ${G.fx+G.fw/2}px; --hcy: ${G.fy+G.fh/2}px; --hr: ${Math.ceil(Math.hypot(G.sw,G.sh))}px; --ax: ${G.fx}px; --ay: ${G.fy}px; --aw: ${G.fw}px; --ah: ${G.fh}px; position: absolute; display: block; left: ${G.sx}px; top: ${G.sy}px; width: ${G.sw}px; height: ${G.sh}px; overflow: hidden; z-index: 2; -webkit-mask-image: ${mask}; mask-image: ${mask};\">\n${apGround}${faces}${pil}${apLine}<div class=\"mfl-bld-scan\" style=\"position: absolute; left: ${G.fx}px; top: ${G.fy}px; width: ${G.fw}px; height: ${G.fh}px; z-index: 225; pointer-events: none; background: repeating-linear-gradient(0deg,rgba(0,213,240,.16) 0 1px,transparent 1px 3px);\"></div><div class=\"mfl-bld-edge\" style=\"position: absolute; left: 0; right: 0; top: 0; height: 2px; z-index: 230; pointer-events: none; background: #d4f5fb; box-shadow: 0 0 10px 2px rgba(0,213,240,.9), 0 0 32px 6px rgba(0,213,240,.45);\"></div></div>`;const hd={x:G.col.x,y:G.col.y,w:G.col.w};const rl=big?34:28,gap=big?34:24;const hs=Math.floor(Math.min(G.hsCap,hd.w/headEm(h),(G.col.bottom-G.col.y-28-16-rl-gap)/(h.l.length*.82)));const ty=typed(h.l,620,hs,ent);const headH=28+hs*.82*h.l.length;const headW=hs*headEm(h),kW=kickerPx(h);let kSize=12.2,kTrack=.28;if(kW<headW*.98){kSize=12.2*headW/kW;}else if(kW>headW*1.02){const chars=[...h.k].length,adv=emW(\"pawl400\",h.k,0);kSize=Math.max(10,12.2*headW/kW);kTrack=Math.max(.08,(headW/kSize-adv)/chars);}const kick=kSize===12.2?kicker(h.k,ent):kicker(h.k,ent,+kSize.toFixed(2),`letter-spacing: ${kTrack.toFixed(3)}em;`);const head=`<div class=\"mfl-h7 mfl-part-head\" style=\"position: absolute; left: ${hd.x}px; top: ${hd.y}px; width: ${hd.w}px; z-index: 14;\">${kick}<div style=\"margin-top: 16px;\">${ty.html}</div></div>`;const SA=`fill=\"none\" stroke=\"#ffffff\" stroke-width=\"2\" pathLength=\"100\" stroke-dasharray=\"100\"`,hr=G.faceR-1,hm=G.fw/2,hb=G.fh-1,hv=G.fh/2;const hud=`<div class=\"mfl-hud\" data-build=\"${ent?\"{{build}}\":\"off\"}\" data-crn=\"{{corners}}\" style=\"position: absolute; left: ${G.sx+G.fx}px; top: ${G.sy+G.fy}px; width: ${G.fw}px; height: ${G.fh}px; z-index: 13; pointer-events: none; overflow: visible;\"><svg width=\"${G.fw}\" height=\"${G.fh}\" viewBox=\"0 0 ${G.fw} ${G.fh}\" style=\"position: absolute; inset: 0; overflow: visible;\">\n<g style=\"filter: drop-shadow(0 0 8px rgba(0,213,240,1)) drop-shadow(0 0 3px #fff);\"><path class=\"h h-st h-rd\" d=\"M${hm} 1H${G.faceR}A${hr} ${hr} 0 0 0 1 ${G.faceR}V${hv}\" ${SA}/><path class=\"h h-st h-rd\" d=\"M${hm} 1H${G.fw-G.faceR}A${hr} ${hr} 0 0 1 ${G.fw-1} ${G.faceR}V${hv}\" ${SA}/><path class=\"h h-st h-sq\" d=\"M${hm} 1H1V${hv}\" ${SA}/><path class=\"h h-st h-sq\" d=\"M${hm} 1H${G.fw-1}V${hv}\" ${SA}/></g>\n<g style=\"filter: drop-shadow(0 0 8px rgba(0,213,240,1)) drop-shadow(0 0 3px #fff);\"><path class=\"h h-st2 h-rd\" d=\"M${hm} ${hb}H${G.faceR}A${hr} ${hr} 0 0 1 1 ${G.fh-G.faceR}V${hv}\" ${SA}/><path class=\"h h-st2 h-rd\" d=\"M${hm} ${hb}H${G.fw-G.faceR}A${hr} ${hr} 0 0 0 ${G.fw-1} ${G.fh-G.faceR}V${hv}\" ${SA}/><path class=\"h h-st2 h-sq\" d=\"M${hm} ${hb}H1V${hv}\" ${SA}/><path class=\"h h-st2 h-sq\" d=\"M${hm} ${hb}H${G.fw-1}V${hv}\" ${SA}/></g>\n</svg></div>`;return`\n<div class=\"mfl-b7\" data-build=\"${ent?\"{{build}}\":\"off\"}\" style=\"display: contents; --mfl-bo: ${G.AI+G.BO}px; --mfl-ov1: ${(2*G.fw/907).toFixed(2)}px; --mfl-ov2: ${(G.fw/907).toFixed(2)}px; --mfl-r0: ${G.faceR}px;\">\n${stage}\n${hud}\n${cornered(r=>bracketsR(G.box.dx-G.BO,G.box.dy-G.BO,G.box.dw+2*G.BO,G.box.dh+2*G.BO,ent,r?BRK_R(G):0,void 0,G.BS))}\n${timeline6(G.box.dx,G.tlY,G.box.dw,W,ty.end+120,ent)}\n${SHIFT?shiftAnims(head,SHIFT.head):head}\n${reelLine(hd.x,Math.round(hd.y+headH+gap),big,ty.end+200,ent)}\n${scrollHints(W,H,{dx:Math.round(W/2-f.dw/2),dw:f.dw,dy:f.dy},ent)}\n${hint8(W,H)}</div>`;}var GROUND_HTML=`<div style=\"position: absolute; inset: 0; z-index: 0; pointer-events: none; background-image: linear-gradient(rgba(0,213,240,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,213,240,.035) 1px,transparent 1px); background-size: 88px 88px;\"></div><div style=\"position: absolute; inset: 0; z-index: 0; pointer-events: none; background: radial-gradient(ellipse 90% 55% at 50% -5%,rgba(0,213,240,.13),transparent 60%);\"></div>`;function setData(d){if(d.stills&&d.stills.length){STILLS=d.stills;CYCLE=SLOT*STILLS.length;}if(d.runTime)COPY_RUN=d.runTime;}function renderLanding(W,H,ent,build){const h2=ent&&build===\"hud2\";SHIFT=h2?{head:-800}:null;let body;try{body=barrel7(W,H,HEADS[DEF_HEAD],ent);}finally{SHIFT=null;}const q=quote7(W,H);return GROUND_HTML+\"\\n\"+body+'\\n<div class=\"mfl-q7\" style=\"display: contents;\">'+(h2?shiftAnims(q,0):q)+\"</div>\";}// ../s213-landing/_mfl-entry.tmp.mjs\nvar HOLE=/^\\{\\{\\s*([A-Za-z0-9_.]+)\\s*\\}\\}$/;function DCLogic(){}var LOGIC_SRC=`class Component extends DCLogic {\n  componentDidMount() {\n    this.state = this.state || {};\n    this._q = 0; this._s = 0; this._arm();\n    this._qgo();\n    this._tc = 14 * 25 + 8; this._tci = setInterval(() => this._tick(), 40);\n    this._mx = 0; this._my = 0; this._tx = 0; this._ty = 0;\n    this._pm = (e) => { const el = this.root || document.documentElement; const r = el.getBoundingClientRect(); this._tx = Math.max(-1, Math.min(1, ((e.clientX - r.left) / r.width - .5) * 2)); this._ty = Math.max(-1, Math.min(1, ((e.clientY - r.top) / r.height - .5) * 2)); };\n    this._pl = () => { this._tx = 0; this._ty = 0; };\n    document.addEventListener(\"pointermove\", this._pm); document.documentElement.addEventListener(\"pointerleave\", this._pl);\n    // round 5 (H3 PILOT): pointing at the picture re-runs the big hologram's power-up flicker\n    this._po = (e) => { const d = e.target && e.target.closest && e.target.closest(\".mfl-disp\"); if (!d || (e.relatedTarget && d.contains(e.relatedTarget))) return;\n      for (const E of this._eng) if (E.cv.hasAttribute(\"data-boot\") && d.contains(E.cv)) { E.phase = \"up\"; E.t0 = performance.now(); } };\n    document.addEventListener(\"pointerover\", this._po);\n    this._eng = []; this._raf = requestAnimationFrame((n) => this._frame(n));\n    this._scan = setInterval(() => this._projScan(), 200);\n  }\n  componentWillUnmount() { clearTimeout(this._qg); clearInterval(this._lp); clearInterval(this._t); clearInterval(this._ts); clearTimeout(this._r); clearInterval(this._tci); clearInterval(this._scan); cancelAnimationFrame(this._raf); document.removeEventListener(\"pointermove\", this._pm); document.removeEventListener(\"pointerover\", this._po); document.documentElement.removeEventListener(\"pointerleave\", this._pl); if (this.root) { this.root.removeEventListener(\"pointermove\", this._pm); this.root.removeEventListener(\"pointerleave\", this._pl); } }\n  _arm() { clearInterval(this._t); clearInterval(this._ts); this._t = setInterval(() => { this._q = (this._q + 1) % 4; this.forceUpdate(); }, 9000); this._ts = setInterval(() => { this._s = (this._s + 1) % 6; this.forceUpdate(); }, 4500); }\n  _replay() { this._q = 0; this._s = 0; this.setState({ off: true }); clearTimeout(this._r); this._r = setTimeout(() => this.setState({ off: false }), 40); this._arm(); this._qgo(); }\n  _tick() { this._tc++; const f = this._tc % 25, s = Math.floor(this._tc / 25) % 60, m = Math.floor(this._tc / 1500) % 60; const p = (n) => (n < 10 ? \"0\" : \"\") + n; const t = \"00:\" + p(m) + \":\" + p(s) + \":\" + p(f); this._base().querySelectorAll(\"[data-tc]\").forEach((el) => { const d = el.children; if (d.length === t.length) { for (let k = 0; k < d.length; k++) if (d[k].textContent !== t[k]) d[k].textContent = t[k]; } else if (el.textContent !== t) el.textContent = t; }); }\n  _frame(now) {\n    this._raf = requestAnimationFrame((n) => this._frame(n));\n    const depth = this.props.depth ?? \"layers\";\n    const k = 0.08;\n    if (depth === \"off\") { this._tx = 0; this._ty = 0; }\n    this._mx += (this._tx - this._mx) * k; this._my += (this._ty - this._my) * k;\n    { const el = this.root || document.querySelector(\"[data-mfl-root]\"); if (el) el.style.setProperty(\"--mx\", this._mx.toFixed(4)), el.style.setProperty(\"--my\", this._my.toFixed(4)); }\n    this._eng = this._eng.filter((E) => E.cv.isConnected);\n    for (const E of this._eng) this._projStep(E, now);\n    this._drums(now);\n  }\n  // ---- round 5: THE BARREL - the phone deck's drum, ported (mobileDeckDrumPose + mobileDeckDrumAabb, s192), R and P\n  // as ratios of the face (the filmography's signed 1.341 / 2.396), the stepper STIFF .36 / DAMP .5454 run on fixed\n  // 60Hz substeps so a 120Hz screen rolls it at the same speed. One still = one whole step, on the stills' own clock.\n  _drumPose(o, len) {\n    const P = 2.396 * len, R = 1.341 * len, th = (-o * 50 * Math.PI) / 180, c = Math.cos(th), s = Math.sin(th), sFit = P > R + 1 ? P / (P - R) : 1;\n    const pr = (yl) => { const y = yl * c - R * s, z = yl * s + R * c, den = P - z; return den > 1 ? { Y: (y * P) / den, s: P / den } : { Y: y, s: 1 }; };\n    const t = pr(-len / 2), b = pr(len / 2), m = pr(0);\n    return { ty: ((t.Y + b.Y) / 2) / sFit, sx: m.s / sFit, culled: c <= 0.02 || Math.abs(o) >= 1.85, scrim: 0.72 * Math.min(1, Math.abs(o)) };\n  }\n  _drums(now) {\n    this._drN = (this._drN || 0) + 1;\n    if (!this._dr || this._drN % 15 === 0) {\n      this._dr = (this._dr || []).filter((el) => el.isConnected);\n      this._base().querySelectorAll(\"[data-drum]\").forEach((el) => {\n        if (el._dm) return;\n        el._dm = { pos: 0, v: 0, t0: now, acc: 0, last: now, faces: Array.from(el.querySelectorAll(\"[data-face]\")) };\n        // round 11 BUILD roll: start two pictures back and roll in (the entrance variant only carries data-build)\n        if (el.getAttribute(\"data-build\") === \"roll\") { el._dm.pos = -2; el._dm.tw = { from: -2, to: 0, t: now + 200, D: 1500 }; }\n        this._dr.push(el);\n      });\n    }\n    const STEP = 1000 / 60;\n    for (const el of this._dr) {\n      const st = el._dm, N = st.faces.length, ax = el.getAttribute(\"data-drum\"), slot = +el.getAttribute(\"data-slot\") || 4200;\n      const target = Math.floor((now - st.t0) / slot);\n      // round 6 (his: \"the switch from one image to the next feels a bit violent\"): ROLL = phone (the signed spring, the\n      // control) | soft (a 1.1s ease-in-out tween over the same pose maths) | slow (1.8s). The tween restarts from where\n      // the barrel IS whenever the target moves, so a switch mid-roll never jumps.\n      const roll = el.getAttribute(\"data-roll\") || \"phone\";\n      // s216 (his: \"if i switch to another tab for a while, when i return, the barrel images roll rapidly before\n      // resolving\"): no frames run while a tab is hidden but the slot clock does, so on return the target is several\n      // stills ahead and the barrel rolled through all of them in one tween. A clock that jumps 2+ stills past where\n      // the barrel is heading CUTS to the still it should show (a cut on the first frame back is unseen); a normal\n      // slot change is always +1 and still rolls. Keyed on the destination, not the position, so the round-11 ROLL\n      // build (pos -2 -> 0) keeps its tween. The live wrapper also freezes the landing while hidden (gen.js).\n      if (target - (roll === \"phone\" || !st.tw ? Math.round(st.pos) : st.tw.to) >= 2) { st.pos = target; st.v = 0; st.acc = 0; st.tw = roll === \"phone\" ? null : { from: target, to: target, t: now }; }\n      if (roll === \"phone\") {\n        st.acc = Math.min(250, st.acc + (now - st.last)); st.last = now;\n        while (st.acc >= STEP) { st.acc -= STEP; st.v = (st.v + (target - st.pos) * 0.36) * 0.5454; st.pos += st.v; }\n        if (Math.abs(target - st.pos) < 0.0005 && Math.abs(st.v) < 0.0005) { st.pos = target; st.v = 0; }\n        st.tw = null;\n      } else {\n        st.last = now; st.v = 0;\n        if (!st.tw || st.tw.to !== target) st.tw = { from: st.pos, to: target, t: now };\n        // round 9f (his: \"add a slight overshoot so it feels a bit closer to the other instances of the barrel\"): the same\n        // cubic ease-in, then an ease-out-back that runs ~2% past the still (9g: his \"overshooting a bit too far\" at ~4%, OB 1.5) and settles (the phone spring overshoots ~11%;\n        // its instant start was what read as violent). glide = round 6-9e (no overshoot). The barrel never takes the\n        // wheel - it only loops on its own (his rule).\n        const D = st.tw.D || (roll === \"slow\" ? 1800 : 1100), u = Math.max(0, Math.min(1, (now - st.tw.t) / D)), OB = 1.05;\n        const e = u < .5 ? 4 * u * u * u : roll === \"glide\" ? 1 - Math.pow(-2 * u + 2, 3) / 2 : .5 + .5 * (1 + (OB + 1) * Math.pow(2 * u - 2, 3) + OB * Math.pow(2 * u - 2, 2));\n        st.pos = st.tw.from + (st.tw.to - st.tw.from) * e;\n      }\n      // round 10: the clip opens with |o| (open) or holds the aperture (off = round 9); open spaces the faces by the\n      // still's full width (data-len), off by the aperture's (data-lenoff) as round 9 did\n      const rv = el.getAttribute(\"data-open\"), open = rv === \"open\" || rv === \"spill\" || rv === \"window\", fit = rv === \"fit\";\n      // 10f FIT (his: titles \"getting cut off, so you can see the crop happening which cuts right into the words\"): the\n      // whole 16:9 still at the aperture's width, centred top to bottom in it - never trimmed, so no crop ever shows\n      if (st.fitOn !== fit && st.faces[0].hasAttribute(\"data-fit\")) {\n        st.fitOn = fit;\n        st.faces.forEach((f) => { const g = f.getAttribute(fit ? \"data-fit\" : \"data-full\").split(\",\").map(Number); f.style.left = g[0] + \"px\"; f.style.top = g[1] + \"px\"; f.style.width = g[2] + \"px\"; f.style.height = g[3] + \"px\"; });\n      }\n      // 10c SPILL: the stage's window opens to the still's 16:9 extents while it moves (d = how far between two stills)\n      // 10d (the Mac measured 10c: the stills were open only ~270ms, mid-roll at full speed - the slow start and the\n      // landing were cropped, and the incoming still re-cropped before its centre reached the aperture's): SPILL now opens\n      // by TIME - over the first OPEN ms of a roll (the still has barely moved: the ease-in covers ~2% by then), held open\n      // through the whole roll and its overshoot, closed over CLOSE ms only once it has landed. mT 0 at rest.\n      const SP_OPEN = 180, SP_CLOSE = 260;\n      let mT = -1;\n      if (rv === \"spill\" && st.tw) {\n        const D = roll === \"slow\" ? 1800 : 1100, t = now - st.tw.t;\n        const a = st.tw.to === st.tw.from ? 0 : t < SP_OPEN ? t / SP_OPEN : t <= D ? 1 : Math.max(0, 1 - (t - D) / SP_CLOSE);\n        mT = a * a * (3 - 2 * a);\n      }\n      if (el.hasAttribute(\"data-mrest\") && el.style.getPropertyValue(\"--l0\")) {\n        const A = el.getAttribute(\"data-mrest\").split(\",\").map(Number), B = el.getAttribute(\"data-mmove\").split(\",\").map(Number);\n        const d = Math.abs(st.pos - Math.round(st.pos)), w = rv === \"spill\" ? Math.min(1, d / .2) : 0, m = mT >= 0 ? mT : w * w * (3 - 2 * w);\n        [\"--l0\", \"--l1\", \"--r1\", \"--r0\"].forEach((k, j) => el.style.setProperty(k, (A[j] + (B[j] - A[j]) * m).toFixed(1) + \"px\"));\n      }\n      const len = +st.faces[0].getAttribute(open && !fit ? \"data-len\" : \"data-lenoff\") || +st.faces[0].getAttribute(\"data-len\") || (ax === \"x\" ? st.faces[0].offsetWidth : st.faces[0].offsetHeight);\n      if (!(len > 0)) continue;\n      st.faces.forEach((f, i) => {\n        let o = (((i - st.pos) % N) + N) % N; if (o >= N / 2) o -= N;\n        const p = this._drumPose(o, len);\n        f.style.visibility = p.culled ? \"hidden\" : \"visible\";\n        // the cull (|o| 1.85) is INSIDE the landing stage's visible peek, so a face popped on and off there; the soft\n        // arms fade it over the last .45 of a step (the phone arm keeps the port untouched)\n        f.style.opacity = roll === \"phone\" ? \"1\" : Math.max(0, Math.min(1, (1.85 - Math.abs(o)) / .45)).toFixed(3);\n        f.style.zIndex = String(100 - Math.round(Math.abs(o) * 10));\n        const EX = +f.getAttribute(\"data-ex\") || 0;\n        // 10h (his: \"the matting on the wide screen layouts isn't working...this should be a rule across the board\"): the\n        // window rule runs on 16:9 windows too (EX 0 there: the stills ARE the aperture, so only the landing matte acts)\n        if (EX || rv === \"window\") {\n          let cl, cr;\n          if (fit) { cl = cr = 0; }\n          else if (rv === \"window\") {\n            // 10e WINDOW (his: \"i don't like how the matte expands the image to full crop on leaving and retracts from full\n            // when entering\"): no edge ever opens or closes in place. The side facing the aperture's centre is cut at the\n            // FAR aperture line, fixed in screen space (so the picture's real edge slides in under the near line and out\n            // under the far one); the outer side keeps its rest crop EX, rigid with the picture (round 9). At o = 0 both\n            // give EX on both sides, so the switch at the sign of o is continuous. Screen maths in stage px: the face's\n            // centre = aperture centre + ty, its half-width = len/2 x scale; clip-path insets are local px (/ scale).\n            const ax = +f.getAttribute(\"data-ax\"), aw = +f.getAttribute(\"data-aw\"), c = ax + aw / 2 + p.ty, hw = len / 2 * p.sx;\n            // 10f (his: \"the overshoots outside of the aperture ... it should be a strict matte object at that point\"): the\n            // still that is LANDING keeps its left side on the fixed line x ax through the overshoot (o < 0), instead of\n            // its rigid rest crop running ~30px past the frame\n            const landing = ((((i - target) % N) + N) % N) === 0;\n            if (o > 0 || (landing && o < 0)) { cl = Math.max(0, (ax - (c - hw)) / p.sx); cr = o > 0 ? EX : Math.max(0, (c + hw - (ax + aw)) / p.sx); }\n            else if (o < 0) { cr = Math.max(0, (c + hw - (ax + aw)) / p.sx); cl = EX; }\n            else { cl = cr = EX; }\n          } else {\n            const u = Math.min(1, Math.abs(o) / .2); cl = cr = mT >= 0 ? (Math.abs(o) < .5 ? EX * (1 - mT) : 0) : open ? EX * (1 - u * u * (3 - 2 * u)) : EX;\n          }\n          f.style.clipPath = \\`inset(0 \\${cr.toFixed(2)}px 0 \\${cl.toFixed(2)}px round var(--mfl-cr, 0px))\\`;\n        }\n        f.style.transform = (ax === \"x\" ? \\`translate3d(\\${p.ty.toFixed(2)}px,0,0)\\` : \\`translate3d(0,\\${p.ty.toFixed(2)}px,0)\\`) + \\` scale(\\${p.sx.toFixed(4)})\\`;\n        const sc = f.querySelector(\"[data-scrim]\"); if (sc) sc.style.opacity = p.scrim.toFixed(3);\n        f.setAttribute(\"data-front\", Math.abs(o) < 0.5 ? \"1\" : \"0\");\n      });\n    }\n  }\n  // ---- the hologram ----\n  _qgo() { clearTimeout(this._qg); this._qg = setTimeout(() => { this._base().querySelectorAll(\".mfl-b7\").forEach((w) => w.setAttribute(\"data-qgo\", \"1\")); }, 1000); }\n  _base() { return this.root || document; }\n  _projScan() {\n    this._base().querySelectorAll(\"canvas[data-proj]\").forEach((cv) => {\n      if (cv._pj) return;\n      cv._pj = true;\n      const E = { cv, ctx: cv.getContext(\"2d\"), src: cv.getAttribute(\"data-proj\"), mode: cv.getAttribute(\"data-mode\") || \"alpha\", L: null, W: 0, H: 0, dpr: 1, PW: 0, PH: 0,\n        phase: \"up\", t0: performance.now(), jit: [], spike: { at: 0, dur: 1, str: 0, fringe: false, next: 0 }, roll: { at: -1e9, next: 0 }, dip: { at: -1e9, next: 0 }, streak: { at: -1e9, end: -1e9, next: 0 } };\n      for (let i = 0; i < 12; i++) E.jit.push((Math.random() - .5) * 24);\n      if (E.src === \"play\") { E.img = this._playSrc(); }\n      else { const im = new Image(); im.src = E.src; E.img = im; }\n      this._eng.push(E);\n    });\n  }\n  _playSrc() { const c = document.createElement(\"canvas\"); c.width = 308; c.height = 308; const x = c.getContext(\"2d\"); x.fillStyle = \"#fff\"; x.scale(22, 22); x.fill(new Path2D(\"M3.2 1.6v10.8l9.2-5.4L3.2 1.6z\")); c.complete = true; c.naturalWidth = 308; c.naturalHeight = 308; return c; }\n  _mk(w, h) { const c = document.createElement(\"canvas\"); c.width = w; c.height = h; return c; }\n  _layout(E) {\n    const W = E.cv.clientWidth, H = E.cv.clientHeight;\n    if (!(W > 0 && H > 0)) return false;\n    if (W === E.W && H === E.H) return true;\n    E.W = W; E.H = H; E.dpr = Math.min(2, window.devicePixelRatio || 1);\n    E.PW = Math.round(W * E.dpr); E.PH = Math.round(H * E.dpr); E.cv.width = E.PW; E.cv.height = E.PH; E.L = null;\n    E.noise = [];\n    for (let n = 0; n < 5; n++) { const c = this._mk(E.PW, E.PH), x = c.getContext(\"2d\"), id = x.createImageData(E.PW, E.PH), d = id.data;\n      for (let q = 0; q < d.length; q += 4) { d[q] = 200; d[q + 1] = 245; d[q + 2] = 255; d[q + 3] = Math.random() < .55 ? Math.round(Math.pow(Math.random(), 1.5) * 255) : 0; }\n      x.putImageData(id, 0, 0); E.noise.push(c); }\n    E.scanC = this._mk(E.PW, E.PH); const sx = E.scanC.getContext(\"2d\"), P = Math.max(2, Math.round(2 * E.dpr)); sx.fillStyle = \"#000\"; for (let y = 0; y < E.PH; y += P) sx.fillRect(0, y, E.PW, Math.max(1, Math.round(E.dpr)));\n    E.lay = this._mk(E.PW, E.PH); E.lc = E.lay.getContext(\"2d\");\n    E.rowJ = new Float32Array(E.PH); E.rowB = new Float32Array(E.PH); E.rowS = new Float32Array(E.PH).fill(1);\n    return true;\n  }\n  _layer(E) {\n    if (E.L) return E.L;\n    const img = E.img; if (!img || !img.complete || !(img.naturalWidth > 0)) return null;\n    const PW = E.PW, PH = E.PH, dpr = E.dpr, pad = 2;\n    const BW = E.W - 2 * pad, BH = E.H - 2 * pad;\n    // a portrait FILLS its plate (cover, as the About's plates); a mark fits inside it (contain)\n    const k = E.mode === \"lum\" ? Math.max(BW / img.naturalWidth, BH / img.naturalHeight) : Math.min(BW / img.naturalWidth, BH / img.naturalHeight);\n    const dw = img.naturalWidth * k, dh = img.naturalHeight * k, bx = pad + (BW - dw) / 2, by = pad + (BH - dh) / 2;\n    const off = this._mk(PW, PH), c = off.getContext(\"2d\");\n    c.save(); c.beginPath(); c.rect(pad * dpr, pad * dpr, BW * dpr, BH * dpr); c.clip();\n    c.drawImage(img, bx * dpr, by * dpr, dw * dpr, dh * dpr); c.restore();\n    if (E.mode === \"lum\") {\n      // a photo has no alpha to project: its LIGHT becomes the beam's density (lum -> alpha), in cyan\n      try { const id = c.getImageData(0, 0, PW, PH), d = id.data;\n        for (let q = 0; q < d.length; q += 4) { const l = (0.2126 * d[q] + 0.7152 * d[q + 1] + 0.0722 * d[q + 2]) / 255; const a = Math.pow(l, 1.25) * (d[q + 3] / 255);\n          d[q] = 0; d[q + 1] = 213; d[q + 2] = 240; d[q + 3] = Math.round(Math.min(1, a * 1.35) * 255); }\n        c.putImageData(id, 0, 0); } catch (e) { c.globalCompositeOperation = \"source-atop\"; c.fillStyle = \"rgb(0,213,240)\"; c.fillRect(0, 0, PW, PH); }\n    } else { c.globalCompositeOperation = \"source-atop\"; c.fillStyle = \"rgb(0,213,240)\"; c.fillRect(0, 0, PW, PH); }\n    const hb = this._mk(PW, PH), h = hb.getContext(\"2d\"); let ws = 0; const HR = 12, HS = 5;\n    for (let o = -HR; o <= HR; o++) ws += Math.exp(-Math.pow(o / HS, 2));\n    h.globalCompositeOperation = \"lighter\";\n    for (let o = -HR; o <= HR; o++) { h.globalAlpha = Math.exp(-Math.pow(o / HS, 2)) / ws * 1.15; h.drawImage(off, o * dpr, 0); }\n    const mag = this._mk(PW, PH), m = mag.getContext(\"2d\"); m.drawImage(off, 0, 0); m.globalCompositeOperation = \"source-in\"; m.fillStyle = \"rgb(255,40,90)\"; m.fillRect(0, 0, PW, PH);\n    const s1 = this._mk(Math.max(1, Math.round(PW / 3)), Math.max(1, Math.round(PH / 3))), s2 = this._mk(Math.max(1, Math.round(PW / 10)), Math.max(1, Math.round(PH / 10)));\n    s1.getContext(\"2d\").drawImage(off, 0, 0, s1.width, s1.height); s2.getContext(\"2d\").drawImage(s1, 0, 0, s2.width, s2.height);\n    const glow = this._mk(PW, PH), gg = glow.getContext(\"2d\"); gg.imageSmoothingQuality = \"high\"; gg.drawImage(s2, 0, 0, PW, PH);\n    return (E.L = { off, hb, mag, glow, top: Math.max(pad, by), bot: Math.min(E.H - pad, by + dh) });\n  }\n  _drift(t, s) { return (Math.sin(t * 1.3 + s) + .8 * Math.sin(t * .61 + 2 + s * 1.7) + .5 * Math.sin(t * 2.7 + 1.1 + s * .3)) / 2.3; }\n  _rnd(a) { return a[0] + Math.random() * (a[1] - a[0]); }\n  _wave(yc, t, env) { const ph = 2.4 * this._drift(t * .8, 4); return .8 * env * (Math.sin(2 * Math.PI * yc / 58 + 2.1 * t) + .6 * Math.sin(2 * Math.PI * yc / 13.7 - 5.3 * t + ph) + .3 * Math.sin(2 * Math.PI * yc / 31 + 1.3 * t + 1.7)) / 1.9; }\n  _pattern(E, pat, ms) { let lv = 0; ms *= 1 / .6; for (let i = 0; i < pat.length; i++) { if (ms >= pat[i][0] + (i ? E.jit[i] : 0)) lv = pat[i][1]; else break; } return lv; }\n  _spike(E, now, str) { E.spike.at = now; E.spike.dur = this._rnd([140, 380]); E.spike.str = str; E.spike.fringe = Math.random() < .35; E.spike.next = now + this._rnd([1400, 4200]); }\n  _streaks(E) { const PH = E.PH; let y = 0; E.rowJ.fill(0); E.rowB.fill(0); E.rowS.fill(1);\n    while (y < PH) { const hg = Math.round((2 + Math.random() * 5) * E.dpr); if (Math.random() < .09) { const j = (Math.random() < .5 ? -1 : 1) * (.6 + Math.random() * 2.6), b = .45 + Math.random() * .45, s = 1 + Math.random() * .12; for (let q = y; q < Math.min(PH, y + hg); q++) { E.rowJ[q] = j; E.rowB[q] = b; E.rowS[q] = s; } } y += hg; } }\n  _projStep(E, now) {\n    if (!this._layout(E)) return;\n    const L = this._layer(E); if (!L) return;\n    const t = now / 1000, ctx = E.ctx, lc = E.lc, PW = E.PW, PH = E.PH, dpr = E.dpr;\n    let flick = .9 + .07 * this._drift(t * 9, 1);\n    if (now > E.dip.next) { E.dip.at = now; E.dip.next = now + this._rnd([2000, 6000]); }\n    if (now - E.dip.at < 50) flick *= .6;\n    if (now > E.spike.next && E.phase === \"rest\") this._spike(E, now, .6 + Math.random() * .4);\n    if (now > E.roll.next) { E.roll.at = now; E.roll.next = now + 900 + this._rnd([2200, 4500]); }\n    if (now > E.streak.next) { E.streak.end = now + this._rnd([120, 280]); E.streak.next = now + this._rnd([1800, 4200]); }\n    if (now < E.streak.end) { if (now - E.streak.at > 60) { E.streak.at = now; this._streaks(E); } }\n    else if (E.streak.at > -1e9) { E.streak.at = -1e9; E.rowJ.fill(0); E.rowB.fill(0); E.rowS.fill(1); }\n    let u = E.spike.dur > 0 ? (now - E.spike.at) / E.spike.dur : 2;\n    const sg = u < 0 || u > 1 ? 0 : Math.pow(Math.sin(Math.PI * u), 2) * E.spike.str;\n    let env = (.55 + .45 * this._drift(t * .7, 2)) * (1 + sg * 2.6);\n    const fr = E.spike.fringe ? sg : 0;\n    let gain = 1;\n    if (E.phase === \"up\") { u = (now - E.t0) / 340;\n      if (u >= 1) { E.phase = \"rest\"; this._spike(E, now, 1); }\n      else { gain = this._pattern(E, [[0, 0], [250, .4], [270, 0], [320, .8], [350, 0], [380, 1], [430, 0], [455, .9], [475, 0], [500, 1]], now - E.t0); env *= 1 + (1 - u) * 1.5; } }\n    const rollY = L.bot + 12 - (L.bot - L.top + 24) * ((now - E.roll.at) / 900);\n    ctx.clearRect(0, 0, PW, PH);\n    lc.globalCompositeOperation = \"source-over\"; lc.globalAlpha = 1; lc.clearRect(0, 0, PW, PH);\n    lc.globalCompositeOperation = \"lighter\";\n    const y0 = Math.max(0, Math.floor(L.top * dpr) - 2), y1 = Math.min(PH, Math.ceil(L.bot * dpr) + 2);\n    if (gain > .01) {\n      lc.globalAlpha = Math.min(1, .38 * flick * gain); lc.drawImage(L.glow, this._wave((L.top + L.bot) / 2, t, env) * .6 * dpr, 0);\n      for (let y = y0; y < y1; y++) {\n        const yc = (y + .5) / dpr, dx = this._wave(yc, t, env) + E.rowJ[y];\n        const near = .72 + .28 * Math.max(0, Math.min(1, (yc - L.top) / Math.max(1, L.bot - L.top)));\n        const rb = 1 + .7 * Math.exp(-Math.pow((yc - rollY) / 6, 2));\n        const a = Math.min(1.6, 1.3 * flick * near * rb * gain), b = .3 + E.rowB[y];\n        if (fr > 0) { const fa = Math.max(0, Math.min(1, (Math.abs(dx) - 1.6) / 2.4)) * .6 * fr; if (fa > .01) { lc.globalAlpha = fa; lc.drawImage(L.mag, 0, y, PW, 1, (dx + (dx < 0 ? -1.6 : 1.6)) * dpr, y, PW, 1); } }\n        const sw = PW * E.rowS[y];\n        lc.globalAlpha = Math.min(1, a * b); lc.drawImage(L.hb, 0, y, PW, 1, dx * dpr - (sw - PW) / 2, y, sw, 1);\n        lc.globalAlpha = Math.min(1, a * (1 - b * .6)); lc.drawImage(L.off, 0, y, PW, 1, dx * dpr, y, PW, 1);\n      }\n    }\n    const nf = Math.floor(now / 33) % E.noise.length;\n    lc.globalCompositeOperation = \"destination-out\"; lc.globalAlpha = .46; lc.drawImage(E.scanC, 0, 0);\n    lc.globalAlpha = .4; lc.drawImage(E.noise[nf], 0, 0);\n    lc.globalCompositeOperation = \"source-atop\"; lc.globalAlpha = .22; lc.drawImage(E.noise[(nf + 3) % E.noise.length], 0, 0);\n    lc.globalCompositeOperation = \"source-over\"; lc.globalAlpha = 1;\n    ctx.save(); ctx.globalCompositeOperation = \"lighter\"; ctx.drawImage(E.lay, 0, 0); ctx.restore();\n  }\n  renderVals() {\n    const st = this.state || {};\n    const hl = String(this.props.headline ?? \"11 \\xb7 Build it. Move it. Finish it.\"); const hi = parseInt(hl, 10) || 0;\n    const ent = this.props.entrance ?? true;\n    const depth = this.props.depth ?? \"layers\";\n    const v = {};\n    for (let i = 0; i < 12; i++) { v[\"v\" + i + \"e\"] = i === hi && ent; v[\"v\" + i + \"s\"] = i === hi && !ent; }\n    const qi = this._q ?? 0;\n    for (let i = 0; i < 4; i++) v[\"q\" + i] = i === qi;\n    const si = this._s ?? 0;\n    for (let i = 0; i < 6; i++) v[\"s\" + i] = i === si;\n    return Object.assign(v, {\n      on: !st.off, glass: depth === \"glass\",\n      hintNext: [\"next\", \"both\"].indexOf(this.props.scroll ?? \"up\") >= 0,\n      hintRail: [\"rail\", \"both\"].indexOf(this.props.scroll ?? \"up\") >= 0,\n      hintDown: (this.props.scroll ?? \"up\") === \"down\",\n      hintUp: (this.props.scroll ?? \"up\") === \"up\",\n      playBadge: (this.props.play ?? \"badge\") === \"badge\",\n      playCentre: (this.props.play ?? \"badge\") === \"centre\",\n      playScrub: (this.props.play ?? \"badge\") === \"scrub\",\n      playReticle: (this.props.play ?? \"badge\") === \"reticle\",\n      playType: (this.props.play ?? \"badge\") === \"type\",\n      playHolo: (this.props.play ?? \"badge\") === \"holo\",\n      reelFacts: (this.props.reel ?? \"picture\") === \"facts\",\n      reelColumn: (this.props.reel ?? \"picture\") === \"column\",\n      lowFrame: (this.props.lower ?? \"frame\") === \"frame\",\n      lowPeek: (this.props.lower ?? \"frame\") === \"peek\",\n      cornerRound: (this.props.corners ?? \"round\") === \"round\",\n      cornerSquare: (this.props.corners ?? \"round\") !== \"round\",\n      roll: String(this.props.roll ?? \"soft\"),\n      corners: String(this.props.corners ?? \"round\"),\n      reveal: String(this.props.reveal ?? \"window\"),\n      build: String(this.props.build ?? \"hud2\"),\n      pilotLeft: (this.props.pilot ?? \"left\") === \"left\",\n      pilotRight: (this.props.pilot ?? \"left\") === \"right\",\n      hoverBoot: (this.props.hover ?? \"bright\") === \"boot\",\n      hover: String(this.props.hover ?? \"bright\"),\n      playSource: (this.props.play ?? \"badge\") === \"source\",\n      playBeside: (this.props.play ?? \"badge\") === \"beside\",\n      playPilot: (this.props.play ?? \"badge\") === \"pilot\",\n      playOv: [\"badge\", \"centre\", \"hover\"].indexOf(this.props.play ?? \"badge\") >= 0,\n      replay: () => this._replay(),\n      rootRef: (el) => { if (el && el !== this.root) { if (this.root) { this.root.removeEventListener(\"pointermove\", this._pm); this.root.removeEventListener(\"pointerleave\", this._pl); } this.root = el; el.addEventListener(\"pointermove\", this._pm); el.addEventListener(\"pointerleave\", this._pl); } },\n    });\n  }\n}`;var MFL_CSS=CSS;function mountMotionLanding(host,api){api=api||{};setData({stills:api.stills,runTime:api.runTime});const W=Math.round(host.clientWidth),H=Math.round(host.clientHeight);let build=\"hud2\";try{if(new URLSearchParams(location.search).get(\"mflbuild\")===\"off\")build=\"off\";}catch(e){}const html=renderLanding(W,H,api.entrance!==false,build);const root=document.createElement(\"div\");root.setAttribute(\"data-mfl-root\",\"1\");root.setAttribute(\"ref\",\"{{rootRef}}\");root.style.cssText=\"position: absolute; left: 0; top: 0; width: \"+W+\"px; height: \"+H+\"px; overflow: hidden; background: #07080c; color: #e8eaf0; font-family: 'Pawl Square','Helvetica Neue',sans-serif; font-size: 16px; line-height: normal;\";const tpl=document.createElement(\"template\");tpl.innerHTML=html;root.appendChild(tpl.content.cloneNode(true));const style=document.createElement(\"style\");style.textContent=CSS+\" [data-mfl-root][data-mfl-paused] *{animation-play-state:paused!important}\";const Comp=new Function(\"DCLogic\",LOGIC_SRC+\"; return Component;\")(DCLogic);DCLogic.prototype.setState=function(o){this.state=Object.assign({},this.state||{},o);update();};DCLogic.prototype.forceUpdate=function(){update();};const comp=new Comp;comp.props={build};comp.state={};let vals=comp.renderVals(),alive=true;function prep(r){[].slice.call(r.querySelectorAll(\"sc-if\")).filter(function(n){const p=n.parentElement&&n.parentElement.closest(\"sc-if\");return!p||!r.contains(p);}).forEach(function(n){const m=(n.getAttribute(\"value\")||\"\").match(HOLE),a=document.createComment(\"sc-if\");a._key=m?m[1]:null;a._frag=document.createElement(\"template\");a._frag.innerHTML=n.innerHTML;a._nodes=null;n.parentNode.replaceChild(a,n);});}function wire(r){[].slice.call(r.querySelectorAll(\"*\")).concat([r]).forEach(function(el){if(!el.attributes)return;[].slice.call(el.attributes).forEach(function(at){if(at.name.indexOf(\"hint-\")===0){el.removeAttribute(at.name);return;}const m=at.value.match(HOLE);if(!m)return;const fn=vals[m[1]];if(at.name===\"ref\"){el.removeAttribute(\"ref\");if(typeof fn===\"function\")fn(el);return;}if(at.name===\"onclick\"){el.removeAttribute(\"onclick\");return;}el._holes=el._holes||{};el._holes[at.name]=m[1];el.setAttribute(at.name,String(fn));});});}function anchors(r){const out=[],w=document.createTreeWalker(r,NodeFilter.SHOW_COMMENT);while(w.nextNode())if(w.currentNode._frag)out.push(w.currentNode);return out;}function sync(r){anchors(r).forEach(function(a){const on=!!vals[a._key];if(on&&!a._nodes){const box=document.createElement(\"div\");box.appendChild(a._frag.content.cloneNode(true));prep(box);wire(box);const nodes=[].slice.call(box.childNodes);a._nodes=nodes;const ref=a.nextSibling;nodes.forEach(function(n){a.parentNode.insertBefore(n,ref);});sync(a.parentNode);}else if(!on&&a._nodes){a._nodes.forEach(function(n){if(n.parentNode)n.parentNode.removeChild(n);});a._nodes=null;}});}function refill(){[].slice.call(root.querySelectorAll(\"*\")).forEach(function(el){if(el._holes)for(const k in el._holes){const v=String(vals[el._holes[k]]);if(el.getAttribute(k)!==v)el.setAttribute(k,v);}});}let busy=false;function update(){if(busy||!alive)return;busy=true;vals=comp.renderVals();sync(root);refill();busy=false;}host.appendChild(style);host.appendChild(root);prep(root);wire(root);sync(root);function onClick(e){const a=e.target&&e.target.closest?e.target.closest(\"a[href]\"):null;if(!a||!root.contains(a))return;const h=a.getAttribute(\"href\");if(h===\"#reel\"){e.preventDefault();api.onPlay&&api.onPlay();}else if(h===\"#about\"){e.preventDefault();api.onQuote&&api.onQuote(e);}else if(h===\"#work\"){e.preventDefault();api.onNext&&api.onNext(e);}}root.addEventListener(\"click\",onClick);const frame0=comp._frame;let pausedAt=0;function onVis(){if(document.hidden&&!pausedAt){pausedAt=performance.now();root.setAttribute(\"data-mfl-paused\",\"1\");void root.offsetWidth;}}document.addEventListener(\"visibilitychange\",onVis);comp._frame=function(n){if(api.isPaused&&api.isPaused()||document.hidden){if(!pausedAt){pausedAt=performance.now();root.setAttribute(\"data-mfl-paused\",\"1\");}this._raf=requestAnimationFrame(x=>this._frame(x));return;}if(pausedAt){const d=performance.now()-pausedAt;pausedAt=0;root.removeAttribute(\"data-mfl-paused\");root.querySelectorAll(\"[data-drum]\").forEach(function(el){if(el._dm){el._dm.t0+=d;if(el._dm.tw)el._dm.tw.t+=d;el._dm.last=performance.now();}});}return frame0.call(this,n);};if(comp.componentDidMount)comp.componentDidMount();return{el:root,destroy(){alive=false;try{comp.componentWillUnmount&&comp.componentWillUnmount();}catch(e){}root.removeEventListener(\"click\",onClick);document.removeEventListener(\"visibilitychange\",onVis);if(root.parentNode)root.parentNode.removeChild(root);if(style.parentNode)style.parentNode.removeChild(style);}};}export{MFL_CSS,mountMotionLanding};\nexport const __FramerMetadata__ = {\"exports\":{\"mountMotionLanding\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MFL_CSS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MFLandingMotion.map","// @ts-nocheck\n// s219 THE COLOUR LANDING (canvas round 9, D7 = D4c rotating quotes + 74% picture + the split line + the live push-in).\n// A port of the canvas board src/R9.dc.html: the same maths, solved from the hero's own size. Desktop only - the\n// monolith gates it (Colour, layoutW > 1024) and owns WHEN (mount, remount on resize, pause); this owns the layout,\n// the crossfade, the quotes and the split line. Imports: none (react-dom is never allowed in Framer); the Motion\n// library (useAnimate's animate + scroll from \"framer\") comes in from the monolith as opts.fm (round 6).\n// The ONLY effects on a picture are the live push-in and soft vignettes for the type (his rule, s219).\nconst CSS=`\n@keyframes mfcl-pushA{0%{transform:scale3d(1,1,1)}100%{transform:scale3d(1.06,1.06,1)}}\n@keyframes mfcl-pushB{0%{transform:scale3d(1,1,1)}100%{transform:scale3d(1.06,1.06,1)}}\n@keyframes mfcl-prog{from{transform:scaleX(0)}to{transform:scaleX(1)}}\n.mfcl{position:absolute;inset:0;overflow:hidden;background:#07080c;color:#fff;font-family:'Schibsted Grotesk',system-ui,sans-serif}\n.mfcl .cap{font-family:'Schibsted Grotesk',system-ui,sans-serif;text-transform:uppercase}\n.mfcl .serif{font-family:'Instrument Serif',Georgia,serif;font-weight:400}\n.mfcl .serif em{font-style:normal;color:#ff3b4a;font-weight:400}\n.mfcl button{font:inherit}\n.mfcl-reveal{position:absolute;inset:0}\n.mfcl-track{position:absolute;inset:0;background:rgba(255,59,74,.4);transform-origin:0 50%}\n.mfcl-fill{position:absolute;inset:-1px;border-radius:50%;background:#ff3b4a;opacity:0;transform:scale(.55)}\n.mfcl-ring{position:relative}\n.mfcl-ring svg{position:relative;transition:transform .3s cubic-bezier(.34,1.4,.64,1)}\n.mfcl-fill{transition:opacity .36s ease,transform .36s cubic-bezier(.34,1.3,.64,1)}\n.mfcl button:hover .mfcl-fill{opacity:.2;transform:scale(1)}\n.mfcl button:hover .mfcl-ring svg{transform:translateX(2px)}\n@media (prefers-reduced-motion: reduce){.mfcl-fill,.mfcl-ring svg{transition:none}}\n`;const FONT_URL=\"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Schibsted+Grotesk:wght@400..700&display=swap\";// Only the Colour-tagged voices (references.json sig colour | both); the excerpts are their signed em phrases, verbatim.\n// Dado is credited as a teacher reviewing the grade, never as a client. Jeanette's excerpt needs HER OK before it ships.\nexport const COLOUR_QUOTES=[{text:\"This is looking better than the references.\",name:\"Dado Valentic\",sub:\"Founder & CEO, Colour Intelligence Inc. \\xb7 on Copper Coins\"},{text:\"Gav produced a style and feel that took the film to another level.\",name:\"Jeanette Kong\",sub:\"Documentary Producer and Director, Jiang Media Inc. \\xb7 on Peter Chin\"}];// The headline is NOT signed: Grok round 3's twelve, for him to pick from (0 = the round-2 placeholder, to compare).\nexport const COLOUR_HEADLINES=[\"Graded to the [light].\",\"The [picture] comes first.\",\"[Colour] for the film.\",\"The last [pass] / on the picture.\",\"The [director]'s picture.\",\"Quiet colour. / Full [picture].\",\"You stay with / the [film].\",\"Colour as [finish].\",\"Nothing between you / and the [film].\",\"A [finished] picture.\",\"For the film / they [made].\",\"[Held]. / Not pushed.\",\"Skin. / Sky. / The [room].\"];const HEAD_DEFAULT=2;// THE OPENING (round 6 arms, ?mfcmotion=): 0 round 5 (type only) | 1 fade up | 2 from the line | 3 letterbox\nconst MOTION_DEFAULT=2;function pickMotion(){let n=MOTION_DEFAULT;try{const v=new URLSearchParams(window.location.search).get(\"mfcmotion\");if(v!=null&&+v>=0&&+v<=3)n=+v;}catch(e){}return n;}// the site's own sweep ease (Gav's s48 spec, cubic-bezier(.7,0,.3,1)) and the focus pull's settle\nconst EASE_SWEEP=[.7,0,.3,1],EASE_OUT=[.25,1,.5,1];export function parseHeadline(t){return{lines:t.split(\" / \").map(l=>{const m=l.match(/^(.*)\\[(.+?)\\](.*)$/);return m?{a:m[1],b:m[2],c:m[3]}:{a:l,b:\"\",c:\"\"};})};}function pickHeadline(){let n=HEAD_DEFAULT;try{const v=new URLSearchParams(window.location.search).get(\"mfchead\");if(v!=null&&COLOUR_HEADLINES[+v])n=+v;}catch(e){}return parseHeadline(COLOUR_HEADLINES[n]);}// The canvas crops, tuned for the wide window (the live focal points were tuned for full bleed)\nconst POS={\"Copper Coins\":\"60% 42%\",\"Can't Find Love\":\"45% 28%\",\"Upside Down\":\"50% 45%\",\"Peter Chin: The Blood Remembers\":\"55% 38%\"};const FILM_MS=6e3,QUOTE_MS=1e4,FADE=\"opacity 1.8s ease\";const K=.42// Instrument Serif: average advance per character, in em\n;function h(tag,cls,parent){const e=document.createElement(tag);if(cls)e.className=cls;if(parent)parent.appendChild(e);return e;}const px=v=>Math.round(v)+\"px\";const BASE=new WeakMap,POSE=new WeakMap;const set=(e,css)=>{BASE.set(e,css);e.setAttribute(\"style\",css+(POSE.get(e)||\"\"));};const pose=(e,p)=>{if(p)POSE.set(e,p);else POSE.delete(e);e.setAttribute(\"style\",(BASE.get(e)||\"\")+(p||\"\"));};// THE COLOUR TYPE FOCUS PULL (his CPAGE_BUILD_* spec, the lens round): in = blur 22px + scale 1.18 + opacity, full by 55%,\n// over 1300ms (ease-out quart); out = blur 15px + scale 1.09 over 480ms. Type under 24px only fades (no blur on small text).\nconst IN_MS=1300,OUT_MS=480,STAGGER_MS=180;const clamp01=v=>v<0?0:v>1?1:v;function focus(local,appear,big,origin){if(appear){const e=1-Math.pow(1-local,4);return\"transition:none;opacity:\"+clamp01(local/.55).toFixed(3)+\";\"+(big?\"filter:blur(\"+(22*(1-e)).toFixed(2)+\"px);transform:scale(\"+(1+.18*(1-e)).toFixed(4)+\");transform-origin:\"+origin+\";\":\"\");}const e=local*local;return\"transition:none;opacity:\"+clamp01(1-local).toFixed(3)+\";\"+(big?\"filter:blur(\"+(15*e).toFixed(2)+\"px);transform:scale(\"+(1+.09*e).toFixed(4)+\");transform-origin:\"+origin+\";\":\"\");}export function mountColourLanding(host,opts){const films=(opts.films||[]).slice(0,4);if(films.length<2)throw new Error(\"colour landing: needs 2+ films\");const quotes=opts.quotes||COLOUR_QUOTES;const hl=opts.headline||pickHeadline();const reduce=typeof window!==\"undefined\"&&window.matchMedia&&window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;const paused=()=>opts.isPaused?opts.isPaused():false;if(!document.getElementById(\"mfcl-font\")){const l=document.createElement(\"link\");l.id=\"mfcl-font\";l.rel=\"stylesheet\";l.href=FONT_URL;document.head.appendChild(l);}if(!document.getElementById(\"mfcl-style\")){const st=document.createElement(\"style\");st.id=\"mfcl-style\";st.textContent=CSS;document.head.appendChild(st);}// ---- DOM, built once; ticks only write styles (a rebuild would kill the 1.8s crossfade)\nconst root=h(\"div\",\"mfcl\",host);root.setAttribute(\"data-mf-clanding\",\"\");const glow=h(\"div\",\"\",root);const win=h(\"div\",\"\",root);const reveal=h(\"div\",\"mfcl-reveal\",win)// the library's: the picture's entrance (opacity / clip), never the picture itself\n;// every crossfading layer is BORN at its resting opacity (film 0 on, the rest off): layout() reads the box before it\n// writes, so a layer born at the default opacity 1 then set to 0 TRANSITIONED 1 -> 0 over 1.8s - all four films and\n// all four names stacked on screen at load (the Mac frames, round 6)\nconst layers=films.map((f,i)=>{const L=h(\"div\",\"\",reveal);L.setAttribute(\"style\",\"opacity:\"+(i===0?1:0)+\";\");const img=h(\"img\",\"\",L);img.src=f.src;img.alt=f.title+\" - Mind Factory colour grading\";img.decoding=\"async\";return{L,img};});const shade=h(\"div\",\"\",reveal);const split=h(\"div\",\"\",root);const track=h(\"div\",\"mfcl-track\",split)// the library's: the split line draws\n;let splitBar=null;const caps=films.map((f,i)=>{const c=h(\"div\",\"\",root);c.setAttribute(\"style\",\"opacity:\"+(i===0?1:0)+\";\");const t=h(\"span\",\"serif\",c);t.textContent=f.title;const m=h(\"span\",\"cap\",c);m.textContent=f.line;return{c,t,m};});const h1=h(\"h1\",\"serif\",root);const lineEls=hl.lines.map(l=>{const s=h(\"span\",\"\",h1);s.appendChild(document.createTextNode(l.a));if(l.b){const em=h(\"em\",\"\",s);em.textContent=l.b;}s.appendChild(document.createTextNode(l.c));return s;});const cards=quotes.map((qq,k)=>{const box=h(\"figure\",\"\",root);box.setAttribute(\"style\",\"opacity:\"+(k===0?1:0)+\";\");const p=h(\"blockquote\",\"serif\",box);const mark=h(\"span\",\"\",p);mark.textContent=\"“\";p.appendChild(document.createTextNode(qq.text));const attr=h(\"figcaption\",\"\",box);const nm=h(\"span\",\"cap\",attr);nm.textContent=qq.name;const sb=h(\"span\",\"cap\",attr);sb.textContent=qq.sub;return{box,p,mark,attr,nm,sb};});const reel=h(\"button\",\"\",root);reel.type=\"button\";const ring=h(\"span\",\"mfcl-ring\",reel);const fill=h(\"span\",\"mfcl-fill\",ring);ring.insertAdjacentHTML(\"beforeend\",'<svg width=\"15\" height=\"15\" viewBox=\"0 0 14 14\" fill=\"#fff\" aria-hidden=\"true\" style=\"margin-left:2px\"><path d=\"M3.2 1.6v10.8l9.2-5.4L3.2 1.6z\"></path></svg>');const glyph=ring.querySelector(\"svg\");const rw=h(\"span\",\"\",reel);const rt=h(\"span\",\"serif\",rw);rt.textContent=\"Watch the reel\";const rl=h(\"span\",\"cap\",rw);rl.textContent=(opts.runTime||\"00:43\")+\" \\xb7 COLOUR SHOWREEL\";reel.addEventListener(\"click\",e=>{e.preventDefault();if(opts.onPlay)opts.onPlay();});// the reel hover is CSS :hover (two signals: the ring fills from the centre with a slight spring overshoot, the play\n// glyph steps forward). JS pointer/mouse events misfired in Firefox as the fill grew under the pointer (the Mac rig).\n// ---- state\nlet cur=0,q=0;const ep=films.map(()=>0);function restartSplit(){if(splitBar)splitBar.remove();splitBar=h(\"span\",\"\",track);set(splitBar,\"position:absolute;left:0;top:-1px;width:100%;height:3px;background:#ff3b4a;transform-origin:left center;\"+(reduce?\"transform:scaleX(1);\":\"animation:mfcl-prog \"+FILM_MS+\"ms linear both;\"+(paused()?\"animation-play-state:paused;\":\"\")));}// ---- layout: R9's renderVals for the desktop branches, solved from the box\nfunction layout(){const W=root.clientWidth||1920,H=root.clientHeight||1080;// the canvas's 2000x1550 rule: a TALL window (his PC). 16:10 laptops (1440x900) are not tall - the Mac found them squeezed\nconst tall=H>=1200&&H/W>=.62;const M=W>=1960?128:120;// the picture: 74% of the height on tall windows (his pick), the 2.39 band on 16:9 (= 74% at 1920x1080)\n// and never less than 270px of band under it (1366x768 left the headline 39px)\nconst winH=Math.round(tall?H*.74:Math.min(W/2.39,H*.74,H-270));const base=tall?96:48,colW=tall?520:500;const Z=tall?{q:Math.round(Math.min(54,(H-winH)*.11)),name:12,sub:11,capT:24,capL:12}:{q:30,name:11,sub:10,capT:22,capL:11};// the site's soft crimson ambient, UNDER the picture: it only ever shows on the black\nset(glow,\"position:absolute;inset:0;background:radial-gradient(ellipse 90% 55% at 50% -5%,rgba(255,59,74,.14),transparent 60%),radial-gradient(ellipse 70% 50% at 18% 108%,rgba(255,59,74,.125),transparent 62%);\");set(win,\"position:absolute;left:0;top:0;width:\"+W+\"px;height:\"+winH+\"px;overflow:hidden;\");layers.forEach((l,i)=>{set(l.L,\"position:absolute;inset:0;overflow:hidden;opacity:\"+(i===cur?1:0)+\";transition:\"+FADE+\";\");set(l.img,\"width:100%;height:100%;object-fit:cover;object-position:\"+(POS[films[i].title]||films[i].pos||\"50% 42%\")+\";display:block;will-change:transform;backface-visibility:hidden;\"+(reduce?\"\":\"animation:\"+(ep[i]%2?\"mfcl-pushB\":\"mfcl-pushA\")+\" 8000ms linear forwards;\"));});// soft vignettes for the type only: the nav at the top, the film name at the bottom\nset(shade,\"position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,8,12,.68) 0,rgba(7,8,12,.34) 60px,rgba(7,8,12,0) 150px),linear-gradient(0deg,rgba(7,8,12,.62) 0,rgba(7,8,12,0) 110px);\");set(split,\"position:absolute;left:0;right:0;top:\"+(winH-1)+\"px;height:1px;\");caps.forEach((c,i)=>{set(c.c,\"position:absolute;left:\"+M+\"px;top:\"+(winH-26-Z.capT)+\"px;display:flex;align-items:baseline;gap:16px;text-shadow:0 1px 12px rgba(0,0,0,.5);opacity:\"+(i===cur?1:0)+\";transition:\"+FADE+\";\");set(c.t,\"font-size:\"+Z.capT+\"px;\");set(c.m,\"font-size:\"+Z.capL+\"px;letter-spacing:.18em;color:rgba(255,255,255,.7);\");});// one baseline under the picture: headline + reel left, the quote right\nconst colL=W-M-colW;cards.forEach((c,k)=>{set(c.box,\"position:absolute;margin:0;left:\"+colL+\"px;bottom:\"+base+\"px;width:\"+colW+\"px;opacity:\"+(k===q?1:0)+\";pointer-events:\"+(k===q?\"auto\":\"none\")+\";\");set(c.p,\"position:relative;margin:0;font-style:italic;font-size:\"+Z.q+\"px;line-height:1.08;letter-spacing:-0.005em;color:#fff;text-wrap:balance;\");set(c.mark,\"position:absolute;left:-.5em;top:0;color:#ff3b4a;\");set(c.attr,\"margin-top:\"+Math.round(Z.q*.45)+\"px;padding-top:\"+(tall?16:10)+\"px;border-top:1px solid #ff3b4a;\")// the crimson rule: his balance pick (2026-10-12)\n;set(c.nm,\"display:block;font-size:\"+Z.name+\"px;letter-spacing:.2em;color:#fff;\");set(c.sb,\"display:block;margin-top:6px;font-size:\"+Z.sub+\"px;letter-spacing:.16em;line-height:1.5;color:rgba(255,255,255,.6);\");});const qTop=H-base-Math.max.apply(null,cards.map(c=>c.box.offsetHeight));cards.forEach(c=>set(c.box,BASE.get(c.box).replace(\"bottom:\"+base+\"px;\",\"top:\"+qTop+\"px;\")));set(reel,\"position:absolute;left:\"+M+\"px;bottom:\"+base+\"px;display:flex;align-items:center;gap:20px;border:0;background:none;padding:0;color:#fff;cursor:pointer;text-align:left;\");set(ring,\"position:relative;width:58px;height:58px;border-radius:50%;border:1px solid #ff3b4a;display:flex;align-items:center;justify-content:center;\");set(rt,\"display:block;font-style:italic;font-size:\"+(tall?32:28)+\"px;line-height:1;\");set(rl,\"display:block;margin-top:7px;font-size:\"+(tall?12:11)+\"px;letter-spacing:.18em;color:rgba(255,255,255,.64);\");const n=hl.lines.length;const longest=Math.max.apply(null,hl.lines.map(l=>(l.a+l.b+l.c).length));const total=hl.lines.reduce((t,l)=>t+(l.a+l.b+l.c).length+1,0);const above=base+58+(tall?44:26),room=H-winH-(tall?64:30)-above,wide=colL-M-80;let size;if(tall){size=Math.min(176,room/(n*.95),wide/(longest*K));set(h1,\"position:absolute;left:\"+M+\"px;bottom:\"+above+\"px;margin:0;font-size:\"+px(size)+\";line-height:.94;letter-spacing:-0.012em;color:#fff;\");lineEls.forEach(s=>set(s,\"display:block;\"));}else{size=Math.min(room*1.02,wide/(total*K*.97));set(h1,\"position:absolute;left:\"+M+\"px;bottom:\"+above+\"px;margin:0;font-size:\"+px(size)+\";line-height:.94;letter-spacing:-0.012em;color:#fff;white-space:nowrap;\");lineEls.forEach(s=>set(s,\"display:inline;margin-right:.28em;\"));}}// one rAF clock per set of poses; an IN pose clears itself when done, an OUT pose holds until its done() runs\nlet alive=true;function run(items,done){const t0=performance.now();const origin=el=>el===h1||el===reel||caps.some(c=>c.c===el)?\"0% 100%\":\"0% 50%\";for(const it of items)pose(it.el,focus(0,it.appear,it.big,origin(it.el)));const step=now=>{if(!alive)return;let all=true;for(const it of items){const l=clamp01((now-t0-it.at)/it.dur);if(l<1)all=false;pose(it.el,l>=1&&it.appear?\"\":focus(l,it.appear,it.big,origin(it.el)));}if(all){if(done)done();return;}requestAnimationFrame(step);};requestAnimationFrame(step);}function build(delay){if(reduce)return;const d0=delay==null?120:delay;// top-down: the film's name, the headline, the quote (its credit fades), the reel\nconst big=el=>parseFloat(getComputedStyle(el).fontSize)>=24;const qc=cards[q];const seq=[[caps[cur].c,big(caps[cur].t)],[h1,true],[qc.p,true],[qc.attr,false],[reel,true]];run(seq.map(([el,b],k)=>({el,appear:true,big:b,at:d0+k*STAGGER_MS,dur:IN_MS})));}const fm=opts.fm&&opts.fm.animate?opts.fm:null;const arm=fm&&!reduce&&opts.entrance!==false?pickMotion():0;root.setAttribute(\"data-mfcl-motion\",String(arm));// the picture + line half of the opening; returns when the TYPE starts (s), the clocks start when it ends\nfunction opening(){const A=fm.animate;if(arm===1){// FADE UP: the picture rises out of the black, the line draws left to right under it, then the type\nA(reveal,{opacity:[0,1]},{duration:1.4,ease:EASE_OUT});A(track,{transform:[\"scaleX(0)\",\"scaleX(1)\"]},{delay:.35,type:\"spring\",visualDuration:1,bounce:0});return{type:.75,clocks:1.4};}if(arm===2){// FROM THE LINE: the crimson line draws out from the centre first, then the picture opens UP out of it\ntrack.style.transformOrigin=\"50% 50%\";A(track,{transform:[\"scaleX(0)\",\"scaleX(1)\"]},{type:\"spring\",visualDuration:.9,bounce:0});A(reveal,{clipPath:[\"inset(100% 0% 0% 0%)\",\"inset(0% 0% 0% 0%)\"]},{delay:.55,duration:1.5,ease:EASE_SWEEP});return{type:1.35,clocks:2.05};}// LETTERBOX: the picture opens from a thin band to its full height on the site's sweep; the line rides with it\nA(reveal,{clipPath:[\"inset(47% 0% 47% 0%)\",\"inset(0% 0% 0% 0%)\"]},{duration:1.6,ease:EASE_SWEEP});A(reveal,{opacity:[0,1]},{duration:.5});A(track,{transform:[\"scaleX(0)\",\"scaleX(1)\"]},{duration:1.6,ease:EASE_SWEEP});return{type:1.05,clocks:1.6};}layout();let tF=0,tQ=0;// the entrance waits for the web fonts (max 1s): Chrome measured the quote 48px off before they landed, so the\n// type is held hidden, laid out with the real fonts, then built in\nif(opts.entrance!==false&&!reduce){const held=[caps[cur].c,h1,cards[q].p,cards[q].attr,reel];held.forEach(el=>pose(el,\"opacity:0;\"));const fontsIn=document.fonts&&document.fonts.ready?document.fonts.ready:Promise.resolve();Promise.race([fontsIn,new Promise(r=>setTimeout(r,1e3))]).then(()=>{if(!alive)return;layout();if(!arm){restartSplit();startClocks();build();return;}const t=opening();build(t.type*1e3);window.setTimeout(()=>{if(alive){restartSplit();startClocks();}},t.clocks*1e3);});if(arm===2||arm===3)reveal.style.clipPath=arm===2?\"inset(100% 0% 0% 0%)\":\"inset(47% 0% 47% 0%)\";if(arm)track.style.transform=\"scaleX(0)\";if(arm===1||arm===3)reveal.style.opacity=\"0\";}else{restartSplit();startClocks();}// re-arm: once the landing has fully left the screen, its type builds in again when it comes back\nlet io=null,away=false;let unscroll=null;if(fm&&fm.scroll&&!reduce){// THE DEPARTURE (scroll-linked, his focus-OUT spec): as the landing scrolls away the type pulls out of focus\n// bottom-up (reel, quote, headline, film name), and comes back into focus on the way up. Never the picture.\nlet held=false;unscroll=fm.scroll(p=>{if(!alive)return;const qc=cards[q];const order=[[reel,true],[qc.p,true],[qc.attr,false],[h1,true],[caps[cur].c,true]];if(p<=.001){if(held){order.forEach(([el])=>pose(el,\"\"));held=false;}return;}held=true;order.forEach(([el,big],k)=>pose(el,focus(clamp01((p-k*.05)/.4),false,big,el===h1||el===reel||el===caps[cur].c?\"0% 100%\":\"0% 50%\")));},{target:root,offset:[\"start start\",\"end start\"]});}if(!unscroll&&typeof IntersectionObserver!==\"undefined\"){io=new IntersectionObserver(es=>{const e=es[es.length-1];if(!e.isIntersecting)away=true;else if(away){away=false;build();}});io.observe(root);}if(document.fonts&&document.fonts.ready)document.fonts.ready.then(()=>{if(alive)layout();});if(document.fonts&&document.fonts.addEventListener)document.fonts.addEventListener(\"loadingdone\",()=>{if(alive)layout();});// the hero can settle after mount (WebKit measured it 6100px tall for the first seconds): re-solve on any size change\nlet ro=null;if(typeof ResizeObserver!==\"undefined\"){let lw=root.clientWidth,lh=root.clientHeight;ro=new ResizeObserver(()=>{if(root.clientWidth===lw&&root.clientHeight===lh)return;lw=root.clientWidth;lh=root.clientHeight;layout();});ro.observe(root);}// ---- the clocks: a film every 6s (the live hero), a quote every 10s; both hold while paused\nfunction startClocks(){tF=window.setInterval(()=>{if(paused())return;cur=(cur+1)%films.length;ep[cur]++;layout();restartSplit();},FILM_MS);tQ=window.setInterval(()=>{if(paused()||quotes.length<2)return;const old=cards[q];if(reduce){q=(q+1)%quotes.length;layout();return;}run([{el:old.p,appear:false,big:true,at:0,dur:OUT_MS},{el:old.attr,appear:false,big:false,at:0,dur:OUT_MS}],()=>{pose(old.p,\"\");pose(old.attr,\"\");q=(q+1)%quotes.length;layout();const c=cards[q];run([{el:c.p,appear:true,big:true,at:0,dur:IN_MS},{el:c.attr,appear:true,big:false,at:STAGGER_MS,dur:IN_MS}]);});},QUOTE_MS);}return{el:root,destroy(){window.clearInterval(tF);window.clearInterval(tQ);if(ro)ro.disconnect();if(io)io.disconnect();if(unscroll)unscroll();alive=false;root.remove();}};}\nexport const __FramerMetadata__ = {\"exports\":{\"parseHeadline\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"COLOUR_HEADLINES\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mountColourLanding\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"COLOUR_QUOTES\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MFLandingColour.map","// s227: THE COLOUR PHONE PAGES - the phone pass designed on canvas VTVErqZkWQFzSAKJkW2kUD (source in\n// _archive/session-scratch/s227-phone-canvas/project), built for the local Colour preview.\n// Mounted by MFHomepage INSIDE the Colour phone pager's four roots (hero / work / about / contact): each page is a\n// [data-mf=\"sbody\"][data-mf-ph] scroller, so the pager (s171) still parks, turns, swipes and builds the headlines; the\n// old page content is hidden by CSS while ?mfcphone is on (?mfcphone=0 = today's Colour phone).\n//   LANDING  = R2Land L3 (HIS PICK, s227: \"my pick for the colour mobile landing page was l3\"); ?mfcpland=1|2 keep L1 / L2: B's crop, the desktop crimson ambient (dithered),\n//              round 1 C's play pill\n//   WORK     = W4 (his pick): tap a band to open it, swipe sideways through that job's shots, press and hold for the\n//              ungraded frame. No lightbox. (?mfcpwork=0 keeps today's phone Work)\n//   ABOUT    = C's centred layout with PROOF, one scroll; navigation N6 (SIGNED): on About the tabs push up and a chapter\n//              row shows under them, lights as you scroll, a tap jumps\n//   CONTACT  = C's \"Send your brief.\" page; NO footer row (his ask, s227)\n// Background stills (About chapters + Contact) = the desktop's signed FADE at 10%: luminance -> crimson, soft S-curve,\n// dithered, baked as ALPHA here (a screen blend inside a pager root is isolated by its transform - trap 14).\n// Imports: react only.\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{useEffect,useRef,useState}from\"react\";const INK=\"#ece6df\";const DIM=\"#8a8580\";const ACC=\"#ff3b4a\";const GROUND=\"#07080c\";const RIM=\"rgba(231,220,196,0.14)\";const SERIF=\"'Instrument Serif', Georgia, serif\";const UI=\"'Schibsted Grotesk', system-ui, sans-serif\";const NAV_H=68;const TABS_H=48// the 1px rule + the 47px tab row (canvas PhTabs)\n;const CH_H=32// N6: the About chapter row under the tabs\n;const EASE=\"cubic-bezier(0.65, 0, 0.35, 1)\";const SAFE=\"env(safe-area-inset-bottom, 0px)\";const HOLD_MS=160// W4: a press this long shows the ungraded frame (a tap or a swipe is shorter)\n;const RIPPLE_IN_MS=520// s227: the ungraded frame spreads from the finger (an invented knob)\n;const RIPPLE_OUT_MS=380// and closes back into it on release (an invented knob)\n;// the circle's soft edge, px (an invented knob). His rule: \"the circle does not have a hard edge. it should be a soft\n// gradient fill\" - so the edge is wide and eased (smoothstep stops), never a linear ramp (a linear ramp shows its ends)\nconst RIPPLE_FEATHER=130;const RIPPLE_STOPS=8;function softCircle(x,y,r){const F=RIPPLE_FEATHER;const st=[];// alpha(d) = 1 - smoothstep((d - (r - F)) / F): solid inside, an S-shaped fall to nothing at r\nconst a=d=>{const k=Math.min(1,Math.max(0,(d-(r-F))/F));return 1-k*k*(3-2*k);};if(r-F>0)st.push(`rgba(0,0,0,1) 0px`);else st.push(`rgba(0,0,0,${a(0).toFixed(3)}) 0px`);for(let n=0;n<=RIPPLE_STOPS;n++){const d=r-F+F*n/RIPPLE_STOPS;if(d<=0)continue;st.push(`rgba(0,0,0,${a(d).toFixed(3)}) ${d.toFixed(1)}px`);}return`radial-gradient(circle at ${x}px ${y}px, ${st.join(\", \")})`;}const BG_OP=.1// the bg stills' strength (desktop FADE 10%, signed)\n;const BG_S_CURVE=.5;const CONTACT_STILL=\"https://framerusercontent.com/images/i0k1t3RR6EZPPpSnW7pjEKetDk.png\"// Peter Chin, the dancers (his pick)\n;const REEL_LEN=\"00:43\";const LAND_FILM_MS=6e3// s225: the landing changes film every 6s - the desktop landing's FILM_MS (MFLandingColour)\n;const LAND_FADE=\"opacity 1.8s ease\"// and crossfades like it\n;const LAND_PUSH_MS=8e3// s226: the push-in, 1 -> 1.06 over 8s (MFLandingColour's mfcl-push, his signed live push-in)\n;// ---- the About chapter bus (the chapter row lives in the tabs, outside the About root) --------------------------\nconst EV_CH=\"mfph:ch\"// About -> tabs: the chapter on screen\n;const EV_JUMP=\"mfph:jump\"// tabs -> About: scroll to a chapter\n;let lastCh=0;function emit(name,v){if(typeof window===\"undefined\")return;window.dispatchEvent(new CustomEvent(name,{detail:v}));}function landVariant(){if(typeof window===\"undefined\")return 3;try{const v=parseInt(new URLSearchParams(window.location.search).get(\"mfcpland\")||\"\",10);return v>=1&&v<=3?v:3;}catch(e){return 3;}}const upper=s=>String(s==null?\"\":s).toUpperCase();function metaShort(p){return[upper(p.category),p.year?String(p.year):\"\"].filter(Boolean).join(\" \\xb7 \");}function metaLong(p){const roles=(p.workTypes||[]).map(upper).join(\", \");return[upper(p.category),p.year?String(p.year):\"\",roles,p.director?\"DIR. \"+upper(p.director):\"\"].filter(Boolean).join(\" \\xb7 \");}function pos(im,dflt=\"50% 50%\"){return im&&im.positionX&&im.positionY?im.positionX+\" \"+im.positionY:dflt;}// ---- a page shell: the scroller the pager parks + the shade under the nav ----------------------------------------\nfunction Page(props){return /*#__PURE__*/_jsxs(_Fragment,{children:[props.under?/*#__PURE__*/_jsx(\"div\",{\"data-mf-ph-under\":\"\",\"aria-hidden\":\"true\",style:{position:\"absolute\",inset:0,zIndex:0,pointerEvents:\"none\",overflow:\"hidden\"},children:props.under}):null,/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"sbody\",\"data-mf-ph\":String(props.i),ref:props.scrollerRef,onScroll:props.onScroll,style:{position:\"absolute\",left:0,right:0,top:0,height:\"100%\",zIndex:1,overflowY:props.i===0?\"hidden\":\"auto\",overflowX:\"hidden\",scrollbarWidth:\"none\",color:INK,fontFamily:UI,WebkitFontSmoothing:\"antialiased\"},children:props.children}),props.shade?/*#__PURE__*/_jsx(\"div\",{\"data-mf-ph-shade\":\"\",\"aria-hidden\":\"true\",style:{position:\"absolute\",left:0,right:0,top:0,height:NAV_H+14,zIndex:2,pointerEvents:\"none\",background:`linear-gradient(to bottom, ${GROUND} 75%, rgba(7,8,12,0))`}}):null]});}// ---- the dithered crimson ambient, drawn once per size ------------------------------------------------------------\n// s226 (his: \"i'm not seeing ... the crimson glow that was in the boards\"): the BOARDS' glow (gen-glow.js), not the\n// desktop's - on the phone the picture covers the top, so ellipse 1 sits on the split line (cy = the split) and blooms\n// down out of it; ellipse 2 keeps the desktop's 18% 108% corner. Same strengths (.14 / .125), same order (1 then 2).\nfunction useAmbient(cy=.6){const[url,setUrl]=useState(null);useEffect(()=>{let dead=false;try{const dpr=Math.min(2,window.devicePixelRatio||1);const W=Math.round(window.innerWidth*dpr);const H=Math.round(window.innerHeight*dpr);const c=document.createElement(\"canvas\");c.width=W;c.height=H;const x=c.getContext(\"2d\");if(!x)return;const d=x.createImageData(W,H);const p=d.data;// gen-glow.js: { cx .5, cy <split>, rx .9, ry .4, a .14, end .6 } then { cx .18, cy 1.08, rx .7, ry .5, a .125, end .62 }\nconst G=[7,8,12];const A=[255,59,74];for(let y=0;y<H;y++){const fy=y/H;for(let xx=0;xx<W;xx++){const fx=xx/W;const d1=Math.hypot((fx-.5)/.9,(fy-cy)/.4);const d2=Math.hypot((fx-.18)/.7,(fy-1.08)/.5);const a1=.14*Math.max(0,1-d1/.6);const a2=.125*Math.max(0,1-d2/.62);const k=(y*W+xx)*4;for(let ch=0;ch<3;ch++){let v=G[ch]+(A[ch]-G[ch])*a1;v=v+(A[ch]-v)*a2;p[k+ch]=v+Math.random()+Math.random()-1;}p[k+3]=255;}}x.putImageData(d,0,0);c.toBlob(b=>{if(!dead&&b)setUrl(URL.createObjectURL(b));});}catch(e){}return()=>{dead=true;};},[]);return url;}// ---- the bg stills: luminance -> crimson alpha, 10%, soft S-curve, dithered ---------------------------------------\nconst stillCache={};function crimsonStill(src){if(src in stillCache)return stillCache[src];stillCache[src]=new Promise(res=>{const im=new Image;im.crossOrigin=\"anonymous\";im.onload=()=>{try{const w=Math.min(1280,im.naturalWidth);const h=Math.round(w*im.naturalHeight/im.naturalWidth);const c=document.createElement(\"canvas\");c.width=w;c.height=h;const x=c.getContext(\"2d\");if(!x)return res(null);x.drawImage(im,0,0,w,h);const d=x.getImageData(0,0,w,h);const p=d.data;for(let i=0;i<p.length;i+=4){let L=(.2126*p[i]+.7152*p[i+1]+.0722*p[i+2])/255;L=L+BG_S_CURVE*(L*L*(3-2*L)-L);p[i]=255;p[i+1]=59;p[i+2]=74;p[i+3]=Math.max(0,Math.min(255,255*L*BG_OP+Math.random()-.5));}x.putImageData(d,0,0);c.toBlob(b=>res(b?URL.createObjectURL(b):null));}catch(e){res(null);}};im.onerror=()=>res(null);im.src=src.replace(/\\?.*$/,\"\")+\"?width=1280\";});return stillCache[src];}function BgStill(props){const[u,setU]=useState(null);useEffect(()=>{let dead=false;if(props.src)crimsonStill(props.src).then(v=>!dead&&setU(v));return()=>{dead=true;};},[props.src]);const mask=\"linear-gradient(to bottom, rgba(0,0,0,0.4), #000 150px)\";return /*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,backgroundImage:u?`url(${u})`:\"none\",backgroundSize:\"cover\",backgroundPosition:props.posn||\"50% 50%\",WebkitMaskImage:mask,maskImage:mask,transition:\"opacity 0.9s ease\",opacity:props.on&&u?1:0}});}// ---- the play pill (round 1 C) -------------------------------------------------------------------------------------\nfunction PlayPill(props){return /*#__PURE__*/_jsxs(\"button\",{type:\"button\",onClick:()=>props.onReel&&props.onReel(),\"aria-label\":\"Watch the colour reel\",style:{// explicit resets, not all:unset - WebKit drew this pill with no ring and no fill after all:unset\nappearance:\"none\",WebkitAppearance:\"none\",border:0,margin:0,font:\"inherit\",color:INK,boxSizing:\"border-box\",cursor:\"pointer\",alignSelf:\"flex-start\",display:\"inline-flex\",alignItems:\"center\",gap:12,height:44,padding:\"0 18px 0 6px\",borderRadius:999,boxShadow:\"inset 0 0 0 1px rgba(255,59,74,0.7)\",background:\"rgba(7,8,12,0.4)\",WebkitTapHighlightColor:\"transparent\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{width:32,height:32,borderRadius:\"50%\",background:ACC,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(\"svg\",{width:\"10\",height:\"12\",viewBox:\"0 0 16 18\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M2 1.5l12 7.5-12 7.5z\",fill:GROUND})})}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:SERIF,fontStyle:\"italic\",fontSize:19,color:INK},children:\"Watch the reel\"}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:8,letterSpacing:\"0.16em\",color:DIM},children:REEL_LEN})]});}// ---- 0 LANDING --------------------------------------------------------------------------------------------------------\nexport function MFPhoneLanding(props){const v=landVariant();const glow=useAmbient(v===2?.56:.6);const list=props.projects||[];// s225 (his first live bug: \"landing page isn't cycling through the hero images\" - mobile): the phone landing cycles\n// the SAME films as the desktop landing (the featured jobs' panel thumbnails, panel order, their focal points), a\n// film every 6s with the desktop's 1.8s crossfade; the crimson split line fills as the film's clock. The Dado quote\n// (L3) is about Copper Coins, so its attribution stays on the first featured film whatever is showing.\nconst films=list.filter(x=>x&&x.featured&&x.thumbnail&&x.thumbnail.src);const F=films.length?films:list.length?[list[0]]:[];// s226 (his: \"i'm not seeing the push-in on the images\"): the desktop's live push-in - each film scales 1 -> 1.06 over\n// 8s from the moment it comes up (MFLandingColour mfcl-pushA/B). ep[k] counts film k's turns: the keyframe NAME flips\n// A/B per turn, so the push restarts, and the outgoing film keeps pushing while it fades (no snap back to 1).\nconst[st,setSt]=useState({cur:0,ep:[1]});const cur=st.cur;const reduce=typeof window!==\"undefined\"&&!!window.matchMedia&&window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;useEffect(()=>{if(F.length<2)return;const t=window.setInterval(()=>{if(document.hidden)return;setSt(s=>{const n=(s.cur+1)%F.length;const ep=s.ep.slice();ep[n]=(ep[n]||0)+1;return{cur:n,ep};});},LAND_FILM_MS);return()=>window.clearInterval(t);},[F.length]);const pushOf=k=>reduce||!st.ep[k]?\"none\":(st.ep[k]%2?\"mfphPushA\":\"mfphPushB\")+\" \"+LAND_PUSH_MS+\"ms linear forwards\";const p=F[cur%Math.max(1,F.length)]||{};const quoteFilm=F[0]||{};const split=v===2?56:60;const quote=\"“This is looking better than the references.”\";return /*#__PURE__*/_jsxs(Page,{i:0,children:[/*#__PURE__*/_jsx(\"style\",{children:\"@keyframes mfphSplit{from{width:0}to{width:100%}}@keyframes mfphPushA{0%{transform:scale3d(1,1,1)}100%{transform:scale3d(1.06,1.06,1)}}@keyframes mfphPushB{0%{transform:scale3d(1,1,1)}100%{transform:scale3d(1.06,1.06,1)}}\"}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",inset:0,background:GROUND},children:[glow?/*#__PURE__*/_jsx(\"img\",{src:glow,alt:\"\",style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",display:\"block\"}}):null,/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",left:0,right:0,top:0,height:split+\"%\",overflow:\"hidden\"},children:[F.map((f,k)=>f.thumbnail&&f.thumbnail.src?/*#__PURE__*/_jsx(\"img\",{src:f.thumbnail.src,srcSet:f.thumbnail.srcSet,sizes:\"100vw\",alt:k===cur?(f.title||\"\")+\", graded frame\":\"\",\"aria-hidden\":k===cur?undefined:true,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:pos(f.thumbnail,\"50% 42%\"),willChange:\"transform\",backfaceVisibility:\"hidden\",display:\"block\",transition:LAND_FADE,opacity:k===cur?1:0,animation:pushOf(k)}},k):null),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,right:0,top:0,height:170,background:\"linear-gradient(to bottom, rgba(7,8,12,0.62), rgba(7,8,12,0.2) 55%, rgba(7,8,12,0))\"}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,right:0,bottom:0,height:v===3?120:80,background:`linear-gradient(to bottom, rgba(7,8,12,0), rgba(7,8,12,${v===3?.72:.6}))`}}),v===3?/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",left:16,bottom:14,right:16},children:[/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontFamily:SERIF,fontStyle:\"italic\",fontSize:17,lineHeight:1.2},children:quote}),/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:5,fontSize:7.5,letterSpacing:\"0.14em\",color:\"#c9c2ba\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:ACC},children:\"DADO VALENTIC\"}),\" \",\"\\xb7 ON \"+upper(quoteFilm.title)]})]}):/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",left:16,bottom:12,right:16,display:\"flex\",alignItems:\"baseline\",gap:8},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:SERIF,fontSize:17,lineHeight:1},children:p.title}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:7.5,letterSpacing:\"0.14em\",color:\"#c9c2ba\"},children:metaShort(p)})]})]}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,right:0,top:split+\"%\",height:2,background:\"rgba(255,59,74,0.4)\"},children:/*#__PURE__*/_jsx(\"div\",{style:{width:0,height:2,background:ACC,animation:F.length>1?`mfphSplit ${LAND_FILM_MS}ms linear forwards`:\"none\"}},cur)}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",left:20,right:20,top:`calc(${split}% + 2px)`,bottom:`calc(${TABS_H}px + ${SAFE})`,display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",gap:v===2?18:22},children:[/*#__PURE__*/_jsxs(\"h1\",{className:\"mfph-head\",style:{margin:0,fontFamily:SERIF,fontWeight:400,fontSize:46,lineHeight:.96,letterSpacing:\"-0.01em\",alignSelf:\"flex-start\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:ACC},children:\"Colour\"}),/*#__PURE__*/_jsx(\"br\",{}),\"for the film.\"]}),v===2?/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,fontFamily:SERIF,fontStyle:\"italic\",fontSize:17,lineHeight:1.25},children:[quote+\" \",/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:UI,fontStyle:\"normal\",fontSize:7.5,letterSpacing:\"0.16em\",color:ACC,whiteSpace:\"nowrap\",verticalAlign:2},children:\"DADO VALENTIC\"})]}):null,/*#__PURE__*/_jsx(PlayPill,{onReel:props.onReel})]})]})]});}// ---- 1 WORK (W4) ------------------------------------------------------------------------------------------------------\nexport function MFPhoneWork(props){const P=(props.projects||[]).filter(p=>p&&p.shots&&p.shots.length);const[sel,setSel]=useState(0);const[slide,setSlide]=useState(0);const[hold,setHold]=useState(false);// s227 (his \"tapping a job makes it blink before it opens\"; measured on the Mac: the band went dark ~1s until its\n// first shot arrived): the band's own picture stays underneath, and the shots fade in only once the first one has\n// loaded. Every job's first shot is fetched in the background as soon as Work mounts.\nconst[ready,setReady]=useState({});// the band that is CLOSING keeps its shots mounted while they fade out (unmounting them showed its cover still for\n// a frame - a bright pop on the Mac when Peter Chin closed)\nconst[leaving,setLeaving]=useState(-1);const lt=useRef(0);const ht=useRef(0);// s227 (his ask: \"can the colour change radiate out from where the user taps?\"): the ungraded frame opens as a soft\n// circle from the finger and closes back into the same point on release. One mask on the held shot's BEFORE image,\n// written by rAF (React never styles its mask or visibility, so a re-render cannot reset it mid-ripple).\nconst befores=useRef({});const beforeFns=useRef({});const beforeRef=k=>beforeFns.current[k]||(beforeFns.current[k]=el=>{befores.current[k]=el;});const rip=useRef({el:null,x:0,y:0,r:0,max:0,to:0,raf:0});const ripDraw=R=>{const el=R.el;if(!el)return;const m=R.r<=0?\"none\":softCircle(R.x,R.y,R.r);el.style.visibility=R.r<=0?\"hidden\":\"visible\";el.style.setProperty(\"-webkit-mask-image\",m);el.style.setProperty(\"mask-image\",m);};const ripTo=(to,ms,ease)=>{const R=rip.current;if(!R.el||R.to===to)return;cancelAnimationFrame(R.raf);R.to=to;const from=R.r,t0=performance.now();const step=now=>{const t=Math.min(1,(now-t0)/ms);R.r=from+(to-from)*ease(t);ripDraw(R);if(t<1)R.raf=requestAnimationFrame(step);};R.raf=requestAnimationFrame(step);};const ripClear=()=>{const R=rip.current;cancelAnimationFrame(R.raf);R.r=0;R.to=0;ripDraw(R);R.el=null;};const holdOff=()=>{clearTimeout(ht.current);setHold(false);ripTo(0,RIPPLE_OUT_MS,t=>t<.5?2*t*t:1-Math.pow(-2*t+2,2)/2);};const holdOn=(e,i,j)=>{clearTimeout(ht.current);const b=e.currentTarget.getBoundingClientRect();const x=e.clientX-b.left,y=e.clientY-b.top;ht.current=setTimeout(()=>{const el=befores.current[i+\"-\"+j];if(!el)return;const R=rip.current;if(R.el&&R.el!==el)ripClear();R.el=el;R.x=x;R.y=y;// far enough to clear the farthest corner, feather included\nR.max=Math.hypot(Math.max(x,b.width-x),Math.max(y,b.height-y))+RIPPLE_FEATHER;setHold(true);ripTo(R.max,RIPPLE_IN_MS,t=>1-Math.pow(1-t,3));},HOLD_MS);};const markReady=i=>setReady(r=>r[i]?r:{...r,[i]:true});useEffect(()=>()=>{clearTimeout(ht.current);clearTimeout(lt.current);cancelAnimationFrame(rip.current.raf);},[]);// the open band's first shot may already be in the cache (no load event to wait for). STABLE ref callbacks: an\n// inline ref that set state re-ran on every render and looped React (#185 on the Mac)\nconst firstImgs=useRef({});const refFns=useRef({});const firstRef=i=>refFns.current[i]||(refFns.current[i]=el=>{firstImgs.current[i]=el;});useEffect(()=>{const el=firstImgs.current[sel];if(el&&el.complete&&el.naturalWidth)markReady(sel);},[sel]);useEffect(()=>{const keep=[];P.forEach(p=>{const s=(p.shots||[])[0];[s&&s.after,s&&s.before].forEach(im=>{if(!im||!im.src)return;const i=new Image;i.sizes=\"100vw\";if(im.srcSet)i.srcset=im.srcSet;i.src=im.src;keep.push(i);});});return()=>{keep.length=0;};},[P.length]);const noSave={userSelect:\"none\",WebkitUserSelect:\"none\",WebkitTouchCallout:\"none\"};const fade=(on,ms=260)=>({transition:\"opacity \"+ms+\"ms ease\",opacity:on?1:0});return /*#__PURE__*/_jsxs(Page,{i:1,children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,right:0,top:NAV_H,bottom:`calc(${TABS_H+2}px + ${SAFE})`,display:\"flex\",flexDirection:\"column\",gap:3},children:P.map((p,i)=>{const open=i===sel;const shots=p.shots||[];const shown=open&&!!ready[i];// s227 (his: \"the can't find love panel image vs. the actual image ... it jumps a bit\"): the band shows the\n// job's FIRST SHOT, framed exactly as the open band frames it - never the panel thumbnail, which is a\n// different file for Can't Find Love (a crop that is no shot) and Peter Chin (shot 3). The thumbnail's\n// focal point is kept only where the thumbnail IS shot 1 (Copper Coins, Upside Down).\nconst s0=shots[0]&&shots[0].after;const cover=s0&&s0.src?s0:p.thumbnail;const fileOf=u=>(u||\"\").replace(/\\?.*$/,\"\");const coverPos=p.thumbnail&&cover&&fileOf(p.thumbnail.src)===fileOf(cover.src)?pos(p.thumbnail):\"50% 50%\";return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",overflow:\"hidden\",minHeight:0,transition:`flex-grow 0.7s ${EASE}`,flex:(open?4.4:1)+\" 1 0\"},children:[cover&&cover.src?/*#__PURE__*/_jsx(\"img\",{src:cover.src,srcSet:cover.srcSet,sizes:\"100vw\",alt:\"\",draggable:false,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:coverPos,pointerEvents:\"none\"}}):null,open||i===leaving?/*#__PURE__*/_jsx(\"div\",{onScroll:e=>{// a swipe is not a hold: the first scroll clears it (WebKit does not always send pointercancel)\nclearTimeout(ht.current);if(hold||rip.current.to>0)holdOff();const t=e.currentTarget;const k=Math.round(t.scrollLeft/Math.max(1,t.clientWidth));if(k!==slide)setSlide(k);},style:{position:\"absolute\",inset:0,display:\"flex\",overflowX:\"auto\",overflowY:\"hidden\",scrollSnapType:\"x mandatory\",scrollbarWidth:\"none\",overscrollBehaviorX:\"contain\",touchAction:\"pan-x pan-y\",...fade(shown,320)},children:shots.map((s,j)=>/*#__PURE__*/_jsxs(\"div\",{onPointerDown:e=>holdOn(e,i,j),onPointerUp:holdOff,onPointerCancel:holdOff,onPointerLeave:holdOff,onContextMenu:e=>e.preventDefault(),role:\"img\",\"aria-label\":p.title+\", shot \"+(j+1)+\" of \"+shots.length+\", graded. Press and hold for the ungraded frame\",style:{flex:\"0 0 100%\",height:\"100%\",position:\"relative\",scrollSnapAlign:\"start\",background:GROUND,...noSave},children:[s.after&&s.after.src?/*#__PURE__*/_jsx(\"img\",{src:s.after.src,srcSet:s.after.srcSet,sizes:\"100vw\",alt:\"\",draggable:false,loading:j<2?\"eager\":\"lazy\",ref:j===0?firstRef(i):undefined,onLoad:j===0?()=>markReady(i):undefined,onError:j===0?()=>markReady(i):undefined,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:j===0?coverPos:\"50% 50%\",pointerEvents:\"none\"}}):null,s.before&&s.before.src?/*#__PURE__*/_jsx(\"img\",{src:s.before.src,srcSet:s.before.srcSet,sizes:\"100vw\",alt:\"\",draggable:false,loading:j<2?\"eager\":\"lazy\",ref:beforeRef(i+\"-\"+j),style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:j===0?coverPos:\"50% 50%\",pointerEvents:\"none\",visibility:\"hidden\"}}):null]},j))}):null,/*#__PURE__*/_jsxs(\"button\",{type:\"button\",tabIndex:open?-1:0,\"aria-hidden\":open?true:undefined,onClick:()=>{if(open)return;clearTimeout(lt.current);setLeaving(sel);lt.current=setTimeout(()=>setLeaving(-1),420);setSel(i);setSlide(0);holdOff();},\"aria-label\":\"Show \"+p.title,style:{all:\"unset\",cursor:\"pointer\",position:\"absolute\",inset:0,display:\"block\",WebkitTapHighlightColor:\"transparent\",pointerEvents:open?\"none\":\"auto\",...fade(!open)},children:[/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",inset:0,background:\"linear-gradient(to right, rgba(7,8,12,0.78), rgba(7,8,12,0.25))\"}}),/*#__PURE__*/_jsxs(\"span\",{style:{position:\"absolute\",left:16,right:16,top:\"50%\",transform:\"translateY(-50%)\",display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",gap:12},children:[/*#__PURE__*/_jsxs(\"span\",{style:{display:\"block\",minWidth:0},children:[/*#__PURE__*/_jsx(\"span\",{style:{display:\"block\",fontFamily:SERIF,fontSize:21,lineHeight:1,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",color:INK},children:p.title}),/*#__PURE__*/_jsx(\"span\",{style:{display:\"block\",fontSize:7.5,letterSpacing:\"0.14em\",color:\"#c9c2ba\",marginTop:4},children:metaShort(p)})]}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:8.5,letterSpacing:\"0.16em\",color:ACC,flex:\"none\"},children:\"0\"+(i+1)})]})]}),/*#__PURE__*/_jsxs(\"span\",{\"aria-hidden\":open?undefined:true,style:{position:\"absolute\",inset:0,pointerEvents:\"none\",...fade(open)},children:[/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",left:12,top:10,padding:\"5px 8px\",background:\"rgba(7,8,12,0.78)\",fontSize:7.5,letterSpacing:\"0.16em\",color:hold&&open?INK:ACC},children:hold&&open?\"— BEFORE \\xb7 UNGRADED\":\"HOLD FOR BEFORE\"}),/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",left:0,right:0,bottom:0,height:\"60%\",background:\"linear-gradient(to bottom, rgba(7,8,12,0), rgba(7,8,12,0.85))\"}}),/*#__PURE__*/_jsxs(\"span\",{style:{position:\"absolute\",left:16,right:16,bottom:14,display:\"block\"},children:[/*#__PURE__*/_jsxs(\"span\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:8.5,letterSpacing:\"0.16em\",color:ACC},children:\"0\"+(i+1)}),/*#__PURE__*/_jsx(\"span\",{style:{display:\"flex\",gap:5},children:shots.map((s,j)=>/*#__PURE__*/_jsx(\"span\",{style:{display:\"block\",width:open&&j===slide?14:5,height:5,borderRadius:3,background:open&&j===slide?ACC:\"rgba(236,230,223,0.5)\",transition:\"width 0.3s\"}},j))})]}),/*#__PURE__*/_jsx(\"span\",{className:open?\"mfph-head\":undefined,style:{display:\"block\",fontFamily:SERIF,fontSize:30,lineHeight:1,marginTop:4,color:INK},children:p.title}),/*#__PURE__*/_jsx(\"span\",{style:{display:\"block\",fontSize:8,letterSpacing:\"0.14em\",color:\"#c9c2ba\",marginTop:5},children:metaLong(p)})]})]})]},i);})}),/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{position:\"absolute\",left:0,right:0,top:0,height:NAV_H,background:GROUND}})]});}// ---- 2 ABOUT (C layout + N6) ------------------------------------------------------------------------------------------\nconst SERVICES=[\"Grading & look design\",\"Colour-managed pipelines\",\"Look development\",\"Film & archival restoration\",\"Film emulation, grain & denoise\",\"DCTL and LUT authoring\",\"HDR & Dolby Vision workflow\",\"Live remote grading\"];const QUOTES=[{q:\"“Our most recent project benefited from his deep dive into colouring and Gav produced a style and feel that took the film to another level.”\",who:\"Jeanette Kong\",org:\"JIANG MEDIA INC.\"},{q:\"“Most importantly, he is genuine, kind, incredibly professional, and dependable.”\",who:\"Erin Herrick\",org:\"NATIONAL PROGRESS ALLIANCE\"},{q:\"“Easy to work with, dependable and someone I know I can count on.”\",who:\"Lisa Hiney\",org:\"SJC CONTENT\"}];const lab=(c=ACC)=>({fontFamily:UI,fontSize:8,letterSpacing:\"0.16em\",color:c,marginBottom:6});export function MFPhoneAbout(props){const[ch,setCh]=useState(0);const sc=useRef(null);const secs=useRef([null,null,null]);const list=props.projects||[];const stills=[1,2,3].map(k=>{const t=(list[k%Math.max(1,list.length)]||{}).thumbnail;return t?{src:t.src||null,posn:pos(t)}:{src:null,posn:\"50% 50%\"};});useEffect(()=>{const onJump=e=>{const i=e.detail;const s=sc.current;const c=secs.current[i];// offsetTop counts the nav padding (this scroller starts at the top of the screen, under the nav)\nif(s&&c)s.scrollTo({top:i===0?0:c.offsetTop-NAV_H,behavior:\"smooth\"});};window.addEventListener(EV_JUMP,onJump);return()=>window.removeEventListener(EV_JUMP,onJump);},[]);useEffect(()=>{lastCh=ch;emit(EV_CH,ch);},[ch]);// a page turn back to About starts at the top (the pager resets scrollTop) - the chapter follows\nuseEffect(()=>{if(props.active&&sc.current&&sc.current.scrollTop<2)setCh(0);},[props.active]);const onScroll=e=>{const t=e.currentTarget;const top=t.scrollTop+NAV_H+120;let k=0;secs.current.forEach((s,i)=>{if(s&&s.offsetTop<=top)k=i;});if(t.scrollTop+t.clientHeight>=t.scrollHeight-4)k=2;if(k!==ch)setCh(k);};const quoteP={margin:0,fontFamily:SERIF,fontStyle:\"italic\",fontSize:16.5,lineHeight:1.3,maxWidth:310};return /*#__PURE__*/_jsx(Page,{i:2,shade:true,scrollerRef:sc,onScroll:onScroll,under:stills.map((s,i)=>/*#__PURE__*/_jsx(BgStill,{src:s.src,posn:s.posn,on:i===ch},i)),children:/*#__PURE__*/_jsxs(\"div\",{style:{paddingTop:NAV_H,paddingBottom:`calc(${TABS_H+CH_H}px + ${SAFE})`},children:[/*#__PURE__*/_jsxs(\"section\",{ref:el=>{secs.current[0]=el;},style:{padding:\"36px 24px 56px\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",textAlign:\"center\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:9.5,letterSpacing:\"0.16em\",color:ACC},children:\"[ 02 ]\\xa0\\xa0ABOUT\"}),props.headshot?/*#__PURE__*/_jsx(\"img\",{src:props.headshot,alt:\"Gav Patel\",style:{width:76,height:76,borderRadius:\"50%\",objectFit:\"cover\",marginTop:20}}):null,/*#__PURE__*/_jsxs(\"h2\",{className:\"mfph-head\",style:{margin:\"20px 0 0\",fontFamily:SERIF,fontWeight:400,fontSize:50,lineHeight:.96,letterSpacing:\"-0.01em\"},children:[\"The work is\",/*#__PURE__*/_jsx(\"br\",{}),\"the \",/*#__PURE__*/_jsx(\"span\",{style:{color:ACC},children:\"grade.\"})]}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:\"18px 0 0\",maxWidth:320,fontFamily:SERIF,fontSize:18,lineHeight:1.32},children:[\"A Toronto colourist, one-person post studio, with \",/*#__PURE__*/_jsx(\"span\",{style:{color:ACC},children:\"17+ years\"}),\" in broadcast, advertising and documentary. Started in compositing,\",\" \",/*#__PURE__*/_jsx(\"span\",{style:{color:ACC},children:\"then grading\"}),\", with his own colour-managed pipelines.\"]}),/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:20,display:\"flex\",gap:18,fontSize:8.5,letterSpacing:\"0.16em\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:DIM},children:\"TORONTO \\xb7 REMOTE WORLDWIDE\"}),/*#__PURE__*/_jsx(\"a\",{href:props.resumeUrl||\"#resume\",target:\"_blank\",rel:\"noopener\",style:{color:INK,textDecoration:\"none\"},children:\"RESUME, PDF ↓\"})]})]}),/*#__PURE__*/_jsxs(\"section\",{ref:el=>{secs.current[1]=el;},style:{padding:\"40px 24px 56px\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",textAlign:\"center\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:SERIF,fontSize:64,lineHeight:.8,color:ACC},children:\"02\"}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:10,fontSize:8.5,letterSpacing:\"0.2em\"},children:\"PROOF\"}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:\"26px 0 0\",fontFamily:SERIF,fontSize:25,lineHeight:1.1},children:[\"“Normally the references look so good and the grade doesn’t. \",/*#__PURE__*/_jsx(\"span\",{style:{color:ACC},children:\"This is looking better than the references.”\"})]}),/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:SERIF,fontSize:17,marginTop:14},children:\"Dado Valentic\"}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:7.5,letterSpacing:\"0.14em\",color:DIM,marginTop:4,lineHeight:1.5},children:\"FOUNDER & CEO \\xb7 COLOUR INTELLIGENCE INC. \\xb7 ON COPPER COINS\"}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:7.5,letterSpacing:\"0.14em\",color:ACC,marginTop:4},children:\"GOLDEN ASTRO \\xb7 BEST COLOURIST \\xb7 COLOUR.TRAINING\"}),QUOTES.map((x,i)=>/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{width:40,height:1,background:i===0?ACC:\"rgba(231,220,196,0.2)\",margin:i===0?\"26px 0\":\"22px 0\"}}),/*#__PURE__*/_jsx(\"p\",{style:quoteP,children:x.q}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:8,fontFamily:SERIF,fontSize:15},children:x.who}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:7.5,letterSpacing:\"0.14em\",color:DIM,marginTop:3},children:x.org})]},i))]}),/*#__PURE__*/_jsxs(\"section\",{ref:el=>{secs.current[2]=el;},style:{padding:\"40px 24px 16px\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",textAlign:\"center\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:SERIF,fontSize:64,lineHeight:.8,color:ACC},children:\"03\"}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:10,fontSize:8.5,letterSpacing:\"0.2em\"},children:\"TOOLS & TRAINING\"}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:24,fontSize:8,letterSpacing:\"0.16em\",color:DIM},children:\"COLOUR\"}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:10,display:\"flex\",flexDirection:\"column\",gap:7,fontFamily:SERIF,fontSize:21,lineHeight:1.1},children:SERVICES.map((t,i)=>/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:UI,fontSize:7.5,letterSpacing:\"0.14em\",color:ACC,verticalAlign:5,marginRight:8},children:\"0\"+(i+1)}),t]},i))}),/*#__PURE__*/_jsx(\"div\",{style:{width:40,height:1,background:ACC,margin:\"22px 0 18px\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"repeat(2, minmax(0, 1fr))\",gap:\"18px 20px\",width:\"100%\",fontFamily:SERIF,fontSize:14.5,lineHeight:1.35},children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{style:lab(),children:\"DELIVERY\"}),\"Masters to spec\",/*#__PURE__*/_jsx(\"br\",{}),\"Multi-version packages\",/*#__PURE__*/_jsx(\"br\",{}),\"Conform across NLEs\"]}),/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{style:lab(),children:\"SUITE\"}),\"Calibrated reference display\",/*#__PURE__*/_jsx(\"br\",{}),\"Grading control surface\",/*#__PURE__*/_jsx(\"br\",{}),\"Dolby Vision mastering chain\"]}),/*#__PURE__*/_jsxs(\"div\",{style:{gridColumn:\"1 / -1\"},children:[/*#__PURE__*/_jsx(\"div\",{style:lab(),children:\"TRAINING\"}),\"Colour.Training \\xb7 Dado Valentic\",/*#__PURE__*/_jsx(\"br\",{}),\"Sheridan College \\xb7 Humber College\",/*#__PURE__*/_jsx(\"br\",{}),\"FXPHD \\xb7 Second City\",/*#__PURE__*/_jsx(\"br\",{}),/*#__PURE__*/_jsx(\"span\",{style:{fontStyle:\"italic\",color:DIM},children:\"Member, Art of Color Research Group\"})]})]})]})]})});}// ---- 3 CONTACT (no footer) --------------------------------------------------------------------------------------------\nexport function MFPhoneContact(props){const email=props.email||\"gav@mindfactory.ca\";return /*#__PURE__*/_jsx(Page,{i:3,under:/*#__PURE__*/_jsx(BgStill,{src:CONTACT_STILL,on:true}),children:/*#__PURE__*/_jsxs(\"div\",{style:{flex:\"1 1 auto\",width:\"100%\",minHeight:\"100%\",boxSizing:\"border-box\",padding:`${NAV_H}px 24px calc(${TABS_H}px + ${SAFE})`,display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",textAlign:\"center\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:9.5,letterSpacing:\"0.16em\",color:ACC},children:\"[ 03 ]\\xa0\\xa0CONTACT\"}),/*#__PURE__*/_jsxs(\"h2\",{className:\"mfph-head\",style:{margin:\"16px 0 0\",fontFamily:SERIF,fontWeight:400,fontSize:42,lineHeight:1},children:[\"Send your \",/*#__PURE__*/_jsx(\"em\",{style:{color:ACC},children:\"brief.\"})]}),/*#__PURE__*/_jsx(\"p\",{style:{margin:\"12px 0 0\",maxWidth:290,fontSize:13.5,lineHeight:1.5,color:\"#b8b1a9\"},children:\"Project type, delivery date, footage or stills, and any look reference.\"}),/*#__PURE__*/_jsxs(\"a\",{href:\"mailto:\"+email,style:{marginTop:40,display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:10,textDecoration:\"none\",color:INK},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:SERIF,fontSize:36,lineHeight:1,maxWidth:\"100%\",overflowWrap:\"anywhere\"},children:email}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:9,letterSpacing:\"0.18em\",color:ACC},children:\"EMAIL GAV →\"})]}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:26,fontSize:8.5,letterSpacing:\"0.16em\",color:DIM},children:\"TORONTO \\xb7 REMOTE WORLDWIDE\"})]})});}// ---- the bottom tabs + N6's chapter row (replaces the pager's index; keeps data-mf=\"cpage-index\" so a swipe that\n// starts on it never turns a page) ---------------------------------------------------------------------------------------\nconst NAMES=[\"HOME\",\"WORK\",\"ABOUT\",\"CONTACT\"];const CHS=[\"STATEMENT\",\"PROOF\",\"TOOLS & TRAINING\"];export function MFPhoneTabs(props){const[ch,setCh]=useState(lastCh);useEffect(()=>{const on=e=>setCh(e.detail);window.addEventListener(EV_CH,on);return()=>window.removeEventListener(EV_CH,on);},[]);const tab=props.page;const onAbout=tab===2;const h=TABS_H+(onAbout?CH_H:0);return /*#__PURE__*/_jsxs(\"nav\",{\"data-mf\":\"cpage-index\",\"data-mf-ph-tabs\":\"\",\"aria-label\":\"Pages\",style:{position:\"fixed\",left:0,right:0,bottom:0,zIndex:props.zIndex==null?62:props.zIndex,boxSizing:\"content-box\",height:h,paddingBottom:SAFE,overflow:\"hidden\",transition:`height 0.6s ${EASE}`,background:onAbout?GROUND:\"linear-gradient(to bottom, rgba(7,8,12,0.55), rgba(7,8,12,0.92) 30%)\",fontFamily:UI,color:INK,WebkitFontSmoothing:\"antialiased\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",height:1,margin:\"0 12px\",background:RIM},children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:-1,height:2,width:\"25%\",background:ACC,transition:`left 0.9s ${EASE}`,left:tab*25+\"%\"}})}),/*#__PURE__*/_jsx(\"div\",{style:{height:TABS_H-1,display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",padding:\"0 12px\",fontSize:9.5,letterSpacing:\"0.16em\",fontWeight:500},children:NAMES.map((label,i)=>/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>{if(i===tab){if(i===2)emit(EV_JUMP,0);return;}props.goTo(i);},\"aria-current\":i===tab?\"page\":undefined,style:{all:\"unset\",cursor:\"pointer\",height:TABS_H-1,display:\"flex\",alignItems:\"center\",color:i===tab?INK:DIM,transition:\"color 0.4s\",WebkitTapHighlightColor:\"transparent\"},children:label},label))}),/*#__PURE__*/_jsx(\"div\",{\"aria-label\":\"About chapters\",\"aria-hidden\":onAbout?undefined:true,style:{height:CH_H,display:\"flex\",alignItems:\"center\",gap:4,padding:\"0 12px\",borderTop:\"1px solid rgba(231,220,196,0.08)\",transition:\"opacity 0.4s ease\",opacity:onAbout?1:0,pointerEvents:onAbout?\"auto\":\"none\"},children:CHS.map((label,i)=>/*#__PURE__*/_jsxs(\"button\",{type:\"button\",tabIndex:onAbout?0:-1,onClick:()=>emit(EV_JUMP,i),style:{all:\"unset\",cursor:\"pointer\",flex:(i===2?\"1.5\":\"1\")+\" 1 0\",minWidth:0,height:CH_H,display:\"flex\",alignItems:\"center\",gap:6,fontSize:7.5,letterSpacing:\"0.14em\",whiteSpace:\"nowrap\",color:i===ch?INK:DIM,boxShadow:\"inset 0 \"+(i===ch?\"-1.5px 0 \"+ACC:\"0 0 transparent\"),WebkitTapHighlightColor:\"transparent\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:i===ch?ACC:DIM},children:\"0\"+(i+1)}),label]},label))})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"MFPhoneAbout\":{\"type\":\"reactComponent\",\"name\":\"MFPhoneAbout\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"MFPhoneContact\":{\"type\":\"reactComponent\",\"name\":\"MFPhoneContact\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"MFPhoneWork\":{\"type\":\"reactComponent\",\"name\":\"MFPhoneWork\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"PhoneProject\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MFPhoneTabs\":{\"type\":\"reactComponent\",\"name\":\"MFPhoneTabs\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"MFPhoneLanding\":{\"type\":\"reactComponent\",\"name\":\"MFPhoneLanding\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MFPhoneColour.map","// s227: THE COLOUR BACKGROUND STILLS (desktop) - the port of the preview's shell demo bgdemo.js (FADE mode, the one he\n// signed: \"Fade at 10% is the sweet spot\", \"sorry i meant crimson\", \"this should only work for about and contact\",\n// \"Use that image\" (the dancers), \"keep it soft. we don't want any clipping\"). Vanilla DOM, like mountColourAbout.\n// One fixed layer appended to the component root, SCREEN-blended over the page (it can only lighten: the blacks stay\n// black), above the sections and below the nav (z between 1 and 60), pointer-events none. Each still is mapped\n// luminance -> crimson once on load (soft S-curve, strength baked in with a +-1 level dither so 10% crimson does not\n// band), and masked under the nav by a dithered tile. About = one still per About page (it slides sideways 40% of the\n// panel travel and cross-fades; a jump dissolves in place); Contact = Peter Chin's dancers.\n// The phone has its own stills (MFPhoneColour). Imports: none.\nconst TINT=[255,59,74];const MASK_FLOOR=.4// the still under the nav: its floor (an invented knob)\n;const MASK_END=150// where it is full, px (an invented knob)\n;const S_CURVE=.5// the soft S-curve, 0 = straight .. 1 = full smoothstep (an invented knob; his ask: soft)\n;const DRIFT=.3// the still moves at 30% of the scroll inside its section (an invented knob)\n;const DRIFT_X=.4// an About page change moves the still 40% of the panel travel (an invented knob)\n;const JUMP_MS=900// a jump in the About page dissolves over this\n;export function mountColourBg(root,o){let dead=false;let raf=0;const urls=[];const OP=Math.max(.01,Math.min(1,o.op));const layer=document.createElement(\"div\");layer.setAttribute(\"data-mfc-bg\",\"\");layer.setAttribute(\"aria-hidden\",\"true\");layer.setAttribute(\"style\",\"position:fixed;inset:0;z-index:55;pointer-events:none;mix-blend-mode:screen;\"+\"-webkit-mask-image:linear-gradient(to bottom,transparent 0,\"+o.navH+\"px,#000 230px);mask-image:linear-gradient(to bottom,transparent 0,\"+o.navH+\"px,#000 230px)\");root.appendChild(layer);// the fade under the nav as a DITHERED mask tile (a CSS gradient bands into stripes - his \"banding\"), drawn at\n// DEVICE pixels (his 125% Windows scale stretched a CSS-pixel tile into streaks)\ntry{const dpr=Math.max(1,window.devicePixelRatio||1),TW=Math.round(256*dpr),TH=Math.round(230*dpr);const c=document.createElement(\"canvas\");c.width=TW;c.height=TH;const x=c.getContext(\"2d\");if(x){const d=x.createImageData(TW,TH),p=d.data;for(let yd=0;yd<TH;yd++){const yy=(yd+.5)/dpr;const t=Math.min(1,yy/MASK_END),a=MASK_FLOOR+(1-MASK_FLOOR)*t*t*(3-2*t);for(let xx=0;xx<TW;xx++){const i=(yd*TW+xx)*4;p[i]=p[i+1]=p[i+2]=0;p[i+3]=Math.max(0,Math.min(255,Math.round(a*255+(Math.random()+Math.random()-1)*12)));}}x.putImageData(d,0,0);const u=\"url(\"+c.toDataURL()+\")\";const m=u+\",linear-gradient(#000,#000)\";const st=layer.style;st.webkitMaskImage=m;st.maskImage=m;st.webkitMaskSize=st.maskSize=TW/dpr+\"px \"+TH/dpr+\"px,100% calc(100% - \"+TH/dpr+\"px)\";st.webkitMaskPosition=st.maskPosition=\"0 0,0 \"+TH/dpr+\"px\";st.webkitMaskRepeat=st.maskRepeat=\"repeat-x,no-repeat\";}}catch(e){}const duotone=(src,cb)=>{const im=new Image;im.crossOrigin=\"anonymous\";im.onload=()=>{if(dead)return;try{const w=Math.min(2560,im.naturalWidth),h=Math.round(w*im.naturalHeight/im.naturalWidth);const c=document.createElement(\"canvas\");c.width=w;c.height=h;const x=c.getContext(\"2d\");if(!x)return cb(null);x.drawImage(im,0,0,w,h);const d=x.getImageData(0,0,w,h),p=d.data;for(let i=0;i<p.length;i+=4){let L=(.2126*p[i]+.7152*p[i+1]+.0722*p[i+2])/255;L=L+S_CURVE*(L*L*(3-2*L)-L);p[i]=TINT[0]*L*OP+Math.random()-.5;p[i+1]=TINT[1]*L*OP+Math.random()-.5;p[i+2]=TINT[2]*L*OP+Math.random()-.5;}x.putImageData(d,0,0);c.toBlob(b=>{if(dead||!b)return cb(null);const u=URL.createObjectURL(b);urls.push(u);cb(u);});}catch(e){cb(null);}};im.onerror=()=>cb(null);im.src=src.replace(/\\?.*$/,\"\")+\"?width=2560\";};const items=[];const PICK=[[\"about\",0,o.about[0]],[\"about\",1,o.about[1]],[\"about\",2,o.about[2]],[\"contact\",-1,o.contact]];PICK.forEach(pk=>{const sec=root.querySelector(\"#\"+pk[0]);if(!sec||!pk[2])return;const el=document.createElement(\"div\");el.setAttribute(\"style\",\"position:absolute;left:-30%;width:160%;top:-20%;height:140%;background:center/cover no-repeat;opacity:0;will-change:transform,opacity\");layer.appendChild(el);const it={sec,panel:pk[1],el};items.push(it);duotone(pk[2],u=>{if(u&&!dead)it.el.style.backgroundImage=\"url(\"+u+\")\";});});// the About page as a fraction (0 = page 1 .. 2 = page 3), read from its panels as they slide. While the About WAITS\n// off screen its panels sit on page 1 whatever it will open on, so read the page it WILL open on: from below (it\n// sits above the screen) page 3, else page 1 - the About's own rule (his \"the images may be flashing ... on that trip\")\nlet lastRaw=null;let dispFi=0;let bl=null;const aboutPage=()=>{const sd=root.querySelector(\"#about .sd\"),p=sd&&sd.querySelector(\".sd-panel\");if(!sd||!p)return lastRaw===null?0:lastRaw;if(sd.classList.contains(\"sd-wait\")){const ab=root.querySelector(\"#about\");return ab&&ab.getBoundingClientRect().top<0?2:0;}const a=sd.getBoundingClientRect(),b=p.getBoundingClientRect();return b.width?(a.left-b.left)/b.width:0;};const tick=()=>{if(dead)return;const vh=window.innerHeight,vw=window.innerWidth,raw=aboutPage(),now=performance.now();// a JUMP (a return trip opens straight on page 3) dissolves old -> new in place (his \"pop on the bg image when\n// you go from contact back to about\"; easing the page number panned through the pages between)\nif(lastRaw!==null&&Math.abs(raw-lastRaw)>.3)bl={from:Math.round(bl?bl.to:dispFi),to:Math.round(raw),t0:now};lastRaw=raw;if(bl){const t=Math.min(1,(now-bl.t0)/JUMP_MS);bl.e=t<.5?4*t*t*t:1-Math.pow(-2*t+2,3)/2;if(t>=1)bl=null;}dispFi=raw;const fi=dispFi;items.forEach(it=>{const r=it.sec.getBoundingClientRect();const vis=Math.max(0,Math.min(r.bottom,vh)-Math.max(r.top,0));const cover=vis/vh;const y=r.top*DRIFT;let x=0,pageW=1;if(it.panel>=0&&bl)pageW=(it.panel===bl.from?1-(bl.e||0):0)+(it.panel===bl.to?bl.e||0:0);else if(it.panel>=0){const d=it.panel-fi;x=d*vw*DRIFT_X;pageW=Math.max(0,1-Math.abs(d));}it.el.style.opacity=(pageW*Math.min(1,cover*1.25)).toFixed(4);it.el.style.transform=\"translate3d(\"+x.toFixed(1)+\"px,\"+y.toFixed(1)+\"px,0)\";});raf=requestAnimationFrame(tick);};raf=requestAnimationFrame(tick);return()=>{dead=true;cancelAnimationFrame(raf);layer.remove();urls.forEach(u=>URL.revokeObjectURL(u));};}\nexport const __FramerMetadata__ = {\"exports\":{\"ColourBgOpts\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mountColourBg\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MFColourBg.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{useEffect,useLayoutEffect,useMemo,useRef,useState,useCallback}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";// s211: the new About - GENERATED from the About mockup by\n// _archive/session-scratch/s211-port/gen.js. Never edit it by hand.\nimport{MFA_CSS,MFA_MARKUP,MFA_ROOT_CLASS,mountMotionAbout}from\"https://framerusercontent.com/modules/WuubiuL5utcbz1gO1rMX/eUpcONvoSZkJVgj896pX/MFAboutMotion.js\";// s225: the Colour About - GENERATED from the About mockup (Colour page) by\n// _archive/session-scratch/s211-port/gen-colour.js. Never edit it by hand.\nimport{MFC_ABOUT_CSS,MFC_ABOUT_MARKUP,MFC_ABOUT_ROOT_CLASS,mountColourAbout}from\"https://framerusercontent.com/modules/17sRaWhd6s8Tpz4ByMKj/G7NQObMtKbjLwU5IQmgw/MFAboutColour.js\";// s215: the Motion desktop landing - GENERATED from the landing canvas (round 10) by\n// _archive/session-scratch/s215-landing-port/gen.js. Never edit it by hand.\nimport{mountMotionLanding}from\"https://framerusercontent.com/modules/JJQO1fHMwILzDjr0BIro/EyXVptdnI9ncIpQGGnQp/MFLandingMotion.js\";// s219: the Colour desktop landing - from the landing canvas round 9 (s219-colour-landing/port)\nimport{mountColourLanding}from\"https://framerusercontent.com/modules/X0m6qfi5r2dsXbv04baq/P5moLDF4j0NMgZ1zBFmo/MFLandingColour.js\";// s227: the Colour PHONE pages (canvas VTVErqZkWQFzSAKJkW2kUD) - landing, Work W4, About N6, Contact\nimport{MFPhoneLanding,MFPhoneWork,MFPhoneAbout,MFPhoneContact,MFPhoneTabs}from\"https://framerusercontent.com/modules/NZAWks3qHDtwHOABfDRk/B6rwEM23yccetDW0J03L/MFPhoneColour.js\";// s227: the Colour background stills (desktop) - the port of the preview's bgdemo.js (FADE at 10%, signed)\nimport{mountColourBg}from\"https://framerusercontent.com/modules/fcSZCkZFsDUvWDeMwCAt/dMu3gngq4fBJxcRdXiXy/MFColourBg.js\";// s219 round 6: the Motion library, for the Colour landing (useAnimate's element animate + scroll; probed with typecheckCode)\nimport{useAnimate,scroll as mfScroll}from\"framer\";/**\n * MF Homepage v2 — ported from the Claude Design source\n * (`MF Homepage v2.dc.html`, project da0a0ca3-4842-493c-96d0-f6a296915497).\n *\n * Colour mode uses Google Fonts (Playfair Display + Schibsted Grotesk, loaded via\n * @import below). Motion mode loads Dharma Gothic M / Pawl Square / Pawl\n * Stretch as external WOFF2 URLs injected into document.head (see MF_HEAD_CSS).\n * Framer Site Settings fonts do not ship for code components on publish; iOS\n * WebKit also rejected large base64 @font-face blobs — external HTTPS is required.\n */const SIGNAL_KEY=\"mf-signal\";/** s119 — string so it survives minification. First line of the\n *  ?mfdebug=1 HUD; grep the deployed bundle for it. Bump every push. */const MF_BUILD=\"s227\";// s220: a REFRESH goes to the TOP (his rule) - stop Framer's restore glide before it starts (see edit220.js (3))\nif(typeof window!==\"undefined\"){try{const ne=performance.getEntriesByType(\"navigation\")[0];if(ne&&ne.type===\"reload\"&&window.innerWidth>1024){const st=window.history.state;if(st&&typeof st===\"object\"){const z={x:0,y:0};const ns={...st};if(ns.scrollPosition)ns.scrollPosition=z;for(const k of Object.keys(ns)){const v=ns[k];if(v&&typeof v===\"object\"&&v.scrollPosition)ns[k]={...v,scrollPosition:z};}window.history.replaceState(ns,\"\",window.location.href);}const w=window;if(!w.__mfReloadTop){w.__mfReloadTop=true;const orig=window.scrollTo.bind(window);const t0=Date.now();window.scrollTo=function(a,b){if(Date.now()-t0<2e3&&typeof a===\"number\"&&typeof b===\"number\"&&b>0)return orig({top:0,left:0,behavior:\"instant\"});return orig(a,b);};window.setTimeout(()=>{window.scrollTo=orig;},2100);}}}catch(e){}}/** External motion fonts + nav logo CSS (iOS-safe: no base64, no JS width hacks). */const MF_HEAD_CSS=\"@font-face{font-family:'Dharma Gothic M';src:url('https://framerusercontent.com/assets/n0O4FQC5HfBIB2JsQUvGU66wA9o.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:'Dharma Gothic M';src:url('https://framerusercontent.com/assets/bSs0xe23uOCAYaPFlKlGQc4LKaE.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'Dharma Gothic M';src:url('https://framerusercontent.com/assets/Ipl0vTp55MS6BwPeKOW3FRWkAek.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:'Dharma Gothic M';src:url('https://framerusercontent.com/assets/POPhFZ7hl1DXcJzwRHeNfORbi8Q.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:'Pawl Square';src:url('https://framerusercontent.com/assets/eG3bjnnqN4NLLHmyioDHvdgcI.woff2') format('woff2');font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:'Pawl Square';src:url('https://framerusercontent.com/assets/uhs2Hvo0MVHsh1ISV1zqRaP10w.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:'Pawl Square';src:url('https://framerusercontent.com/assets/EXYT0BBI9DUroHUAS86ztQDDNVU.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'Pawl Square';src:url('https://framerusercontent.com/assets/HamDA7sRpg2CLGd9B6So8bX8UOI.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:'Pawl Stretch';src:url('https://framerusercontent.com/assets/tXxU4CztNADqOxbRuTDKRofTk0.woff2') format('woff2');font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:'Pawl Stretch';src:url('https://framerusercontent.com/assets/Ecv39qJXLymmkJl5Q46Vv1CwZkc.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:'Pawl Stretch';src:url('https://framerusercontent.com/assets/YqSlclOa22oQWlbcJNefnCfI8GU.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'Pawl Stretch';src:url('https://framerusercontent.com/assets/2Kndhn5xWBLUlgGkn0QIbz9J2Y.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}.mf-nav-logo-full{display:none!important;height:100%;width:auto}.mf-nav-logo-mark{display:block!important;height:100%;width:auto}@media (min-width:861px) and (pointer:fine){.mf-nav-logo-full{display:block!important}.mf-nav-logo-mark{display:none!important}}\";function useMotionFonts(){useLayoutEffect(()=>{if(typeof document===\"undefined\")return;try{if(!document.getElementById(\"mf-fonts-preconnect\")){const link=document.createElement(\"link\");link.id=\"mf-fonts-preconnect\";link.rel=\"preconnect\";link.href=\"https://framerusercontent.com\";link.crossOrigin=\"anonymous\";document.head.appendChild(link);}}catch(_){}},[]);}// Compare box renders at max 1040px wide (90vw below ~1100px). This lets the\n// browser pull a display-sized srcSet variant instead of the full-res original,\n// which is what makes the clip-path drag cheap to repaint and the plates quick\n// to load. DPR is factored in automatically when the browser picks a candidate.\n// Display-size hint for compare plates — keep in sync with stage max width below.\nconst CBX_SIZES=\"(max-width: 1400px) 92vw, 1320px\";// Fixed nav bar height (inner row is 68px). Sticky work panel rests flush under it.\nconst NAV_H=68;const WORK_STICKY_TOP=NAV_H;// In-flow padding under the title block (also the unstuck hero→work air).\n// Keep modest so the resting pin doesn't flash a band of hero underneath.\nconst WORK_PAD_TOP=32;const WORK_PAD_BOTTOM=24;const GRID_MOBILE_MAX=700// exclusive: layoutW < 700 is mobile\n;const GRID_TABLET_MAX=1024// inclusive: layoutW <= 1024 is tablet\n;/** s93: a resize whose WIDTH is unchanged and whose height moved by less\n *  than this, on a phone-width viewport, is the browser's own chrome\n *  animating -- not a real resize. Measured on Gav's iPhone 13 mini in\n *  Firefox iOS: the page viewport steps 811.8 <-> 729.8, an 82px change,\n *  as the toolbar slides. Re-deriving the deck track there changes the\n *  document height and iOS remaps scrollY to match: recovered from his\n *  screen recording as a -783px single-frame jump landing on the exact\n *  frame the toolbar appeared, after a clean decelerating flick, then\n *  +315px back as it left. Safari does not resize, which is why the bug\n *  is Firefox-only. a rotation changes the WIDTH, so it is not caught by\n *  this guard.\n *  s95: raised 160 -> 260 after Gav asked whether these fixes hold on a\n *  larger phone. 160 left only 32px over his measured 128px swing, and a\n *  device whose chrome exceeded it would silently stop being guarded -\n *  which looks exactly like no fix at all, the failure shape that has\n *  already bitten this arc twice. Widening costs nothing: on a phone a\n *  height-only resize that is NOT browser chrome essentially does not\n *  happen, and anything that changes the width is on the relayout path\n *  regardless. Do not tighten this back toward the measured swing. */const MOBILE_CHROME_RESIZE_MAX_PX=260;// A candidate row must be at least 15% closer to the viewport centre than the\n// current one before activity switches. Without this, two rows that are both\n// substantially visible oscillate at the midpoint.\nconst ROW_REVEAL_HYSTERESIS=.85;// Phone Motion carousel: a vertical picker wheel. The centred tile is full\n// size; previous and next peek above and below, scaled down and dimmed.\nconst CAROUSEL_TILE_H=260// centred tile height (was 280)\n;const CAROUSEL_VIEW_H=400// scrollport height: centre tile + both peeks\n;const CAROUSEL_NEIGHBOR_SCALE=.9;const CAROUSEL_NEIGHBOR_OPACITY=.5;/* =====================================================================\n * MOBILE MOTION v2 (s70) — phones on the Motion signal.\n * Dialled in the mobile-motion.html sandbox (build s69.1); these are that\n * build's values. Scope is gridBand \"mobile\" (< GRID_MOBILE_MAX) AND Motion.\n * Tablet, desktop and Colour are untouched by every constant below.\n *\n * THE MODEL, in one paragraph: the page scrolls natively (no assisted scroll,\n * no teleport, so nothing has to be hidden). A cyan band is pinned to each\n * SECTION SEAM and scroll-scrubbed, which makes it reversible and\n * interruptible by construction. The departing screen holds still while the\n * band crosses it and is masked away below the band's cut, revealing the fixed\n * telemetry grid and then the arriving section. That is the desktop s54 matte\n * model driven by scroll instead of time.\n *\n * !! ONE-LINE REVERT. Set this false and the s38/s39 vertical carousel runs\n * exactly as it shipped — its branch, its rAF effect, its arrows. The carousel\n * code is kept intact on purpose; do not delete it while this is young. */const MOBILE_MOTION_V2=true;/** Alpha below this is treated as invisible for the band's visible\n *  height. Dial. Neighbours at the pre-trim SOLID 26 / POW 2.4 / BAND 15:\n *  0.05 -> 11.81svh, 0.02 -> 12.83svh, 0.01 -> 13.37svh. */const MOBILE_WIPE_VISIBLE_ALPHA=.03;/** Total VISIBLE band height (svh). Pre-trim geometric height was 15;\n *  inverted at VISIBLE_ALPHA the cyan is gone by 12.42svh (~2.6svh of\n *  dead tail). Rounded to 12.4 (closer than 12.5; rounding up would\n *  put a sliver of that tail back). Once geometric height IS visible\n *  height, centring on the seam is correct by construction. svh, never\n *  vh: a raw-vh band jumps when the phone's URL bar collapses. */const MOBILE_WIPE_BAND_SVH=12.4;/** Opaque leading strip, in svh. Was 26% of 15svh = 3.90svh. Kept as an\n *  absolute so a future BAND_SVH change cannot silently shrink the s64\n *  safety margin. SOLID_PCT is derived. */const MOBILE_WIPE_SOLID_SVH=3.9;/** How much of the band is the opaque leading strip, as a % of the band.\n *  Derived: SOLID_SVH / BAND_SVH * 100 ≈ 31.45. */const MOBILE_WIPE_SOLID_PCT=MOBILE_WIPE_SOLID_SVH/MOBILE_WIPE_BAND_SVH*100;const MOBILE_WIPE_FALLOFF_POW=2.4;/** Safety inset (px) keeping the cut under the opaque leading edge.\n *  The cut rides at the band's LEADING hard edge, not buried in the\n *  solid strip: cut = seam + flip * (EPS - bandPx/2). EPS MUST stay\n *  > 0 — at 0 the cut sits on the exact boundary and sub-pixel drift\n *  is the s64 black-strip defect. 2px is invisible inside a 3.9svh\n *  solid. Replaces MOBILE_WIPE_CUT_INSET_PCT (retired s89). */const MOBILE_WIPE_CUT_EPS_PX=2;/** Reversal. Direction is a continuous scalar in [-1,+1], not a latched sign:\n *  the band is centred on the seam (translateY(seamY - bandPx/2) with\n *  transform-origin at its vertical CENTRE), so scaleY(flip) occupies the\n *  SAME screen region in both directions — [seam - bandPx/2, seam + bandPx/2]\n *  at |flip| = 1 — and animating through 0 collapses it to a line ON the\n *  seam and reopens it the other way — a CRT losing vertical hold. FLIP_MS\n *  is a full -1 -> +1 traverse. */const MOBILE_FLIP_MS=210;/** Deadband before a reversal retargets. iOS momentum ends in small\n *  oscillations and raw touch deltas change sign constantly; without this the\n *  collapse animation thrashes into a flicker. */const MOBILE_FLIP_HYST_PX=30;/** How far a section header trails its own seam. The tube (the\n *  band's border box) IS the luminous object: glow and fringe are\n *  colour-only stops inside mobileWipeRamp, so nothing paints\n *  outside [seam − BAND/2, seam + BAND/2] = ±6.2svh. scaleY(−1)\n *  about the centre therefore occupies the same region in both\n *  directions, and the header only has to sit past the far edge\n *  plus a hair.\n *\n *      LEAD = BAND/2 + HAIR = 6.2 + 0.3 = 6.5svh\n *\n *  s88/s89 derived 9.5 to clear an outside-the-box bloom\n *  (BAND/2 + BLOOM + BLOOM/4 at the smallest viewport) and left\n *  a standing warning not to re-derive downward. That bloom is\n *  gone; the warning is retired with it. Hair is svh (no leftover\n *  px term), so mixed-unit calc is unnecessary. */const MOBILE_SEC_HEAD_LEAD_HAIR_SVH=.3;const MOBILE_SEC_HEAD_LEAD_SVH=MOBILE_WIPE_BAND_SVH/2+MOBILE_SEC_HEAD_LEAD_HAIR_SVH;/** How long the departing content holds still while the band crosses it. The\n *  hero gets this for free (sticky at top, one viewport of travel); work and\n *  about buy it with a pin tail that the NEXT section overlaps. */const MOBILE_SEC_PIN_SVH=100;/** !! NEVER TWO SEAMS ON FRAME AT ONCE. A second seam in view means a live\n *  mask cut with no band over it — the s64 defect by construction. Each\n *  pinning section must therefore span at least a viewport plus a band on top\n *  of its pin tail. */const MOBILE_SEC_MIN_SVH=100+MOBILE_WIPE_BAND_SVH;/** !! A SECTION'S PIN TAIL MUST LIVE OUTSIDE THE SECTION.\n *  A position:sticky element can never be pushed past its containing block's\n *  bottom edge, so its entire pin budget is whatever comes AFTER it in that\n *  block. Height added INSIDE the element buys nothing — its own bottom edge\n *  moves down in lockstep. s70 shipped the tail as minHeight on #about and\n *  measured 126px of real slack against the ~1250px it needed, so the section\n *  never pinned. The tail is the pin plus one band: the departing screen has\n *  to hold still until the band has fully left the frame, not merely until the\n *  seam reaches the top. */const MOBILE_SEC_TAIL_SVH=MOBILE_SEC_PIN_SVH+MOBILE_WIPE_BAND_SVH;/** Compact stack-row height (Motion phone). Full section headers use\n *  this same height (box-sizing border-box, no extra pad) so a collapsed\n *  stack row and the header it corresponds to share a baseline. 34px\n *  still fits a 375×812 frame with two passed rows. */const MOBILE_STACK_ROW_H=34;/** s148 LATCH: cyan spine wipe on the current bar. CSS transition only. */const STACK_LATCH_SPINE_MS=220;/** s166: keyline brightness is opacity on a solid accent line, so every\n *  change can ride a WAAPI opacity tween. Row seam, latched head, cohort\n *  (travelling) — the same numbers the rgba colours carried before. */const STACK_EDGE_ROW=.22;const STACK_EDGE_HEAD=.42;/** s169 (Gav, 2026-09-03): \"brighter keylines on an active section ...\n *  they deactivate once we begin a trip to the next section\". Bright lines\n *  belong to the latched head at REST only. A travelling cohort no longer\n *  lifts to .7 — on a fall the departing head rode the whole sweep at .7\n *  and only dropped at settle (rig, Contact->Work: b2 .42 -> .70 at nav\n *  start, .22 at 1.8s). Same value as a row, so every keyline sits at rest\n *  brightness for the whole sweep and the new head lights at landing.\n *  Written as a literal (not = STACK_EDGE_ROW) because the rig's gen.js\n *  reads the number; kept as its own constant so cohort stays a redial. */const STACK_EDGE_COHORT=.22;/** s167 unlatch (Gav, 19:21 clip): spine scales to 0 first, then wash,\n *  grip and both label faces cross to the row state over ~250ms. */const STACK_UNLATCH_SPINE_MS=250;const STACK_UNLATCH_REST_MS=250;/** s167: band retract at landing. Was STACK_STATE_MS (500); he asked for 250. */const BAND_TUCK_MS=250;/** s153: bar-state wipe / unlatch / readout height. Gav: ~0.5s, same\n *  curve as the CRT sweep. */const STACK_STATE_MS=500;/** s151: tab strip above NOW SHOWING. 36 + 20 = 56. Reel gap adds this\n *  back so positionMobileReel does not steal from the play CTA. */const MOBILE_HERO_BOTTOM_PAD_PX=36;const MOBILE_STACK_TAB_CLEAR_PX=20;/** Extra gap between the last passed stack-row (or the nav) and the\n *  current sticky header. Must stay 0: any positive value is exactly\n *  the stack-vs-header baseline mismatch (s83 residual: ~5px work /\n *  ~13px about). The header already clears the stack above it via\n *  passedRows × MOBILE_STACK_ROW_H. WORK_PAD_TOP is untouched\n *  (desktop / non-phone). */const MOBILE_HEADER_PIN_LEAD_PX=0;/** Sticky pin offset for the WORK header on Motion phones (0 passed\n *  rows). About adds 1× MOBILE_STACK_ROW_H, contact adds 2×.\n *  Distinct from desktop WORK_HEADER_PIN_TOP so dialing this cannot\n *  move the desktop header. */const MOBILE_HEADER_PIN_TOP=NAV_H+MOBILE_HEADER_PIN_LEAD_PX;// (== mobileHeaderPinTop(0). Kept as a constant for the work path, which\n//  reads it before the helper is in scope; the two must stay equal, so both\n//  are written from the same two terms rather than one hardcoding a number.)\n/** Phone section-header fill. Solid #07080c with a hard bottom edge\n *  (s87 — Gav: the gradient at rest was the thing to lose). The block\n *  still FADES IN as the header settles (mobileHeaderBacking t-ramp);\n *  at rest it is an opaque slab, not a fade-out. Compact stack rows\n *  already paint solid #07080c, so the header now matches them.\n *  No backdrop-filter: blur on a sticky bar under iOS's translucent\n *  URL bar is a compositing-seam flicker source (s79 Bug B). */const MOBILE_HEADER_BG=\"#07080c\";/** Paints the MOBILE_HEADER_PIN_LEAD_PX gap immediately above a phone\n *  header so the breathing room is not a see-through strip. Height must\n *  move with MOBILE_HEADER_PIN_LEAD_PX — a stranded or stale offset\n *  would leave a raw-content strip above the header (Task 1 class).\n *  Reset in every non-phone layoutWorkGrid branch — a stranded\n *  box-shadow would leak onto desktop. */const MOBILE_HEADER_GAP_FILL=`0 -${MOBILE_HEADER_PIN_LEAD_PX}px 0 0 #07080c`;/** Compact-row labels for the Motion-phone section stack. Same copy as\n *  the full headers; compact rows render number+label only (no keyline,\n *  no count). */const MOBILE_STACK_LABELS=[\"[ 01 ]\\xa0\\xa0SELECTED WORK\",\"[ 02 ]\\xa0\\xa0ABOUT\",\"[ 03 ]\\xa0\\xa0CONTACT\"];/** Slide-in of the upcoming (bottom) stack on the hero -> first-section\n *  transition. Compositor-only (transform). The element stays mounted on\n *  the hero, parked at translateY(100%), so the CSS transition has a\n *  from-state; data-mf-stack-in drives the visual, not a JSX unmount. */const MOBILE_STACK_IN_MS=500;const MOBILE_STACK_IN_EASE=\"cubic-bezier(.2,.6,.2,1)\";/** Slide-in gate for the section stack: \"has the user scrolled away\n *  from the hero\", NOT \"which headers are currently in frame\".\n *  Header-rect classification still decides which rows are passed vs\n *  upcoming once past the hero; this pair only arms the CSS\n *  data-mf-stack-in transition. ENTER > EXIT is the hysteresis so\n *  rubber-band / 1px jitter at the top cannot flap the stack.\n *  px of window.scrollY, never vh. Dial. */const MOBILE_STACK_AWAY_ENTER_PX=32;const MOBILE_STACK_AWAY_EXIT_PX=8;/** ENTER side of the work-header lift latch, paired with\n *  MOBILE_STACK_LIFT_EXIT_PX. The first stack row leaves the\n *  upcoming stack at liftTop0 + this. Both call sites now read\n *  a single computed lifted0 rather than each doing their own\n *  comparison — they cannot disagree by construction, not by\n *  convention. Transform/opacity only; never visibility. */const MOBILE_STACK_CATCH_EPS_PX=2;/** lifted0 is a LATCHED state, not a bare comparison. The first\n *  stack row leaves the upcoming stack at liftTop0 +\n *  MOBILE_STACK_CATCH_EPS_PX and only rejoins it at liftTop0 +\n *  MOBILE_STACK_LIFT_EXIT_PX. A single one-sided epsilon is not\n *  hysteresis — it moves the threshold and still chatters under\n *  momentum at the boundary, flipping the row between the stack\n *  and the real header and shimmering the keyline and the count.\n *  The 8px asymmetry is invisible on the reverse because the\n *  header's bottom is already behind the second stack row by then. */const MOBILE_STACK_LIFT_EXIT_PX=10;/** Reject a stack-row click as a swipe if the pointer moved more\n *  than this (px) between pointerdown and click. Taps still fire. */const MOBILE_STACK_TAP_MOVE_PX=8;/** s94: diagnostic single-frame scroll-step threshold (px). No effect on behaviour. */const MOBILE_DEBUG_JUMP_PX=120;/** Pin-top for a Motion-phone section header: nav + passed compact rows\n *  + the lead gap. Work = 0, about = 1, contact = 2. */function mobileHeaderPinTop(passedRows){return NAV_H+passedRows*MOBILE_STACK_ROW_H+MOBILE_HEADER_PIN_LEAD_PX;}/** s98 — viewport Y of section-stack row `j` when the stack index is `S`.\n *  ONE source of truth for the three places a row can be, extracted from\n *  the JSX rather than re-derived: the passed group is fixed at top NAV_H\n *  and renders labels [0, S) in order; the upcoming group is fixed at\n *  bottom 0 and renders labels (S, 2] in order, so its LAST child is\n *  always the bottom row; and j === S is not a stack row at all — it is\n *  the real section header, pinned by mobileHeaderPinTop.\n *  `away` false means the upcoming group is sitting at its parked\n *  translateY(100%) (the hero rest pose), i.e. one group-height lower.\n *  The nav-wipe travel is (rowY at destination) - (rowY at departure),\n *  and because headers pin exactly below the passed rows, one shared\n *  offset moves a header and the rows above it as a single column —\n *  which is Gav's N3 (\"the about bar, along with the work bar above\n *  it\"). */function mobileStackRowY(j,S,away,svh){if(j<S)return NAV_H+j*MOBILE_STACK_ROW_H;if(j===S)return mobileHeaderPinTop(S);if(!away)return svh+j*MOBILE_STACK_ROW_H;return svh-(3-j)*MOBILE_STACK_ROW_H;}/** Single writer of clipPath / -webkit-clip-path on departing screens.\n *  cutLocal === null is the ONLY full-clear path. Hoisted to module\n *  scope so the first driver frame (s116) and the rAF loop call the\n *  same function — two bodies would be bug class 1. The scroll path's s92\n *  anchoring (topLocal undefined → Math.max(0, -rTop)) is unchanged. */function setCut(el,cutLocal,h,rTop,topLocal){if(!el)return;if(cutLocal===null){if(el.style.clipPath!==\"none\"&&el.style.clipPath!==\"\"){el.style.clipPath=\"none\";el.style.setProperty(\"-webkit-clip-path\",\"none\");}return;}const topInset=topLocal===undefined?Math.max(0,-rTop):Math.max(0,Math.min(h,topLocal));const bottomInset=Math.max(0,h-cutLocal);const v=\"inset(\"+topInset.toFixed(1)+\"px 0px \"+bottomInset.toFixed(1)+\"px 0px)\";if(el.style.clipPath!==v){el.style.clipPath=v;el.style.setProperty(\"-webkit-clip-path\",v);}}/** Incremental overlay-position correction: read where the frozen\n *  element is, compare with the pre-jump top it must hold, adjust the\n *  translate already written. s116 runs this in the first driver frame\n *  from post-jump rects, in the same batch as the jump; the driver loop\n *  keeps it as a refinement. Clone overlays skip this (host never\n *  scrolls). */function navCorrectFrozen(ov,fix){for(const o of ov){const err=o.preTop-o.el.getBoundingClientRect().top;if(Math.abs(err)>.5){o.ty+=err;o.el.style.transform=\"translate3d(0,\"+o.ty.toFixed(2)+\"px,0)\";}}for(const f of fix){const err=f.preTop-f.el.getBoundingClientRect().top;if(Math.abs(err)>.5){f.ty+=err;f.el.style.transform=\"translate3d(0,\"+f.ty.toFixed(2)+\"px,0)\";}}}/** Distance (px) over which a phone section-header's backing fades in\n *  as the header approaches its sticky rest. Linear on purpose: no AE\n *  curve was specified, and t=0.5 at FADE/2 is the lockstep check for\n *  the paired solid fill + gap-fill shadow. Paint-only (background /\n *  box-shadow alpha) — not a layout or filter write. */const MOBILE_HEADER_BACKING_FADE_PX=96;/** One source of truth for the paired header backing strings. t=0\n *  travelling (fully transparent) … t=1 stuck (byte-identical to\n *  MOBILE_HEADER_BG / MOBILE_HEADER_GAP_FILL). The rest shape is a\n *  solid block; t ramps the whole block's alpha. Both properties scale\n *  by the same t so the gap-fill cannot strand as a floating bar. */function mobileHeaderBacking(t){const a=t<0?0:t>1?1:t;if(a>=1)return{bg:MOBILE_HEADER_BG,shadow:MOBILE_HEADER_GAP_FILL};const a1=a.toFixed(3);return{bg:\"rgba(7,8,12,\"+a1+\")\",shadow:\"0 -\"+MOBILE_HEADER_PIN_LEAD_PX+\"px 0 0 rgba(7,8,12,\"+a1+\")\"};}/* --- the 3D deck. Replaces the nested 400px snap scrollport: a nested\n * scroller cannot coexist with a sticky section header, because the page does\n * not move while you are inside it. Vertical orientation and the counter (Gav\n * signed those off in s38/s39) are kept; the arrows have no role and are gone\n * with the carousel branch. */const MOBILE_TILE_SCROLL_SVH=56;/** Artwork is 16:9. The old 1.35 box used object-fit:cover and cropped the\n *  sides; 16/9 fills the tile with nothing cropped and nothing letterboxed.\n *  Lost height is recovered by reducing the deck's horizontal inset\n *  (MOBILE_DECK_GUTTER_PX) so the tile can run toward the screen edges. */const MOBILE_TILE_ASPECT=16/9;/** Remaining left/right inset of the Motion-phone deck stage, in px.\n *  mf-pad-x is 18 at ≤560 / 28 at 561–700; the stage pulls a negative\n *  margin of (pad − this) so tiles widen without moving the work header\n *  (the header stays on mf-pad-x). 0 = full-bleed to the screen edge. */const MOBILE_DECK_GUTTER_PX=0;const MOBILE_DECK_CENTRE_PCT=46;const MOBILE_RECEDE_SCALE=.8;const MOBILE_RECEDE_BRIGHT=.34;/** Motion-phone resting tile filter. Desktop Motion sits at saturate(.5)\n *  brightness(.82) and lifts to filter:none on hover — phones have no\n *  hover, so that dim is permanent without this override. Same numbers\n *  on still AND looping clip so playback does not darken the tile.\n *  Gav's values. Scoped on data-mf-deck=\"1\" only. */const MOBILE_TILE_SATURATE=.75;const MOBILE_TILE_BRIGHTNESS=.9;/** Pin-top of the Motion-phone contact copy block: just below the\n *  pinned [ 03 ] header (nav + 2 passed compact rows + the header\n *  row itself). Used as `top` of the sticky copy shell. */const MOBILE_CONTACT_COPY_STICK_TOP=NAV_H+3*MOBILE_STACK_ROW_H;/** Footer height reserved inside the sticky copy shell so the copy's\n *  visual centre sits in the gap between the pinned header and the\n *  sticky footer, not in the full remaining svh (which includes the\n *  footer). Measured from the footer's own padding + rule + logo\n *  (16+20+12+14+1). Dial if the footer wrap changes. */const MOBILE_CONTACT_FOOTER_RESERVE_PX=64;const MOBILE_RECEDE_RISE_PCT=22;const MOBILE_RECEDE_ROTX=9;const MOBILE_RECEDE_DEPTH=3;const MOBILE_INCOMING_RISE=1.35;const MOBILE_INCOMING_SCALE=.96;/** Incoming-tile opacity ramp. Was a hard 0/1 at o = 1.15 (a pop). */const MOBILE_INCOMING_FADE_START=.85;const MOBILE_INCOMING_FADE_END=1.4;const MOBILE_PERSPECTIVE=1100;/** Gav's, dialled on device 2026-08-30. R 240 / step 50 / sy-mix 1.0\n *  so tiles stay 16:9; the wheel is scale + translate. */const MOBILE_DECK_DRUM_R_PX=240;const MOBILE_DECK_DRUM_STEP_DEG=50;const MOBILE_DECK_PERSPECTIVE_PX=780;const MOBILE_DECK_SY_MIX=1;const MOBILE_DECK_STEP_STIFF=.36;const MOBILE_DECK_STEP_DAMP=.5454;const MOBILE_DECK_SNAP=true;/** Max recede scrim at |o| >= 1. Ramps with |o|; 0 on the front. */const MOBILE_DECK_SCRIM=.72;const MOBILE_DIAL_W_PX=44;const MOBILE_DIAL_R_PX=132;const MOBILE_DIAL_STEP_DEG=21;const MOBILE_DIAL_SPAN=4;/** Motion-phone ambient: the desktop ellipse is anchored at 50% −5%,\n *  which on a phone sits under the opaque nav + pinned header (~190px)\n *  so the work section never sees it. Origin + alpha are phone-only;\n *  Colour and desktop/tablet Motion keep --mf-ambient at −5%. */const MOBILE_AMBIENT_ELLIPSE=\"110% 72%\";const MOBILE_AMBIENT_AT=\"50% 38%\";const MOBILE_AMBIENT_PHONE=\"rgba(0,213,240,.22)\";/* Rest-state page backing (ambient + lattice on #07080c). Used on the\n * z2 hold layer BEHIND the departing content so nav does not dim. */const STACK_GRID_HOLD_IMAGE=\"radial-gradient(ellipse \"+MOBILE_AMBIENT_ELLIPSE+\" at \"+MOBILE_AMBIENT_AT+\",\"+MOBILE_AMBIENT_PHONE+\",transparent 62%),linear-gradient(rgba(0,213,240,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,213,240,.035) 1px,transparent 1px)\";const STACK_GRID_HOLD_SIZE=\"100% 100%,88px 88px,88px 88px\";/** Perlin smootherstep. C2, zero derivative at 0 and 1. */function mobileDeckSmooth01(t){const x=t<0?0:t>1?1:t;return x*x*x*(x*(x*6-15)+10);}/**\n * s84: C1 tile pose through o = 0.\n *\n * The s70 piecewise agreed on POSITION at the rest point (ty = 0, sc = 1,\n * rx = 0, br = 1) but not on VELOCITY: incoming d(ty)/do = INCOMING_RISE ×\n * tileH (1.35), receding d(ty)/do = (RECEDE_RISE_PCT/100) × tileH (0.22).\n * A tile's vertical speed dropped ~6× the instant it crossed centre — that\n * was the snap. rotateX / scale / brightness had the same kink; opacity\n * was a hard threshold.\n *\n * One curve across o, mixed with smootherstep on [−1, +1] so value AND\n * first derivative match at o = 0. Rest pose and receded end (SCALE /\n * BRIGHT / ROTX at o = −1) are unchanged. Opacity ramps at both ends.\n * Extra recede (o < −1) keeps the old tail so the far stack still packs.\n *\n * Pure. The rAF driver is the only caller; a Node continuity checker\n * reimplements the same arithmetic against the same constants.\n */function mobileDeckPose(o,tileH){const oc=o<-1?-1:o>1?1:o;const mix=mobileDeckSmooth01((oc+1)/2);const riseR=MOBILE_RECEDE_RISE_PCT/100;const riseI=MOBILE_INCOMING_RISE;const rise=riseR+(riseI-riseR)*mix;let ty=o*rise*tileH;const scSlopeR=1-MOBILE_RECEDE_SCALE;const scSlopeI=MOBILE_INCOMING_SCALE-1;let sc=1+oc*(scSlopeR+(scSlopeI-scSlopeR)*mix);const brSlopeR=1-MOBILE_RECEDE_BRIGHT;let br=1+oc*(brSlopeR*(1-mix));let rx=oc*(-MOBILE_RECEDE_ROTX*(1-mix));if(o>1){ty=Math.min(o,2)*riseI*tileH;sc=MOBILE_INCOMING_SCALE;br=1;rx=0;}else if(o<-1){const extra=-o-1;ty=-riseR*tileH*(1+extra*.55);sc=MOBILE_RECEDE_SCALE-extra*.07;br=MOBILE_RECEDE_BRIGHT-extra*.1;rx=MOBILE_RECEDE_ROTX;}let op=1;if(o>0){const a=MOBILE_INCOMING_FADE_START;const b=MOBILE_INCOMING_FADE_END;if(o>=b)op=0;else if(o>a){const t=(o-a)/(b-a);op=1-t*t*(3-2*t);}}else{const k=-o;const a=MOBILE_RECEDE_DEPTH-1;const b=MOBILE_RECEDE_DEPTH;if(k>=b)op=0;else if(k>a){const t=(k-a)/(b-a);op=1-t*t*(3-2*t);}}return{ty,sc,br,rx,op};}/** Shortest signed steps from pos to i on a loop of n. o in (-n/2, n/2]. */function drumWrapO(i,pos,n){if(n<=1)return i-pos;let o=i-pos;const half=n/2;while(o>half)o-=n;while(o<=-half)o+=n;return o;}function wrapDeckPos(p,n){if(n<=1)return 0;return(p%n+n)%n;}/** CSS cubic-bezier Y at unit X. Newton solve on the X curve, then Y. */function mfCubicBezierY(x1,y1,x2,y2,x){if(x<=0)return 0;if(x>=1)return 1;let t=x;for(let i=0;i<8;i++){const mt=1-t;const bx=3*mt*mt*t*x1+3*mt*t*t*x2+t*t*t;const dx=3*mt*mt*x1+6*mt*t*(x2-x1)+3*t*t*(1-x2);if(Math.abs(dx)<1e-6)break;t-=(bx-x)/dx;if(t<0)t=0;else if(t>1)t=1;}const mt=1-t;return 3*mt*mt*t*y1+3*mt*t*t*y2+t*t*t;}/** Stack-mode cylinder. theta > 0 lifts a tile UP the barrel; o > 0 is\n *  incoming (below), so theta is negative. Jump/desktop keep mobileDeckPose. */function mobileDeckDrumPose(o){const theta=-o*MOBILE_DECK_DRUM_STEP_DEG;const c=Math.cos(theta*Math.PI/180);const culled=c<=.02||Math.abs(o)>=1.85;const op=culled?0:1;const scrim=MOBILE_DECK_SCRIM*Math.min(1,Math.abs(o));return{theta,c,op,scrim,culled};}function mobileDeckDrumAabb(o,tileH){const P=MOBILE_DECK_PERSPECTIVE_PX;const R=MOBILE_DECK_DRUM_R_PX;const th=-o*MOBILE_DECK_DRUM_STEP_DEG*Math.PI/180;const cos=Math.cos(th);const sin=Math.sin(th);const sFit=P>R+1?P/(P-R):1;const project=yl=>{const y=yl*cos-R*sin;const z=yl*sin+R*cos;const den=P-z;if(!(den>1))return{Y:y,s:1};return{Y:y*P/den,s:P/den};};const half=tileH*.5;const top=project(-half);const bot=project(half);const mid=project(0);const syRaw=tileH>0?(bot.Y-top.Y)/tileH:1;const sx=mid.s/sFit;const syBox=syRaw/sFit;// sy-mix 1.0 => sy === sx (no Y squash). Keep the knob.\nconst sy=syBox>.02?MOBILE_DECK_SY_MIX>=1?sx:syBox+(sx-syBox)*MOBILE_DECK_SY_MIX:syBox;return{ty:(top.Y+bot.Y)*.5/sFit,sx,sy};}/** 2D drum pose: AABB of the current o, fitted so rest is the\n *  layout box. No extra Y-squash blend — that hid the peeks. */function mobileDeckDrumProj(o,tileH){const drum=mobileDeckDrumPose(o);const aabb=mobileDeckDrumAabb(o,tileH);return{theta:drum.theta,c:drum.c,op:drum.op,scrim:drum.scrim,culled:drum.culled,ty:aabb.ty,sx:aabb.sx,sy:aabb.sy};}/** ?mfdebug=1 HUD: used-value matrix. matrix() = flattened 2D;\n *  matrix3d() still has a z column — compositor may still flatten. */function mfFmtCsTransform(t){if(!t||t===\"none\")return\"none\";const is3d=t.indexOf(\"matrix3d\")===0;const raw=t.slice(is3d?9:7,t.charAt(t.length-1)===\")\"?-1:t.length);const p=raw.split(\",\");const n=i=>{const v=parseFloat(p[i]||\"\");return isFinite(v)?v:0;};if(is3d){return\"m3d \"+n(0).toFixed(2)+\"/\"+n(5).toFixed(2)+\" ty=\"+n(13).toFixed(0)+\" z=\"+n(14).toFixed(0);}return\"m \"+n(0).toFixed(2)+\"/\"+n(3).toFixed(2)+\" ty=\"+n(5).toFixed(0);}/* --- CRT artifact layers.\n * !! HARD CONSTRAINT. The band's leading solid strip is what hides the mask\n * cut. Scan / roll / tear are masked BY the band's own alpha ramp, so they\n * can only ADD light inside the tube — band alpha only ever INCREASES.\n * Glow and fringe are colour-only stops inside mobileWipeRamp (option B):\n * they cannot paint outside the declared extent, so scaleY(-1) cannot\n * move them to the other face. Never perforate the solid strip with\n * transparent scanline gaps: that is the s64 black strip, rebuilt on purpose.\n * MOBILE_CRT_BLOOM_PX / _ALPHA / MOBILE_CRT_FRINGE_PX are deleted — the\n * outside-the-box copies were the second band (G6) and the reversal\n * shift (G3). */const MOBILE_CRT_SCAN_ALPHA=.34;const MOBILE_CRT_SCAN_PERIOD=3;const MOBILE_CRT_JUDDER_AMP=2;const MOBILE_CRT_ROLL_ALPHA=.2;const MOBILE_CRT_ROLL_MS=2400;const MOBILE_CRT_TEAR_RATE=1.1;const crtMem={tearNext:0,tearUntil:0,tearTop:0,tearShift:0};/** One CRT writer for jump-wipe and stack sweep. Touches scan/roll/tear\n *  only — never the band transform (that is flipBand / retract). */function crtTick(now,scan,roll,tear){if(scan){const j=(Math.sin(now/47)*.5+Math.sin(now/13.3)*.5)*MOBILE_CRT_JUDDER_AMP;scan.style.backgroundPosition=\"0 \"+j.toFixed(2)+\"px\";}if(roll){const t=now%MOBILE_CRT_ROLL_MS/MOBILE_CRT_ROLL_MS;roll.style.backgroundPosition=\"0 \"+(t*140-20).toFixed(2)+\"%\";}if(tear){if(now>crtMem.tearNext){crtMem.tearNext=now+(600+Math.random()*1400)/Math.max(.1,MOBILE_CRT_TEAR_RATE);crtMem.tearUntil=now+40+Math.random()*70;crtMem.tearTop=Math.random()*84;crtMem.tearShift=(Math.random()*2-1)*9;}if(now<crtMem.tearUntil){tear.style.opacity=\"1\";tear.style.backgroundImage=\"linear-gradient(to bottom,rgba(0,0,0,0) \"+crtMem.tearTop+\"%,rgba(210,255,255,.30) \"+crtMem.tearTop+\"%,rgba(210,255,255,.30) \"+(crtMem.tearTop+1.6)+\"%,rgba(0,20,26,.55) \"+(crtMem.tearTop+1.6)+\"%,rgba(0,20,26,.55) \"+(crtMem.tearTop+4.2)+\"%,rgba(0,0,0,0) \"+(crtMem.tearTop+4.2)+\"%)\";tear.style.backgroundPosition=crtMem.tearShift.toFixed(1)+\"px 0\";}else tear.style.opacity=\"0\";}}/** The band's ramp. One builder, two outputs: the visible cyan gradient and an\n *  alpha-only twin. The alpha twin is what every CRT layer is masked by, which\n *  is what guarantees none of them paints outside the band's own footprint.\n *  Glow and fringe are folded into the COLOUR stops at the leading edge\n *  (option B): overbright + a thin white-cyan tick, alpha stays 1, so the\n *  composed alpha profile is unimodal and the declared extent IS the\n *  perceptible extent. Locals (not file-level consts) so a verifier that\n *  extracts this function does not need extra scope. Same lead/dark\n *  colours and falloff shape as the desktop NAV_WIPE_RAMP — deliberately,\n *  so the two signals read as one wipe. */function mobileWipeRamp(kind){const solid=Math.max(1,Math.min(95,MOBILE_WIPE_SOLID_PCT));const th=MOBILE_WIPE_VISIBLE_ALPHA;// The trimmed band's falloff IS the old visible falloff. Evaluating\n// pow(1-f, POW) on the new f=0..1 would re-compress the full old\n// curve (including the cropped tail) into the shorter span and\n// clamp-zero the last ~23% — recreating the dead space we just\n// trimmed. Map new f onto the old visible f-range so (a-TH)/(1-TH)\n// only removes the 0.03 floor.\nconst visF=1-Math.pow(th,1/MOBILE_WIPE_FALLOFF_POW);const lead=[20,233,235];const dark=[4,67,76];const hot=[70,250,252];// s111 D5b — was [255, 40, 90] (magenta). That stop is the band's\n// leading hard edge, and it painted a flat full-width crimson bar\n// (~0.7 CSS px) in Motion. Crimson is the COLOUR signal; signals\n// never mix. White-cyan matches the CRT tear palette.\nconst fringeRgb=[255,40,90];const fringePct=2.5;const glowPct=10;const steps=6;const out=[];const put=(rgb,a,pos)=>{out.push((kind===\"alpha\"?\"rgba(0,0,0,\"+a.toFixed(3)+\")\":\"rgba(\"+rgb[0]+\",\"+rgb[1]+\",\"+rgb[2]+\",\"+a.toFixed(3)+\")\")+\" \"+pos.toFixed(2)+\"%\");};// Colour: [fringe | glow | solid | fade]. Alpha: 1 through the\n// solid, then the signed-off falloff. Glow is overbright RGB on\n// top of an already-opaque strip so G5's hard leading edge stays.\nif(kind===\"colour\"){put(fringeRgb,1,0);put(hot,1,fringePct);put(lead,1,Math.min(solid-.5,fringePct+glowPct));put(lead,1,solid);}else{put(lead,1,0);put(lead,1,solid);}for(let i=1;i<=steps;i++){const f=i/steps;const aOld=Math.pow(1-f*visF,MOBILE_WIPE_FALLOFF_POW);const a=Math.max(0,Math.min(1,(aOld-th)/(1-th)));const rgb=[0,1,2].map(c=>Math.round(lead[c]+(dark[c]-lead[c])*f));put(rgb,a,solid+(100-solid)*f);}put(dark,0,100);return out.join(\",\");}const MOBILE_WIPE_RAMP_COLOUR=\"linear-gradient(to bottom,\"+mobileWipeRamp(\"colour\")+\")\";const MOBILE_WIPE_RAMP_ALPHA=\"linear-gradient(to bottom,\"+mobileWipeRamp(\"alpha\")+\")\";/** s119 — both band faces. \"to bottom\" hangs the solid under a rising\n *  bar; \"to top\" glues it to the top of a falling one. */const STACK_BAND_FACE={down:{colour:MOBILE_WIPE_RAMP_COLOUR,alpha:MOBILE_WIPE_RAMP_ALPHA},up:{colour:\"linear-gradient(to top,\"+mobileWipeRamp(\"colour\")+\")\",alpha:\"linear-gradient(to top,\"+mobileWipeRamp(\"alpha\")+\")\"}};// =============================================================================\n// GRID REVEAL — single dial panel for Selected Work tile entrance.\n// All colour/motion × mobile/desktop reveal feel lives HERE. The rAF loop and\n// update*GridReveal functions only READ these — do not hunt inline numbers.\n//\n// Pipeline (both signals):\n//   scroll geometry → raw 0..1 → (delay/boost/ease) → smoothed progress\n//   → per-tile stagger window → opacity + translateY(rise)\n// Progress RATCHETs up while work is on-screen (no reverse hide). Snap-resets\n// to 0 only at page top / when work is fully below the fold.\n//\n// Dial order when something \"feels wrong\":\n//   1. WHEN does the pack start?     colour.progressDelay / motion.scrollBoost\n//                                    / colour.heroResolveFrac\n//   2. HOW FAST does progress climb? *.blend.{early,mid,done}\n//   3. HOW STAGGERED are tiles?      *.cascadeSpan + *.tileDur (pack-stretch:\n//                                    t = progress × (span+dur); no mid snap)\n//   4. HOW FAR do they rise?         *.risePx\n//   5. WHEN does reset arm?          resetTopPx\n//\n// Related but separate: AUTOSCROLL_MS (desktop assisted ride length = timed\n// scrub for hero→work). Change that if the *ride itself* should be longer.\n// =============================================================================\nconst GRID_REVEAL={mobileMaxW:700,resetTopPx:80,colour:{heroResolveFrac:.17750000000000002,progressDelay:{mobile:.19,desktop:.1216},blend:{mobile:{early:.06592,mid:.12208000000000001,done:.2248},desktop:{early:.006,mid:.014,done:.04}},cascadeSpan:{mobile:.6325,desktop:1.081},tileDur:{mobile:.882,desktop:1.05},risePx:{mobile:118,desktop:187},easePower:{mobile:1.5904,desktop:1.12}},motion:{scrollBoost:{mobile:1.725,desktop:.75},scrollEase:{mobile:1.196725,desktop:1.55},blend:{mobile:{mid:.1045,done:.236},desktop:{mid:.01,done:.04}},cascadeSpan:{mobile:.725,desktop:.8500000000000001},tileDur:{mobile:.9155,desktop:1.15},risePx:{// Mobile matches colour.risePx.mobile (118). The old 28 was tuned\n// against the HUD glitch carrying the visual weight; with glitch off\n// a 28px rise reads as a flat fade rather than a reveal.\nmobile:118,// Desktop Motion: glitch-in only. A rise behind the HUD chrome\n// read as a fade once the wipe-owned boot became the arrival.\ndesktop:0},easePower:{mobile:1.625,desktop:1.1},glitch:{// Phones: no HUD glitch — it reads as distracting at that size, so\n// motion tiles use the same plain lift+fade cascade as colour.\n// glitch <= 0.001 makes useGlitch false, which routes tiles through\n// clearMotionGlitchChrome() + setTileRevealPose() — the colour path.\n// NOTE: this band is layoutW < GRID_REVEAL.mobileMaxW (700), so\n// TABLETS still take the desktop value. See CLAUDE.md s25.\nmobile:0,desktop:1.35}}};/** Pick mobile/desktop leaf from a {mobile,desktop} pair. */function grBand(pair,mobile){return mobile?pair.mobile:pair.desktop;}// Headline frame: layout-width recipes only (no orientation). Frame % is SHARED\n// by Colour + Motion (locked 2026-07). Type (cqi/tracking) still per-signal.\n//\n// Bands (layout width):\n//   phone   ≤ HEADLINE_PHONE_MAX     → 75%\n//   tablet  ≤ HEADLINE_DESKTOP_MIN   → 65%  (iPad 768 + iPad Pro 1024)\n//   desktop  > HEADLINE_DESKTOP_MIN  → 42%  (MacBook+; strict > so 1024 stays tablet)\nconst HEADLINE_PHONE_MAX=680// inclusive upper end of phone recipe\n;const HEADLINE_PHONE_SM_MAX=389// SE-class (slightly more top air than other phones)\n;const HEADLINE_DESKTOP_MIN=1024// desktop only when layoutW > 1024\n;const HEADLINE_W_DESKTOP=.42;const HEADLINE_W_TABLET=.65;const HEADLINE_W_PHONE=.75;// Assisted screen-to-screen scroll (desktop mouse/trackpad wheel only).\n// Phones/tablets/touch-primary devices must NEVER arm it — preventDefault on\n// wheel fights touch fling. Gate: layoutW > HEADLINE_DESKTOP_MIN AND\n// (hover:hover)+(pointer:fine). Hero↔work rides also drive the tile-reveal\n// progress on a timed scrub so stagger plays over the full ride (scroll\n// geometry alone collapses it: Colour's hero-visibility deadline forces raw=1\n// mid-ride, and the 0.09 early blend lags then snaps).\nconst AUTOSCROLL_MS=1920;// Directional snap: a wheel rides to the adjacent section boundary in the\n// gesture direction from ANY position (incl. after middle-click free-scroll),\n// not only when resting inside a stop's slack window. Skip a boundary we're\n// basically sitting on (within SKIP px) and target the next one so a wheel\n// never notch-and-sticks at a boundary. After a ride ends, swallow wheel for\n// COOLDOWN ms of silence so trackpad inertia can't cascade through screens —\n// but never past COOLDOWN_MAX total, so a mouse user deliberately wheeling on\n// isn't locked out; an opposite-direction wheel breaks through instantly.\nconst ASSIST_SNAP_SKIP=80;// How far a section must overflow the viewport before the assist hands its\n// interior back to native scrolling, as a fraction of viewport height.\n// s46: 0.5 -> 0.08. At 0.5 the threshold GREW with the viewport while the\n// grid's overflow SHRANK (~1361px section), so on any window taller than\n// ~910px they crossed and one wheel click skipped the entire 15-tile grid —\n// the middle rows were unreachable. The Math.max(ASSIST_SNAP_SKIP, ...) floor\n// still guarantees at least 80px of real overflow before the interior goes\n// native, and a trivial overflow is absorbed by the snap-skip logic (a\n// boundary within ASSIST_SNAP_SKIP of the current position is skipped, so the\n// wheel targets the next one anyway). The s39 rationale for 0.5 (\"a slight\n// overflow felt slack\") predates the wipe; skipping the whole grid is a far\n// worse failure than slack.\nconst ASSIST_NATIVE_MIN_OVERFLOW_FRAC=.08;const ASSIST_COOLDOWN_MS=220;const ASSIST_COOLDOWN_MAX_MS=700;// Sticky middle-click autoscroll can exit via paths we can't observe (Esc,\n// some-browser wheel-exit). If the flag still says \"autoscroll\" but the page\n// has been still this long, a wheel reclaims assist — a stale flag must never\n// permanently kill it.\nconst MIDDLE_RECLAIM_QUIET_MS=400;// Motion HUD glitch: gate noise on real scroll VELOCITY (time-based px/ms, so\n// it's refresh-rate independent), not on a progress delta. Middle-click\n// autoscroll creeps scrollY ~forever, which kept the old progress-delta gate\n// \"rising\" and looped the glitch indefinitely. Below QUIET_VEL for QUIET_MS the\n// page counts as stopped and the glitch latches off.\nconst GLITCH_QUIET_VEL=.08;const GLITCH_QUIET_MS=90;// Motion landing resolve deadline (mirrors Colour's heroResolveFrac, anchored\n// on the work wrap instead of the hero so it also covers signal-toggle while\n// parked at the section): once the wrap top has covered (1 − FRAC) of the\n// travel from viewport bottom to the nav line, the boot force-completes.\n// Without this, desktop free-scroll could NEVER finish the pack — scrollBoost\n// 0.75 × scrollEase 1.55 caps the scrubbed target at ~0.64, so late-rank\n// tiles parked mid-boot forever; only the assisted ride's scrub-to-1 ever\n// completed it. Kept OUTSIDE GRID_REVEAL so Gav's playground knob pastes\n// round-trip unchanged.\nconst MOTION_LANDING_RESOLVE_FRAC=.15;// Motion nav wipe (desktop + Motion only). Skinned onto assisted scroll:\n// one continuous sweep with an instant scrollTo at the covered crossing,\n// then a time-driven tile boot. Never reuse wipeRef — that element owns the\n// bfcache pageshow guard.\nconst NAV_WIPE_Z=70;// The nav's inner row is height 68 PLUS a 1px borderBottom, so the bar paints\n// 69px tall. The wipe frame starts below the border or the gradient's\n// brightest band sits on it.\nconst NAV_WIPE_TOP=NAV_H+1;/** s48: the two-phase wipe (620ms cover + 680ms in-place dissolve) is gone —\n *  Gav diagnosed the phase boundary as a pause (\"the solid part animates up,\n *  pauses and then the gradient trail follows\"). Replaced by ONE continuous\n *  sweep: the group travels from fully below the frame to fully above it as\n *  one object, so the leading (solid) edge and the trailing (transparent)\n *  edge move at the same speed and the trail follows with no stop. s50: Gav\n *  reopened the locked 1000 (24f @ 24fps) and asked for 1.5s so edge-tracked\n *  glitch-out can register. This is the whole sweep's duration and the\n *  architect's total-length dial: the rise/fall split and the jump time\n *  derive from it at runtime (crossing fires on POSITION, eased >=\n *  NAV_WIPE_CROSS_FRAC — nothing hardcodes a derived duration).\n *  MOTION_BOOT_MS is deliberately NOT scaled with it — see its own comment\n *  below. */const NAV_WIPE_SWEEP_MS=1500;/** Sweep ease — AE ease in AND out at 70% influence on both ends (Gav's\n *  spec, s48: \"the wipe is an ease in and ease out over 20 frames. And the\n *  eases on both ends are 70%\"). NOT linear: an ease-in-out is FASTEST at\n *  the midpoint, which is where the jump fires, so there is no slowdown at\n *  the swap — the old pause was the phase boundary, not the curve.\n *  easeAeInfluence's defaults are exactly 70/70. */const NAV_WIPE_SWEEP_INFLUENCE=70;/** s98 — the Motion-PHONE stack-tap / logo nav sweep. Gav's N3: \"We use\n *  the same easing behaviour as in the desktop version.\" Taken literally:\n *  these REFERENCE the desktop constants rather than copying their values,\n *  so a desktop retime carries over instead of silently diverging. If the\n *  phone ever needs its own number, change it here and say why — do not\n *  paste a literal.\n *  !! Declared HERE, after the two it reads, not up with the other MOBILE_\n *  constants: a module-scope const that reads a const declared further\n *  down the file is a TDZ error at load, and this file evaluates\n *  top-to-bottom. */const MOBILE_NAV_SWEEP_MS=NAV_WIPE_SWEEP_MS;const MOBILE_NAV_SWEEP_INFLUENCE=NAV_WIPE_SWEEP_INFLUENCE;/** Landing tolerance for the instant jump (px). iOS can drop or clamp a\n *  programmatic scroll while a finger is down or momentum is live; if the\n *  page did not actually land we must NOT open a sweep onto departure\n *  content, so the arm path verifies scrollY against this and bails. */const MOBILE_NAV_LAND_EPS_PX=4;/** A tap whose target is closer than this is a no-op — no jump, no sweep. */const MOBILE_NAV_MIN_TRAVEL_PX=2;/** Scroll movement (px) during a sweep that counts as the user taking\n *  over. Small, but not zero: iOS reports sub-pixel drift on a settled\n *  page and a 0 threshold would abort every sweep on the first frame. */const MOBILE_NAV_ABORT_PX=4;/** s112 — window after a lift in which a momentum fling still counts as\n *  touch evidence. iOS moves scrollY on toolbar transitions with no\n *  finger (Gav: resize dH=128 against this 4px threshold); a delta\n *  without a live or recent touch is re-baselined, not aborted. */const MOBILE_NAV_ABORT_TOUCH_MS=150;/** s112 — ?mfdebug=1 only. Ring fade after lift so a fast tap survives\n *  a 60fps capture; trail length so a swipe is readable in one still. */const MF_DEBUG_TOUCH_HOLD_MS=300;const MF_DEBUG_TOUCH_TRAIL=12;const MF_DEBUG_TOUCH_COLOR=\"#00ff66\";/** s112 — ?mfdebug=1 only. End-state hold so arm→sweep→end cannot fall\n *  between captured frames. */const MF_DEBUG_TELL_HOLD_MS=500;/** Held at rest for this long after the sweep completes before handing\n *  back to the scroll driver, so a late React commit cannot show a stale\n *  stack row at the join. Two frames at 60fps. */const MOBILE_NAV_TAIL_MS=32;/** Fraction of a DOWNWARD sweep spent converging onto the bar the band\n *  belongs to. It enters off frame (locked from t=0 it opened on top of\n *  the stack), then rides the bar exactly for the remaining ~70% so the\n *  two never read as separate objects. Not used going up, where the band\n *  sweeps the frame and exits. */const MOBILE_NAV_BAND_ATTACH_FRAC=.3;/** Frames held at t=0 after the jump before the sweep clock starts, so\n *  the browser's re-rasterisation of a multi-thousand-pixel scroll lands\n *  in a STILL frame instead of underneath a moving band. Three at 60fps\n *  is ~50ms — under the ~100ms at which a delay starts reading as lag,\n *  and long enough to cover a dropped frame or two.\n *  s115: this is a REAL-TIME budget from tArm (frames × 1000/60), not a\n *  per-frame clock restart. iOS starves rAF while a finger is down;\n *  resetting t0 on each hold frame made a 200ms-late first frame start\n *  the sweep late instead of catching up. */const MOBILE_NAV_RASTER_HOLD_FRAMES=3;/** Down-paint below the frozen overlay (px). The work STAGE ends 16px\n *  short of the fold and work -> contact is the one destination with no\n *  opaque upcoming row down there, so a strip of the arriving section\n *  showed at the fold. Measured, not padded to taste. */const MOBILE_NAV_OVERLAY_PAD_PX=24;/** s111 Fix A — z-index written on the SECTION ROOT (#work / #about) so a\n *  nested overlay is not trapped in their position:relative; zIndex:1\n *  stacking context. Must stay below the band (55) and the nav/stack\n *  chrome (60), and above the sections (1). Hero and contact overlays\n *  are already root siblings and do not use this. */const MOBILE_NAV_ROOT_Z=6;/** s119 — same RGB as mobileWipeRamp's lead. Press fill uses this, not\n *  --mf-cyan. Named so the band and the invert cannot drift. */const WIPE_LEAD_RGB=[20,233,235];/** s119 invented feel knobs. Gav has never been asked for these.\n *  BAND_BAR_OVERLAP_PX / BAND_FLIP_MS: \"no gap\" and a side-swap that\n *  animates rather than jumps. FLICK_* / SLOW_COMMIT / VEL_SAMPLE:\n *  flick-sensitive release. PRESS_*: radial invert from the press\n *  point. Starting points for him to feel, not decisions. */const BAND_BAR_OVERLAP_PX=1;const BAND_FLIP_MS=190;/** s148 readout DECODE. Band flip still uses BAND_FLIP_MS. */const WORK_READOUT_DECODE_MS=420;const WORK_READOUT_SCRAMBLE_GLYPHS=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/\\\\[]<>=+*\";const WORK_READOUT_DECODE_FIELDS=[{sel:'[data-mf=\"work-readout-idx\"]',outDelay:0,inDelay:0},{sel:'[data-mf=\"work-readout-kicker\"]',outDelay:18,inDelay:28},{sel:'[data-mf=\"work-readout-name\"]',outDelay:36,inDelay:56},{sel:'[data-mf=\"work-readout-brand\"]',outDelay:54,inDelay:84},{sel:'[data-mf=\"work-readout-meta\"]',outDelay:72,inDelay:112}];const FLICK_VEL_PX_MS=.45;const FLICK_MIN_PROG=.1;const SLOW_COMMIT_PROG=.5;const VEL_SAMPLE_MS=90;const PRESS_FILL_MS=360;/** s160: Selected Work arrival assembly. One-line kill switch. */const WORK_BUILD_IN=true;const PRESS_FEATHER=.55;/** s166: constant-pixel feather. The blur sits on the clip, which is never\n *  scaled, so the flood front is this soft at 4% and at 100%, and the disc\n *  itself is solid so the bar fills completely. 0 turns it off. */const PRESS_BLUR_PX=12;/** A blur halo reaches ~3x its radius. The clip box is inset by this so the\n *  halo never fades the flood at the bar's own edges; the well clips it. */const PRESS_CLIP_PAD_PX=PRESS_BLUR_PX*3;/** The tuck shrinks the flood to this width, then hands off to the spine. */const PRESS_SPINE_PX=3;/** s159: ink via mix-blend-mode:difference. The blend MUST sit on\n *  .mf-press-clip, not on .mf-press-fill — the clip carries a z-index, which\n *  makes it a stacking context, and a stacking context is an isolated blend\n *  group. A blend on the fill would composite only against the clip's own\n *  (empty) contents and knock nothing out. Flip false to disable; the old\n *  data-ink attribute path is gone. */const PRESS_BLEND_INK=true;/** CSS/WAAPI equivalent of easeAeInfluence(70, 70). */const STACK_EASE_CSS=\"cubic-bezier(0.7, 0, 0.3, 1)\";/** Fully shut clip, as a percentage so it cannot leak at any viewport. */const STACK_CUT_SHUT=\"inset(0 0 100% 0)\";/** Sheet height as % of the wipe frame. Just over 100 — the moment the\n *  leading edge reaches the frame top, the trailing edge is at the bottom,\n *  so there is no stretch of travel where nothing on screen changes (the\n *  old 180 sheet had exactly that dead stretch — a pause of another kind).\n *  The extra over 100 is the soft trailing edge (NAV_WIPE_TAIL_SOFT_PCT).\n *  s50 lengthened the soft ramp (136/74, soft ~35 frame-%) and Gav rejected\n *  it as reading as an in-place fade; s51 went crisper to 112 with\n *  TAIL_SOFT 90 (soft ~11.2 frame-%). s52 removed the soft tail (104/100)\n *  thinking the soft trailing edge WAS the \"moving shadow\"; s53 restores\n *  112/90 because the shadow was the opaque BODY colour (page #07080c\n *  reading as a neutral shadow over bright content), not the edge shape —\n *  body is now the teal NAV_WIPE_BODY dial. Stay well below the rejected 180.\n *  s54: the opaque cover is deleted; the old TAIL_SOFT invariant is gone\n *  with it. What matters now is NAV_WIPE_MATTE_INSET_VH staying inside\n *  NAV_WIPE_BAND_VH (see that constant, below). */const NAV_WIPE_SHEET_PCT=112;// % of the SHEET's own height that equals one frame height. Travel/park\n// distances must use this, never 100 — translateY(100%) on the tall sheet is\n// 1.12 frame heights, so a raw 100 would start the leading edge off-screen.\nconst NAV_WIPE_FROM=1e4/NAV_WIPE_SHEET_PCT;// Overshoot every park so no sub-pixel sliver of the sheet's bright edge can\n// sit exactly on a frame boundary (the s46 cyan-keyline artifact: an up wipe\n// parked its bottom-anchored bright edge dead on the frame top, immediately\n// under the nav). In % of the sheet's own height. Also applied to the wipe\n// START poses — during the hero-exit lead the sheet holds its start pose for\n// ~700ms, which is a park in effect.\nconst NAV_WIPE_PARK_PAD=2;/** s48 sweep geometry. Travel runs from the leading edge one frame height\n *  below the frame (+FROM, plus PARK_PAD — the start pose is held for the\n *  whole hero-exit lead, and an unpadded pose is the s46 keyline artifact)\n *  to the group fully above the frame (-100 of its own height, again padded).\n *  The jump (instant scrollTo behind the opaque cover) fires at the single\n *  instant translateY crosses 0 — the leading edge reaching the nav line.\n *  As a fraction of the travel DISTANCE that is: */const NAV_WIPE_CROSS_FRAC=(NAV_WIPE_FROM+NAV_WIPE_PARK_PAD)/(NAV_WIPE_FROM+2*NAV_WIPE_PARK_PAD+100);// NOTE: that is a fraction of DISTANCE. The sweep is AE 70/70 eased, so the\n// crossing TIME is NAV_WIPE_SWEEP_MS x invEase(CROSS_FRAC) — never multiply\n// CROSS_FRAC by time directly (only valid for a linear sweep). The jump\n// itself is detected on position (eased >= CROSS_FRAC), so it needs no\n// inversion and survives any re-dial of the ease or duration.\n/** Solid cyan band as a % of the FRAME (viewport) height — Gav's call, 10-15%.\n *  Everything below it falls off on the NAV_WIPE_FALLOFF_POW power curve to\n *  alpha 0 at NAV_WIPE_REACH_VH of the frame — well short of the far edge.\n *  The opaque cover layer, not this band, is what hides the instant scroll. */const NAV_WIPE_BAND_VH=12;/** s47 fix 1: how far down the screen the band's cyan reaches, as a % of\n *  FRAME height. Beyond this there is no cyan at all — Gav wants 25-50% of\n *  the screen clear of the gradient once the band has landed. */const NAV_WIPE_REACH_VH=62;/** s47 fix 1: falloff shape. 1 = linear (what we shipped and he rejected);\n *  higher drops the alpha off fast just past the solid band, which is the\n *  exaggerated curve he asked for. */const NAV_WIPE_FALLOFF_POW=2.4;/** s54: the opaque cover is deleted. The only opaque paint left is the\n *  band's own solid leading stops (NAV_WIPE_BAND_VH of the frame) — a 12vh\n *  strip travelling with the sweep is enough to hide a hard matte cut line\n *  riding a few vh inside it. This is that inset: the departure matte's cut\n *  line trails the band's leading edge by this many vh, landing inside the\n *  band's own opaque leading portion so the cut is never visible.\n *  INVARIANT: 0 < NAV_WIPE_MATTE_INSET_VH < NAV_WIPE_BAND_VH — reach or\n *  exceed BAND_VH and the cut line rides out into the falloff (or past it)\n *  and surfaces as a visible hard edge.\n *\n *  s64 item 3: 5 -> 10. Gav reported \"a black strip above the wipe\" on\n *  work->about, and it measured as a ~15px band of near-black between the\n *  cut and the cyan: at three sample columns the tile content ended around\n *  y409, read 4,11,19 through y427, and the band's solid cyan began at y430.\n *  So the cut was landing ABOVE the band's leading edge rather than the\n *  intended 45px below it — a ~62px discrepancy against the geometry, which\n *  says cutY = edgeY + inset and should be buried in opaque cyan.\n *\n *  !! HONEST NOTE: the ROOT of that 62px was not isolated. The arithmetic\n *  (edgeY = frame top + translateY, sheetPx from SHEET_PCT, cut = edge +\n *  inset) checks out on paper, and an in-browser probe of where a mask cut\n *  on #work actually lands did not resolve it either. Raising the inset is\n *  the dial doing the job it exists for — it buys 45px more, putting the cut\n *  ~28px INSIDE the cyan with the invariant still holding (10 < 12) — but it\n *  is a symptom fix. If the strip ever returns, do not just raise this\n *  again: find the 62px. Repro: s64-probe-lastfour.js, sample the columns\n *  either side of the band's leading edge mid-sweep. */const NAV_WIPE_MATTE_INSET_VH=10;/** s54 arrival reveal (post-crossing) — how far behind the visible\n *  glow-back the hero-arrival reveal line trails, in vh. 0 = zero-pop: the\n *  line starts exactly at the frame's entry edge at the crossing. Dialling\n *  toward 0 trades an at-crossing pop of the un-lagged region against a\n *  trail of up to ~(100 - NAV_WIPE_REACH_VH) behind the visible glow. This\n *  is the dial round with Gav — leave at 0 until he sees it. */const HERO_REVEAL_LAG_VH=0;/** s54: the post-crossing arrival reveal is a feathered mask gradient, not\n *  a hard clip — unlike the departure cut, this edge is not riding under\n *  the opaque band, so a hard edge here would be visible. */const HERO_REVEAL_FEATHER_VH=10;/** Nav wipe band gradient. Leading edge is the BRIGHT end: a narrow solid\n *  cyan band (NAV_WIPE_BAND_VH of the frame), then an exaggerated power-curve\n *  falloff — alpha (1 - f) to the NAV_WIPE_FALLOFF_POW — reaching fully\n *  transparent at NAV_WIPE_REACH_VH of the frame, well short of the far\n *  screen edge, and staying transparent through the sheet's overhang. s47:\n *  Gav rejected the s46 full-height linear ramp (falloff should be \"more\n *  exaggerated and not linear\", with 25-50% of the screen completely clear\n *  of gradient once the band lands). Stops are computed from the constants,\n *  so dialing NAV_WIPE_BAND_VH, NAV_WIPE_REACH_VH, NAV_WIPE_FALLOFF_POW or\n *  NAV_WIPE_SHEET_PCT keeps the ramp coherent. Colours stay in Gav's\n *  green/blue lane — never toward page black. The falloff already lands on\n *  rgba(4,67,76,0); a teal NAV_WIPE_BODY makes the bright-edge-to-body\n *  handoff continuous by construction — do not \"fix\" the body back\n *  toward page background colour. *//** s169 desktop CRT lead detail, in FRAME vh (the phone's are % of its\n *  ~100px band: fringe 2.5px, glow 10px — these land in the same pixel\n *  range on a ~900px desktop frame). Same colours as mobileWipeRamp so\n *  the two signals read as one wipe: the fringe tick, the white-cyan hot\n *  edge, then overbright glow easing into the solid band. Colour-only\n *  stops inside the already-opaque strip — the alpha profile is untouched. */const NAV_WIPE_CRT_FRINGE_VH=.3;const NAV_WIPE_CRT_GLOW_VH=1.5;/** One builder, three outputs. \"plain\" is the s48–s168 ramp, byte for\n *  byte. \"crt\" adds the lead detail above. \"alpha\" is the alpha-only twin\n *  every CRT layer on the sheet is masked by, so scan / roll / tear can\n *  only add light inside the band's own footprint — the phone's hard\n *  constraint (see the CRT block above mobileWipeRamp), kept on desktop. */function navWipeRamp(kind){// Frame-% -> sheet-%: the sheet is NAV_WIPE_SHEET_PCT% of the frame tall.\nconst band=NAV_WIPE_BAND_VH/NAV_WIPE_SHEET_PCT*100;const reach=NAV_WIPE_REACH_VH/NAV_WIPE_SHEET_PCT*100;const bright=[20,233,235]// the solid band's cyan\n;// Dark teal the falloff eases toward; alpha-0 end is rgba(4,67,76,0) —\n// continuous with the teal NAV_WIPE_BODY by construction (s53).\nconst dark=[4,67,76];const hot=[70,250,252];const fringe=[255,40,90];const steps=6;const stops=[];const put=(rgb,a,pos)=>{stops.push((kind===\"alpha\"?\"rgba(0,0,0,\"+a+\")\":\"rgba(\"+rgb[0]+\",\"+rgb[1]+\",\"+rgb[2]+\",\"+a+\")\")+\" \"+pos);};if(kind===\"crt\"){const fringeEnd=NAV_WIPE_CRT_FRINGE_VH/NAV_WIPE_SHEET_PCT*100;const glowEnd=NAV_WIPE_CRT_GLOW_VH/NAV_WIPE_SHEET_PCT*100;put(fringe,\"1\",\"0%\");put(hot,\"1\",fringeEnd.toFixed(2)+\"%\");put(bright,\"1\",Math.min(band-.5,glowEnd).toFixed(2)+\"%\");}else put(bright,\"1\",\"0%\");put(bright,\"1\",band.toFixed(2)+\"%\");for(let i=1;i<=steps;i++){const f=i/steps;const a=Math.pow(1-f,NAV_WIPE_FALLOFF_POW);const r=Math.round(bright[0]+(dark[0]-bright[0])*f);const g=Math.round(bright[1]+(dark[1]-bright[1])*f);const b=Math.round(bright[2]+(dark[2]-bright[2])*f);const pos=band+(reach-band)*f;put([r,g,b],a.toFixed(3),pos.toFixed(2)+\"%\");}put(dark,\"0\",\"100%\");return stops.join(\",\");}const NAV_WIPE_RAMP=navWipeRamp(\"plain\");const NAV_WIPE_RAMP_CRT=navWipeRamp(\"crt\");const NAV_WIPE_RAMP_ALPHA=navWipeRamp(\"alpha\");/** Motion-desktop tile matte: tiles fade to alpha 0 over this many vh of\n *  viewport height as they rise toward the pinned work header. Applied as a\n *  JS-driven mask-image on workGridRef (recomputed every reveal-rAF frame from\n *  live header-bottom and grid-top), not a painted scrim. Gav: \"~10% of the\n *  screen height\". */const WORK_TILE_FADE_VH=10;/** Px of tile scroll past the work landing (WORK_STICKY_TOP minus the work\n *  section wrap's live top) over which the tile matte fades in from fully\n *  opaque (inert) to its steady-state fade-to-transparent shape. Resurrected\n *  s51-deleted WORK_SCRIM_FADE_PX — Gav already approved this feel before\n *  the scrim was removed. */const WORK_TILE_FADE_IN_PX=260;/** Pad for the Motion-desktop tile matte mask layer. A 1.18x hover scale on\n *  a roughly 420px tile overflows the tile's own box by roughly 38px in each\n *  direction; 300px is about 8x margin, and mask-clip: no-clip means this\n *  pad costs nothing performance- or layout-wise — it only extends the\n *  invisible mask layer's own bounds (s53). */const WORK_TILE_MASK_PAD_PX=300;/** Sticky pin offset for the Motion desktop work header. Sticky pins the\n *  element's border-box at `top`, so bare NAV_H drops the wrapper's\n *  WORK_PAD_TOP gap the moment it sticks. NAV_H + WORK_PAD_TOP keeps the\n *  unpinned air while pinned. */const WORK_HEADER_PIN_TOP=NAV_H+WORK_PAD_TOP;/** Tile-video playback progress bar thickness (non-interactive readout). */const TILEVID_PROGRESS_PX=3;/** s47 fix 4: breathing room below the last tile row at the work section's\n *  far edge, so arriving at the bottom reads as \"that's the end\" rather than\n *  a clipped grid (measured: the last row sat 24px above the viewport bottom\n *  at workEnd). Applied as the grid's bottom margin on the Motion desktop\n *  pin only; it extends the wrap, so workEndY() picks it up for free. */const WORK_END_PAD_PX=96;// Nav background once the hero is off-screen (Motion desktop only): the bar\n// ships 50%-transparent and the hero pan reads straight through it at the\n// work landing. Opaque past the hero; translucency kept ON the hero, where\n// the image behind the bar is deliberate. backdrop-filter stays either way.\nconst NAV_SOLID_BG=\"#07080c\";// s46 fix 2b: Gav liked the accidental cyan keyline under the nav (\"I'm\n// wondering if we keep it there throughout\") — made deliberate. Motion signal\n// only, via the mode-scoped CSS rule; Colour keeps its neutral border.\nconst NAV_KEYLINE=\"rgba(0,213,240,.38)\";/** Hero exit choreography, driven off the wipe clock normalised to the exit\n *  window (HERO_EXIT_LEAD_MS — per Gav's animatic the UI elements FINISH as\n *  the wipe begins, they do not ride through it), so dialing the lead\n *  rescales the whole sequence. Order is bottom-up, as measured off the\n *  animatic: chrome first, then the headline from the last line upward,\n *  kicker last. span + dur should sum to ~1 so the last element finishes\n *  exactly at full cover. */const HERO_EXIT={span:.62,dur:.38,glitch:1.15};// Rank count for the hero exit cascade (see collectHeroExitEls): telemetry,\n// HUD corners, reel CTA, NOW SHOWING, H1 lines 3/2/1, kicker.\nconst HERO_EXIT_RANKS=8;/** Hero exit chrome motion. Corners push outward along their diagonal as they\n *  fade, reading as a camera push-in; the telemetry line rises to accentuate\n *  it. Distances are Gav's dials. */const HUD_CORNER_PUSH_PX=34;const HUD_TELEMETRY_RISE_PX=26;/** s50: HUD telemetry + corners expand AND fade over this window on the\n *  same linear clock (simultaneous by construction). Glitch ranks are\n *  edge-driven separately. */const HUD_EXIT_MS=1e3;/** s50: start glitching a hero element this many px before the wipe's\n *  leading edge reaches it. Gives a readable glitch window at the 1.5s\n *  sweep without finishing long before the edge arrives. */const GLITCH_EDGE_LEAD_PX=140;/** Gav's exact animatic timecodes (SS:FF at 24fps): UI elements leave from\n *  02:05 to 03:00 = 19 frames = 792ms; the wipe runs 03:00 -> 04:00. The\n *  lead was that UI window — the sweep started when it ended. Only applied\n *  when a wipe is actually LEAVING the hero — every other navigation starts\n *  its sweep immediately. 792 is SUPERSEDED in s52: Gav asked for more\n *  overlap between the wipe and the hero departure — by the time the HUD\n *  elements are ~50% through their expansion, the wipe's leading edge\n *  should be about half way up the screen and the glitching-out should\n *  already be under way. 792ms of dead UI-only time before the wipe even\n *  starts does not deliver that; 200ms does (numerically solved in\n *  s52-timing-solve.js: at SHEET 104 / SWEEP 1500, LEAD 200 gives\n *  HERO_IMG_RECEDE_START_MS = ~102ms, still comfortably >= 0). */const HERO_EXIT_LEAD_MS=200;/** The hero's bottom sits exactly at NAV_H when parked at the work stop, so a\n *  bare `> NAV_H` is on its own boundary and sub-pixel rounding decides it.\n *  Direction is the real gate — the hero only ever departs downward — and this\n *  epsilon keeps the geometry honest regardless. */const HERO_EXIT_GATE_EPS_PX=4;/** s48 hero image recede — layer 2 of the hero set-piece. Gav's correction:\n *  a subtle DOWNWARD slide, not a zoom (\"Maybe instead of the scaling-down,\n *  we do a subtle slide downwards on the y axis to imply some parallax\") —\n *  the wipe travels up; the image drifting down against it implies depth.\n *  Timing is his AE spec: 20 frames on a 24fps timeline = 833ms, opacity\n *  100% -> 0% over the same span. Opacity is LINEAR. The slide carries the\n *  AE default ease OUT on the FIRST keyframe only (slow departure, linear\n *  arrival) — in CSS terms an ease-IN, since AE eases out OF a keyframe.\n *  Applied to the hero MEDIA wrapper only (never swishStripRef — the swish\n *  rAF owns its transform — and never the imgs, which the pan keyframes\n *  own). s49: no longer starts at t0 — the recede's END is anchored to the\n *  sweep's crossing (see HERO_IMG_RECEDE_END_MS) so the slide coexists with\n *  the wipe's visible travel and the parallax reads. Cleared by\n *  clearHeroExit. */const HERO_IMG_RECEDE_MS=20/24*1e3// 833.33\n;const HERO_IMG_SLIDE_PX=56// architect's starting dial, not Gav's number\n;const HERO_IMG_EASE_INFLUENCE=33.33// AE default ease, first keyframe only\n;/** s49: the sweep's RISE duration — time from sweep start to the crossing\n *  (translateY through 0). NAV_WIPE_CROSS_FRAC is a fraction of DISTANCE and\n *  the sweep is AE 70/70 eased, so the time fraction comes from INVERTING the\n *  ease — never CROSS_FRAC x SWEEP_MS directly (that is only valid for a\n *  linear sweep). Derived, so it survives any re-dial of the sweep. */const NAV_WIPE_RISE_MS=NAV_WIPE_SWEEP_MS*invertEaseAeInfluence(NAV_WIPE_CROSS_FRAC,NAV_WIPE_SWEEP_INFLUENCE,NAV_WIPE_SWEEP_INFLUENCE);/** s49 recede retiming: anchor the recede's END to the crossing instead of\n *  its start to t0. Starting at t0 it ran 0->833ms, but the sweep only\n *  starts at the 792ms lead and covers just ~6% of its distance in the first\n *  quarter — the image had finished sliding before the wipe was visibly\n *  moving, so the two motions never coexisted and the parallax never read.\n *  s50 (SWEEP 1500): ~675->~1508ms at these dials, overlapping the sweep's\n *  visible travel. Ending AT the crossing is free — clearHeroExit already\n *  fires there. Duration stays exactly Gav's 20 frames; the start clamps to\n *  0 if a short lead / fast sweep would push it negative. */const HERO_IMG_RECEDE_END_MS=HERO_EXIT_LEAD_MS+NAV_WIPE_RISE_MS;const HERO_IMG_RECEDE_START_MS=Math.max(0,HERO_IMG_RECEDE_END_MS-HERO_IMG_RECEDE_MS);/** Studio / contact arrival. Time-driven — the page is stationary once the\n *  wipe has swept clear, so unlike the hero exit there is no progress to\n *  ride.\n *  !! s58/s59 SHORTENED THESE AND IT WAS THE WRONG FIX — s61 PUT THEM BACK.\n *  Gav asked to reduce \"the time it takes for elements to animate or glitch\n *  in\", and it was read as the boot DURATION: 1200 -> 600 (s58) -> 300 (s59).\n *  His correction: \"the length of the glitch-ins was fine… it was the\n *  duration between the wipe finishing and the glitch-ins was what i wanted\n *  to reduce uniformly.\" The GAP, not the animation.\n *\n *  The gap was real and measured: the destination was fully revealed ~750ms\n *  before the sweep ended (767ms into a 1500ms sweep going down, 749ms up),\n *  and nothing started until sweep end. That is fixed in s60/s61 by firing\n *  the landing when the destination is revealed — see runLanding.\n *\n *  All three arrival boots sit at 1200 and are UNIFORM, which is what Gav\n *  asked for when the work one read as slower than the sections. Keep them\n *  in step; MOTION_BOOT_MS came from 1425 to join them. */// s171: the Colour phone — four full-screen pages (hero / work / about /\n// contact). A vertical swipe past the page's own scroll edge turns the page;\n// a crimson hairline index along the bottom replaces the hamburger. The\n// Colour answer to the Motion stack; brief in s170-BRIEF.md. P1 has the\n// pages, the turn and the type builds; the still twins (directional blur)\n// and the Work filmstrip are P2. ?mfcpages=1 previews it (default OFF\n// until Gav signs P1); ?mfcpages=0 is the s170 Colour phone.\nconst CPAGE_TURN_MS=1200// Focus Pull mockup: \"1200 ms\"\n;const CPAGE_DRIFT_PCT=6// page-turn drift in the swipe direction (mockup: 6%)\n;const CPAGE_EASE=\"cubic-bezier(.4,0,.2,1)\";const CPAGE_SWIPE_PX=60// finger travel that turns a page\n;const CPAGE_SWIPE_MAX_MS=700// slower than this is a scroll, not a swipe\n;const CPAGE_INDEX_H=100// bottom reserve under the index (the index is ~94px tall) plus safe area\n;// s187: the About disc beside name + role (Motion's plate is 104 wide)\nconst CPAGE_HEADSHOT_PX=104;// s188: the footer row that opens under the index labels on CONTACT\nconst CPAGE_FOOT_H=40;// s187/s188: the crimson ambient on the pager. Phone-anchored like\n// Motion's (the desktop ellipse at 50% -5% sits under the nav on a phone).\n// One layer: the gradient is drawn at PEAK and the layer rests at REST_OP\n// opacity; a landing swells it to 1 and back (?mfbloom=0 holds it at\n// rest). s187's separate bloom layer crashed Gav's phone on Hero -> Work.\nconst CPAGE_AMBIENT_ELLIPSE=\"110% 72%\";const CPAGE_AMBIENT_AT=\"50% 38%\";const CPAGE_AMBIENT_PEAK=\"rgba(255,59,74,.2)\";const CPAGE_AMBIENT_REST_OP=.7;const CPAGE_BLOOM_MS=2200;const CPAGE_INDEX_MS=900// marker slide (mockup)\n;const CPAGE_BUILD_IN_MS=1300// Gav's type build-in: 22px · 118% · 0% → 0 · 100% · 100%\n;const CPAGE_BUILD_OUT_MS=480// build-out: → 15px · 109% · 0%\n;const CPAGE_BUILD_STAGGER_MS=90// brief: 70–110ms\n;const CPAGE_LAND_MS=1300// work tiles rise again on every trip to WORK\n;const CPAGE_Z_INDEX=62// free lane: above the stack host (60), below the stack nav (65)\n;const SECTION_BOOT_MS=1200;const SECTION_BOOT={span:.66,dur:.34,glitch:1};/** s50 hero arrival boot (work -> hero). Mirrors departure via applyHeroExit\n *  / applyHeroRecede driven 1 -> 0. Matched to SECTION_BOOT_MS — they are the\n *  same beat on two different screens, so move them together. */const HERO_BOOT_MS=1200;/** s44 About screen (the former studio strip). Heading dropped from the old\n *  clamp(38px,5vw,76px) so the full bio composition fits one 832px screen;\n *  headshot is a fixed disc, smaller than /about's 220 for the same reason. */const ABOUT_HEAD_CLAMP=\"clamp(34px,3.8vw,56px)\";const ABOUT_HEADSHOT_PX=180;// NOT scaled with the s45 \"Slower\" preset. The sandbox's \"content arrives\"\n// slider models the SECTION copy (SECTION_BOOT_MS), not the 15-tile work\n// grid — which is already the slowest arrival on the site; scaling it by the\n// same 1.33x would slow the most travelled path. Dial it on its own.\n// s49: 1900 -> 1080 — Gav: work-tile glitch reveal \"about 75% faster\",\n// read as speed x1.75 (duration / 1.75). SECTION_BOOT_MS deliberately\n// untouched — he named the work tiles specifically.\n// s50: Gav corrected the figure — he meant 25% faster, not 75%. Read as\n// \"takes 25% less time\": 1900 x 0.75 = 1425. (If he meant AE-style 125%\n// speed the number is 1520 — a 95ms difference, flagged to him, not\n// visible enough to guess at.) SECTION_BOOT_MS still untouched.\n// s59: 1425 -> 300 to match the others, then s61 restored all three to\n// 1200 — Gav clarified the glitch-in LENGTHS were fine and it was the GAP\n// before them he wanted cut. The uniformity he asked for stands: the long-\n// standing \"dial MOTION_BOOT_MS on its own\" note above is retired, and\n// SECTION_BOOT_MS / HERO_BOOT_MS / MOTION_BOOT_MS now move TOGETHER.\nconst MOTION_BOOT_MS=1200;// Hover-intent: don't fetch+play for a cursor merely sweeping across the grid.\nconst VIDEO_HOVER_INTENT_MS=120;// If the clip isn't playable within this, give up and keep the still. Silent.\nconst VIDEO_READY_TIMEOUT_MS=2e3;// Markers sweep in after the tile pack settles. Delay is derived from each\n// tile's REVEAL RANK so the sweep follows the same order the tiles appeared in.\nconst MARKER_START_DELAY_MS=125;const MARKER_SWEEP_MS=450;// Shared content column: nav, headline, bottom (NOW SHOWING), HUD.\n// Structure must match: maxWidth CONTENT_MAX + padding EDGE_PAD *inside* the box\n// (border-box). Outer-pad + unpadded 1320 made NOW SHOWING ~40px tighter than the\n// headline on desktop and put it under the Motion BR HUD corner.\nconst CONTENT_MAX=1320;const EDGE_PAD=44// equal L/R gutter inside the content column\n;// Aliases kept so colour-specific type rules stay readable\nconst HEADLINE_W_TABLET_COLOUR=HEADLINE_W_TABLET;const HEADLINE_W_COMPACT_COLOUR=HEADLINE_W_PHONE;// Headline desktop (>900) gutter = EDGE_PAD, matching nav/hero-bottom. Below 900 the\n// headline shares the .mf-pad-x gutter (28 ≤900 / 18 ≤560) via the class on .mf-headline-wrap,\n// so nav, headline and the bottom bar keep ONE aligned L/R gutter at every breakpoint.\nconst HEADLINE_PAD_L_DESKTOP=EDGE_PAD;const HEADLINE_PAD_R_DESKTOP=EDGE_PAD;// HUD on outer edge of CONTENT_MAX column when wide; EDGE_PAD floor when narrow\n// so type (EDGE_PAD inside the column) stays clear of the BR/TL brackets.\nconst HUD_INSET_CSS=`max(${EDGE_PAD}px, calc((100% - ${CONTENT_MAX}px) / 2))`;const HEADLINE_TOP_DESKTOP=150;const HEADLINE_TOP_TABLET_COLOUR=120;const HEADLINE_TOP_TABLET_MOTION=148// clear HUD corners on iPad (HUD still on tablet+)\n;// Motion phones: HUD off — shared top under nav\nconst HEADLINE_TOP_COMPACT_COLOUR=90;const HEADLINE_TOP_COMPACT_MOTION=NAV_H+14// 82 — all phones, no HUD\n;const HEADLINE_TOP_SE_MOTION=NAV_H+14// keep nav clearance even with kicker removed\n;// Colour type — desktop is the locked relationship. Kicker stays subordinate:\n// fixed size ratio + fixed tracking (no JS width-matching — that forced equal\n// measure and made kerning jump per breakpoint).\nconst HEADLINE_H1_CQI_COLOUR=18.2// tablet/desktop bump (was 16.9)\n;const HEADLINE_H1_CQI_COLOUR_TABLET=16.8// was 15.5\n;const HEADLINE_H1_CQI_COLOUR_COMPACT=17.2;const HEADLINE_H1_MIN_COLOUR_COMPACT=28;const HEADLINE_H1_MAX_COLOUR_TABLET=98// allow Pro-width tablets to grow with cqi (was 72 — froze H1 while kicker scaled)\n;// Desktop sweet spot: kicker ~1/6 of H1 display size\nconst HEADLINE_KICKER_TO_H1=2.85/16.9;const HEADLINE_KICKER_CQI_COLOUR=HEADLINE_H1_CQI_COLOUR*HEADLINE_KICKER_TO_H1;const HEADLINE_KICKER_CQI_COLOUR_TABLET=HEADLINE_H1_CQI_COLOUR_TABLET*HEADLINE_KICKER_TO_H1;const HEADLINE_KICKER_CQI_COLOUR_COMPACT=HEADLINE_H1_CQI_COLOUR_COMPACT*HEADLINE_KICKER_TO_H1;const HEADLINE_KICKER_MIN_COLOUR=8;const HEADLINE_KICKER_TRACK_COLOUR=.32// fixed em tracking every band — no per-viewport px hacks\n;// Kicker → H1 air (smaller = H1 sits higher under the kicker)\nconst HEADLINE_KICKER_GAP_CQI=2// was 4.4\n;const HEADLINE_KICKER_GAP_MIN_PX=4// was 10\n;const HEADLINE_KICKER_GAP_MAX_PX=10// was 22\n;// H1 leading (line-height) — tighter on tablet/desktop only. Phone keeps prior.\n// (Earlier session mis-tuned letter-spacing / tracking; tracking is restored to original.)\nconst HEADLINE_H1_LEAD_COLOUR=1// was ~0.88 inline\n;const HEADLINE_H1_LEAD_MOTION=.82// was 0.9 css / 0.98 inline\n;const HEADLINE_H1_LEAD_PHONE_COLOUR=1;const HEADLINE_H1_LEAD_PHONE_MOTION=.9;// Motion display (Dharma Gothic M) is condensed ALLCAPS — needs hotter cqi than Colour\n// Playfair to fill the same frame % with a similar visual weight.\nconst HEADLINE_H1_CQI_MOTION=26// desktop (was 22.5; kept after kicker/H1 relationship dial)\n;const HEADLINE_H1_CQI_MOTION_TABLET=24.5// was 21\n;// Phone Motion: Pro Max lock (max 90). 12 Pro keeps H1 at 32; kicker cooler to kill overshoot.\n// SE: stronger shrink so reel + NOW SHOWING clear the fold.\nconst HEADLINE_H1_CQI_MOTION_COMPACT=32// 12 Pro / Pro Max\n;// SE: kicker hidden; H1 near 12 Pro once hero minHeight is fixed (was not a type problem)\nconst HEADLINE_H1_CQI_MOTION_SE=24;const HEADLINE_H1_MIN_MOTION=44;const HEADLINE_H1_MIN_MOTION_COMPACT=72;const HEADLINE_H1_MIN_MOTION_SE=48;const HEADLINE_H1_MAX_MOTION=180;const HEADLINE_H1_MAX_MOTION_COMPACT=90// Pro Max absolute lock\n;const HEADLINE_H1_MAX_MOTION_SE=80;// Kicker subordinate — size only (tracking stays 0.28 everywhere).\n// Tablet/desktop bumped so kicker measure approaches \"ONE STUDIO.\" (was undershooting).\nconst HEADLINE_KICKER_CQI_MOTION=2.35// was 2.3\n;const HEADLINE_KICKER_CQI_MOTION_TABLET=2.2// was 2.4\n;const HEADLINE_KICKER_CQI_MOTION_COMPACT=1.25// size-only trim of 12 Pro overshoot\n;const HEADLINE_KICKER_CQI_MOTION_SE=.48// unused on SE (kicker display:none)\n;const HEADLINE_KICKER_TRACK_MOTION=.28;const HEADLINE_KICKER_TRACK_MOTION_SE=HEADLINE_KICKER_TRACK_MOTION;const HEADLINE_KICKER_MIN_MOTION=8;// Hard 14px max was capping tablet/desktop cqi growth — phone keeps 14.\nconst HEADLINE_KICKER_MAX_MOTION=16;const HEADLINE_KICKER_MAX_MOTION_PHONE=14;const HEADLINE_KICKER_GAP_CQI_SE=1.6;// —— Desktop/tablet \"Watch the reel\" under headline (phone keeps floating mobile CTA) ——\n// Block sits in .mf-headline-frame so its width tracks the header column %.\n//\n// Font stacks (paste into REEL_*_FONT_*):\n//   var(--serif)                 Playfair Display (Colour)\n//   var(--sans)                  Schibsted Grotesk\n//   var(--mf-font-display-motion) Dharma Gothic M\n//   var(--mf-font-label-motion)   Pawl Square  (100/300/400/700 only)\n//   var(--mf-font-body-motion)    Pawl Stretch\n// ---- Full-screen reel lightbox ----\n// Stage width is capped by what a 16:9 box can occupy vertically (viewport\n// height minus REEL_LB_VPAD of air) so playback fills the screen on any\n// monitor instead of the old fixed 1180px.\nconst REEL_LB_VPAD=120;const REEL_LB_STAGE_MAX_W=`calc((100vh - ${REEL_LB_VPAD}px) * (16 / 9))`;// Entrance/exit timing. Entrance = CSS keyframes on mount; close sets\n// data-mf-closing (transition to 0) then unmounts after REEL_LB_CLOSE_MS.\nconst REEL_LB_ENTER_OVERLAY_MS=420;const REEL_LB_ENTER_STAGE_MS=640;const REEL_LB_ENTER_STAGE_DELAY_MS=90;const REEL_LB_ENTER_CLOSEBTN_DELAY_MS=300;const REEL_LB_CLOSE_MS=340;const REEL_UNDER_MT=28// px air under H1\n;const REEL_UNDER_ICON=64// play control size\n;const REEL_UNDER_ICON_SVG=18;const REEL_UNDER_GAP=18// icon ↔ copy\n;// Title line — size / track / font\nconst REEL_TITLE_PX_COLOUR=38;const REEL_TITLE_PX_MOTION=26;const REEL_TITLE_TRACK_COLOUR=0;const REEL_TITLE_TRACK_MOTION=0;const REEL_TITLE_FONT_COLOUR=\"var(--serif)\";const REEL_TITLE_WEIGHT_COLOUR=500;const REEL_TITLE_STYLE_COLOUR=\"italic\"// normal | italic\n;const REEL_TITLE_TRANSFORM_COLOUR=\"none\"// none | uppercase\n;const REEL_TITLE_FONT_MOTION=\"var(--mf-font-label-motion)\"// Pawl Square\n;const REEL_TITLE_WEIGHT_MOTION=400// Bold — faces: 100/300/400/700\n;const REEL_TITLE_STYLE_MOTION=\"normal\";const REEL_TITLE_TRANSFORM_MOTION=\"uppercase\";// Subline (duration · SHOWREEL)\nconst REEL_SUB_PX_COLOUR=15;const REEL_SUB_PX_MOTION=14.35;const REEL_SUB_TRACK_COLOUR=.1;const REEL_SUB_TRACK_MOTION=.1;const REEL_SUB_MT_COLOUR=4// title → sub gap (px)\n;const REEL_SUB_MT_MOTION=2;const REEL_SUB_FONT_COLOUR=\"var(--sans)\";const REEL_SUB_WEIGHT_COLOUR=500;const REEL_SUB_STYLE_COLOUR=\"normal\";const REEL_SUB_TRANSFORM_COLOUR=\"none\";const REEL_SUB_FONT_MOTION=\"var(--mf-font-label-motion)\";const REEL_SUB_WEIGHT_MOTION=400;const REEL_SUB_STYLE_MOTION=\"normal\";const REEL_SUB_TRANSFORM_MOTION=\"none\";// Subline colour — signal accent on both (was #a99f92 warm grey on Colour, cyan try on Motion).\nconst REEL_SUB_COLOR_COLOUR=\"var(--mf-acc)\";const REEL_SUB_COLOR_MOTION=\"var(--mf-acc)\";// Horizontal nudge (px) per line — +right / −left. Optical align title vs sub.\nconst REEL_TITLE_X_COLOUR=0;const REEL_TITLE_X_MOTION=0;const REEL_SUB_X_COLOUR=5;const REEL_SUB_X_MOTION=0;// —— Phone floating reel (≤680) — dials for .mf-reel-row-mobile ——\nconst REEL_PHONE_ICON=72;const REEL_PHONE_ICON_SVG=20;const REEL_PHONE_GAP=16// icon ↔ copy (column stack)\n;const REEL_PHONE_MB=36// margin under block before bottom row (pre-absolute)\n;const REEL_PHONE_TITLE_PX_COLOUR=28;const REEL_PHONE_TITLE_PX_MOTION=24;const REEL_PHONE_TITLE_TRACK_COLOUR=0;const REEL_PHONE_TITLE_TRACK_MOTION=0;const REEL_PHONE_TITLE_FONT_COLOUR=\"var(--serif)\";const REEL_PHONE_TITLE_WEIGHT_COLOUR=500;const REEL_PHONE_TITLE_STYLE_COLOUR=\"italic\";const REEL_PHONE_TITLE_TRANSFORM_COLOUR=\"none\";const REEL_PHONE_TITLE_FONT_MOTION=\"var(--mf-font-label-motion)\";const REEL_PHONE_TITLE_WEIGHT_MOTION=400;const REEL_PHONE_TITLE_STYLE_MOTION=\"normal\";const REEL_PHONE_TITLE_TRANSFORM_MOTION=\"uppercase\";const REEL_PHONE_SUB_PX_COLOUR=13;const REEL_PHONE_SUB_PX_MOTION=13;const REEL_PHONE_SUB_TRACK_COLOUR=REEL_PHONE_TITLE_TRACK_COLOUR;const REEL_PHONE_SUB_TRACK_MOTION=.1;const REEL_PHONE_SUB_MT_COLOUR=6// title → sub gap (px)\n;const REEL_PHONE_SUB_MT_MOTION=2;const REEL_PHONE_SUB_FONT_COLOUR=\"var(--sans)\";const REEL_PHONE_SUB_WEIGHT_COLOUR=500;const REEL_PHONE_SUB_STYLE_COLOUR=\"normal\";const REEL_PHONE_SUB_TRANSFORM_COLOUR=\"none\";const REEL_PHONE_SUB_FONT_MOTION=\"var(--mf-font-label-motion)\";const REEL_PHONE_SUB_WEIGHT_MOTION=400;const REEL_PHONE_SUB_STYLE_MOTION=\"normal\";const REEL_PHONE_SUB_TRANSFORM_MOTION=\"none\";const REEL_PHONE_SUB_COLOR_COLOUR=\"var(--mf-acc)\";const REEL_PHONE_SUB_COLOR_MOTION=\"var(--mf-acc)\"// same cyan try as desktop\n;const REEL_PHONE_TITLE_X_COLOUR=0;const REEL_PHONE_TITLE_X_MOTION=0;const REEL_PHONE_SUB_X_COLOUR=0;const REEL_PHONE_SUB_X_MOTION=0;// —— NOW SHOWING block — TABLET/DESKTOP only (phone keeps its own 26/34 title + 10 meta).\n// Scaled \"as one block\" over the 10 / 38 / 10 base: Colour +20%, Motion +40%. ——\nconst NOW_LABEL_PX_COLOUR=12;const NOW_TITLE_PX_COLOUR=46;const NOW_TAG_PX_COLOUR=12;const NOW_LABEL_PX_MOTION=14;const NOW_TITLE_PX_MOTION=53;const NOW_TAG_PX_MOTION=14;function clamp(v,a,b){return Math.max(a,Math.min(b,v));}// Shared caption formatter for project tiles / lightbox / hero tag —\n// \"CATEGORY · YEAR · WORK TYPE, WORK TYPE\" (workTypes omitted if empty).\nfunction formatMeta(category,year,workTypes){const parts=[category,year].filter(Boolean);if(workTypes&&workTypes.length)parts.push(workTypes.join(\", \"));return parts.join(\" \\xb7 \");}function shuffle(arr){const a=arr.slice();for(let i=a.length-1;i>0;i--){const j=Math.floor(Math.random()*(i+1));[a[i],a[j]]=[a[j],a[i]];}return a;}function initialMode(){// s219: ?signal=motion|colour forces the signal for this visit (his: per visit - the saved choice is untouched)\ntry{const q=(new URLSearchParams(window.location.search).get(\"signal\")||\"\").toLowerCase();if(q===\"motion\")return\"motion\";if(q===\"colour\"||q===\"color\")return\"colour\";}catch(e){}try{return localStorage.getItem(SIGNAL_KEY)===\"motion\"?\"motion\":\"colour\";}catch(e){return\"colour\";}}const MF_LOGO_PATH=\"M272,328H56c-30.88,0-56-25.12-56-56V56C0,25.12,25.12,0,56,0h216c30.88,0,56,25.12,56,56v216c0,30.88-25.12,56-56,56ZM56,28c-15.44,0-28,12.56-28,28v216c0,15.44,12.56,28,28,28h216c15.44,0,28-12.56,28-28V56c0-15.44-12.56-28-28-28H56Z M145,150H61c-2.76,0-5-2.24-5-5V61c0-2.76,2.24-5,5-5h84c2.76,0,5,2.24,5,5v84c0,2.76-2.24,5-5,5ZM267,56h-84c-2.76,0-5,2.24-5,5v84c0,2.76,2.24,5,5,5h84c2.76,0,5-2.24,5-5V61c0-2.76-2.24-5-5-5Z M113.5,178h43.5v94h-43.5v-94ZM214.5,178h-43.5v94h43.5v-94ZM267,178h-38.5v94h38.5c2.76,0,5-2.24,5-5v-84c0-2.76-2.24-5-5-5ZM99.5,178h-38.5c-2.76,0-5,2.24-5,5v84c0,2.76,2.24,5,5,5h38.5v-94Z M531.76,324.7h-27.09l-22.96-195.14c-1.84-16.53-4.59-43.16-6.89-64.74.92,20.66,1.38,46.37,1.38,64.74v195.14h-27.55V3.3h48.21l19.28,182.28c1.84,16.53,1.84,34.9,3.21,52.34.92-17.91,1.38-35.81,3.21-52.34L540.94,3.3h49.59v321.41h-30.76v-195.14c0-18.37.46-42.7.92-62.9-2.3,21.12-4.59,46.83-6.43,62.9l-22.5,195.14Z M649.76,3.3h31.22v321.41h-31.22V3.3Z M774.65,131.4c-3.67-19.74-5.97-40.86-8.26-59.69.46,18.83.92,40.41.92,59.69v193.3h-27.09V3.3h39.95l29.85,170.81c3.67,20.2,5.97,39.95,8.26,60.61-.46-21.58-.92-41.32-.92-60.61V3.3h27.09v321.41h-34.9l-34.9-193.3Z M903.67,3.3h60.15c33.06,0,41.78,10.1,41.78,46.37v228.66c0,36.27-8.72,46.37-41.78,46.37h-60.15V3.3ZM958.31,295.78c14.69,0,16.07-5.51,16.07-22.04V54.26c0-16.53-1.38-22.04-16.07-22.04h-23.42v263.55h23.42Z M1176.4,146.55h37.19v29.39h-37.19v148.77h-31.22V3.3h75.76v28.93h-44.54v114.33Z M1325.17,275.57h-40.41l-5.05,49.13h-28.01L1285.22,3.3h43.16l33.52,321.41h-31.22l-5.51-49.13ZM1287.52,246.65h34.9l-5.05-50.51c-6.43-63.36-10.1-112.95-12.4-158.41-2.3,45.46-5.97,95.04-12.4,158.41l-5.05,50.51Z M1440.42,276.03c0,16.53,1.38,22.04,16.07,22.04h7.35c14.69,0,16.07-5.51,16.07-22.04v-86.78h29.39v91.37c0,36.27-8.73,46.37-41.78,46.37h-16.53c-33.06,0-41.78-10.1-41.78-46.37V47.37c0-36.27,8.72-46.37,41.78-46.37h16.53c33.06,0,41.78,10.1,41.78,46.37v77.6h-29.39V51.97c0-16.53-1.38-22.04-16.07-22.04h-7.35c-14.69,0-16.07,5.51-16.07,22.04v224.07Z M1581.38,324.7V32.22h-27.09V3.3h85.4v28.93h-27.09v292.48h-31.22Z M1685.15,47.37c0-36.27,8.72-46.37,41.78-46.37h18.37c33.06,0,41.78,10.1,41.78,46.37v233.25c0,36.27-8.72,46.37-41.78,46.37h-18.37c-33.06,0-41.78-10.1-41.78-46.37V47.37ZM1755.86,51.97c0-16.53-1.38-22.04-16.07-22.04h-7.35c-14.69,0-16.07,5.51-16.07,22.04v224.07c0,16.53,1.38,22.04,16.07,22.04h7.35c14.69,0,16.07-5.51,16.07-22.04V51.97Z M1946.4,281.08c0,16.07.92,31.22,5.05,43.62h-32.6c-3.67-7.81-3.67-22.96-3.67-38.57v-85.4c0-16.99-2.75-24.34-18.37-24.34h-21.12v148.31h-31.22V3.3h60.15c33.06,0,41.78,10.1,41.78,46.37v68.87c0,26.17-5.05,39.03-21.12,43.62,16.07,4.59,21.12,16.99,21.12,43.62v75.3ZM1915.18,54.26c0-16.53-1.38-22.04-16.07-22.04h-23.42v114.79h23.42c14.69,0,16.07-5.05,16.07-21.58V54.26Z M2028.59,324.7v-111.12L1989.57,3.3h31.22l13.77,77.14c4.13,23.42,9.18,57.85,11.48,87.24,2.3-29.39,7.35-63.82,11.48-87.24l13.31-77.14h28.01l-39.03,213.05v108.36h-31.22Z\";function MFLogo({height,color,mobileMarkOnly}){const paths=MF_LOGO_PATH.split(\" M\").map((d,i)=>i===0?d:\"M\"+d);// Nav (mobileMarkOnly): mark only — full wordmark lives in the footer.\n// Dual-SVG CSS toggles kept failing on real iOS even when desktop resize looked fine.\nif(mobileMarkOnly){const markPaths=paths.slice(0,3);return /*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 328 328\",fill:color,style:{display:\"block\",height,width:\"auto\"},\"aria-label\":\"Mind Factory\",children:markPaths.map((d,i)=>/*#__PURE__*/_jsx(\"path\",{d:d},i))});}return /*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 2098.85 328\",fill:color,style:{display:\"block\",height,width:\"auto\"},\"aria-label\":\"Mind Factory\",children:paths.map((d,i)=>/*#__PURE__*/_jsx(\"path\",{d:d},i))});}function isLiveSocialUrl(url){if(!url)return false;const u=String(url).trim();if(!u||u===\"#\"||u===\"/\"||u===\"about:blank\")return false;return true;}function formatReelDuration(seconds){if(!Number.isFinite(seconds)||seconds<0)return null;const total=Math.round(seconds);const m=Math.floor(total/60);const s=total%60;return`${String(m).padStart(2,\"0\")}:${String(s).padStart(2,\"0\")}`;}async function fetchVimeoDuration(videoId){if(!videoId)return null;try{const url=`https://vimeo.com/api/oembed.json?url=${encodeURIComponent(`https://vimeo.com/${videoId}`)}`;const res=await fetch(url);if(!res.ok)return null;const data=await res.json();return typeof data.duration===\"number\"?data.duration:null;}catch{return null;}}function aspectRatioFromImageSrc(src){if(!src)return null;const w=src.match(/[?&]width=(\\d+)/i);const h=src.match(/[?&]height=(\\d+)/i);if(w&&h&&Number(w[1])>0&&Number(h[1])>0)return`${w[1]}/${h[1]}`;return null;}function loadImageAspectRatio(src){if(!src)return Promise.resolve(null);const fromUrl=aspectRatioFromImageSrc(src);if(fromUrl)return Promise.resolve(fromUrl);return new Promise(resolve=>{const im=new Image;im.onload=()=>{if(im.naturalWidth>0&&im.naturalHeight>0)resolve(`${im.naturalWidth}/${im.naturalHeight}`);else resolve(null);};im.onerror=()=>resolve(null);im.src=src;});}// Compare entrance timings — dialed in compare-entrance.html (Gav s11)\nconst CBX_ENTRANCE={expandMs:600,dimMs:400,dimTarget:.9,peelMs:500,peelDelay:70,chromeMs:500,chromeStagger:100,closeMs:340};// Shot-chip switch (multi-still projects) — in-frame horizontal slide + re-peel\nconst CBX_SHOT={slideMs:800,peelMs:400,// After Effects–style temporal influence (0–100), speed 0 at both ends.\n// Out influence on start keyframe + in influence on end keyframe.\n// Symmetrical 70 → cubic-bezier(0.70, 0, 0.30, 1).\nslideInfluenceOut:70,slideInfluenceIn:70};function easeOutQuart(t){return 1-Math.pow(1-t,4);}/** Harder landing than quart — for colour tile whip snap */function easeOutExpo(t){return t>=1?1:1-Math.pow(2,-10*t);}/** Symmetric in-out — assisted hero→work scroll ride */function easeInOutCubic(t){return t<.5?4*t*t*t:1-Math.pow(-2*t+2,3)/2;}/** Soft power ease-out for pack-stretch tile locals (1 ≈ linear, higher = snappier end). */function easeOutPower(t,power){const p=clamp(t,0,1);const pow=Math.max(1.05,power||1.8);return 1-Math.pow(1-p,pow);}/** Deterministic 0..1 noise for Motion HUD glitch (stable per rank + time bucket). */function hash01(i,t){const x=Math.sin(i*12.9898+t*78.233)*43758.5453;return x-Math.floor(x);}/**\n * Unit cubic bezier Y-for-X (CSS/AE temporal ease).\n * Control points (x1,y1) and (x2,y2); t is linear time in [0,1].\n */function cubicBezierY(t,x1,y1,x2,y2){if(t<=0)return 0;if(t>=1)return 1;const sampleX=s=>{const u=1-s;return 3*u*u*s*x1+3*u*s*s*x2+s*s*s;};const sampleDX=s=>{const u=1-s;return 3*u*u*x1+6*u*s*(x2-x1)+3*s*s*(1-x2);};const sampleY=s=>{const u=1-s;return 3*u*u*s*y1+3*u*s*s*y2+s*s*s;};// Newton–Raphson for s where X(s) = t\nlet s=t;let converged=false;for(let i=0;i<8;i++){const x=sampleX(s)-t;if(Math.abs(x)<1e-6){converged=true;break;}const d=sampleDX(s);if(Math.abs(d)<1e-6)break;s=clamp(s-x/d,0,1);}if(!converged){let lo=0;let hi=1;s=t;for(let i=0;i<12;i++){const x=sampleX(s);if(Math.abs(x-t)<1e-6)break;if(x<t)lo=s;else hi=s;s=(lo+hi)/2;}}return sampleY(s);}/**\n * After Effects temporal ease with 0 speed at both ends.\n * influenceOut = outgoing influence on the START keyframe (0–100)\n * influenceIn  = incoming influence on the END keyframe (0–100)\n * → cubic-bezier(out/100, 0, 1 - in/100, 1)\n */function easeAeInfluence(t,influenceOut=70,influenceIn=70){const o=clamp(influenceOut,0,100)/100;const i=clamp(influenceIn,0,100)/100;// 0 influence both sides → linear\nif(o<=0&&i<=0)return t;return cubicBezierY(t,o,0,1-i,1);}/** s49: inverse of easeAeInfluence — the TIME fraction at which the eased\n *  value reaches y. Bisection: the ease is strictly monotonic on [0,1], so\n *  40 halvings pin the answer to ~1e-12. Exists so a DISTANCE fraction (e.g.\n *  NAV_WIPE_CROSS_FRAC) can be converted to a time on the sweep clock —\n *  multiplying a distance fraction by the duration is only valid for a\n *  linear sweep, and that exact error has already cost a round. */function invertEaseAeInfluence(y,influenceOut=70,influenceIn=70){if(y<=0)return 0;if(y>=1)return 1;let lo=0;let hi=1;for(let k=0;k<40;k++){const mid=(lo+hi)/2;if(easeAeInfluence(mid,influenceOut,influenceIn)<y)lo=mid;else hi=mid;}return(lo+hi)/2;}/** s95: one frozen viewport-height source for every Motion-phone span.\n *  Resolves against --mf-svh, which the component holds at the LARGEST\n *  viewport height it has seen, falling back to live 100svh until JS has\n *  measured once (so first paint is byte-identical to the old behaviour).\n *  This deliberately supersedes the project's \"svh throughout\" rule for\n *  the phone spans: on Firefox iOS svh == lvh == innerHeight, so svh is\n *  NOT a stable reference there - it steps 620 <-> 748 with the toolbar,\n *  re-resolving every span, changing the document height and letting iOS\n *  remap scrollY. That is the flick jump. Freezing at the MAXIMUM is what\n *  keeps the wipe safe: MOBILE_SEC_MIN_SVH requires every section to be at\n *  least a viewport plus a band tall (bug class #9, never two seams on\n *  frame), and a span sized from the max is always at least its size under\n *  live svh, so the invariant can only be exceeded, never broken. */function mfSvh(pct,minusPx){const base=\"calc(var(--mf-svh, 100svh) * \"+pct+\" / 100\";return minusPx?base+\" - \"+minusPx+\"px)\":base+\")\";}function lerp(a,b,t){return a+(b-a)*t;}function prefersReducedMotion(){try{return typeof window!==\"undefined\"&&window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;}catch{return false;}}/** s94: read a boolean switch off the query string. SSR-safe (Framer\n *  renders these components server-side, where there is no window).\n *  Present and not \"0\"/\"false\" means on; absent means the default.\n *  Used so Gav can A/B a fix and an instrument on ONE published build,\n *  which he asked for after four failed hypotheses on the flick-jump:\n *  he needs to attribute a change to a specific switch, not to a round. *//** s225: the Colour Work arm (?mfcwork=0..6; 0 = the cp6 Work). */const MFC_WORK_DEFAULT=5;/** s225: arm 5 STRIP - how long the pointer rests on a strip before it opens (his \"dull the sensitivity\"). */// s226: 250 -> 120 (his \"increase the sensitivity\" - 250 felt slow to open). ?mfcintent=<ms> overrides.\nconst MFC_STRIP_INTENT_DEFAULT=120;/** s226b: the tall-strip caption lines (no title pop), the top darkness, the shared parallax glow. Gated by root attrs. */const MFC_S226_CSS='@media (min-width:900px) and (max-aspect-ratio:1499/1000){.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-ccap>.mf-dim+.mf-dim,.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-ccap>.mf-gaction{display:block!important;max-height:0!important;margin-top:0!important;overflow:hidden}.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not([data-mf-cwopen])>a.mf-gtile:not(.mf-wall-job):first-child .mf-ccap>.mf-dim+.mf-dim,.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"0\"]>a.mf-gtile:not(.mf-wall-job):nth-child(1) .mf-ccap>.mf-dim+.mf-dim,.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"1\"]>a.mf-gtile:not(.mf-wall-job):nth-child(2) .mf-ccap>.mf-dim+.mf-dim,.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"2\"]>a.mf-gtile:not(.mf-wall-job):nth-child(3) .mf-ccap>.mf-dim+.mf-dim,.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"3\"]>a.mf-gtile:not(.mf-wall-job):nth-child(4) .mf-ccap>.mf-dim+.mf-dim{max-height:20px!important;margin-top:8px!important}.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not([data-mf-cwopen])>a.mf-gtile:not(.mf-wall-job):first-child .mf-ccap>.mf-gaction,.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"0\"]>a.mf-gtile:not(.mf-wall-job):nth-child(1) .mf-ccap>.mf-gaction,.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"1\"]>a.mf-gtile:not(.mf-wall-job):nth-child(2) .mf-ccap>.mf-gaction,.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"2\"]>a.mf-gtile:not(.mf-wall-job):nth-child(3) .mf-ccap>.mf-gaction,.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"3\"]>a.mf-gtile:not(.mf-wall-job):nth-child(4) .mf-ccap>.mf-gaction{max-height:20px!important;margin-top:9px!important}}@media (min-width:900px) and (max-aspect-ratio:1499/1000) and (prefers-reduced-motion:no-preference){.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-ccap>.mf-dim+.mf-dim,.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-ccap>.mf-gaction{transition:max-height .7s cubic-bezier(.7,0,.3,1),margin-top .7s cubic-bezier(.7,0,.3,1)!important}.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not([data-mf-cwopen])>a.mf-gtile:not(.mf-wall-job):first-child .mf-ccap>.mf-dim+.mf-dim,.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"0\"]>a.mf-gtile:not(.mf-wall-job):nth-child(1) .mf-ccap>.mf-dim+.mf-dim,.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"1\"]>a.mf-gtile:not(.mf-wall-job):nth-child(2) .mf-ccap>.mf-dim+.mf-dim,.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"2\"]>a.mf-gtile:not(.mf-wall-job):nth-child(3) .mf-ccap>.mf-dim+.mf-dim,.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"3\"]>a.mf-gtile:not(.mf-wall-job):nth-child(4) .mf-ccap>.mf-dim+.mf-dim,.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not([data-mf-cwopen])>a.mf-gtile:not(.mf-wall-job):first-child .mf-ccap>.mf-gaction,.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"0\"]>a.mf-gtile:not(.mf-wall-job):nth-child(1) .mf-ccap>.mf-gaction,.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"1\"]>a.mf-gtile:not(.mf-wall-job):nth-child(2) .mf-ccap>.mf-gaction,.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"2\"]>a.mf-gtile:not(.mf-wall-job):nth-child(3) .mf-ccap>.mf-gaction,.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"3\"]>a.mf-gtile:not(.mf-wall-job):nth-child(4) .mf-ccap>.mf-gaction{transition:max-height 1.6s cubic-bezier(.7,0,.3,1),margin-top 1.6s cubic-bezier(.7,0,.3,1)!important}}[data-mf=\"ctop\"],[data-mf=\"cglow\"]{display:none}.mf-v2[data-mf-ctop=\"1\"] [data-mf=\"ctop\"]{display:block;position:fixed;left:0;right:0;top:0;height:230px;z-index:59;pointer-events:none;opacity:0;background:linear-gradient(180deg,rgba(7,8,12,1) 0px,rgba(7,8,12,1) 50px,rgba(7,8,12,0.85) 57px,rgba(7,8,12,0.6) 64px,rgba(7,8,12,0.4) 71px,rgba(7,8,12,0.26) 80px,rgba(7,8,12,0.15) 95px,rgba(7,8,12,0.08) 118px,rgba(7,8,12,0.04) 150px,rgba(7,8,12,0.012) 190px,rgba(7,8,12,0) 230px)}.mf-v2[data-mf-ctop=\"1\"][data-mf-cnavsolid=\"1\"] [data-mf=\"nav\"]:not(#mf-none){background:none!important}.mf-v2[data-mf-cglow=\"1\"] [data-mf=\"cglow\"]{display:block;position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}.mf-v2[data-mf-cglow=\"1\"] [data-mf=\"cglow\"]>i{position:absolute;display:block}.mf-v2[data-mf-cglow=\"1\"] [data-mf=\"cglow\"]>i:first-child{left:calc(18% - 70vw);top:calc(68px + 8vh - 50vh);width:140vw;height:100vh;background:radial-gradient(70vw 50vh at 50% 50%,rgba(255,59,74,.125),transparent 62%)}.mf-v2[data-mf-cglow=\"1\"] [data-mf=\"cglow\"]>i:last-child{left:calc(84% - 56vw);top:calc(68px + 115vh - 44vh);width:112vw;height:88vh;background:radial-gradient(56vw 44vh at 50% 50%,rgba(255,59,74,.09),transparent 62%)}.mf-v2[data-mf-cglow=\"1\"][data-mf-clens=\"1\"][data-mf-cwork] #work [data-mf=\"sbody\"]>.mf-pad-x{background-color:transparent!important;background-image:none!important}.mf-v2[data-mf-cglow=\"1\"] .mfc-root,.mf-v2[data-mf-cglow=\"1\"] .mfc-root #panel{background:transparent!important}.mf-v2[data-mf-cglow=\"1\"] .mfc-root .amb{display:none!important}';/** s226b: the shared glow drift once Work is pinned (x the scroll): A = the Work bloom, B = the deeper one. */const MFC_GLOW_DRIFT_A=.1;const MFC_GLOW_DRIFT_B=.38;/** s226b: the top darkness fades in over this share of the screen as the hero leaves. */const MFC_TOP_FADE_FRAC=.35;/** s226: the About bloom's soft top (read only when data-mfc-seam=\"1\" is stamped). */const MFC_SEAM_CSS='.mfc-root[data-mfc-seam=\"1\"] .amb i{background:radial-gradient(72vw 56vh at 18% 30vh,rgba(255,59,74,.13),transparent 64%) no-repeat;opacity:1;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 34vh);mask-image:linear-gradient(to bottom,transparent 0,#000 34vh)}';const MFC_STRIP_INTENT_MS=(()=>{if(typeof window===\"undefined\")return MFC_STRIP_INTENT_DEFAULT;try{const v=new URLSearchParams(window.location.search).get(\"mfcintent\");const n=v===null?NaN:parseInt(v,10);return n>=0&&n<=1e3?n:MFC_STRIP_INTENT_DEFAULT;}catch(e){return MFC_STRIP_INTENT_DEFAULT;}})();function mfcWorkArm(){if(typeof window===\"undefined\")return MFC_WORK_DEFAULT;try{const v=new URLSearchParams(window.location.search).get(\"mfcwork\");const n=v===null?NaN:parseInt(v,10);return n>=0&&n<=6?n:MFC_WORK_DEFAULT;}catch(e){return MFC_WORK_DEFAULT;}}/** s226: the resume PDF (Framer project asset, uploaded with framer.uploadFile; immutable - a new upload is a new URL). *//** s226: the Colour Contact (canvas C1). Rendered only with cContact. */const MFC_CONTACT_CSS='.mf-v2 .mf-cc{width:min(1320px,calc(100vw - 88px));align-self:center;text-align:left;font-family:\"Schibsted Grotesk\",\"Helvetica Neue\",Arial,sans-serif;color:#fff}.mf-v2 .mf-cc-head{display:flex;align-items:center;gap:16px;font-weight:500;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#ff3b4a;margin-bottom:clamp(40px,9vh,120px)}.mf-v2 .mf-cc-head i{flex:1;height:1px;background:rgba(255,59,74,.4)}.mf-v2 .mf-cc-h{margin:0;font-family:\"Instrument Serif\",Georgia,\"Times New Roman\",serif;font-weight:400;font-size:clamp(72px,min(8.6vw,13vh),196px);line-height:.92;letter-spacing:-.015em;color:#fff}.mf-v2 .mf-cc-h em{font-style:italic;color:#ff3b4a}.mf-v2 .mf-cc-p{margin:clamp(18px,3vh,40px) 0 0;max-width:30em;font-family:\"Instrument Serif\",Georgia,serif;font-size:clamp(20px,min(1.7vw,2.9vh),34px);line-height:1.3;color:rgba(255,255,255,.72)}.mf-v2 .mf-cc-row{margin-top:clamp(28px,6vh,88px);display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-top:clamp(18px,2.6vh,32px);border-top:1px solid rgba(255,59,74,.4)}.mf-v2 .mf-cc-mail{font-family:\"Instrument Serif\",Georgia,serif;font-size:clamp(30px,min(3.1vw,5vh),66px);line-height:1;color:#fff;text-decoration:none;background:linear-gradient(#ff3b4a,#ff3b4a) 0 100%/100% 2px no-repeat;padding-bottom:.08em;transition:color .2s}.mf-v2 .mf-cc-mail:hover{color:#ff3b4a}.mf-v2 .mf-cc-meta{display:flex;flex-direction:column;align-items:flex-end;gap:10px;font-weight:500;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.6)}.mf-v2 .mf-cc-meta a{color:#ff3b4a;text-decoration:none;display:inline-flex;align-items:center;min-height:44px;margin:-14px 0}.mf-v2 .mf-cc-meta a:hover{color:#fff}.mf-v2 .mf-cc .mf-cc-mail{background:none!important;padding-bottom:0}.mf-v2 .mf-cc[data-ccrow=\"0\"] .mf-cc-row{border-top-color:transparent!important}.mf-v2 .mf-cc[data-ccrow=\"0\"] .mf-cc-row::before{display:none!important}';/** s226d: the Work build arms + the receding top. Gated by root attributes the effect stamps. */const MFC_S226D_CSS='@media (prefers-reduced-motion:no-preference){.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwhide=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-ccap>*,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwhide=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-badge{opacity:0!important}}@media (prefers-reduced-motion:no-preference){.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwb=\"3\"]:not([data-mf-cwpic=\"1\"]) #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job){clip-path:inset(100% 0 -6px 0)}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwb=\"3\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job)::before{transform-origin:50% 50%}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwb=\"3\"]:not([data-mf-cwpic=\"1\"]) #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job)::before{transform:scaleX(0)}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwb=\"3\"]:not([data-mf-cwpic=\"1\"]) #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job)::after{transform:scaleX(0)!important}}@media (prefers-reduced-motion:no-preference){.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwb=\"2\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job),.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwb=\"3\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job){opacity:1!important;transform:none!important}}.mf-v2[data-mf-ccw=\"1\"] .mf-cc-row{border-top-color:transparent!important;position:relative}.mf-v2[data-mf-ccw=\"1\"] .mf-cc-row::before{content:\"\";position:absolute;left:0;right:0;top:-1px;height:1px;background:rgba(255,59,74,.4);transform-origin:0 50%;pointer-events:none}.mf-v2[data-mf-ccw=\"1\"] .mf-cc-head i{transform-origin:0 50%}@keyframes mfcc-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes mfcc-op{from{opacity:0}to{opacity:1}}@keyframes mfcc-bl{from{filter:blur(22px);scale:1.18}to{filter:blur(0);scale:1}}@keyframes mfcc-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:no-preference){.mf-v2[data-mf-ccw=\"1\"]:not([data-mf-ccb=\"1\"]) .mf-cc-h,.mf-v2[data-mf-ccw=\"1\"]:not([data-mf-ccb=\"1\"]) .mf-cc-p,.mf-v2[data-mf-ccw=\"1\"]:not([data-mf-ccb=\"1\"]) .mf-cc-mail,.mf-v2[data-mf-ccw=\"1\"]:not([data-mf-ccb=\"1\"]) .mf-cc-meta{opacity:0}.mf-v2[data-mf-ccw=\"1\"]:not([data-mf-ccb=\"1\"]) .mf-cc-row::before{transform:scaleX(0)}.mf-v2[data-mf-ccw=\"1\"] .mf-cc-h{transform-origin:0% 100%}}.mf-v2[data-mf-ctop=\"1\"] [data-mf=\"ctop\"]{height:180px;background:linear-gradient(180deg,rgba(7,8,12,0.62) 0px,rgba(7,8,12,0.56) 24px,rgba(7,8,12,0.46) 46px,rgba(7,8,12,0.34) 66px,rgba(7,8,12,0.22) 86px,rgba(7,8,12,0.12) 108px,rgba(7,8,12,0.05) 132px,rgba(7,8,12,0.015) 156px,rgba(7,8,12,0) 180px)}';/** s226d: the Colour Work build (?mfcwbuild=0..3; 0 = cp11, 1 HOLD, 2 RISE, 3 LINES). */const MFC_WBUILD_DEFAULT=8;function mfcWorkBuild(){if(typeof window===\"undefined\")return MFC_WBUILD_DEFAULT;try{const v=new URLSearchParams(window.location.search).get(\"mfcwbuild\");const n=v===null?NaN:parseInt(v,10);return n>=0&&n<=8?n:MFC_WBUILD_DEFAULT;}catch(e){return MFC_WBUILD_DEFAULT;}}/** s226d RISE: picture k rises over this share of the journey, starting at START + k * STEP (invented knobs). */const MFC_RISE_START=.2;const MFC_RISE_STEP=.1;const MFC_RISE_SPAN=.45;/** s226d LINES: the build starts once Work fills this share of the screen (from either side), so it is mostly built as it lands. */const MFC_LINES_AT=.12;/** s226d CONTACT: the build starts when the top of the block is this far up the screen (from below). */const MFC_CC_AT=.9;/** s226e: the Work build arms 4-6 + the unified headers. Gated by root attributes the s226d effect stamps. */const MFC_S226E_CSS='@media (prefers-reduced-motion:no-preference){.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwb=\"4\"]:not([data-mf-cwpic=\"1\"]) #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job)>img.mf-tileimg,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwb=\"7\"]:not([data-mf-cwpic=\"1\"]) #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job)>img.mf-tileimg{filter:grayscale(1) contrast(.72) brightness(.62)}}@media (prefers-reduced-motion:no-preference){.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwb=\"5\"]:not([data-mf-cwpic=\"1\"]) #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job)>img.mf-tileimg{mask-image:linear-gradient(transparent,transparent)}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwb=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job){opacity:1!important;transform:none!important}}.mf-v2[data-mf-ccw=\"1\"] [data-mf-hd=\"w\"]>div,.mf-v2[data-mf-ccw=\"1\"] .mf-cc-head i{transform-origin:0 50%}@media (prefers-reduced-motion:no-preference){.mf-v2[data-mf-ccw=\"1\"]:not([data-mf-hdw=\"1\"]) [data-mf-hd=\"w\"]>span,.mf-v2[data-mf-ccw=\"1\"]:not([data-mf-hdc=\"1\"]) .mf-cc-head>span{opacity:0}.mf-v2[data-mf-ccw=\"1\"]:not([data-mf-hdw=\"1\"]) [data-mf-hd=\"w\"]>div,.mf-v2[data-mf-ccw=\"1\"]:not([data-mf-hdc=\"1\"]) .mf-cc-head i{transform:scaleX(0)}}';/** s226e: Work under the nav is one screen with the even rides (was 132vh, the old grid's pin travel). *//** s226f WIPE: the grey copies' style (the log look comes from MFC_WB_GRADE_FROM via a custom property). */const MFC_S226F_CSS=\".mf-v2 #work a.mf-gtile>img.mf-cwgrey{filter:var(--mf-cwgrey-f);pointer-events:none}\";/** s226f WIPE: the soft edge's feather, as a share of the row (SWEEP's). Invented knob. */const MFC_WIPE_FEATHER=.44;/** s226g WIPE on stacked bands: each band starts this long after the band above (his: \"staggered by 200ms\"). */const MFC_WIPE_STAGGER_MS=200;/** s226h: the open strip's caption at a fixed width (no re-wrap while the strip slides open). *//** s226h: a CLOSING strip keeps the open caption layout while it fades (the signed open rules, re-keyed by edit-s226h.js). */const MFC_S226H_CWC_CSS='.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job)[data-mf-cwc=\"1\"] .mf-ccap>.mf-dim+.mf-dim{max-height:20px!important;margin-top:8px!important}.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job)[data-mf-cwc=\"1\"] .mf-ccap>.mf-gaction{max-height:20px!important;margin-top:9px!important}.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job)[data-mf-cwc=\"1\"] .mf-ccap>.mf-dim+.mf-dim{transition:max-height 1.6s cubic-bezier(.7,0,.3,1),margin-top 1.6s cubic-bezier(.7,0,.3,1)!important}.mf-v2[data-mf-cpop=\"1\"][data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job)[data-mf-cwc=\"1\"] .mf-ccap>.mf-gaction{transition:max-height 1.6s cubic-bezier(.7,0,.3,1),margin-top 1.6s cubic-bezier(.7,0,.3,1)!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job)[data-mf-cwc=\"1\"] .mf-ccap>:not([data-mf-type=\"display\"]){display:block!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job)[data-mf-cwc=\"1\"] .mf-badge{display:block!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job)[data-mf-cwc=\"1\"] .mf-ccap{left:16px!important;right:16px!important;bottom:15px!important;justify-content:flex-start}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job)[data-mf-cwc=\"1\"] .mf-ccap>[data-mf-type=\"display\"]{writing-mode:horizontal-tb;transform:none;white-space:normal;font-size:clamp(32px,2.6vw,52px)!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job)[data-mf-cwc=\"1\"] .mf-ccap>.mf-dim+.mf-dim{display:block!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job)[data-mf-cwc=\"1\"] .mf-ccap>.mf-gaction{display:block!important}';/** s226h: how long a closing strip's caption takes to fade before it becomes a sliver (invented knob). */const MFC_CLOSE_MS=320;/** s226h: the sliver title's ghost fades over this long as its strip opens (invented knob). */const MFC_GHOST_MS=300;/** s226h: a hover during the WIPE fades the grey copies out over this long (invented knob). */const MFC_GREY_OUT_MS=420;/** s226h: the lightbox plate fades in over its first ms (the caption dissolves under it; invented knob). */const MFC_PLATE_IN_MS=160;const MFC_S226H_PLATE_CSS='@keyframes mfcbx-plate-in{from{opacity:0}to{opacity:1}}.mf-v2 .mf-cbx-overlay[data-mf-ccbx=\"1\"]>div[data-mf-fly]{animation:mfcbx-plate-in '+MFC_PLATE_IN_MS+\"ms cubic-bezier(.65,0,.35,1) both}\";/** s226i: the dithered top + nav fades (tiles drawn at runtime, see the Work build effect). */const MFC_S226I_CSS='.mf-v2[data-mf-ctopd=\"1\"][data-mf-ctop=\"1\"] [data-mf=\"ctop\"]{background:var(--mfc-dit-top) 0 0/256px 100% repeat-x!important}.mf-v2[data-mf-ctopd=\"1\"][data-mf-clens=\"1\"]:not([data-mf-cnavsolid=\"1\"]):not([data-mf-cpages=\"1\"]) [data-mf=\"nav\"]{background:var(--mfc-dit-nav) 0 0/256px 100% repeat-x!important}';/** s226i: the RECEDE top's alpha stops [alpha, px] - THE SAME as the cp12 CSS gradient (edit-s226d.js `top`). *//** s226j: how much of the RECEDE darkness goes once the About has come up (his option A; an invented amount). */const MFC_TOP_ABOUT_CUT=.5;/** s226l: the soft top fades - alpha = .62 * (1 - t)^POW (zero slope at 0: no edge); the RECEDE height = max(180px, FRAC x the window). Invented knobs. */const MFC_TOP_POW=2.2;const MFC_TOP_H_FRAC=.17;const MFC_TOP_STOPS=[[.62,0],[.56,24],[.46,46],[.34,66],[.22,86],[.12,108],[.05,132],[.015,156],[0,180]];/** s226i: a 256px-wide tile of rgba(7,8,12, alpha(y)) with +-1 level of random dither per pixel (no 8-bit steps). *//** s226k: the alpha dither, in alpha levels (triangular) - enough to survive a dark-over-dim composite. */const MFC_DITHER_A=16;function mfcDitherTile(h,alphaAt){try{// s226k: drawn at device pixels (his 125% Windows scale stretched a CSS-pixel tile into horizontal streaks)\nconst dpr=Math.max(1,window.devicePixelRatio||1);const c=document.createElement(\"canvas\");c.width=Math.round(256*dpr);c.height=Math.max(1,Math.round(h*dpr));const x=c.getContext(\"2d\");if(!x)return\"\";const d=x.createImageData(c.width,c.height);const p=d.data;for(let y=0;y<c.height;y++){const a=alphaAt((y+.5)/dpr)*255;for(let xx=0;xx<c.width;xx++){const i=(y*c.width+xx)*4;p[i]=7;p[i+1]=8;p[i+2]=12;p[i+3]=Math.max(0,Math.min(255,Math.round(a+(Math.random()+Math.random()-1)*MFC_DITHER_A)));}}x.putImageData(d,0,0);return\"url(\"+c.toDataURL()+\")\";}catch(e){return\"\";}}const MFC_S226H_CSS='.mf-v2[data-mf-capfix=\"1\"] #work a.mf-gtile[data-mf-cwo=\"1\"]:not(.mf-wall-job)>.mf-ccap{width:var(--mf-capw)!important;right:auto!important;max-width:none!important}';/** s226g HOVER HAND-OVER (invented knobs): a part already showing when a hover re-arms it dips to FLOOR and\n *  re-focuses from BLUR px - it never goes. Parts that were not showing still build from 0 / blur 22. */const MFC_HOVER_FLOOR=.45;const MFC_HOVER_BLUR=10;/** s226g: the lightbox pop fix + the outside arrows. */const MFC_S226G_CSS='.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] .mf-cbx-overlay[data-mf-ccbx=\"1\"] .mf-cbx-shell:not(.mf-cbx-col)>div:nth-child(2){animation:none!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork] .mf-cbx-shell:not(.mf-cbx-col):has(>.mf-cbx-arws){max-width:min(1320px,92vw,calc(100vw - 168px),calc((100vh - var(--mf-cbx-r)) * var(--mf-cbx-ar,16/9)))!important}.mf-v2 .mf-cbx-arws{position:relative;height:0;pointer-events:none;z-index:5}.mf-v2 .mf-cbx-arws .mf-cbx-arrow{pointer-events:auto;top:calc(var(--mf-cbx-sh,0px) / -2)!important;width:48px!important;height:48px!important;background:rgba(7,8,12,.35)!important;border:1px solid rgba(255,59,74,.55)!important;color:#ff3b4a!important}.mf-v2 .mf-cbx-arws .mf-cbx-arrow:hover{background:rgba(255,59,74,.14)!important;border-color:#ff3b4a!important;color:#fff!important}.mf-v2 .mf-cbx-arws .mf-cbx-arrow[aria-label=\"Previous shot\"]{left:auto!important;right:calc(100% + 20px)!important}.mf-v2 .mf-cbx-arws .mf-cbx-arrow[aria-label=\"Next shot\"]{right:auto!important;left:calc(100% + 20px)!important}';const MFC_RIDE_WORK_H=\"calc(100vh - \"+WORK_STICKY_TOP+\"px)\";/** s226e: the ride's ease (easeInOutCubic) for every build that should resolve like the ride. */const MFC_WB_EASE=\"cubic-bezier(.65,0,.35,1)\";/** s226e WORK BUILD (invented knobs): starts once Work fills this share of the screen; the type fades over FADE and\n *  focuses over FOCUS; a picture grades / sweeps over PIC. GRADE_FROM = the flat grey log look it grades out of. */const MFC_WB_AT=.6;const MFC_WB_FADE_MS=1600;const MFC_WB_FOCUS_MS=1900;const MFC_WB_PIC_MS=1900;const MFC_WB_GRADE_FROM=\"grayscale(1) contrast(.72) brightness(.62)\";/** s226e HEADERS (his: \"unify the section headers\"; the About carries the identical spec). */const MFC_HD_WORDS_MS=1400;const MFC_HD_STAGGER_MS=120;const MFC_HD_LINE_MS=1900;const MFC_HD_LINE_DELAY_MS=100;const RESUME_PDF_URL=\"https://framerusercontent.com/assets/D5bYonp7HlJ3eyKIGaTvIyAP0.pdf\";/** s227 (his call, \"for consistency we should use the right image\"): a Colour job's Work cover is its FIRST SHOT,\n *  so the tile and the opened job are one picture. ?mfccover=0 = the panel thumbnail. */function mfcCover(p){if(!p)return undefined;const a=p.shots&&p.shots[0]&&p.shots[0].after;if(!a||!a.src||!mfUrlFlag(\"mfccover\",true))return p.thumbnail;return{src:a.src,srcSet:a.srcSet,alt:p.thumbnail&&p.thumbnail.alt};}function mfUrlFlag(name,dflt){if(typeof window===\"undefined\")return dflt;try{const v=new URLSearchParams(window.location.search).get(name);if(v===null)return dflt;return v!==\"0\"&&v!==\"false\";}catch(e){return dflt;}}/** s104 — numeric URL override, same guards as mfUrlFlag. Exists for\n *  ?mfnavms=<ms>, which stretches the nav sweep so a 1.5s transition can\n *  be READ. Four rounds have now been spent inferring a transition's\n *  behaviour from 90 frames of a blurred capture; at 6000ms a single\n *  screenshot shows the whole state unambiguously, and the mid-sweep\n *  probe fires at a moment the client can actually catch. Costs nothing\n *  when absent — the default IS the shipped constant. *//** s227: the Contact background still - Peter Chin, the dancers lined up, the red shirt in front (his pick from the\n *  live site: \"Use that image\"). A re-upload gets a new URL - change it here. */const MFC_BG_CONTACT_STILL=\"https://framerusercontent.com/images/i0k1t3RR6EZPPpSnW7pjEKetDk.png\";function mfUrlNum(name,dflt){if(typeof window===\"undefined\")return dflt;try{const v=new URLSearchParams(window.location.search).get(name);if(v===null)return dflt;const n=parseFloat(v);return isFinite(n)&&n>0?n:dflt;}catch(e){return dflt;}}/** s114 — exact-value URL switch. SSR-safe. Absent or any other\n *  value is off. Used for ?mfmidseam=cut (skip the sweep when a\n *  non-participating section is on frame at arm). */function mfUrlEq(name,val){if(typeof window===\"undefined\")return false;try{return new URLSearchParams(window.location.search).get(name)===val;}catch(e){return false;}}// Network Information API — call from handlers only, never during render.\nfunction videoConnectionAllowed(){const c=navigator?.connection;if(!c)return true// not supported (Safari/Firefox) → allow\n;if(c.saveData)return false// user asked for less data — respect it\n;if(c.effectiveType&&c.effectiveType!==\"4g\")return false;return true;}function animateValue(duration,easeFn,onUpdate,onDone){const t0=performance.now();let raf=0;let cancelled=false;const tick=now=>{if(cancelled)return;const t=duration<=0?1:clamp((now-t0)/duration,0,1);onUpdate(easeFn(t),t);if(t<1)raf=requestAnimationFrame(tick);else if(onDone)onDone();};raf=requestAnimationFrame(tick);return()=>{cancelled=true;cancelAnimationFrame(raf);};}function waitMs(ms){return new Promise(r=>setTimeout(r,ms));}function waitFrames(n=2){return new Promise(resolve=>{let i=0;const step=()=>{i++;if(i>=n)resolve();else requestAnimationFrame(step);};requestAnimationFrame(step);});}export default function MFHomepage(props){const{projectsColour,projectsMotion,email,instagramUrl,vimeoUrl,linkedinUrl,aboutHref,motionReelId,colourReelId,headshotImage,aboutName,aboutRoleLine,aboutDisciplines}=props;useMotionFonts();const[mode,setMode]=useState(initialMode);const modeRef=useRef(mode);modeRef.current=mode;const[reelOpen,setReelOpen]=useState(false);// Reel lightbox exit: closing keeps the overlay mounted for the fade-out,\n// then unmounts. Open always clears a pending close (fast reopen).\nconst[reelClosing,setReelClosing]=useState(false);const reelCloseTimer=useRef(0);const openReel=useCallback(()=>{clearTimeout(reelCloseTimer.current);setReelClosing(false);setReelOpen(true);},[]);const closeReel=useCallback(()=>{if(prefersReducedMotion()){setReelClosing(false);setReelOpen(false);return;}setReelClosing(true);clearTimeout(reelCloseTimer.current);reelCloseTimer.current=setTimeout(()=>{setReelOpen(false);setReelClosing(false);},REEL_LB_CLOSE_MS);},[]);// Live Vimeo durations for the signal-specific \"Watch the reel\" sublabels.\n// Seeded with last-known values so first paint isn't blank; refreshed from oEmbed when IDs change.\nconst[colourReelDuration,setColourReelDuration]=useState(\"00:43\");const[motionReelDuration,setMotionReelDuration]=useState(\"00:59\");useEffect(()=>{let cancelled=false;(async()=>{const[cSec,mSec]=await Promise.all([fetchVimeoDuration(colourReelId),fetchVimeoDuration(motionReelId)]);if(cancelled)return;const c=cSec!=null?formatReelDuration(cSec):null;const m=mSec!=null?formatReelDuration(mSec):null;if(c)setColourReelDuration(c);if(m)setMotionReelDuration(m);})();return()=>{cancelled=true;};},[colourReelId,motionReelId]);const[menuOpen,setMenuOpen]=useState(false);const[cbx,setCbx]=useState(null);const[cbxIndex,setCbxIndex]=useState(0);// Compare stage tracks the active still's real aspect (not locked 16:9).\nconst[compareAspect,setCompareAspect]=useState(\"16/9\");// s190: lead tile box tracks the featured job's thumbnail aspect.\nconst[wallLeadAr,setWallLeadAr]=useState(()=>aspectRatioFromImageSrc((projectsColour||[]).find(p=>p.featured)?.thumbnail?.src)||\"16/9\");// Entrance: expand from tile → peel full-after→50%; close is a simple fade.\n// Motion values live in React state so Preview re-renders can't clobber DOM styles.\nconst[cbxSession,setCbxSession]=useState(0);const cbxSessionRef=useRef(0);cbxSessionRef.current=cbxSession;const[cbxLive,setCbxLive]=useState(false);const[cbxClosing,setCbxClosing]=useState(false);// In-frame shot slide: progress 0→1, dir +1 = next from right / -1 = prev from left\nconst[cbxSlide,setCbxSlide]=useState(null);const[cbxUi,setCbxUi]=useState({dim:0,shell:0,chrome:0,pills:0,footer:0,fly:null});// mode seeded via useState(initialMode) — avoids a post-nav signal flash that read as a glitch\nconst rootRef=useRef(null);const wipeRef=useRef(null);const gridWrapRef=useRef(null);const workStickyRef=useRef(null);const workHeaderRef=useRef(null);// Motion-phone deck counter (the header's right-hand slot). Driver\n// writes textContent every front-tile change; React's children are the\n// initial \"01 / NN\" only. Never the long descriptive string.\nconst workCountRef=useRef(null);/** Stack-mode work readout (credits under the deck). Driver is the\n     *  only writer of its text; JSX mounts the empty shell. */const workReadoutRef=useRef(null);const workReadoutHRef=useRef(0);/** +1 advance, -1 back. Brief 2 writes this on step commit. Default +1. */const readoutScanDirRef=useRef(1);const deckSuppressClickRef=useRef(false);const workDialTickRefs=useRef([]);const workDialNumRef=useRef(null);/** s160 — fixed stage aperture matching the o===0 tile rest box. */const workSlotFrameRef=useRef(null);const workSnapTrackRef=useRef(null);const workProjectsRef=useRef([]);// Motion-desktop: viewport Y of the pinned work header's bottom edge.\n// Written by layoutWorkGrid; read by the reveal rAF for the tile matte.\nconst workHeaderBottomRef=useRef(0);// P5 screen boundaries: studio strip + the contact/footer wrapper.\nconst studioSecRef=useRef(null);const contactWrapRef=useRef(null);// `| null` matters: useRef<T>(null) yields a RefObject with a READ-ONLY\n// .current, and the carousel assigns this from a ref callback. Without it\n// TS errors \"Cannot assign to 'current'\".\nconst workGridRef=useRef(null);const carouselRef=useRef(null);// s70 mobile Motion v2\nconst motionPhoneRef=useRef(false);const mWipeRef=useRef(null);const mWipeFrameRef=useRef(null);/** s111 Fix B — viewport host for the ?mfovclone=1 overlay clone.\n     *  React renders it empty; the driver appends/removes the clone.\n     *  Never put a transform on it — it must not become a containing\n     *  block. */const mCloneHostRef=useRef(null);const mRampRef=useRef(null);const mScanRef=useRef(null);const mRollRef=useRef(null);const mTearRef=useRef(null);const mDeckGeomRef=useRef({stageTop:0,stageH:0,span:0,tileH:0,/** The stage's flow offset inside #work, measured while it is NOT\n         *  sticky. Never read offsetTop off the stuck element — see the note\n         *  in layoutWorkGrid. */stageOffset:0});/** Measures 100svh for real. Phone viewport height is DYNAMIC — the URL\n     *  bar collapses mid-scroll, which is exactly while a transition is\n     *  running — so every mobile distance is derived from this, never from a\n     *  raw vh guess or a stale innerHeight. */const svhProbeRef=useRef(null);/** Measures 100lvh. On Safari, lvh is the LARGE viewport, so seeding\n     *  --mf-svh from it avoids a one-time document-height change the first\n     *  time the toolbar hides (the eventual maximum is available immediately\n     *  instead of only after the user has scrolled through a toolbar\n     *  transition once). On Firefox iOS lvh reads the same as svh (both\n     *  equal innerHeight) and the maximum simply grows on the next resize\n     *  instead -- no special-casing needed there, the monotonic-max logic\n     *  already handles it. */const lvhProbeRef=useRef(null);/** s95: largest measured viewport height in px, held monotonically\n     *  for --mf-svh. Never lowered except by resetFrozenSvh. */const mMaxSvhRef=useRef(0);/** #about's content, wrapped so it can pin as a SCREEN. The section itself\n     *  cannot: its content is over two screens tall on a phone, so a sticky\n     *  section could not both scroll for reading and hold still for the wipe. */const mAboutScreenRef=useRef(null);const mAboutTopRef=useRef(0);/** [ 02 ] ABOUT row. Nested sticky INSIDE the screen — a short child\n     *  in a tall parent. (s77 stuck the full-content wrapper; range was 0.) */const mAboutHeaderRef=useRef(null);/** [ 03 ] CONTACT row. Same sticky shape as mAboutHeaderRef. */const mContactHeaderRef=useRef(null);const tileRefs=useRef([]);const recedeScrimRefs=useRef([]);const compareBoxRef=useRef(null);const compareClipRef=useRef(null);const compareBeforeClipRef=useRef(null);const compareHandleRef=useRef(null);const compareOverlayRef=useRef(null);const tileOriginRef=useRef(null);const entranceCancelRef=useRef([]);const shotAnimCancelRef=useRef([]);const shotSwitchingRef=useRef(false);const headerElRef=useRef(null);const headlineBlockRef=useRef(null);const bottomRowRef=useRef(null);const reelMobileRef=useRef(null);const revealSmoothed=useRef(0);// Motion pack settle — touch row-reveal waits so the two scroll-driven\n// systems don't fight during first scroll-in.\nconst motionPackDoneRef=useRef(false);// Installed by the row-reveal effect; fired by the reveal loop when the tile\n// pack finishes settling. Without this, a touch user who scrolls the grid into\n// view and stops never gets an active row — the pack completes on the rAF loop\n// with no scroll event to trigger a re-measure.\nconst rowRevealTickRef=useRef(null);const packSettledTickRef=useRef(null);const revealCache=useRef({});const gridColsRef=useRef(1);const visibleCountRef=useRef(0);const revealOrderRef=useRef([]);/** Seconds clock for Motion HUD glitch noise (rAF-driven). */const glitchTimeRef=useRef(0);/**\n     * Per-tile glitch settle (Motion only). Free-scroll can park progress mid-pack\n     * forever — without a lock, tiles stay mid-boot with time-based noise looping.\n     * Once a tile finishes its first boot (or pack progress hits 1), it stays clean\n     * until reveal reset at page top / work below fold.\n     */const glitchSettledRef=useRef([]);const glitchMaxLocalRef=useRef([]);/** Last motion pack progress — glitch noise only while this is rising. */const glitchLastProgressRef=useRef(0);/**\n     * Scroll-velocity quiet-latch for the Motion HUD glitch. Progress-delta alone\n     * couldn't tell \"actively scrolling\" from middle-click autoscroll's endless\n     * micro-creep, so the glitch looped forever. Track scrollY vs a wall clock and\n     * latch OFF once motion stays sub-threshold for GLITCH_QUIET_MS.\n     */const glitchScrollYRef=useRef(0);const glitchQuietMsRef=useRef(0);const glitchPrevNowRef=useRef(0);const glitchScrollingRef=useRef(false);// Time-driven work-section boot (wipe-owned). OR'd into `rising` so a\n// stationary page still produces HUD glitch chrome. Do NOT delete the\n// velocity latch below — that is the s18 middle-click infinite-glitch fix.\nconst bootDrivenRef=useRef(false);const bootRafRef=useRef(0);const bootVisibleRef=useRef(null);// s47 fix 2 / s48: the wipe is a transformed GROUP (cover + band moving\n// as one, position-locked to the leading edge) — the group takes the\n// translateY (the ONLY animated property since s48; the dissolve mask is\n// gone). Band + cover refs exist to flip their gradient direction per\n// wipe.\nconst navWipeGroupRef=useRef(null);const navWipeRef=useRef(null);// s169: CRT artifact layers on the desktop sheet (scan / roll / tear),\n// masked by NAV_WIPE_RAMP_ALPHA. crtTick writes them each sweep frame.\nconst navCrtScanRef=useRef(null);const navCrtRollRef=useRef(null);const navCrtTearRef=useRef(null);// s48: hero MEDIA wrapper (colour + motion plates, scrims, glitch\n// duplicates — NOT the headline/HUD/NOW SHOWING text) — carries the\n// recede's translateY + opacity. Reset lives in clearHeroExit only.\nconst heroMediaRef=useRef(null);const wipeCoveringRef=useRef(false);const wipeBusyRef=useRef(false);/** s55: true from the synchronous wipe-start pin write through the\n     *  sweep-end atomic jump, on a work/contact -> hero wipe only. Gates\n     *  the data-mf-navsolid driver off -- the pin transform corrupts\n     *  its headerElRef.getBoundingClientRect().bottom read into\n     *  believing the hero is still far below, which would flip the nav\n     *  translucent while the pin is still covering it (the exact\n     *  artifact class this fix removes). Cleared at sweep end, in the\n     *  reveal-effect teardown, and never set at all when the pin-\n     *  integrity guard fails (fallback path). See s55-DESIGN.md sec 4. */const heroPinnedRef=useRef(false);const wipeRafRef=useRef(0);// Section glitch-in (P5 push 2). The id token invalidates a running boot\n// loop wholesale — cheaper and safer than threading cancellation flags.\nconst sectionBootRafRef=useRef(0);const sectionBootIdRef=useRef(0);// s50 hero arrival boot (work -> hero). Same invalidate-by-id pattern\n// as sectionBoot — clearHeroExit is the single reset path.\nconst heroBootRafRef=useRef(0);const heroBootIdRef=useRef(0);const navigateWithWipeRef=useRef(()=>false);const tileProgressRefs=useRef([]);const tileProgressRafRef=useRef(0);// Colour scroll progress (smoothed) — fitted cascade per tile (no mid-pack snap)\nconst colourProgressRef=useRef(0);// Timed hero↔work reveal scrub (set by rideTo; read by grid-reveal rAF)\nconst autoScrollScrubReveal=useRef(false);const autoScrollProgress=useRef(0);const autoScrollScrubFrom=useRef(0);const autoScrollScrubTo=useRef(1);const compareDragging=useRef(false);const compareRectRef=useRef(null);const sliderRaf=useRef(null);const pendingClientX=useRef(0);// Isolation test proved the drag model itself is fine; Framer jank is the\n// full page still thrashing underneath the lightbox (grid reveal rAF,\n// hero timers, backdrop-filter over a heavy tree). This flag lets those\n// loops no-op while a modal is open.\nconst overlayActiveRef=useRef(false);const glitchTimer=useRef();const lastLayoutMode=useRef(mode);// Component-width breakpoints (not viewport). Framer's Phone/Tablet frames\n// are ~390/810 wide but the editor window is desktop-wide, so @media alone\n// always paints desktop on the canvas. Measure the root; mirror with data-mf-max-*\n// attrs so CSS matches real devices AND canvas frames. Keep @media as fallback.\nconst[layoutW,setLayoutW]=useState(()=>typeof window!==\"undefined\"?window.innerWidth:1200);const layoutWRef=useRef(layoutW);layoutWRef.current=layoutW;// Upgrade-only: a real mouse has been seen. Ref for future sync rAF\n// reads; state so a future render can depend on it. Never clears.\nconst hasMouseRef=useRef(false);const[hasMouse,setHasMouse]=useState(false);const[packSettled,setPackSettled]=useState(false);const[videoCapable,setVideoCapable]=useState(false);const[activeRow,setActiveRow]=useState(null);const activeRowRef=useRef(null);// Motion-phone section stack. -1 = hero (no stack). 0/1/2 = work/about/\n// contact. Ref is the last-pushed value so the rAF driver only setStates\n// on an actual change — a per-frame setState would re-render the whole\n// component at 60fps and clobber driver-owned poses.\nconst[mStackIdx,setMStackIdx]=useState(-1);const mStackIdxRef=useRef(-1);// Hysteresis latch for the upcoming-stack slide-in. Separate from\n// mStackIdx: classification decides WHICH rows; this decides WHETHER\n// the parked upcoming set is on screen. Driver-owned; JSX reads state.\nconst[mStackAway,setMStackAway]=useState(false);const mStackAwayRef=useRef(false);// Latched state for whether the real work header has lifted\n// above the upcoming stack (see MOBILE_STACK_LIFT_EXIT_PX).\n// Ref only — this drives a per-frame style write and two\n// per-frame reads and must never trigger a React render.\nconst mWorkLiftedRef=useRef(false);// Item 3: last pointerdown on a section-stack button. Click is\n// rejected if the pointer moved or scrollY changed — a thumb\n// swipe across a row must not navigate. Logo path is untouched.\nconst mStackTapRef=useRef(null);/** s98 — the three section-stack row buttons, by ABSOLUTE label index\n     *  (0/1/2), not by position within whichever group rendered them. The\n     *  nav sweep writes a transform on each; the driver is the single\n     *  writer of that property and clears all three on completion, abort\n     *  and teardown. React re-parents a row when it moves between the\n     *  passed and upcoming groups, which yields a fresh element with no\n     *  transform — a row that does NOT move keeps its element, which is\n     *  exactly why the clear has to be explicit rather than assumed. */const mStackRowRefs=useRef([null,null,null]);/** s119 — three persistent stack bars (always mounted in stackMode). */const mStackBarRefs=useRef([null,null,null]);const mStackHostRef=useRef(null);const mStackTabRef=useRef(null);const mSbodyRefs=useRef([null,null,null,null]);const stackModeRef=useRef(false);const stackLaidOutRef=useRef(false);const mDrumLoopSeedRef=useRef(false);const stackApiRef=useRef({goTo:()=>{},setOpen:()=>{}});// s171: the Colour phone pager — a mirror for handlers, its API, and the\n// current page for the index bar.\nconst colourPagesRef=useRef(false);const colourWallRef=useRef(false);const cpageApiRef=useRef({goTo:()=>{},repark:()=>{}});const[cpageIndex,setCpageIndex]=useState(0);// s183: the section carried across a signal switch (0 hero … 3 contact;\n// -1 none), and the pager's current page for the toggle to read.\nconst sectionCarryRef=useRef(-1);const cpageSRef=useRef(0);/** s119: departing screen + wipe are appendChild'd into a bar.\n     *  A React commit would put them back. Re-weld after every commit\n     *  while a nav is live; restore still happens before setState. */const stackWeldRef=useRef(null);/** s99 — bar transforms and backgrounds waiting to be cleared on the\n     *  frame AFTER the stack commit. Holds the saved backgrounds; null\n     *  when there is nothing pending. See endNav. *//** s108 — the screen we have asked the browser to promote to its own\n     *  compositing layer ahead of a jump. Held so it can always be\n     *  un-promoted, whether or not the tap ends up navigating. */const mPromoteRef=useRef(null);const mNavClearRef=useRef(null);/** s115 — destination-header restore waiting on the React commit of\n     *  mStackIdx, not on a driver frame. iOS starves rAF while a finger\n     *  is down; restoring on the next rAF left a window where neither\n     *  the travelling row nor the real header was painted. */const mNavHdrPendRef=useRef(null);useLayoutEffect(()=>{const pend=mNavHdrPendRef.current;if(!pend)return;if(pend.d!==mStackIdx)return;mNavHdrPendRef.current=null;const dh2=pend.d===0?workHeaderRef.current:pend.d===1?mAboutHeaderRef.current:pend.d===2?mContactHeaderRef.current:null;if(dh2)dh2.style.opacity=pend.dHdrOp;},[mStackIdx]);/** s98 — live nav-wipe sweep. Null when idle, and every cost of this\n     *  feature is behind that null. Owned by the tap/logo arm path,\n     *  consumed by the ONE existing rAF driver (never a second loop). */const mNavRef=useRef(null);/** s116 — the driver frame calls scrollToMobileSection through this\n     *  ref because the driver effect is declared above the callback. */const scrollToMobileSectionRef=useRef(()=>null);/** s94 switches, read once from the URL. mftap=0 restores the old\n     *  fall-through behaviour so Gav can A/B the fix on one build;\n     *  mfdebug=1 turns on the diagnostic overlay (off by default and\n     *  costing nothing when off). */const mfFlagsRef=useRef({tapStrict:mfUrlFlag(\"mftap\",true),debug:mfUrlFlag(\"mfdebug\",false),// s98: mfnavwipe=0 falls back to the BARE INSTANT CUT — jump, no\n// sweep, no overlay. Deliberately NOT back to the old smooth\n// scroll: the sitewide html{scroll-behavior:smooth} animating a\n// multi-thousand-px jump is the tearing defect this round exists\n// to delete, so the instant jump is the substrate either way.\nnavWipe:mfUrlFlag(\"mfnavwipe\",true),// s104: ?mfnavms=6000 stretches the sweep so it can be read in\n// a still. Default IS the shipped constant, so absent the flag\n// nothing changes.\nnavMs:mfUrlNum(\"mfnavms\",MOBILE_NAV_SWEEP_MS),// s111 Fix B: ?mfovclone=1 freezes a cloneNode snapshot as the\n// overlay instead of the live departing element. Default OFF —\n// the live-element overlay plus the root z-lift is production.\novClone:mfUrlFlag(\"mfovclone\",false),// s112: ?mfaborttouch=0 restores the bare scroll-delta abort\n// (any >4px scrollY kills the sweep, no finger required).\n// Default ON: abort only with touch evidence, reason abort:touch.\nabortTouch:mfUrlFlag(\"mfaborttouch\",true),// s114: ?mfmidseam=cut skips the sweep when a non-participating\n// section is on frame at arm, and takes the bare instant cut.\n// Default OFF — freeze-and-cut is the production path (G1).\nmidSeamCut:mfUrlEq(\"mfmidseam\",\"cut\"),// s119: PLAN screen-stack is the Motion-phone default.\n// ?mfstack=0 reverts to the s116 jump+sweep.\nstack:mfUrlFlag(\"mfstack\",true),// s138: stack WORK drum default is the 2D AABB projection.\n// ?mfdrum3d=1 is the known-bad CSS-3D path (same flatteners).\n// ?mfdrum=0 is the pre-s136 mobileDeckPose deck. Separate\n// booleans — mfdrum is not tri-state. Dial / readout / snap stay.\ndrum:mfUrlFlag(\"mfdrum\",true),drum3d:mfUrlFlag(\"mfdrum3d\",false),// s160 F6: ?mfoot=1 outlines foot-hold clone (magenta) vs real\n// footer (cyan). Diagnostic only — default off, no behaviour change.\nmfoot:mfUrlFlag(\"mfoot\",false),// s165: the LATCHed head owns both its keylines wherever it sits;\n// a row directly above a head hides its bottom edge instead.\n// ?mfkey=0 is the s164 rule (lower bar always hides its top).\nmfkey:mfUrlFlag(\"mfkey\",true),// s166: solid flood + constant-pixel blur feather, tucks into the\n// spine. ?mfflood=0 is the s164 gaussian-gradient disc.\nmfflood:mfUrlFlag(\"mfflood\",true),// s169: desktop nav wipe restyled as the CRT (scan / roll / tear +\n// the lead detail). ?mfcrt=0 is the s168 plain ramp.\nmfcrt:mfUrlFlag(\"mfcrt\",true),// s170: About and Contact are full screens on Colour desktop too\n// (P5 extended — every section is its own screen, enforced by the\n// assisted scroll). ?mfcscreens=0 is the s169 Colour layout.\nmfcscreens:mfUrlFlag(\"mfcscreens\",true),// s171: the Colour phone pager. Default OFF while P1 is being signed —\n// s189: signed 2026-09-07, default ON. ?mfcpages=0 is the s170 Colour phone.\nmfcpages:mfUrlFlag(\"mfcpages\",true),// s227: the new Colour phone pages (?mfcphone=0 = today) and their Work (?mfcpwork=0 = today's Work)\nmfcphone:mfUrlFlag(\"mfcphone\",true),mfcpwork:mfUrlFlag(\"mfcpwork\",true),// s188: the pager's landing swell of the ambient. ?mfbloom=0 holds\n// it at rest (the Hero -> Work crash A/B).\nmfbloom:mfUrlFlag(\"mfbloom\",true),// s190: the Colour phone Work wall (one tile per job, featured job\n// leads full width). s191: signed on device 2026-09-08, default ON.\n// ?mfwall=0 is the s189 tile column.\nmfwall:mfUrlFlag(\"mfwall\",true),// s211: the new About (the s195-s211 mockup, generated into\n// MFAboutMotion.tsx) on desktop Motion. ?mfresume=0 is the old About.\nmfresume:mfUrlFlag(\"mfresume\",true),// s212: THE FRAME on Work + Contact (desktop Motion; the About carries its own). ?mfframe=0 = s198.\nmfframe:mfUrlFlag(\"mfframe\",true),// s219 COLOUR LENS round 1 (desktop Colour: no nav band, no glow, the type focus pull). ?mfclens=0 = s224.\nmfclens:mfUrlFlag(\"mfclens\",true),// s225: the Colour Work arm (style only). ?mfcwork=0 = cp6.\nmfcwork:mfcWorkArm(),// s225: the Colour About (the mockup's Colour page) on desktop Colour. ?mfcabout=0 = today's About.\nmfcabout:mfUrlFlag(\"mfcabout\",true),// s225: the Colour About as D SIDEWAYS (three panels, one screen). ?mfcside=0 = the scrolling one page.\nmfcside:mfUrlFlag(\"mfcside\",true),// s226: the About bloom fades up out of the ground (no hard edge under Work). ?mfcseam=0 = cp8.\nmfcseam:mfUrlFlag(\"mfcseam\",true),// s226: the Colour Contact as canvas C1 (\"Send your brief.\"). ?mfccontact=0 = today's.\nmfccontact:mfUrlFlag(\"mfccontact\",true),// s226d: the Colour Work build arm (?mfcwbuild=0 = cp11, the pop)\nmfcwbuild:mfcWorkBuild(),// s226e: every section ride covers one screen (?mfcride=0 = cp12: Work's 132vh pin made Work -> About a\n// dead pause, then a jolt at twice the speed); the nav's in-page links ride the same ride\nmfcride:mfUrlFlag(\"mfcride\",true),// s226g: the lightbox stage takes over from the flying plate at once (?mfccbx=0 = cp14: it re-opened from a line)\nmfccbx:mfUrlFlag(\"mfccbx\",true),// s226g: the lightbox arrows outside the image (?mfcarw=0 = cp14: inside it)\nmfcarw:mfUrlFlag(\"mfcarw\",true),// s226h: the open strip's caption laid out once at the open width (?mfccapfix=0 = cp15: it re-wrapped as it opened)\nmfccapfix:mfUrlFlag(\"mfccapfix\",true),// s226i: the receding top + the lens nav fade drawn as DITHERED tiles (?mfctopd=0 = cp16: CSS gradients, banded)\nmfctopd:mfUrlFlag(\"mfctopd\",true),// s226j: the receding top lighter over About + Contact (his option A). ?mfctopcut=0 = cp17.\nmfctopcut:mfUrlFlag(\"mfctopcut\",true),// s226k: the parallax glows drawn dithered (?mfcglowd=0 = the CSS radials)\nmfcglowd:mfUrlFlag(\"mfcglowd\",true),// s226l: the top fades ease into 0 with no corner, and the RECEDE grows with the window (?mfctopsoft=0 = cp19)\nmfctopsoft:mfUrlFlag(\"mfctopsoft\",true),// s226: the keyline above the email row (his: \"keyline city\" - not sure it should go). ?mfccrow=1 keeps it.\nmfccrow:mfUrlFlag(\"mfccrow\",false),// s226b: ?mfcpop=0 / ?mfctop=0 / ?mfcglow=0 = cp9 (the tall title pop, the nav matte, the per-section blooms)\nmfcpop:mfUrlFlag(\"mfcpop\",true),mfctop:mfUrlFlag(\"mfctop\",true),mfcglow:mfUrlFlag(\"mfcglow\",true),// s215: THE MOTION LANDING (canvas round 10) on desktop Motion. ?mflanding=0 = today's hero.\nmflanding:mfUrlFlag(\"mflanding\",true),// s219: THE COLOUR LANDING (canvas round 9) on desktop Colour under the lens. ?mfclanding=0 = round 1.\nmfclanding:mfUrlFlag(\"mfclanding\",true),// s215 s213: the ABOUT drop-down in the nav (desktop Motion). ?mfnavdd=0 = s212.\nmfnavdd:mfUrlFlag(\"mfnavdd\",true)});const mfDebugRef=useRef(null);const mfDebugLinesRef=useRef([]);/** s137 — ?mfdebug=1 drum probe block, rewritten every deckTick. */const mfDebugDrumRef=useRef(\"\");/** s112 — ?mfdebug=1 only. Canvas host for the green touch rings. */const mfDebugTouchRef=useRef(null);/** s112 — ?mfdebug=1 only. 8x8 tell-tale; colour is driver-painted. */const mfDebugTellRef=useRef(null);/** s112 — end-state colour + deadline; idle is not painted. */const mfDebugTellEndRef=useRef(null);const mfTellHold=color=>{mfDebugTellEndRef.current={color,until:performance.now()+MF_DEBUG_TELL_HOLD_MS};};/** s94 diagnostic. No-op unless ?mfdebug=1. Writes straight into a\n     *  ref node rather than React state: this is called from a rAF loop\n     *  and from a scroll handler, and a setState there would re-render the\n     *  whole monolith every frame. s137 composes MF_BUILD + flags + the\n     *  drum probe (from deckTick) + the rolling log, one writer. */const mfDebugPaint=useCallback(()=>{if(!mfFlagsRef.current.debug)return;const el=mfDebugRef.current;if(!el)return;const f=mfFlagsRef.current;const parts=[MF_BUILD,\"flags stack=\"+(f.stack?\"1\":\"0\")+\" drum=\"+(f.drum?\"1\":\"0\")+\" drum3d=\"+(f.drum3d?\"1\":\"0\")];if(mfDebugDrumRef.current)parts.push(mfDebugDrumRef.current);if(mfDebugLinesRef.current.length)parts.push(mfDebugLinesRef.current.join(\"\\n\"));el.textContent=parts.join(\"\\n\");},[]);const mfDebugLog=useCallback(msg=>{if(!mfFlagsRef.current.debug)return;const t=(performance.now()/1e3).toFixed(1);const lines=mfDebugLinesRef.current;lines.unshift(t+\"s  \"+msg);if(lines.length>14)lines.length=14;mfDebugPaint();},[mfDebugPaint]);const[activeTile,setActiveTile]=useState(0);const videoRefs=useRef([]);const[playingVideo,setPlayingVideo]=useState(null);const activeVideoRef=useRef(null);const videoIntentTimerRef=useRef(null);const videoReadyTimerRef=useRef(null);const videoFailedRef=useRef({});// Autoplay policy: hover is not a user gesture. When the browser refuses\n// muted play() we fall back to click-to-play for the session. Ref for\n// handlers (current); state for render (cursor affordance).\nconst[autoplayBlocked,setAutoplayBlocked]=useState(false);const autoplayBlockedRef=useRef(false);function upgradeToMouse(){if(hasMouseRef.current)return;hasMouseRef.current=true;setHasMouse(true);}useEffect(()=>{const onPointer=event=>{if(event.pointerType===\"mouse\")upgradeToMouse();};const onWheel=()=>{upgradeToMouse();};window.addEventListener(\"pointermove\",onPointer,{passive:true});window.addEventListener(\"pointerover\",onPointer,{passive:true});window.addEventListener(\"wheel\",onWheel,{passive:true});return()=>{window.removeEventListener(\"pointermove\",onPointer);window.removeEventListener(\"pointerover\",onPointer);window.removeEventListener(\"wheel\",onWheel);};},[]);useEffect(()=>{const reduce=window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;setVideoCapable(!reduce&&videoConnectionAllowed());},[]);useEffect(()=>{const nav=navigator;if(typeof nav?.getAutoplayPolicy!==\"function\")return;try{const policy=nav.getAutoplayPolicy(\"mediaelement\");// \"allowed\" | \"allowed-muted\" | \"disallowed\".\n// Our clips are always muted, so \"allowed-muted\" is fine.\nconst blocked=policy===\"disallowed\";autoplayBlockedRef.current=blocked;setAutoplayBlocked(blocked);}catch{}},[]);// The policy answer CHANGES once the document gains sticky user\n// activation. Verified 2026-08-15 on Gav's Firefox (media.autoplay.default\n// = 5, \"Block Audio and Video\"): a hard reload then hover is refused, but\n// after any click the same hover plays — which is also why YouTube's hover\n// previews work there, since you have invariably clicked something first.\n// NOTE: scrolling is deliberately NOT a user activation gesture, so a\n// reader who only scrolls to the work section arrives still unactivated.\n// Re-read the policy after any click/keypress and release the fallback.\nuseEffect(()=>{if(typeof window===\"undefined\")return;const recheck=()=>{const nav=navigator;let stillBlocked=false;if(typeof nav?.getAutoplayPolicy===\"function\"){try{stillBlocked=nav.getAutoplayPolicy(\"mediaelement\")===\"disallowed\";}catch{stillBlocked=false;}}if(!stillBlocked&&autoplayBlockedRef.current){autoplayBlockedRef.current=false;setAutoplayBlocked(false);}};window.addEventListener(\"click\",recheck,{passive:true});window.addEventListener(\"keydown\",recheck,{passive:true});return()=>{window.removeEventListener(\"click\",recheck);window.removeEventListener(\"keydown\",recheck);};},[]);useEffect(()=>{packSettledTickRef.current=v=>setPackSettled(v);return()=>{packSettledTickRef.current=null;};},[]);// Row-major sweep: left-to-right along each row, then down to the next —\n// a zig-zag reading order. Deliberately the DOM index, NOT the reveal rank:\n// the desktop reveal order is shuffled, and sweeping the markers in that\n// shuffled order reads as random rather than as a deliberate sequence.\n// Total-span model, so the sweep is the same length at 4 tiles or 40.\nfunction markerDelayMs(i){const n=Math.max(1,visibleCountRef.current-1);return MARKER_START_DELAY_MS+MARKER_SWEEP_MS*i/n;}useLayoutEffect(()=>{const el=rootRef.current;if(!el)return;const measure=()=>{const w=el.clientWidth;if(w>0&&Math.abs(w-layoutWRef.current)>=1)setLayoutW(w);};measure();if(typeof ResizeObserver===\"undefined\"){window.addEventListener(\"resize\",measure,{passive:true});return()=>window.removeEventListener(\"resize\",measure);}const ro=new ResizeObserver(measure);ro.observe(el);return()=>ro.disconnect();},[]);// Mobile watch-reel button floats between the headline and the bottom\n// row. Rather than a fixed percentage (which can overlap the headline on\n// short viewports), measure the actual gap each render and center within\n// it, clamped so it never collides with either neighbour.\nconst positionMobileReel=useCallback(()=>{const wrap=reelMobileRef.current;const header=headerElRef.current;const headline=headlineBlockRef.current;const bottomRow=bottomRowRef.current;if(!wrap||!header||!headline||!bottomRow)return;if(layoutWRef.current>680){wrap.style.position=\"\";wrap.style.top=\"\";wrap.style.left=\"\";wrap.style.right=\"\";wrap.style.marginBottom=\"\";return;}const headerRect=header.getBoundingClientRect();const headlineRect=headline.getBoundingClientRect();const bottomRect=bottomRow.getBoundingClientRect();const gapTop=headlineRect.bottom-headerRect.top;const tabClear=stackModeRef.current&&layoutWRef.current<=680?MOBILE_STACK_TAB_CLEAR_PX:0;const gapBottom=bottomRect.top-headerRect.top+tabClear;wrap.style.position=\"absolute\";wrap.style.left=\"0\";wrap.style.right=\"0\";wrap.style.marginBottom=\"0\";// measure natural height with a neutral top so it doesn't affect its own rect\nwrap.style.top=\"0px\";const wrapH=wrap.offsetHeight;const minTop=gapTop+12;const maxTop=gapBottom-wrapH-12;const centerTop=gapTop+(gapBottom-gapTop-wrapH)/2;const desiredFromHeaderTop=maxTop<minTop?minTop:clamp(centerTop,minTop,maxTop);// gap math above is header-relative; convert to wrap's actual offsetParent\n// before applying.\nconst offsetParent=wrap.offsetParent;const offsetParentRect=offsetParent?offsetParent.getBoundingClientRect():headerRect;const top=headerRect.top+desiredFromHeaderTop-offsetParentRect.top;wrap.style.top=top+\"px\";},[]);useLayoutEffect(()=>{positionMobileReel();});const isMotion=mode===\"motion\";// P5 full-screen sections (studio / contact+footer). Motion desktop since\n// P5; s170 extends the same screens to Colour desktop (Gav, 2026-09-05:\n// every section is its own screen, enforced by the assisted scroll).\n// Same width gate as canUseAssistedScroll, so the boundary math and the\n// minHeight styling flip together. ?mfcscreens=0 is the s169 Colour\n// layout (in-flow About / Contact; hero + work stops only).\nconst fullScreens=layoutW>HEADLINE_DESKTOP_MIN&&(isMotion||mfFlagsRef.current.mfcscreens);// s211: the new About - desktop Motion only. Phones and tablet keep\n// today's About (Gav's open question, 2026-09-22). ?mfresume=0 restores\n// the old one everywhere.\nconst aboutV2=isMotion&&layoutW>HEADLINE_DESKTOP_MIN&&mfFlagsRef.current.mfresume;// s225: the Colour About - desktop Colour with the lens (the landing + Work design), ?mfcabout=0 = today's\nconst aboutC=!isMotion&&layoutW>HEADLINE_DESKTOP_MIN&&mfFlagsRef.current.mfclens&&mfFlagsRef.current.mfcabout;// s226: the Colour Contact (canvas C1) - desktop Colour with the lens, like the About\nconst cContact=!isMotion&&layoutW>HEADLINE_DESKTOP_MIN&&mfFlagsRef.current.mfclens&&mfFlagsRef.current.mfccontact;// s226e: the even rides (desktop Colour with the lens) - Work one screen tall, the nav links ride\nconst cRide=!isMotion&&layoutW>HEADLINE_DESKTOP_MIN&&!!mfFlagsRef.current.mfclens&&!!mfFlagsRef.current.mfcride;const mfcRideRef=useRef(false);mfcRideRef.current=cRide;// s226g: the lightbox arrows outside the image (desktop Colour with the lens). The overlay is client-only, so a\n// URL flag in its JSX cannot meet a server-rendered value\nconst cArw=!isMotion&&layoutW>HEADLINE_DESKTOP_MIN&&!!mfFlagsRef.current.mfclens&&!!mfFlagsRef.current.mfcarw;// s226: ?mfccrow stamped after mount - the server render has no URL, so a JSX value hydrates as the default\nuseEffect(()=>{const r=rootRef.current;if(!r)return;r.querySelectorAll(\".mf-cc\").forEach(el=>el.setAttribute(\"data-ccrow\",mfFlagsRef.current.mfccrow?\"1\":\"0\"));},[cContact]);const aboutCRef=useRef(null);const aboutCOnRef=useRef(false);aboutCOnRef.current=aboutC;useEffect(()=>{if(!aboutC)return;if(typeof window===\"undefined\")return;if(RenderTarget.current()===RenderTarget.canvas)return;const el=aboutCRef.current;if(!el)return;if(mfFlagsRef.current.mfcseam)el.setAttribute(\"data-mfc-seam\",\"1\");else el.removeAttribute(\"data-mfc-seam\");let m=null;try{// the headshot is this component's own image prop; the frame pair is on Framer's CDN\nm=mountColourAbout(el,{headshot:headshotImage&&headshotImage.src||null,side:!!mfFlagsRef.current.mfcside,navH:NAV_H,// the resume PDF's address is not known yet - the link holds its place (#resume)\n// s226: the resume PDF on Framer's CDN (a re-upload gets a new URL - change RESUME_PDF_URL)\nresumeUrl:RESUME_PDF_URL});}catch(e){console.error(\"MF colour about: mount failed\",e);}return()=>{try{if(m)m.destroy();}catch(e){}};},[aboutC]);// s212 THE FRAME (Work + Contact) - desktop Motion only, the same gate as the new About.\nconst siteFrame=isMotion&&layoutW>HEADLINE_DESKTOP_MIN&&mfFlagsRef.current.mfframe;const mfSiteFrameRef=useRef(false);mfSiteFrameRef.current=siteFrame;// s215 THE MOTION LANDING - desktop Motion only, the same gate as the new About; it also needs four\n// featured stills (landingOn, below the hero data), or today's hero stays\nconst landingV2=isMotion&&layoutW>HEADLINE_DESKTOP_MIN&&mfFlagsRef.current.mflanding;// s215 s213: the ABOUT drop-down - where the About has sections (the About v2 gate)\nconst navDdOn=isMotion&&layoutW>HEADLINE_DESKTOP_MIN&&mfFlagsRef.current.mfresume&&mfFlagsRef.current.mfnavdd;const workRailRef=useRef(null);const contactFootRef=useRef(null);useEffect(()=>{if(!siteFrame)return;if(typeof window===\"undefined\")return;const f=contactFootRef.current;const w=contactWrapRef.current;if(!f||!w)return;// the footer's rule sits 34px into it (its top padding under the frame); the frame stops 14px above it\nconst set=()=>{w.style.setProperty(\"--mf-cfoot\",Math.max(0,f.offsetHeight-20)+\"px\");};set();let ro=null;if(typeof ResizeObserver!==\"undefined\"){ro=new ResizeObserver(set);ro.observe(f);}window.addEventListener(\"resize\",set);return()=>{if(ro)ro.disconnect();window.removeEventListener(\"resize\",set);w.style.removeProperty(\"--mf-cfoot\");};},[siteFrame]);const aboutV2Ref=useRef(null);/** prime / arrive / depart - the site's wipe owns WHEN, the About owns HOW */const aboutV2ApiRef=useRef(null);// s215 s213: the drop-down's rows come from the About (api.sections) - they can never drift from its tiles\nconst[navDdSecs,setNavDdSecs]=useState([]);useEffect(()=>{if(!aboutV2)return;if(typeof window===\"undefined\")return;if(RenderTarget.current()===RenderTarget.canvas)return;const el=aboutV2Ref.current;if(!el)return;let m=null;try{// s212: the About's images are on Framer's CDN (uploaded, SHA256-verified);\n// ?mfaimg=0 keeps the typographic fallbacks (the imagery law's default).\n// The headshot is this component's own image prop.\nm=mountMotionAbout(el,{noImages:/[?&]mfaimg=0(&|$)/.test(window.location.search),// s211: the About stops growing past this screen size and centres\n// (Gav's pick on the mockup's CAP switch, v189); \"none\" = full bleed\ncap:1600,headshot:headshotImage&&headshotImage.src||null});}catch(e){console.error(\"MF about v2: mount failed\",e);}aboutV2ApiRef.current=m&&m.api;if(m&&m.api&&m.api.sections)setNavDdSecs(m.api.sections());const SETTLE_MS=350;// s195: a scroll that stops with less than this share of the About on screen does not\n// arrive it (a sliver left by Work's last wheel notch); the wipe that follows does\nconst SETTLE_MIN_FRAC=.25;let away=false,settleT=0,watchRaf=0;const holdAway=api=>{away=true;api.prime(true);};const watch=()=>{watchRaf=0;const api=aboutV2ApiRef.current;if(!api)return;const r=el.getBoundingClientRect();const inView=r.bottom>NAV_H+1&&r.top<window.innerHeight-1;if(wipeBusyRef.current){if(!inView&&!away)holdAway(api);else if(inView)away=false;return;}if(!inView){window.clearTimeout(settleT);if(!away)holdAway(api);return;}if(!away)return;window.clearTimeout(settleT);if(Math.abs(r.top-NAV_H)<3){away=false;api.arrive();return;}const shown=Math.min(r.bottom,window.innerHeight)-Math.max(r.top,NAV_H);const room=Math.min(r.height,window.innerHeight-NAV_H);if(shown<SETTLE_MIN_FRAC*room)return;settleT=window.setTimeout(()=>{if(away&&aboutV2ApiRef.current){away=false;aboutV2ApiRef.current.arrive();}},SETTLE_MS);};const onWatch=()=>{if(!watchRaf)watchRaf=requestAnimationFrame(watch);};window.addEventListener(\"scroll\",onWatch,{passive:true});window.addEventListener(\"resize\",onWatch);watch();return()=>{window.removeEventListener(\"scroll\",onWatch);window.removeEventListener(\"resize\",onWatch);cancelAnimationFrame(watchRaf);window.clearTimeout(settleT);aboutV2ApiRef.current=null;try{if(m)m.destroy();}catch(e){}};},[aboutV2]);// s211 THE COLOPHON (Gav, s203; wording signed s211): the console credit,\n// once per page load, every page and signal. The footer carries the other half.\nuseEffect(()=>{if(typeof window===\"undefined\")return;if(RenderTarget.current()===RenderTarget.canvas)return;const w=window;if(w.__mfCredit)return;w.__mfCredit=1;try{console.log(\"%cMIND FACTORY%c  DESIGNED & BUILT IN-HOUSE \\xb7 mindfactory.ca\",\"font:700 12px sans-serif;letter-spacing:.2em;color:#00d5f0;background:#07080c;padding:4px 8px\",\"font:12px sans-serif;letter-spacing:.08em;color:#848b9c\");}catch(e){}},[]);const raw=useMemo(()=>[...(projectsColour||[]).map(p=>({...p,signal:\"colour\"})),...(projectsMotion||[]).map(p=>({...p,signal:\"motion\"}))],[projectsColour,projectsMotion]);const filtered=useMemo(()=>raw.filter(p=>p.signal===mode),[raw,mode]);const gridBand=layoutW<GRID_MOBILE_MAX?\"mobile\":layoutW<=GRID_TABLET_MAX?\"tablet\":\"desktop\";// s70: the phone Motion work screen is now the scroll-driven 3D deck, not\n// the s38/s39 nested snap carousel — a nested scroller cannot coexist with\n// a sticky section header. MOBILE_MOTION_V2 false restores the carousel\n// branch exactly as it shipped.\nconst motionPhone=MOBILE_MOTION_V2&&gridBand===\"mobile\"&&isMotion;const stackMode=motionPhone&&mfFlagsRef.current.stack;stackModeRef.current=stackMode;const stackDrum=stackMode&&mfFlagsRef.current.drum;const stackDrum3d=stackDrum&&mfFlagsRef.current.drum3d;// s171: the Colour phone pager — the same width gate as motionPhone, the\n// other signal, so it can never meet the stack.\nconst colourPages=gridBand===\"mobile\"&&!isMotion&&mfFlagsRef.current.mfcpages;colourPagesRef.current=colourPages;// s227: the new phone pages ride the pager - same gate, plus ?mfcphone\nconst phNew=colourPages&&!!mfFlagsRef.current.mfcphone;const phWork=phNew&&!!mfFlagsRef.current.mfcpwork;// s227: the background stills (About pages + Contact), desktop Colour only. The stills are the panel THUMBNAILS of\n// jobs 2-4 (what the signed demo showed; the Work tiles now show first shots - mfcCover) + Peter Chin's dancers.\nuseEffect(()=>{if(isMotion||colourPages||!mfFlagsRef.current.mfclens)return;if(typeof window===\"undefined\")return;if(RenderTarget.current()===RenderTarget.canvas)return;if(!mfUrlFlag(\"mfcbg\",true))return;const r=rootRef.current;if(!r)return;const list=projectsColour||[];const thumb=k=>{const p=list.length?list[k%list.length]:null;return p&&p.thumbnail&&p.thumbnail.src||null;};let off=null;try{off=mountColourBg(r,{about:[thumb(1),thumb(2),thumb(3)],contact:MFC_BG_CONTACT_STILL,navH:NAV_H,op:Math.min(100,mfUrlNum(\"mfcbgop\",10))/100});}catch(e){console.error(\"MF colour bg: mount failed\",e);}return()=>{if(off)off();};},[isMotion,colourPages,projectsColour]);// s190: the Work wall. Pager-only, so it can never meet the stack or a\n// desktop layout. Lead index uses filtered (same roster as\n// projectsForRender, which is mapped later and must stay in panel order).\nconst colourWall=colourPages&&mfFlagsRef.current.mfwall;colourWallRef.current=colourWall;const wallLeadIdx=colourWall?filtered.findIndex(p=>p.featured):-1;// Carousel is a PHONE + MOTION affordance only. Colour has 4 projects (already\n// about one screen) and its tiles open a lightbox, so it keeps the column.\nconst useCarousel=gridBand===\"mobile\"&&isMotion&&!MOBILE_MOTION_V2;// Read inside non-reactive helpers (setTileRevealPose) that must not take\n// the deck's tiles away from the deck.\nmotionPhoneRef.current=motionPhone;// Motion: 1-up mobile, 2-up tablet, 3-up desktop (16:9 crop preserved).\n// Colour: pack by count, collapse to 1 col under 700.\nlet gridCols;if(mode===\"motion\"){gridCols=gridBand===\"mobile\"?1:gridBand===\"tablet\"?2:3;}else{gridCols=filtered.length<=3?filtered.length||1:filtered.length===4?2:3;if(gridBand===\"mobile\")gridCols=1;if(colourWall)gridCols=2;}gridColsRef.current=gridCols;// Touch / coarse pointer: no hover, so the row nearest the viewport\n// centre carries the information state (credit out, caption in). Whole\n// row — picking a single tile in a 2- or 3-col grid reads as a bug.\n// Disabled on mouse, desktop width, Colour, and the phone carousel; also\n// idle until the Motion pack has settled so two scroll-driven systems\n// don't fight. Carousel mode owns the active tile horizontally.\n// s72: this was suppressed on Motion phones only because useCarousel was\n// true there. Turning the carousel off switched a second scroll-driven\n// model back on over the same tiles — the bug class this project has hit\n// repeatedly. The deck owns the phone tiles now.\nconst rowRevealEnabled=!hasMouse&&layoutW<=GRID_TABLET_MAX&&mode===\"motion\"&&!useCarousel&&!motionPhone;useEffect(()=>{if(!rowRevealEnabled){activeRowRef.current=null;setActiveRow(null);return;}let raf=0;const measure=()=>{raf=0;if(!motionPackDoneRef.current){// Reveal reset (page top / work below fold). Drop the active row\n// so the next boot doesn't fade a tile in already wearing its\n// caption. Guarded so an unsettled pack can't setState per frame.\nif(activeRowRef.current!==null){activeRowRef.current=null;setActiveRow(null);}return;}const cols=gridCols;const viewMid=window.innerHeight/2;const sums=[];const counts=[];for(let i=0;i<tileRefs.current.length;i++){const el=tileRefs.current[i];if(!el)continue;const row=Math.floor(i/cols);const rect=el.getBoundingClientRect();sums[row]=(sums[row]||0)+(rect.top+rect.bottom)/2;counts[row]=(counts[row]||0)+1;}let candidate=null;let candidateDist=Infinity;const distances=[];for(let row=0;row<counts.length;row++){if(!counts[row])continue;const dist=Math.abs(sums[row]/counts[row]-viewMid);distances[row]=dist;if(dist<candidateDist){candidateDist=dist;candidate=row;}}// Touch has no pointer-leave, so a tapped clip would loop forever.\n// Scrolling on is the natural stop gesture. This must run BEFORE\n// the hysteresis/no-change early-returns below, or a clip whose\n// row stays \"current\" while scrolling off-screen never stops.\nconst playing=activeVideoRef.current;if(playing!==null){const pel=tileRefs.current[playing];const r=pel?.getBoundingClientRect();const offscreen=!r||r.bottom<=0||r.top>=window.innerHeight;const playingRow=Math.floor(playing/cols);if(offscreen||candidate!==null&&playingRow!==candidate)stopTileVideo(playing);}if(candidate===null)return;const current=activeRowRef.current;if(current!==null&&distances[current]!==undefined&&candidateDist>=distances[current]*ROW_REVEAL_HYSTERESIS){return;}if(candidate===current)return;activeRowRef.current=candidate;setActiveRow(candidate);};const schedule=()=>{if(raf)return;raf=requestAnimationFrame(measure);};rowRevealTickRef.current=schedule;window.addEventListener(\"scroll\",schedule,{passive:true});window.addEventListener(\"resize\",schedule,{passive:true});schedule();return()=>{rowRevealTickRef.current=null;if(raf)cancelAnimationFrame(raf);window.removeEventListener(\"scroll\",schedule);window.removeEventListener(\"resize\",schedule);};},[rowRevealEnabled,gridCols]);// Phone carousel: the tile nearest the scroller's vertical centre is\n// active. Touch has no pointer-leave, so a swipe-on (or the whole\n// carousel leaving the viewport) is the natural stop for a playing clip.\nuseEffect(()=>{if(!useCarousel){setActiveTile(0);return;}let raf=0;const measure=()=>{raf=0;const el=carouselRef.current;if(!el)return;const centre=el.scrollTop+el.clientHeight/2;let idx=0;let nearest=Infinity;const children=el.children;for(let i=0;i<children.length;i++){const child=children[i];const childCentre=child.offsetTop+child.offsetHeight/2;const dist=Math.abs(childCentre-centre);if(dist<nearest){nearest=dist;idx=i;}}setActiveTile(idx);if(activeVideoRef.current!==null&&activeVideoRef.current!==idx){stopTileVideo(activeVideoRef.current);}const rect=el.getBoundingClientRect();if((rect.bottom<=0||rect.top>=window.innerHeight)&&activeVideoRef.current!==null){stopTileVideo(activeVideoRef.current);}};const schedule=()=>{if(raf)return;raf=requestAnimationFrame(measure);};const el=carouselRef.current;if(el)el.addEventListener(\"scroll\",schedule,{passive:true});window.addEventListener(\"scroll\",schedule,{passive:true});schedule();return()=>{if(raf)cancelAnimationFrame(raf);if(el)el.removeEventListener(\"scroll\",schedule);window.removeEventListener(\"scroll\",schedule);};},[useCarousel]);function scrollToTile(idx){const el=carouselRef.current;if(!el)return;const child=el.children[Math.max(0,Math.min(idx,el.children.length-1))];if(!child)return;el.scrollTo({top:child.offsetTop+child.offsetHeight/2-el.clientHeight/2,behavior:\"smooth\"});}// Mobile and tablet: reveal tiles in sequence, not the random-order\n// stagger used on desktop's multi-column grid.\nconst revealKey=mode+(gridBand===\"mobile\"?\"-m\":gridBand===\"tablet\"?\"-t\":\"-d\");if(!revealCache.current[revealKey]||revealCache.current[revealKey].length!==filtered.length){const sequence=Array.from({length:filtered.length},(_,i)=>i);revealCache.current[revealKey]=gridBand===\"desktop\"?shuffle(sequence):sequence;}revealOrderRef.current=revealCache.current[revealKey];visibleCountRef.current=filtered.length;workProjectsRef.current=filtered;function killEntranceAnims(){entranceCancelRef.current.forEach(fn=>{try{fn();}catch(_){}});entranceCancelRef.current=[];}function killShotAnims(){shotAnimCancelRef.current.forEach(fn=>{try{fn();}catch(_){}});shotAnimCancelRef.current=[];}function setSliderPct(pct,widthPx){// After layer: reveal from handle → right. Before label matte: reveal left → handle.\n// pct 0 = full after (final grade); pct 50 = 50/50 split; pct 100 = full before.\nif(compareClipRef.current)compareClipRef.current.style.clipPath=`inset(0 0 0 ${pct}%)`;if(compareBeforeClipRef.current)compareBeforeClipRef.current.style.clipPath=`inset(0 ${100-pct}% 0 0)`;if(compareHandleRef.current){const w=widthPx??compareRectRef.current?.width??compareBoxRef.current?.getBoundingClientRect().width??0;compareHandleRef.current.style.transform=`translateX(${pct/100*w}px)`;}}const openCompare=useCallback((p,tileEl)=>{const stills=p.shots&&p.shots.length?p.shots:p.thumbnail?[{after:p.thumbnail}]:[];const firstAfter=stills[0]?.after;const flySrc=firstAfter?.src||p.thumbnail?.src||\"\";// Always capture a rect if we have a tile — even without flySrc use thumbnail later.\nif(tileEl){const r=tileEl.getBoundingClientRect();const img=tileEl.querySelector(\"img\");tileOriginRef.current={left:r.left,top:r.top,width:r.width,height:r.height,src:flySrc||img?.currentSrc||img?.src||\"\",srcSet:firstAfter?.srcSet||p.thumbnail?.srcSet};}else{tileOriginRef.current=null;}const arHint=aspectRatioFromImageSrc(flySrc)||aspectRatioFromImageSrc(stills[0]?.before?.src)||\"16/9\";setCompareAspect(arHint);setCbxLive(false);setCbxClosing(false);setCbxIndex(0);setCbxSlide(null);shotSwitchingRef.current=false;killShotAnims();// Start fully hidden — entrance effect reveals via React state\nsetCbxUi({dim:0,shell:0,chrome:0,pills:0,footer:0,fly:null});setCbx({title:p.title||\"\",cat:p.category,year:p.year,workTypes:p.workTypes||[],description:p.description||\"\",director:p.director||\"\",cinematographer:p.cinematographer||\"\",stills});setCbxSession(s=>s+1);},[]);const switchCompareShot=useCallback(i=>{if(!cbxLive||!cbx||i===cbxIndex||shotSwitchingRef.current)return;if(prefersReducedMotion()){setCbxIndex(i);setCbxSlide(null);requestAnimationFrame(()=>setSliderPct(50));return;}shotSwitchingRef.current=true;killShotAnims();const dir=i>cbxIndex?1:-1;const from=cbxIndex;const slideMs=CBX_SHOT.slideMs;const peelMs=CBX_SHOT.peelMs;const slideEase=t=>easeAeInfluence(t,CBX_SHOT.slideInfluenceOut,CBX_SHOT.slideInfluenceIn);// Slide within the stage frame (overflow hidden): outgoing exits, incoming enters.\n// dir +1 → next chip, content slides left / new from right; -1 opposite.\n// Ease: AE-style influence (0–100) on start-out / end-in keyframes, speed 0 both ends.\nsetSliderPct(0)// full after during slide — clean graded stills moving\n;setCbxSlide({from,to:i,progress:0,dir});const cancelSlide=animateValue(slideMs,slideEase,e=>{setCbxSlide({from,to:i,progress:e,dir});},()=>{setCbxIndex(i);setCbxSlide(null);// Double rAF: wait for interactive plate stack + clip/handle refs to remount\nrequestAnimationFrame(()=>{requestAnimationFrame(()=>{setSliderPct(0);const cancelPeel=animateValue(peelMs,easeOutQuart,e=>{setSliderPct(lerp(0,50,e));},()=>{shotSwitchingRef.current=false;});shotAnimCancelRef.current.push(cancelPeel);});});});shotAnimCancelRef.current.push(cancelSlide);},[cbx,cbxIndex,cbxLive]);const closeCompare=useCallback(()=>{if(!cbx||cbxClosing)return;killEntranceAnims();killShotAnims();shotSwitchingRef.current=false;setCbxSlide(null);setCbxLive(false);setCbxClosing(true);const startDim=CBX_ENTRANCE.dimTarget;const startShell=1;const cancel=animateValue(CBX_ENTRANCE.closeMs,easeOutQuart,e=>{const o=1-e;setCbxUi(ui=>({...ui,dim:startDim*o,shell:startShell*o,chrome:startShell*o,pills:startShell*o,footer:startShell*o,fly:ui.fly?{...ui.fly,show:false}:null}));},()=>{setCbx(null);setCbxClosing(false);setCbxLive(false);tileOriginRef.current=null;setCbxUi({dim:0,shell:0,chrome:0,pills:0,footer:0,fly:null});});entranceCancelRef.current.push(cancel);},[cbx,cbxClosing]);// s190: lead tile aspect from the job's thumbnail, not shots[0].\nuseEffect(()=>{if(!colourWall)return;const src=wallLeadIdx>=0?mfcCover(filtered[wallLeadIdx])?.src:undefined;if(!src)return;let cancelled=false;const seeded=aspectRatioFromImageSrc(src)||\"16/9\";setWallLeadAr(seeded);loadImageAspectRatio(src).then(ar=>{if(cancelled||!ar||ar===seeded)return;setWallLeadAr(ar);});return()=>{cancelled=true;};},[colourWall,wallLeadIdx,filtered]);// Refine aspect when stills load / shot changes. Don't snap slider during entrance.\nuseEffect(()=>{if(!cbx)return;const shot=cbx.stills[cbxIndex];const src=shot?.after?.src||shot?.before?.src;if(!src)return;let cancelled=false;(async()=>{const ar=await loadImageAspectRatio(src);if(cancelled||!ar)return;setCompareAspect(ar);// Don't snap handle mid shot-switch (re-peel owns the slider there)\nif(cbxLive&&!shotSwitchingRef.current)requestAnimationFrame(()=>setSliderPct(50));})();return()=>{cancelled=true;};},[cbx,cbxIndex,cbxLive]);// s226g: the outside arrows sit at the stage's middle - the stage clips (its shot slide), so they live in a layer\n// right after it; that layer learns the stage's height here\nuseLayoutEffect(()=>{if(!cbx||!cArw)return;const st=compareBoxRef.current;if(!st)return;const set=()=>{const w=st.nextElementSibling;if(w&&w.classList.contains(\"mf-cbx-arws\"))w.style.setProperty(\"--mf-cbx-sh\",st.offsetHeight+\"px\");};set();if(typeof ResizeObserver===\"undefined\")return;const ro=new ResizeObserver(set);ro.observe(st);return()=>ro.disconnect();},[cbx,cArw,cbxIndex]);// Tile → stage expand + grade peel.\n// Coords are OVERLAY-LOCAL (not viewport/fixed) so Framer Preview transforms\n// can't misplace the flying plate. Values driven through React state (cbxUi).\nuseLayoutEffect(()=>{if(!cbx||cbxClosing||cbxSession===0)return;const session=cbxSession;let cancelled=false;const alive=()=>session===cbxSessionRef.current&&!cancelled;killEntranceAnims();const hard=prefersReducedMotion();const finishOpen=()=>{if(!alive())return;setCbxUi({dim:CBX_ENTRANCE.dimTarget,shell:1,chrome:1,pills:1,footer:1,fly:null});setSliderPct(50);setCbxLive(true);};const run=async attempt=>{const overlay=compareOverlayRef.current;const stage=compareBoxRef.current;if(!overlay||!stage){if(attempt<16&&alive()){const id=requestAnimationFrame(()=>run(attempt+1));entranceCancelRef.current.push(()=>cancelAnimationFrame(id));}else if(alive()){// Last resort — show UI without motion\nfinishOpen();}return;}// One frame so aspect-ratio stage can lay out\nawait waitFrames(1);if(!alive())return;const ov=overlay.getBoundingClientRect();const stageRect=stage.getBoundingClientRect();const dest={left:stageRect.left-ov.left,top:stageRect.top-ov.top,width:stageRect.width,height:stageRect.height};if(hard||dest.width<4||dest.height<4){finishOpen();return;}const originVp=tileOriginRef.current;const origin=originVp?{left:originVp.left-ov.left,top:originVp.top-ov.top,width:originVp.width,height:originVp.height,src:originVp.src,srcSet:originVp.srcSet}:{// Fallback: grow from center of stage\nleft:dest.left+dest.width*.35,top:dest.top+dest.height*.35,width:dest.width*.3,height:dest.height*.3,src:cbx.stills[0]?.after?.src||\"\",srcSet:cbx.stills[0]?.after?.srcSet};if(!origin.src){finishOpen();return;}setSliderPct(0,dest.width);setCbxUi({dim:0,shell:0,chrome:0,pills:0,footer:0,fly:{left:origin.left,top:origin.top,width:origin.width,height:origin.height,src:origin.src,srcSet:origin.srcSet,show:true}});// Dim\nentranceCancelRef.current.push(animateValue(CBX_ENTRANCE.dimMs,easeOutQuart,e=>{if(!alive())return;setCbxUi(ui=>({...ui,dim:e*CBX_ENTRANCE.dimTarget}));}));// Expand fly → stage\nawait new Promise(resolve=>{const cancel=animateValue(CBX_ENTRANCE.expandMs,easeOutQuart,e=>{if(!alive())return;setCbxUi(ui=>({...ui,fly:{left:lerp(origin.left,dest.left,e),top:lerp(origin.top,dest.top,e),width:lerp(origin.width,dest.width,e),height:lerp(origin.height,dest.height,e),src:origin.src,srcSet:origin.srcSet,show:true}}));},resolve);entranceCancelRef.current.push(cancel);});if(!alive())return;// Handoff: shell on, fly off\nsetCbxUi(ui=>({...ui,dim:CBX_ENTRANCE.dimTarget,shell:1,fly:ui.fly?{...ui.fly,show:false}:null}));setSliderPct(0,dest.width);await waitMs(CBX_ENTRANCE.peelDelay);if(!alive())return;// Peel full after → 50/50\nawait new Promise(resolve=>{const cancel=animateValue(CBX_ENTRANCE.peelMs,easeOutQuart,e=>{if(!alive())return;setSliderPct(lerp(0,50,e));},resolve);entranceCancelRef.current.push(cancel);});if(!alive())return;// Chrome in (staggered via three short anims)\nconst ms=CBX_ENTRANCE.chromeMs;const st=CBX_ENTRANCE.chromeStagger;entranceCancelRef.current.push(animateValue(ms,easeOutQuart,e=>{if(!alive())return;setCbxUi(ui=>({...ui,chrome:e}));}));await waitMs(st);if(!alive())return;entranceCancelRef.current.push(animateValue(ms,easeOutQuart,e=>{if(!alive())return;setCbxUi(ui=>({...ui,pills:e}));}));await waitMs(st);if(!alive())return;await new Promise(resolve=>{const cancel=animateValue(ms,easeOutQuart,e=>{if(!alive())return;setCbxUi(ui=>({...ui,footer:e}));},resolve);entranceCancelRef.current.push(cancel);});if(!alive())return;setCbxLive(true);};run(0);return()=>{cancelled=true;killEntranceAnims();};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[cbxSession]);function applySliderFromClientX(clientX){const el=compareBoxRef.current;if(!el)return;const rect=el.getBoundingClientRect();setSliderPct(clamp((clientX-rect.left)/rect.width*100,0,100),rect.width);}const onWindowPointerMove=useCallback(e=>{if(!compareDragging.current)return;// preventDefault stops the browser/Framer from treating the drag as\n// a scroll or text-selection gesture mid-swipe (felt like \"snap to click\").\ne.preventDefault();pendingClientX.current=e.clientX;if(sliderRaf.current)return;sliderRaf.current=requestAnimationFrame(()=>{sliderRaf.current=null;const rect=compareRectRef.current;if(!rect)return;setSliderPct(clamp((pendingClientX.current-rect.left)/rect.width*100,0,100),rect.width);});},[]);const onWindowPointerUp=useCallback(e=>{const el=compareBoxRef.current;if(el&&e&&el.hasPointerCapture?.(e.pointerId)){try{el.releasePointerCapture(e.pointerId);}catch(_){}}compareDragging.current=false;if(sliderRaf.current){cancelAnimationFrame(sliderRaf.current);sliderRaf.current=null;}// Flush the final pointer position so the handle rests exactly where\n// released, not at the last position a throttled frame happened to paint.\nconst rect=compareRectRef.current;if(rect)setSliderPct(clamp((pendingClientX.current-rect.left)/rect.width*100,0,100),rect.width);window.removeEventListener(\"pointermove\",onWindowPointerMove);window.removeEventListener(\"pointerup\",onWindowPointerUp);window.removeEventListener(\"pointercancel\",onWindowPointerUp);},[onWindowPointerMove]);useEffect(()=>{return()=>{window.removeEventListener(\"pointermove\",onWindowPointerMove);window.removeEventListener(\"pointerup\",onWindowPointerUp);window.removeEventListener(\"pointercancel\",onWindowPointerUp);};},[onWindowPointerMove,onWindowPointerUp]);const onCompareDown=e=>{const el=compareBoxRef.current;if(!el||!cbxLive||shotSwitchingRef.current)return;// Capture on the box so pointermove keeps firing even if the cursor\n// leaves the element or Framer chrome sits above the page. Isolation\n// proved window listeners alone are enough in a bare page; Framer needs\n// both capture + window as belt-and-braces.\ne.preventDefault();e.stopPropagation();compareDragging.current=true;compareRectRef.current=el.getBoundingClientRect();pendingClientX.current=e.clientX;applySliderFromClientX(e.clientX);try{el.setPointerCapture(e.pointerId);}catch(_){}window.addEventListener(\"pointermove\",onWindowPointerMove,{passive:false});window.addEventListener(\"pointerup\",onWindowPointerUp);window.addEventListener(\"pointercancel\",onWindowPointerUp);};function sectionProgress(ref){const el=ref.current;if(!el)return 0;const rect=el.getBoundingClientRect();const vh=window.innerHeight;return clamp((vh-rect.top)/rect.height,0,1);}/** Fraction of the hero still intersecting the viewport (0 = gone, 1 = fully on screen). */function heroVisibleFraction(){const hero=headerElRef.current;if(!hero)return 1;const r=hero.getBoundingClientRect();const h=r.height;if(h<=0)return 0;const visTop=Math.max(0,r.top);const visBottom=Math.min(window.innerHeight,r.bottom);const vis=Math.max(0,visBottom-visTop);return clamp(vis/h,0,1);}/* ===================================================================\n     * s70 — MOBILE MOTION DRIVER.  Motion phones only.\n     *\n     * One rAF loop owns these, in this order every frame:\n     *   1. the band's pose (which seam owns it, and the flip scalar),\n     *   2. wipe-frame top/bottom insets from the current-section index\n     *      (so the band lives strictly between the two stacks),\n     *   3. the mask cut on the departing screen,\n     *   4. the 3D deck's tile poses.\n     *   5. a latched setState of the current-section index (only when\n     *      the index actually changes — never per frame).\n     *\n     * It is TIME-driven as well as scroll-driven — the CRT layers and the\n     * reversal animate while the page is still — so it runs continuously and\n     * needs no scroll listener of its own.\n     *\n     * Everything it writes is reset in the cleanup, because the signal toggle\n     * can flip Motion -> Colour mid-page: masks, visibility, tile poses and\n     * the band all have to come back to a resting state that Colour's own\n     * paths expect. Values are restored to what React set, never to \"\" —\n     * clearing an inline style React owns is a one-way delete (s67).\n     * =================================================================== */useEffect(()=>{if(!motionPhone)return;// s119: PLAN owns Motion-phone nav. The s116 jump+overlay sweep\n// must not run; ?mfstack=0 keeps this driver as the revert.\nif(mfFlagsRef.current.stack)return;const wipe=mWipeRef.current;const wipeFrame=mWipeFrameRef.current;const scan=mScanRef.current;const roll=mRollRef.current;const tear=mTearRef.current;if(!wipe)return;// Resting frame geometry (nav only, no stack). Driver is the\n// single writer of live top/bottom — React does not set these\n// properties, so a stack-index setState cannot clobber a mid-seam\n// band for one commit-lag frame. Restore the same numbers on\n// teardown (real values, never \"\").\nif(wipeFrame){wipeFrame.style.top=NAV_H+1+\"px\";wipeFrame.style.bottom=\"0px\";}let raf=0;let flip=1;let flipTarget=1;let revAccum=0;let lastY=window.scrollY;let lastT=0;const svhPx=()=>svhProbeRef.current?.getBoundingClientRect().height||window.innerHeight;// !! THE CUT IS A HARD EDGE — it rides under the band's opaque strip,\n// which is the whole reason it can be hard. So it never needed a mask\n// TEXTURE. mask-image forces a composited layer of the element's whole\n// border box: measured, SECTION#about was a 390x1899 masked layer,\n// ~26MB at DPR3, rebuilt every frame as the cut moved. clip-path:\n// inset() is a compositor-side rectangle with no texture at all.\n// Same visual result, a fraction of the cost — this is the mobile perf\n// fix, NOT trimming the CRT layers (those are three 390x127 divs and\n// are not the expense; the sandbox runs the same ones smoothly).\n// Single writer of clipPath / -webkit-clip-path on departing\n// screens. cutLocal === null is the ONLY full-clear path\n// (atPageTop + teardown). Every other rest / show-fully\n// branch KEEPS the top clip rather than writing \"none\".\n// Those two facts are load-bearing and unchanged.\n//\n// The top inset is anchored to the VIEWPORT TOP,\n// Math.max(0, -rTop), and must NOT be re-anchored to\n// frameTop.\n//\n// Why: the cut's only job is stopping paint above y=0.\n// Safari renders the scrolling layer into the iOS URL-bar\n// overlay; a fixed fill at negative top does not paint,\n// which is why an earlier fill-element fix failed. The\n// clipped elements SCROLL, so holding the cut at a fixed\n// viewport y needs a fresh rAF write every frame, and\n// under iOS momentum that write goes stale while the\n// compositor keeps scrolling.\n//\n// Consequence, measured: anchored at frameTop (103 while\n// in About) the stale cut slid straight into the About\n// header at 102..136 — 17px of stale scroll cropped 53%\n// of the bar, which is the defect Gav reported. Anchored\n// at 0 the stale cut lands behind the opaque nav (0..69,\n// alpha .94) and the opaque passed stack row (69..103),\n// so the lag budget is ~103px instead of 0.\n//\n// Deliberate trade: departing content may now paint in\n// 0..frameTop, behind that chrome. At alpha .94 the\n// show-through is ~6% and the region was showing the\n// fixed telemetry grid before.\n// s98: `topLocal` is an OPTIONAL explicit top inset, used ONLY by\n// the nav sweep. A reverse (upward) nav eats the frozen departing\n// screen from the TOP down, which the scroll path's fixed\n// Math.max(0, -rTop) cannot express. The scroll path passes it\n// undefined and is byte-for-byte unaffected — the s92 anchoring\n// above stays exactly as it is. setCut is the module-level\n// single writer of clipPath / -webkit-clip-path; s115 hoisted\n// it so the tap task calls the same function.\n/** s98 — the real section header for a stack index. null on the\n         *  hero, which has no stack row and no header of this kind. */const navDestHeader=d=>d===0?workHeaderRef.current:d===1?mAboutHeaderRef.current:d===2?mContactHeaderRef.current:null;/** s98 — end a nav sweep: completion, abort and teardown all come\n         *  through here, so there is exactly one place that can leave the\n         *  DOM in a half-swept state.\n         *  !! EVERY restore writes the SAVED string, never \"\". Clearing an\n         *  inline style React owns is a one-way delete, not a no-op —\n         *  React's virtual DOM still holds the old value, sees no change\n         *  and never re-renders it. That is the s67 hero-backplate bug,\n         *  which cost four rounds and shipped invisibly for eleven\n         *  sessions. Saving the real value at arm time is what makes this\n         *  safe. */const endNav=why=>{const nav=mNavRef.current;if(!nav)return;mfDebugLog(\"nav end \"+why+\" \"+Math.round(performance.now()-nav.tArm)+\"ms\");// s111 D3 — kill the band FIRST. endNav used to only clear\n// backgroundColor, so the band survived at its rest pose\n// (cyan at CSS 68-83 in the ghost frame).\nwipe.style.opacity=\"0\";// s112 — tell-tale end colour held 500ms so it cannot fall\n// between captured frames. abort:touch is magenta; the spec\n// table named the three older reasons and this is the fourth\n// distinct primary (green is reserved for the finger).\nmfTellHold(why===\"complete\"?\"#0088ff\":why===\"abort:user\"?\"#ff0000\":why===\"abort:land\"?\"#ffff00\":\"#ff00ff\");// s112 — restore the HUD. Hidden at arm so a sweep cannot\n// be occluded by the log (the band-dropout that was the\n// instrument, video rows 1046-1301). Log text is already\n// written; it is readable on the settled frames after.\nconst hudEnd=mfDebugRef.current;if(hudEnd){hudEnd.style.visibility=\"visible\";hudEnd.style.opacity=\"1\";}// Overlay restore, split: transform / zIndex / background /\n// boxShadow from saved strings. Do NOT restore clipPath /\n// visibility when the overlay is scroll-branch-owned\n// (s0 ∈ {-1, 0, 1}) — the scroll branch rewrites both every\n// frame from live rects. Restoring visibility on the sticky\n// hero at contact's scrollY re-pins the whole landing page\n// for one task, which is the end-of-transition ghost.\n// Contact (s0 === 2) keeps its explicit restore below.\nconst restoreOvPaint=o=>{o.el.style.transform=o.tf;o.el.style.zIndex=o.z;o.el.style.background=o.bg;o.el.style.boxShadow=o.sh;};if(nav.clone){const host=mCloneHostRef.current;if(host)host.style.visibility=\"hidden\";if(nav.clone.parentNode)nav.clone.parentNode.removeChild(nav.clone);if(nav.liveOv)restoreOvPaint(nav.liveOv);// s114 G1 — extra frozen overlays are live elements even\n// in clone mode (clone is the primary hero-path snapshot).\nfor(const o of nav.ov){if(o.el!==nav.clone)restoreOvPaint(o);}}else{for(const o of nav.ov)restoreOvPaint(o);}for(let h=0;h<nav.hide.length;h++){const el=nav.hide[h];if(el)el.style.opacity=nav.hideOp[h];}for(const f of nav.fix)f.el.style.transform=f.tf;// The nav-only opaque backdrop behind the band. Driver\n// owned, never set in JSX, so \"\" is the resting value.\nwipe.style.backgroundColor=\"\";// Saved string, never \"\" — React owns this one (s67).\nif(mWipeFrameRef.current)mWipeFrameRef.current.style.zIndex=nav.wfZ;if(nav.rootEl)nav.rootEl.style.zIndex=nav.rootZ;for(const rl of nav.rootLift){if(rl.el!==nav.rootEl)rl.el.style.zIndex=rl.z;}if(nav.hdr)nav.hdr.style.opacity=nav.hdrOp;// Rows and the destination header rest at zero offset, so\n// this is visually a no-op — written anyway, because a row\n// that did NOT change groups keeps its element, and a stale\n// transform on it would survive every future render.\n// !! THE BAR TRANSFORMS ARE **NOT** CLEARED HERE. Clearing\n// them in this task snaps every bar back to its DEPARTURE\n// slot for one frame, because React has not yet committed the\n// new stack layout — that one frame is Gav's \"pop into the\n// place they're supposed to be\" and the flicker at the end of\n// the transition. Hand the clear to the next driver frame,\n// by which time the commit below has landed: rows that\n// changed group come back as fresh elements with no\n// transform, and rows that did not always have zero travel,\n// so the clear is a no-op on exactly the elements that\n// survive. Pixel-continuous by construction, not by timing.\nif(mPromoteRef.current){mPromoteRef.current.style.willChange=\"\";mPromoteRef.current=null;}mNavHdrPendRef.current={d:nav.d,dHdrOp:nav.dHdrOp};mNavClearRef.current={rowBg:nav.rowBg,d:nav.d,dHdrOp:nav.dHdrOp};// Hand the stack over HERE, not at arm. A bar that changes\n// group is re-parented by React and comes back as a fresh\n// element with no transform; a bar that does NOT change group\n// keeps its element — and always has zero travel, because its\n// slot is the same under both stack indices. So clearing the\n// transforms above and committing here is pixel-continuous by\n// construction rather than by timing.\nif(mStackIdxRef.current!==nav.d){mStackIdxRef.current=nav.d;setMStackIdx(nav.d);}// Clips and visibility: the scroll branch rewrites hero,\n// work and about every frame from live rects, so leaving\n// those to it avoids a frame of flash. CONTACT is the\n// exception — seam i departs screen i and there is no seam\n// after contact, so nothing in the scroll path ever touches\n// it. Restore it explicitly or a stranded closed clip\n// survives the sweep.\nfor(const el of[mContactHeaderRef.current,contactWrapRef.current]){if(!el)continue;setCut(el,null,0,0);if(el.style.visibility!==\"visible\")el.style.visibility=\"visible\";}// Hand the scroll driver a coherent starting state.\nlastY=window.scrollY;flip=nav.dir;flipTarget=nav.dir;revAccum=0;// Seeded explicitly rather than left to self-correct: the\n// latch has a dead zone (MOBILE_STACK_LIFT_EXIT_PX) that can\n// hold a stale value if the post-jump rect lands inside it.\nmWorkLiftedRef.current=nav.d>=0;mNavRef.current=null;};// s98: the CRT layers, extracted verbatim from the band branch so\n// the nav sweep runs the IDENTICAL animation rather than a second\n// copy that can drift. Gav's answer on the look was \"identical\",\n// and one function is how that stays true. Called only while the\n// band is on frame, in both modes — the tear's own state lives in\n// the effect closure, so pausing it between sweeps is free.\nconst tickCrt=now=>crtTick(now,scan,roll,tear);/** s98 - the 3D deck, lifted verbatim out of frame() so the nav\n         *  sweep can run it when WORK is the DESTINATION. It reads no\n         *  frame-local state (verified: no SVH / bandPx / now / dt), only\n         *  refs and live rects, so calling it from either branch is the\n         *  same computation. During a sweep the page is stationary, so it\n         *  resolves the LANDING pose - which is the point: about->work and\n         *  contact->work would otherwise reveal the deck frozen at its END\n         *  pose (pos clamps to n-1 anywhere above work) and snap to tile 1\n         *  at the handover. NEVER call it while work is the frozen\n         *  OVERLAY: there the tiles must keep the poses they departed\n         *  with, which is what skipping it achieves for free (inline\n         *  transforms persist when nothing writes them). */const deckTick=()=>{// ---- the 3D deck -------------------------------------------\nconst grid=workGridRef.current;const wrap=gridWrapRef.current;const geo=mDeckGeomRef.current;const n=visibleCountRef.current;if(grid&&wrap&&geo.span>0&&n>1){// #work is position:relative, so ITS rect is honest; the\n// stage's offset inside it is the constant captured at layout\n// time. Reading grid.offsetTop here instead froze the deck.\nconst wrapRect=wrap.getBoundingClientRect();const flowTop=wrapRect.top+geo.stageOffset;const rawP=(geo.stageTop-flowTop)/geo.span;const pos=Math.max(0,Math.min(1,rawP))*(n-1);const tileH=geo.tileH||1;for(let i=0;i<n;i++){const t=tileRefs.current[i];if(!t)continue;const o=i-pos;const pose=mobileDeckPose(o,tileH);const ty=pose.ty;const sc=pose.sc;const br=pose.br;const rx=pose.rx;const op=pose.op;// marginTop / zIndex are owned by layoutWorkGrid — both\n// are layout-affecting, and neither changes per frame\n// (tileH is resize-only; zIndex is the tile's DOM index).\n// Writing them here forced ~15 layout invalidations per\n// frame and is what made the deck jumpy. (s79 Bug A)\nconst scrim=recedeScrimRefs.current[i];if(op<=.001){if(t.style.visibility!==\"hidden\")t.style.visibility=\"hidden\";if(t.style.opacity!==\"0\")t.style.opacity=\"0\";if(t.style.transform!==\"none\")t.style.transform=\"none\";if(t.style.filter)t.style.filter=\"\";if(t.style.willChange!==\"auto\")t.style.willChange=\"auto\";if(scrim&&scrim.style.opacity!==\"0\")scrim.style.opacity=\"0\";continue;}// Inherit from the departing ancestor (workGridRef).\n// An own \"visible\" beats the ancestor's \"hidden\" and\n// is what let on-stage tiles paint through About.\nif(t.style.visibility!==\"\")t.style.visibility=\"\";const opStr=op.toFixed(3);if(t.style.opacity!==opStr)t.style.opacity=opStr;const tr=\"translate3d(0,\"+ty.toFixed(1)+\"px,0) rotateX(\"+rx.toFixed(2)+\"deg) scale(\"+Math.max(.2,sc).toFixed(3)+\")\";if(t.style.transform!==tr)t.style.transform=tr;if(t.style.filter)t.style.filter=\"\";if(t.style.willChange!==\"transform, opacity\")t.style.willChange=\"transform, opacity\";const scrimOp=(1-Math.max(0,Math.min(1,br))).toFixed(3);if(scrim&&scrim.style.opacity!==scrimOp)scrim.style.opacity=scrimOp;}// The deck's front tile is the phone's \"active\" tile — it is\n// what the tap-to-play affordance hangs off. Driven on the\n// DOM, not via setState: a React re-render mid-scroll would\n// clobber driver-owned tile poses (s70 compositing). Applied\n// every frame with equality guards: playingVideo remounts\n// the CTA node, and a lastFront latch would skip the rewrite.\nconst front=Math.round(pos);const countEl=workCountRef.current;if(countEl){const txt=String(front+1).padStart(2,\"0\")+\" / \"+String(n).padStart(2,\"0\");if(countEl.textContent!==txt)countEl.textContent=txt;}for(let i=0;i<n;i++){const tile=tileRefs.current[i];if(!tile)continue;const cta=tile.querySelector(\".mf-tile-playcta\");if(!cta)continue;if(i===front){if(cta.getAttribute(\"data-mf-ctavisible\")!==\"1\")cta.setAttribute(\"data-mf-ctavisible\",\"1\");}else if(cta.hasAttribute(\"data-mf-ctavisible\")){cta.removeAttribute(\"data-mf-ctavisible\");}}// Touch has no pointer-leave, so a tapped clip would loop\n// forever after the deck advances. The carousel's stop-on-\n// index-change / stop-on-scroller-offscreen lived in a\n// useCarousel effect that never runs here (useCarousel is\n// false while MOBILE_MOTION_V2 is on). The deck already\n// owns `front` per frame, so the stop lives with it.\n// stopTileVideo nulls activeVideoRef when it matches, so\n// both checks are naturally idempotent frame-to-frame.\nconst playing=activeVideoRef.current;if(playing!==null&&playing!==front)stopTileVideo(playing);if(activeVideoRef.current!==null){if(wrapRect.bottom<=0||wrapRect.top>=window.innerHeight)stopTileVideo(activeVideoRef.current);}}};const mfNavTouches=[];let mfTouchLive=0;let mfTouchLastEnd=0;const mfNavTouchStart=e=>{for(let i=0;i<e.changedTouches.length;i++){const t=e.changedTouches[i];mfNavTouches.push({id:t.identifier,x:t.clientX,y:t.clientY,x0:t.clientX,y0:t.clientY,trail:[{x:t.clientX,y:t.clientY}],dragged:false,endAt:null});mfTouchLive++;}// !! PAINT FROM THE EVENT, NOT ONLY FROM rAF. WebKit throttles\n// or suspends requestAnimationFrame while a scroll gesture and\n// its momentum are live — which is exactly when the indicator\n// has to be on screen. Driven only by the driver's rAF, the\n// ring stalled mid-swipe or never drew at all for a gesture\n// that started a scroll, which is what Gav reported as \"the\n// green ring gets lost sometimes\". Touch events keep firing\n// when rAF does not, so each handler paints immediately; the\n// rAF call stays because it is what advances the fade-out\n// after the finger is gone. mfPaintDebug clears and redraws\n// the whole canvas, so the two callers cannot disagree.\nmfPaintDebug(performance.now());};const mfNavTouchMove=e=>{const lim=MOBILE_STACK_TAP_MOVE_PX*MOBILE_STACK_TAP_MOVE_PX;for(let i=0;i<e.changedTouches.length;i++){const t=e.changedTouches[i];for(let p=0;p<mfNavTouches.length;p++){const pt=mfNavTouches[p];if(pt.id!==t.identifier||pt.endAt!==null)continue;pt.x=t.clientX;pt.y=t.clientY;pt.trail.push({x:pt.x,y:pt.y});if(pt.trail.length>MF_DEBUG_TOUCH_TRAIL)pt.trail.shift();const dx=pt.x-pt.x0;const dy=pt.y-pt.y0;if(dx*dx+dy*dy>lim)pt.dragged=true;}}// Same reason as touchstart: rAF is not running during a live\n// scroll, so the trail would otherwise freeze mid-swipe.\nmfPaintDebug(performance.now());};const mfNavTouchEnd=e=>{const tNow=performance.now();for(let i=0;i<e.changedTouches.length;i++){const t=e.changedTouches[i];for(let p=0;p<mfNavTouches.length;p++){const pt=mfNavTouches[p];if(pt.id!==t.identifier||pt.endAt!==null)continue;pt.x=t.clientX;pt.y=t.clientY;pt.endAt=tNow;if(mfTouchLive>0)mfTouchLive--;if(mNavRef.current)mfTouchLastEnd=tNow;}}// Momentum keeps rAF starved after the finger lifts, so the\n// lift frame itself must be painted here or a quick flick\n// never shows its end point.\nmfPaintDebug(tNow);};const mfPaintDebug=now=>{// Always prune faded points so the tracker cannot grow\n// when ?mfdebug is off (item 4 still tracks).\nlet q=0;while(q<mfNavTouches.length){const pt=mfNavTouches[q];if(pt.endAt!==null&&now-pt.endAt>=MF_DEBUG_TOUCH_HOLD_MS){mfNavTouches.splice(q,1);continue;}q++;}if(!mfFlagsRef.current.debug)return;const tell=mfDebugTellRef.current;if(tell){const navNow=mNavRef.current;const hold=mfDebugTellEndRef.current;if(navNow){tell.style.display=\"block\";tell.style.background=navNow.hold>0?\"#ffffff\":\"#ff8800\";}else if(hold&&now<hold.until){tell.style.display=\"block\";tell.style.background=hold.color;}else{tell.style.display=\"none\";if(hold)mfDebugTellEndRef.current=null;}}const canvas=mfDebugTouchRef.current;if(!canvas)return;const dpr=window.devicePixelRatio||1;const cw=window.innerWidth;const ch=window.innerHeight;const bw=Math.round(cw*dpr);const bh=Math.round(ch*dpr);if(canvas.width!==bw||canvas.height!==bh){canvas.width=bw;canvas.height=bh;}const ctx=canvas.getContext(\"2d\");if(!ctx)return;ctx.setTransform(dpr,0,0,dpr,0,0);ctx.clearRect(0,0,cw,ch);const col=MF_DEBUG_TOUCH_COLOR;const navLive=!!mNavRef.current;let w=0;while(w<mfNavTouches.length){const pt=mfNavTouches[w];let fade=1;if(pt.endAt!==null){fade=1-(now-pt.endAt)/MF_DEBUG_TOUCH_HOLD_MS;if(fade<=0){mfNavTouches.splice(w,1);continue;}}ctx.globalAlpha=fade;for(let i=0;i<pt.trail.length;i++){const tr=pt.trail[i];ctx.globalAlpha=fade*((i+1)/pt.trail.length)*.45;ctx.fillStyle=col;ctx.beginPath();ctx.arc(tr.x,tr.y,3,0,Math.PI*2);ctx.fill();}ctx.globalAlpha=fade;ctx.strokeStyle=col;ctx.lineWidth=3;ctx.beginPath();ctx.arc(pt.x,pt.y,22,0,Math.PI*2);if(pt.dragged){ctx.fillStyle=col;ctx.fill();}ctx.stroke();if(pt.endAt===null&&navLive){ctx.beginPath();ctx.arc(pt.x,pt.y,28,0,Math.PI*2);ctx.stroke();}w++;}ctx.globalAlpha=1;};window.addEventListener(\"touchstart\",mfNavTouchStart,{passive:true});window.addEventListener(\"touchmove\",mfNavTouchMove,{passive:true});window.addEventListener(\"touchend\",mfNavTouchEnd,{passive:true});window.addEventListener(\"touchcancel\",mfNavTouchEnd,{passive:true});// s116 — jump + post-jump writes, invoked from the first\n// driver frame. NOT a second rAF: frame() calls this once\n// when !nav.seeded. The tap task measured; this frame scrolls.\nconst commitNavJump=(nav,now)=>{const pend=nav.pend;if(!pend){mNavRef.current=null;return false;}const yt=scrollToMobileSectionRef.current(nav.d);const dropPendClone=()=>{if(!nav.clone)return;const host=mCloneHostRef.current;if(host)host.style.visibility=\"hidden\";if(nav.clone.parentNode)nav.clone.parentNode.removeChild(nav.clone);nav.clone=null;};if(yt===null){dropPendClone();mNavRef.current=null;return false;}if(Math.abs(yt-nav.y0)<MOBILE_NAV_MIN_TRAVEL_PX){dropPendClone();mNavRef.current=null;return false;}if(Math.abs(window.scrollY-yt)>MOBILE_NAV_LAND_EPS_PX){mfDebugLog(\"nav ABORT: jump did not land (want \"+Math.round(yt)+\" got \"+Math.round(window.scrollY)+\")\");mfDebugLog(\"nav end abort:land 0ms\");mfTellHold(\"#ffff00\");dropPendClone();mNavRef.current=null;return false;}nav.dir=yt>nav.y0?1:-1;const tJump=now;nav.t0=tJump+MOBILE_NAV_RASTER_HOLD_FRAMES*(1e3/60);nav.tArm=tJump;nav.hold=MOBILE_NAV_RASTER_HOLD_FRAMES;const s0=nav.s0;const ovEl=pend.ovEl;const stickyKids=pend.stickyKids;const preKid=pend.preKid;const extraFreeze=pend.extraFreeze;const cloneEl=nav.clone;const ovList=nav.ov;const fix=nav.fix;const arriving=nav.arr;const hiding=nav.hide;const wfEl=mWipeFrameRef.current;if(wfEl)wfEl.style.zIndex=\"55\";if(nav.rootEl)nav.rootEl.style.zIndex=String(MOBILE_NAV_ROOT_Z);for(let ei=0;ei<extraFreeze.length;ei++){const k=extraFreeze[ei].k;const extraRoot=k===0?gridWrapRef.current:k===1?studioSecRef.current:null;if(!extraRoot||extraRoot===nav.rootEl)continue;extraRoot.style.zIndex=String(MOBILE_NAV_ROOT_Z);}const dHdrEl=nav.d===0?workHeaderRef.current:nav.d===1?mAboutHeaderRef.current:nav.d===2?mContactHeaderRef.current:null;if(dHdrEl)dHdrEl.style.opacity=\"0\";const ov=ovList[0];if(cloneEl){if(s0>=0){cloneEl.style.background=MOBILE_HEADER_BG;cloneEl.style.boxShadow=\"0 \"+MOBILE_NAV_OVERLAY_PAD_PX+\"px 0 0 \"+MOBILE_HEADER_BG;}}else{const postTop=ovEl.getBoundingClientRect().top;ov.ty=ov.preTop-postTop;ovEl.style.transform=\"translate3d(0,\"+ov.ty.toFixed(2)+\"px,0)\";ovEl.style.zIndex=\"5\";ovEl.style.visibility=\"visible\";if(s0>=0){ovEl.style.background=MOBILE_HEADER_BG;ovEl.style.boxShadow=\"0 \"+MOBILE_NAV_OVERLAY_PAD_PX+\"px 0 0 \"+MOBILE_HEADER_BG;}for(let k=0;k<stickyKids.length;k++){const kid=stickyKids[k];const d=preKid[k]-kid.getBoundingClientRect().top;if(Math.abs(d)<.5)continue;fix.push({el:kid,tf:kid.style.transform,preTop:preKid[k],ty:d});kid.style.transform=\"translate3d(0,\"+d.toFixed(2)+\"px,0)\";}}for(let ei=0;ei<extraFreeze.length;ei++){const ex=extraFreeze[ei];const el=ex.el;const xOv=ovList[ei+1];if(!xOv)continue;const postTop=el.getBoundingClientRect().top;xOv.ty=ex.preTop-postTop;el.style.transform=\"translate3d(0,\"+xOv.ty.toFixed(2)+\"px,0)\";el.style.zIndex=\"5\";el.style.visibility=\"visible\";if(ex.k>=0){el.style.background=MOBILE_HEADER_BG;el.style.boxShadow=\"0 \"+MOBILE_NAV_OVERLAY_PAD_PX+\"px 0 0 \"+MOBILE_HEADER_BG;}for(let ki=0;ki<ex.kids.length;ki++){const kid=ex.kids[ki];const d=ex.preKid[ki]-kid.getBoundingClientRect().top;if(Math.abs(d)<.5)continue;fix.push({el:kid,tf:kid.style.transform,preTop:ex.preKid[ki],ty:d});kid.style.transform=\"translate3d(0,\"+d.toFixed(2)+\"px,0)\";}}if(!cloneEl)navCorrectFrozen(ovList,fix);for(let j=0;j<3;j++){const rowEl=mStackRowRefs.current[j];if(rowEl)rowEl.style.background=MOBILE_HEADER_BG;}for(const el of arriving){if(!el)continue;setCut(el,null,0,0);el.style.maskImage=\"none\";el.style.webkitMaskImage=\"none\";if(el.style.visibility!==\"visible\")el.style.visibility=\"visible\";}// !!!! THIS HIDE IS BACK ON A FRAME, AND THAT IS DELIBERATE.\n// It was moved INTO the tap task earlier in this arc for a\n// measured reason, and that reason still stands: doing it on\n// a frame left one paint showing the destination RAW with\n// every overlapping section on top of it — a flash at the\n// start of every transition. Read that warning before moving\n// it back; it is not stale.\n// s116 accepted that trade knowingly. In the tap task the\n// hide is compositor-cheap and lands instantly while the\n// cover needs a main-thread paint that iOS will not grant\n// while a finger is down — measured at ~200ms of the page\n// base colour with only the nav's MOTION chip surviving. A\n// one-paint flash of the destination is strictly better than\n// 200ms of a blank screen, and now the hide lands in the SAME\n// frame as the jump and the cover, so the raw-destination\n// paint has no frame to happen in either.\n// If the flash returns, the fix is NOT to move this back to\n// the tap task — that reintroduces the blank. Order the\n// writes within this frame instead.\nconst hideOp=[];for(const el of hiding){if(!el){hideOp.push(\"\");continue;}hideOp.push(el.style.opacity);const hr=el.getBoundingClientRect();const v=\"inset(0px 0px \"+hr.height.toFixed(1)+\"px 0px)\";el.style.clipPath=v;el.style.setProperty(\"-webkit-clip-path\",v);el.style.visibility=\"hidden\";el.style.opacity=\"0\";}nav.hideOp=hideOp;const hudArm=mfDebugRef.current;if(hudArm){hudArm.style.visibility=\"hidden\";hudArm.style.opacity=\"0\";}mfDebugTellEndRef.current=null;if(cloneEl){const host=mCloneHostRef.current;if(host)host.style.visibility=\"visible\";}mStackAwayRef.current=true;setMStackAway(true);mfDebugLog(\"nav \"+s0+\"->\"+nav.d+\" dir\"+nav.dir+\" rows\"+mStackRowRefs.current.map(r=>r?\"1\":\"0\").join(\"\")+\" hid\"+hiding.filter(Boolean).length+\"/\"+hiding.length+\" ov\"+(ov.el.getAttribute(\"data-mf\")||ov.el.id||ov.el.tagName.toLowerCase())+(cloneEl?\" clone\":\"\")+\" vh\"+Math.round(window.innerHeight));nav.pend=null;return true;};const frame=now=>{raf=requestAnimationFrame(frame);const dt=lastT?Math.min(64,now-lastT):16;lastT=now;mfPaintDebug(now);const SVH=svhPx();// Resting frame (nav only). Stack-index is derived from this\n// BEFORE live insets, so the midpoint cannot chase the insets.\nconst restFrameTop=NAV_H+1;// !! s78 BUG FIX: was `window.innerHeight - frameTop`. On iOS,\n// window.innerHeight SHRINKS as the URL bar expands (exactly\n// while scrolling UP, which is when the client reported \"it\n// jumps to the work section\"). That made frameH a moving\n// target driving the seam-selection window below, while every\n// real rect (getBoundingClientRect) still reflects sizing done\n// in svh — which is DELIBERATELY stable against the URL bar\n// (see the top-of-file rule: \"svh is used throughout the\n// mobile paths and never vh\"). frameH was the one place in\n// this driver that broke that rule. Use SVH so this driver\n// never disagrees with the geometry it is reading.\nconst restFrameH=Math.max(1,SVH-restFrameTop);const bandPx=MOBILE_WIPE_BAND_SVH/100*SVH;const bandH=bandPx+\"px\";if(wipe.style.height!==bandH)wipe.style.height=bandH;// ---- s98: THE NAV SWEEP ------------------------------------\n// A BRANCH OF THIS LOOP, never a second rAF. Two writers on\n// one property is the bug class this arc hit six times, and a\n// parallel time-driven loop competing with the scroll-scrubbed\n// one is that bug with a scheduler attached. While a sweep is\n// live this branch owns the band, the overlay's clip and the\n// stack transforms, and RETURNS — so the direction deadband,\n// the stack classification, the departing-screen loop and the\n// deck are all skipped by construction rather than by a set of\n// co-operating guards. The deck freezing is therefore free:\n// inline transforms persist when nothing writes them.\n// It also means atPageTop is never evaluated during a sweep,\n// which matters — on a logo nav the landing IS y=0, so\n// atPageTop would be true for the whole sweep and its\n// per-frame \"clear every cut\" would fight the overlay.\nconst nav=mNavRef.current;if(nav){if(!nav.seeded){nav.seeded=true;// s116 — jump, land check, arriving-clear, hide,\n// overlay transform + correction, then the rest of\n// this frame is the first sweep pose. One batch.\nif(!commitNavJump(nav,now))return;// !! CLEAR THE ARRIVING GROUP'S STALE PER-FRAME\n// STATE, ONCE. The scroll branch leaves state on\n// every screen and the sweep does not recompute it.\n// Anything ABOVE the pre-jump viewport was left\n// visibility:hidden and fully clipped by the\n// departing loop — so every UPWARD nav, and every\n// logo nav, swept onto an invisible destination and\n// popped it in at the handover. Downward navs\n// happened to be clean (a below-viewport screen sits\n// at top inset 0), which is exactly the kind of\n// half-working that ships.\n// Through setCut, so it stays the single writer of\n// clipPath. One clear is enough: the scroll branch\n// cannot run again until endNav, at which point it\n// recomputes these from post-jump geometry.\n// The arriving-clear and the hide of everything that\n// is neither side of the transition BOTH happen in\n// commitNavJump, in this same frame, before this\n// re-clear. Doing them a frame later than the jump\n// left one paint showing the destination raw.\n// s116: commitNavJump already cleared arriving via\n// cutLocal null. This first-frame re-clear is a no-op\n// belt-and-braces once post-jump layout exists. The\n// hide set still writes clipPath directly (opacity is\n// the one that cannot be escaped; setCut is the\n// clear path).\n// s114 G3 — re-clear the arriving group THROUGH\n// setCut on this first frame, after post-jump layout.\n// clip-path inset() is element-local: a leftover\n// topInset = Math.max(0, -rTop) written while the\n// sticky hero sat at a negative r.top becomes a\n// hole in the on-screen border box after the logo\n// jump (r.top ≈ 0). commitNavJump's cutLocal-null\n// should already have removed it; this is the\n// single-writer re-clear once the new rects exist.\n// Does not clip the destination — cutLocal null is\n// the only full-clear path.\nfor(const el of nav.arr){if(!el)continue;setCut(el,null,0,0);if(el.style.visibility!==\"visible\")el.style.visibility=\"visible\";}// Re-seed the latched locals in the same frame the\n// sweep starts. A multi-thousand-px jump is not a\n// scroll gesture: left alone, the next dy would blow\n// through MOBILE_FLIP_HYST_PX and collapse the band\n// through zero at exactly the handover.\nlastY=window.scrollY;flip=nav.dir;flipTarget=nav.dir;revAccum=0;}// !! HOLD IS A REAL-TIME BUDGET FROM ARM, NOT A CLOCK\n// RESTART. The jump moves the document by thousands of\n// pixels and the browser needs a beat to rasterise what\n// is now on screen. Starting the sweep in that window\n// puts the raster gap UNDERNEATH a moving band; holding\n// at t=0 puts it in a still frame.\n// s115: iOS starves rAF while a finger is down (~200ms).\n// Resetting t0 on each hold frame made a late first\n// frame restart the 1500ms sweep instead of catching up.\n// t0 was captured at arm as tArm + hold budget; elapsed\n// is max(0, now - t0). On-time frames still freeze until\n// that origin. A late frame skips the leftover hold and\n// computes raw from the arm timestamp. No second rAF.\nif(now<nav.t0){if(nav.hold>0)nav.hold--;}else{nav.hold=0;}// Abort on user scroll — but ONLY with touch evidence.\n// The jump already happened, so an abort is ALWAYS\n// coherent — the page is at the destination either way.\n// That is the structural win of jumping first, and it is\n// why no scroll lock is needed (locking body scroll on\n// iOS changes layout and fires the very resize path the\n// s93/s95 chrome guards exist to swallow).\n// s112: iOS moves scrollY with no finger (toolbar\n// transition, Gav: resize dH=128). Named abort:user but\n// nothing used to check a user did anything. A delta\n// without a live touch (or one that ended within\n// MOBILE_NAV_ABORT_TOUCH_MS, and only if that end was\n// DURING this sweep — the initiating tap's touchend is\n// before tArm and must not count) is the chrome, not the\n// user: re-baseline lastY and keep sweeping.\n// ?mfaborttouch=0 restores the old bare-delta abort.\nif(Math.abs(window.scrollY-lastY)>MOBILE_NAV_ABORT_PX){if(!mfFlagsRef.current.abortTouch){endNav(\"abort:user\");return;}const recent=mfTouchLastEnd>0&&now-mfTouchLastEnd<MOBILE_NAV_ABORT_TOUCH_MS&&mfTouchLastEnd>=nav.tArm;if(mfTouchLive>0||recent){endNav(\"abort:touch\");return;}lastY=window.scrollY;}const raw=Math.min(1,Math.max(0,now-nav.t0)/Math.max(1,mfFlagsRef.current.navMs));const t=easeAeInfluence(raw,MOBILE_NAV_SWEEP_INFLUENCE,MOBILE_NAV_SWEEP_INFLUENCE);// !! SLOTS RESOLVE AGAINST THE LIVE LAYOUT VIEWPORT, and\n// that is deliberate. The stack groups are position:fixed\n// and bottom-anchored, so their rows sit at\n// innerHeight - n*ROW. The frozen --mf-svh can be ~82px\n// taller (Firefox iOS shows a toolbar; s93 measured 811.8\n// vs 729.8), and travel computed from the frozen value\n// over-shot by exactly that and snapped back at the\n// handover. Recomputed every frame, so a toolbar that\n// animates mid-sweep corrects itself instead of leaving\n// the bars parked wrong.\n// svh remains right for the BAND's height and for section\n// geometry — those are sized in svh. It is wrong for a\n// fixed bottom-anchored box, which is what these are.\nconst liveH=window.innerHeight;const barY=(j,S)=>j<=S?NAV_H+j*MOBILE_STACK_ROW_H:liveH-(3-j)*MOBILE_STACK_ROW_H;const barAt=j=>{const a=barY(j,nav.s0);return a+(barY(j,nav.d)-a)*t;};const hairPx=MOBILE_SEC_HEAD_LEAD_HAIR_SVH/100*SVH;// !!!! THE ANCHOR BAR IS DIRECTION-DEPENDENT, and getting\n// this wrong killed every upward nav outright.\n// Measured from Gav's recording: on contact -> about the\n// band never appeared and nothing was ever revealed. The\n// reason is arithmetic, not rendering. The anchor was the\n// DESTINATION bar; on an upward nav that bar is already at\n// its pin in BOTH stack layouts — barY(1, S=2) = NAV_H+ROW\n// and barY(1, S=1) = mobileHeaderPinTop(1) = NAV_H+ROW —\n// so it has ZERO travel, the band derived from it never\n// moved, and the cut derived from the band never moved\n// either. The band sat under the nav and the passed row,\n// invisible, while the departing screen stayed whole.\n// Going DOWN the tapped bar rises to its pin; going UP it\n// is the DEPARTING section's bar that falls away. Anchor\n// to whichever one actually travels.\nconst anchorJ=nav.dir===1?nav.d:nav.s0;const anchored=(anchorJ>=0?barAt(anchorJ):liveH)-hairPx;// !! THE BAND IS OPAQUE FOR THE LENGTH OF A NAV. Gav:\n// \"we shouldn't be able to see through the transparent\n// part of the wiper. There needs to be something there so\n// we don't see the target section appearing between the\n// wipe and the stack element.\"\n// The ramp is a CHILD of this element, so a background\n// colour here sits behind the gradient and the tail\n// composites over solid page colour instead of over the\n// destination. Under real scroll the tail SHOULD show\n// what is behind it — there the content behind is\n// contiguous and moving with you. Here it is the\n// destination frozen at its landing pose, which reads as\n// a mistake rather than as depth. Nav only; the property\n// is not set in JSX, so clearing it is safe.\nif(wipe.style.backgroundColor!==MOBILE_HEADER_BG)wipe.style.backgroundColor=MOBILE_HEADER_BG;// …and it enters from OFF FRAME rather than starting\n// locked to the bar. Locked from t=0 the band opened on\n// top of the stack — Gav: \"the cyan wipe appears again and\n// covers the top of the stack (which it shouldn't)\" — and\n// its cut sliced the departing screen before anything had\n// moved. Starting off frame and converging onto the bar is\n// also the literal N3: the wipe following close behind.\n// !! WHERE THE BAND ENDS IS DIRECTION-DEPENDENT TOO, and\n// Gav's rule is the spec: \"the wipe vanishes behind\n// either a stack item (if it's there) or the navbar or\n// bottom of the page if no stack item is present.\"\n//   DOWN: it comes to rest just above the destination's\n//     bar, which the frame's TOP inset has by then pulled\n//     down to the bar above it — so it disappears behind\n//     that bar, or behind the nav when the destination is\n//     [ 01 ] and there is no bar above it.\n//   UP: there is no resting seam on frame — the seam it\n//     was riding has gone past. So it keeps going and\n//     exits, and the frame's BOTTOM inset (the top of the\n//     bar below) swallows it behind that bar, or at the\n//     page bottom when there is none.\n// Down attaches fast and then rides the bar exactly, so\n// the two stop reading as separate objects; up sweeps the\n// frame, which keeps it beside the falling bar closely\n// enough by construction and lets it overtake at the end.\nconst bandEnter=nav.dir===1?liveH+bandPx:0;const bandExit=nav.dir===1?anchored:liveH+bandPx;const bandConv=nav.dir===1?Math.min(1,t/MOBILE_NAV_BAND_ATTACH_FRAC):t;// s114 G2 — when a scroll band is on frame at arm, t=0\n// is that live pose (position AND scaleY), not the\n// computed enter slot. Snapping scaleY to nav.dir\n// collapsed a mid-seam flip through zero in one frame;\n// re-posing from barY(anchor, s0) teleported the box.\n// No seed: identical to the pre-s114 enter/exit path.\nconst seed=nav.bandSeed;const enter=seed?seed.bottom:bandEnter;const conv=seed?t:bandConv;const bandBottom=enter+(bandExit-enter)*conv;const bandTop=bandBottom-bandPx;const syNav=seed?seed.flip+((nav.dir===1?1:-1)-seed.flip)*t:nav.dir===1?1:-1;// Frame insets are the POST-jump ones for the whole\n// sweep, so the band's rest pose here is byte-identical\n// to the pose the scroll branch computes at this scroll\n// position. Using the resting nav-only frame instead\n// would leave ~30px of the band's tail showing under the\n// nav and then clip it the instant the sweep released —\n// a pop at the handover, out of nothing.\n// !! THE FRAME INSETS TRACK THE TRAVELLING BARS. They are\n// what stops the band painting over the stack, so pinning\n// them to the POST-jump layout for the whole sweep was\n// wrong at both ends: early it let the band cover bars\n// that had not moved yet, and late it clipped the band\n// away while the bars were still travelling — Gav: \"the\n// wipe fades away early and the stack continues moving to\n// the correct position\". Derived from the same barAt()\n// the bars use, so the band is hidden behind a bar\n// exactly when there IS a bar there, and it fades out\n// precisely as the column lands rather than before it.\n// The RESTING frame, for the whole sweep. These insets\n// exist to keep the band out of the stacks, and CHANGE 1\n// now does that job by z-order instead — properly, since\n// z-order occludes without also destroying the band.\n// Tracking them to the travelling bars was measured on\n// the live build as a narrow rising slot (777..812, then\n// 741..812, then 568..812) whose TOP edge landed exactly\n// on the band's own bottom edge, so the band was clipped\n// out of existence after its first ~30% — which is the\n// client's \"the cyan wipe is now moving completely\n// independently from the stack\": he was seeing the only\n// part of the trip where it still existed.\nconst navFrameTop=NAV_H+1;const navFrameBot=0;if(wipeFrame){const topStr=navFrameTop.toFixed(1)+\"px\";const botStr=navFrameBot.toFixed(1)+\"px\";if(wipeFrame.style.top!==topStr)wipeFrame.style.top=topStr;if(wipeFrame.style.bottom!==botStr)wipeFrame.style.bottom=botStr;}if(wipe.style.opacity!==\"1\")wipe.style.opacity=\"1\";wipe.style.transform=\"translate3d(0,\"+(bandTop-navFrameTop).toFixed(2)+\"px,0) scaleY(\"+syNav.toFixed(4)+\")\";tickCrt(now);// !!!! THE FROZEN SCREEN HOLDS ITS POSITION BY\n// CORRECTION, NOT BY A SINGLE MEASUREMENT. This is the\n// fix for the biggest defect in the feature, and it was\n// measured out of Gav's own footage rather than guessed.\n// Per-frame luminance across a landing -> contact tap:\n// 24 frames at 88.4 (the hero), 3 frames at 22.8, then\n// 35 frames at 29.2576 - flat to four decimal places.\n// The hero vanishes ON THE TAP FRAME and never comes\n// back. So the overlay is not painting at all on his\n// device - which is why \"the masking is broken\": there\n// is no mask, because there is nothing to mask with.\n// CAUSE: the overlay is measured immediately after the\n// jump and pinned with ONE transform. headerElRef is\n// position:sticky (s89), and a sticky element's offset\n// is not guaranteed to resolve synchronously in the same\n// task as a programmatic scroll. Chrome resolves it on\n// the rect read - measured, the strip is at full\n// luminance 4ms after the tap - so Chrome pins it\n// correctly and shows nothing wrong, which is exactly\n// why this survived so many rounds. Other engines\n// resolve on the next frame, by which point the single\n// transform was computed from a stale rect and the\n// element has moved thousands of pixels away.\n// A one-shot measurement cannot be right on every\n// engine. A CORRECTION can: read where the element is,\n// compare with where it must sit, adjust the translate\n// already written. Engine-agnostic, self-healing, and\n// one rect read per element per frame.\n// s111 Fix B: the clone host never scrolls, so the one\n// measure pass at arm is final — skip the correction.\n// s116: commitNavJump already ran navCorrectFrozen from\n// post-jump rects in this same frame; this is the\n// refinement, not the first write that makes the overlay\n// visible.\nif(!nav.clone)navCorrectFrozen(nav.ov,nav.fix);// s101 — MID-SWEEP LEAK PROBE, ?mfdebug=1 only, one line,\n// fired once at the halfway point and still legible in a\n// screenshot taken after the sweep has finished. It is\n// the discriminator the last two rounds lacked: `hid6/6`\n// only said the writes were attempted. This says whether\n// they TOOK. If it reports a leak, a style is being\n// overwritten or escaped and the fix is in our code; if\n// it reports none and the section is still on screen,\n// the styles are right and WebKit is painting through\n// them, which is a different fix entirely.\nif(!nav.probed&&raw>=.5){nav.probed=true;let leak=\"\";for(const el of nav.hide){if(!el)continue;const r=el.getBoundingClientRect();if(r.bottom<=0||r.top>=liveH)continue;const cs=window.getComputedStyle(el);if(cs.visibility!==\"hidden\"&&parseFloat(cs.opacity||\"1\")>.01)leak+=(el.id||el.getAttribute(\"data-mf\")||el.tagName.toLowerCase())+\",\";}const ovEl0=nav.ov[0];mfDebugLog(\"mid leak:\"+(leak||\"none\")+\" ovtop\"+Math.round(ovEl0.el.getBoundingClientRect().top)+\" band\"+Math.round(bandTop)+\"..\"+Math.round(bandBottom));}// The bars. Their rest positions are the POST-jump slots\n// (React committed them at arm time), so the offset runs\n// dy*(t-1): -dy at t=0, which is exactly the departure\n// slot, and 0 at rest.\n// !! Gated on the commit having actually landed. React\n// flushes a click-handler setState before paint, but the\n// ORDER against this rAF is not guaranteed, and writing\n// the offset against the OLD rest position would displace\n// every bar by a full travel for one frame. The test is\n// exact rather than a timer: post-commit the destination's\n// own row is unmounted (j === S is the real header, not a\n// stack row), so its ref going null IS the commit. Before\n// that the bars sit untransformed at their departure\n// slots, which is what t=0 wants anyway.\n// The bars. The stack holds its DEPARTURE layout for the\n// whole sweep, so every bar rests at its departure slot\n// and the offset runs dy*t — 0 at t=0, the full travel\n// at rest. One formula for all three, so the column\n// cannot come apart (N3).\n// Every bar is a fixed stack row at z 60 — above the\n// overlay, outside every clip — EXCEPT the departing\n// section's own, which is not a row (j === S is the real\n// header) and is driven directly. That one is the bar\n// that travels on a reverse nav, which is N7.\nfor(let j=0;j<3;j++){const barEl=j===nav.s0?navDestHeader(j):mStackRowRefs.current[j];if(!barEl)continue;const v=\"translate3d(0,\"+(barAt(j)-barY(j,nav.s0)).toFixed(2)+\"px,0)\";if(barEl.style.transform!==v)barEl.style.transform=v;// The departing section's bar is its real HEADER, and\n// it needs a backing for the same reason the rows do:\n// it travels out of the chrome that was painting\n// behind it. Gav: \"there is no black bar behind the\n// contact header as it moves down.\" The rows get\n// theirs at arm; this one is written per frame\n// because the scroll branch owns this property and\n// will take it back — correctly, from live rects —\n// on the frame after the handover.\nif(j===nav.s0){if(barEl.style.background!==MOBILE_HEADER_BG)barEl.style.background=MOBILE_HEADER_BG;if(barEl.style.boxShadow!==MOBILE_HEADER_GAP_FILL)barEl.style.boxShadow=MOBILE_HEADER_GAP_FILL;}}// s111 D5a — while a sweep is live, floor the travelling\n// destination row's backing at opaque. The scroll-path\n// ramp (mobileHeaderBacking) is deliberately translucent\n// until the row nears its pin, which is correct under\n// scroll and wrong over an opaque cyan band: the band\n// showed THROUGH the row (dark ghost text inside the\n// cyan slab). Same writes the departing header already\n// gets. The ramp writer is bypassed while nav is live;\n// rowBg save / deferred-restore already cover handover.\nif(nav.d>=0){const dhb=mStackRowRefs.current[nav.d];if(dhb){if(dhb.style.background!==MOBILE_HEADER_BG)dhb.style.background=MOBILE_HEADER_BG;if(dhb.style.boxShadow!==MOBILE_HEADER_GAP_FILL)dhb.style.boxShadow=MOBILE_HEADER_GAP_FILL;}}// WORK AS THE DESTINATION must show its LANDING deck\n// pose. Freezing the deck is right for the screen you are\n// leaving and wrong for the one you are arriving at:\n// anywhere above work, deck progress clamps to n-1, so\n// about->work and contact->work would reveal the LAST\n// tile and snap to the first at the handover. Safe to run\n// because the page is stationary — deckTick reads live\n// rects and resolves the rest pose. Never run it when\n// work is the OVERLAY.\nif(nav.d===0&&nav.s0!==0)deckTick();// The About screen's sticky `top` is DRIVER-OWNED and the\n// scroll branch is the only thing that writes it — so\n// during a sweep it holds the value it had before the\n// jump, and the handover moves it. Gav: \"the lower part\n// of the about section pops in.\" Same formula as the\n// scroll branch, kept here rather than extracted because\n// it is four lines and extraction would put a second\n// caller on a driver-owned property.\n{const aboutNav=mAboutScreenRef.current;if(aboutNav){const ah=aboutNav.offsetHeight;const at=Math.round(Math.min(NAV_H-MOBILE_SEC_HEAD_LEAD_SVH/100*SVH,SVH-ah));if(at!==mAboutTopRef.current){mAboutTopRef.current=at;aboutNav.style.top=at+\"px\";}}}// N4: \"The solid cyan edge of the wipe is where the mask\n// point is that reveals the about page.\" The cut rides\n// the band's LEADING hard edge, EPS inside the opaque\n// strip — the same rule and the same EPS as the scroll\n// path, so the two cannot read differently.\n//   dir +1 (down): leading edge is the box TOP; the\n//                  departing screen lives ABOVE it.\n//   dir -1 (up):   leading edge is the box BOTTOM; the\n//                  departing screen lives BELOW it.\n// Nothing reveals the arriving section, because nothing\n// has to: it is the real page, already underneath.\nfor(const o of nav.ov){const el=o.el;const r=el.getBoundingClientRect();if(nav.dir===1){const cut=bandTop+MOBILE_WIPE_CUT_EPS_PX;if(cut<=r.top){setCut(el,0,r.height,r.top);if(el.style.visibility!==\"hidden\")el.style.visibility=\"hidden\";}else{if(el.style.visibility!==\"visible\")el.style.visibility=\"visible\";setCut(el,Math.min(r.height,cut-r.top),r.height,r.top);}}else{const cut=bandBottom-MOBILE_WIPE_CUT_EPS_PX;if(cut>=r.bottom){setCut(el,0,r.height,r.top,0);if(el.style.visibility!==\"hidden\")el.style.visibility=\"hidden\";}else{if(el.style.visibility!==\"visible\")el.style.visibility=\"visible\";setCut(el,r.height,r.height,r.top,Math.max(0,cut-r.top));}}}// !! THE DESTINATION IS NOT CLIPPED. It used to get the\n// complementary cut — mirror of the overlay's, so it\n// showed only on the far side of the same line. That is\n// the prettier model and it is WRONG HERE, twice over.\n//\n// On Safari it broke the transition outright: Gav's\n// recording shows the overlay eaten away and then ~0.6s\n// of bare ambient grid before the destination appears in\n// one piece — \"the masking is broken so we don't see the\n// wipe performing as intended\", plus the contact footer\n// popping in at the end. The destination roots carry\n// sticky descendants (contact's copy and its bottom:0\n// footer) and WebKit does not clip those reliably through\n// an ancestor clip-path — the same family as s89/s90,\n// where clip-path failed to clip promoted layers and\n// mobile-deck-clip had to exist.\n//\n// And it is unnecessary: the overlay ALREADY occludes.\n// It is opaque (the hero paints its own #04060a; the\n// others are given MOBILE_HEADER_BG at arm), it covers\n// the frame, and it is cut at the band's leading edge —\n// so what shows below that cut is the destination,\n// progressively, which is the same picture the\n// complementary cut drew. One clip instead of two, one\n// fewer WebKit assumption, and the destination is left\n// exactly as the browser laid it out.\n// Do not reinstate it for symmetry.\n// One extra frame at rest before handing back, so a late\n// React commit cannot show a stale row at the join.\nif(now-nav.t0>=mfFlagsRef.current.navMs+MOBILE_NAV_TAIL_MS)endNav(\"complete\");return;}// s99: the deferred bar cleanup, one frame after the stack\n// commit (see endNav). Runs on the scroll path because that\n// is, by definition, after the sweep has handed back.\n// s115: the destination header is restored in the\n// useLayoutEffect keyed to mStackIdx, not here — a rAF\n// restore is starved for the same 200ms as the rest of\n// this loop, which is the blink.\nif(mNavClearRef.current){const pend=mNavClearRef.current;const savedBg=pend.rowBg;mNavClearRef.current=null;for(let j=0;j<3;j++){const rowEl=mStackRowRefs.current[j];if(rowEl){rowEl.style.transform=\"translate3d(0,0,0)\";// Real saved value, never \"\" — the JSX sets\n// \"transparent\" here and React would not put it\n// back (s67).\nrowEl.style.background=savedBg[j]||\"transparent\";}const hEl=navDestHeader(j);if(hEl)hEl.style.transform=\"translate3d(0,0,0)\";}}// ---- direction, with a deadband ---------------------------\nconst y=window.scrollY;const dy=y-lastY;lastY=y;// At the top of the page there is nothing above the hero to\n// reveal. Park the reverse scalar so a leftover flip=-1 strip\n// cannot sit on the landing copy, and so the next down-scroll\n// starts in the down pose rather than spending FLIP_HYST_PX\n// showing a reverse band. (s79 Bug C)\nconst atPageTop=y<=1;if(atPageTop){flip=1;flipTarget=1;revAccum=0;}else if(dy!==0){const want=dy>0?1:-1;if(want===flipTarget)revAccum=0;else{revAccum+=Math.abs(dy);if(revAccum>=MOBILE_FLIP_HYST_PX){flipTarget=want;revAccum=0;}}}if(!atPageTop&&flip!==flipTarget){const step=2*dt/Math.max(30,MOBILE_FLIP_MS);flip=flipTarget>flip?Math.min(flipTarget,flip+step):Math.max(flipTarget,flip-step);}// Slide-in gate: scrolled away from the hero, with hysteresis.\n// Classification below still decides WHICH rows once past the\n// hero; this latch only arms data-mf-stack-in. Do not derive\n// the slide from stackIdx — that flips as soon as the work\n// header's rect enters the frame, partway down the hero.\nlet stackAway=mStackAwayRef.current;if(y>=MOBILE_STACK_AWAY_ENTER_PX)stackAway=true;else if(y<=MOBILE_STACK_AWAY_EXIT_PX)stackAway=false;if(stackAway!==mStackAwayRef.current){mStackAwayRef.current=stackAway;setMStackAway(stackAway);}// ---- which seam owns the band ------------------------------\nconst seamEls=[gridWrapRef.current,studioSecRef.current,contactWrapRef.current];const seamTops=seamEls.map(el=>el?el.getBoundingClientRect().top:Infinity);// Header-rect stack index. Upcoming = the header has not\n// entered the frame (rect.top >= SVH). Passed = it has fully\n// left above restFrameTop. Current = any pixel on-screen.\n// Do NOT derive this from the section-seam midpoint: a sticky\n// header pins long before the seam crosses mid, which put the\n// live header in BOTH the pin and the upcoming stack.\n// Per-section table (unchanged encoding): work 0 passed/2\n// upcoming, about 1/1, contact 2/0. -1 on the hero.\nconst headerEls=[workHeaderRef.current,mAboutHeaderRef.current,mContactHeaderRef.current];const headerRects=headerEls.map(el=>el?el.getBoundingClientRect():null);// Latched lift state, see MOBILE_STACK_LIFT_EXIT_PX. ONE\n// value per frame, read by both the kind[0] force below\n// and the header opacity gate further down so the two\n// can never disagree by a pixel, by construction not\n// by kept-in-step convention.\nconst liftTop0=SVH-3*MOBILE_STACK_ROW_H;let lifted0=mWorkLiftedRef.current;if(headerRects[0]){const t0=headerRects[0].top;if(t0<=liftTop0+MOBILE_STACK_CATCH_EPS_PX)lifted0=true;else if(t0>=liftTop0+MOBILE_STACK_LIFT_EXIT_PX)lifted0=false;}if(atPageTop)lifted0=false;mWorkLiftedRef.current=lifted0;let stackIdx=-1;if(!atPageTop){const kind=[0,0,0];for(let i=0;i<headerEls.length;i++){const r=headerRects[i];if(!r)continue;if(r.top>=SVH)kind[i]=0;else if(r.bottom<=restFrameTop)kind[i]=2;else kind[i]=1;}// s91b: the first stack row stays in the upcoming stack\n// only while the real work header is still BEHIND that\n// stack. liftTop0 / lifted0 are computed once above\n// (latched lift state, see MOBILE_STACK_LIFT_EXIT_PX);\n// this is only the force that uses them. The header is\n// in flow at seam + MOBILE_SEC_HEAD_LEAD_SVH, which is\n// bandPx/2 + a hair, so it already tracks 2.4px under\n// the band's bottom edge for the whole journey and then\n// sticks at its pin. Measured on production at five\n// scroll stops, delta 0.02px. s90 hid it until the pin\n// and substituted a compact row in the TOP stack, which\n// is why Gav saw the bar stay in the stack instead of\n// riding the wipe. The only thing needed is to stop\n// hiding it, and to hand the row over at the pixel\n// where it emerges from behind the stack. Do NOT\n// anchor this to bandPx * Math.abs(flip): flip\n// collapses through 0 on every reversal (s84/s87) and\n// the row would dip half a band and back with the\n// seam stationary.\nif(headerRects[0]&&!lifted0)kind[0]=0;// Monotonic clamp: passed* current? upcoming* (2 >= 1 >= 0).\nlet cap=2;for(let i=0;i<3;i++){if(kind[i]>cap)kind[i]=cap;if(kind[i]<cap)cap=kind[i];}let lastCur=-1;for(let i=0;i<3;i++)if(kind[i]===1)lastCur=i;if(lastCur>=0){for(let i=0;i<lastCur;i++)if(kind[i]===1)kind[i]=2;stackIdx=lastCur;}else{let lastPass=-1;for(let i=0;i<3;i++)if(kind[i]===2)lastPass=i;if(lastPass>=0)stackIdx=Math.min(2,lastPass+1);}}// Paint-only backing ramp. Same rects as the stack classify.\n// dist = how far the in-flow header still is below its pin;\n// 0 once sticky-stuck. Linear t, both properties in lockstep.\nfor(let i=0;i<headerEls.length;i++){const el=headerEls[i];const r=headerRects[i];if(!el||!r)continue;const dist=Math.max(0,r.top-mobileHeaderPinTop(i));const t=Math.max(0,Math.min(1,1-dist/MOBILE_HEADER_BACKING_FADE_PX));const pair=mobileHeaderBacking(Math.round(t*1e3)/1e3);if(el.style.background!==pair.bg)el.style.background=pair.bg;if(el.style.boxShadow!==pair.shadow)el.style.boxShadow=pair.shadow;}// s91b: reveal the real work header for the whole ride.\n// Hidden only while it is still behind the upcoming stack.\n// Reads the single latched lifted0 computed above (see\n// MOBILE_STACK_LIFT_EXIT_PX) — not a second comparison.\n// opacity, never visibility — the departing-screen loop\n// already writes visibility on this element (two-writers\n// class). pointer-events so the invisible box cannot\n// steal taps. Teardown restores both.\n{const wh=workHeaderRef.current;if(wh){const op=lifted0?\"1\":\"0\";if(wh.style.opacity!==op)wh.style.opacity=op;const pe=lifted0?\"auto\":\"none\";if(wh.style.pointerEvents!==pe)wh.style.pointerEvents=pe;}}const passed=stackIdx<0?0:stackIdx;const upcoming=stackIdx<0?stackAway?3:0:2-stackIdx;const frameTop=restFrameTop+passed*MOBILE_STACK_ROW_H;const frameBot=upcoming*MOBILE_STACK_ROW_H;const frameH=Math.max(1,SVH-frameTop-frameBot);if(wipeFrame){const topStr=frameTop+\"px\";const botStr=frameBot+\"px\";if(wipeFrame.style.top!==topStr)wipeFrame.style.top=topStr;if(wipeFrame.style.bottom!==botStr)wipeFrame.style.bottom=botStr;}if(stackIdx!==mStackIdxRef.current){mStackIdxRef.current=stackIdx;setMStackIdx(stackIdx);}const seamY=seamTops.map(t=>t===Infinity?Infinity:t-frameTop);let best=-1;let bestD=Infinity;if(!atPageTop){const ext=bandPx*Math.abs(flip);const half=ext/2;for(let i=0;i<seamY.length;i++){const sy=seamY[i];// Occupied range in wipe-frame coords. Origin at the\n// tube's vertical CENTRE on the seam, so scaleY(flip)\n// occupies [sy - half, sy + half] in BOTH directions.\n// The tube IS the luminous extent (glow/fringe live\n// inside the ramp) — no outside-the-box bloom term.\n// Cull on the FULL range, not the seam point — a\n// strip whose seam is just below the fold still\n// paints half a band onto the hero.\nconst occTop=sy-half;const occBot=sy+half;if(occBot<-4||occTop>frameH+4)continue;// Work seam PARKS at the fold while the sticky hero\n// fills the frame. One-sided geometry only painted\n// onto the hero on a reverse strip; centred, half a\n// band sits on the hero in BOTH directions. Skip\n// whenever the seam is at/below the fold, either\n// flip. About and contact seams keep traveling —\n// the same test would snap the last band-height of\n// a still-moving wipe.\nif(i===0&&sy>=frameH-1)continue;const d=Math.abs(sy-frameH/2);if(d<bestD){bestD=d;best=i;}}}if(best<0){if(wipe.style.opacity!==\"0\")wipe.style.opacity=\"0\";}else{if(wipe.style.opacity!==\"1\")wipe.style.opacity=\"1\";// scaleY(0) is a degenerate matrix; keep a hair of height.\n// Origin is the vertical centre, so the occupied region\n// is centred on the seam: translate by -bandPx/2, then\n// scaleY(flip) collapses through the seam line.\nconst sy=flip>=0?Math.max(5e-4,flip):Math.min(-5e-4,flip);wipe.style.transform=\"translate3d(0,\"+(seamY[best]-bandPx/2).toFixed(2)+\"px,0) scaleY(\"+sy.toFixed(4)+\")\";tickCrt(now);}// ---- mask every departing screen ---------------------------\n// Seam i departs screen i. #work is masked through its two sticky\n// CHILDREN rather than the section itself: the section is many\n// screens tall on a phone, and a mask forces a layer of the\n// element's whole border box.\n// The about SCREEN is what departs, not the whole section — the\n// section is two-plus screens tall and only its last screenful is\n// ever on frame when the band crosses.\nconst aboutScreen=mAboutScreenRef.current;if(aboutScreen){// Pin at the END: tall content scrolls through, then holds on\n// its last screenful. min() so a SHORT section still pins with\n// its header under the nav instead of below the fold.\nconst h=aboutScreen.offsetHeight;const t=Math.round(Math.min(NAV_H-MOBILE_SEC_HEAD_LEAD_SVH/100*SVH,SVH-h));if(t!==mAboutTopRef.current){mAboutTopRef.current=t;aboutScreen.style.top=t+\"px\";}}const departing=[[headerElRef.current],[workHeaderRef.current,workGridRef.current],// Header is nested sticky inside the screen. Clip it too:\n// a stuck descendant can paint after the parent's cut has\n// passed. (s79 Bug E)\n[mAboutHeaderRef.current,aboutScreen]];// !! s78 BUG FIX: was `window.innerHeight`, same defect as\n// frameH above — this gates whether a departing screen is\n// \"off frame\" (cleared) or \"on frame\" (visible/clipped). A raw\n// innerHeight read here means the URL bar transitioning during\n// an upward scroll can flip a screen's visibility/clip state\n// with NOTHING having actually moved in svh-sized layout terms\n// — exactly the kind of spurious state flip that the codebase's\n// own probe hygiene rule (measure a viewport-height CHANGE\n// before trusting a mobile scroll bug) points at. SVH so this\n// gate tracks the same stable frame the CSS geometry uses.\nconst vh=SVH;for(let i=0;i<departing.length;i++){if(atPageTop){for(const el of departing[i]){if(!el)continue;setCut(el,null,0,0);if(el.style.visibility!==\"visible\")el.style.visibility=\"visible\";}continue;}const sY=seamY[i]+frameTop;// Cut rides at the LEADING hard edge minus EPS, under\n// the opaque solid. Same structure as the retired\n// inset formula, with inset replaced by EPS px:\n//   flip=+1 (down): leading is box top  = sY - band/2\n//   flip=-1 (up):   leading is box bot  = sY + band/2\n// At flip=0 the cut is on the seam (collapse-through-\n// zero). EPS > 0 keeps the cut from emerging.\nconst cut=sY+flip*(MOBILE_WIPE_CUT_EPS_PX-bandPx/2);// !! Must coincide EXACTLY with the band's hero-park cull\n// above (i === 0 && sy >= frameH - 1), or there is a window\n// with a live cut and no band over it — the s64 black-strip\n// defect by construction. The old one-sided geometry put the\n// cut BELOW the seam on a down wipe, so `cut >= r.bottom`\n// guarded this for free; centred, the cut is ABOVE the seam\n// and that guard no longer fires. The two conditions were\n// 1px of scroll apart (frameH - 1 vs sY >= vh) and that 1px\n// is a whole frame of a ~44px uncovered cut.\nconst parked=i===0&&seamY[i]>=frameH-1;for(const el of departing[i]){if(!el)continue;const r=el.getBoundingClientRect();if(sY>=vh||parked||cut>=r.bottom){// Show fully — keep the TOP clip so a pinned\n// screen whose r.top is above the VIEWPORT TOP\n// cannot paint into the iOS URL-bar overlay.\n// s92: \"above the frame\" until the anchor moved;\n// the cut is now max(0, -r.top), not frameTop.\nsetCut(el,r.height,r.height,r.top);if(el.style.visibility!==\"visible\")el.style.visibility=\"visible\";}else if(cut<=r.top){// Hide: fully clip as well as hide. visibility\n// is inherited and a child that sets visible\n// stays painted (s86); the clip does not have\n// that escape hatch.\nsetCut(el,0,r.height,r.top);if(el.style.visibility!==\"hidden\")el.style.visibility=\"hidden\";}else{if(el.style.visibility!==\"visible\")el.style.visibility=\"visible\";setCut(el,cut-r.top,r.height,r.top);}}}// s98: extracted so the nav sweep can run it for a WORK\n// DESTINATION. Not duplicated - one body, two callers.\ndeckTick();};raf=requestAnimationFrame(frame);return()=>{cancelAnimationFrame(raf);// s98: unwind a live sweep FIRST — it owns saved inline\n// values (the overlay's transform / zIndex / visibility /\n// clip, the departing header's opacity, row transforms) and\n// the generic reset below knows nothing about them. Ordering\n// matters: endNav restores, then the sweep below clears.\nendNav(\"complete\");window.removeEventListener(\"touchstart\",mfNavTouchStart);window.removeEventListener(\"touchmove\",mfNavTouchMove);window.removeEventListener(\"touchend\",mfNavTouchEnd);window.removeEventListener(\"touchcancel\",mfNavTouchEnd);if(mPromoteRef.current){mPromoteRef.current.style.willChange=\"\";mPromoteRef.current=null;}// s99: a sweep that ended in the last frame or two leaves a\n// deferred bar cleanup queued for a driver frame that will\n// now never run. Apply it here or the rows keep a travel\n// transform and a black background into Colour.\nif(mNavClearRef.current){const pend=mNavClearRef.current;const savedBg=pend.rowBg;mNavClearRef.current=null;// Teardown belt-and-braces: the live-path restore is the\n// useLayoutEffect keyed to mStackIdx. If we unmount\n// before that commit, consume the pending restore here.\nmNavHdrPendRef.current=null;const dh2=pend.d===0?workHeaderRef.current:pend.d===1?mAboutHeaderRef.current:pend.d===2?mContactHeaderRef.current:null;if(dh2)dh2.style.opacity=pend.dHdrOp;for(let j=0;j<3;j++){const rowEl=mStackRowRefs.current[j];if(rowEl){rowEl.style.transform=\"translate3d(0,0,0)\";rowEl.style.background=savedBg[j]||\"transparent\";}const hEl=navDestHeader(j);if(hEl)hEl.style.transform=\"translate3d(0,0,0)\";}}// !! FULL TEARDOWN. The signal toggle can flip Motion -> Colour\n// mid-page, and Colour's paths assume none of this is present.\nfor(const el of[headerElRef.current,workHeaderRef.current,workGridRef.current,studioSecRef.current,mAboutHeaderRef.current,mAboutScreenRef.current,// s98: contact is a departing screen only under a nav\n// sweep (seam i departs screen i, and there is no seam\n// after contact), so it is not in the scroll path's\n// groups — but a sweep can leave a clip on it, and a\n// stranded closed clip on contact is the single most\n// likely bug in this feature.\nmContactHeaderRef.current,contactWrapRef.current]){if(!el)continue;setCut(el,null,0,0);el.style.maskImage=\"none\";el.style.webkitMaskImage=\"none\";el.style.visibility=\"visible\";}// Driver-owned; React never sets this. \"\" is the resting value.\nif(mAboutScreenRef.current)mAboutScreenRef.current.style.top=\"\";for(const t of tileRefs.current){if(!t)continue;t.style.opacity=\"\";t.style.transform=\"\";t.style.filter=\"\";t.style.willChange=\"\";t.style.zIndex=\"\";t.style.marginTop=\"\";t.style.visibility=\"visible\";}for(const s of recedeScrimRefs.current){if(!s)continue;s.style.opacity=\"\";}for(const el of[workHeaderRef.current,mAboutHeaderRef.current,mContactHeaderRef.current]){if(!el)continue;// Driver-owned on motionPhone (about/contact JSX no longer\n// sets these). \"\" so Colour/desktop do not inherit a\n// stranded backing; layoutWorkGrid re-applies the work\n// header rest for the new mode.\nel.style.background=\"\";el.style.boxShadow=\"\";}if(workHeaderRef.current){workHeaderRef.current.style.opacity=\"\";workHeaderRef.current.style.pointerEvents=\"\";}if(wipe){wipe.style.opacity=\"0\";wipe.style.transform=\"translate3d(0,0,0)\";wipe.style.backgroundColor=\"\";}// Real resting values, never \"\". Matches the pre-stack JSX\n// defaults (NAV_H+1 top, 0 bottom).\nif(wipeFrame){wipeFrame.style.top=NAV_H+1+\"px\";wipeFrame.style.bottom=\"0px\";}if(mStackIdxRef.current!==-1){mStackIdxRef.current=-1;setMStackIdx(-1);}if(mStackAwayRef.current){mStackAwayRef.current=false;setMStackAway(false);}mWorkLiftedRef.current=false;};},[motionPhone]);// s225: arm 5 STRIP hover intent (see MFC_STRIP_INTENT_MS) - stamps data-mf-cwopen on the Work grid\nuseEffect(()=>{let timer=0;let pending=null;const cancel=()=>{window.clearTimeout(timer);pending=null;};const onOver=e=>{const root=rootRef.current;if(!root||root.getAttribute(\"data-mf-cwork\")!==\"5\")return;const t=e.target instanceof Element?e.target.closest(\"#work a.mf-gtile:not(.mf-wall-job)\"):null;if(!t||!root.contains(t))return cancel();const g=t.parentElement;if(!g)return;const k=String(Array.prototype.indexOf.call(g.children,t));const open=g.getAttribute(\"data-mf-cwopen\")||\"0\";if(open===k)return cancel();if(pending===t)return;cancel();pending=t;timer=window.setTimeout(()=>{pending=null;// s226i: the Work build snapshots the sliver title here, once, just before the flip (cp16 did it every frame)\nconst pre=g.__mfcBeforeOpen;if(typeof pre===\"function\"){try{pre(t);}catch(e){}}g.setAttribute(\"data-mf-cwopen\",k);},MFC_STRIP_INTENT_MS);};document.addEventListener(\"pointerover\",onOver);document.documentElement.addEventListener(\"pointerleave\",cancel);return()=>{cancel();document.removeEventListener(\"pointerover\",onOver);document.documentElement.removeEventListener(\"pointerleave\",cancel);};},[]);const layoutWorkGrid=useCallback(()=>{const sticky=workStickyRef.current;const header=workHeaderRef.current;const grid=workGridRef.current;if(!sticky||!header||!grid)return;const motion=mode===\"motion\";const mobileColourStack=!motion&&layoutWRef.current<700;const motionDesktopPin=motion&&layoutWRef.current>HEADLINE_DESKTOP_MIN;// s70: phone Motion runs the 3D deck. The wrapper becomes the deck\n// TRACK (tall), the grid becomes the sticky STAGE, and the work header\n// sticks under the nav. Everything this branch writes is written back\n// by the branches below — a stranded inline style here is desktop\n// breakage caused by a mobile change.\nconst motionPhone=MOBILE_MOTION_V2&&motion&&layoutWRef.current<GRID_MOBILE_MAX;const stackOn=motionPhone&&mfFlagsRef.current.stack;const svhPx=svhProbeRef.current?.getBoundingClientRect().height||window.innerHeight;if(stackLaidOutRef.current&&!stackOn){// Restore React-owned values, never \"\". stackMode wrote\n// position/inset/overflow on the four roots; React would\n// not put them back (s67).\nconst hero=headerElRef.current;if(hero){hero.removeAttribute(\"data-mf-screen\");hero.style.position=motionPhone?\"sticky\":\"relative\";hero.style.top=motionPhone?\"0px\":\"\";hero.style.right=\"\";hero.style.bottom=\"\";hero.style.left=\"\";hero.style.width=\"100%\";hero.style.height=motionPhone?mfSvh(100):\"100vh\";hero.style.minHeight=layoutWRef.current<=HEADLINE_PHONE_MAX?\"\":\"720px\";hero.style.maxWidth=\"\";hero.style.margin=\"\";hero.style.padding=\"\";hero.style.overflow=\"hidden\";hero.style.removeProperty(\"background-color\");hero.style.removeProperty(\"background-image\");hero.style.removeProperty(\"background-size\");hero.style.removeProperty(\"background-repeat\");hero.style.zIndex=\"1\";hero.style.transform=\"\";hero.style.willChange=\"\";hero.style.clipPath=\"\";hero.style.setProperty(\"-webkit-clip-path\",\"\");hero.style.pointerEvents=\"\";hero.style.opacity=\"\";}const work=gridWrapRef.current;if(work){work.removeAttribute(\"data-mf-screen\");work.style.position=\"relative\";work.style.top=\"\";work.style.right=\"\";work.style.bottom=\"\";work.style.left=\"\";work.style.width=\"\";work.style.maxWidth=\"\";work.style.margin=\"\";work.style.padding=\"\";work.style.overflow=\"\";work.style.removeProperty(\"background-color\");work.style.removeProperty(\"background-image\");work.style.removeProperty(\"background-size\");work.style.removeProperty(\"background-repeat\");work.style.zIndex=\"1\";work.style.transform=\"\";work.style.willChange=\"\";work.style.clipPath=\"\";work.style.setProperty(\"-webkit-clip-path\",\"\");work.style.pointerEvents=\"\";work.style.minHeight=\"\";// s186: the deck's stage height on the grid was never\n// written back; off the stack the grid sizes to its tiles.\nconst gridEl=workGridRef.current;if(gridEl){gridEl.style.height=\"\";gridEl.style.minHeight=\"\";}}const about=studioSecRef.current;if(about){about.removeAttribute(\"data-mf-screen\");about.style.position=\"relative\";about.style.top=\"\";about.style.right=\"\";about.style.bottom=\"\";about.style.left=\"\";about.style.width=\"\";about.style.height=\"\";about.style.minHeight=motionPhone?mfSvh(MOBILE_SEC_MIN_SVH):\"\";about.style.maxWidth=\"1320px\";about.style.margin=motionPhone?mfSvh(-MOBILE_SEC_TAIL_SVH)+\" auto 0\":\"0 auto\";about.style.padding=motionPhone?mfSvh(MOBILE_SEC_HEAD_LEAD_SVH)+\" 44px 0\":\"130px 44px 0\";about.style.overflow=\"\";about.style.removeProperty(\"background-color\");about.style.removeProperty(\"background-image\");about.style.removeProperty(\"background-size\");about.style.removeProperty(\"background-repeat\");about.style.zIndex=\"1\";about.style.transform=\"\";about.style.willChange=\"\";about.style.clipPath=\"\";about.style.setProperty(\"-webkit-clip-path\",\"\");about.style.pointerEvents=\"\";}const contact=contactWrapRef.current;if(contact){contact.removeAttribute(\"data-mf-screen\");contact.style.position=motionPhone?\"relative\":\"\";contact.style.top=\"\";contact.style.right=\"\";contact.style.bottom=\"\";contact.style.left=\"\";contact.style.width=\"\";contact.style.height=\"\";contact.style.minHeight=motionPhone?mfSvh(MOBILE_SEC_MIN_SVH):\"\";contact.style.maxWidth=\"\";contact.style.margin=motionPhone?mfSvh(-MOBILE_SEC_TAIL_SVH)+\" 0 0\":\"\";contact.style.padding=motionPhone?mfSvh(MOBILE_SEC_HEAD_LEAD_SVH)+\" 0 0\":\"\";contact.style.overflow=\"\";contact.style.removeProperty(\"background-color\");contact.style.removeProperty(\"background-image\");contact.style.removeProperty(\"background-size\");contact.style.removeProperty(\"background-repeat\");contact.style.zIndex=motionPhone?\"1\":\"\";contact.style.transform=\"\";contact.style.willChange=\"\";contact.style.clipPath=\"\";contact.style.setProperty(\"-webkit-clip-path\",\"\");contact.style.pointerEvents=\"\";contact.style.display=motionPhone?\"flex\":\"\";contact.style.flexDirection=motionPhone?\"column\":\"\";}for(let si=0;si<4;si++){const sb=mSbodyRefs.current[si];if(!sb)continue;sb.style.position=\"\";sb.style.left=\"\";sb.style.right=\"\";sb.style.top=\"\";sb.style.height=\"\";sb.style.willChange=\"\";sb.style.overflow=\"\";sb.style.overflowY=\"\";sb.style.overflowX=\"\";sb.style.overscrollBehavior=\"\";sb.style.setProperty(\"-webkit-overflow-scrolling\",\"\");sb.style.touchAction=\"\";sb.style.transform=\"\";sb.style.paddingTop=\"\";sb.style.paddingBottom=\"\";sb.style.display=\"\";sb.style.flexDirection=\"\";sb.style.boxSizing=\"\";sb.style.scrollSnapType=\"none\";}if(header){header.style.position=motionPhone?\"sticky\":\"\";header.style.height=motionPhone?MOBILE_STACK_ROW_H+\"px\":\"\";header.style.overflow=\"\";header.style.opacity=\"\";header.style.pointerEvents=\"\";}const aboutScreen=mAboutScreenRef.current;if(aboutScreen){aboutScreen.style.position=motionPhone?\"sticky\":\"\";aboutScreen.style.top=\"\";aboutScreen.style.display=motionPhone?\"block\":\"contents\";}stackLaidOutRef.current=false;mDrumLoopSeedRef.current=false;// s183: the Colour pager parks these same roots; if it is live,\n// put them back the way it needs them (restore ran after park).\nif(colourPagesRef.current)cpageApiRef.current.repark();}if(motion||mobileColourStack){sticky.style.position=\"static\";sticky.style.top=\"\";// !! s78 BUG FIX: this used to be an unconditional\n// `sticky.style.height = \"auto\"` here, on EVERY call — including\n// every call this function makes from the window \"resize\"\n// listener a few screens down, which iOS fires on every URL-bar\n// transition. On a phone this collapses the ~8000px work TRACK\n// (this element) to near-zero height for the few statements\n// between here and where the motionPhone branch below computes\n// and re-writes the real height — and `header.offsetHeight` /\n// `grid.offsetTop`, read in that branch to measure the deck\n// geometry, FORCE a synchronous layout while the track is still\n// collapsed. Measured directly: reproducing just that\n// reset-collapse -> forced-layout-read -> restore sequence in\n// isolation, parked 3000px into #work, moved scrollY from 3812\n// to 9919 (the page's scroll max) with NOTHING else touched —\n// no scrollTo call anywhere fires (traced, log is empty), so\n// this looks exactly like the client's report of \"scrolling\n// back up jumps to the work section\": the browser is quietly\n// clamping/re-anchoring scroll position to the transient\n// collapsed layout mid-function, and never un-does it once the\n// real height comes back one tick later. Skipping the reset for\n// motionPhone (which computes and writes its own correct\n// height a few lines below, unconditionally, every call) removes\n// the collapsed intermediate state entirely — measured, with the\n// reset skipped the identical read produced ZERO drift\n// (3812 -> 3812). motionDesktopPin / mobileColourStack still get\n// \"auto\" here exactly as before; only the phone deck skips it,\n// because only the phone deck runs a synchronous read against\n// this element's collapsed height later in the same call.\nif(!motionPhone)sticky.style.height=\"auto\";sticky.style.background=\"\";// overflow:hidden on this wrapper is the sticky containing block.\n// A nested sticky header never activates inside it (and looks\n// fine in the Framer canvas while dead on the page). Visible\n// on Motion desktop AND on the phone deck — Colour keeps the clip\n// for hover scale. !! The phone deck's sticky header and sticky\n// stage are both dead without this, and dead in a way that only a\n// real device or a probe will show.\nsticky.style.overflow=motionDesktopPin||motionPhone?\"visible\":\"\";// s213 s202: under the frame the tiles rest where the signed mockup rests them, 72 below the frame's\n// top (160) - live s201 rested them at 110 (the Mac), inside the top matte. 26 + 50.\ngrid.style.marginTop=motionPhone?\"0px\":motionDesktopPin&&mfSiteFrameRef.current?\"76px\":\"26px\";// s47 fix 4: end-of-grid breathing room, Motion desktop pin only.\n// The sticky is a flex column (margins cannot collapse through\n// it), so this extends the wrap and moves workEndY with it.\ngrid.style.marginBottom=motionDesktopPin?WORK_END_PAD_PX+\"px\":\"0px\";if(gridWrapRef.current){gridWrapRef.current.style.height=\"auto\";const headerH=header.offsetHeight||0;// s212 s201: under the frame the header is hidden and the tab sits on the frame - Work lands at\n// NAV_H (the Mac: a nav click landed it 16px low and the frame with it)\ngridWrapRef.current.style.scrollMarginTop=motionDesktopPin?(mfSiteFrameRef.current?NAV_H:NAV_H+headerH)+\"px\":\"\";}if(motionPhone&&mfFlagsRef.current.stack){// s119: four screens parked in the viewport. No document\n// track, no pin tail. Deck progress reads the work\n// sbody's scrollTop (see stack driver).\nconst hero=headerElRef.current;const work=gridWrapRef.current;const about=studioSecRef.current;const contact=contactWrapRef.current;const screens=[hero,work,about,contact];for(let si=0;si<screens.length;si++){const el=screens[si];if(!el)continue;if(el.hasAttribute(\"data-win\"))continue;el.setAttribute(\"data-mf-screen\",\"\");el.style.position=\"fixed\";el.style.top=\"0px\";el.style.right=\"0px\";el.style.bottom=\"0px\";el.style.left=\"0px\";el.style.width=\"auto\";el.style.height=\"auto\";el.style.minHeight=\"0px\";el.style.maxWidth=\"none\";el.style.margin=\"0px\";el.style.padding=\"0px\";el.style.overflow=\"hidden\";el.style.zIndex=si===0?\"2\":\"1\";el.style.transform=\"translateZ(0)\";el.style.willChange=\"transform\";const sb=mSbodyRefs.current[si];if(sb){sb.style.position=\"absolute\";sb.style.left=\"0px\";sb.style.right=\"0px\";sb.style.top=\"0px\";sb.style.height=\"100%\";sb.style.willChange=\"transform\";if(si===2){sb.style.boxSizing=\"border-box\";sb.style.paddingLeft=\"22px\";sb.style.paddingRight=\"22px\";sb.style.paddingBottom=MOBILE_STACK_ROW_H+24+\"px\";}if(si===3){sb.style.display=\"flex\";sb.style.flexDirection=\"column\";sb.style.boxSizing=\"border-box\";sb.style.overflow=\"visible\";sb.style.paddingBottom=MOBILE_CONTACT_FOOTER_RESERVE_PX+\"px\";}if(si===1||si===2){const stepWork=si===1&&mfFlagsRef.current.drum;if(stepWork){sb.style.overflow=\"hidden\";sb.style.overflowY=\"hidden\";sb.style.touchAction=\"none\";sb.style.overscrollBehavior=\"none\";sb.style.scrollSnapType=\"none\";}else{sb.style.overflowY=\"auto\";sb.style.overflowX=\"hidden\";sb.style.overscrollBehavior=\"none\";sb.style.setProperty(\"-webkit-overflow-scrolling\",\"touch\");sb.style.touchAction=\"pan-y\";}}else if(si!==3){sb.style.overflow=\"hidden\";sb.style.touchAction=\"none\";}if(si===1&&!mfFlagsRef.current.drum){sb.style.scrollSnapType=MOBILE_DECK_SNAP?\"y mandatory\":\"none\";}}}/* Measure AFTER the screens are inset:0. Reading the hero\n                   while it is still sticky 100svh was the visual-vs-layout\n                   viewport miss (s118.13). Skip a parented window. */const probe=screens.find(s=>s&&!s.hasAttribute(\"data-win\"))||hero;const hostH=Math.max(1,Math.round(probe&&probe.getBoundingClientRect().height||svhPx));if(rootRef.current)rootRef.current.style.setProperty(\"--host-h\",hostH+\"px\");const deckTop=mobileHeaderPinTop(0)+MOBILE_STACK_ROW_H;// Work screen is stack index S=0. Upcoming bars are\n// j > S (ABOUT + CONTACT here). Do not hardcode 68:\n// the reserve is the count times row height.\nconst workStackIdx=0;let upcomingRows=0;for(let j=0;j<MOBILE_STACK_LABELS.length;j++){if(j>workStackIdx)upcomingRows++;}const upcomingReserve=upcomingRows*MOBILE_STACK_ROW_H;const readout=workReadoutRef.current;const readoutH=readout?readout.offsetHeight||0:0;workReadoutHRef.current=readoutH;// Bars sit at innerHeight - n*ROW (same as the stack\n// driver). The fixed screen rect can be taller than\n// that on a large phone / Firefox toolbar, which put\n// the readout under the ABOUT bar. Compose to the\n// shorter of the two.\nconst liveH=Math.round(window.innerHeight);const composeH=Math.max(1,Math.min(hostH,liveH));const stageH=Math.max(220,composeH-deckTop-upcomingReserve-readoutH-8);if(readout){// Pin directly under the deck stage. stageH already\n// subtracts readoutH and the upcoming-row reserve, so\n// deckTop + stageH + readoutH lands exactly on the top\n// edge of the ABOUT bar.\nconst rtop=deckTop+stageH+\"px\";if(readout.style.top!==rtop)readout.style.top=rtop;}const padL=parseFloat(window.getComputedStyle(sticky).paddingLeft)||0;const bleed=Math.max(0,padL-MOBILE_DECK_GUTTER_PX);grid.style.marginLeft=-bleed+\"px\";grid.style.marginRight=-bleed+\"px\";grid.style.width=\"calc(100% + \"+2*bleed+\"px)\";// Visible tile width: 10px left + 10px before the\n// dial + dial gutter. ?mfdrum=0 and the jump path\n// use full clientWidth.\nconst tileW=Math.max(1,(grid.clientWidth||1)-(mfFlagsRef.current.drum?10+10+MOBILE_DIAL_W_PX:0));const tileH=Math.round(tileW/MOBILE_TILE_ASPECT);const nTiles=visibleCountRef.current;const wrap=mfFlagsRef.current.drum&&nTiles>1;const stepMode=mfFlagsRef.current.drum;const step=tileH;const span=stepMode?0:wrap?(nTiles+1)*step:Math.max(0,nTiles-1)*step;const snapTrack=workSnapTrackRef.current;if(snapTrack){if(stepMode){if(snapTrack.style.display!==\"none\")snapTrack.style.display=\"none\";}else if(snapTrack.style.display!==\"block\"){snapTrack.style.display=\"block\";}const nSnap=wrap?nTiles+2:nTiles;const kids=snapTrack.children;for(let siSnap=0;siSnap<kids.length;siSnap++){const el=kids[siSnap];if(siSnap>=nSnap){if(el.style.display!==\"none\")el.style.display=\"none\";continue;}if(el.style.display!==\"block\")el.style.display=\"block\";const topStr=(siSnap*step).toFixed(1)+\"px\";if(el.style.top!==topStr)el.style.top=topStr;const hStr=step.toFixed(1)+\"px\";if(el.style.height!==hStr)el.style.height=hStr;}}const loopSb=mSbodyRefs.current[1];if(wrap&&loopSb&&!stepMode&&!mDrumLoopSeedRef.current){loopSb.scrollTop=step;mDrumLoopSeedRef.current=true;}sticky.style.position=\"relative\";sticky.style.top=\"0px\";sticky.style.overflow=\"visible\";sticky.style.paddingTop=deckTop+\"px\";sticky.style.height=hostH+span+\"px\";header.style.position=\"absolute\";header.style.height=\"0px\";header.style.overflow=\"hidden\";header.style.opacity=\"0\";header.style.pointerEvents=\"none\";grid.style.position=\"sticky\";grid.style.top=deckTop+\"px\";grid.style.height=stageH+\"px\";grid.style.perspective=\"\";grid.style.overflow=\"hidden\";grid.style.marginTop=\"0px\";mDeckGeomRef.current={stageTop:deckTop,stageH,span,tileH,stageOffset:0};workHeaderBottomRef.current=deckTop;const aboutScreen=mAboutScreenRef.current;if(aboutScreen){aboutScreen.style.position=\"relative\";aboutScreen.style.top=\"0px\";aboutScreen.style.display=\"block\";}stackLaidOutRef.current=true;}else if(motionPhone){// ---- TRACK / STAGE -------------------------------------\nconst leadPx=MOBILE_SEC_HEAD_LEAD_SVH/100*svhPx;const tailPx=MOBILE_SEC_TAIL_SVH/100*svhPx;sticky.style.paddingTop=leadPx+\"px\";header.style.position=\"sticky\";// Same formula as about/contact (mobileHeaderPinTop):\n// NAV_H + passedRows*ROW + LEAD. Work has 0 passed rows.\nheader.style.top=MOBILE_HEADER_PIN_TOP+\"px\";header.style.zIndex=\"3\";const restBack=mobileHeaderBacking(1);header.style.background=restBack.bg;header.style.boxShadow=restBack.shadow;workHeaderBottomRef.current=MOBILE_HEADER_PIN_TOP+(header.offsetHeight||0);const headerH=header.offsetHeight||0;const stageTop=MOBILE_HEADER_PIN_TOP+headerH;const stageH=Math.max(220,svhPx-stageTop-16);// Widen the stage toward the screen edges. mf-pad-x on the\n// sticky (18/28) is kept so the HEADER stays aligned with\n// the nav; the GRID takes a negative margin of (pad −\n// gutter). Restored to 0 / 100% in every non-phone branch\n// — never \"\" (React owns width/margin on this node).\nconst padL=parseFloat(window.getComputedStyle(sticky).paddingLeft)||0;const bleed=Math.max(0,padL-MOBILE_DECK_GUTTER_PX);grid.style.marginLeft=-bleed+\"px\";grid.style.marginRight=-bleed+\"px\";grid.style.width=\"calc(100% + \"+2*bleed+\"px)\";const tileH=Math.round((grid.clientWidth||1)/MOBILE_TILE_ASPECT);// span drives tile progress and EXCLUDES the pin tail, so the\n// existing clamp holds the last tile still through the pin.\n// visibleCountRef, not the local `n` — that is declared\n// further down this function, after the branch.\nconst span=Math.max(0,visibleCountRef.current-1)*(MOBILE_TILE_SCROLL_SVH/100)*svhPx;// !! offsetTop ON A STICKY ELEMENT REPORTS ITS STUCK\n// POSITION, NOT ITS FLOW POSITION. Measured on production:\n// grid.offsetTop ran 175 -> 1248 -> 3248 -> 5248 -> 7248 as\n// the page scrolled, exactly cancelling #work's rect.top, so\n// the driver's flowTop was a CONSTANT 92 and deck progress\n// computed as 0 for the whole 8200px of the work section. The\n// deck never advanced past tile 1 and the section read as\n// unscrollable. Force the element static for the read so the\n// offset is the honest flow one, then re-apply sticky.\ngrid.style.position=\"static\";const stageOffset=grid.offsetTop;grid.style.position=\"sticky\";grid.style.top=stageTop+\"px\";grid.style.height=stageH+\"px\";// Perspective lives on the inner stage wrapper so the 3D\n// context is the viewport-sized stage, not this sticky\n// containing block (~7971px → a 1125x23913 layer at DPR3).\ngrid.style.perspective=\"\";grid.style.overflow=\"hidden\";// The track is the wrapper: stage + the tiles' scroll + the\n// pin tail that #about overlaps with its negative margin.\n// The tail is the deck stage's sticky slack: it is what keeps\n// the stage pinned while the #about seam crosses the frame.\n// At pin-only it ran out ~110px early and the stage scrolled\n// away mid-wipe.\nsticky.style.height=stageH+span+tailPx+\"px\";mDeckGeomRef.current={stageTop,stageH,span,tileH,stageOffset};}else if(motionDesktopPin){grid.style.position=\"\";grid.style.top=\"\";grid.style.perspective=\"\";grid.style.overflow=\"\";grid.style.marginLeft=\"auto\";grid.style.marginRight=\"auto\";grid.style.width=\"100%\";sticky.style.paddingTop=\"\";header.style.position=\"sticky\";// sticky pins border-box at top — bare NAV_H drops WORK_PAD_TOP\nheader.style.top=WORK_HEADER_PIN_TOP+\"px\";header.style.zIndex=\"2\";// Header stays transparent — the tile matte lives on the grid\n// (mask-image), so there is no painted scrim behind the text.\nheader.style.background=\"transparent\";header.style.boxShadow=\"\";workHeaderBottomRef.current=WORK_HEADER_PIN_TOP+(header.offsetHeight||0);}else{header.style.position=\"\";header.style.top=\"\";header.style.zIndex=\"\";header.style.background=\"\";header.style.boxShadow=\"\";workHeaderBottomRef.current=0;grid.style.maskImage=\"\";grid.style.webkitMaskImage=\"\";grid.style.maskRepeat=\"\";grid.style.webkitMaskRepeat=\"\";grid.style.position=\"\";grid.style.top=\"\";grid.style.perspective=\"\";grid.style.overflow=\"\";grid.style.marginLeft=\"auto\";grid.style.marginRight=\"auto\";grid.style.width=\"100%\";sticky.style.paddingTop=\"\";}}else{sticky.style.position=\"sticky\";// Flush under fixed nav; solid fill so hero never peeks through padding\nsticky.style.top=WORK_STICKY_TOP+\"px\";sticky.style.height=`calc(100vh - ${WORK_STICKY_TOP}px)`;sticky.style.background=\"#07080c\";sticky.style.overflow=\"\";header.style.position=\"\";header.style.top=\"\";header.style.zIndex=\"\";header.style.background=\"\";header.style.boxShadow=\"\";grid.style.marginTop=\"22px\";grid.style.marginBottom=\"0px\";grid.style.marginLeft=\"auto\";grid.style.marginRight=\"auto\";grid.style.width=\"100%\";grid.style.position=\"\";grid.style.top=\"\";grid.style.perspective=\"\";grid.style.overflow=\"\";sticky.style.paddingTop=\"\";workHeaderBottomRef.current=0;grid.style.maskImage=\"\";grid.style.webkitMaskImage=\"\";grid.style.maskRepeat=\"\";grid.style.webkitMaskRepeat=\"\";// Slightly longer pin range so colour reveal can reach 1.0 at rest\nif(gridWrapRef.current){gridWrapRef.current.style.height=mfcRideRef.current?MFC_RIDE_WORK_H:\"132vh\";gridWrapRef.current.style.scrollMarginTop=\"\";}}const cs=window.getComputedStyle(sticky);const padBottom=parseFloat(cs.paddingBottom)||0;const rowGap=12;const n=visibleCountRef.current;const cols=gridColsRef.current;const rows=Math.max(1,Math.ceil(n/cols));let rowH;if(motion||mobileColourStack){const gridW=grid.clientWidth;const colGap=12;const tileW=(gridW-colGap*(cols-1))/cols;// Always 16:9 for motion + mobile colour stack (no square crop)\nrowH=tileW*9/16;}else{// Viewport-accurate space from grid top → sticky bottom (handles sticky subpixel).\nconst sRect=sticky.getBoundingClientRect();const gRect=grid.getBoundingClientRect();const safety=12;const available=Math.floor(sRect.bottom-gRect.top-padBottom-safety);const gaps=rowGap*(rows-1);rowH=Math.floor((available-gaps)/rows);// Shrink until the full grid fits — never clip the last row\nwhile(rowH>80&&rows*rowH+gaps>available)rowH--;rowH=Math.max(80,rowH);}if(!motionPhone){// s190: the wall sizes itself. A packed rowH write would crush\n// the lead (~371x139 plus caption) and the 16:9 tiles plus theirs.\nif(!colourWallRef.current){for(const el of tileRefs.current){if(el)el.style.height=rowH+\"px\";}}}else{// Height, marginTop and zIndex are layout-affecting — write them\n// here (resize / mode), never in the rAF deck loop. Matches the\n// sandbox, which sets marginTop in layout() only. (s79 Bug A)\nconst{tileH}=mDeckGeomRef.current;const mt=-tileH/2+\"px\";const sampleHold={el:null};tileRefs.current.forEach((el,i)=>{if(!el)return;el.style.height=tileH+\"px\";if(el.style.marginTop!==mt)el.style.marginTop=mt;// Drum driver owns zIndex (nearer cards paint on top).\n// Jump and ?mfdrum=0 keep DOM-order z from layout.\nif(!stackOn||!mfFlagsRef.current.drum){const z=String(i);if(el.style.zIndex!==z)el.style.zIndex=z;}if(!sampleHold.el)sampleHold.el=el;});// s160: fixed aperture = the o===0 rest box. Copy the same\n// left/right/top/height/marginTop this pass wrote onto tiles\n// so the frame cannot drift from the tile it frames.\nconst frame=workSlotFrameRef.current;// A plain `let` assigned only inside the forEach callback gets\n// narrowed to `never` by control-flow analysis, and every .style\n// read below is then an error. An explicit annotation does not\n// help - the narrowing survives it. A property on an object holder\n// is never narrowed across a callback boundary. Five diagnostics,\n// one cause.\nconst sampleTile=sampleHold.el;if(frame){if(stackOn&&sampleTile){const left=sampleTile.style.left;const right=sampleTile.style.right;const top=sampleTile.style.top;const height=sampleTile.style.height;const marginTop=sampleTile.style.marginTop;if(frame.style.left!==left)frame.style.left=left;if(frame.style.right!==right)frame.style.right=right;if(frame.style.top!==top)frame.style.top=top;if(frame.style.height!==height)frame.style.height=height;if(frame.style.marginTop!==marginTop)frame.style.marginTop=marginTop;if(frame.style.visibility!==\"visible\")frame.style.visibility=\"visible\";}else if(frame.style.visibility!==\"hidden\"){frame.style.visibility=\"hidden\";}}}},[mode,layoutW]);const layoutWorkGridRef=useRef(layoutWorkGrid);layoutWorkGridRef.current=layoutWorkGrid;/** s95: hold --mf-svh at the largest viewport height seen.\n     *  NOT a settle-then-relayout of layoutWorkGrid. The s93 comment in\n     *  the effect below still stands: on Firefox iOS svh is not stable\n     *  mid-toolbar-transition, so layoutWorkGrid must not re-run more\n     *  often and must not be based on svh being stable. This freezes a\n     *  SEPARATE, monotonically-growing custom property that the CSS\n     *  output (mfSvh) reads instead of raw svh. Growing it during a\n     *  chrome resize does not re-derive the deck track. */const syncFrozenSvh=useCallback(()=>{const svhEl=svhProbeRef.current;const lvhEl=lvhProbeRef.current;const svhH=svhEl?svhEl.getBoundingClientRect().height:0;const lvhH=lvhEl?lvhEl.getBoundingClientRect().height:0;const measured=Math.max(svhH,lvhH);if(!(measured>0))return;if(measured>mMaxSvhRef.current+.5){mMaxSvhRef.current=measured;if(rootRef.current){rootRef.current.style.setProperty(\"--mf-svh\",measured.toFixed(1)+\"px\");}}},[]);const resetFrozenSvh=useCallback(()=>{mMaxSvhRef.current=0;syncFrozenSvh();},[syncFrozenSvh]);function setTileRevealPose(el,eased,rise){// !! OWNERSHIP RULE (s70). On Motion phones the 3D deck owns every\n// tile's transform / opacity / filter, every frame. The reveal cascade\n// must not write them too — two rAF writers on the same properties is\n// the s50 bug class. Everything else in the reveal loop (the driver,\n// packSettled, the play-marker sweep) keeps running untouched.\nif(motionPhoneRef.current)return;el.style.opacity=String(eased);el.style.transform=`translateY(${(1-eased)*rise}px)`;el.style.filter=\"\";el.style.clipPath=\"\";}/**\n     * Pack-stretch cascade: cascadeSpan + tileDur are independent.\n     * t = progress × (span + tileDur); start = rank/(n-1)×span;\n     * local = (t − start) / tileDur. Returns linear local (for glitch) + eased.\n     */function tileCascadeLocal(progress,rank,n,cascadeSpan,tileDur,easePower){const p=clamp(progress,0,1);if(p>=.999)return{local:1,eased:1};const count=Math.max(1,n|0);const r=Math.max(0,Math.min(rank,count-1));const dur=Math.max(.2,tileDur);const span=Math.max(0,cascadeSpan);const start=count<=1?0:r/(count-1)*span;const packLen=Math.max(dur,span+dur);const t=p*packLen;const local=clamp((t-start)/dur,0,1);return{local,eased:easeOutPower(local,easePower)};}/** Inject scan/bar/edge chrome once per motion credit tile. */function ensureMotionGlitchChrome(el){if(el.dataset.mfGlitchChrome===\"1\")return;el.dataset.mfGlitchChrome=\"1\";const mk=cls=>{const d=document.createElement(\"div\");d.className=cls;d.setAttribute(\"aria-hidden\",\"true\");el.appendChild(d);return d;};mk(\"mf-glitch-scan\");mk(\"mf-glitch-bar\");mk(\"mf-glitch-edge\");}function clearMotionGlitchChrome(el){el.classList.remove(\"mf-glitch-boot\");// !! s72 / s80. On Motion phones the deck owns tile filter (it\n// clears leftover brightness; recede darkening is a child scrim,\n// not filter). The reveal loop calls this every frame (mobile\n// glitch is 0, so tiles take the no-glitch path), so clearing\n// filter here used to undarken receded tiles and would now fight\n// the leftover-clear. Glitch-chrome clears below are still safe:\n// nothing on a phone sets them.\nif(!motionPhoneRef.current){el.style.filter=\"\";el.style.clipPath=\"\";}const scan=el.querySelector(\".mf-glitch-scan\");const bar=el.querySelector(\".mf-glitch-bar\");const edge=el.querySelector(\".mf-glitch-edge\");if(scan)scan.style.opacity=\"0\";if(bar)bar.style.opacity=\"0\";if(edge){edge.style.opacity=\"0\";edge.style.borderColor=\"transparent\";edge.style.boxShadow=\"none\";}}/**\n     * Iron Man HUD boot — playground parity (grid-reveal.html).\n     * Drives filter / clip / jitter from LINEAR local; opacity uses eased.\n     */function applyMotionGlitch(el,local,rank,intensity,eased,rise){ensureMotionGlitchChrome(el);const scan=el.querySelector(\".mf-glitch-scan\");const bar=el.querySelector(\".mf-glitch-bar\");const edge=el.querySelector(\".mf-glitch-edge\");if(intensity<=.001||local<=0||local>=.985){clearMotionGlitchChrome(el);el.style.opacity=String(eased);el.style.transform=`translateY(${(1-eased)*rise}px)`;return;}el.classList.add(\"mf-glitch-boot\");const L=clamp(local,0,1);// Broad envelope: fast ramp-in, hold, die in last ~30%\nconst up=clamp(L/.1,0,1);const down=clamp((1-L)/.32,0,1);const env=Math.min(up,1,down)*intensity;const t=glitchTimeRef.current+rank*2.1;const n1=hash01(rank,Math.floor(t*42));const n2=hash01(rank+3,Math.floor(t*55));const n3=hash01(rank+7,Math.floor(t*31));const n4=hash01(rank+11,Math.floor(t*19));const hard=n1>.62;const flicker=hard?.08+n2*.45:n4>.88?.55:1;const flickerOp=1-(1-flicker)*Math.min(1,env);const jx=(n2-.5)*36*env;const jy=(n3-.5)*12*env;const skew=(n4-.5)*4.5*env;const split=6+n1*18;el.style.filter=`drop-shadow(${(split*env).toFixed(1)}px 0 0 rgba(68,227,240,${Math.min(.95,.75*env)})) `+`drop-shadow(${(-split*.85*env).toFixed(1)}px 0 0 rgba(255,40,80,${Math.min(.85,.55*env)})) `+`drop-shadow(0 ${((n3-.5)*6*env).toFixed(1)}px 0 rgba(68,227,240,${.25*env})) `+`contrast(${1+.55*env}) brightness(${1+.28*env}) saturate(${1+.4*env})`;const open=clamp((L-.02)/.62,0,1);let band=3+(100-3)*easeOutPower(open,1.35);if(n1>.9&&L<.85)band=Math.min(band,12+n2*28);const mid=48+(n3-.5)*22*(1-open);const top=clamp(mid-band/2,0,100);const bot=clamp(mid+band/2,0,100);el.style.clipPath=open>=.99?\"\":`inset(${top}% -12% ${100-bot}% -12%)`;if(scan){scan.style.opacity=String(Math.min(1,.25+env*.95));scan.style.transform=`translateY(${((n1-.5)*14).toFixed(1)}px)`;}if(bar){const barY=4+(L*160+glitchTimeRef.current*40+n2*10)%92;bar.style.top=`${barY}%`;bar.style.height=n1>.75?\"3px\":\"2px\";bar.style.opacity=String(Math.min(1,env*(.55+n1*.55)));}if(edge){edge.style.opacity=String(Math.min(1,env*1.05));edge.style.borderColor=`rgba(68,227,240,${Math.min(.95,.35+env*.65)})`;edge.style.boxShadow=`inset 0 0 ${(12+env*28).toFixed(0)}px rgba(68,227,240,${.18+env*.4}),`+`0 0 ${(6+env*16).toFixed(0)}px rgba(68,227,240,${.12+env*.3})`;}el.style.opacity=String(eased*flickerOp);el.style.transform=`translate(${jx.toFixed(2)}px, ${((1-eased)*rise+jy).toFixed(2)}px) skewX(${skew.toFixed(2)}deg)`;}function resetMotionGlitchLocks(){glitchSettledRef.current=[];glitchMaxLocalRef.current=[];glitchLastProgressRef.current=0;}function updateMotionGridReveal(){const n=visibleCountRef.current;const order=revealOrderRef.current;const progress=revealSmoothed.current;const mobile=layoutWRef.current<GRID_REVEAL.mobileMaxW;const m=GRID_REVEAL.motion;const cascadeSpan=grBand(m.cascadeSpan,mobile);const tileDur=grBand(m.tileDur,mobile);const easePower=grBand(m.easePower,mobile);const rise=grBand(m.risePx,mobile);const glitchIntensity=grBand(m.glitch,mobile);const reduceMotion=typeof window!==\"undefined\"&&window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;const useGlitch=!reduceMotion&&glitchIntensity>.001;// Pack fully in → force every tile settled (no lingering mid-boot noise).\nconst packDone=progress>=.995;const wasPackDone=motionPackDoneRef.current;motionPackDoneRef.current=packDone;// Both edges: settle arms the row-reveal, reset clears it.\nif(packDone!==wasPackDone){rowRevealTickRef.current?.();packSettledTickRef.current?.(packDone);}// Live HUD noise only while the page is genuinely moving AND the pack is\n// still advancing. The velocity latch (glitchScrollingRef, set in the rAF\n// loop) is what kills the middle-click-autoscroll infinite glitch: its\n// endless micro-creep keeps the progress delta positive but sits below the\n// velocity floor, so the latch reads \"stopped\" and the glitch clears.\nconst rising=bootDrivenRef.current||glitchScrollingRef.current&&progress>glitchLastProgressRef.current+5e-5;glitchLastProgressRef.current=Math.max(glitchLastProgressRef.current,progress);for(let i=0;i<tileRefs.current.length;i++){const el=tileRefs.current[i];if(!el||i>=n)continue;// Visibility gate lives HERE, never on the driver. Holding\n// revealSmoothed back for off-screen rows means progress never\n// hits 0.995, packSettled never flips, markers never sweep.\nconst bootVis=bootVisibleRef.current;if(bootVis&&bootVis[i]===false){glitchSettledRef.current[i]=true;glitchMaxLocalRef.current[i]=1;clearMotionGlitchChrome(el);setTileRevealPose(el,1,0);continue;}const rank=Math.max(0,order.indexOf(i));const{local}=tileCascadeLocal(progress,rank,n,cascadeSpan,tileDur,easePower);// Ratchet per-tile local so free-scroll jitter never rewinds boot.\nconst prevMax=glitchMaxLocalRef.current[i]??0;const maxLocal=Math.max(prevMax,local);glitchMaxLocalRef.current[i]=maxLocal;const maxEased=easeOutPower(maxLocal,easePower);if(packDone||maxLocal>=.985){glitchSettledRef.current[i]=true;}if(!useGlitch||glitchSettledRef.current[i]){clearMotionGlitchChrome(el);setTileRevealPose(el,packDone||glitchSettledRef.current[i]?1:maxEased,rise);continue;}if(!rising){// Parked mid-boot: keep opacity/lift, kill looping noise.\nclearMotionGlitchChrome(el);setTileRevealPose(el,maxEased,rise);continue;}// Boot chrome from ratcheted local only (never re-enter from a lower local).\napplyMotionGlitch(el,maxLocal,rank,glitchIntensity,maxEased,rise);}}function sampleBootVisibility(){const vis=[];const vh=window.innerHeight;for(let i=0;i<tileRefs.current.length;i++){const el=tileRefs.current[i];if(!el){vis[i]=false;continue;}const r=el.getBoundingClientRect();vis[i]=r.top<vh&&r.bottom>0;}bootVisibleRef.current=vis;}/** Wipe-owned Motion tile boot. Resets progress + locks + packSettled,\n     *  then drives revealSmoothed 0→1 on a clock. Call from the console\n     *  (`window.__mfStartWorkBoot()`) to verify glitch chrome with the\n     *  page stationary. *//** s215 s208: replay the frame's build-in (Work or Contact) - restarted each arrival, cleared after it ends */function bootSiteFrame(sec){const f=sec?sec.querySelector(\".mf-sframe\"):null;if(!f)return;// s209: already started at the crossing - a second start would blank it again (the blink the Mac measured)\nconst now=performance.now();if(f.getAttribute(\"data-mf-fboot\")===\"1\"&&now-(f._mfFbootAt||0)<200)return;f._mfFbootAt=now;f.removeAttribute(\"data-mf-fboot\");void f.offsetWidth;f.setAttribute(\"data-mf-fboot\",\"1\");window.clearTimeout(f._mfFboot);f._mfFboot=window.setTimeout(()=>f.removeAttribute(\"data-mf-fboot\"),1e3);}function startWorkBoot(){if(typeof window===\"undefined\")return;bootSiteFrame(gridWrapRef.current);cancelAnimationFrame(bootRafRef.current);bootRafRef.current=0;sampleBootVisibility();revealSmoothed.current=0;resetMotionGlitchLocks();motionPackDoneRef.current=false;packSettledTickRef.current?.(false);bootDrivenRef.current=true;const t0=performance.now();const step=now=>{if(!bootDrivenRef.current)return;const t=clamp((now-t0)/MOTION_BOOT_MS,0,1);revealSmoothed.current=t;if(t>=1){revealSmoothed.current=1;bootDrivenRef.current=false;bootVisibleRef.current=null;updateMotionGridReveal();return;}updateMotionGridReveal();bootRafRef.current=requestAnimationFrame(step);};updateMotionGridReveal();bootRafRef.current=requestAnimationFrame(step);}function updateColourGridReveal(progress){const n=visibleCountRef.current;const order=revealOrderRef.current;const mobile=layoutWRef.current<GRID_REVEAL.mobileMaxW;const c=GRID_REVEAL.colour;const rise=grBand(c.risePx,mobile);const cascadeSpan=grBand(c.cascadeSpan,mobile);const tileDur=grBand(c.tileDur,mobile);const easePower=grBand(c.easePower,mobile);for(let i=0;i<tileRefs.current.length;i++){const el=tileRefs.current[i];if(!el||i>=n)continue;const rank=Math.max(0,order.indexOf(i));const{eased}=tileCascadeLocal(progress,rank,n,cascadeSpan,tileDur,easePower);setTileRevealPose(el,eased,rise);}}/** True when work is fully below the fold or we're back at page top — safe to snap-reset. */function revealShouldReset(wrap){// s174: never in the Colour phone pager (nothing scrolls the document)\nif(colourPagesRef.current)return false;if(window.scrollY<=GRID_REVEAL.resetTopPx)return true;if(!wrap)return false;return wrap.getBoundingClientRect().top>=window.innerHeight-2;}useEffect(()=>{colourProgressRef.current=0;revealSmoothed.current=0;resetMotionGlitchLocks();// s95: freeze --mf-svh from the probes before the first layout\n// so a max already available (Safari lvh) is written on the same\n// tick. Not a settle-then-relayout: layoutWorkGrid is still called\n// exactly as before, just after the unit is held.\nsyncFrozenSvh();layoutWorkGrid();// Re-measure after sticky geometry settles (first paint can be 1 frame short)\nconst relayout=requestAnimationFrame(()=>{// s95: probes can still read 0 on the first tick (layout not\n// flushed). Re-sync before the settle layout. Still not a\n// settle-then-relayout of the s93 kind -- we are not waiting\n// for svh to \"stabilise\".\nsyncFrozenSvh();layoutWorkGrid();});// s93: Firefox iOS fires resize while its toolbar slides. That is a\n// chrome transition, not a real resize. layoutWorkGrid re-derives\n// the Motion-phone deck track and writes a new sticky height, which\n// changes the document height; iOS then remaps scrollY onto the new\n// total. Recovered from Gav's recording as a -783px single-frame\n// jump on the exact frame the toolbar appeared, after a clean\n// decelerating flick, then +315px back as it left. Phone width\n// (layoutWRef vs GRID_MOBILE_MAX, the same band rule as gridBand)\n// and a width unchanged to within a pixel keep desktop window\n// drags and device rotation on the old path. That tolerance is\n// deliberate and must not be tightened back to ===: a real\n// resize moves the width by a pixel or more and a rotation by\n// hundreds, whereas a sub-pixel width twitch during the toolbar\n// animation would make the guard silently never fire - and a\n// silently disabled guard is indistinguishable from no fix at\n// all. Matches the < 1 convention the width measure already uses.\n// !! Skipping is correct, and NOT for the reason you would guess.\n// On Firefox iOS the app resizes the WKWebView, so svh == lvh ==\n// innerHeight there and the 100svh probe tracks the toolbar too:\n// svhPx, leadPx, tailPx, stageH, span and the sticky track height\n// ALL move during the transition, not just the documented\n// innerHeight fallback. So there is NO stable viewport reference\n// mid-transition, and the skip deliberately FREEZES pre-transition\n// geometry - which is exactly what a stable svh would have given.\n// Do not \"fix\" this later with a settle-then-relayout on the\n// theory that svh is stable; it is not, on the only browser that\n// has the bug. lastInnerW / lastInnerH update before any skip\n// so a slow toolbar animation cannot accumulate past the\n// threshold. No debounce, no deferred re-layout: both toolbar\n// states are long-lived, so a settle-then-relayout would fire\n// constantly and reintroduce the remap.\nlet lastInnerW=window.innerWidth;let lastInnerH=window.innerHeight;const onResize=()=>{// s95: a chrome transition can still reveal a LARGER viewport\n// than previously seen. Grow --mf-svh even on the branch that\n// returns early; the s93 skip is about layoutWorkGrid, not\n// about freezing the CSS unit.\nsyncFrozenSvh();const w=window.innerWidth;const h=window.innerHeight;const dW=w-lastInnerW;const dH=h-lastInnerH;lastInnerW=w;lastInnerH=h;const absH=Math.abs(dH);// No absH > 0 term on purpose: two coalesced resize events\n// reading the same innerHeight mid-animation give dH == 0,\n// and excluding them would fall through to a relayout at a\n// transient viewport - the bug, straight through the guard.\n// A zero-delta resize carries no layout information a phone\n// needs anyway.\nif(Math.abs(dW)<1&&absH<=MOBILE_CHROME_RESIZE_MAX_PX&&layoutWRef.current<GRID_MOBILE_MAX){return;}// Genuine resize (width moved, or height moved more than a\n// chrome swing): the old maximum is from a different viewport\n// and must not persist.\nresetFrozenSvh();layoutWorkGrid();};window.addEventListener(\"resize\",onResize,{passive:true});let raf=0;const loop=now=>{// Motion HUD glitch noise clock (seconds)\nif(typeof now===\"number\")glitchTimeRef.current=now*.001;// Scroll-velocity quiet-latch for the Motion glitch. Time-based px/ms\n// so it's refresh-rate independent. An active assisted ride always\n// counts as scrolling (covers the ease-in/out near-zero endpoints).\nif(typeof now===\"number\"){const prev=glitchPrevNowRef.current;const dt=prev?Math.min(100,now-prev):16;glitchPrevNowRef.current=now;const y=window.scrollY;const dy=Math.abs(y-glitchScrollYRef.current);glitchScrollYRef.current=y;if(dy/Math.max(1,dt)<GLITCH_QUIET_VEL)glitchQuietMsRef.current+=dt;else glitchQuietMsRef.current=0;glitchScrollingRef.current=autoScrollActive.current||glitchQuietMsRef.current<GLITCH_QUIET_MS;}// Skip while a lightbox is open — isolation test showed the drag\n// model is cheap; the always-on per-tile style writes are not.\nif(!overlayActiveRef.current){// Hero→work assisted ride owns reveal progress (timed scrub so\n// stagger plays over AUTOSCROLL_MS). Reverse rides do NOT scrub\n// down — ratchet keeps tiles revealed until top reset.\nif(autoScrollScrubReveal.current){const p=autoScrollProgress.current;if(mode===\"colour\"){// Ratchet during scrub too (never go backwards mid-ride\n// if somehow scrub regresses).\ncolourProgressRef.current=Math.max(colourProgressRef.current,p);updateColourGridReveal(colourProgressRef.current);}else{revealSmoothed.current=Math.max(revealSmoothed.current,p);updateMotionGridReveal();}}else if(mode===\"colour\"){const wrap=gridWrapRef.current;const mobile=layoutWRef.current<GRID_REVEAL.mobileMaxW;const c=GRID_REVEAL.colour;// At top / work off-screen: snap progress to 0 (no reverse hide\n// anim — tiles aren't visible). Next scroll-down re-reveals.\nif(revealShouldReset(wrap)){colourProgressRef.current=0;updateColourGridReveal(0);}else{// Continuous scroll-linked raw (0→1). Uses document geometry\n// on the tall work wrap — works for wheel, trackpad, AND\n// middle-mouse autoscroll (any path that moves scrollY).\n// Assisted hero→work still owns progress via timed scrub above.\nlet raw=0;if(wrap){const r=wrap.getBoundingClientRect();const vh=window.innerHeight;const stickY=WORK_STICKY_TOP;// Enter at wrap.top === vh; settle after sticky pin travel.\n// Single continuous remaps — no half/half cliff that stalled\n// when sticky held r.top near stickY under some scroll modes.\nconst pinTravel=Math.max(1,r.height-(vh-stickY));const enterStart=vh;const settleTop=stickY-pinTravel*.72;raw=clamp((enterStart-r.top)/Math.max(1,enterStart-settleTop),0,1);}// Soft hero assist (not a hard snap to 1 mid-scroll).\n// Caps contribution so free-scroll still has room to animate.\nconst heroVis=heroVisibleFraction();const resolveAt=c.heroResolveFrac;if(heroVis<=resolveAt){raw=Math.max(raw,1);}else{const heroDriven=1-(heroVis-resolveAt)/(1-resolveAt);raw=Math.max(raw,clamp(heroDriven,0,1)*.92);}// Optional progress delay (mobile colour later). Clamp delay\n// so renorm stays valid (live once had desktop: 1.5 — broken).\nconst delay=Math.min(.85,Math.max(0,grBand(c.progressDelay,mobile)));if(delay>0){raw=clamp((raw-delay)/(1-delay),0,1);}// Ratchet: never decrease while work is on-screen.\nconst cur=colourProgressRef.current;if(raw>cur){const b=grBand(c.blend,mobile);const blend=raw>=1?b.done:raw<.5?b.early:b.mid;colourProgressRef.current=cur+(raw-cur)*blend;if(raw>=1&&colourProgressRef.current>.94)colourProgressRef.current=1;}if(colourProgressRef.current>=.995)colourProgressRef.current=1;updateColourGridReveal(colourProgressRef.current);}}else{// Motion: scroll-scrubbed stagger — all knobs in GRID_REVEAL.motion\nconst wrap=gridWrapRef.current;const mobile=layoutWRef.current<GRID_REVEAL.mobileMaxW;const m=GRID_REVEAL.motion;if(wipeCoveringRef.current||bootDrivenRef.current){// Wipe path owns progress (reset at cover, clock after\n// clear). Landing-resolve and scrubReveal must not\n// settle the pack behind the cover or fight the boot.\nupdateMotionGridReveal();}else if(revealShouldReset(wrap)){revealSmoothed.current=0;resetMotionGlitchLocks();updateMotionGridReveal();}else{let target=sectionProgress(gridWrapRef);const boost=grBand(m.scrollBoost,mobile);if(boost!==1)target=clamp(target*boost,0,1);const ease=grBand(m.scrollEase,mobile);if(ease!==1)target=Math.pow(target,ease);// Landing resolve deadline (mirror of Colour's\n// heroResolveFrac): frac = 1 as the wrap enters the\n// viewport, 0 once its top reaches the nav line. At or\n// past the deadline → force full resolve; on approach,\n// soft floor capped at 0.92 so the dialed scrub curve\n// still owns the early animation. Position-anchored, so\n// it also completes the pack when the signal is toggled\n// while already parked at/past the work section.\nif(wrap){const top=wrap.getBoundingClientRect().top;const frac=clamp((top-WORK_STICKY_TOP)/Math.max(1,window.innerHeight-WORK_STICKY_TOP),0,1);if(frac<=MOTION_LANDING_RESOLVE_FRAC){target=1;}else{const driven=1-(frac-MOTION_LANDING_RESOLVE_FRAC)/(1-MOTION_LANDING_RESOLVE_FRAC);target=Math.max(target,clamp(driven,0,1)*.92);}}const cur=revealSmoothed.current;if(target>cur){const b=grBand(m.blend,mobile);const blend=target>=1?b.done:b.mid;revealSmoothed.current=cur+(target-cur)*blend;if(target>=1&&revealSmoothed.current>.99)revealSmoothed.current=1;}if(revealSmoothed.current>=.995)revealSmoothed.current=1;updateMotionGridReveal();}}// s43 per-frame Motion-desktop chrome, driven from THIS loop\n// (never a second scroll listener). Both writes are cheap and\n// self-resetting: the gate false on any frame restores the\n// rest pose, so Colour / mobile / tablet never see either.\nconst motionDesk=mode===\"motion\"&&layoutWRef.current>HEADLINE_DESKTOP_MIN;// Fix 2 (s51 / s53): tile matte — mask-image on the grid so tiles\n// fade to alpha 0 before they reach the pinned header. fadeStart\n// is SIGNED (grid top relative to header bottom); do not clamp or\n// gate — always write so the ramp tracks continuously with no pop\n// at the header line. s53: mask-clip defaulted to the border box,\n// so a tile hover-scaling past the grid's own box was clipped;\n// mask-clip: no-clip plus repeat-x plus an oversized, offset mask\n// layer (padded by WORK_TILE_MASK_PAD_PX, with fadeStart/fadeEnd\n// shifted by the same pad so the visible fade line does not move)\n// fixes it.\nif(workGridRef.current){if(motionDesk){const gridRect=workGridRef.current.getBoundingClientRect();const fadeStart=workHeaderBottomRef.current-gridRect.top+WORK_TILE_MASK_PAD_PX;const fadePx=WORK_TILE_FADE_VH/100*window.innerHeight;const fadeEnd=fadeStart+fadePx;// s52 fix 1 (item 1): the matte is absent on arrival and\n// fades IN over the first WORK_TILE_FADE_IN_PX of tile\n// scroll past the work landing (Gav: \"it's there right\n// away - it should fade in as we begin scrolling\"). Same\n// measurement the deleted WORK_SCRIM used pre-s51. strength\n// 0 blends every stop to rgba(0,0,0,1) (fully opaque mask =\n// no visible effect, tiles render unmasked); strength 1 is\n// today's fade-to-transparent exactly. The mask property is\n// ALWAYS written here (never gated on strength) so there is\n// no add/remove discontinuity frame.\nconst sWrap=gridWrapRef.current;const d=sWrap?WORK_STICKY_TOP-sWrap.getBoundingClientRect().top:WORK_TILE_FADE_IN_PX;const strength=clamp(d/WORK_TILE_FADE_IN_PX,0,1);const a=1-strength;let mask=`linear-gradient(to bottom, rgba(0,0,0,${a}) 0px, rgba(0,0,0,${a}) ${fadeStart}px, #000 ${fadeEnd}px, #000 100%)`;if(mfSiteFrameRef.current){// s213 s202 THE FRAME'S MATTE. MEASURED on live s201 (painted alpha, WebKit + Chrome, three\n// sizes): the stops land at viewport y = gridTop - WORK_TILE_MASK_PAD_PX + m, plain CSS - the\n// layer's \"0 -pad\" position applies. s201 wrote them without +pad and the tiles died 300px\n// above the frame's bottom. The signed mockup's numbers (s212-frame-wc): transparent to frame\n// top + 30, opaque by + 58; opaque until 58 above the frame's bottom, gone 30 above it.\nconst vh=window.innerHeight;const fT=NAV_H+20;const fB=vh-20;const P=WORK_TILE_MASK_PAD_PX;const tA=fT+30-gridRect.top+P;const tB=Math.max(tA+1,fT+58-gridRect.top+P);const bA=Math.max(tB+1,fB-58-gridRect.top+P);const bB=Math.max(bA+1,fB-30-gridRect.top+P);mask=`linear-gradient(to bottom, transparent 0px, transparent ${tA}px, #000 ${tB}px, #000 ${bA}px, transparent ${bB}px, transparent 100%)`;// the rail: how much of the grid the frame shows, and where. s213 s203: the room is\n// the tiles' rest top (frame top + 72, s202) down to where the bottom matte begins\n// (58 above the frame's bottom) - s202 measured the whole frame and the rail never\n// showed on a tall window whose last row ran under the matte (Gav).\nconst rail=workRailRef.current;if(rail){const restTop=fT+72;const vis=fB-58-restTop;const tot=gridRect.height;const need=tot>vis+1;rail.setAttribute(\"data-need\",need?\"1\":\"0\");const thumb=rail.firstElementChild;if(need&&thumb){const trackH=rail.clientHeight;const run=Math.max(24,Math.round(trackH*vis/tot));const prog=clamp((restTop-gridRect.top)/(tot-vis),0,1);thumb.style.height=run+\"px\";thumb.style.top=Math.round((trackH-run)*prog)+\"px\";}}}const pad=WORK_TILE_MASK_PAD_PX;workGridRef.current.style.maskImage=mask;workGridRef.current.style.webkitMaskImage=mask;workGridRef.current.style.maskRepeat=\"repeat-x\";workGridRef.current.style.webkitMaskRepeat=\"repeat-x\";workGridRef.current.style.maskSize=`100px ${gridRect.height+2*pad}px`;workGridRef.current.style.webkitMaskSize=`100px ${gridRect.height+2*pad}px`;workGridRef.current.style.maskPosition=`0 -${pad}px`;workGridRef.current.style.webkitMaskPosition=`0 -${pad}px`;workGridRef.current.style.maskClip=\"no-clip\";workGridRef.current.style.webkitMaskClip=\"no-clip\";}else{// !! s72. On Motion phones this element is the DECK\n// STAGE and the section wipe's cut lives on it — the\n// mobile driver owns its mask. Clearing it here every\n// frame is what stopped the wipe masking the work\n// section at all (measured: mask \"none\" at the\n// work->about seam where the cut should have been\n// 346px). The ancillary mask properties are still\n// cleared unconditionally: the mobile mask wants the\n// defaults, and a stranded maskRepeat/Size from a\n// desktop session would tile the phone's gradient.\nif(!motionPhoneRef.current){workGridRef.current.style.maskImage=\"\";workGridRef.current.style.webkitMaskImage=\"\";}workGridRef.current.style.maskRepeat=\"\";workGridRef.current.style.webkitMaskRepeat=\"\";workGridRef.current.style.maskSize=\"\";workGridRef.current.style.webkitMaskSize=\"\";workGridRef.current.style.maskPosition=\"\";workGridRef.current.style.webkitMaskPosition=\"\";workGridRef.current.style.maskClip=\"\";workGridRef.current.style.webkitMaskClip=\"\";}}// Fix 4: nav opaque once the hero is off-screen. The flip on\n// arrival happens on the first frame after the covered\n// scrollTo — i.e. at full cover, invisible behind the sheet.\n// s55: skip entirely while the hero is pinned over the\n// viewport (work/contact -> hero composite) -- the pin\n// transform corrupts this rect read and would flip the nav\n// translucent while the pin still covers it. The attribute\n// is simply left as whatever it already was until the pin\n// releases (heroPinnedRef cleared in navigateWithWipe), at\n// which point the next-frame read of the driver is correct\n// again by construction (arriving at the hero is the\n// translucent-nav resting state).\nif(rootRef.current&&!heroPinnedRef.current){const heroBottom=headerElRef.current?.getBoundingClientRect().bottom??0;if(motionDesk&&heroBottom<=NAV_H)rootRef.current.setAttribute(\"data-mf-navsolid\",\"1\");else rootRef.current.removeAttribute(\"data-mf-navsolid\");}}raf=requestAnimationFrame(loop);};raf=requestAnimationFrame(loop);return()=>{window.removeEventListener(\"resize\",onResize);// s95: a signal or band change re-runs this effect; do not\n// strand a stale frozen height on the root.\n// !! ZEROING THE REF IS LOAD-BEARING, not tidiness. syncFrozenSvh\n// only writes the property when the measurement EXCEEDS the\n// stored maximum. Remove the property but leave the ref holding\n// the old max and the next run never re-writes it: all ten spans\n// fall back to live 100svh, the flick jump returns, and\n// scrollToMobileSection keeps reading the stale max - the fix\n// silently switches itself off on a path Gav walks in every QA\n// session (a signal toggle re-runs this effect). Keep these two\n// lines together.\nmMaxSvhRef.current=0;if(rootRef.current){rootRef.current.style.removeProperty(\"--mf-svh\");}cancelAnimationFrame(relayout);cancelAnimationFrame(raf);cancelAnimationFrame(bootRafRef.current);cancelAnimationFrame(wipeRafRef.current);bootDrivenRef.current=false;wipeCoveringRef.current=false;wipeBusyRef.current=false;// A wipe cancelled mid-flight (mode change / unmount) must not\n// strand the sheet mid-sweep over the viewport: park it below\n// the fold so the next entry starts clean. parkNavWipe, not a\n// bare setNavWipeY — the park distance depends on which edge the\n// sheet is anchored to, and the last wipe may have left it in\n// the up pose.\nparkNavWipe();// Nor a half-glitched hero or section (P5 push 2): restore both\n// to their stylesheet pose so a mode change mid-wipe never lands\n// a blank hero / hidden copy on the Colour page.\nclearHeroExit();clearSectionBoot();// s55: a mode change / unmount mid-pin must release the\n// nav-solid gate too, or it stays stuck skipping the driver\n// forever.\nheroPinnedRef.current=false;};},[mode,layoutWorkGrid]);useEffect(()=>{if(lastLayoutMode.current!==mode){lastLayoutMode.current=mode;layoutWorkGrid();}},[mode,layoutWorkGrid]);// ---- Assisted screen-to-screen scroll (desktop wheel only) ----\n// Three \"stops\": hero top (0) → work landing (section top flush under nav)\n// → page bottom (contact + footer). A wheel while RESTING at a stop rides\n// to the adjacent stop; between stops the wheel is native. Hero↔work rides\n// scrub tile-reveal progress on a timer so stagger plays over the full\n// ride. Touch-primary devices, reduced-motion, open overlays, and the\n// Framer canvas never arm it.\nconst autoScrollRaf=useRef(0);const autoScrollActive=useRef(false);const autoScrollDir=useRef(1);/** perf.now() until which wheel arming is blocked after a ride completes. */const rideCooldownRef=useRef(0);/** Hard cap on cooldown extension — deliberate wheeling breaks through here. */const rideCooldownMaxRef=useRef(0);/** Desktop mouse/trackpad only — never arm on touch-primary UIs. */const canUseAssistedScroll=useCallback(()=>{if(layoutWRef.current<=HEADLINE_DESKTOP_MIN)return false;if(RenderTarget.current()===RenderTarget.canvas)return false;try{// Phones/tablets report hover:none or pointer:coarse; pure desktop\n// mouse/trackpad is hover:hover + pointer:fine.\nif(!window.matchMedia(\"(hover: hover) and (pointer: fine)\").matches)return false;}catch{return false;}return true;},[]);const cancelAutoScroll=useCallback(()=>{// Always clear scrub + RAF — even if active already false (mid-frame\n// race after ride end / middle-mouse cancel could leave scrub stuck,\n// which owns colour reveal and makes assist feel dead).\nautoScrollActive.current=false;autoScrollScrubReveal.current=false;cancelAnimationFrame(autoScrollRaf.current);autoScrollRaf.current=0;},[]);const rideTo=useCallback((targetY,dir,opts)=>{const startY=window.scrollY;const dist=targetY-startY;if(Math.abs(dist)<40)return false;// Kill any in-flight ride so two rAFs never fight (middle-mouse\n// cancel + re-arm, or double wheel, used to orphan the old loop).\nautoScrollActive.current=false;cancelAnimationFrame(autoScrollRaf.current);autoScrollRaf.current=0;autoScrollActive.current=true;autoScrollDir.current=dir;// Hero→work only: drive reveal up over the ride so stagger isn't\n// collapsed by Colour's hero-vis deadline + laggy early blend.\n// Reverse (work→hero) never scrubs down — tiles stay revealed until\n// the top-reset zone snaps progress to 0 off-screen.\nconst scrub=!!opts?.scrubReveal&&dir===1;autoScrollScrubReveal.current=scrub;if(scrub){const cur=modeRef.current===\"colour\"?colourProgressRef.current:revealSmoothed.current;autoScrollScrubFrom.current=cur;autoScrollScrubTo.current=1;autoScrollProgress.current=cur;}const t0=performance.now();const step=now=>{if(!autoScrollActive.current)return;const t=clamp((now-t0)/AUTOSCROLL_MS,0,1);const e=easeInOutCubic(t);// html{scroll-behavior:smooth} exists for the #anchor links.\n// Save/restore of documentElement.scrollBehavior is\n// measured-inert — Chrome resolves behaviour after the\n// restore in the same task, so the ride still drifts then\n// snaps. behavior:\"instant\" in the options object is the fix.\nwindow.scrollTo({top:startY+dist*e,left:0,behavior:\"instant\"});if(autoScrollScrubReveal.current){const from=autoScrollScrubFrom.current;const to=autoScrollScrubTo.current;autoScrollProgress.current=from+(to-from)*e;}if(t<1)autoScrollRaf.current=requestAnimationFrame(step);else{autoScrollActive.current=false;// Open the post-ride cooldown so trackpad inertia arriving\n// right after the ride can't immediately arm the next screen.\nrideCooldownRef.current=now+ASSIST_COOLDOWN_MS;rideCooldownMaxRef.current=now+ASSIST_COOLDOWN_MAX_MS;if(autoScrollScrubReveal.current){autoScrollProgress.current=autoScrollScrubTo.current;// Hand geometry loop a settled value; clear scrub so\n// native scroll takes over without a jump.\nif(modeRef.current===\"colour\")colourProgressRef.current=autoScrollScrubTo.current;else revealSmoothed.current=autoScrollScrubTo.current;autoScrollScrubReveal.current=false;}}};autoScrollRaf.current=requestAnimationFrame(step);return true;},[]);const workStopY=useCallback(()=>{const wrap=gridWrapRef.current;if(!wrap)return null;return window.scrollY+wrap.getBoundingClientRect().top-WORK_STICKY_TOP;},[]);// Scroll position at which the BOTTOM of the work section meets the bottom\n// of the viewport. With a roster large enough to overflow the viewport\n// (Motion is 15 projects = 5 rows on desktop), this is the section's far\n// edge and the assist needs it as a boundary — otherwise the next boundary\n// below the work top is the page bottom, and one wheel skips the entire\n// grid. See the overflow handling in the wheel handler.\nconst workEndY=useCallback(()=>{const wrap=gridWrapRef.current;if(!wrap)return null;return window.scrollY+wrap.getBoundingClientRect().bottom-window.innerHeight;},[]);// P5 screens (Motion desktop only — the wheel handler gates): studio strip\n// top under the nav, and the contact+footer wrapper top under the nav.\n// Both sections carry minHeight 100vh - NAV_H on Motion desktop, so each\n// landing composes a full screen and the contact stop coincides with the\n// document bottom.\nconst studioStopY=useCallback(()=>{const el=studioSecRef.current;if(!el)return null;return window.scrollY+el.getBoundingClientRect().top-NAV_H;},[]);// s225: the Colour About's far edge - the scroll at which its bottom meets the viewport's (workEndY's twin)\nconst studioEndY=useCallback(()=>{const el=studioSecRef.current;if(!el)return null;return window.scrollY+el.getBoundingClientRect().bottom-window.innerHeight;},[]);const contactStopY=useCallback(()=>{const el=contactWrapRef.current;if(!el)return null;return window.scrollY+el.getBoundingClientRect().top-NAV_H;},[]);// Motion-phone stack tap. Lands where the header will stick.\n// The header sits MOBILE_SEC_HEAD_LEAD_SVH below the section root\n// (paddingTop on the wrap, or on workSticky for work) — measuring\n// the root and subtracting only the pin-top undershoots by the\n// lead, which is \"header part way down\".\n// Do NOT measure the header element: all three are position:sticky\n// and a stuck header reports its pin, so the delta is 0 (s71).\n// Sections carry negative marginTop and end-pinned inner screens;\n// scrollIntoView on the section root would miss.\n//\n// !! s98 — THE JUMP IS NOW behavior:\"instant\", AND THAT IS THE WHOLE\n// FIX FOR THE WHITE TEARING. This comment used to say the opposite\n// (\"no behavior:'instant' — the sitewide html{scroll-behavior:smooth}\n// owns the animation\") and that WAS the defect: measured in s51 on\n// this codebase, that stylesheet turns every one of these calls into a\n// ~470ms ANIMATED scroll. Animating a multi-thousand-pixel scroll\n// outruns WebKit's rasteriser and the compositor fills the un-rastered\n// region with the canvas colour — the white Gav reported. An instant\n// jump paints ZERO intermediate frames, so there is nothing to outrun.\n// The transition the user sees is now the nav wipe (navToMobileSection\n// below), which runs AFTER this and over a page that has already\n// arrived. Do not restore the smooth scroll on the reasoning in the\n// old comment.\n//\n// i < 0 means the hero (the logo target). Returns the landed scrollY,\n// or null if there was nothing to jump to.\nconst scrollToMobileSection=useCallback(i=>{const el=i<0?null:[gridWrapRef.current,studioSecRef.current,contactWrapRef.current][i];if(i>=0&&!el)return null;mfDebugLog(\"nav -> section \"+i);// s95: the RENDERED lead is calc(var(--mf-svh) * LEAD / 100) and\n// --mf-svh is the FROZEN maximum, so measuring the LIVE probe here\n// undershoots by (frozen - live) * LEAD/100 whenever the browser's\n// chrome is showing - about 8px at Gav's measured 128px swing.\n// Small, but it is the s89 defect's exact class: this function\n// measuring one thing while the layout used another. Read the same\n// frozen value the CSS did. Falls back to the live probe, then\n// innerHeight, for the window before JS has measured once.\nconst svh=mMaxSvhRef.current||svhProbeRef.current?.getBoundingClientRect().height||window.innerHeight;const leadPx=MOBILE_SEC_HEAD_LEAD_SVH/100*svh;const y=i<0?0:window.scrollY+el.getBoundingClientRect().top+leadPx-mobileHeaderPinTop(i);const top=Math.max(0,y);window.scrollTo({top,left:0,behavior:\"instant\"});return top;},[mfDebugLog]);scrollToMobileSectionRef.current=scrollToMobileSection;/** s98 — ARM THE NAV WIPE. Gav's N1–N8; the spec of record is\n     *  `_archive/session-scratch/s98-NAVWIPE-PLAN.md` and his eight\n     *  sentences are quoted verbatim there. Read it before changing\n     *  anything here.\n     *\n     *  THE MODEL, in one line: the page CUTS to the destination on the\n     *  first driver frame, and the screen the user was looking at is put\n     *  straight back on top of it as a frozen overlay. The tap task\n     *  measures and records intent; it does not scroll. Everything that\n     *  then moves — the bars travelling, the band, the mask eating the\n     *  overlay away — is animation over a page that has already arrived.\n     *\n     *  !! WHY THIS WAY ROUND, because the obvious alternative is a trap.\n     *  The band is MOBILE_WIPE_BAND_SVH (12.4svh) and behaves as a\n     *  BOUNDARY: departing shows [0, cut], arriving shows [cut, frameH],\n     *  complementary at every instant. Hiding a jump needs departing-gone\n     *  AND arriving-not-yet-shown at the SAME moment, which one boundary\n     *  line can only do if the two edges are a full frame apart — a\n     *  frame-spanning sheet. Desktop has one (NAV_WIPE_SHEET_PCT >= 100).\n     *  The mobile tube deliberately does not, and turning it into one is\n     *  the cover Gav rejected five times on desktop and that s96 names as\n     *  a thing not to build. So the jump is hidden by CONTENT, and the\n     *  content it is hidden by is the DEPARTING screen — never the\n     *  destination. Compositing the destination (the desktop s55 pin)\n     *  would put a transform over #work / #about / #contact, every one of\n     *  which contains live sticky machinery (the deck's whole progress\n     *  derivation WAS sticky pinning; s119 stackMode re-drives it from\n     *  the work screen's own scrollTop), and would have to chase iOS\n     *  momentum with per-frame writes that this file already documents as\n     *  going stale under compositor scrolling. Overlaying the DEPARTING\n     *  screen has neither problem: the destination is untouched, so it\n     *  lands correct by construction, and the overlay transform is\n     *  written ONCE because the departing screen holds still while the\n     *  band crosses it — exactly as it does under real scroll.\n     *\n     *  Bonus, and it is not a small one: the overlay covers the frame at\n     *  t=0, so WebKit gets the whole sweep to rasterise the destination\n     *  behind it. The raster-flash risk inverts into a feature. */const navToMobileSection=useCallback(i=>{// s119: stackMode is the Motion-phone default. Do not\n// window.scrollTo — the four screens are parked in place.\nif(motionPhone&&mfFlagsRef.current.stack){stackApiRef.current.goTo(i);return;}// Desktop / tablet / Colour never reach this; and with\n// ?mfnavwipe=0 the bare instant cut is the whole behaviour.\nif(!motionPhone||!mfFlagsRef.current.navWipe){scrollToMobileSection(i);return;}// One sweep at a time. A second tap mid-sweep is ignored\n// rather than queued: restarting would re-measure an overlay\n// that is already cut, and queueing would chain jumps.\nif(mNavRef.current)return;const s0=mStackIdxRef.current;if(i===s0)return;const away0=mStackAwayRef.current;const y0=window.scrollY;const svh=mMaxSvhRef.current||svhProbeRef.current?.getBoundingClientRect().height||window.innerHeight;// s114 — navGroup is needed BEFORE the jump: on-frame\n// bystanders have to be measured at the pre-jump scroll\n// position. After the jump they sit at the destination and\n// would look off-screen.\nconst navGroup=k=>k<0?[headerElRef.current]:k===0?[gridWrapRef.current,workHeaderRef.current,workGridRef.current]:k===1?[studioSecRef.current,mAboutHeaderRef.current,mAboutScreenRef.current]:[contactWrapRef.current,mContactHeaderRef.current];const overlayElFor=k=>k<0?headerElRef.current:k===0?workGridRef.current:k===1?mAboutScreenRef.current:contactWrapRef.current;const groupOnFrame=k=>{const vh=window.innerHeight;for(const el of navGroup(k)){if(!el)continue;const r=el.getBoundingClientRect();if(r.bottom>0&&r.top<vh)return true;}return false;};// s114 G1 — a section whose rect intersects the viewport is\n// visually present; hiding it is a pop. Measured BEFORE the\n// jump. k === s0 / k === i are the two sides of the\n// transition, not bystanders.\nconst onFrameK=[];for(let k=-1;k<=2;k++){if(k===s0||k===i)continue;if(groupOnFrame(k))onFrameK.push(k);}// s114 — ?mfmidseam=cut: skip the sweep and take the bare\n// instant cut. Gav would rather have a clean cut than a\n// broken wipe. Default off.\nif(mfFlagsRef.current.midSeamCut&&onFrameK.length>0){scrollToMobileSection(i);return;}// The departing screen: its CONTENT root, plus its own header\n// which is CHROME, not content. The header is hidden for the\n// sweep and its stack row represents it — that row starts at\n// exactly the pin the header was occupying, so the handover is\n// pixel-continuous, and it sidesteps the fact that About's and\n// Contact's headers are NESTED inside their content roots and\n// therefore cannot be excluded from the overlay's clip.\nlet ovEl=null;let hdrEl=null;if(s0<0){ovEl=headerElRef.current;}else if(s0===0){ovEl=workGridRef.current;hdrEl=workHeaderRef.current;}else if(s0===1){ovEl=mAboutScreenRef.current;hdrEl=mAboutHeaderRef.current;}else{ovEl=contactWrapRef.current;hdrEl=mContactHeaderRef.current;}if(!ovEl){scrollToMobileSection(i);return;}// !! A DIRECT CHILD THAT IS position:sticky NEEDS ITS OWN\n// DELTA. One transform on the root restores the ROOT, and a\n// sticky child's offset INSIDE that root re-resolves across a\n// multi-thousand-px jump — Contact's copy and its bottom:0\n// footer both do, and the footer would drop to its flow\n// position (~15svh lower, off-frame) the instant you tapped.\n// Found by measurement, not by reading: this is why the plan\n// said per-element deltas and why collapsing to a single root\n// was wrong. Detected by computed position rather than by a\n// hardcoded list, so a future sticky child is covered without\n// anyone remembering this comment.\n// !! DESCENDANTS, NOT JUST CHILDREN — this was a real bug in\n// the first pass. Contact's sticky COPY shell is a grandchild\n// (it lives inside <section id=\"contact\">, which is itself\n// position:relative), so a direct-children walk collected the\n// footer and missed the copy. From the contact landing its\n// displacement is ~0 and the miss is invisible; from further\n// down the section — the reader who has scrolled to the\n// footer — the stuck shell is displaced by up to ~122px @812,\n// and the centred \"Let's make something move.\" would visibly\n// jump inside the frozen overlay the instant you tapped.\n// Skipping subtrees under an already-collected sticky keeps a\n// nested one from being compensated twice. The cost is a\n// burst of getComputedStyle reads on ONE tap, never in a\n// frame loop.\nconst stickyKids=[];for(const c of Array.from(ovEl.querySelectorAll(\"*\"))){const ce=c;let cpos=\"\";try{cpos=window.getComputedStyle(ce).position;}catch(err){}if(cpos!==\"sticky\")continue;let nested=false;for(const already of stickyKids){if(already.contains(ce)){nested=true;break;}}if(!nested)stickyKids.push(ce);}// Measure BEFORE the jump. Per element, never a shared\n// delta derived from the scroll distance: sticky elements\n// resolve differently on either side of a multi-thousand-px\n// jump, so a derived offset would put the overlay in the\n// wrong place exactly when the jump is longest.\n// Belt and braces for the promotion done at pointerdown —\n// and the only promotion the LOGO path gets, since it has no\n// pointerdown handler. Written before the jump on purpose:\n// asking for a layer after the scroll is asking too late.\n// Not routed through mfPromote to keep it out of this\n// callback's dependency list.\nif(mPromoteRef.current&&mPromoteRef.current!==ovEl)mPromoteRef.current.style.willChange=\"\";mPromoteRef.current=ovEl;ovEl.style.willChange=\"transform\";const ovRect=ovEl.getBoundingClientRect();const preTop=ovRect.top;const preKid=stickyKids.map(k=>k.getBoundingClientRect().top);// s114 G1 — measure on-frame bystanders BEFORE the jump so\n// each extra overlay can be translated to hold its pre-jump\n// top the same way the primary does.\nconst extraFreeze=[];for(let ei=0;ei<onFrameK.length;ei++){const k=onFrameK[ei];const el=overlayElFor(k);if(!el)continue;const kids=[];for(const c of Array.from(el.querySelectorAll(\"*\"))){const ce=c;let cpos=\"\";try{cpos=window.getComputedStyle(ce).position;}catch(err){}if(cpos!==\"sticky\")continue;let nested=false;for(const already of kids){if(already.contains(ce)){nested=true;break;}}if(!nested)kids.push(ce);}extraFreeze.push({k,el,preTop:el.getBoundingClientRect().top,kids,preKid:kids.map(kd=>kd.getBoundingClientRect().top)});}// s114 G2 — read the live band pose BEFORE the jump. The\n// band is position:absolute inside a position:fixed frame,\n// so the jump does not move it; reading here still captures\n// the scroll-path pose the sweep is about to replace.\nlet bandSeed=null;{const wipeEl=mWipeRef.current;if(wipeEl&&wipeEl.style.opacity===\"1\"){const wr=wipeEl.getBoundingClientRect();const vh=window.innerHeight;if(wr.bottom>0&&wr.top<vh&&wr.height>1){const bandPxArm=MOBILE_WIPE_BAND_SVH/100*svh;const seedCenter=(wr.top+wr.bottom)/2;const sm=(wipeEl.style.transform||\"\").match(/scaleY\\(([-\\d.]+)\\)/);const liveFlip=sm?parseFloat(sm[1]):1;bandSeed={bottom:seedCenter+bandPxArm/2,flip:liveFlip};}}}// s111 Fix B — clone BEFORE the jump. The host never\n// scrolls, so one positioning pass is final and the\n// per-frame correction loop is skipped.\nlet cloneEl=null;const cloneHost=mCloneHostRef.current;if(mfFlagsRef.current.ovClone&&cloneHost){cloneEl=ovEl.cloneNode(true);const stripMf=node=>{if(node.hasAttribute(\"id\"))node.removeAttribute(\"id\");const names=node.getAttributeNames();for(let a=0;a<names.length;a++){if(names[a].indexOf(\"data-mf\")===0)node.removeAttribute(names[a]);}};stripMf(cloneEl);const stripList=cloneEl.querySelectorAll(\"[id],[data-mf],[data-mf-deck],[data-mf-boot]\");for(let s=0;s<stripList.length;s++)stripMf(stripList[s]);const rest=cloneEl.querySelectorAll(\"*\");for(let s=0;s<rest.length;s++)stripMf(rest[s]);cloneEl.style.position=\"absolute\";cloneEl.style.top=ovRect.top+\"px\";cloneEl.style.left=ovRect.left+\"px\";cloneEl.style.width=ovRect.width+\"px\";cloneEl.style.height=ovRect.height+\"px\";cloneEl.style.margin=\"0\";cloneEl.style.transform=\"none\";cloneHost.appendChild(cloneEl);const origNodes=ovEl.querySelectorAll(\"*\");const cloneNodes=cloneEl.querySelectorAll(\"*\");for(let k=0;k<stickyKids.length;k++){let idx=-1;for(let n=0;n<origNodes.length;n++){if(origNodes[n]===stickyKids[k]){idx=n;break;}}if(idx<0||!cloneNodes[idx])continue;const ck=cloneNodes[idx];const d=preKid[k]-ck.getBoundingClientRect().top;if(Math.abs(d)>=.5)ck.style.transform=\"translate3d(0,\"+d.toFixed(2)+\"px,0)\";}// s116 — host stays hidden until the first driver frame\n// shows it with the jump. Visible here would paint a\n// clone on the un-jumped page.\n}// s116 — the tap task does NOT scroll. Pre-jump measurement\n// (preTop, preKid, ovRect, the clone build) stays above.\n// The jump, land check, arriving-clear, hide, overlay\n// transform and first sweep pose run in the first driver\n// frame, in one batch. Jumping here left the compositor on\n// un-rasterised content for the iOS rAF stall (measured\n// 200ms black). A style write cannot paint without a frame.\nconst arriving=navGroup(i);const hiding=[];for(let k=-1;k<=2;k++){if(k===s0||k===i)continue;if(onFrameK.indexOf(k)>=0)continue;for(const el of navGroup(k))hiding.push(el);}const wfEl=mWipeFrameRef.current;const wfZ=wfEl?wfEl.style.zIndex:\"\";let rootEl=null;if(s0===0)rootEl=gridWrapRef.current;else if(s0===1)rootEl=studioSecRef.current;const rootZ=rootEl?rootEl.style.zIndex||\"1\":\"\";const rootLift=[];if(rootEl)rootLift.push({el:rootEl,z:rootZ});for(let ei=0;ei<extraFreeze.length;ei++){const k=extraFreeze[ei].k;const extraRoot=k===0?gridWrapRef.current:k===1?studioSecRef.current:null;if(!extraRoot||extraRoot===rootEl)continue;const z=extraRoot.style.zIndex||\"1\";rootLift.push({el:extraRoot,z});}const dHdrEl=i===0?workHeaderRef.current:i===1?mAboutHeaderRef.current:i===2?mContactHeaderRef.current:null;const dHdrOp=dHdrEl?dHdrEl.style.opacity:\"\";const hdrOp=hdrEl?hdrEl.style.opacity:\"\";const liveOv={el:ovEl,tf:ovEl.style.transform,z:ovEl.style.zIndex,vis:ovEl.style.visibility,clip:ovEl.style.clipPath,bg:ovEl.style.background,sh:ovEl.style.boxShadow};const ov={el:ovEl,tf:liveOv.tf,z:liveOv.z,vis:liveOv.vis,clip:liveOv.clip,bg:liveOv.bg,sh:liveOv.sh,preTop,ty:0};if(cloneEl){hiding.push(ovEl);ov.el=cloneEl;ov.tf=cloneEl.style.transform;ov.z=cloneEl.style.zIndex;ov.vis=cloneEl.style.visibility;ov.clip=cloneEl.style.clipPath;ov.bg=cloneEl.style.background;ov.sh=cloneEl.style.boxShadow;ov.preTop=ovRect.top;ov.ty=0;}const ovList=[ov];for(let ei=0;ei<extraFreeze.length;ei++){const ex=extraFreeze[ei];const el=ex.el;const xOv={el,tf:el.style.transform,z:el.style.zIndex,vis:el.style.visibility,clip:el.style.clipPath,bg:el.style.background,sh:el.style.boxShadow,preTop:ex.preTop,ty:0};ovList.push(xOv);}const rowBg=[];for(let j=0;j<3;j++){const rowEl=mStackRowRefs.current[j];rowBg.push(rowEl&&rowEl.style.background||\"transparent\");}const dir=i>s0?1:-1;const tArmNow=performance.now();mNavRef.current={d:i,s0,dir,t0:tArmNow+MOBILE_NAV_RASTER_HOLD_FRAMES*(1e3/60),tArm:tArmNow,rowBg,ov:ovList,fix:[],arr:arriving,hide:hiding,hideOp:[],hdr:hdrEl,hdrOp,wfZ,dHdrOp,hold:MOBILE_NAV_RASTER_HOLD_FRAMES,seeded:false,probed:false,rootEl,rootZ,clone:cloneEl,liveOv:cloneEl?liveOv:null,bandSeed,rootLift,y0,pend:{ovEl,stickyKids,preKid,extraFreeze}};// Stack away is written in the first driver frame with the\n// jump. Setting it here unmounts the rows with no frame to\n// repaint them — measured: only the MOTION chip survived.\n},[motionPhone,scrollToMobileSection,mfDebugLog]);/** s108 — promote a screen to its own compositing layer, and hand\n     *  back the un-promote. THE POINT IS THE TIMING: a nav jumps the\n     *  document by thousands of pixels, and on a real device the browser\n     *  can present the frame at the new offset before it has\n     *  re-rasterised what is on it — the solid backplate paints, the text\n     *  and images do not, and that is the flash Gav sees at the start of\n     *  every trip. His frame at the tap moment shows exactly that: the\n     *  frozen hero as a bare dark plate with none of its content.\n     *  Chrome does NOT reproduce it — measured, the strip is at full\n     *  luminance 4ms after the tap — so this is a real-device problem and\n     *  no amount of local iteration will show it. What CAN be done is\n     *  structural: a layer that already exists and is already rastered is\n     *  repositioned by a scroll rather than repainted.\n     *  Doing it at POINTERDOWN is the whole trick — it buys the browser\n     *  the ~100ms between finger-down and click to do that work, instead\n     *  of asking for it in the same task as the jump. */const mfPromote=useCallback(el=>{const prev=mPromoteRef.current;if(prev&&prev!==el)prev.style.willChange=\"\";mPromoteRef.current=el;if(el)el.style.willChange=\"transform\";},[]);const onMobileStackPointerDown=useCallback(e=>{// The screen currently on frame is the one that will become\n// the frozen overlay. Same index mapping the arm path uses.\nconst s0now=mStackIdxRef.current;mfPromote(s0now<0?headerElRef.current:s0now===0?workGridRef.current:s0now===1?mAboutScreenRef.current:contactWrapRef.current);mStackTapRef.current={x:e.clientX,y:e.clientY,scrollY:window.scrollY,t:performance.now()};},[mfPromote]);const onMobileStackClick=useCallback((i,e)=>{const s=mStackTapRef.current;mStackTapRef.current=null;if(s){const dx=e.clientX-s.x;const dy=e.clientY-s.y;if(dx*dx+dy*dy>MOBILE_STACK_TAP_MOVE_PX*MOBILE_STACK_TAP_MOVE_PX){mfDebugLog(\"blocked [\"+i+\"]: finger moved\");return;}if(Math.abs(window.scrollY-s.scrollY)>1){mfDebugLog(\"blocked [\"+i+\"]: page scrolled\");return;}}else if(mfFlagsRef.current.tapStrict&&e.detail!==0){// s94: NO tap record. The old code fell through here and\n// navigated, so the guard's default was backwards: absent\n// any evidence this was a tap, it took you to a section.\n// The record goes missing whenever clicks and pointerdowns\n// get out of step - two rapid touches, the first click\n// consuming the record, the second finding none. Reject.\n// e.detail === 0 is a keyboard-activated click, which\n// legitimately has no pointer record: still allowed.\n// !! EVERY reject path logs, and that is the point: the\n// risk of defaulting to reject is that a browser which\n// does not deliver pointerdown on these buttons would see\n// its stack rows go dead. Logging makes that visible in\n// one screenshot under ?mfdebug=1 instead of reading as a\n// new bug, and ?mftap=0 restores the old behaviour on the\n// same build.\nmfDebugLog(\"blocked [\"+i+\"]: no tap record\");return;}else if(!s){// A no-record click that gets THROUGH: either mftap=0, or\n// e.detail was 0. The spec says a touch-synthesised click\n// never has detail 0, but \"should\" has been wrong four\n// times on this bug, so make the case observable rather\n// than trusting it. If this line appears on a phone with\n// the default flags, that is the hole.\nmfDebugLog(\"allowed [\"+i+\"]: NO record, detail \"+e.detail);}navToMobileSection(i);},[navToMobileSection,mfDebugLog]);useLayoutEffect(()=>{if(!stackModeRef.current)return;const w=stackWeldRef.current;if(!w)return;if(w.screen.parentNode!==w.bar)w.bar.appendChild(w.screen);if(w.wipe.parentNode!==w.wipeBar)w.wipeBar.appendChild(w.wipe);});// s119 — PLAN screen-stack. Compositor driver, parented-window clip.\n// Source of record: screen-stack.src.html s118.23. Motion-phone only.\nuseLayoutEffect(()=>{if(!motionPhone||!mfFlagsRef.current.stack)return;const bars=mStackBarRefs.current.slice();const wipe=mWipeRef.current;const wipeFrame=mWipeFrameRef.current;const ramp=mRampRef.current;const scan=mScanRef.current;const roll=mRollRef.current;const tear=mTearRef.current;const hero=headerElRef.current;const work=gridWrapRef.current;const about=studioSecRef.current;const contact=contactWrapRef.current;const screens=[hero,work,about,contact];if(!wipe||!wipeFrame||bars.length<3||bars.some(b=>!b))return;const barEls=bars;const html=document.documentElement;const savedHtmlOverflow=html.style.overflow;const savedHtmlOverscroll=html.style.overscrollBehavior;if(!overlayActiveRef.current)html.style.overflow=\"hidden\";html.style.overscrollBehavior=\"none\";// s160 F6: outline the real footer whenever ?mfoot=1 so a stranded\n// footer can be told apart from the foot-hold clone without a nav.\nif(mfFlagsRef.current.mfoot&&contact){const foot=contact.querySelector(\"footer\");if(foot)foot.style.outline=\"2px solid #14e9eb\";}let S=mStackIdxRef.current;let stackOpen=S>=0;let nav=null;let drag=null;let poseFrom=S;let poseTo=S;let holdH=0;let svh=window.innerHeight;let screenH=svh;let bandPx=svh*MOBILE_WIPE_BAND_SVH/100;let bandUp=true;let bandFlip=null;let vpDirty=false;let stackAnimUntil=0;let rT=0;let deckPos=0;let deckVel=0;let deckTarget=null;let deckRaf=0;let savedDeckPos=0;let lastNotch=0;let litIdx=-1;// s160 work arrival build-in. Default mul=1 so the dial writer is\n// a single opacity author; build-in reassigns during the assembly.\nlet buildInTickMul=()=>1;let workBuildInActive=false;let workBuildInArmed=false;let workBuildInFinalPos=0;let workBuildInRaf=0;let workBuildInTimers=[];let workBuildInAnims=[];let deckPtr=null;let tabPtr=null;let tabIdleT=0;let dead=false;let holdRaf=0;let gridHold=null;const homes=screens.map(el=>({el,parent:el&&el.parentNode,next:el&&el.nextSibling}));const viewH=()=>holdH||window.innerHeight;const viewportBusy=()=>!!(nav||drag||performance.now()<stackAnimUntil);const holdViewport=()=>{if(!holdH)holdH=window.innerHeight;};const releaseViewport=()=>{holdH=0;if(vpDirty)scheduleViewport();};const sbodyOf=el=>{if(!el)return null;const i=screens.indexOf(el);return(i>=0?mSbodyRefs.current[i]:null)||el.querySelector('[data-mf=\"sbody\"]');};const innerFor=screenI=>{if(screenI===1)return mSbodyRefs.current[1];if(screenI===2)return mSbodyRefs.current[2];return null;};const readInnerScroll=()=>{const w=innerFor(1);const a=innerFor(2);return[w?w.scrollTop:0,a?a.scrollTop:0];};const writeInnerScroll=(pair,zeroI)=>{const w=innerFor(1);const a=innerFor(2);if(w&&!mfFlagsRef.current.drum)w.scrollTop=zeroI===1?0:pair[0];if(a)a.scrollTop=zeroI===2?0:pair[1];};const paintWinPlate=(el,_isHero)=>{/* Transparent: dest is hidden by the z2 hold layer in this\n               clip, and content sits above it. An opaque plate here is\n               the dim (it covers the rest-state ambient). */el.style.backgroundColor=\"transparent\";el.style.backgroundImage=\"none\";};const clearWinPlate=el=>{el.style.removeProperty(\"background-color\");el.style.removeProperty(\"background-image\");el.style.removeProperty(\"background-size\");el.style.removeProperty(\"background-repeat\");};const ensureGridHold=()=>{if(gridHold||!rootRef.current)return;const el=document.createElement(\"div\");el.setAttribute(\"data-mf\",\"stack-grid-hold\");el.style.position=\"fixed\";el.style.left=\"0\";el.style.right=\"0\";el.style.top=\"0\";el.style.bottom=\"0\";el.style.zIndex=\"2\";el.style.pointerEvents=\"none\";el.style.backgroundImage=STACK_GRID_HOLD_IMAGE;el.style.backgroundSize=STACK_GRID_HOLD_SIZE;el.style.backgroundRepeat=\"no-repeat,repeat,repeat\";el.style.backgroundColor=MOBILE_HEADER_BG;rootRef.current.appendChild(el);gridHold=el;};const clipHoldLayers=()=>{if(gridHold&&stackWeldRef.current){const r=stackWeldRef.current.screen.getBoundingClientRect();const H=window.innerHeight;const W=window.innerWidth;const v=\"inset(\"+Math.max(0,r.top).toFixed(1)+\"px \"+Math.max(0,W-r.right).toFixed(1)+\"px \"+Math.max(0,H-r.bottom).toFixed(1)+\"px \"+Math.max(0,r.left).toFixed(1)+\"px)\";gridHold.style.clipPath=v;gridHold.style.setProperty(\"-webkit-clip-path\",v);}};const startHoldRaf=()=>{if(holdRaf)return;const step=()=>{if(dead||!stackWeldRef.current){holdRaf=0;return;}clipHoldLayers();holdRaf=requestAnimationFrame(step);};holdRaf=requestAnimationFrame(step);};/* s166/s167: the departing screen's PINNED parts — the sbody, which\n           counter-moves against the bar so its content stays put while the\n           window rides. The Contact footer is a CHILD of the contact sbody\n           (absolute, bottom:0), so it is already carried by that counter-\n           move and clipped by the screen's overflow:hidden. s166 also moved\n           the footer itself: a second translate on top of its parent's,\n           which is the \"erratic footer\" in the 19:21 clip. Never hoist,\n           clone, rect-clip or separately move it. */const winParts=dep=>{const out=[];if(!dep)return out;const sb=sbodyOf(dep);if(sb)out.push(sb);return out;};const showGridHold=()=>{ensureGridHold();if(gridHold){gridHold.style.visibility=\"visible\";clipHoldLayers();startHoldRaf();}};const hideGridHold=()=>{if(gridHold){gridHold.style.visibility=\"hidden\";gridHold.style.clipPath=\"inset(100% 0 0 0)\";gridHold.style.setProperty(\"-webkit-clip-path\",\"inset(100% 0 0 0)\");}};const stackAway=()=>S>=0?true:stackOpen;const barTop=()=>NAV_H;const barTf=y=>\"translate3d(0,\"+(y-barTop()).toFixed(2)+\"px,0)\";const seamBarIdx=(from,to)=>{const dir=to>from?1:-1;return clamp(dir===1?to:to+1,0,2);};const anchorBar=(from,to)=>to>from?to:from;const shutCut=el=>{if(!el)return;el.style.clipPath=STACK_CUT_SHUT;el.style.setProperty(\"-webkit-clip-path\",STACK_CUT_SHUT);};const openCut=el=>{if(!el)return;if(el.style.clipPath!==\"none\"){el.style.clipPath=\"none\";el.style.setProperty(\"-webkit-clip-path\",\"none\");}};const hostScreens=()=>{stackWeldRef.current=null;for(let i=homes.length-1;i>=0;i--){const rec=homes[i];if(!rec.el||!rec.parent)continue;if(rec.el.parentNode===rec.parent&&rec.el.nextSibling===rec.next)continue;rec.parent.insertBefore(rec.el,rec.next);}};const poseAt=t=>{const liveH=viewH();const s0=poseFrom;const d=poseTo;const dir=d>s0?1:-1;const awayFrom=nav?nav.awayFrom:true;const barY=(j,Si,away)=>{if(j<=Si)return NAV_H+j*MOBILE_STACK_ROW_H;return away?liveH-(3-j)*MOBILE_STACK_ROW_H:liveH+j*MOBILE_STACK_ROW_H;};const barAt=j=>{const a=barY(j,s0,awayFrom);return a+(barY(j,d,true)-a)*t;};const ys=[barAt(0),barAt(1),barAt(2)];const seamJ=clamp(dir===1?d:d+1,0,2);const bTop=barAt(seamJ);/* Outer edge of the bar, not the middle: a 50% window\n               overlaps the 34px chrome and on Contact (seam = the\n               header you are leaving) WebKit paints that layer over\n               the face. Rise hangs above; fall hangs below. */const cut=dir===1?bTop:bTop+MOBILE_STACK_ROW_H;return{bars:ys,dir,seamJ,cut,fromTop:dir!==1,headIdx:t>=.5?d:s0};};const winD=p=>p.cut;const bodyTf=p=>\"translate3d(0,\"+(-winD(p)).toFixed(2)+\"px,0)\";/* One seam per adjacent pair. s164: the lower bar hides its top\n           edge, so the seam travels with the upper bar. s165 (?mfkey=1,\n           default): a LATCHed head owns BOTH its edges wherever it sits,\n           so a row directly above a head hides its bottom edge instead.\n           s166: attributes only. The visual bridge is paintEdges. During\n           a sweep (sweep=true) a pair where one bar travels and the other\n           stays is NOT a pair — both edges show from the first frame,\n           instead of the stay-behind edge popping in at landing. */const stampEdgeAttrs=sweep=>{// Caller has already run snapEdges() BEFORE any attribute write\n// (data-cohort included) — see beginNav / applyPose / settle.\nconst tops=[];const bots=[];for(let j=0;j<3;j++){const r=barEls[j].getBoundingClientRect();tops[j]=r.top;bots[j]=r.bottom;}const headOwns=mfFlagsRef.current.mfkey;const hideTop=[false,false,false];const hideBot=[false,false,false];const moves=[false,false,false];if(sweep&&nav){const p0=poseAt(0);const p1=poseAt(1);for(let j=0;j<3;j++)moves[j]=Math.abs(p1.bars[j]-p0.bars[j])>2;}else if(sweep){for(let j=0;j<3;j++)moves[j]=barEls[j].getAttribute(\"data-cohort\")===\"1\";}for(let u=0;u<3;u++){for(let l=0;l<3;l++){if(u===l)continue;if(Math.abs(bots[u]-tops[l])>=2)continue;if(sweep){// s168: does the bar actually TRAVEL this sweep.\n// data-cohort alone was wrong: the tapped bar is\n// kept out of the cohort (markCohort, grabJ) so it\n// keeps its own look, yet on a rise it travels. A\n// rising tapped bar and the static bar under it\n// then read as a pair, the stay-behind bar's top\n// keyline stayed hidden for the whole sweep and\n// popped in at landing (19:21 clip; reproduced on\n// the published s167 in WebKit). grabJ is no better:\n// on a fall the tapped bar is the one that stays.\n// The pose is the truth.\nif(moves[u]!==moves[l])continue;}const lHead=headOwns&&barEls[l].getAttribute(\"data-state\")===\"head\";if(lHead)hideBot[u]=true;else hideTop[l]=true;}}for(let j=0;j<3;j++){if(hideTop[j])barEls[j].setAttribute(\"data-edge-top\",\"0\");else barEls[j].removeAttribute(\"data-edge-top\");if(hideBot[j])barEls[j].setAttribute(\"data-edge-bot\",\"0\");else barEls[j].removeAttribute(\"data-edge-bot\");}};const applyPose=(t01,snap)=>{if(!nav)return;const t=clamp(t01,0,1);const p=poseAt(t);// s166: the departing head unlatched at nav start (unlatchHead)\n// and the destination latches at settle (run) or past the\n// midpoint (drag). Never re-latch the bar being left — that was\n// the s165 weight shift: applyPose(0) stamped it head again.\nconst headJ=t>=.5?poseTo:-1;// s167: drag frames snapshot the keylines here (computed style\n// is the tweened value, so it is what is on screen). beginNav\n// passes snap=false: it snapshotted BEFORE markCohort, and a\n// read after that stamp would tween .7 → .7.\nif(snap!==false)snapEdges();for(let j=0;j<3;j++){barEls[j].style.transform=barTf(p.bars[j]);barEls[j].style.zIndex=j===p.seamJ?\"0\":\"1\";setBarState(j,j===headJ,STACK_LATCH_SPINE_MS,false);}stampEdgeAttrs(true);paintEdges(STACK_LATCH_SPINE_MS,false);const parts=winParts(screens[nav.fromScreen]);for(let pi=0;pi<parts.length;pi++)parts[pi].style.transform=bodyTf(p);};const showOnly=i=>{for(let k=0;k<screens.length;k++){const s=screens[k];if(!s)continue;s.style.transform=\"translateZ(0)\";const parts=winParts(s);for(let pi=0;pi<parts.length;pi++)parts[pi].style.transform=\"none\";s.removeAttribute(\"data-win\");if(k===i){s.style.zIndex=\"2\";openCut(s);s.style.opacity=\"1\";s.style.pointerEvents=\"auto\";}else{s.style.zIndex=\"1\";shutCut(s);s.style.opacity=\"1\";s.style.pointerEvents=\"none\";}}};const armPair=(fromScreen,toScreen)=>{const savedScroll=readInnerScroll();hostScreens();writeInnerScroll(savedScroll,toScreen);const rise=toScreen>fromScreen;const seamJ=seamBarIdx(fromScreen-1,toScreen-1);const hostHVar=rootRef.current&&window.getComputedStyle(rootRef.current).getPropertyValue(\"--host-h\").trim()||\"\";const hostH=hostHVar||\"100lvh\";for(let k=0;k<screens.length;k++){const s=screens[k];if(!s)continue;s.style.pointerEvents=\"none\";if(k===fromScreen){openCut(s);s.style.zIndex=\"0\";paintWinPlate(s,fromScreen===0);/* Inline window. CSS data-win is backup; layoutWorkGrid\n                       writes position:fixed; inset:0 and that beat s120\n                       on the first press frame. */s.style.position=\"absolute\";s.style.left=\"0px\";s.style.right=\"0px\";s.style.width=\"auto\";s.style.height=hostH;s.style.minHeight=\"100lvh\";if(rise){s.style.top=\"auto\";s.style.bottom=\"100%\";}else{s.style.top=\"100%\";s.style.bottom=\"auto\";}s.setAttribute(\"data-win\",rise?\"rise\":\"fall\");const winBody=sbodyOf(s);if(winBody)winBody.style.top=rise?\"100%\":\"0px\";const parts=winParts(s);for(let pi=0;pi<parts.length;pi++)parts[pi].style.transform=bodyTf(poseAt(0));barEls[seamJ].appendChild(s);const prev=stackWeldRef.current;stackWeldRef.current={screen:s,bar:barEls[seamJ],wipe:prev?prev.wipe:wipe,wipeBar:prev?prev.wipeBar:barEls[seamJ]};showGridHold();}else if(k===toScreen){/* Stay shut until the departing window has a real box.\n                       openCut after offsetHeight — dest is a full-viewport\n                       sibling under the transparent stack, so unclipping\n                       it on press is the pop. Plate stays on the WINDOW\n                       only; dest must stay clear so motion-op shows. */shutCut(s);s.style.zIndex=\"1\";clearWinPlate(s);s.removeAttribute(\"data-win\");s.style.transform=\"translateZ(0)\";const sb=sbodyOf(s);if(sb){sb.style.transform=\"none\";sb.style.top=\"0px\";}}else{s.style.zIndex=\"0\";clearWinPlate(s);s.removeAttribute(\"data-win\");s.style.transform=\"translateZ(0)\";const sb=sbodyOf(s);if(sb){sb.style.transform=\"none\";sb.style.top=\"0px\";}shutCut(s);}}for(let j=0;j<3;j++)barEls[j].style.zIndex=j===seamJ?\"0\":\"1\";const dep=screens[fromScreen];if(dep)void dep.offsetHeight;writeInnerScroll(savedScroll,toScreen);const dest=screens[toScreen];if(dest)openCut(dest);};let crtRaf=0;let wipeTuckToken=0;const pressTuckGen=[0,0,0];let settleGen=0;const stopCrt=()=>{if(crtRaf){cancelAnimationFrame(crtRaf);crtRaf=0;}};const startCrt=()=>{if(crtRaf)return;const tick=now=>{crtTick(now,scan,roll,tear);crtRaf=requestAnimationFrame(tick);};crtRaf=requestAnimationFrame(tick);};const parkWipe=()=>{wipe.getAnimations().forEach(a=>{try{a.cancel();}catch(e){}});wipe.style.opacity=\"0\";wipe.style.transform=\"none\";wipe.style.top=\"0px\";wipe.style.bottom=\"auto\";wipe.style.transformOrigin=\"50% 50%\";wipe.style.removeProperty(\"margin-top\");wipe.style.removeProperty(\"margin-bottom\");if(wipe.parentNode!==wipeFrame)wipeFrame.appendChild(wipe);for(let i=0;i<3;i++)barEls[i].removeAttribute(\"data-band\");stopCrt();};const tuckWipe=()=>{const live=wipe.parentNode&&wipe.parentNode!==wipeFrame&&wipe.style.opacity!==\"0\";if(!live){parkWipe();return;}wipe.getAnimations().forEach(a=>{try{a.cancel();}catch(e){}});const token=++wipeTuckToken;// s166: the band retracts INTO the bar it hangs off, over the\n// same half second and ease as the flood tuck, so the two read\n// as one motion. Origin lives in the keyframes — WebKit ignores\n// the element's transform-origin under a transform animation.\nconst bandBar=wipe.parentNode;const hangsDown=bandBar.getAttribute(\"data-band\")===\"down\";const origin=hangsDown?\"50% 0\":\"50% 100%\";const a=wipe.animate([{transform:\"scaleY(1)\",transformOrigin:origin},{transform:\"scaleY(0.001)\",transformOrigin:origin}],{duration:BAND_TUCK_MS,easing:STACK_EASE_CSS,fill:\"forwards\"});const done=()=>{if(token!==wipeTuckToken)return;parkWipe();};a.addEventListener(\"finish\",done);window.setTimeout(done,BAND_TUCK_MS+40);};const snapPressFill=el=>{el.style.transform=\"scale(0)\";el.style.transformOrigin=\"50% 50%\";el.style.opacity=\"1\";el.style.filter=\"none\";el.style.background=\"\";el.getAnimations().forEach(a=>{try{a.cancel();}catch(e){}});};const snapPressClip=bar=>{const clip=bar.querySelector(\".mf-press-clip\");if(!clip)return;clip.getAnimations().forEach(a=>{try{a.cancel();}catch(e){}});clip.style.filter=\"\";clip.style.transform=\"none\";clip.style.clipPath=\"none\";clip.style.removeProperty(\"-webkit-clip-path\");clip.style.zIndex=\"\";};/* s166 — ONE CLOCK FOR BAR CHROME.\n           Measured on the 18:02 clip: while a bar rides a WAAPI transform,\n           WebKit does not repaint plain style / attribute / transition\n           changes on its children; only WAAPI opacity and transform on\n           the children render. Everything queued paints at once when the\n           bar's animation ends — the label weight, the spine, the keyline\n           jump and the band all landed on the same frame.\n           So: attributes are stamped only at nav start and at settle, and\n           every visual change on a bar child is a WAAPI tween that bridges\n           old → new. A tween started during a nav is KEPT (fill forwards)\n           until a later tween on the same property replaces it, so a\n           cancel never exposes a base style the phone has not painted.\n           Settle-phase tweens commit: on finish they cancel, and the CSS\n           rest value (already stamped) is identical, so nothing pops. */const propAnims=new WeakMap;/* Current value of a chrome prop, in a form WAAPI can interpolate\n           from. transform comes back as scaleX(a): a computed matrix that\n           is singular (scaleX(0)) cannot be decomposed, and WebKit then\n           flips discretely at 50% instead of easing. */const chromeNow=(el,prop)=>{if(!el)return\"\";const v=window.getComputedStyle(el).getPropertyValue(prop);if(prop!==\"transform\")return v||(prop===\"filter\"?\"none\":\"1\");const m=v.match(/matrix\\(([^,]+),/);if(m)return\"scaleX(\"+Number(m[1]).toFixed(4)+\")\";return\"scaleX(1)\";};/* s167: `from` is READ BY THE CALLER BEFORE any attribute is\n           stamped. Reading it here, after the stamp, tweened from the new\n           base to itself — every chrome value snapped in one frame\n           (19:21 clip, reproduced in the WebKit rig). */const tween=(el,prop,from,to,ms,commit,origin,delay)=>{if(!el)return null;let m=propAnims.get(el);if(!m){m=new Map;propAnims.set(el,m);}const held=m;const prev=held.get(prop);if(prev){try{prev.cancel();}catch(e){}held.delete(prop);}const k0={[prop]:from};const k1={[prop]:to};if(origin){k0.transformOrigin=origin;k1.transformOrigin=origin;}const a=el.animate([k0,k1],{duration:Math.max(1,Math.round(ms)),delay:Math.max(0,Math.round(delay||0)),easing:STACK_EASE_CSS,fill:\"both\"});held.set(prop,a);if(commit)a.addEventListener(\"finish\",()=>{if(held.get(prop)!==a)return;held.delete(prop);try{a.cancel();}catch(e){}});return a;};const chromeOf=bar=>({spine:bar.querySelector(\".mf-bar-spine\"),grip:bar.querySelector(\".mf-bar-grip\"),wash:bar.querySelector(\".mf-bar-wash\"),row:bar.querySelector(\".mf-bar-row\"),head:bar.querySelector(\".mf-bar-head\"),top:bar.querySelector(\".mf-bar-edge-top\"),bot:bar.querySelector(\".mf-bar-edge\")});/* The latch parts of one bar → a state. `from` values are read\n           BEFORE the caller stamps data-state. Unlatch (Gav, 19:21 clip):\n           the spine scales to 0 first, THEN wash / grip / both faces cross\n           over STACK_UNLATCH_REST_MS. Latch: everything together. */const paintLatch=(bar,head,ms,commit,snap)=>{const c=chromeOf(bar);const spineMs=head?ms:STACK_UNLATCH_SPINE_MS;const restMs=head?ms:STACK_UNLATCH_REST_MS;const restDelay=head?0:STACK_UNLATCH_SPINE_MS;tween(c.spine,\"transform\",snap[0],head?\"scaleX(1)\":\"scaleX(0)\",spineMs,commit,\"0 50%\");tween(c.wash,\"opacity\",snap[1],head?\"1\":\"0\",restMs,commit,undefined,restDelay);tween(c.grip,\"opacity\",snap[2],head?\"0.9\":\"0.5\",restMs,commit,undefined,restDelay);tween(c.row,\"opacity\",snap[3],head?\"0\":\"1\",restMs,commit,undefined,restDelay);tween(c.head,\"opacity\",snap[4],head?\"1\":\"0\",restMs,commit,undefined,restDelay);};const latchSnap=bar=>{const c=chromeOf(bar);return[chromeNow(c.spine,\"transform\"),chromeNow(c.wash,\"opacity\"),chromeNow(c.grip,\"opacity\"),chromeNow(c.row,\"opacity\"),chromeNow(c.head,\"opacity\")];};const setBarState=(j,head,ms,commit)=>{const bar=barEls[j];const was=bar.getAttribute(\"data-state\")===\"head\";const snap=latchSnap(bar);bar.setAttribute(\"data-state\",head?\"head\":\"row\");if(was!==head||commit)paintLatch(bar,head,ms,commit,snap);};const revealSpine=bar=>{const sp=bar.querySelector(\".mf-bar-spine\");if(sp)sp.style.opacity=\"\";};const edgeLevel=(bar,top)=>{const hid=top?\"data-edge-top\":\"data-edge-bot\";if(bar.getAttribute(hid)===\"0\")return\"0\";if(bar.getAttribute(\"data-cohort\")===\"1\")return String(STACK_EDGE_COHORT);return bar.getAttribute(\"data-state\")===\"head\"?String(STACK_EDGE_HEAD):String(STACK_EDGE_ROW);};const edgeLast=[[\"\",\"\"],[\"\",\"\"],[\"\",\"\"]];/* Computed keyline opacities, captured by stampEdgeAttrs BEFORE it\n           stamps, so paintEdges tweens from what is on screen. */const edgeFrom=[[\"\",\"\"],[\"\",\"\"],[\"\",\"\"]];const snapEdges=()=>{for(let j=0;j<3;j++){const c=chromeOf(barEls[j]);edgeFrom[j][0]=chromeNow(c.top,\"opacity\");edgeFrom[j][1]=chromeNow(c.bot,\"opacity\");}};/* Bridge every keyline to the level its attributes now say. Only\n           tweens on a change, so a per-frame drag call is free. */const paintEdges=(ms,commit)=>{for(let j=0;j<3;j++){const c=chromeOf(barEls[j]);const lt=edgeLevel(barEls[j],true);const lb=edgeLevel(barEls[j],false);if(edgeLast[j][0]!==lt||commit){edgeLast[j][0]=lt;tween(c.top,\"opacity\",edgeFrom[j][0]||lt,lt,ms,commit);}if(edgeLast[j][1]!==lb||commit){edgeLast[j][1]=lb;tween(c.bot,\"opacity\",edgeFrom[j][1]||lb,lb,ms,commit);}}};const unlatchHead=ms=>{// Over the sweep (s162), not the press. Attribute stamped now,\n// the tween is kept until settle replaces it.\nconst dur=Math.max(1,Math.round(ms||MOBILE_NAV_SWEEP_MS));for(let k=0;k<3;k++)if(barEls[k].getAttribute(\"data-state\")===\"head\")setBarState(k,false,dur,false);};const tuckPress=(bar,j)=>{const gen=++pressTuckGen[j];const pf=bar.querySelector(\".mf-press-fill\");const clip=bar.querySelector(\".mf-press-clip\");const live=bar.getAttribute(\"data-press\")===\"1\";if(!pf||!clip||!live){bar.removeAttribute(\"data-press\");if(pf)snapPressFill(pf);snapPressClip(bar);revealSpine(bar);return;}const left=parseFloat(pf.style.left);const pad=parseFloat(pf.dataset.mfpad||\"0\")||0;const px=parseFloat(pf.dataset.mfx||\"0\")||0;const size=parseFloat(pf.dataset.mfsize||\"0\")||pf.offsetWidth||1;// Bar's left edge in fill-local coords.\nconst origin=pad-(isFinite(left)?left:0)+\"px 50%\";// s166: shrink until the flood IS the spine. kEnd puts the\n// disc's right edge PRESS_SPINE_PX from the bar's left edge;\n// done() then swaps it for the real spine in the same frame.\n// The spine is opacity:0 until then so the blend never paints\n// it black under the retreating fill.\nconst kEnd=Math.max(5e-4,PRESS_SPINE_PX/Math.max(1,px+size/2));pf.style.transform=\"scaleX(1)\";pf.style.transformOrigin=origin;pf.style.opacity=\"1\";pf.getAnimations().forEach(a=>{try{a.cancel();}catch(e){}});clip.getAnimations().forEach(a=>{try{a.cancel();}catch(e){}});clip.style.clipPath=\"none\";clip.style.removeProperty(\"-webkit-clip-path\");clip.style.transform=\"none\";clip.style.zIndex=\"4\";const opt={duration:STACK_STATE_MS,easing:STACK_EASE_CSS,fill:\"forwards\"};const a=pf.animate([{transform:\"scaleX(1)\",transformOrigin:origin},{transform:\"scaleX(\"+kEnd.toFixed(5)+\")\",transformOrigin:origin}],opt);if(mfFlagsRef.current.mfflood&&PRESS_BLUR_PX>0)clip.animate([{filter:\"blur(\"+PRESS_BLUR_PX+\"px)\"},{filter:\"blur(0px)\"}],opt);const done=()=>{if(pressTuckGen[j]!==gen)return;bar.removeAttribute(\"data-press\");snapPressFill(pf);snapPressClip(bar);revealSpine(bar);};a.addEventListener(\"finish\",done);window.setTimeout(done,STACK_STATE_MS+40);};const armBand=(up,s0,d)=>{wipeTuckToken+=1;const bandJ=clamp(up?Math.max(s0,d):Math.min(s0,d)+1,0,2);const dir=up?1:-1;const bar=barEls[bandJ];if(wipe.parentNode!==bar)bar.appendChild(wipe);const weld=stackWeldRef.current;if(weld)weld.wipeBar=bar;for(let k=0;k<3;k++)barEls[k].removeAttribute(\"data-band\");bar.setAttribute(\"data-band\",dir===1?\"down\":\"up\");wipe.style.height=bandPx+\"px\";wipe.style.top=\"\";wipe.style.bottom=\"\";wipe.style.transformOrigin=\"\";wipe.style.transform=\"\";const cs=window.getComputedStyle(bar);const bTopW=parseFloat(cs.borderTopWidth)||0;/* s159: bars no longer carry a border-bottom — the seam below a\n               bar is owned by the NEXT bar's border-top, and the last bar by\n               .mf-bar-edge. The edge under every bar is still 1px, so read it\n               as 1 rather than off this bar's (now zero) bottom border. */const bBotW=1;wipe.style.marginTop=dir===1?bBotW-BAND_BAR_OVERLAP_PX+\"px\":\"\";wipe.style.marginBottom=dir===1?\"\":bTopW-BAND_BAR_OVERLAP_PX+\"px\";const face=STACK_BAND_FACE[dir===1?\"down\":\"up\"];if(ramp)ramp.style.background=face.colour;[scan,roll,tear].forEach(el=>{if(!el)return;el.style.webkitMaskImage=face.alpha;el.style.maskImage=face.alpha;});bandUp=up;wipe.style.backgroundColor=\"\";wipe.style.opacity=\"1\";startCrt();};const flipBand=(up,s0,d)=>{if(up===bandUp&&bandFlip===null)return;if(bandFlip){try{bandFlip.cancel();}catch(e){}bandFlip=null;}const half=Math.max(1,Math.round(BAND_FLIP_MS/2));const a=wipe.animate([{transform:\"scaleY(1)\"},{transform:\"scaleY(0.001)\"}],{duration:half,easing:\"cubic-bezier(.5,0,1,1)\",fill:\"forwards\"});bandFlip=a;a.addEventListener(\"finish\",()=>{if(bandFlip!==a)return;armBand(up,s0,d);const b2=wipe.animate([{transform:\"scaleY(0.001)\"},{transform:\"scaleY(1)\"}],{duration:half,easing:\"cubic-bezier(0,0,.5,1)\",fill:\"forwards\"});bandFlip=b2;b2.addEventListener(\"finish\",()=>{if(bandFlip!==b2)return;bandFlip=null;try{b2.cancel();}catch(e){}wipe.style.transform=\"\";});});};const markCohort=()=>{const grabJ=nav&&nav.grabJ>=0?nav.grabJ:-1;const p0=nav?poseAt(0):null;const p1=nav?poseAt(1):null;for(let j=0;j<3;j++){if(!p0||!p1||j===grabJ){barEls[j].removeAttribute(\"data-cohort\");continue;}const travels=Math.abs(p1.bars[j]-p0.bars[j])>2;if(travels)barEls[j].setAttribute(\"data-cohort\",\"1\");else barEls[j].removeAttribute(\"data-cohort\");}};const armPress=(bar,cx,cy)=>{const pressed=parseInt(bar.getAttribute(\"data-j\")||\"-1\",10);for(let i=0;i<3;i++){pressTuckGen[i]+=1;if(barEls[i]===bar)continue;barEls[i].removeAttribute(\"data-press\");snapPressClip(barEls[i]);const other=barEls[i].querySelector(\".mf-press-fill\");if(other)snapPressFill(other);}const fill=bar.querySelector(\".mf-press-fill\");const clip=bar.querySelector(\".mf-press-clip\");if(!fill||!clip)return;const r=bar.getBoundingClientRect();const x=cx-r.left;const y=cy-r.top;const maxD=Math.max(Math.hypot(x,y),Math.hypot(r.width-x,y),Math.hypot(x,r.height-y),Math.hypot(r.width-x,r.height-y));const size=Math.max(r.width,maxD)*2.4;// The clip is inset by the blur pad, so bar coords shift by it.\nconst pad=PRESS_CLIP_PAD_PX;fill.getAnimations().forEach(a=>a.cancel());snapPressClip(bar);fill.style.width=size+\"px\";fill.style.height=size+\"px\";fill.style.left=x-size/2+pad+\"px\";fill.style.top=y-size/2+pad+\"px\";fill.dataset.mfx=String(x);fill.dataset.mfsize=String(size);fill.dataset.mfpad=String(pad);fill.style.opacity=\"1\";fill.style.transformOrigin=\"50% 50%\";fill.style.transform=\"scale(0.04)\";fill.style.filter=\"none\";const c=WIPE_LEAD_RGB[0]+\",\"+WIPE_LEAD_RGB[1]+\",\"+WIPE_LEAD_RGB[2];if(mfFlagsRef.current.mfflood){// s166: solid disc, feather is a constant-pixel blur on the\n// UNSCALED clip. A gradient or a blur on the scaled disc is\n// hard when the disc is small and never fills the far end.\nfill.style.background=\"rgb(\"+c+\")\";clip.style.filter=PRESS_BLUR_PX>0?\"blur(\"+PRESS_BLUR_PX+\"px)\":\"\";}else{// s164 gaussian-shaped falloff in the gradient itself.\nclip.style.filter=\"\";fill.style.background=\"radial-gradient(circle,rgb(\"+c+\") 0%,rgb(\"+c+\") 12%,rgba(\"+c+\",.92) 28%,rgba(\"+c+\",.7) 46%,rgba(\"+c+\",.38) 64%,rgba(\"+c+\",.12) 82%,rgba(\"+c+\",0) 100%)\";}bar.setAttribute(\"data-press\",\"1\");fill.animate([{transform:\"scale(0.04)\"},{transform:\"scale(1)\"}],{duration:PRESS_FILL_MS,easing:\"linear\",fill:\"forwards\"});};const travelFor=(from,to)=>{const j=anchorBar(from,to);if(j<0)return svh;const liveH=viewH();const y=S2=>j<=S2?NAV_H+j*MOBILE_STACK_ROW_H:liveH-(3-j)*MOBILE_STACK_ROW_H;return Math.abs(y(to)-y(from))||svh;};const targetFor=(j,dir)=>{if(dir<0&&j>S)return j;if(dir>0&&j<=S)return j-1;return dir<0?Math.min(2,S+1):S-1;};const bodyTarget=dir=>dir<0?Math.min(2,S+1):S-1;const endNav=(reason,silent)=>{if(!nav)return;for(let i=0;i<nav.anims.length;i++){try{nav.anims[i].cancel();}catch(e){}}if(nav.raf)cancelAnimationFrame(nav.raf);if(nav.faceT)clearTimeout(nav.faceT);nav=null;if(!silent)mfDebugLog(\"stack endNav \"+reason);};const workDialRoot=()=>workDialNumRef.current&&workDialNumRef.current.closest('[data-mf=\"work-dial\"]');const clearWorkBuildInTimers=()=>{for(let i=0;i<workBuildInTimers.length;i++)clearTimeout(workBuildInTimers[i]);workBuildInTimers=[];for(let i=0;i<workBuildInAnims.length;i++){try{workBuildInAnims[i].cancel();}catch(e){}}workBuildInAnims=[];if(workBuildInRaf){cancelAnimationFrame(workBuildInRaf);workBuildInRaf=0;}};const snapWorkBuildInChrome=visible=>{const dial=workDialRoot();const op=visible?\"1\":\"0\";if(dial){const edge=dial.querySelector('[data-mf=\"work-dial-edge\"]');if(edge){edge.style.transform=visible?\"scaleY(1)\":\"scaleY(0)\";edge.style.transformOrigin=\"50% 0%\";}const gate=dial.querySelector('[data-mf=\"work-dial-gate\"]');if(gate)gate.style.opacity=op;const tabs=dial.querySelectorAll('[data-mf=\"work-dial-tab\"]');for(let i=0;i<tabs.length;i++)tabs[i].style.opacity=op;const numWin=dial.querySelector('[data-mf=\"work-dial-num-win\"]');if(numWin)numWin.style.opacity=op;}const frame=workSlotFrameRef.current;if(frame)frame.style.opacity=op;const readout=workReadoutRef.current;if(readout)readout.style.opacity=\"1\";buildInTickMul=()=>1;};const cancelWorkBuildIn=(forDrag=false)=>{if(!workBuildInActive)return;workBuildInActive=false;deckPos=workBuildInFinalPos;deckVel=0;deckTarget=null;lastNotch=Math.round(deckPos);// Stamp final chrome BEFORE cancelling fill:forwards anims so\n// a mid-fade cancel cannot flash the pre-anim opacity.\nsnapWorkBuildInChrome(true);clearWorkBuildInTimers();const nAll=visibleCountRef.current||1;const w=wrapDeckPos(Math.round(deckPos),nAll);writeReadout(w);lastReadoutFront=w;deckTick();if(!forDrag)activateTile();};const workBuildDir=cameFrom=>cameFrom<0?1:-1;const armWorkBuildIn=cameFrom=>{if(!WORK_BUILD_IN)return false;if(window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches)return false;if(!mfFlagsRef.current.drum)return false;// Always land on tile 01. Dir from the nav: bar rose →\n// spin up; bar dropped → spin down. Park 3 notches off\n// the first tile BEFORE dest is shown.\nconst dir=workBuildDir(cameFrom);workBuildInFinalPos=0;deckPos=-3*dir;deckVel=0;deckTarget=null;lastNotch=Math.round(deckPos);savedDeckPos=0;workBuildInArmed=true;writeReadout(0);lastReadoutFront=0;const readout=workReadoutRef.current;if(readout)readout.style.opacity=\"1\";const frame=workSlotFrameRef.current;if(frame){frame.style.opacity=\"1\";frame.style.visibility=\"visible\";}deckTick();return true;};const startWorkBuildIn=(cameFrom,durMs)=>{if(!WORK_BUILD_IN)return false;if(window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches)return false;if(!mfFlagsRef.current.drum)return false;if(workBuildInActive)return true;const dir=workBuildDir(cameFrom);const armed=workBuildInArmed;workBuildInArmed=false;if(!armed){workBuildInFinalPos=0;deckPos=-3*dir;}const startPos=deckPos;const spinMs=Math.max(1,Math.round(durMs||MOBILE_NAV_SWEEP_MS));deckVel=0;deckTarget=null;lastNotch=Math.round(deckPos);workBuildInActive=true;const nAll=visibleCountRef.current||1;const finalIdx=wrapDeckPos(Math.round(workBuildInFinalPos),nAll);writeReadout(finalIdx);lastReadoutFront=finalIdx;readoutScanDirRef.current=dir;const readout=workReadoutRef.current;if(readout)readout.style.opacity=\"1\";const frame=workSlotFrameRef.current;if(frame){frame.style.opacity=\"1\";frame.style.visibility=\"visible\";}buildInTickMul=()=>0;const frame0=workSlotFrameRef.current;if(frame0&&frame0.style.visibility!==\"visible\")frame0.style.visibility=\"visible\";const dial=workDialRoot();const edge=dial?dial.querySelector('[data-mf=\"work-dial-edge\"]'):null;if(edge){edge.style.transformOrigin=\"50% 0%\";edge.style.transform=\"scaleY(0)\";const a=edge.animate([{transform:\"scaleY(0)\",transformOrigin:\"50% 0%\"},{transform:\"scaleY(1)\",transformOrigin:\"50% 0%\"}],{duration:190,easing:\"cubic-bezier(0.7, 0, 0.3, 1)\",fill:\"forwards\"});workBuildInAnims.push(a);}const t0=performance.now();const tickFade=now=>{// Stagger from centre (|k|=0) outward; ~430ms to last end.\nbuildInTickMul=k=>{const delay=Math.abs(k)*48;const local=(now-t0-(100+delay))/240;if(local<=0)return 0;if(local>=1)return 1;return local*local*(3-2*local);};};const spin=()=>{if(!workBuildInActive)return;const now=performance.now();const u=Math.min(1,(now-t0)/spinMs);const p=mfCubicBezierY(.16,.84,.28,1,u);deckPos=startPos+(workBuildInFinalPos-startPos)*p;tickFade(now);notchWatch();deckTick();if(u<1){workBuildInRaf=requestAnimationFrame(spin);}else{workBuildInRaf=0;deckPos=workBuildInFinalPos;deckVel=0;lastNotch=Math.round(deckPos);buildInTickMul=()=>1;notchWatch();deckTick();}};workBuildInRaf=requestAnimationFrame(spin);const fadeOp=(els,delay,dur)=>{const st=window.setTimeout(()=>{if(!workBuildInActive)return;for(let i=0;i<els.length;i++){const el=els[i];if(!el)continue;el.style.opacity=\"0\";const a=el.animate([{opacity:0},{opacity:1}],{duration:dur,easing:\"cubic-bezier(.3,0,.4,1)\",fill:\"forwards\"});workBuildInAnims.push(a);}},delay);workBuildInTimers.push(st);};if(dial){fadeOp([dial.querySelector('[data-mf=\"work-dial-gate\"]'),dial.querySelector('[data-mf=\"work-dial-num-win\"]'),...Array.from(dial.querySelectorAll('[data-mf=\"work-dial-tab\"]'))],400,280);}const ctaT=window.setTimeout(()=>{if(!workBuildInActive)return;lastReadoutFront=finalIdx;activateTile();},Math.round(spinMs*.76));workBuildInTimers.push(ctaT);const endT=window.setTimeout(()=>{if(!workBuildInActive)return;workBuildInActive=false;deckPos=workBuildInFinalPos;deckVel=0;lastNotch=Math.round(deckPos);snapWorkBuildInChrome(true);clearWorkBuildInTimers();buildInTickMul=()=>1;deckTick();if(litIdx<0)activateTile();},spinMs);workBuildInTimers.push(endT);return true;};const settleStatic=cameFrom=>{const savedScroll=readInnerScroll();const zeroDest=cameFrom!==undefined&&cameFrom!==S?S+1:-1;// Only cancel on leave. A viewport remeasure while S===0 must\n// not abort an in-flight arrival assembly.\nif(workBuildInActive&&S!==0)cancelWorkBuildIn(false);if(workBuildInArmed&&S!==0){workBuildInArmed=false;deckPos=workBuildInFinalPos;deckVel=0;lastNotch=Math.round(deckPos);snapWorkBuildInChrome(true);buildInTickMul=()=>1;}hideGridHold();if(holdRaf){cancelAnimationFrame(holdRaf);holdRaf=0;}hostScreens();for(let i=0;i<screens.length;i++){const s=screens[i];if(!s)continue;s.style.transform=\"translateZ(0)\";s.removeAttribute(\"data-win\");s.style.position=\"fixed\";s.style.top=\"0px\";s.style.right=\"0px\";s.style.bottom=\"0px\";s.style.left=\"0px\";s.style.width=\"auto\";s.style.height=\"auto\";s.style.minHeight=\"0px\";clearWinPlate(s);s.getAnimations().forEach(a=>a.cancel());const parts=winParts(s);for(let pi=0;pi<parts.length;pi++){parts[pi].getAnimations().forEach(a=>a.cancel());parts[pi].style.transform=\"none\";}const sb=sbodyOf(s);if(sb)sb.style.top=\"0px\";}// s167: snapshot the keylines before data-cohort comes off. The\n// kept tweens hold the visual until the deferred paint below.\nsnapEdges();for(let i=0;i<3;i++){barEls[i].getAnimations().forEach(a=>a.cancel());barEls[i].style.transition=\"\";const y=mobileStackRowY(i,S,stackAway(),svh);barEls[i].style.transform=barTf(y);barEls[i].style.willChange=\"transform\";barEls[i].style.zIndex=\"\";barEls[i].removeAttribute(\"data-cohort\");}// s166: the bars' own animations were just cancelled and their\n// static transform written, which rebuilds their compositor\n// layers. Child animations started in that same task were\n// dropped on the phone (band gone in one frame, flood gone for\n// one frame). Two rAFs: the finish event runs before this\n// frame's rAF callbacks, so a single rAF is zero frames. The\n// kept nav tweens hold every child where it is meanwhile, and\n// the rest attributes are stamped in the same frame as the\n// tween that bridges them, so nothing cuts.\nconst gen=++settleGen;const wasDrag=!!drag;const landed=S;requestAnimationFrame(()=>{requestAnimationFrame(()=>{if(dead||gen!==settleGen||nav)return;tuckWipe();for(let i=0;i<3;i++)setBarState(i,i===landed,i===landed?STACK_STATE_MS:STACK_LATCH_SPINE_MS,true);stampEdgeAttrs(false);paintEdges(STACK_LATCH_SPINE_MS,true);if(!wasDrag)for(let i=0;i<3;i++)tuckPress(barEls[i],i);});});const aboutSb=mSbodyRefs.current[2];if(aboutSb){aboutSb.style.paddingTop=NAV_H+2*MOBILE_STACK_ROW_H+\"px\";aboutSb.style.paddingLeft=\"22px\";aboutSb.style.paddingRight=\"22px\";aboutSb.style.paddingBottom=MOBILE_STACK_ROW_H+24+\"px\";aboutSb.style.boxSizing=\"border-box\";}const contactSb=mSbodyRefs.current[3];if(contactSb){contactSb.style.paddingTop=NAV_H+3*MOBILE_STACK_ROW_H+\"px\";contactSb.style.paddingBottom=MOBILE_CONTACT_FOOTER_RESERVE_PX+\"px\";}if(mfFlagsRef.current.drum){if(cameFrom===0&&S!==0){deckPos=0;savedDeckPos=0;deckVel=0;lastNotch=0;}}markStackOpen(stackAway());if(S===-1)poseTab(stackOpen);writeInnerScroll(savedScroll,zeroDest);showOnly(S+1);if(!nav&&!drag)releaseViewport();deckTick();if(S===0&&mfFlagsRef.current.drum){if(!workBuildInActive){snapWorkBuildInChrome(true);activateTile();}}if(S!==0){const playing=activeVideoRef.current;if(playing!==null)stopTileVideo(playing);}};const settle=p1=>{if(!nav)return;const landed=p1>=.5?nav.to:nav.from;const reason=p1>=.5?\"complete\":\"abort:user\";const cameFrom=S;endNav(reason,false);S=landed;poseFrom=S;poseTo=S;settleStatic(cameFrom);if(mStackIdxRef.current!==S){mStackIdxRef.current=S;setMStackIdx(S);}mStackAwayRef.current=stackAway();};const beginNav=(from,to,anchorJ,startProg,grabJ)=>{if(nav)endNav(\"abort:user\",true);if(workBuildInActive)cancelWorkBuildIn(false);if(workBuildInArmed){workBuildInArmed=false;deckPos=workBuildInFinalPos;deckVel=0;lastNotch=Math.round(deckPos);snapWorkBuildInChrome(true);buildInTickMul=()=>1;}holdViewport();for(let bi=0;bi<3;bi++)barEls[bi].style.transition=\"\";// s167: capture what the keylines show NOW, before markCohort /\n// applyPose stamp anything. The tweens start from this.\nsnapEdges();poseFrom=from;poseTo=to;nav={from,to,fromScreen:from+1,toScreen:to+1,anchor:anchorJ,prog:startProg||0,awayFrom:from>=0?true:stackOpen,t0:0,raf:0,faceT:0,anims:[],mode:\"drag\",grabJ:-1};stackOpen=true;if(to===0&&from!==0)armWorkBuildIn(from);armPair(nav.fromScreen,nav.toScreen);armBand(to>from,from,to);if(to===0&&from!==0)startWorkBuildIn(from,mfFlagsRef.current.navMs);if(from>=0&&from!==to)unlatchHead(mfFlagsRef.current.navMs);// s166: a pressed destination keeps its spine invisible until\n// the flood has tucked down to spine width (tuckPress done()).\n// Under the difference blend a visible spine paints black.\nif(to>=0&&to<=2){const dest=barEls[to];const sp=dest.querySelector(\".mf-bar-spine\");if(sp)sp.style.opacity=dest.getAttribute(\"data-press\")===\"1\"?\"0\":\"\";}if(grabJ===undefined&&drag&&!drag.body&&drag.j!==undefined)grabJ=drag.j;nav.grabJ=grabJ===undefined||grabJ===null?-1:grabJ;markCohort();applyPose(nav.prog,false);return nav;};const runNav=(targetProg,ms)=>{if(!nav)return;nav.mode=\"run\";const p0=nav.prog;const p1=targetProg;flipBand(p1>p0===nav.to>nav.from,nav.from,nav.to);const dur=Math.max(1,Math.round(ms*Math.abs(p1-p0)));if(typeof Element.prototype.animate===\"function\"){const frames=30;const keysBar=[[],[],[]];const keysBody=[];for(let i=0;i<=frames;i++){const t=lerp(p0,p1,i/frames);const p=poseAt(t);for(let k=0;k<3;k++)keysBar[k].push({transform:barTf(p.bars[k])});keysBody.push({transform:bodyTf(p)});}const opt={duration:dur,easing:STACK_EASE_CSS,fill:\"forwards\"};for(let k=0;k<3;k++)nav.anims.push(barEls[k].animate(keysBar[k],opt));const parts=winParts(screens[nav.fromScreen]);for(let pi=0;pi<parts.length;pi++)nav.anims.push(parts[pi].animate(keysBody,opt));const last=nav.anims[nav.anims.length-1];if(last)last.addEventListener(\"finish\",()=>settle(p1));nav.prog=p1;}else{nav.t0=performance.now();const step=now=>{if(!nav)return;const t=clamp((now-nav.t0)/dur,0,1);const e=easeAeInfluence(t,MOBILE_NAV_SWEEP_INFLUENCE,MOBILE_NAV_SWEEP_INFLUENCE);nav.prog=lerp(p0,p1,e);applyPose(nav.prog);if(t<1)nav.raf=requestAnimationFrame(step);else settle(p1);};nav.raf=requestAnimationFrame(step);}};const markStackOpen=v=>{const host=mStackHostRef.current;if(!host)return;if(v)host.setAttribute(\"data-open\",\"1\");else host.removeAttribute(\"data-open\");};const poseTab=open=>{const tab=mStackTabRef.current;if(!tab)return;tab.classList.remove(\"mf-tab-idle\");if(tabIdleT){clearTimeout(tabIdleT);tabIdleT=0;}const rise=3*MOBILE_STACK_ROW_H;if(open){tab.style.transition=\"opacity 200ms linear, transform \"+MOBILE_STACK_IN_MS+\"ms \"+MOBILE_STACK_IN_EASE;tab.style.opacity=\"0\";tab.style.transform=\"translateX(-50%) translateY(\"+-rise+\"px)\";tab.style.pointerEvents=\"none\";}else{tab.style.transition=\"opacity 240ms linear, transform \"+MOBILE_STACK_IN_MS+\"ms \"+MOBILE_STACK_IN_EASE;tab.style.opacity=\"1\";tab.style.transform=\"translateX(-50%) translateY(0px)\";tab.style.pointerEvents=\"auto\";tabIdleT=setTimeout(()=>{tabIdleT=0;if(!stackOpen&&mStackTabRef.current===tab)tab.classList.add(\"mf-tab-idle\");},MOBILE_STACK_IN_MS+240);}};const setStackOpen=v=>{if(S!==-1||v===stackOpen)return;stackOpen=v;stackAnimUntil=performance.now()+MOBILE_STACK_IN_MS+40;for(let i=0;i<3;i++){const y=mobileStackRowY(i,-1,v,svh);barEls[i].style.transition=\"transform \"+MOBILE_STACK_IN_MS+\"ms \"+MOBILE_STACK_IN_EASE;barEls[i].style.transform=barTf(y);}mStackAwayRef.current=v;poseTab(v);markStackOpen(v);};const startTabPointer=e=>{if(dead||S!==-1||stackOpen)return;const tab=mStackTabRef.current;if(!tab)return;tab.classList.remove(\"mf-tab-idle\");if(tabIdleT){clearTimeout(tabIdleT);tabIdleT=0;}tab.style.transition=\"none\";for(let i=0;i<3;i++)barEls[i].style.transition=\"none\";tabPtr={id:e.pointerId,y:e.clientY,moved:0};try{tab.setPointerCapture(e.pointerId);}catch(err){}if(e.cancelable)e.preventDefault();};const moveTabPointer=e=>{if(!tabPtr||e.pointerId!==tabPtr.id)return;const moved=Math.max(0,tabPtr.y-e.clientY);tabPtr.moved=moved;const d=Math.min(moved,3*MOBILE_STACK_ROW_H);const tab=mStackTabRef.current;if(tab)tab.style.transform=\"translateX(-50%) translateY(\"+-d+\"px)\";for(let i=0;i<3;i++){const y=mobileStackRowY(i,-1,false,svh)-d;barEls[i].style.transform=barTf(y);}if(e.cancelable)e.preventDefault();};const endTabPointer=e=>{if(!tabPtr||e.pointerId!==tabPtr.id)return;const moved=tabPtr.moved;tabPtr=null;if(moved>18||moved<=4){setStackOpen(true);return;}const tab=mStackTabRef.current;if(tab){tab.style.transition=\"transform 240ms cubic-bezier(.2,0,.2,1)\";tab.style.transform=\"translateX(-50%) translateY(0px)\";}for(let i=0;i<3;i++){barEls[i].style.transition=\"transform 240ms cubic-bezier(.2,0,.2,1)\";barEls[i].style.transform=barTf(mobileStackRowY(i,-1,false,svh));}if(tab){tabIdleT=setTimeout(()=>{tabIdleT=0;if(!stackOpen&&mStackTabRef.current===tab)tab.classList.add(\"mf-tab-idle\");},240);}};const startDragNav=to=>{if(!drag)return;drag.dir=to>S?-1:1;drag.to=to;drag.dead=false;drag.motionUp=to>S;drag.lastY=undefined;if(!(nav&&nav.from===S&&nav.to===to&&nav.mode===\"drag\")){beginNav(S,to,anchorBar(S,to),0);}drag.travel=travelFor(S,to);drag.started=true;};const dropNav=dir=>{if(nav){endNav(\"abort:user\",true);settleStatic();}if(!drag)return;drag.dead=true;drag.dir=dir;drag.started=true;};const tryStart=y=>{if(!drag)return;if(drag.close)return;const dy=y-drag.y0;if(Math.abs(dy)<6)return;const dir=dy<0?-1:1;if(drag.started&&dir===drag.dir)return;let to;if(drag.body){const outward=dir>0&&drag.atTop||dir<0&&drag.atBot;if(!outward){dropNav(dir);return;}to=bodyTarget(dir);}else if(S===-1&&stackOpen&&dir>0){drag.close=true;drag.closeDy=0;drag.started=true;drag.dir=dir;for(let bi=0;bi<3;bi++)barEls[bi].style.transition=\"none\";const tab=mStackTabRef.current;if(tab)tab.style.transition=\"none\";return;}else{to=targetFor(drag.j,dir);}if(to===null||to===S||to<-1||to>2){dropNav(dir);return;}startDragNav(to);};const beginDrag=(x,y,id,target)=>{holdViewport();for(let bi=0;bi<3;bi++)barEls[bi].style.transition=\"\";drag={id,x0:x,y0:y,moved:0,dir:0,samples:[[performance.now(),y]],started:false,target};for(let k=0;k<screens.length;k++){const s=screens[k];if(s)s.style.willChange=\"transform, clip-path\";}};const onDown=e=>{if(dead)return;const t=e.target;if(!t||!t.closest)return;if(t.closest('[data-mf=\"nav\"]')||t.closest(\".mf-cbx-overlay\")||t.closest(\".mf-reel-overlay\"))return;// Any touch cancels the work arrival build-in and hands\n// control to the normal drag / deck path.\nif(workBuildInActive){const onDeck=S===0&&!!workGridRef.current&&workGridRef.current.contains(t);cancelWorkBuildIn(onDeck);}const bar=t.closest('[data-mf=\"stack-bar\"]');if(bar){beginDrag(e.clientX,e.clientY,e.pointerId,e.target);const j=parseInt(bar.getAttribute(\"data-j\")||\"0\",10);drag.j=j;if(S<0||j!==S)armPress(bar,e.clientX,e.clientY);try{bar.setPointerCapture(e.pointerId);}catch(err){}e.preventDefault();return;}if(t.closest('[data-mf=\"stack-tab\"]')){startTabPointer(e);return;}if(S===0&&mfFlagsRef.current.drum){const grid=workGridRef.current;if(grid&&grid.contains(t))startDeckPointer(e);return;}const el=innerFor(S+1);let atTop=true;let atBot=true;if(el){const max=el.scrollHeight-el.clientHeight;atTop=el.scrollTop<=1;atBot=max<=1||el.scrollTop>=max-1;}beginDrag(e.clientX,e.clientY,e.pointerId,e.target);drag.body=true;drag.atTop=atTop;drag.atBot=atBot;};const onMove=e=>{if(deckPtr&&e.pointerId===deckPtr.id){moveDeckPointer(e);return;}if(tabPtr&&e.pointerId===tabPtr.id){moveTabPointer(e);return;}if(!drag||e.pointerId!==drag.id)return;const dy=e.clientY-drag.y0;drag.moved=Math.max(drag.moved,Math.abs(dy));const now=performance.now();drag.samples.push([now,e.clientY]);while(drag.samples.length>2&&now-drag.samples[0][0]>VEL_SAMPLE_MS)drag.samples.shift();tryStart(e.clientY);if(drag.close){const cdy=Math.max(0,e.clientY-drag.y0);drag.closeDy=cdy;const rise=3*MOBILE_STACK_ROW_H;const d=Math.min(cdy,rise);for(let i=0;i<3;i++){barEls[i].style.transform=barTf(mobileStackRowY(i,-1,true,svh)+d);}const tab=mStackTabRef.current;if(tab)tab.style.transform=\"translateX(-50%) translateY(\"+-(rise-d)+\"px)\";if(e.cancelable)e.preventDefault();return;}if(drag.dead||!nav)return;const refY=drag.lastY===undefined?drag.y0:drag.lastY;const step=e.clientY-refY;if(Math.abs(step)>=3){drag.lastY=e.clientY;const movingUp=step<0;if(movingUp!==drag.motionUp){drag.motionUp=movingUp;flipBand(movingUp,nav.from,nav.to);}}const prog=clamp((drag.dir<0?-dy:dy)/(drag.travel||svh),0,1);nav.prog=prog;applyPose(prog);if(e.cancelable)e.preventDefault();};const onUp=e=>{if(deckPtr&&e.pointerId===deckPtr.id){endDeckPointer(e);return;}if(tabPtr&&e.pointerId===tabPtr.id){endTabPointer(e);return;}if(!drag||e.pointerId!==drag.id)return;const d=drag;drag=null;for(let k=0;k<screens.length;k++){const s=screens[k];if(s)s.style.willChange=\"transform\";}if(d.close){if((d.closeDy||0)>20)setStackOpen(false);else{const rise=3*MOBILE_STACK_ROW_H;for(let i=0;i<3;i++){barEls[i].style.transition=\"transform 220ms cubic-bezier(.2,0,.2,1)\";barEls[i].style.transform=barTf(mobileStackRowY(i,-1,true,svh));}const tab=mStackTabRef.current;if(tab){tab.style.transition=\"transform 220ms cubic-bezier(.2,0,.2,1)\";tab.style.transform=\"translateX(-50%) translateY(\"+-rise+\"px)\";}}if(!nav)releaseViewport();return;}if(!d.started||d.dead||!nav){if(d.moved<=MOBILE_STACK_TAP_MOVE_PX){if(d.body){if(nav){endNav(\"abort:user\",true);settleStatic();}const el=d.target;const onControl=el&&el.closest&&el.closest(\"a,button,.mf-link\");if(S===-1&&!onControl)setStackOpen(!stackOpen);}else if(d.j!==S){beginNav(S,d.j,anchorBar(S,d.j),0,d.j);runNav(1,mfFlagsRef.current.navMs);}else if(nav){endNav(\"abort:user\",true);settleStatic();}}else if(nav){endNav(\"abort:user\",true);settleStatic();}if(!nav)releaseViewport();return;}const sm=d.samples;let v=0;if(sm.length>=2){const dt=sm[sm.length-1][0]-sm[0][0];if(dt>0)v=(sm[sm.length-1][1]-sm[0][1])/dt;}const towards=d.dir<0?-v:v;let commit;if(towards>FLICK_VEL_PX_MS)commit=nav.prog>=FLICK_MIN_PROG;else if(towards<-FLICK_VEL_PX_MS)commit=false;else commit=nav.prog>=SLOW_COMMIT_PROG;runNav(commit?1:0,mfFlagsRef.current.navMs);};const onTouchMove=e=>{if(deckPtr||tabPtr){if(e.cancelable)e.preventDefault();return;}let t=e.target;let inInner=false;while(t&&t!==document.body){const n=t;if(n.getAttribute&&(n.getAttribute(\"data-mf\")===\"sbody\"||n.style.overflowY===\"auto\")){inInner=true;break;}t=n.parentNode;}if(e.touches&&e.touches.length===1)tryStart(e.touches[0].clientY);const navLive=!!(drag&&drag.started&&!drag.dead);if(navLive||!inInner){if(e.cancelable)e.preventDefault();}};let lastReadoutFront=-1;let readoutDecodeToken=0;let readoutSkipHeight=false;let readoutDecodeAnims=[];let readoutDecodeTimers=[];let readoutDecodeRafs=[];let readoutHRaf=0;const cancelReadoutHeight=()=>{if(readoutHRaf){cancelAnimationFrame(readoutHRaf);readoutHRaf=0;}};const animateReadoutHeight=(fromH,toH)=>{const root=workReadoutRef.current;if(!root)return;cancelReadoutHeight();if(Math.abs(toH-fromH)<1){root.style.height=\"\";root.style.overflow=\"\";workReadoutHRef.current=toH;layoutWorkGridRef.current();return;}root.style.height=fromH+\"px\";root.style.overflow=\"hidden\";const t0=performance.now();const step=now=>{const t=clamp((now-t0)/STACK_STATE_MS,0,1);const e=easeAeInfluence(t,MOBILE_NAV_SWEEP_INFLUENCE,MOBILE_NAV_SWEEP_INFLUENCE);const h=fromH+(toH-fromH)*e;root.style.height=h+\"px\";root.style.overflow=\"hidden\";workReadoutHRef.current=h;layoutWorkGridRef.current();if(t<1)readoutHRaf=requestAnimationFrame(step);else{readoutHRaf=0;root.style.height=\"\";root.style.overflow=\"\";workReadoutHRef.current=toH;layoutWorkGridRef.current();}};readoutHRaf=requestAnimationFrame(step);};const cancelReadoutDecode=()=>{readoutDecodeToken+=1;for(let i=0;i<readoutDecodeAnims.length;i++){try{readoutDecodeAnims[i].cancel();}catch(e){}}readoutDecodeAnims=[];for(let i=0;i<readoutDecodeTimers.length;i++)clearTimeout(readoutDecodeTimers[i]);readoutDecodeTimers=[];for(let i=0;i<readoutDecodeRafs.length;i++)cancelAnimationFrame(readoutDecodeRafs[i]);readoutDecodeRafs=[];readoutSkipHeight=false;};const restoreReadoutChrome=()=>{const root=workReadoutRef.current;if(!root)return;for(let i=0;i<WORK_READOUT_DECODE_FIELDS.length;i++){const el=root.querySelector(WORK_READOUT_DECODE_FIELDS[i].sel);if(!el)continue;el.style.opacity=\"1\";el.style.transform=\"none\";}const scan=root.querySelector('[data-mf=\"work-readout-scan\"]');if(scan){scan.style.opacity=\"0\";scan.style.transform=\"none\";}const fringe=root.querySelector('[data-mf=\"work-readout-fringe\"]');if(fringe){fringe.style.opacity=\"0\";fringe.style.transform=\"none\";}const wrap=root.querySelector('[data-mf=\"work-readout-name-wrap\"]');if(wrap){wrap.style.removeProperty(\"height\");wrap.style.overflow=\"hidden\";}root.style.opacity=\"1\";};const writeReadout=front=>{const root=workReadoutRef.current;if(!root)return;const kicker=root.querySelector('[data-mf=\"work-readout-kicker\"]');const nameEl=root.querySelector('[data-mf=\"work-readout-name\"]');const idxEl=root.querySelector('[data-mf=\"work-readout-idx\"]');const brandRow=root.querySelector('[data-mf=\"work-readout-brand-row\"]');const brandEl=root.querySelector('[data-mf=\"work-readout-brand\"]');const metaEl=root.querySelector('[data-mf=\"work-readout-meta\"]');if(!kicker||!nameEl||!idxEl||!brandRow||!brandEl||!metaEl)return;const p=workProjectsRef.current[front];const studio=p&&(p.studioName||p.brandName)||\"UNDISCLOSED STUDIO\";const brandTxt=p&&p.brandName&&p.brandName!==studio?p.brandName:\"\";const metaTxt=p?formatMeta(p.category,p.year,p.workTypes):\"\";const nAll=visibleCountRef.current;const idxTxt=\"[ \"+String(front+1).padStart(2,\"0\")+\" / \"+String(nAll).padStart(2,\"0\")+\" ]\";if(kicker.textContent!==\"WORK FOR\")kicker.textContent=\"WORK FOR\";if(nameEl.textContent!==studio)nameEl.textContent=studio;if(idxEl.textContent!==idxTxt)idxEl.textContent=idxTxt;const brandOut=brandTxt||\"\\xa0\";if(brandEl.textContent!==brandOut)brandEl.textContent=brandOut;if(brandRow.style.display!==\"flex\")brandRow.style.display=\"flex\";if(metaEl.textContent!==metaTxt)metaEl.textContent=metaTxt;const fringeEl=root.querySelector('[data-mf=\"work-readout-fringe\"]');if(fringeEl&&fringeEl.textContent!==studio)fringeEl.textContent=studio;if(!readoutSkipHeight){const h=root.offsetHeight||0;if(h!==workReadoutHRef.current)layoutWorkGridRef.current();}};const scrambleField=(el,final,ms,token)=>{const t0=performance.now();const n=final.length;const glyphs=WORK_READOUT_SCRAMBLE_GLYPHS;const step=()=>{if(token!==readoutDecodeToken)return;const pr=Math.min(1,(performance.now()-t0)/ms);const lock=Math.floor(pr*n);let s=\"\";for(let i=0;i<n;i++){const ch=final.charAt(i);if(i<lock||ch===\" \"||ch===\"\\xb7\"||ch===\",\"||ch===\"[\"||ch===\"]\"||ch===\"/\")s+=ch;else s+=glyphs.charAt(Math.random()*glyphs.length|0);}el.textContent=s;if(pr<1){const id=requestAnimationFrame(step);readoutDecodeRafs.push(id);}else{el.textContent=final;}};const id=requestAnimationFrame(step);readoutDecodeRafs.push(id);};const flipReadout=front=>{const root=workReadoutRef.current;if(!root){writeReadout(front);return;}cancelReadoutDecode();cancelReadoutHeight();restoreReadoutChrome();const fromH=root.offsetHeight||0;const stash=[];for(let i=0;i<WORK_READOUT_DECODE_FIELDS.length;i++){const el=root.querySelector(WORK_READOUT_DECODE_FIELDS[i].sel);if(el)stash.push({el,text:el.textContent||\"\"});}const fringeStash=root.querySelector('[data-mf=\"work-readout-fringe\"]');if(fringeStash)stash.push({el:fringeStash,text:fringeStash.textContent||\"\"});readoutSkipHeight=true;writeReadout(front);root.style.height=\"auto\";root.style.overflow=\"visible\";const toH=root.offsetHeight||0;for(let i=0;i<stash.length;i++)stash[i].el.textContent=stash[i].text;animateReadoutHeight(fromH,toH);const token=readoutDecodeToken;for(let i=0;i<WORK_READOUT_DECODE_FIELDS.length;i++){const spec=WORK_READOUT_DECODE_FIELDS[i];const el=root.querySelector(spec.sel);if(!el)continue;const a=el.animate([{opacity:1},{opacity:.22}],{duration:100,delay:spec.outDelay,easing:\"linear\",fill:\"forwards\"});readoutDecodeAnims.push(a);}const scan=root.querySelector('[data-mf=\"work-readout-scan\"]');const clip=root.querySelector('[data-mf=\"work-readout-scan-clip\"]');if(scan){const H=clip&&clip.offsetHeight||root.offsetHeight||0;const dir=readoutScanDirRef.current||1;const fromY=dir>0?H+22:-22;const toY=dir>0?-22:H+22;const sAnim=scan.animate([{transform:\"translateY(\"+fromY+\"px)\",opacity:0},{transform:\"translateY(\"+(fromY+(toY-fromY)*.35)+\"px)\",opacity:1,offset:.35},{transform:\"translateY(\"+toY+\"px)\",opacity:0}],{duration:WORK_READOUT_DECODE_MS,easing:\"cubic-bezier(.3,0,.4,1)\"});readoutDecodeAnims.push(sAnim);}const writeT=window.setTimeout(()=>{if(token!==readoutDecodeToken)return;writeReadout(front);const wrap=root.querySelector('[data-mf=\"work-readout-name-wrap\"]');if(wrap){wrap.style.height=wrap.offsetHeight+\"px\";wrap.style.overflow=\"hidden\";}readoutSkipHeight=true;const fringe=root.querySelector('[data-mf=\"work-readout-fringe\"]');if(fringe){const g=fringe.animate([{opacity:0,transform:\"translateX(0px)\"},{opacity:.6,transform:\"translateX(-3px)\",offset:.18},{opacity:.35,transform:\"translateX(2px)\",offset:.5},{opacity:0,transform:\"translateX(0px)\"}],{duration:320,easing:\"linear\"});readoutDecodeAnims.push(g);}for(let i=0;i<WORK_READOUT_DECODE_FIELDS.length;i++){const spec=WORK_READOUT_DECODE_FIELDS[i];const el=root.querySelector(spec.sel);if(!el)continue;const target=el.textContent||\"\";const fade=el.animate([{opacity:.22},{opacity:1}],{duration:150,delay:spec.inDelay,easing:\"linear\",fill:\"forwards\"});readoutDecodeAnims.push(fade);const st=window.setTimeout(()=>{if(token!==readoutDecodeToken)return;scrambleField(el,target,250,token);},spec.inDelay);readoutDecodeTimers.push(st);}},160);readoutDecodeTimers.push(writeT);const doneT=window.setTimeout(()=>{if(token!==readoutDecodeToken)return;writeReadout(front);cancelReadoutDecode();restoreReadoutChrome();},160+112+250+40);readoutDecodeTimers.push(doneT);};const tickFlash=()=>{const dial=workDialNumRef.current&&workDialNumRef.current.closest('[data-mf=\"work-dial\"]');const flash=dial?dial.querySelector('[data-mf=\"work-dial-flash\"]'):null;if(!flash)return;flash.animate([{opacity:0,transform:\"scaleX(.4)\"},{opacity:1,transform:\"scaleX(1)\",offset:.3},{opacity:0,transform:\"scaleX(1)\"}],{duration:60,easing:\"linear\"});};const notchWatch=()=>{const n=Math.round(deckPos);if(n!==lastNotch){lastNotch=n;tickFlash();}};const deactivateTile=()=>{const playing=activeVideoRef.current;if(playing!==null)stopTileVideo(playing);if(litIdx<0)return;const prev=tileRefs.current[litIdx];if(prev)prev.removeAttribute(\"data-lit\");litIdx=-1;};const activateTile=()=>{const n=visibleCountRef.current;if(n<=0)return;const w=wrapDeckPos(Math.round(deckPos),n);const tile=tileRefs.current[w];if(!tile)return;if(litIdx!==w){const firstLit=litIdx<0;if(litIdx>=0){const prev=tileRefs.current[litIdx];if(prev)prev.removeAttribute(\"data-lit\");}litIdx=w;tile.setAttribute(\"data-lit\",\"1\");const sc=tile.querySelector('[data-mf=\"tile-scan\"]');const geo=mDeckGeomRef.current;const tileH=geo.tileH||tile.offsetHeight||0;if(sc&&tileH>0&&!firstLit){const d=readoutScanDirRef.current||1;const a=d>0?tileH+20:-20;const b=d>0?-20:tileH+20;sc.animate([{transform:\"translateY(\"+a+\"px)\",opacity:0},{transform:\"translateY(\"+(a+(b-a)*.35)+\"px)\",opacity:1,offset:.35},{transform:\"translateY(\"+b+\"px)\",opacity:0}],{duration:260,easing:\"cubic-bezier(.3,0,.4,1)\"});}}if(w!==lastReadoutFront){const prev=lastReadoutFront;lastReadoutFront=w;if(prev<0)writeReadout(w);else flipReadout(w);}deckTick();};const deckSpring=()=>{deckRaf=0;if(deckTarget===null)return;const n=visibleCountRef.current;deckVel+=(deckTarget-deckPos)*MOBILE_DECK_STEP_STIFF;deckVel*=MOBILE_DECK_STEP_DAMP;deckPos+=deckVel;notchWatch();deckTick();if(Math.abs(deckTarget-deckPos)<.002&&Math.abs(deckVel)<.002){deckPos=wrapDeckPos(deckTarget,n);deckVel=0;deckTarget=null;lastNotch=Math.round(deckPos);notchWatch();activateTile();return;}deckRaf=requestAnimationFrame(deckSpring);};const startDeckPointer=e=>{if(dead)return;if(deckRaf){cancelAnimationFrame(deckRaf);deckRaf=0;}deckTarget=null;deckVel=0;deactivateTile();const now=performance.now();lastNotch=Math.round(deckPos);deckPtr={id:e.pointerId,y:e.clientY,startNotch:Math.round(deckPos),lastMoveAt:now,samples:[]};deckSuppressClickRef.current=false;const grid=workGridRef.current;if(grid){try{grid.setPointerCapture(e.pointerId);}catch(err){}}if(e.cancelable)e.preventDefault();};const moveDeckPointer=e=>{if(!deckPtr||e.pointerId!==deckPtr.id)return;const geo=mDeckGeomRef.current;const tileH=geo.tileH||1;const now=performance.now();const dy=e.clientY-deckPtr.y;deckPtr.y=e.clientY;const dt=Math.max(1,now-deckPtr.lastMoveAt);const inst=-(dy/tileH)/dt*16.7;deckPos-=dy/tileH;const lo=deckPtr.startNotch-1;const hi=deckPtr.startNotch+1;if(deckPos>hi)deckPos=hi+.35*Math.tanh((deckPos-hi)/.35);else if(deckPos<lo)deckPos=lo-.35*Math.tanh((lo-deckPos)/.35);if(isFinite(inst)){deckPtr.samples.push({v:inst,t:now});deckPtr.lastMoveAt=now;while(deckPtr.samples.length&&now-deckPtr.samples[0].t>80)deckPtr.samples.shift();}if(Math.abs(deckPos-deckPtr.startNotch)>.04)deckSuppressClickRef.current=true;notchWatch();deckTick();if(e.cancelable)e.preventDefault();};const endDeckPointer=e=>{if(!deckPtr||e.pointerId!==deckPtr.id)return;const now=performance.now();const idle=now-deckPtr.lastMoveAt;let pk=0;for(let q=0;q<deckPtr.samples.length;q++){if(Math.abs(deckPtr.samples[q].v)>Math.abs(pk))pk=deckPtr.samples[q].v;}const d=deckPos-deckPtr.startNotch;let dir=0;if(Math.abs(d)>.22)dir=d>0?1:-1;else if(idle<=70&&Math.abs(pk)>.05)dir=pk>0?1:-1;if(dir!==0)readoutScanDirRef.current=dir;deckTarget=deckPtr.startNotch+dir;deckVel=0;deckPtr=null;if(!deckRaf)deckRaf=requestAnimationFrame(deckSpring);};function deckTick(){const grid=workGridRef.current;const geo=mDeckGeomRef.current;const n=visibleCountRef.current;const scroller=mSbodyRefs.current[1];if(!grid||!scroller||n<=1)return;const useDrum=mfFlagsRef.current.drum;const useDrum3d=useDrum&&mfFlagsRef.current.drum3d;const tileH=geo.tileH||1;const wrap=useDrum&&n>1;const stepMode=useDrum;let pos;if(stepMode){pos=deckPos;}else if(wrap){pos=scroller.scrollTop/tileH-1;if(pos>=n-.02){const snap=scroller.style.scrollSnapType;scroller.style.scrollSnapType=\"none\";scroller.scrollTop=tileH;scroller.style.scrollSnapType=snap||\"y mandatory\";pos=0;}else if(pos<=-.98){const snap=scroller.style.scrollSnapType;scroller.style.scrollSnapType=\"none\";scroller.scrollTop=n*tileH;scroller.style.scrollSnapType=snap||\"y mandatory\";pos=n-1;}}else{if(geo.span<=0)return;const rawP=scroller.scrollTop/geo.span;pos=Math.max(0,Math.min(1,rawP))*(n-1);}for(let i=0;i<n;i++){const tile=tileRefs.current[i];if(!tile)continue;const o=wrap?drumWrapO(i,pos,n):i-pos;const scrim=recedeScrimRefs.current[i];if(useDrum){const drum=mobileDeckDrumPose(o);const proj=useDrum3d?null:mobileDeckDrumProj(o,tileH);// sy<=0 is the 2D AABB past 90deg — inverted\n// slivers that read as extra layers.\nif(drum.culled||drum.op<=.001||proj&&proj.sy<=.02){if(tile.style.display!==\"none\")tile.style.display=\"none\";if(tile.style.opacity!==\"0\")tile.style.opacity=\"0\";if(tile.style.transform!==\"none\")tile.style.transform=\"none\";if(scrim&&scrim.style.opacity!==\"0\")scrim.style.opacity=\"0\";continue;}if(tile.style.display===\"none\")tile.style.removeProperty(\"display\");if(tile.style.visibility!==\"\")tile.style.visibility=\"\";const opStr=drum.op.toFixed(3);if(tile.style.opacity!==opStr)tile.style.opacity=opStr;let tr;if(useDrum3d||!proj){tr=\"rotateX(\"+drum.theta.toFixed(2)+\"deg) translateZ(\"+MOBILE_DECK_DRUM_R_PX.toFixed(1)+\"px)\";}else{tr=\"translate3d(0,\"+proj.ty.toFixed(1)+\"px,0) scale(\"+Math.max(.01,proj.sx).toFixed(3)+\",\"+Math.max(.01,proj.sy).toFixed(3)+\")\";}if(tile.style.transform!==tr)tile.style.transform=tr;// |o| order: nearer to front paints on top.\n// o<=0 wins ties so the incoming card does not\n// pop over at the 0.5 cosine crossing.\nconst z=String(Math.round((1-Math.abs(o))*1e4)+(o<=0?1:0));if(tile.style.zIndex!==z)tile.style.zIndex=z;const scrimOp=drum.scrim.toFixed(3);if(scrim&&scrim.style.opacity!==scrimOp)scrim.style.opacity=scrimOp;}else{const pose=mobileDeckPose(o,tileH);if(pose.op<=.001){if(tile.style.visibility!==\"hidden\")tile.style.visibility=\"hidden\";if(tile.style.opacity!==\"0\")tile.style.opacity=\"0\";if(tile.style.transform!==\"none\")tile.style.transform=\"none\";if(scrim&&scrim.style.opacity!==\"0\")scrim.style.opacity=\"0\";continue;}if(tile.style.visibility!==\"\")tile.style.visibility=\"\";const opStr=pose.op.toFixed(3);if(tile.style.opacity!==opStr)tile.style.opacity=opStr;const tr=\"translate3d(0,\"+pose.ty.toFixed(1)+\"px,0) rotateX(\"+pose.rx.toFixed(2)+\"deg) scale(\"+Math.max(.2,pose.sc).toFixed(3)+\")\";if(tile.style.transform!==tr)tile.style.transform=tr;const scrimOp=(1-Math.max(0,Math.min(1,pose.br))).toFixed(3);if(scrim&&scrim.style.opacity!==scrimOp)scrim.style.opacity=scrimOp;}}const front=wrap?(Math.round(pos)%n+n)%n:Math.round(pos);const countEl=workCountRef.current;if(countEl){const txt=String(front+1).padStart(2,\"0\")+\" / \"+String(n).padStart(2,\"0\");if(countEl.textContent!==txt)countEl.textContent=txt;}// s116 driver never mounts in stackMode, so it never wrote\n// data-mf-ctavisible. Same every-frame loop: a lastFront\n// latch would skip the rewrite when playingVideo remounts\n// the CTA node (s80). Drum: lit = abs(o) < 0.5 (gen4);\n// ?mfdrum=0: the pre-s136 front tile.\nfor(let i=0;i<n;i++){const tile=tileRefs.current[i];if(!tile)continue;const cta=tile.querySelector(\".mf-tile-playcta\");if(!cta)continue;const lit=stepMode?i===litIdx&&Math.abs(drumWrapO(i,pos,n))<.5:useDrum?Math.abs(drumWrapO(i,pos,n))<.5:i===front;if(lit){if(cta.getAttribute(\"data-mf-ctavisible\")!==\"1\")cta.setAttribute(\"data-mf-ctavisible\",\"1\");}else if(cta.hasAttribute(\"data-mf-ctavisible\")){cta.removeAttribute(\"data-mf-ctavisible\");}}if(!stepMode&&front!==lastReadoutFront){const prev=lastReadoutFront;lastReadoutFront=front;if(prev<0)writeReadout(front);else flipReadout(front);}const spanN=MOBILE_DIAL_SPAN;const pool=workDialTickRefs.current;const numEl=workDialNumRef.current;const base=Math.floor(pos);const frac=pos-base;const cy=(geo.stageH||0)/2;// Number window is centred on the gate (top ≈ cy - 10.5).\n// litTop was y - 7 in dial space; in window space: y - cy + 3.5.\nlet litTop=\"\";let litFade=\"\";let litTxt=\"\";for(let k=-spanN;k<=spanN;k++){const tick=pool[k+spanN];if(!tick)continue;const o=k-frac;const aDeg=o*MOBILE_DIAL_STEP_DEG;const a=aDeg*Math.PI/180;const c=Math.cos(a);const idx=wrap?((base+k)%n+n)%n+1:base+k+1;const tickMul=typeof buildInTickMul===\"function\"?buildInTickMul(k):1;if(c<=.06||idx<1||idx>n){if(tick.style.visibility!==\"hidden\")tick.style.visibility=\"hidden\";if(tick.style.opacity!==\"0\")tick.style.opacity=\"0\";continue;}const y=cy+MOBILE_DIAL_R_PX*Math.sin(a);const xin=(1-c)*9;const lit=Math.abs(o)<.5;const ln=(lit?22:11)*c;const hh=Math.max(1,(lit?2.4:1.4)*c);const col=lit?\"#00d5f0\":\"rgba(255,255,255,\"+((.12+.78*c)*.72).toFixed(2)+\")\";const rightStr=(11+xin).toFixed(1)+\"px\";const topStr=y.toFixed(1)+\"px\";const wStr=ln.toFixed(1)+\"px\";const hStr=hh.toFixed(1)+\"px\";const opStr=tickMul>=1?\"1\":tickMul.toFixed(3);if(tick.style.position!==\"absolute\")tick.style.position=\"absolute\";if(tick.style.visibility!==\"visible\")tick.style.visibility=\"visible\";if(tick.style.opacity!==opStr)tick.style.opacity=opStr;if(tick.style.right!==rightStr)tick.style.right=rightStr;if(tick.style.top!==topStr)tick.style.top=topStr;if(tick.style.width!==wStr)tick.style.width=wStr;if(tick.style.height!==hStr)tick.style.height=hStr;if(tick.style.background!==col)tick.style.background=col;if(lit){litTop=(y-cy+3.5).toFixed(1)+\"px\";litFade=Math.max(0,1-2*Math.abs(o)).toFixed(2);litTxt=String(idx).padStart(2,\"0\");}}if(numEl){if(litTxt){if(numEl.style.visibility!==\"visible\")numEl.style.visibility=\"visible\";if(numEl.style.opacity!==litFade)numEl.style.opacity=litFade;if(numEl.style.right!==\"0px\"&&numEl.style.right!==\"0\")numEl.style.right=\"0px\";if(numEl.style.top!==litTop)numEl.style.top=litTop;if(numEl.style.color!==\"#00d5f0\")numEl.style.color=\"#00d5f0\";const shown=litTxt;if(numEl.textContent!==shown)numEl.textContent=shown;if(numEl.style.textAlign!==\"center\")numEl.style.textAlign=\"center\";if(numEl.style.left!==\"0px\")numEl.style.left=\"0px\";if(numEl.style.right!==\"0px\")numEl.style.right=\"0px\";}else{if(numEl.style.visibility!==\"hidden\")numEl.style.visibility=\"hidden\";if(numEl.style.opacity!==\"0\")numEl.style.opacity=\"0\";}}if(mfFlagsRef.current.debug){const hudMode=!useDrum?\"off\":useDrum3d?\"3d\":\"2d\";const probe=[\"DRUM \"+hudMode+\" pos=\"+pos.toFixed(2)+\" H=\"+Math.round(tileH)+\" n=\"+n];for(let d=-1;d<=1;d++){const i=front+d;if(i<0||i>=n)continue;const tile=tileRefs.current[i];if(!tile)continue;const r=tile.getBoundingClientRect();const cs=getComputedStyle(tile).transform;const oTile=i-pos;probe.push(\"i\"+i+\" o=\"+(oTile>=0?\"+\":\"\")+oTile.toFixed(2)+\" h=\"+r.height.toFixed(0)+\" \"+mfFmtCsTransform(cs)+\" w=\"+(tile.style.transform||\"none\"));}mfDebugDrumRef.current=probe.join(\"\\n\");mfDebugPaint();}const playing=activeVideoRef.current;if(playing!==null&&playing!==front)stopTileVideo(playing);}const measure=()=>{svh=window.innerHeight;const hostBox=hero?hero.getBoundingClientRect().height:0;screenH=Math.round(hostBox)||svh;bandPx=svh*MOBILE_WIPE_BAND_SVH/100;wipe.style.height=bandPx+\"px\";if(rootRef.current)rootRef.current.style.setProperty(\"--host-h\",screenH+\"px\");layoutWorkGridRef.current();};const warmMask=()=>{const dirs=[\"rise\",\"fall\"];for(let i=0;i<screens.length;i++){const s=screens[i];if(!s)continue;const sb=sbodyOf(s);const sc=innerFor(i);const saved=sc?sc.scrollTop:0;barEls[0].appendChild(s);for(let d=0;d<dirs.length;d++){s.setAttribute(\"data-win\",dirs[d]);if(sb)sb.style.transform=\"translate3d(0,-1px,0)\";void s.offsetHeight;}s.removeAttribute(\"data-win\");if(sb)sb.style.transform=\"none\";if(sc)sc.scrollTop=saved;}hostScreens();};function scheduleViewport(){clearTimeout(rT);rT=setTimeout(applyViewport,120);}function applyViewport(){if(nav||drag){vpDirty=true;return;}if(performance.now()<stackAnimUntil){vpDirty=true;clearTimeout(rT);rT=setTimeout(applyViewport,stackAnimUntil-performance.now()+10);return;}vpDirty=false;measure();settleStatic();}const onViewportChange=()=>{if(viewportBusy()){vpDirty=true;return;}scheduleViewport();};const workSb=mSbodyRefs.current[1];const onWorkScroll=()=>deckTick();if(workSb)workSb.addEventListener(\"scroll\",onWorkScroll,{passive:true});stackApiRef.current.goTo=(to,grabJ)=>{if(dead)return;if(to===S)return;if(nav)endNav(\"abort:user\",true);beginNav(S,to,anchorBar(S,to),0,grabJ);runNav(1,mfFlagsRef.current.navMs);};stackApiRef.current.setOpen=v=>{if(!dead)setStackOpen(v);};document.addEventListener(\"pointerdown\",onDown,{passive:false});document.addEventListener(\"pointermove\",onMove,{passive:false});document.addEventListener(\"pointerup\",onUp);document.addEventListener(\"pointercancel\",onUp);document.addEventListener(\"touchmove\",onTouchMove,{passive:false});window.addEventListener(\"resize\",onViewportChange);window.addEventListener(\"orientationchange\",onViewportChange);if(window.visualViewport)window.visualViewport.addEventListener(\"resize\",onViewportChange);writeReadout(0);lastReadoutFront=0;measure();settleStatic();warmMask();settleStatic();mfDebugLog(\"stack \"+MF_BUILD+\" PLAN\");return()=>{dead=true;stackApiRef.current.goTo=()=>{};stackApiRef.current.setOpen=()=>{};if(nav)endNav(\"abort:user\",true);drag=null;wipeTuckToken+=1;pressTuckGen[0]+=1;pressTuckGen[1]+=1;pressTuckGen[2]+=1;stopCrt();parkWipe();cancelReadoutHeight();if(workBuildInActive){workBuildInActive=false;clearWorkBuildInTimers();buildInTickMul=()=>1;}for(let i=0;i<3;i++){barEls[i].removeAttribute(\"data-press\");barEls[i].removeAttribute(\"data-latch\");const ch=chromeOf(barEls[i]);const kids=[ch.spine,ch.grip,ch.wash,ch.row,ch.head,ch.top,ch.bot];for(let ki=0;ki<kids.length;ki++){const el=kids[ki];if(!el)continue;el.getAnimations().forEach(a=>{try{a.cancel();}catch(e){}});el.style.transform=\"\";el.style.opacity=\"\";}snapPressClip(barEls[i]);const pf=barEls[i].querySelector(\".mf-press-fill\");if(pf)snapPressFill(pf);}deckPtr=null;tabPtr=null;if(tabIdleT){clearTimeout(tabIdleT);tabIdleT=0;}if(deckRaf){cancelAnimationFrame(deckRaf);deckRaf=0;}cancelReadoutDecode();restoreReadoutChrome();if(mfFlagsRef.current.mfoot&&contact){const foot=contact.querySelector(\"footer\");if(foot)foot.style.removeProperty(\"outline\");}hideGridHold();if(holdRaf){cancelAnimationFrame(holdRaf);holdRaf=0;}if(gridHold&&gridHold.parentNode)gridHold.parentNode.removeChild(gridHold);gridHold=null;hostScreens();if(wipe.parentNode!==wipeFrame)wipeFrame.appendChild(wipe);wipe.style.opacity=\"0\";wipe.style.top=\"0px\";wipe.style.marginTop=\"\";wipe.style.marginBottom=\"\";wipe.style.transform=\"\";wipe.style.transformOrigin=\"50% 50%\";for(let i=0;i<screens.length;i++){const s=screens[i];if(!s)continue;s.removeAttribute(\"data-win\");openCut(s);s.style.pointerEvents=\"\";s.style.willChange=\"\";const sb=sbodyOf(s);if(sb){sb.style.transform=\"none\";sb.getAnimations().forEach(a=>a.cancel());}}document.removeEventListener(\"pointerdown\",onDown);document.removeEventListener(\"pointermove\",onMove);document.removeEventListener(\"pointerup\",onUp);document.removeEventListener(\"pointercancel\",onUp);document.removeEventListener(\"touchmove\",onTouchMove);window.removeEventListener(\"resize\",onViewportChange);window.removeEventListener(\"orientationchange\",onViewportChange);if(window.visualViewport)window.visualViewport.removeEventListener(\"resize\",onViewportChange);if(workSb)workSb.removeEventListener(\"scroll\",onWorkScroll);clearTimeout(rT);if(!overlayActiveRef.current)html.style.overflow=savedHtmlOverflow;html.style.overscrollBehavior=savedHtmlOverscroll;/* The s116 driver never mounted while stackMode was on, so\n               its teardown does not run on a Motion→Colour flip. Copy\n               the tile/scrim reset it owns or Colour's grid comes back\n               empty (off-centre tiles left visibility:hidden). */for(const t of tileRefs.current){if(!t)continue;t.style.opacity=\"\";t.style.transform=\"\";t.style.filter=\"\";t.style.willChange=\"\";t.style.zIndex=\"\";t.style.marginTop=\"\";t.style.visibility=\"visible\";t.style.removeProperty(\"display\");t.removeAttribute(\"data-lit\");t.removeAttribute(\"data-playing\");const cta=t.querySelector(\".mf-tile-playcta\");if(cta&&cta.hasAttribute(\"data-mf-ctavisible\"))cta.removeAttribute(\"data-mf-ctavisible\");}for(const s of recedeScrimRefs.current){if(!s)continue;s.style.opacity=\"\";}layoutWorkGridRef.current();};},[motionPhone,mfDebugLog,mfDebugPaint]);// ---- s171: the Colour phone pager -----------------------------------\n// Four full-screen pages on the Colour phone: hero / work / about /\n// contact, parked position:fixed; inset:0 like the Motion stack's\n// screens (s132), each scrolling inside its own sbody. A vertical swipe\n// past the sbody's edge turns the page; the index along the bottom and\n// the nav links go through cpageApiRef.goTo. The turn is the Focus Pull\n// mockup's page turn: the leaving page drifts CPAGE_DRIFT_PCT in the\n// swipe direction and fades, the arriving page drifts in from the other\n// side; headlines build out and in with Gav's 22px · 118% spec. No blur\n// on a page box — the phone stutter case. The still twins are P2.\n// Work's tiles: the site's reveal loop zeroes Colour progress whenever\n// scrollY is 0 (revealShouldReset), which in the pager is always — so\n// the pager owns progress through the assisted-ride scrub refs and\n// replays the rise on every trip to WORK. Everything written to a root\n// is written back on teardown from a cssText snapshot (never \"\" — s67).\nuseLayoutEffect(()=>{if(!colourPages)return;const roots=[headerElRef.current,gridWrapRef.current,studioSecRef.current,contactWrapRef.current];if(roots.some(r=>!r))return;const R=roots;const snap=R.map(r=>r.style.cssText);const htmlOv=document.documentElement.style.overflow;const bodyOv=document.body.style.overflow;const PAGE_OF={top:0,work:1,about:2,contact:3};let dead=false;const carried=sectionCarryRef.current;sectionCarryRef.current=-1;let S=carried>=0&&carried<=3?carried:PAGE_OF[location.hash.replace(\"#\",\"\")]??0;cpageSRef.current=S;let turning=[];let heads=[];let landRaf=0;// s187/s188: the crimson ambient swells as a page lands. The one\n// ambient layer, opacity only, written only here (s187's second\n// full-screen layer crashed Gav's phone on Hero -> Work). A new\n// swell starts from the current value so a quick second turn never\n// pops. ?mfbloom=0 holds the layer at rest.\nconst bloomEl=document.querySelector('[data-mf=\"ambient\"]');let bloomA=null;const bloom=delay=>{if(!bloomEl||dead||!mfFlagsRef.current.mfbloom)return;const fv=parseFloat(getComputedStyle(bloomEl).opacity);const from=isNaN(fv)?CPAGE_AMBIENT_REST_OP:fv;if(bloomA)bloomA.cancel();const a=bloomEl.animate([{opacity:from},{opacity:1,offset:.35},{opacity:CPAGE_AMBIENT_REST_OP}],{duration:CPAGE_BLOOM_MS,delay,easing:\"ease-in-out\",fill:\"both\"});a.addEventListener(\"finish\",()=>{if(bloomA===a){bloomA=null;a.cancel();}});bloomA=a;};const sbodyOf=i=>R[i].querySelector(\"[data-mf-ph]\")||mSbodyRefs.current[i]||R[i].querySelector('[data-mf=\"sbody\"]');const park=()=>{R.forEach((r,i)=>{r.setAttribute(\"data-mf-cpage\",String(i));r.style.position=\"fixed\";r.style.top=\"0px\";r.style.right=\"0px\";r.style.bottom=\"0px\";r.style.left=\"0px\";r.style.width=\"auto\";r.style.height=\"auto\";r.style.minHeight=\"0px\";r.style.maxWidth=\"none\";r.style.margin=\"0px\";r.style.padding=\"0px\";r.style.overflow=\"hidden\";r.style.clipPath=\"\";r.style.setProperty(\"-webkit-clip-path\",\"\");r.style.transform=\"translateZ(0)\";r.style.willChange=\"transform, opacity\";r.style.zIndex=i===S?\"2\":\"1\";r.style.opacity=i===S?\"1\":\"0\";r.style.visibility=i===S?\"visible\":\"hidden\";r.style.pointerEvents=i===S?\"\":\"none\";// the scroller, as the JSX declares it (the stack's restore\n// resets these and React will not rewrite unchanged props)\nconst sb=sbodyOf(i);if(sb){sb.style.display=i===3?\"flex\":\"block\";sb.style.position=\"absolute\";sb.style.left=\"0px\";sb.style.right=\"0px\";sb.style.top=\"0px\";sb.style.height=\"100%\";sb.style.transform=\"\";sb.style.overflowY=i===0?\"hidden\":\"auto\";sb.style.overscrollBehavior=\"none\";sb.style.touchAction=\"pan-y\";}});const gridEl=workGridRef.current;if(gridEl){gridEl.style.height=\"\";gridEl.style.minHeight=\"\";}document.documentElement.style.overflow=\"hidden\";document.body.style.overflow=\"hidden\";};// The headlines that build out and in. Small labels and body copy\n// only fade with the page (brief: no blur on small text).\nconst HEAD_SEL=[\".mf-hero-h1-line\",\".mf-headline-label\",'#work>[data-mf=\"sbody\"]>.mf-pad-x>div:first-child',\"h2\",\".mf-contact\",\".mfph-head\"].join(\",\");const headsOf=i=>Array.from((R[i].querySelector(\"[data-mf-ph]\")||R[i]).querySelectorAll(HEAD_SEL)).slice(0,8);const clearHeads=()=>{heads.forEach(a=>a.cancel());heads=[];};const buildOut=els=>els.forEach((el,k)=>{el.style.transformOrigin=\"50% 50%\";heads.push(el.animate([{opacity:1,filter:\"blur(0px)\",transform:\"scale(1)\"},{opacity:0,filter:\"blur(15px)\",transform:\"scale(1.09)\"}],{duration:CPAGE_BUILD_OUT_MS,delay:k*40,easing:\"cubic-bezier(.4,0,1,1)\",fill:\"forwards\"}));});const buildIn=(els,delay)=>els.forEach((el,k)=>{el.style.transformOrigin=\"50% 50%\";const a=el.animate([{opacity:0,filter:\"blur(22px)\",transform:\"scale(1.18)\",offset:0},{opacity:1,offset:.55},{opacity:1,filter:\"blur(0px)\",transform:\"scale(1)\",offset:1}],{duration:CPAGE_BUILD_IN_MS,delay:delay+k*CPAGE_BUILD_STAGGER_MS,easing:\"cubic-bezier(.16,1,.3,1)\",fill:\"both\"});// back to the element's own state once landed\n    a.addEventListener(\"finish\",()=>{if(!dead)a.cancel();});heads.push(a);});// Work tiles: replay the site's own rise (40px, staggered) on arrival.\nconst land=()=>{cancelAnimationFrame(landRaf);autoScrollScrubReveal.current=true;colourProgressRef.current=0;updateColourGridReveal(0);autoScrollProgress.current=0;const t0=performance.now();const step=now=>{if(dead)return;const p=Math.min(1,(now-t0)/CPAGE_LAND_MS);autoScrollScrubReveal.current=true;autoScrollProgress.current=p;if(p<1)landRaf=requestAnimationFrame(step);};landRaf=requestAnimationFrame(step);};const turn=(to,dir)=>{if(dead||to===S||to<0||to>3)return;const from=S;S=to;cpageSRef.current=to;setCpageIndex(to);turning.forEach(a=>a.cancel());turning=[];clearHeads();const out=R[from];const inn=R[to];const sb=sbodyOf(to);if(sb)sb.scrollTop=0;if(to===0&&reelMobileRef.current)reelMobileRef.current.style.opacity=\"0\";inn.style.visibility=\"visible\";inn.style.pointerEvents=\"\";inn.style.zIndex=\"2\";out.style.zIndex=\"1\";out.style.pointerEvents=\"none\";const D=CPAGE_TURN_MS;const drift=CPAGE_DRIFT_PCT*dir;const aOut=out.animate([{opacity:1,transform:\"translateZ(0) translateY(0%) scale(1)\"},{opacity:1,offset:.4},{opacity:0,transform:`translateZ(0) translateY(${-drift}%) scale(1.035)`}],{duration:D*.85,easing:CPAGE_EASE,fill:\"forwards\"});const aIn=inn.animate([{opacity:0,transform:`translateZ(0) translateY(${drift}%) scale(1.045)`},{opacity:1,offset:.45},{opacity:1,transform:\"translateZ(0) translateY(0%) scale(1)\"}],{duration:D,delay:D*.15,easing:CPAGE_EASE,fill:\"both\"});turning=[aOut,aIn];buildOut(headsOf(from));requestAnimationFrame(()=>{if(dead||S!==to)return;buildIn(headsOf(to),D*.35-16);});if(to===1)land();bloom(D*.3);aIn.addEventListener(\"finish\",()=>{if(dead||S!==to)return;out.style.opacity=\"0\";out.style.visibility=\"hidden\";inn.style.opacity=\"1\";aOut.cancel();aIn.cancel();turning=[];if(to===0){positionMobileReel();const rw=reelMobileRef.current;if(rw){const a=rw.animate([{opacity:0},{opacity:1}],{duration:600,easing:\"ease-out\",fill:\"both\"});a.addEventListener(\"finish\",()=>{if(dead)return;rw.style.opacity=\"\";a.cancel();});}}});};cpageApiRef.current.goTo=to=>turn(to,to>S?1:-1);cpageApiRef.current.repark=()=>{if(!dead)park();};// Swipe: a fast vertical flick past the current scroller's edge.\nlet t0x=0;let t0y=0;let t0t=0;let tEdge=null;const edgeOf=target=>{let el=target;while(el&&el!==document.body){if(el.getAttribute&&el.getAttribute(\"data-mf\")===\"sbody\")break;el=el.parentElement;}const sb=el&&el!==document.body?el:sbodyOf(S);if(!sb)return{top:true,bot:true};const max=sb.scrollHeight-sb.clientHeight;return{top:sb.scrollTop<=1,bot:max<=1||sb.scrollTop>=max-1};};const inChrome=t=>{const el=t;return!!(el&&el.closest&&el.closest('[data-mf=\"cpage-index\"], [data-mf=\"nav\"]'));};const onTS=e=>{tEdge=null;if(turning.length||overlayActiveRef.current||e.touches.length!==1||inChrome(e.target))return;const t=e.touches[0];t0x=t.clientX;t0y=t.clientY;t0t=performance.now();tEdge=edgeOf(e.target);};const onTE=e=>{const edge=tEdge;tEdge=null;if(!edge||turning.length||overlayActiveRef.current)return;const t=e.changedTouches[0];const dx=t.clientX-t0x;const dy=t.clientY-t0y;const dt=performance.now()-t0t;if(Math.abs(dy)<CPAGE_SWIPE_PX||Math.abs(dx)>Math.abs(dy)||dt>CPAGE_SWIPE_MAX_MS)return;if(dy<0&&edge.bot)turn(S+1,1);else if(dy>0&&edge.top)turn(S-1,-1);};// Nav links (wordmark → HOME, WORK / ABOUT / CONTACT) turn the page\n// instead of scrolling a document that no longer scrolls. Tiles are\n// anchors too (href=\"#work\") and keep their lightbox handler.\nconst onClick=e=>{const el=e.target;const a=el&&el.closest?el.closest(\"a[href]\"):null;if(!a||a.classList.contains(\"mf-gtile\"))return;const m=(a.getAttribute(\"href\")||\"\").match(/#(top|work|about|contact)$/);if(!m)return;e.preventDefault();if(!a.closest('[data-mf=\"menu\"]'))e.stopPropagation();const to=PAGE_OF[m[1]];turn(to,to>S?1:-1);};park();positionMobileReel();let reelRaf=requestAnimationFrame(()=>{reelRaf=requestAnimationFrame(()=>{if(!dead)positionMobileReel();});});try{document.fonts.ready.then(()=>{if(!dead)positionMobileReel();});}catch(e){}setCpageIndex(S);if(S===1)land();bloom(200);document.addEventListener(\"touchstart\",onTS,{passive:true});document.addEventListener(\"touchend\",onTE,{passive:true});document.addEventListener(\"click\",onClick,true);mfDebugLog(\"cpages \"+MF_BUILD);return()=>{dead=true;cancelAnimationFrame(landRaf);cancelAnimationFrame(reelRaf);if(bloomA)bloomA.cancel();turning.forEach(a=>a.cancel());clearHeads();document.removeEventListener(\"touchstart\",onTS);document.removeEventListener(\"touchend\",onTE);document.removeEventListener(\"click\",onClick,true);cpageApiRef.current.goTo=()=>{};cpageApiRef.current.repark=()=>{};autoScrollScrubReveal.current=false;R.forEach((r,i)=>{r.removeAttribute(\"data-mf-cpage\");r.style.cssText=snap[i];});if(reelMobileRef.current)reelMobileRef.current.style.opacity=\"\";document.documentElement.style.overflow=htmlOv;document.body.style.overflow=bodyOv;};},[colourPages,mfDebugLog,positionMobileReel]);// s183: arriving in the Motion stack from the Colour pager, go to the\n// carried section. Runs after the stack's layout effect has installed\n// goTo (bar-indexed 0 work … 2 contact). A short sweep, not the full\n// 1500ms — the signal glitch covers it.\nuseEffect(()=>{if(!stackMode)return;const carried=sectionCarryRef.current;sectionCarryRef.current=-1;if(carried<1||carried>3)return;const ms=mfFlagsRef.current.navMs;mfFlagsRef.current.navMs=240;try{stackApiRef.current.goTo(carried-1);}finally{mfFlagsRef.current.navMs=ms;}},[stackMode]);// s94 diagnostic overlay. No rAF, no listener, no DOM when mfdebug\n// is off or we are not on a Motion phone. Teardown cancels both.\nuseEffect(()=>{if(!motionPhone||!mfFlagsRef.current.debug)return;let w=window.innerWidth;let h=window.innerHeight;mfDebugLog(\"viewport \"+w+\"x\"+h);const onResize=()=>{const nw=window.innerWidth;const nh=window.innerHeight;mfDebugLog(\"resize dW=\"+(nw-w)+\" dH=\"+(nh-h)+\" -> \"+nw+\"x\"+nh);w=nw;h=nh;};window.addEventListener(\"resize\",onResize);let lastY=window.scrollY;let raf=0;const tick=()=>{const y=window.scrollY;const step=y-lastY;if(Math.abs(step)>MOBILE_DEBUG_JUMP_PX){mfDebugLog(\"JUMP \"+Math.round(step)+\"px -> y=\"+Math.round(y));}lastY=y;raf=requestAnimationFrame(tick);};raf=requestAnimationFrame(tick);return()=>{window.removeEventListener(\"resize\",onResize);cancelAnimationFrame(raf);};},[motionPhone,mfDebugLog]);// ---- P5 push 2: hero glitch-out + section glitch-in (Motion desktop) ----\n// Fully imperative inline-style poses — no CSS animations, so there is no\n// fill-mode ownership to fight (the s11/s15/s29 trap) and every pose is\n// clearable by writing \"\" back. Resting state everywhere is the untouched\n// stylesheet default, i.e. VISIBLE (spec 3.10): a middle-click free-scroller\n// who never triggers a wipe never meets a hidden element.\n/** s219 colour lens: the type focus pull (his CPAGE_BUILD_* spec). appear: local 0..1 builds IN (blur 22px,\n     *  scale 1.18, opacity full by 55%); !appear: local 0..1 builds OUT (blur 15px, scale 1.09). Text under\n     *  24px only fades (the brief: no blur on small text). Pose is inline and clearable, like the glitch. */const focusSizeRef=useRef(new WeakMap);function applyColourFocusPose(el,local,appear){let fs=focusSizeRef.current.get(el);if(fs===undefined){fs=parseFloat(getComputedStyle(el).fontSize)||16;focusSizeRef.current.set(el,fs);}const big=fs>=24;el.style.clipPath=\"\";el.style.transformOrigin=\"50% 50%\";if(appear){const e=1-Math.pow(1-local,4);el.style.opacity=String(clamp(local/.55,0,1));el.style.filter=big?`blur(${(22*(1-e)).toFixed(2)}px)`:\"\";el.style.transform=big?`scale(${(1+.18*(1-e)).toFixed(4)})`:\"\";}else{const e=local*local;el.style.opacity=String(clamp(1-local,0,1));el.style.filter=big?`blur(${(15*e).toFixed(2)}px)`:\"\";el.style.transform=big?`scale(${(1+.09*e).toFixed(4)})`:\"\";}}/** Restore an element the glitch poses touched to its stylesheet pose. */function clearGlitchPose(el){el.style.opacity=\"\";el.style.transform=\"\";el.style.filter=\"\";el.style.clipPath=\"\";// s50: clears the inline transition:none set for exit/boot so the\n// stylesheet .9s / .3s opacity rules resume for signal toggle + links.\nel.style.transition=\"\";}/** Shared text glitch pose. appear=true fades the element IN as local\n     *  rises (section boots); appear=false glitches it OUT (hero exit).\n     *  Same vocabulary as applyMotionGlitch (RGB-split drop-shadows, jitter,\n     *  slice band, flicker) but self-contained — the tile version expects the\n     *  tile chrome children and must not be reused here. */function applyGlitchTextPose(el,local,rank,intensity,appear){if(local<=0){if(appear){el.style.opacity=\"0\";el.style.transform=\"\";el.style.filter=\"\";el.style.clipPath=\"\";}else clearGlitchPose(el);return;}if(local>=1){if(appear)clearGlitchPose(el);else{el.style.opacity=\"0\";el.style.transform=\"\";el.style.filter=\"\";el.style.clipPath=\"\";}return;}// s219 colour lens: the focus pull instead of the glitch\nif(modeRef.current===\"colour\"&&mfFlagsRef.current.mfclens){applyColourFocusPose(el,local,appear);return;}const vis=appear?local:1-local;// Envelope: fast ramp-in, die toward the end of the element's window.\nconst env=intensity*Math.min(1,local/.14,(1-local)/.3);const tt=performance.now()*.001+rank*2.1;const n1=hash01(rank,Math.floor(tt*42));const n2=hash01(rank+3,Math.floor(tt*55));const n3=hash01(rank+7,Math.floor(tt*31));const n4=hash01(rank+11,Math.floor(tt*19));const flicker=n1>.62?.15+n2*.5:n4>.88?.6:1;el.style.opacity=String(clamp(vis*(1-(1-flicker)*Math.min(1,env)),0,1));const jx=(n2-.5)*26*env;const jy=(n3-.5)*8*env;const skew=(n4-.5)*3.5*env;el.style.transform=`translate(${jx.toFixed(2)}px,${jy.toFixed(2)}px) skewX(${skew.toFixed(2)}deg)`;const split=(4+n1*12)*env;el.style.filter=`drop-shadow(${split.toFixed(1)}px 0 0 rgba(68,227,240,${Math.min(.9,.7*env).toFixed(2)})) `+`drop-shadow(${(-split*.85).toFixed(1)}px 0 0 rgba(255,40,80,${Math.min(.8,.5*env).toFixed(2)}))`;// Slice band tracks visibility: collapses to a sliver on the way out,\n// grows from one on the way in.\nconst open=easeOutPower(vis,1.35);let band=3+97*open;if(n1>.9&&vis<.85)band=Math.min(band,12+n2*28);const mid=50+(n3-.5)*18*(1-open);const top=clamp(mid-band/2,0,100);const bot=clamp(mid+band/2,0,100);el.style.clipPath=open>=.99?\"\":`inset(${top.toFixed(1)}% -12% ${(100-bot).toFixed(1)}% -12%)`;}/** Hero exit targets, bottom-up (rank 0 leaves first), measured off the\n     *  animatic: chrome fades (with the s49 outward drift), reel CTA +\n     *  kicker + H1 lines glitch. Scoped to the hero header so nothing\n     *  outside it is ever touched. dx/dy = fade-rank drift at full local\n     *  (glitch ranks ignore them — applyGlitchTextPose owns their\n     *  transform). The three corners SHARE .mf-hud-corner, so per-corner\n     *  direction must come from each corner's specific class — a single\n     *  shared push would move them together instead of apart. */function collectHeroExitEls(){const hero=headerElRef.current;if(!hero)return[];const out=[];const push=(sel,rank,glitch,dx=0,dy=0)=>{const list=hero.querySelectorAll(sel);for(let i=0;i<list.length;i++){const el=list[i];// s50: measure ONCE at collect — edge-driven glitch reads\n// these every sweep frame; per-frame getBoundingClientRect\n// over the set would thrash layout.\nconst r=el.getBoundingClientRect();out.push({el,rank,glitch,dx,dy,top:r.top,bottom:r.bottom});}};push(\".mf-hud-telemetry\",0,false,0,-HUD_TELEMETRY_RISE_PX);// Corners push outward along their diagonals — camera push-in read.\n// There is no bottom-left corner.\npush(\".mf-hud-corner.mf-hud-tl\",1,false,-HUD_CORNER_PUSH_PX,-HUD_CORNER_PUSH_PX);push(\".mf-hud-corner.mf-hud-tr\",1,false,HUD_CORNER_PUSH_PX,-HUD_CORNER_PUSH_PX);push(\".mf-hud-corner.mf-hud-br\",1,false,HUD_CORNER_PUSH_PX,HUD_CORNER_PUSH_PX);// s49: the reel CTA leaves with the chrome, before the headline —\n// measured off the animatic. Desktop CTA only: this path is\n// desktop-only, so .mf-reel-row-mobile never enters the set.\npush(\".mf-reel-under-headline\",2,true);push(\".mf-hero-bottom-right\",3,false);push('.mf-hero-h1-line[data-mf-line=\"3\"]',4,true);push('.mf-hero-h1-line[data-mf-line=\"2\"]',5,true);push('.mf-hero-h1-line[data-mf-line=\"1\"]',6,true);push(\".mf-headline-label\",7,true);// s215: the landing's parts, on the old ranks' clocks (the pull tab with the telemetry, the brackets with the\n// HUD corners, the plate with the reel CTA, the picture + timeline with NOW SHOWING, the quote and the\n// headline as glitch text). The tab keeps its own translateX: no push on it.\npush(\".mfl-next\",0,false);// s219: the landing brackets fade with the HUD rank but no longer push out (his: the old corner expand)\npush(\".mfl-part-brk\",1,false);push(\"[data-mfl-root] [data-plate]\",2,true);push(\".mfl-part-tl\",3,false);push(\".mfl-part-quote\",4,true);push(\".mfl-part-head\",6,true);return out;}/** Drive the hero exit. Default: pack-stretch cascade off normalised u\n     *  (boot / fallback). Departure (s50): pass edgeDriven + edgeY + elapsed\n     *  — glitch ranks track wipe-edge proximity; fade ranks 0/1/3 use the\n     *  HUD_EXIT_MS elapsed clock (expand+fade simultaneous). appear=false\n     *  always — boot reverses by feeding u 1 -> 0. */function applyHeroExit(els,u,ctx){const edgeDriven=!!ctx?.edgeDriven&&typeof ctx.edgeY===\"number\";const hudLocal=typeof ctx?.elapsed===\"number\"?clamp((ctx.elapsed-(ctx?.hudStart??0))/HUD_EXIT_MS,0,1):null;const t=u*(HERO_EXIT.span+HERO_EXIT.dur);for(const it of els){let local;if(edgeDriven&&it.glitch){const startY=it.bottom+GLITCH_EDGE_LEAD_PX;const endY=it.top;local=endY>=startY?1:clamp((startY-ctx.edgeY)/(startY-endY),0,1);}else if(edgeDriven&&!it.glitch&&hudLocal!==null&&(it.rank===0||it.rank===1||it.rank===3)){local=hudLocal;}else{const start=it.rank/(HERO_EXIT_RANKS-1)*HERO_EXIT.span;local=clamp((t-start)/HERO_EXIT.dur,0,1);}if(it.glitch){applyGlitchTextPose(it.el,local,it.rank,HERO_EXIT.glitch,false);}else{it.el.style.opacity=local>=1?\"0\":local<=0?\"\":String(1-local);// s49 chrome drift: LINEAR with local, matching the fade\n// (corners push outward, telemetry rises). \"\" at local 0\n// restores the stylesheet pose — none of the fade ranks\n// carry a stylesheet transform. clearGlitchPose (via\n// clearHeroExit) clears it at the crossing.\nif(it.dx!==0||it.dy!==0)it.el.style.transform=local<=0?\"\":`translate(${(it.dx*local).toFixed(2)}px,${(it.dy*local).toFixed(2)}px)`;}}}/** THE RESET (spec 1e). Explicit imperative restore of every element the\n     *  hero exit can touch — never a consequence of geometry. Called (a)\n     *  unconditionally at full cover on EVERY wipe, so hero inline styles\n     *  never survive past the covered instant (this is what makes a later\n     *  free-scroll back to the hero safe), and (b) from the reveal-effect\n     *  teardown, so a mode change mid-wipe cannot strand a glitched hero on\n     *  the Colour page. */function clearHeroExit(){// !!!! s67 — NEVER WRITE `headerElRef.current.style.background` HERE,\n// OR ANYWHERE. THIS WAS THE HERO GRID BUG, AND IT TOOK FOUR ROUNDS.\n//\n// The hero's opaque #04060a backplate is a REACT INLINE STYLE\n// (`background: \"#04060a\"` in the header's style prop). Writing\n// `el.style.background = \"\"` DELETES it from the DOM, and React never\n// restores it — its virtual DOM still holds \"#04060a\", sees no change,\n// and re-renders nothing. So the hero loses its backplate PERMANENTLY\n// from the first wipe onward and the fixed telemetry grid shows\n// straight through it. Measured on production:\n//     fresh load          -> inline \"rgb(4, 6, 10)\"\n//     after ONE wipe      -> inline \"(EMPTY)\", computed transparent\n//     grid over the hero  -> 17,812 px\n//\n// Introduced in s56 by a bulk find-and-replace that appended a\n// background reset beside every zIndex reset, for a pin-background\n// scheme that s57 then deleted — leaving the resets behind as dead\n// code that was quietly destructive. Gav reported the symptom four\n// times; every probe came back clean because they all ran on a FRESH\n// PAGE LOAD, before any wipe had fired the reset.\n//\n// Lesson: a bulk edit that touches reset paths is not cosmetic. And\n// clearing an inline style that React owns is not a no-op — it is a\n// one-way delete.\n//\n// Invalidate any running hero arrival boot (s50) — same single\n// reset path as the pose clear below.\nheroBootIdRef.current++;cancelAnimationFrame(heroBootRafRef.current);for(const it of collectHeroExitEls())clearGlitchPose(it.el);// s48: the hero-media recede (slide + fade) writes inline styles on\n// the media wrapper — restored here, THE single reset path, so it\n// inherits the same guarantees (full cover on every wipe + the\n// reveal-effect teardown). Do not add a second reset path.\nconst media=heroMediaRef.current;if(media){media.style.transform=\"\";media.style.opacity=\"\";}// s54: the header's departure/arrival matte — same single reset\n// path as everything else in this function.\nclearMatte(headerElRef.current);// s55: the work/contact -> hero pin transform + z-index -- same\n// single reset path. A stranded transform here would leave the\n// hero floating over the work screen, which is worse than the\n// shadow this fix removes. See s55-DESIGN.md sec 6.\nif(headerElRef.current){headerElRef.current.style.transform=\"\";headerElRef.current.style.zIndex=\"\";}}/** s48 hero image recede, r 0..1 on the elapsed-ms clock (never the\n     *  stagger's normalised progress — the 833ms must be exact regardless of\n     *  the wipe dials). Downward slide with the AE first-keyframe ease out\n     *  (slow departure, linear arrival: influenceIn 0); opacity pure LINEAR\n     *  per Gav's spec. Written on the media WRAPPER — the swish rAF owns\n     *  swishStripRef's transform and the pan keyframes own the imgs'. */function applyHeroRecede(r){const media=heroMediaRef.current;if(!media)return;const e=easeAeInfluence(r,HERO_IMG_EASE_INFLUENCE,0);// s219: no slide under the landing (his: the old full-screen drift) - the fade stays\nconst slide=media.querySelector(\"[data-mfl-root]\")?0:HERO_IMG_SLIDE_PX;media.style.transform=`translateY(${(slide*e).toFixed(2)}px)`;media.style.opacity=String(1-r);}function collectSectionBootEls(kind){const root=kind===\"studio\"?studioSecRef.current:contactWrapRef.current;if(!root)return[];const out=[];const list=root.querySelectorAll(\"[data-mf-boot]\");for(let i=0;i<list.length;i++){const el=list[i];const rank=parseInt(el.getAttribute(\"data-mf-boot\")||\"0\",10);out.push({el,rank:isNaN(rank)?0:rank});}return out;}/** Transient pre-hide for a section arrival, applied at FULL COVER (the\n     *  sheet is opaque, so the write is invisible) so the dissolve reveals an\n     *  empty screen and the boot glitches the copy in — the animatic's order.\n     *  The hidden state is set here, by the boot path itself, never in JSX:\n     *  the default resting state stays visible (spec 3.10). */function primeSectionBoot(kind){if(kind===\"studio\"&&aboutV2ApiRef.current)aboutV2ApiRef.current.prime();for(const it of collectSectionBootEls(kind)){// s50: kill .mf-link opacity transition before hiding — same\n// smear class as the HUD motion-op .9s rule (item 1).\nit.el.style.transition=\"none\";it.el.style.opacity=\"0\";}}/** s54: matte roots for the pure-ramp wipe (no opaque cover). Rects are\n     *  measured ONCE per navigateWithWipe call, before the sweep starts —\n     *  the page is stationary pre-crossing (cancelAutoScroll has already\n     *  run) — never re-read per frame. gridWrapRef alone covers the work\n     *  section: its #07080c sticky backplate, the pinned header AND the\n     *  grid are all descendants, so one root covers all three. contactWrapRef\n     *  alone covers the contact copy AND the footer — the footer is already\n     *  inside it and already carries data-mf-boot=\"3\". Do not add a\n     *  footer-specific root. */function collectMatteRoots(){const roots=[headerElRef.current,gridWrapRef.current,studioSecRef.current,contactWrapRef.current];const out=[];for(const el of roots){if(!el)continue;out.push({el,top:el.getBoundingClientRect().top});}return out;}/** s54: write the departure matte on every root, every frame, while\n     *  !fired. Hard cut — it is riding NAV_WIPE_MATTE_INSET_VH inside the\n     *  band's own opaque leading stops, so the cut is never visible. Written\n     *  unconditionally on every root: cheap, and it removes any need to\n     *  enumerate which roots are actually on screen for a given journey.\n     *  dir 1: content ABOVE the cut (already passed by the leading edge) is\n     *  hidden below the cut; dir -1 is the mirror. */function applyDepartureMatte(roots,edgeY,dir){const cutY=edgeY+dir*(NAV_WIPE_MATTE_INSET_VH/100)*window.innerHeight;for(const r of roots){const y=cutY-r.top;const mask=dir===1?`linear-gradient(to bottom, black 0, black ${y}px, transparent ${y}px)`:`linear-gradient(to bottom, transparent 0, transparent ${y}px, black ${y}px)`;r.el.style.maskImage=mask;r.el.style.webkitMaskImage=mask;}}/** s54: clear one element's matte back to the resting (fully visible)\n     *  state. Called only from clearHeroExit (headerElRef) and\n     *  clearSectionBoot (gridWrapRef / studioSecRef / contactWrapRef) — the\n     *  two existing reset owners, no third path. */function clearMatte(el){if(!el)return;el.style.maskImage=\"\";el.style.webkitMaskImage=\"\";}/** s50: hero arrival boot (work -> hero). Drives applyHeroExit from\n     *  1 -> 0 over HERO_BOOT_MS. Rank 0 left first on exit, so running u\n     *  backwards makes rank 0 arrive last — a true mirror. clearHeroExit on\n     *  finish (and on any interrupt).\n     *  !! The image recede is NOT part of this. On the way out the image\n     *  recedes because the wipe is coming to cover it; on the way back the\n     *  wipe's trailing edge IS the reveal, so the image must already be\n     *  there when the tail passes (Gav's \"revealer for the hero image\").\n     *  Driving applyHeroRecede 1 -> 0 here would fade it in after the wipe\n     *  had cleared — the defect he filed as item 3. Do not re-add it. */function startHeroBoot(){if(typeof window===\"undefined\")return;cancelAnimationFrame(heroBootRafRef.current);const id=++heroBootIdRef.current;const els=collectHeroExitEls();if(!els.length)return;for(const it of els)it.el.style.transition=\"none\";applyHeroExit(els,1);const t0=performance.now();const step=now=>{if(heroBootIdRef.current!==id)return;const t=clamp((now-t0)/HERO_BOOT_MS,0,1);applyHeroExit(els,1-t);if(t>=1){clearHeroExit();return;}heroBootRafRef.current=requestAnimationFrame(step);};step(t0);}/** THE RESET (spec 2b), section half. Invalidates any running boot loop\n     *  and restores BOTH sections to their stylesheet pose. Called (a) at\n     *  full cover on every wipe — a wipe away from a half-booted section must\n     *  not strand partial opacity for a later free-scroll to find — and (b)\n     *  from the reveal-effect teardown (mode change / unmount). */function clearSectionBoot(){sectionBootIdRef.current++;cancelAnimationFrame(sectionBootRafRef.current);for(const kind of[\"studio\",\"contact\"])for(const it of collectSectionBootEls(kind))clearGlitchPose(it.el);// s54: departure/arrival mattes on the non-hero matte roots, plus\n// the work-header prime (opacity 0, transition none — set in the\n// navigateWithWipe crossing block) — same two call sites as\n// everything else in this function.\nclearMatte(gridWrapRef.current);clearMatte(studioSecRef.current);clearMatte(contactWrapRef.current);if(workHeaderRef.current)clearGlitchPose(workHeaderRef.current);// s56: studio/contact composite-arrival pin transform + z-index --\n// same single reset path. A stranded transform here would leave\n// the section floating over another screen.\nif(studioSecRef.current){studioSecRef.current.style.transform=\"\";studioSecRef.current.style.zIndex=\"\";}if(contactWrapRef.current){contactWrapRef.current.style.transform=\"\";contactWrapRef.current.style.zIndex=\"\";}}/** Time-driven arrival glitch-in for the studio / contact screens,\n     *  modelled on startWorkBoot: reset happened at full cover (prime), rAF\n     *  clock over SECTION_BOOT_MS, per-element cascade poses, settle back to\n     *  the stylesheet default. Re-entry replays: every wipe arrival re-primes\n     *  and re-runs. */function startSectionBoot(kind){if(typeof window===\"undefined\")return;if(kind===\"contact\")bootSiteFrame(contactWrapRef.current);if(kind===\"studio\"&&aboutV2ApiRef.current)aboutV2ApiRef.current.arrive();cancelAnimationFrame(sectionBootRafRef.current);const id=++sectionBootIdRef.current;const els=collectSectionBootEls(kind);if(!els.length)return;let maxRank=1;for(const it of els)if(it.rank>maxRank)maxRank=it.rank;const t0=performance.now();if(modeRef.current===\"colour\"&&mfFlagsRef.current.mfclens){const ranks=Array.from(new Set(els.map(it=>it.rank))).sort((a,b)=>a-b);const lensStep=now=>{if(sectionBootIdRef.current!==id)return;let done=true;for(const it of els){const st=ranks.indexOf(it.rank)*CPAGE_BUILD_STAGGER_MS*2;const local=clamp((now-t0-st)/CPAGE_BUILD_IN_MS,0,1);if(local<1)done=false;applyGlitchTextPose(it.el,local,it.rank,SECTION_BOOT.glitch,true);}if(done){for(const it of els)clearGlitchPose(it.el);return;}sectionBootRafRef.current=requestAnimationFrame(lensStep);};lensStep(t0);return;}const step=now=>{if(sectionBootIdRef.current!==id)return;const t=clamp((now-t0)/SECTION_BOOT_MS,0,1);const tc=t*(SECTION_BOOT.span+SECTION_BOOT.dur);for(const it of els){const start=it.rank/maxRank*SECTION_BOOT.span;const local=clamp((tc-start)/SECTION_BOOT.dur,0,1);applyGlitchTextPose(it.el,local,it.rank,SECTION_BOOT.glitch,true);}if(t>=1){// Settle = stylesheet pose, nothing left inline.\nfor(const it of els)clearGlitchPose(it.el);return;}sectionBootRafRef.current=requestAnimationFrame(step);};step(t0);}/** s47 fix 2: transforms the GROUP (cover + band together), so the opaque\n     *  cover is position-locked to the band's leading edge — content ahead of\n     *  the band is untouched until the band reaches it, as in the animatic. */function setNavWipeY(pct){const el=navWipeGroupRef.current;if(el)el.style.transform=`translateY(${pct}%)`;}/** Point the group's bright leading edge the right way for this wipe.\n     *  dir 1 (down the page): group enters from below, bright end at the top.\n     *  dir -1 (up): group enters from above, bright end at the bottom.\n     *  The tall group's overhang must sit BEYOND the leading edge, so the\n     *  anchor follows the direction: down wipes hang the extra height past\n     *  the frame bottom (top: 0), up wipes past the frame top (bottom: 0) —\n     *  either way the visible slice is the gentle top of the ramp. s47: the\n     *  anchor lives on the GROUP; the gradient direction on the band. */function setNavWipeGradient(dir){const group=navWipeGroupRef.current;const el=navWipeRef.current;if(!group||!el)return;const crt=mfFlagsRef.current.mfcrt;const way=dir===1?\"to bottom\":\"to top\";el.style.background=`linear-gradient(${way},${crt?NAV_WIPE_RAMP_CRT:NAV_WIPE_RAMP})`;// s169: the CRT layers are masked by the ramp's alpha twin, so the\n// mask turns with the ramp. Hidden outright under ?mfcrt=0 — the\n// scanline pattern is static paint and would show untouched.\nconst mask=`linear-gradient(${way},${NAV_WIPE_RAMP_ALPHA})`;const layers=[navCrtScanRef.current,navCrtRollRef.current,navCrtTearRef.current];for(let i=0;i<layers.length;i++){const l=layers[i];if(!l)continue;l.style.display=crt?\"\":\"none\";l.style.maskImage=mask;l.style.webkitMaskImage=mask;}group.style.top=dir===1?\"0\":\"auto\";group.style.bottom=dir===1?\"auto\":\"0\";}/** Park the group fully off-screen in the canonical DOWN pose (the JSX\n     *  default). Used by every park site that cannot know which pose the last\n     *  wipe left the group in — a bare setNavWipeY(NAV_WIPE_FROM) after an UP\n     *  wipe (bottom-anchored) would leave most of the group ON screen.\n     *  s46: PARK_PAD overshoot so the band's bright edge cannot leave a\n     *  sub-pixel sliver on a frame boundary. */function parkNavWipe(){setNavWipeGradient(1);setNavWipeY(NAV_WIPE_FROM+NAV_WIPE_PARK_PAD);}/** s56: shared composite-arrival pin, generalised from s55's hero-only version.\n     *  primeHidden() blanks the destination's own content invisible while the pin's mask\n     *  is fully closed -- for the hero this is applyHeroExit(primeEls, 1), for\n     *  studio/contact it is primeSectionBoot(kind). Returns ok=false (and leaves the\n     *  element untouched) if the rect-equivalence guard fails, so the caller can fall\n     *  back to the s54 crossing-time path for that one wipe. */function beginArrivalPin(root,targetY,primeHidden){const preRect=root.getBoundingClientRect();const docTop=window.scrollY+preRect.top;// Amendment B general form: translate = scrollY - targetY. The\n// live s55 hero write omitted `- targetY` only because targetY is 0.\nroot.style.transform=`translateY(${window.scrollY-targetY}px)`;root.style.zIndex=\"5\";// !! s57: DO NOT paint a background on the pinned root. s56 did, to\n// stop the departing tiles showing through the transparent studio /\n// contact sections, and it was the wrong fix — Gav reported \"part of\n// the bg is missing and then pops in after the wipe completes\" on\n// exactly those journeys. Measured: #about is 1320x832 with a\n// transparent background in a 1440x900 viewport, and the telemetry\n// grid is a FIXED layer behind everything, so an opaque box on the\n// section hides the grid inside itself and leaves it showing in the\n// 60px margins. Occlusion of the departing screen is done by matting\n// the SOURCE instead (see matteDeparture in navigateWithWipe).\nconst hiddenMask=\"linear-gradient(transparent,transparent)\";root.style.maskImage=hiddenMask;root.style.webkitMaskImage=hiddenMask;const postRect=root.getBoundingClientRect();const expected=docTop-targetY;if(Math.abs(postRect.top-expected)<1){primeHidden();return{ok:true,top:postRect.top};}console.warn(\"[mf] s56 arrival-pin guard failed -- falling back to the s54 crossing path for this wipe\",{actual:postRect.top,expected});root.style.transform=\"\";root.style.zIndex=\"\";root.style.maskImage=\"\";root.style.webkitMaskImage=\"\";return{ok:false,top:0};}/** s56: per-frame pin rewrite, shared by hero/studio/contact. dir MUST be the\n     *  actual direction of the current wipe (studio is reachable both ways). cutY /\n     *  mask form mirror applyDepartureMatte's own dir handling exactly, but INVERTED\n     *  (this is a reveal, not a hide) -- dir -1 reproduces the s55 hero formula\n     *  byte-for-byte (cutY = edgeY - inset, mask = black 0 -> y, transparent y ->);\n     *  dir 1 is its mirror (cutY = edgeY + inset, mask = transparent 0 -> y, black y ->).\n     *  targetY is threaded through so the transform stays on the Amendment B\n     *  algebra (`scrollY - targetY`); omitting it is only valid when targetY is 0. */function writeArrivalPinFrame(root,top,edgeY,dir,targetY){root.style.transform=`translateY(${window.scrollY-targetY}px)`;const cutY=edgeY+dir*(NAV_WIPE_MATTE_INSET_VH/100)*window.innerHeight;const y=Math.max(0,cutY-top);const mask=dir===1?`linear-gradient(to bottom, transparent 0, transparent ${y}px, black ${y}px)`:`linear-gradient(to bottom, black 0, black ${y}px, transparent ${y}px)`;root.style.maskImage=mask;root.style.webkitMaskImage=mask;}/** Motion desktop section change, s48: ONE continuous sweep. The wipe\n     *  group (soft-tailed opaque cover + teal gradient band, moving as one\n     *  object) travels from fully beyond the leading frame edge to fully\n     *  past the trailing one at the AE 70/70 ease — leading and trailing\n     *  edges are two edges of the same moving object, so the trail follows\n     *  at the same speed with no pause (the old cover-then-dissolve phase\n     *  boundary WAS the pause Gav diagnosed). The instant scrollTo fires at\n     *  the single crossing instant translateY passes 0, behind the opaque\n     *  portion. dir 1 = travelling down (group rises from the bottom),\n     *  dir -1 = travelling up (group drops from the top, mirrored\n     *  gradients). Colour and reduced-motion never enter this path. */function navigateWithWipe(targetY,dir,boot){if(typeof window===\"undefined\")return false;if(wipeBusyRef.current)return false;if(Math.abs(targetY-window.scrollY)<40)return false;let aboutLeaving=false;if(boot!==\"studio\"&&aboutV2ApiRef.current&&aboutV2Ref.current){const ar=aboutV2Ref.current.getBoundingClientRect();aboutLeaving=ar.bottom>NAV_H+1&&ar.top<window.innerHeight-1;}// s197: the About is closed where nobody can see it - at the covered instant (J2)\nlet aboutDeparted=false;const departAbout=()=>{if(!aboutLeaving||aboutDeparted)return;aboutDeparted=true;if(aboutV2ApiRef.current)aboutV2ApiRef.current.depart();};// ?mfdepart=0: the s196 timing (depart as the wipe starts) - the A/B and the rollback\nif(/[?&]mfdepart=0(&|$)/.test(window.location.search))departAbout();if(prefersReducedMotion()){departAbout();// Save/restore of scrollBehavior is measured-inert (Chrome\n// resolves after the restore in the same task). Options form.\nwindow.scrollTo({top:targetY,left:0,behavior:\"instant\"});return true;}const el=navWipeGroupRef.current;if(!el)return false;cancelAnimationFrame(wipeRafRef.current);cancelAnimationFrame(bootRafRef.current);bootDrivenRef.current=false;// s50: cancel a running hero boot without clearHeroExit (would flash\n// restored chrome mid-cover). Id bump invalidates the loop; the\n// crossing clearHeroExit still restores poses behind the sheet.\nheroBootIdRef.current++;cancelAnimationFrame(heroBootRafRef.current);cancelAutoScroll();wipeBusyRef.current=true;wipeCoveringRef.current=true;autoScrollDir.current=dir;setNavWipeGradient(dir);// Hero exit rides the sweep, but only when the wipe is actually\n// LEAVING the hero — gate on the DEPARTURE position (hero header\n// still on screen below the nav), never on the target. A work ->\n// studio wipe must not touch hero elements. s49: direction check +\n// epsilon — the hero only ever departs DOWNWARD, and parked at the\n// work stop the hero's bottom sits at exactly NAV_H, so the bare\n// `> NAV_H` was on its own boundary and sub-pixel rounding fired\n// the exit + recede on the UPWARD wipe (the s46-flagged epsilon\n// risk). Going up, heroExitEls stays null and the sweep's trailing\n// edge reveals the hero untouched; clearHeroExit still runs\n// unconditionally at the crossing, clearing any residue from an\n// interrupted downward wipe.\nconst heroExitEls=modeRef.current===\"motion\"&&dir===1&&(headerElRef.current?.getBoundingClientRect().bottom??0)>NAV_H+HERO_EXIT_GATE_EPS_PX?collectHeroExitEls():null;// s50: kill stylesheet opacity transitions on exit els so HUD\n// expand+fade stay simultaneous (item 1 root cause).\nif(heroExitEls)for(const it of heroExitEls)it.el.style.transition=\"none\";// s50 hero ARRIVAL gate — independent of departure. Target is the\n// hero (scrollY ~0); direction is UP. Do not fold into heroExitEls.\nconst heroArrive=modeRef.current===\"motion\"&&dir===-1&&Math.abs(targetY)<2;// s56: studio/contact arrivals reuse the same composite pin.\n// Gate on `boot` (the boundary scan's nearest-stop label), not a\n// position check -- studio is reachable both ways, contact is\n// currently dir 1 only, but neither assumes a direction.\nconst studioArrive=modeRef.current===\"motion\"&&boot===\"studio\";const contactArrive=modeRef.current===\"motion\"&&boot===\"contact\";// s54: departure matte roots, measured ONCE while the page is still\n// stationary (cancelAutoScroll has already run above) — never\n// re-read per frame.\n//\n// !! s64 item 4: ON A HERO DEPARTURE THE HERO IS NOT MATTED.\n// Gav: \"as the hero image fades out as we go to the work section, we\n// can see the grid bg behind it which breaks the masking effect… it\n// should be fading to black.\" Exactly right. The hero header paints\n// its own opaque #04060a backplate, and the departure matte was\n// cutting the whole header away — backplate included — so as\n// applyHeroRecede faded the image out, what appeared behind it was\n// the FIXED telemetry grid at z0 rather than black.\n//\n// Leaving the header unmatted means the recede fades the image down\n// to the hero's own backplate, which IS black, and the grid never\n// shows. That is his animatic's model: content goes black before the\n// band arrives, rather than dissolving to reveal the page beneath.\n// Nothing is lost at the crossing either — the hero's #04060a and\n// the work screen's #07080c are ~3/255 apart and the work sticky box\n// paints its own opaque fill over the same area.\n//\n// heroExitEls is non-null EXACTLY on a hero departure (the s49 gate:\n// motion + dir 1 + the hero still on screen), so it is the right\n// signal. Every other journey keeps all four roots.\nconst matteRoots=collectMatteRoots().filter(r=>!(heroExitEls&&r.el===headerElRef.current));// s55/s56: a composited arrival pins the destination onto the\n// CURRENT viewport (transform tracks live window.scrollY every\n// frame -- Amendment B) and reveals it by a hard mask riding\n// inside the opaque leading stops of the band (Amendment C).\n// The crossing-time jump moves to sweep end (Amendment A).\nlet heroArrivePinOk=false;let pinnedHeaderTop=0;if(heroArrive&&headerElRef.current){// Collect BEFORE writing the transform -- natural, unpinned\n// geometry, matching how this collector is used everywhere\n// else. The u=1 pose below is static (no edge-driven ranks),\n// so top/bottom are unused here, but this keeps the pattern\n// uniform and cheap either way.\nconst primeEls=collectHeroExitEls();const pin=beginArrivalPin(headerElRef.current,targetY,()=>{for(const it of primeEls)it.el.style.transition=\"none\";applyHeroExit(primeEls,1);});heroArrivePinOk=pin.ok;pinnedHeaderTop=pin.top;if(pin.ok)heroPinnedRef.current=true;}let studioArrivePinOk=false;let pinnedStudioTop=0;if(studioArrive&&studioSecRef.current){const pin=beginArrivalPin(studioSecRef.current,targetY,()=>primeSectionBoot(\"studio\"));studioArrivePinOk=pin.ok;pinnedStudioTop=pin.top;}let contactArrivePinOk=false;let pinnedContactTop=0;if(contactArrive&&contactWrapRef.current){const pin=beginArrivalPin(contactWrapRef.current,targetY,()=>primeSectionBoot(\"contact\"));contactArrivePinOk=pin.ok;pinnedContactTop=pin.top;}const compositeArrive=heroArrive&&heroArrivePinOk||studioArrive&&studioArrivePinOk||contactArrive&&contactArrivePinOk;/** s57: the pinned root, so the generic departure matte can skip it\n         *  (its own reveal mask owns it, and this matte's cached top is the\n         *  stale pre-pin value). */const pinnedRoot=heroArrive&&heroArrivePinOk?headerElRef.current:studioArrive&&studioArrivePinOk?studioSecRef.current:contactArrive&&contactArrivePinOk?contactWrapRef.current:null;/** s57: whether the DEPARTING screen still needs matting while a\n         *  destination is pinned. It depends entirely on whether the pinned\n         *  root paints its own opaque backdrop:\n         *\n         *  - HERO: yes it does (`#04060a`, full-bleed). It occludes the work\n         *    screen by itself, so we skip the matte and the work content stays\n         *    visible below the cut. Gav confirmed this journey reads correctly.\n         *  - STUDIO / CONTACT: no they don't. Both are transparent at rest\n         *    (measured: `#about` is 1320x832 with `rgba(0,0,0,0)`), because the\n         *    FIXED telemetry grid is meant to show through them — it is part of\n         *    how those screens look.\n         *\n         *  s56 tried to solve that by painting the page colour on the pinned\n         *  section. That was wrong and Gav caught it: an opaque box 1320x832 in\n         *  a 1440x900 viewport HIDES the fixed grid inside itself and leaves it\n         *  visible in the 60px margins, so the background vanished in a\n         *  rectangle and popped back when the pin cleared.\n         *\n         *  Correct model: keep the section transparent and matte the DEPARTING\n         *  content instead. What shows through is page background + the fixed\n         *  grid — which is exactly the destination's own resting backdrop, so\n         *  there is no dark region and nothing pops. This is only safe because\n         *  sections have no distinctive backdrop of their own; the hero does,\n         *  which is why it keeps the opposite treatment. */const matteDeparture=compositeArrive&&!(heroArrive&&heroArrivePinOk);// Down: sweep from +(FROM + PAD) — leading edge one frame height\n// beyond the nav line — through 0 (the crossing) to -(100 + PAD),\n// the group entirely past the far edge. Up: the mirror. FROM, not\n// 100 — translateY %s are of the sheet's OWN height\n// (NAV_WIPE_SHEET_PCT% of the frame). PARK_PAD on both ends (s46):\n// the start pose is held for every frame of the hero-exit lead, and\n// an unpadded pose sits the solid band's edge dead on the frame\n// boundary for that whole window.\nconst from=(dir===1?1:-1)*(NAV_WIPE_FROM+NAV_WIPE_PARK_PAD);const to=(dir===1?-1:1)*(100+NAV_WIPE_PARK_PAD);// Park in the new pose SYNCHRONOUSLY: setNavWipeGradient above may\n// have flipped the anchor edge, and the previous pose's transform\n// could leave the group on screen for the frame before the sweep\n// rAF first runs.\nsetNavWipeY(from);// s43 fix 3: leaving the hero gets a pre-roll of HERO_EXIT_LEAD_MS\n// before the sheet moves; only the sweep is delayed, and only on a\n// hero departure. s52: the lead is now 200ms, not 792 — Gav asked for\n// the wipe and the departure to OVERLAP, so the pre-roll is just a\n// short reaction beat and the choreography plays over the sweep.\n// The lead lives inside this same wipeRafRef loop, so the\n// reveal-effect teardown's cancelAnimationFrame + clearHeroExit\n// already cancels a mid-pre-roll mode change, and wipeBusyRef was set\n// above, before the lead starts, so a second wheel cannot start a\n// competing wipe during it.\nconst lead=heroExitEls?HERO_EXIT_LEAD_MS:0;// s52 item 2: HUD_EXIT_START_MS is no longer a constant - Gav's\n// instruction (HUD 50%-through coincides with the wipe edge at\n// mid-screen) is a live relationship, so it is solved once per\n// wipe from whatever SHEET_PCT / SWEEP_MS / LEAD currently are.\n// Reuses the exact edgeY algebra the step loop below uses for the\n// glitch-edge ranks. Distance fraction to TIME fraction MUST go\n// through invertEaseAeInfluence (the AE 70/70 ease is not linear;\n// distance times duration was 28ms wrong when that shortcut was\n// taken in s48). Only meaningful when a hero exit is playing.\nlet hudStart=0;if(heroExitEls){const sheetPxNow=NAV_WIPE_SHEET_PCT/100*(window.innerHeight-NAV_WIPE_TOP);const midY=window.innerHeight/2;const yPctMid=(midY-NAV_WIPE_TOP)/sheetPxNow*100;const distMid=clamp((from-yPctMid)/(from-to),0,1);const hudTimeFrac=invertEaseAeInfluence(distMid,NAV_WIPE_SWEEP_INFLUENCE,NAV_WIPE_SWEEP_INFLUENCE);hudStart=Math.max(0,lead+NAV_WIPE_SWEEP_MS*hudTimeFrac-HUD_EXIT_MS/2);}// s50: HUD fade ranks use HUD_EXIT_MS; glitch ranks track the wipe\n// edge. Image recede stays END-anchored to the crossing\n// (HERO_IMG_RECEDE_START_MS -> END). The !fired gate makes any\n// overrun invisible.\n// The jump fires EXACTLY ONCE, at the instant the leading edge\n// crosses the nav line (translateY through 0). A rAF can straddle\n// the crossing — and the AE ease is FASTEST at the midpoint, right\n// where the crossing sits: one 16ms frame travels ~12 frame-% there\n// while the cover's opaque overhang past full cover is only ~0.3\n// frame-% — so on the straddling frame the jump work runs BEFORE\n// that frame's transform write, in the same JS task: the\n// scrollTo and the past-crossing pose paint together, and no frame\n// ever shows pre-jump content beside an already-receded cover. Do\n// not reorder \"for clarity\".\nlet fired=false;// s54: post-jump top of the arrival matte root, measured ONCE at\n// the crossing (right after the instant scrollTo, still inside the\n// same synchronous block) — never re-read per frame thereafter.\nlet heroArriveTop=0;let workArriveTop=0;/** s60: THE LANDING — everything that used to run at sweep end. It is\n         *  now fired the moment the destination is FULLY REVEALED, which is\n         *  ~750ms before the sweep actually finishes (measured: 767ms into a\n         *  1500ms sweep going down, 749ms going up; see s58_pause_calc.js).\n         *  That gap was dead time with the destination on screen and empty,\n         *  and it was the bulk of the pause Gav reported — the boot durations\n         *  were only the tail of it.\n         *\n         *  Gav approved the overlap explicitly: \"if there is some overlap\n         *  between the wipe ending and the boot starting, that's ok.\"\n         *\n         *  Fired ONCE, guarded by `landed`. The sweep-end call below is a\n         *  SAFETY NET for any path where the geometric condition never trips\n         *  (a viewport change mid-sweep, a clamped rAF resuming past the\n         *  end); it must stay. The scrollTo is as safe here as it was at\n         *  sweep end — by this instant the pinned root's rect already equals\n         *  its post-jump rect (the pin algebra), so the swap is invisible;\n         *  that is the same guarantee, just claimed earlier. */let landed=false;const runLanding=()=>{departAbout();if(compositeArrive){// s55 Amendment A: the atomic jump. ONE task, THIS order --\n// see s55-DESIGN.md sec 2.\nwindow.scrollTo({top:targetY,left:0,behavior:\"instant\"});if(heroArrive&&heroArrivePinOk&&headerElRef.current){headerElRef.current.style.transform=\"\";headerElRef.current.style.zIndex=\"\";}if(studioArrive&&studioArrivePinOk&&studioSecRef.current){studioSecRef.current.style.transform=\"\";studioSecRef.current.style.zIndex=\"\";}if(contactArrive&&contactArrivePinOk&&contactWrapRef.current){contactWrapRef.current.style.transform=\"\";contactWrapRef.current.style.zIndex=\"\";}revealSmoothed.current=0;resetMotionGlitchLocks();motionPackDoneRef.current=false;packSettledTickRef.current?.(false);updateMotionGridReveal();clearHeroExit();clearSectionBoot();if(heroArrive&&heroArrivePinOk)startHeroBoot();else if(studioArrive&&studioArrivePinOk)startSectionBoot(\"studio\");else if(contactArrive&&contactArrivePinOk)startSectionBoot(\"contact\");heroPinnedRef.current=false;}else{if(heroArrive)clearMatte(headerElRef.current);if(boot===\"work\"&&modeRef.current===\"motion\")clearMatte(gridWrapRef.current);// !! s64 item 1: RESTORE THE WORK HEADER. It is primed to\n// opacity 0 at the crossing (so it does not pop in ahead of\n// the grid), and the ONLY thing that clears that prime is\n// clearSectionBoot() — which this branch never calls. So on\n// every work arrival the [ 01 ] SELECTED WORK header was\n// hidden and never restored. Shipped since s54 and reported\n// by Gav as \"the section header for the work section is\n// missing\". startWorkBoot does not touch it.\nif(boot===\"work\"&&workHeaderRef.current)clearGlitchPose(workHeaderRef.current);// startWorkBoot first so bootDriven is true before we drop\n// wipeCovering — otherwise one rAF of landing-resolve settles\n// the pack before the clock starts (the s41 ordering).\nif(boot===\"work\"&&modeRef.current===\"motion\")startWorkBoot();else if((boot===\"studio\"||boot===\"contact\")&&modeRef.current===\"motion\")startSectionBoot(boot);else if(heroArrive)startHeroBoot();}};const t0=performance.now();const step=now=>{const elapsed=now-t0;const t=clamp((elapsed-lead)/NAV_WIPE_SWEEP_MS,0,1);const eased=easeAeInfluence(t,NAV_WIPE_SWEEP_INFLUENCE,NAV_WIPE_SWEEP_INFLUENCE);// s169: the CRT rides the sweep. Same writer as the phone band\n// (crtTick) — Gav's answer on the look was \"identical\".\nif(mfFlagsRef.current.mfcrt)crtTick(now,navCrtScanRef.current,navCrtRollRef.current,navCrtTearRef.current);// Leading-edge viewport Y. yPct is the group's translateY;\n// sheetPx is the sheet's pixel height inside the wipe frame.\n// !! THE ANCHOR DIFFERS BY DIRECTION (setNavWipeGradient sets\n// top:0 for dir 1, bottom:0 for dir -1), so the leading edge is\n// a DIFFERENT edge of the group each way:\n//   dir  1 — group rises, anchored top:0    -> leading edge is\n//            its TOP,    at NAV_WIPE_TOP + translateY\n//   dir -1 — group drops, anchored bottom:0 -> leading edge is\n//            its BOTTOM, at innerHeight + translateY\n// s54: this was latent until now — edgeY only ever fed the\n// edge-driven glitch ranks, and those run on dir 1 only\n// (heroExitEls is null going up). The departure matte reads it\n// in BOTH directions, so the dir -1 form is now load-bearing;\n// using the dir 1 form up would put the cut a full frame height\n// (innerHeight - NAV_WIPE_TOP) away from the band.\nconst yPct=from+(to-from)*eased;const sheetPx=NAV_WIPE_SHEET_PCT/100*(window.innerHeight-NAV_WIPE_TOP);const edgeY=(dir===1?NAV_WIPE_TOP:window.innerHeight)+yPct/100*sheetPx;// s55/s56: while a destination is successfully pinned over the\n// current viewport, rewrite its transform from LIVE\n// window.scrollY every frame (Amendment B) and open its reveal\n// mask from the sweep edge, riding inside the same opaque band\n// the departure matte rides inside of (Amendment C). This\n// REPLACES the generic departure matte on that journey -- see\n// the compositeArrive guard below.\n// s60: `!landed` — once the landing has run, the pin is cleared\n// and the destination owns itself. Re-writing the transform or\n// mask after that would re-pin an element that is now correctly\n// positioned by the real scroll, so every pin write is gated.\nif(!landed&&heroArrive&&heroArrivePinOk&&headerElRef.current){writeArrivalPinFrame(headerElRef.current,pinnedHeaderTop,edgeY,dir,targetY);}if(!landed&&studioArrive&&studioArrivePinOk&&studioSecRef.current){writeArrivalPinFrame(studioSecRef.current,pinnedStudioTop,edgeY,dir,targetY);}if(!landed&&contactArrive&&contactArrivePinOk&&contactWrapRef.current){writeArrivalPinFrame(contactWrapRef.current,pinnedContactTop,edgeY,dir,targetY);}// s60: THE EARLY LANDING. On a COMPOSITED arrival the destination\n// is fully revealed the moment the matte cut leaves the frame —\n// dir 1 the cut travels up and out through the top, dir -1 down\n// and out through the bottom. That is ~750ms before the sweep\n// ends, and the gap was dead time: destination on screen, empty,\n// nothing happening. Geometric rather than a hardcoded fraction,\n// so it stays correct if the sheet or sweep constants move (the\n// encode-the-condition lesson from s52).\n//\n// s61: WORK ARRIVALS LAND EARLY TOO. s60 excluded them on the\n// reasoning that their revealFrac mask filled the whole tail so\n// there was no dead window — true of the mask, but not of what\n// the user sees: the band left the frame ~750ms before the mask\n// finished, so the wipe was over while the grid was still being\n// uncovered EMPTY. Gav: \"the length of the glitch-ins was fine…\n// it was the duration between the wipe finishing and the\n// glitch-ins was what i wanted to reduce uniformly.\" The work\n// reveal now rides the same cut (above), so it completes at the\n// same instant and this gate can include it.\n//\n// Still EXCLUDED: a hero arrival whose pin guard failed. That\n// fallback keeps the revealFrac mask, which is only fully open at\n// sweep end — landing it early would clear a partly-open matte\n// and pop the remainder in.\n// !! s62 — THE `fired` GATE WAS A BUG, AND IT IS WHY THE SECTIONS\n// STILL PAUSED WHILE WORK DID NOT. `fired` is set ONLY inside the\n// crossing block, and a composited arrival SKIPS that block by\n// design (its jump moved to the landing). So `fired` is\n// permanently FALSE on exactly the journeys this early landing\n// exists for — hero, about and contact all fell through to the\n// sweep-end safety net, ~800ms late. A work arrival is not\n// composited, so it does reach the crossing, sets `fired`, and\n// landed early — which is precisely why Gav reported work as\n// feeling great and the sections as still pausing.\n// Measured on the published build before the fix: contact->about\n// pinned at t=34ms and did not land until t=1566ms.\n//\n// Composited journeys now gate on GEOMETRY ALONE, which is\n// post-crossing by construction: the cut can only leave the frame\n// after the sheet has travelled past the nav line. Non-composited\n// journeys still require `fired`, since they genuinely need the\n// crossing to have happened first.\nif(!landed&&(compositeArrive||fired&&boot===\"work\")){const cutY=edgeY+dir*(NAV_WIPE_MATTE_INSET_VH/100)*window.innerHeight;const revealed=dir===1?cutY<=0:cutY>=window.innerHeight;if(revealed){runLanding();landed=true;}}// s55 sec 4: release the nav-solid gate the instant the\n// traveling opaque band fully covers screen rows\n// [0, NAV_H] -- not at sweep end. The band paints above the\n// nav (z-index), so flipping here is invisible; waiting until\n// sweep end would leave the attribute frozen solid for the\n// whole sweep and then pop translucent with nothing covering\n// it on the very next driver frame -- the exact artifact\n// class this fix removes. Once released, the driver's own\n// next-frame read is correct again by construction (the\n// pinned/reset header reads as far below, which is the\n// translucent-nav resting state -- matching the hero-rest\n// state this journey is arriving at).\nif(heroPinnedRef.current&&edgeY>=NAV_H&&edgeY-NAV_WIPE_BAND_VH/100*window.innerHeight<=0){rootRef.current?.removeAttribute(\"data-mf-navsolid\");heroPinnedRef.current=false;}// s54: departure matte — every root, every frame, while the\n// page hasn't jumped yet. Hard cut, riding inside the band's\n// opaque leading stops (NAV_WIPE_MATTE_INSET_VH).\n// s55/s56/s57: on a HERO pin this is skipped entirely — the\n// hero's own opaque backplate occludes the work screen, so the\n// work content stays visible below the cut. On a STUDIO or\n// CONTACT pin the section is transparent (the fixed grid shows\n// through it by design), so the departing screen DOES still need\n// matting — see the matteDeparture note above. The pinned root\n// is always excluded: its own reveal mask owns it, and this\n// matte's cached top is the stale pre-pin value.\nif((!compositeArrive||matteDeparture)&&!fired)applyDepartureMatte(pinnedRoot?matteRoots.filter(r=>r.el!==pinnedRoot):matteRoots,edgeY,dir);// Hero exit + image recede, only UNTIL the jump: past it\n// clearHeroExit has run, and re-applying u=1 poses would strand\n// hidden hero elements for the next free-scroll back.\nif(heroExitEls&&!fired){applyHeroExit(heroExitEls,0,{elapsed,edgeY,edgeDriven:true,hudStart});applyHeroRecede(clamp((elapsed-HERO_IMG_RECEDE_START_MS)/HERO_IMG_RECEDE_MS,0,1));}// s55 Amendment A: the crossing-time jump is skipped entirely\n// for a successfully-pinned composite arrival -- it moves to\n// sweep end below. A crossing-time scrollTo here would make\n// the departing content vanish below the cut, which is the\n// exact shadow this design removes. Every other journey\n// (compositeArrive false) is unaffected.\nif(!compositeArrive&&!fired&&eased>=NAV_WIPE_CROSS_FRAC){fired=true;departAbout();// !! s54: THE OLD SAFETY CLAIM HERE IS GONE. There is no\n// opaque cover any more, so these writes are NOT hidden\n// behind a full-frame opaque layer. What makes them\n// invisible now is that the departure matte has already\n// taken every root down to the fixed grid by this instant,\n// and the arriving screen is primed/blanked to the same\n// fixed grid — so the swap changes nothing on screen except\n// the band's own 12vh, which is opaque cyan and covers it.\n// CONSEQUENCE: a blanking gap is now a VISIBLE defect, not a\n// latent one. If a screen shows content through the wipe,\n// look for an element missing from its prime set or outside\n// its matte root — do not reach for a cover.\n// Blank the pack BEFORE the scroll, as before.\nrevealSmoothed.current=0;resetMotionGlitchLocks();motionPackDoneRef.current=false;packSettledTickRef.current?.(false);updateMotionGridReveal();// THE RESET, at the covered instant on EVERY wipe (invisible\n// writes): hero exit + recede styles never survive it —\n// arriving back at the hero (this wipe or any later\n// free-scroll) finds it restored — and a half-booted section\n// is snapped back to its stylesheet pose before we leave it\n// behind.\nclearHeroExit();clearSectionBoot();// Save/restore of scrollBehavior is measured-inert (Chrome\n// resolves after the restore in the same task). Options form\n// with behavior:\"instant\" is the fix — without it the UP\n// jump animates ~470ms after the wipe has passed.\nwindow.scrollTo({top:targetY,left:0,behavior:\"instant\"});// Pre-hide a section arrival while still covered, so the\n// sweep's trailing edge reveals an empty screen and the boot\n// glitches the copy in (the animatic's order). Transient\n// state, set only here.\nif(boot===\"studio\"||boot===\"contact\")primeSectionBoot(boot);// s54: work arrivals also hide the pinned work header at the\n// crossing — analogous prime to primeSectionBoot. Without\n// this it pops in ahead of the grid the instant the trailing\n// edge clears it.\nif(boot===\"work\"&&workHeaderRef.current){workHeaderRef.current.style.transition=\"none\";workHeaderRef.current.style.opacity=\"0\";}// s209: the Work frame's build-in starts HERE, before the jump, as Contact's does - started in\n// startWorkBoot it painted lit for 1-5 frames first, then blinked out (the Mac, live s208)\nif(boot===\"work\"&&modeRef.current===\"motion\")bootSiteFrame(gridWrapRef.current);// s50: prime only the ELEMENTS into their departed pose\n// behind the cover, so the trailing edge uncovers a bare\n// hero image and startHeroBoot glitches the chrome back on.\n// !! The IMAGE is deliberately NOT primed. Gav: \"the wipe\n// should act as a revealer FOR THE HERO IMAGE\" — priming the\n// recede to r=1 would reveal a black hero and fade the image\n// in afterwards, which is the exact \"pops in after the wipe\n// completes\" he filed against the bg grid. clearHeroExit\n// above has already restored the media wrapper, so the image\n// is simply sitting there, panning, when the tail passes.\nif(heroArrive){const els=collectHeroExitEls();for(const it of els)it.el.style.transition=\"none\";applyHeroExit(els,1);// s54: close the header's arrival matte fully — the\n// post-crossing reveal (below, per-frame) opens it\n// top-down in sync with the trailing edge.\nheroArriveTop=headerElRef.current?.getBoundingClientRect().top??0;if(headerElRef.current){const hidden=\"linear-gradient(transparent,transparent)\";headerElRef.current.style.maskImage=hidden;headerElRef.current.style.webkitMaskImage=hidden;}}// s54: work arrivals (hero->work, about->work) close the\n// whole work section's matte too — its #07080c sticky\n// backplate would otherwise pop the grid lines off\n// frame-wide the instant the trailing edge clears it. Opens\n// bottom-up post-crossing, mirroring the hero.\nif(boot===\"work\"&&gridWrapRef.current){workArriveTop=gridWrapRef.current.getBoundingClientRect().top;const hidden=\"linear-gradient(transparent,transparent)\";gridWrapRef.current.style.maskImage=hidden;gridWrapRef.current.style.webkitMaskImage=hidden;}}// s54: post-crossing arrival reveal. Opens the arrival matte\n// (hero header top-down, work section bottom-up) as the sweep's\n// trailing geometry clears the frame. Feathered, not a hard\n// clip — this edge is not riding under the opaque band the way\n// the departure cut is. revealFrac 0 at the crossing, 1 at\n// sweep end, where the matte is explicitly cleared (below) and\n// startHeroBoot / startWorkBoot take over.\n// s60: `!landed` is defensive. This s54 reveal only runs on\n// NON-composited arrivals (a work arrival, or a hero arrival whose\n// pin guard failed), and the early landing above fires only for\n// composited ones — so the two cannot overlap today. The gate\n// costs nothing and stops a future change from re-masking a\n// destination the landing has already handed over.\nif(!landed&&fired&&(heroArrive||boot===\"work\")){const revealFrac=clamp((eased-NAV_WIPE_CROSS_FRAC)/(1-NAV_WIPE_CROSS_FRAC),0,1);const featherPx=HERO_REVEAL_FEATHER_VH/100*window.innerHeight;if(heroArrive&&headerElRef.current){const lagPx=HERO_REVEAL_LAG_VH/100*window.innerHeight;const revealY=NAV_WIPE_TOP+lagPx+revealFrac*Math.max(0,window.innerHeight-NAV_WIPE_TOP-lagPx);const y=revealY-heroArriveTop;const y0=Math.max(0,y-featherPx);const y1=y+featherPx;const mask=`linear-gradient(to bottom, black 0, black ${y0}px, transparent ${y1}px)`;headerElRef.current.style.maskImage=mask;headerElRef.current.style.webkitMaskImage=mask;}if(boot===\"work\"&&gridWrapRef.current){// s61: the work grid's reveal now rides the BAND's cut,\n// exactly like a composited arrival, instead of opening\n// linearly from the crossing to sweep end.\n//\n// Why it changed: on the old revealFrac form the band\n// visibly left the frame ~750ms before the mask finished\n// opening, so the wipe was over while the grid was still\n// being uncovered EMPTY (the tiles are blanked until the\n// boot) — the same \"wipe finished, now wait\" gap Gav\n// reported on the section journeys, just expressed\n// through the mask instead of through dead time.\n// Tracking the cut makes it complete when the band\n// leaves, so the landing can fire for work arrivals too\n// and the gap closes uniformly.\nconst cutY=edgeY+dir*(NAV_WIPE_MATTE_INSET_VH/100)*window.innerHeight;const y=Math.max(0,cutY-workArriveTop);const mask=dir===1?`linear-gradient(to bottom, transparent 0, transparent ${y}px, black ${y}px)`:`linear-gradient(to bottom, black 0, black ${y}px, transparent ${y}px)`;gridWrapRef.current.style.maskImage=mask;gridWrapRef.current.style.webkitMaskImage=mask;}}setNavWipeY(from+(to-from)*eased);if(t<1){wipeRafRef.current=requestAnimationFrame(step);return;}// End of sweep. s60: the landing normally already ran the\n// moment the destination was fully revealed (~750ms earlier).\n// This is the SAFETY NET for any path where that geometric\n// condition never tripped -- a viewport change mid-sweep, or a\n// clamped rAF resuming past the end. Do not remove it.\nif(!landed){runLanding();landed=true;}wipeCoveringRef.current=false;// s46 fix 2a: canonical padded park, not setNavWipeY(from) —\n// after an UP wipe `from` re-parks the bottom-anchored group\n// with its bright edge on the frame top boundary, which is\n// the cyan-keyline artifact.\nparkNavWipe();wipeBusyRef.current=false;const n=performance.now();rideCooldownRef.current=n+ASSIST_COOLDOWN_MS;rideCooldownMaxRef.current=n+ASSIST_COOLDOWN_MAX_MS;};wipeRafRef.current=requestAnimationFrame(step);return true;}navigateWithWipeRef.current=navigateWithWipe;useEffect(()=>{// Always kill a ride on touch — safety net if a device was mis-gated\n// or the user switches input mid-session.\nconst cancelRideOnTouch=()=>cancelAutoScroll();window.addEventListener(\"touchstart\",cancelRideOnTouch,{passive:true,capture:true});// Do not install a non-passive wheel listener on mobile/touch UIs —\n// that alone can fight touch fling even when we never preventDefault.\nif(!canUseAssistedScroll()){return()=>{cancelAutoScroll();window.removeEventListener(\"touchstart\",cancelRideOnTouch,true);};}// Chrome middle-click autoscroll session tracking. Two usage styles:\n//  - quick stationary CLICK → sticky mode: autoscroll persists after\n//    button-up, exits on any mouse button / key press.\n//  - HOLD-and-drag → active only while the button is held; ends on\n//    release. (s18 bug: the old toggle never cleared on release, so a\n//    hold-drag left the flag stuck true and assist permanently dead\n//    until the next left-click.)\n// A stale true turns the wheel handler native forever — clear on every\n// exit signal we can observe; the quiet-page reclaim in onWheel catches\n// any exit path we can't.\nlet middleAutoscroll=false;let middleDownT=0;let middleDownX=0;let middleDownY=0;const onPointerDownCapture=e=>{if(e.button===1){middleDownT=performance.now();middleDownX=e.clientX;middleDownY=e.clientY;// Toggle: middle-down while sticky exits browser autoscroll too.\nmiddleAutoscroll=!middleAutoscroll;cancelAutoScroll();return;}// Any other mouse button exits browser autoscroll.\nmiddleAutoscroll=false;// Primary (and other non-middle) cancels an in-flight assisted ride.\nif(e.button===0)cancelAutoScroll();};const onPointerUpCapture=e=>{if(e.button!==1||!middleAutoscroll)return;// Hold-drag style: a long hold or real pointer travel means the\n// browser's autoscroll ended with this release (it only persists\n// past button-up after a quick stationary click).\nconst held=performance.now()-middleDownT;const moved=Math.hypot(e.clientX-middleDownX,e.clientY-middleDownY);if(held>260||moved>8)middleAutoscroll=false;};const endMiddleAutoscroll=()=>{middleAutoscroll=false;};const maxStopY=()=>{const doc=document.scrollingElement||document.documentElement;return Math.max(0,doc.scrollHeight-window.innerHeight);};const onWheel=e=>{// s211: a wheel the new About used - prevented, or handed to its\n// own inner-list scrolling and tagged mfaOwned - is not the site's.\nif(e.defaultPrevented||e.mfaOwned)return;// Middle button physically held (buttons bit 4): free-scroll drag\n// in progress — leave the wheel fully native.\nif((e.buttons&4)!==0){if(autoScrollActive.current)cancelAutoScroll();return;}if(middleAutoscroll){// Sticky autoscroll session. If the page has been provably\n// still for a while, the session actually ended via an exit we\n// couldn't observe — reclaim the wheel instead of staying dead.\n// (glitchQuietMsRef is the generic page-velocity quiet clock\n// from the reveal rAF; it ticks in both signals.)\nif(glitchQuietMsRef.current>=MIDDLE_RECLAIM_QUIET_MS){middleAutoscroll=false;}else{if(autoScrollActive.current)cancelAutoScroll();return;}}if(wipeBusyRef.current){e.preventDefault();return;}if(autoScrollActive.current){// Same-direction momentum is swallowed so it doesn't fight the\n// ride; opposite direction hands control straight back.\nif((e.deltaY>0?1:-1)===autoScrollDir.current)e.preventDefault();else cancelAutoScroll();return;}if(e.deltaY===0)return;// Re-check each event — pointer type / width can change without remount.\nif(!canUseAssistedScroll())return;if(overlayActiveRef.current)return;if(prefersReducedMotion())return;const dir=e.deltaY>0?1:-1;const now=performance.now();// Post-ride cooldown: swallow same-direction trackpad inertia\n// (which can outlive the 1920ms ride) so one fling = one screen.\n// Each event extends the window, but never past the hard cap — a\n// mouse user deliberately wheeling on breaks through within\n// ASSIST_COOLDOWN_MAX_MS. Opposite direction = deliberate reversal,\n// arms immediately.\nif(now<rideCooldownRef.current){if(dir===autoScrollDir.current){rideCooldownRef.current=Math.min(now+ASSIST_COOLDOWN_MS,rideCooldownMaxRef.current);e.preventDefault();return;}rideCooldownRef.current=0;}const work=workStopY();if(work==null)return;const y=window.scrollY;const bottom=maxStopY();// Directional snap: ride to the adjacent section boundary in the\n// gesture direction, from ANY position. Boundaries ascending. Skip a\n// boundary within ASSIST_SNAP_SKIP of the current position (we're\n// basically on it) and target the next one so a wheel can't\n// notch-and-stick at a boundary.\n// A section TALLER THAN THE VIEWPORT cannot be traversed by\n// snapping: the next boundary sits past its far edge, so a single\n// wheel jumps the whole grid and the middle rows are unreachable.\n// The assist is a navigator BETWEEN sections, not through them.\n// So when the work section overflows: add its far edge as a\n// boundary, and hand the interior back to native scrolling — the\n// assist keeps only the two outward exits. Self-adjusting, so it\n// stays correct at any window height and any number of projects.\nconst workEnd=workEndY();// Motion only (s46): at the new 0.08 threshold Colour's 132vh\n// sticky pin (~32vh of wrapper overflow, which is pin TRAVEL, not\n// unreachable content) would newly cross it and hand the pin\n// interior to native scrolling — a behaviour change on the\n// published Colour wheel model. Colour never overflowed at the\n// old 0.5 on any desktop viewport, so this gate preserves it\n// exactly; the unreachable-rows problem is the Motion grid's.\nconst overflow=modeRef.current===\"motion\"&&workEnd!=null&&workEnd-work>Math.max(ASSIST_SNAP_SKIP,window.innerHeight*ASSIST_NATIVE_MIN_OVERFLOW_FRAC);if(overflow&&workEnd!=null){const nearTop=Math.abs(y-work)<=ASSIST_SNAP_SKIP;const nearEnd=Math.abs(y-workEnd)<=ASSIST_SNAP_SKIP;const inside=y>work-ASSIST_SNAP_SKIP&&y<workEnd+ASSIST_SNAP_SKIP;// Native inside, except the two outward exits: at the top edge\n// wheeling up returns to the hero, at the far edge wheeling\n// down continues to the footer.\nif(inside&&!(nearTop&&dir===-1)&&!(nearEnd&&dir===1))return;}// Desktop (wheel handler is already desktop-gated): studio and\n// contact are their own screens (P5, Colour since s170 unless\n// ?mfcscreens=0), so both are boundaries. Their minHeights make\n// the contact stop coincide with `bottom`; the near-duplicate is\n// harmless — the scans skip anything within ASSIST_SNAP_SKIP of\n// the current position.\nconst screens=modeRef.current===\"motion\"||mfFlagsRef.current.mfcscreens;const studio=screens?studioStopY():null;const contact=screens?contactStopY():null;// s225: the Colour About taller than the screen - the same rule as the Motion grid above: its far\n// edge is a stop, the interior is native, only the two outward exits are assisted\nconst studioEnd=aboutCOnRef.current&&studio!=null?studioEndY():null;const sOverflow=studio!=null&&studioEnd!=null&&studioEnd-studio>Math.max(ASSIST_SNAP_SKIP,window.innerHeight*ASSIST_NATIVE_MIN_OVERFLOW_FRAC);if(sOverflow&&studio!=null&&studioEnd!=null){const nearTop=Math.abs(y-studio)<=ASSIST_SNAP_SKIP;const nearEnd=Math.abs(y-studioEnd)<=ASSIST_SNAP_SKIP;const inside=y>studio-ASSIST_SNAP_SKIP&&y<studioEnd+ASSIST_SNAP_SKIP;// a native step that would cross an edge stops ON it (the Mac: up through the About overshot its\n// top by 150-200px into Work before the next wheel rode on); the next wheel takes the exit\nconst px=e.deltaMode===1?e.deltaY*40:e.deltaMode===2?e.deltaY*window.innerHeight:e.deltaY;const edge=inside&&dir===-1&&!nearTop&&y+px<studio?studio:inside&&dir===1&&!nearEnd&&y+px>studioEnd?studioEnd:null;if(edge!=null){e.preventDefault();window.scrollTo({top:edge,behavior:\"smooth\"});return;}if(inside&&!(nearTop&&dir===-1)&&!(nearEnd&&dir===1))return;}const targets=[0,work,...overflow&&workEnd!=null?[workEnd]:[],...studio!=null?[studio]:[],...sOverflow&&studioEnd!=null?[studioEnd]:[],...contact!=null?[contact]:[],bottom].filter(t=>t>=0&&t<=bottom).sort((a,b)=>a-b);let target=null;if(dir===1){for(let i=0;i<targets.length;i++)if(targets[i]>y+ASSIST_SNAP_SKIP){target=targets[i];break;}}else{for(let i=targets.length-1;i>=0;i--)if(targets[i]<y-ASSIST_SNAP_SKIP){target=targets[i];break;}}// No boundary past us in this direction → native (end of travel).\nif(target==null)return;// Motion + desktop: up from contact would land at workEnd (bottom\n// of the grid). Gav's call: retarget to the work TOP so the reverse\n// wipe reveals row 1. Interior native scroll is unchanged — this\n// only fires when the assist picked workEnd going up (from below).\nif(modeRef.current===\"motion\"&&dir===-1&&workEnd!=null&&target===workEnd){target=work;}// Reveal scrub only on a downward ride that lands ON the work stop\n// (crossing the tile reveal); other rides let the ratchet hold.\n// Motion desktop: wipe owns the arrival — no eased ride, no scrub.\nconst scrub=dir===1&&target===work;if(modeRef.current===\"motion\"){// s46 fix 3 — parked between screens (middle-click\n// free-scroll, scrollbar drag, etc.): recover with the plain\n// eased ride instead of a wipe. A wipe from nowhere reads as\n// a teleport — there is no departure for it to describe.\n// (A rest INSIDE an overflowing work grid never reaches this\n// check — the native-interior return above fires first — so\n// this only classifies genuine between-screen positions.)\nconst atBoundary=targets.some(t=>Math.abs(y-t)<=ASSIST_SNAP_SKIP);if(!atBoundary){if(rideTo(target,dir,{scrubReveal:scrub}))e.preventDefault();return;}// Which arrival boot to run. The contact stop coincides with\n// `bottom` by design (the wrapper's minHeight makes the last\n// screen end at the document bottom), so a landing at\n// `bottom` composes the contact screen and gets its boot.\nconst boot=target===work?\"work\":studio!=null&&Math.abs(target-studio)<2?\"studio\":contact!=null&&(Math.abs(target-contact)<2||target===bottom)?\"contact\":null;if(navigateWithWipeRef.current(target,dir,boot))e.preventDefault();}else if(rideTo(target,dir,{scrubReveal:scrub})){e.preventDefault();}};const onKeyCancel=()=>{// Any key press also exits browser sticky autoscroll (Esc etc.) —\n// clear the flag so assist doesn't stay dead afterwards.\nmiddleAutoscroll=false;cancelAutoScroll();};window.addEventListener(\"wheel\",onWheel,{passive:false});window.addEventListener(\"pointerdown\",onPointerDownCapture,true);window.addEventListener(\"pointerup\",onPointerUpCapture,true);window.addEventListener(\"blur\",endMiddleAutoscroll);window.addEventListener(\"keydown\",onKeyCancel,true);return()=>{cancelAutoScroll();window.removeEventListener(\"wheel\",onWheel);window.removeEventListener(\"pointerdown\",onPointerDownCapture,true);window.removeEventListener(\"pointerup\",onPointerUpCapture,true);window.removeEventListener(\"blur\",endMiddleAutoscroll);window.removeEventListener(\"keydown\",onKeyCancel,true);window.removeEventListener(\"touchstart\",cancelRideOnTouch,true);};// layoutW re-runs the gate when crossing the desktop width threshold.\n},[layoutW,cancelAutoScroll,canUseAssistedScroll,rideTo,workStopY,workEndY,studioStopY,contactStopY]);// s226e: the nav's in-page links (WORK / ABOUT / CONTACT) take the wheel's ride on desktop Colour (?mfcride) -\n// they took the browser's smooth scroll, its own length and curve, not the landing -> Work ease\nuseEffect(()=>{if(typeof window===\"undefined\")return;const onClick=e=>{if(!mfcRideRef.current||modeRef.current!==\"colour\")return;if(e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;const tg=e.target;// the NAV's links only (trap 29: the Work strips are a.mf-gtile href=\"#work\" too - matching any\n// #work link swallowed every strip click and the compare lightbox never opened)\nconst a=tg&&tg.closest?tg.closest('[data-mf=\"nav\"] a[href]'):null;const root=rootRef.current;if(!a||!root||!root.contains(a))return;const href=a.getAttribute(\"href\")||\"\";const at=href.indexOf(\"#\");const hash=at>=0?href.slice(at+1):\"\";if(hash!==\"work\"&&hash!==\"about\"&&hash!==\"contact\")return;if(prefersReducedMotion()||!canUseAssistedScroll())return;const t=hash===\"work\"?workStopY():hash===\"about\"?studioStopY():contactStopY();if(t==null)return;const maxY=document.documentElement.scrollHeight-window.innerHeight;const target=Math.max(0,Math.min(maxY,t));e.preventDefault();e.stopPropagation();const dir=target>=window.scrollY?1:-1;cancelAutoScroll();rideTo(target,dir,{scrubReveal:dir===1&&hash===\"work\"});};window.addEventListener(\"click\",onClick,true);return()=>window.removeEventListener(\"click\",onClick,true);},[rideTo,cancelAutoScroll,canUseAssistedScroll,workStopY,studioStopY,contactStopY]);// SCROLL hint doubles as a trigger: assisted ride on desktop, native smooth\n// anchor scroll elsewhere (scrollMarginTop on #work clears the nav).\nconst onScrollHintClick=useCallback(()=>{if(stackModeRef.current){stackApiRef.current.goTo(0);return;}cancelAutoScroll();const work=workStopY();if(work!=null&&!prefersReducedMotion()&&canUseAssistedScroll()){if(modeRef.current===\"motion\"){if(navigateWithWipeRef.current(work,1,\"work\"))return;}else if(rideTo(work,1,{scrubReveal:true})){return;}}gridWrapRef.current?.scrollIntoView({behavior:prefersReducedMotion()?\"auto\":\"smooth\",block:\"start\"});},[cancelAutoScroll,canUseAssistedScroll,rideTo,workStopY]);const toggle=()=>{const root=rootRef.current;if(root){root.setAttribute(\"data-mf-glitching\",\"1\");clearTimeout(glitchTimer.current);glitchTimer.current=setTimeout(()=>{if(root)root.removeAttribute(\"data-mf-glitching\");},430);}// s183: remember the section so the other signal lands on it.\n// Motion phone: the head bar's data-j (0 work … 2 contact), none at\n// the hero. Colour phone: the pager's page.\nif(stackModeRef.current){const head=document.querySelector('[data-mf=\"stack-bar\"][data-state=\"head\"]');const j=head?parseInt(head.getAttribute(\"data-j\")||\"-1\",10):-1;sectionCarryRef.current=j>=0?j+1:0;}else if(colourPagesRef.current){sectionCarryRef.current=cpageSRef.current;}else{sectionCarryRef.current=-1;}setMode(s=>{const next=s===\"motion\"?\"colour\":\"motion\";try{localStorage.setItem(SIGNAL_KEY,next);}catch(e){}// s219: a forced link keeps the visitor's own toggle through a refresh\ntry{const u=new URL(window.location.href);if(u.searchParams.has(\"signal\")){u.searchParams.set(\"signal\",next);window.history.replaceState(window.history.state,\"\",u.toString());}}catch(e){}return next;});};/** s169: /about is being retired — its content has lived in the\n     *  in-page About screen since s44. The live panel still holds \"/about\"\n     *  (no hash), which sent desktop ABOUT to the old page. Resolve a\n     *  hash-less panel value to the in-page screen; the panel keeps its\n     *  say only when it names an anchor. */const aboutLinkHref=aboutHref.indexOf(\"#\")>=0?aboutHref:\"/#about\";const goAbout=e=>{// s44: aboutHref defaults to the in-page \"/#about\" screen. An in-page\n// anchor must NOT take the page-wipe path — assigning location.href\n// to a same-document hash never reloads, so the forwards-filled wipe\n// would cover the viewport permanently (the s15 hang class). Resolve\n// by element lookup, not path comparison, so Preview works too. The\n// wipe path below is kept intact for a panel-set external href.\n// s167: stackMode FIRST, whatever the panel href says. With the\n// panel set to \"/about\" there is no hash, inPageEl is null, and\n// the code below took the page-wipe path to the retired page.\nif(stackModeRef.current){e.preventDefault();setMenuOpen(false);stackApiRef.current.goTo(1);return;}if(aboutV2ApiRef.current)aboutV2ApiRef.current.home();// s215 s205: desktop Motion - the About arrives by the WIPE, exactly as the wheel does. The smooth\n// scroll below ran through Work and left its sticky frame (.mf-sframe-pin) parked behind the About's\n// transparent ground until the next scroll (the Mac, live s204: nav ABOUT and the landing quote alike);\n// the wipe masks #work. Already there = nothing to do.\nif(modeRef.current===\"motion\"&&!prefersReducedMotion()&&canUseAssistedScroll()){const y=studioStopY();if(y!=null){cancelAutoScroll();const dir=y>=window.scrollY?1:-1;if(Math.abs(y-window.scrollY)<2||navigateWithWipeRef.current(y,dir,\"studio\")){e.preventDefault();setMenuOpen(false);return;}}}const hashAt=aboutLinkHref.indexOf(\"#\");const inPageEl=hashAt>=0?document.getElementById(aboutLinkHref.slice(hashAt+1)):null;if(inPageEl){e.preventDefault();// The burger-menu ABOUT link shares this handler; its sibling\n// in-page links close the menu on click, so match them — the\n// fixed overlay would otherwise sit over the scrolled-to screen.\n// No-op from the desktop nav (menuOpen is already false).\nsetMenuOpen(false);inPageEl.scrollIntoView({behavior:\"smooth\"});return;}e.preventDefault();try{sessionStorage.setItem(\"mf-wipe\",\"1\");}catch(err){}const w=wipeRef.current;if(!w){window.location.href=aboutLinkHref;return;}w.style.animation=\"none\";void w.offsetWidth;w.style.animation=\"mf-wipe-in .5s cubic-bezier(.7,0,.2,1) forwards\";setTimeout(()=>{window.location.href=aboutLinkHref;},470);};// s215 s213 THE ABOUT DROP-DOWN. ABOUT in the nav pins it (click) or opens it (hover); goAbout is the old ABOUT.\nconst navDdApiRef=useRef(null);const navDdRef=useRef(null);const navAbout=e=>{// s219: ABOUT goes to the About (his); the band closes and stays shut until the pointer leaves the nav\nif(navDdApiRef.current)navDdApiRef.current.close();goAbout(e);};const navDdAtAbout=()=>{const y=studioStopY();return y!=null&&Math.abs(y-window.scrollY)<2;};const navDdGo=(e,id)=>{e.preventDefault();if(navDdApiRef.current)navDdApiRef.current.close();const api=aboutV2ApiRef.current;if(id===\"about\"){goAbout(e);return;}// at the About: the About's own section wipe; elsewhere: the full-page wipe, the section opens on arrival\nif(navDdAtAbout()&&api&&api.open){api.open(id);return;}if(api&&api.openOnArrive)api.openOnArrive(id);goAbout(e);};useEffect(()=>{if(!navDdOn||typeof window===\"undefined\")return;const dd=navDdRef.current;const root=rootRef.current;const nav=root?root.querySelector('[data-mf=\"nav\"]'):null;const ab=nav?nav.querySelector('[data-mf-navabout=\"1\"]'):null;if(!dd||!nav||!ab)return;const OPEN_MS=100,GRACE_MS=600;let on=false,pinned=false,quiet=false,tO=0,tC=0;const mark=()=>{const api=aboutV2ApiRef.current;const cur=navDdAtAbout()&&api&&api.current?api.current():null;dd.querySelectorAll(\".mf-dd-lk\").forEach(a=>a.setAttribute(\"data-cur\",a.getAttribute(\"data-sec\")===cur?\"1\":\"0\"));};const show=()=>{window.clearTimeout(tC);window.clearTimeout(tO);if(on)return;on=true;mark();dd.setAttribute(\"data-on\",\"1\");ab.setAttribute(\"aria-expanded\",\"true\");};const hide=()=>{window.clearTimeout(tC);window.clearTimeout(tO);pinned=false;if(!on)return;on=false;dd.removeAttribute(\"data-on\");ab.setAttribute(\"aria-expanded\",\"false\");};const soon=()=>{window.clearTimeout(tC);if(!pinned)tC=window.setTimeout(hide,GRACE_MS);};const inZone=t=>!!t&&(nav.contains(t)||dd.contains(t));const abEnter=()=>{window.clearTimeout(tC);if(quiet)return;if(!on)tO=window.setTimeout(show,OPEN_MS);};const abLeave=()=>window.clearTimeout(tO);const zEnter=()=>window.clearTimeout(tC);const zLeave=e=>{if(inZone(e.relatedTarget))return;quiet=false;window.clearTimeout(tO);soon();};const onKey=e=>{if(e.key===\"Escape\"&&on)hide();};const onWheel=()=>{if(on)hide();};const onDown=e=>{if(on&&pinned&&!inZone(e.target))hide();};ab.setAttribute(\"aria-haspopup\",\"true\");ab.setAttribute(\"aria-expanded\",\"false\");ab.addEventListener(\"pointerenter\",abEnter);ab.addEventListener(\"pointerleave\",abLeave);nav.addEventListener(\"pointerenter\",zEnter);nav.addEventListener(\"pointerleave\",zLeave);dd.addEventListener(\"pointerenter\",zEnter);dd.addEventListener(\"pointerleave\",zLeave);document.addEventListener(\"keydown\",onKey);window.addEventListener(\"wheel\",onWheel,{passive:true});document.addEventListener(\"pointerdown\",onDown);navDdApiRef.current={pin:()=>{if(on&&pinned){hide();return;}show();pinned=true;},hide,// s219: a click closes it; it stays shut while the pointer is still on the nav / band\nclose:()=>{quiet=true;hide();}};return()=>{hide();navDdApiRef.current=null;ab.removeAttribute(\"aria-haspopup\");ab.removeAttribute(\"aria-expanded\");ab.removeEventListener(\"pointerenter\",abEnter);ab.removeEventListener(\"pointerleave\",abLeave);nav.removeEventListener(\"pointerenter\",zEnter);nav.removeEventListener(\"pointerleave\",zLeave);dd.removeEventListener(\"pointerenter\",zEnter);dd.removeEventListener(\"pointerleave\",zLeave);document.removeEventListener(\"keydown\",onKey);window.removeEventListener(\"wheel\",onWheel);document.removeEventListener(\"pointerdown\",onDown);};},[navDdOn,navDdSecs.length]);// s215 s215 THE LANDING SETTLE (a refresh / deep link parked between stops - the Mac, live s214): the document is a\n// different height until the landing + About mount, so the browser's hash jump and its restore use the EARLY layout.\n// Once it settles, and only if the visitor has not acted, line up with the stop the URL names, else the nearest.\nuseEffect(()=>{if(typeof window===\"undefined\")return;if(RenderTarget.current()===RenderTarget.canvas)return;let acted=false,dead=false;const act=()=>{acted=true;};const evs=[\"wheel\",\"pointerdown\",\"keydown\",\"touchstart\"];evs.forEach(n=>window.addEventListener(n,act,{passive:true,capture:true}));let hash=(window.location.hash||\"\").replace(\"#\",\"\");// s219: #about-<section> = the About with that section open on arrival\nlet sec=\"\";if(hash.indexOf(\"about-\")===0){sec=hash.slice(6);hash=\"about\";}let navType=\"\";try{const ne=performance.getEntriesByType(\"navigation\")[0];navType=ne&&ne.type?String(ne.type):\"\";}catch(e){}// s219: a RELOAD always goes to the top (his rule) - the address may name a section; the reload ignores it.\n// A fresh visit with no hash starts at the top already, and back/forward is Framer's own restore.\nconst reload=navType===\"reload\";if(!hash&&!reload){evs.forEach(n=>window.removeEventListener(n,act,{capture:true}));return;}let secDone=false;// never cut into a scroll in flight (Chrome restores a reload with a ~1s smooth glide): wait for stillness\nlet lastScrollAt=0;const onScroll=()=>{lastScrollAt=performance.now();};window.addEventListener(\"scroll\",onScroll,{passive:true});const fix=()=>{if(dead||acted||wipeBusyRef.current)return;if(performance.now()-lastScrollAt<150){window.setTimeout(fix,200);return;}if(layoutW<=HEADLINE_DESKTOP_MIN||!canUseAssistedScroll())return;let t=null;if(reload)t=0;else{t=hash===\"work\"?workStopY():hash===\"about\"?studioStopY():hash===\"contact\"?contactStopY():null;// the section opens when the About arrives - ask BEFORE the page reaches it\nif(t!=null&&sec&&!secDone){const api=aboutV2ApiRef.current;if(!api||!api.sections||!api.openOnArrive){window.setTimeout(fix,200);return;}secDone=true;try{if(api.sections().some(x=>x&&x.id===sec))api.openOnArrive(sec);}catch(e){}}}if(t==null)return;if(Math.abs(window.scrollY-t)>2){if(t==null)return;}if(Math.abs(window.scrollY-t)>2)window.scrollTo({top:t,left:0,behavior:\"instant\"});};const timers=[400,1100,2200].map(ms=>window.setTimeout(fix,ms));let ro=null,rt=0;const root=rootRef.current;if(root&&typeof ResizeObserver!==\"undefined\"){ro=new ResizeObserver(()=>{window.clearTimeout(rt);rt=window.setTimeout(fix,120);});ro.observe(root);}const stop=window.setTimeout(()=>{dead=true;if(ro)ro.disconnect();},3e3);return()=>{dead=true;timers.forEach(t=>window.clearTimeout(t));window.clearTimeout(rt);window.clearTimeout(stop);if(ro)ro.disconnect();evs.forEach(n=>window.removeEventListener(n,act,{capture:true}));window.removeEventListener(\"scroll\",onScroll);};// mount-only: a refresh / deep-link arrival\n// eslint-disable-next-line react-hooks/exhaustive-deps\n},[]);// s218: a native scroll (autoscroll, keyboard, scrollbar - no wipe) into a section a wipe left behind: its\n// departure matte is stale (the matte writers only run inside a wipe), so reset it by the root's own reset path.\n// His Firefox blank page: #work fully matted at y 1277, mid-Work.\nuseEffect(()=>{if(typeof window===\"undefined\")return;if(RenderTarget.current()===RenderTarget.canvas)return;let raf=0;const stale=el=>!!el&&!!el.style.maskImage&&el.style.maskImage!==\"none\";const seen=el=>{if(!el)return false;const r=el.getBoundingClientRect();return Math.min(r.bottom,window.innerHeight)-Math.max(r.top,NAV_H)>=48;};const check=()=>{raf=0;if(wipeBusyRef.current)return;const h=headerElRef.current;if(stale(h)&&seen(h))clearHeroExit();for(const el of[gridWrapRef.current,studioSecRef.current,contactWrapRef.current])if(stale(el)&&seen(el))clearMatte(el);};const onScroll=()=>{if(!raf)raf=requestAnimationFrame(check);};window.addEventListener(\"scroll\",onScroll,{passive:true});return()=>{if(raf)cancelAnimationFrame(raf);window.removeEventListener(\"scroll\",onScroll);};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[]);// s219: THE ADDRESS FOLLOWS THE VISITOR - on rest, the hash names the stop (#work / #about / #about-<section> /\n// #contact; none at the top) by replaceState, so Back is not filled and a copied address is a deep link. And a\n// refresh goes to the TOP: on pagehide the position Framer saved for its own restore is zeroed.\nuseEffect(()=>{if(typeof window===\"undefined\")return;if(RenderTarget.current()===RenderTarget.canvas)return;let t=0;const write=()=>{if(wipeBusyRef.current){t=window.setTimeout(write,250);return;}if(!canUseAssistedScroll())return;const y=window.scrollY;const near=v=>v!=null&&Math.abs(v-y)<=4;const ws=workStopY(),we=workEndY();let h=null;if(y<=4)h=\"\";else if(near(studioStopY())){let c=null;try{const api=aboutV2ApiRef.current;c=api&&api.current?api.current():null;}catch(e){}h=c&&c!==\"about\"?\"about-\"+c:\"about\";}else if(near(contactStopY()))h=\"contact\";else if(ws!=null&&y>=ws-4&&(we==null?near(ws):y<=Math.max(ws,we)+4))h=\"work\";if(h==null)return;// s219: the lit nav item\nif(rootRef.current)rootRef.current.setAttribute(\"data-mf-at\",h?h.split(\"-\")[0]:\"top\");const want=h?\"#\"+h:\"\";if((window.location.hash||\"\")===want)return;try{window.history.replaceState(window.history.state,\"\",window.location.pathname+window.location.search+want);}catch(e){}};const soon=ms=>()=>{window.clearTimeout(t);t=window.setTimeout(write,ms);};const onScroll=soon(140);const onAct=soon(900);window.addEventListener(\"scroll\",onScroll,{passive:true});window.addEventListener(\"click\",onAct,{passive:true,capture:true});window.addEventListener(\"keyup\",onAct,{passive:true,capture:true});// s220: the About's own tiles open a section after the click check ran (his: \"using the nav on the about\n// section doesn't change the url\") - re-check every 600ms while resting at the About\nconst poll=window.setInterval(()=>{if(rootRef.current&&rootRef.current.getAttribute(\"data-mf-at\")===\"about\")write();},600);// a refresh goes to the top: zero Framer's saved restore position. Registered late so it runs AFTER\n// Framer's own pagehide save (child effects mount before the router's).\nconst onHide=()=>{try{window.scrollTo({top:0,left:0,behavior:\"instant\"});}catch(e){}try{const st=window.history.state;if(!st||typeof st!==\"object\")return;const z={x:0,y:0};const ns={...st};let changed=false;if(ns.scrollPosition){ns.scrollPosition=z;changed=true;}else for(const k of Object.keys(ns)){const v=ns[k];if(v&&typeof v===\"object\"&&v.scrollPosition){ns[k]={...v,scrollPosition:z};changed=true;}}if(changed)window.history.replaceState(ns,\"\",window.location.href);}catch(e){}};const late=window.setTimeout(()=>window.addEventListener(\"pagehide\",onHide),1500);return()=>{window.clearTimeout(t);window.clearTimeout(late);window.clearInterval(poll);window.removeEventListener(\"scroll\",onScroll);window.removeEventListener(\"click\",onAct,{capture:true});window.removeEventListener(\"keyup\",onAct,{capture:true});window.removeEventListener(\"pagehide\",onHide);};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[]);// Motion-phone hashless refresh: iOS restores last scrollY\n// (history.scrollRestoration default is \"auto\" and was never\n// set in this file). Combined with the work deck being most of\n// the document, that lands in work regardless of the URL.\n// Deep links (#work / #about / #contact) keep the hash target;\n// #top is the sticky hero so we treat it as top (same s71 class\n// as the logo). Persisted pageshow / bfcache is NOT this path\n// — that guard only tucks the page wipe (s15) and must stay.\nuseLayoutEffect(()=>{if(!motionPhone)return;try{if(\"scrollRestoration\"in history)history.scrollRestoration=\"manual\";}catch(e){}const hash=window.location.hash;if(!hash||hash===\"#\"||hash===\"#top\"){window.scrollTo({top:0,left:0,behavior:\"instant\"});}// Mount-only: motionPhone from the first commit (layoutW is\n// innerWidth, mode is the localStorage seed). Re-running on\n// a Colour->Motion toggle would jump a mid-page reader to 0.\n},[]);// Cover-first entry (pairs with About): hide unstyled first paint under the wipe.\nuseLayoutEffect(()=>{let cancelled=false;let cameFromWipe=false;try{cameFromWipe=sessionStorage.getItem(\"mf-wipe\")===\"1\";sessionStorage.removeItem(\"mf-wipe\");}catch(e){}const w=wipeRef.current;if(!w)return;if(!cameFromWipe){w.style.animation=\"none\";w.style.transform=\"translateY(100%)\";return;}w.style.transform=\"translateY(0)\";w.style.animation=\"none\";const reveal=()=>{if(cancelled||!wipeRef.current)return;const el=wipeRef.current;el.style.animation=\"none\";void el.offsetWidth;el.style.animation=\"mf-wipe-out .55s cubic-bezier(.7,0,.2,1) forwards\";};const run=()=>{requestAnimationFrame(()=>requestAnimationFrame(reveal));};if(typeof document!==\"undefined\"&&document.fonts&&document.fonts.ready){document.fonts.ready.then(()=>{if(!cancelled)run();}).catch(run);}else{run();}return()=>{cancelled=true;};},[]);// bfcache restore (browser back/forward): the page unfreezes exactly as it\n// was left — i.e. with the wipe still covering the viewport after navAbout.\n// No effect re-runs on restore, so tuck the wipe away on pageshow.\nuseEffect(()=>{const onPageShow=e=>{if(!e.persisted)return;const w=wipeRef.current;if(w){w.style.animation=\"none\";w.style.transform=\"translateY(100%)\";}try{sessionStorage.removeItem(\"mf-wipe\");}catch(err){}};window.addEventListener(\"pageshow\",onPageShow);return()=>window.removeEventListener(\"pageshow\",onPageShow);},[]);// P0/P2 debug hooks — Preview console only. Not used by production paths.\nuseEffect(()=>{if(typeof window===\"undefined\")return;const w=window;w.__mfStartWorkBoot=()=>startWorkBoot();w.__mfNavWipeDebug=()=>{// Same helpers + curve as navigateWithWipe (s48: one continuous\n// eased sweep, no dissolve mask) so this QA hook cannot drift\n// from the real mechanics — minus the scrollTo/boot side effects.\nconst el=navWipeGroupRef.current;if(!el)return;cancelAnimationFrame(wipeRafRef.current);setNavWipeGradient(1);const from=NAV_WIPE_FROM+NAV_WIPE_PARK_PAD;const to=-(100+NAV_WIPE_PARK_PAD);setNavWipeY(from);const t0=performance.now();const step=now=>{const t=clamp((now-t0)/NAV_WIPE_SWEEP_MS,0,1);const eased=easeAeInfluence(t,NAV_WIPE_SWEEP_INFLUENCE,NAV_WIPE_SWEEP_INFLUENCE);setNavWipeY(from+(to-from)*eased);if(t<1){wipeRafRef.current=requestAnimationFrame(step);return;}parkNavWipe();};wipeRafRef.current=requestAnimationFrame(step);};return()=>{delete w.__mfStartWorkBoot;delete w.__mfNavWipeDebug;};});// s219 colour lens: data-mf-clens on the root, client-side\nuseLayoutEffect(()=>{const r=rootRef.current;if(!r)return;if(mode===\"colour\"&&!colourPages&&mfFlagsRef.current.mfclens)r.setAttribute(\"data-mf-clens\",\"1\");else r.removeAttribute(\"data-mf-clens\");if(mode===\"colour\"&&!colourPages&&mfFlagsRef.current.mfclens&&mfFlagsRef.current.mfcwork)r.setAttribute(\"data-mf-cwork\",String(mfFlagsRef.current.mfcwork));else r.removeAttribute(\"data-mf-cwork\");},[mode,colourPages]);// s219 colour lens: the type focus pull on arrival (one clock per section)\nconst lensRunRef=useRef({});function colourLensBuild(key,els){const id=lensRunRef.current[key]=(lensRunRef.current[key]||0)+1;for(const el of els)applyColourFocusPose(el,0,true);const t0=performance.now();const step=now=>{if(lensRunRef.current[key]!==id)return;let done=true;els.forEach((el,k)=>{const local=clamp((now-t0-120-k*CPAGE_BUILD_STAGGER_MS*2)/CPAGE_BUILD_IN_MS,0,1);if(local<1)done=false;applyColourFocusPose(el,local,true);});if(done){for(const el of els)clearGlitchPose(el);return;}requestAnimationFrame(step);};requestAnimationFrame(step);}// s226b: stamps the pop / top / glow switches on the root and drives the glow drift + the darkness fade\nconst cGlowRef=useRef(null);const cTopRef=useRef(null);useLayoutEffect(()=>{const root=rootRef.current;if(!root||typeof window===\"undefined\")return;const f=mfFlagsRef.current;const on=mode===\"colour\"&&!colourPages&&!!f.mfclens&&window.innerWidth>1024;const KEYS=[[\"data-mf-cpop\",on&&!!f.mfcpop],[\"data-mf-ctop\",on&&!!f.mfctop],[\"data-mf-cglow\",on&&!!f.mfcglow]];for(const[k,v]of KEYS){if(v)root.setAttribute(k,\"1\");else root.removeAttribute(k);}const clear=()=>{for(const[k]of KEYS)root.removeAttribute(k);};if(!on||!f.mfctop&&!f.mfcglow)return clear;// s226k: the glows as dithered device-pixel canvases (same ellipse = half the box, stop 62%)\nconst glowUrls=[];let glowT=0;const drawGlows=()=>{const g=cGlowRef.current;if(!g||!f.mfcglow||!f.mfcglowd)return;const specs=[[.125,0],[.09,1]];const dpr=Math.max(1,window.devicePixelRatio||1);for(const[peak,k]of specs){const el=g.children[k];if(!el)continue;const W=Math.max(1,Math.round(el.offsetWidth*dpr)),H=Math.max(1,Math.round(el.offsetHeight*dpr));const c=document.createElement(\"canvas\");c.width=W;c.height=H;const x=c.getContext(\"2d\");if(!x)continue;const d=x.createImageData(W,H),p=d.data;const cx=W/2,cy=H/2;for(let y=0;y<H;y++){const dy=(y+.5-cy)/cy;for(let xx=0;xx<W;xx++){const dx=(xx+.5-cx)/cx;const r=Math.sqrt(dx*dx+dy*dy)/.62;if(r>=1)continue;const i=(y*W+xx)*4;p[i]=255;p[i+1]=59;p[i+2]=74;p[i+3]=Math.max(0,Math.min(255,Math.round(peak*(1-r)*255+(Math.random()+Math.random()-1)*1.5)));}}x.putImageData(d,0,0);c.toBlob(bl=>{if(!bl)return;const u=URL.createObjectURL(bl);if(glowUrls[k])URL.revokeObjectURL(glowUrls[k]);glowUrls[k]=u;el.style.background=\"url(\"+u+\") 0 0/100% 100% no-repeat\";});}};drawGlows();const onGlowResize=()=>{clearTimeout(glowT);glowT=window.setTimeout(drawGlows,250);};window.addEventListener(\"resize\",onGlowResize);let raf=0;const pose=()=>{raf=0;const g=cGlowRef.current;const a=g?g.children[0]:undefined;const b=g?g.children[1]:undefined;const pad=root.querySelector('#work [data-mf=\"sbody\"]>.mf-pad-x');if(f.mfcglow&&a&&b&&pad){// past > 0 once Work has gone by its pinned pose (its top under the nav)\nconst past=NAV_H-pad.getBoundingClientRect().top;const ya=past<=0?-past:-MFC_GLOW_DRIFT_A*past;const yb=past<=0?-past:-MFC_GLOW_DRIFT_B*past;a.style.transform=\"translate3d(0,\"+ya.toFixed(1)+\"px,0)\";b.style.transform=\"translate3d(0,\"+yb.toFixed(1)+\"px,0)\";// s226k: glow B goes as the About comes up (his oval over Proof)\nconst abB=document.getElementById(\"about\");b.style.opacity=abB?(1-clamp((window.innerHeight-abB.getBoundingClientRect().top)/window.innerHeight,0,1)).toFixed(3):\"\";}const t=cTopRef.current;if(f.mfctop&&t){const h=headerElRef.current;const hb=h?h.getBoundingClientRect().bottom:-1e9;const span=window.innerHeight*MFC_TOP_FADE_FRAC;let o=clamp((NAV_H+span-hb)/span,0,1);// s226j: lighter once the About has climbed the screen (Contact lies past it, so it stays lighter there)\nconst ab=f.mfctopcut?document.getElementById(\"about\"):null;if(ab)o*=1-MFC_TOP_ABOUT_CUT*clamp((window.innerHeight-ab.getBoundingClientRect().top)/window.innerHeight,0,1);t.style.opacity=o.toFixed(3);}};const kick=()=>{if(!raf)raf=requestAnimationFrame(pose);};pose();window.addEventListener(\"scroll\",kick,{passive:true});window.addEventListener(\"resize\",kick);return()=>{window.removeEventListener(\"scroll\",kick);window.removeEventListener(\"resize\",kick);window.removeEventListener(\"resize\",onGlowResize);clearTimeout(glowT);glowUrls.forEach(u=>u&&URL.revokeObjectURL(u));const gl=cGlowRef.current;if(gl)for(let k=0;k<gl.children.length;k++){gl.children[k].style.background=\"\";gl.children[k].style.opacity=\"\";}cancelAnimationFrame(raf);clear();};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[mode,colourPages]);useLayoutEffect(()=>{if(mode!==\"colour\"||colourPages||!mfFlagsRef.current.mfclens)return;if(typeof window===\"undefined\"||window.innerWidth<=1024)return;if(window.matchMedia&&window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches)return;const byRank=kind=>collectSectionBootEls(kind).sort((a,b)=>a.rank-b.rank).map(it=>it.el);// the hero: the TEXT ranks only, top-down (startHeroBoot would also fade the Motion HUD corners in)\nconst heroEls=()=>collectHeroExitEls().filter(it=>it.glitch).sort((a,b)=>b.rank-a.rank).map(it=>it.el);const secs=[{key:\"hero\",box:()=>headerElRef.current,els:heroEls},{key:\"work\",box:()=>gridWrapRef.current,els:()=>workHeaderRef.current?[workHeaderRef.current]:[]},{key:\"about\",box:()=>studioSecRef.current,els:()=>byRank(\"studio\")},{key:\"contact\",box:()=>contactWrapRef.current,els:()=>byRank(\"contact\")}];const armed={};const inView=el=>{if(!el)return false;const r=el.getBoundingClientRect();return r.top<window.innerHeight-1&&r.bottom>NAV_H;};for(const s of secs){const v=inView(s.box());armed[s.key]=!v;if(v&&s.key===\"hero\")colourLensBuild(s.key,s.els());}// off the hero the nav takes the page ground (no band: it matches the ground; it only hides what\n// scrolls under the links); on the hero it stays the short fade over the picture\nconst navSolid=()=>{const root=rootRef.current,h=headerElRef.current;if(!root)return;if(h&&h.getBoundingClientRect().bottom<=NAV_H+1)root.setAttribute(\"data-mf-cnavsolid\",\"1\");else root.removeAttribute(\"data-mf-cnavsolid\");// s225: Work pinned under the nav -> the nav wears the Work bloom (the arms CSS reads this)\nconst wk=gridWrapRef.current;const wr=wk?wk.getBoundingClientRect():null;if(wr&&wr.top<=NAV_H+1&&wr.bottom>=window.innerHeight-1)root.setAttribute(\"data-mf-cnavwork\",\"1\");else root.removeAttribute(\"data-mf-cnavwork\");};navSolid();let raf=0;const check=()=>{raf=0;navSolid();for(const s of secs){const v=inView(s.box());if(v&&armed[s.key]){armed[s.key]=false;const els=s.els();if(els.length)colourLensBuild(s.key,els);}else if(!v)armed[s.key]=true;}};const onScroll=()=>{if(!raf)raf=requestAnimationFrame(check);};window.addEventListener(\"scroll\",onScroll,{passive:true});return()=>{window.removeEventListener(\"scroll\",onScroll);cancelAnimationFrame(raf);rootRef.current?.removeAttribute(\"data-mf-cnavsolid\");rootRef.current?.removeAttribute(\"data-mf-cnavwork\");for(const k in lensRunRef.current)lensRunRef.current[k]++;};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[mode,colourPages]);const colourHeroProjects=useMemo(()=>(projectsColour||[]).filter(p=>p.featured&&p.thumbnail?.src),[projectsColour]);const motionHeroProjects=useMemo(()=>(projectsMotion||[]).filter(p=>p.featured&&p.thumbnail?.src),[projectsMotion]);const colourHeroImgs=useMemo(()=>colourHeroProjects.map(p=>p.thumbnail),[colourHeroProjects]);// Use Framer Thumbnail GUI focal point (positionX/positionY on ResponsiveImage).\n// Falls back to the previous hardcoded crop when unset.\nconst colourHeroFocal=useMemo(()=>colourHeroProjects.map(p=>{const x=p.thumbnail?.positionX??\"50%\";const y=p.thumbnail?.positionY??\"42%\";return`${x} ${y}`;}),[colourHeroProjects]);const motionHeroImgs=useMemo(()=>motionHeroProjects.map(p=>p.thumbnail),[motionHeroProjects]);// s215 THE MOTION LANDING. The sibling owns the layout (solved from the hero's own size with the canvas's maths),\n// the barrel, the matte and the entrance; this owns WHEN (mount, pause, resize) and the three ways out: the\n// corner plate plays the reel (the ONLY reel trigger - his rule), the quote does what the nav ABOUT does, the\n// pull tab does what the old scroll hint did.\nconst landingOn=landingV2&&motionHeroProjects.length>=4;const landingRef=useRef(null);const landingInstRef=useRef(null);const landingCbRef=useRef(null);const landingRunRef=useRef(motionReelDuration);landingRunRef.current=motionReelDuration;landingCbRef.current={openReel,onScrollHintClick,navAbout:goAbout};useEffect(()=>{if(!landingOn)return;if(typeof window===\"undefined\")return;if(RenderTarget.current()===RenderTarget.canvas)return;const el=landingRef.current;if(!el)return;let inView=true;let io=null;if(typeof IntersectionObserver!==\"undefined\"){io=new IntersectionObserver(es=>{inView=es[es.length-1].isIntersecting;});io.observe(el);}const stills=motionHeroProjects.map(p=>({src:p.thumbnail.src,studio:p.studioName||p.brandName||\"UNDISCLOSED STUDIO\",meta:[p.category,p.year,(p.workTypes||[]).join(\", \")].filter(Boolean).join(\" \\xb7 \")}));let first=true;const mount=()=>{if(landingInstRef.current)landingInstRef.current.destroy();landingInstRef.current=null;try{landingInstRef.current=mountMotionLanding(el,{stills,runTime:landingRunRef.current,entrance:first,onPlay:()=>landingCbRef.current.openReel(),onQuote:e=>{// s207: the About opens TESTIMONIALS when it arrives (push 2, his ask)\nconst a=aboutV2ApiRef.current;if(a&&a.openOnArrive)a.openOnArrive(\"recognition\");landingCbRef.current.navAbout(e);},onNext:()=>landingCbRef.current.onScrollHintClick(),isPaused:()=>overlayActiveRef.current||!inView||prefersReducedMotion()});}catch(err){console.error(\"MF landing: mount failed\",err);}// a landing that did not mount must not leave a blank hero: the old Motion hero comes back\nconst hero=headerElRef.current;if(hero){if(landingInstRef.current)hero.removeAttribute(\"data-mf-landing-fail\");else hero.setAttribute(\"data-mf-landing-fail\",\"1\");}first=false;};mount();let rt=0,lw=el.clientWidth,lh=el.clientHeight;const onResize=()=>{window.clearTimeout(rt);rt=window.setTimeout(()=>{if(el.clientWidth===lw&&el.clientHeight===lh)return;lw=el.clientWidth;lh=el.clientHeight;mount();},150);};window.addEventListener(\"resize\",onResize);return()=>{window.removeEventListener(\"resize\",onResize);window.clearTimeout(rt);if(io)io.disconnect();if(landingInstRef.current)landingInstRef.current.destroy();landingInstRef.current=null;};},[landingOn,motionHeroProjects]);// the plate names the reel once, with its real run time (oEmbed) - updated in place, never a remount\nuseEffect(()=>{const inst=landingInstRef.current;if(!inst||!inst.el)return;inst.el.querySelectorAll(\"[data-plate]\").forEach(p=>{const t=p.lastElementChild;if(t&&/^\\d\\d:\\d\\d$/.test(t.textContent||\"\"))t.textContent=motionReelDuration;});},[motionReelDuration,landingOn]);// s219 THE COLOUR LANDING (client only: the root attribute + the mount, so the server render never differs)\nconst clandRef=useRef(null);const clandInstRef=useRef(null);const clandCbRef=useRef(null);const[clandScope,clandAnimate]=useAnimate();// s226d: the Colour Work build (arms ?mfcwbuild) + the receding top (?mfctop): one scroll-driven rAF\nuseLayoutEffect(()=>{const root=rootRef.current;if(!root||typeof window===\"undefined\")return;const f=mfFlagsRef.current;const on=mode===\"colour\"&&!colourPages&&!!f.mfclens&&window.innerWidth>1024;if(!on)return;const arm=Number(f.mfcwbuild)||0;const reduce=!!(window.matchMedia&&window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches);root.setAttribute(\"data-mf-cwb\",String(arm));root.setAttribute(\"data-mf-ccw\",\"1\");const TILE=\"#work a.mf-gtile:not(.mf-wall-job)\";const tiles=()=>Array.prototype.slice.call(root.querySelectorAll(TILE));const setType=v=>{if(v)root.setAttribute(\"data-mf-cwtype\",\"1\");else root.removeAttribute(\"data-mf-cwtype\");};tiles().forEach((t,k)=>t.style.setProperty(\"--mfcw-k\",String(k)));if(arm!==0&&!reduce)root.setAttribute(\"data-mf-cwhide\",\"1\");let built=false;let anims=[];let timer=0;const stop3=()=>{window.clearTimeout(timer);for(const a of anims){try{a.stop();}catch(e){}}anims=[];};// THE TYPE BUILD, by Motion (a CSS animation re-armed by an attribute was dropped by Chrome on the About ->\n// Work return: created pending, gone the next frame, no animationstart/cancel - so no rebuild, a snap).\n// The landing focus pull: title opacity .715s linear + blur 22 -> 0 and scale 1.18 -> 1 over 1.3s on\n// (.25,1,.5,1); the open job after .75s, slivers after .35s; its other lines follow 180ms apart.\nlet typeAnims=[];// s226h: parts of a strip caught mid-close that hand over (not build from 0) when it re-opens\nconst keepSoft=new Set;let typeEls=[];let typeGen=0;// GUARDED BUILDS (Contact, arm 3 strips): a build = a function that makes its WAAPI animations (backwards\n// fill, so the start pose holds from the first frame and the end pose is the stylesheet's). Cancelled by\n// someone else (the About's document-wide killAnims), it is remade at once inside the cancel event; twice max.\nconst gTok={};const gBag={};const unguard=key=>{gTok[key]=(gTok[key]||0)+1;for(const a of gBag[key]||[]){a.oncancel=null;try{a.cancel();}catch(e){}}gBag[key]=[];};const guard=(key,make)=>{unguard(key);const tok=gTok[key];let tries=0;const start=()=>{let list=[];try{list=make();}catch(e){}gBag[key]=list;let again=false;const onC=()=>{if(again||gTok[key]!==tok||tries>=2)return;again=true;tries++;for(const a of list){a.oncancel=null;try{a.cancel();}catch(e){}}start();};for(const a of list)a.oncancel=onC;};start();};const SWE=\"cubic-bezier(.7,0,.3,1)\",RISE=\"cubic-bezier(.2,.7,.2,1)\",SETE=\"cubic-bezier(.25,1,.5,1)\";const BK=\"backwards\";const stopType=()=>{typeGen++;for(const a of typeAnims){try{a.cancel();}catch(e){}}typeAnims=[];for(const el of typeEls){el.style.opacity=\"\";el.style.filter=\"\";el.style.transform=\"\";el.style.transformOrigin=\"\";}typeEls=[];};const hideType=()=>{stopType();root.setAttribute(\"data-mf-cwhide\",\"1\");};// a plan = [element, delay, kind]; one tile at a role: \"open\" (all its caption lines, after .75s), \"sliver\"\n// (its title, after .35s), \"lines\" (its lines but not the title - the tall bands keep one title in focus)\nconst TALLQ=\"(min-width:900px) and (max-aspect-ratio:1499/1000)\";const planFor=(t,role,d0)=>{const out=[];const cap=t.querySelector(\".mf-ccap\");const base=d0+(role===\"sliver\"?.35:.75);if(cap)Array.prototype.forEach.call(cap.children,(el,i)=>{const kind=el.getAttribute(\"data-mf-type\")===\"display\"?\"title\":el.classList.contains(\"mf-gaction\")?\"action\":\"line\";if(role===\"sliver\"&&kind!==\"title\")return;if(role===\"lines\"&&kind===\"title\")return;out.push([el,base+(kind===\"title\"?0:.18*i),kind]);});const bd=t.querySelector(\".mf-badge\");if(bd&&role!==\"sliver\")out.push([bd,base+.18,\"line\"]);return out;};const runPlan=(plan,tries=0,slow=false)=>{const gen=typeGen;// s226g: a part ON SCREEN when a hover re-arms it hands over (dips, re-focuses) instead of vanishing\nconst soft=new Set;if(!slow)for(const[el,,kind]of plan){// s226h: only a TITLE hands over (or a part of a strip caught mid-close); lines were never painted\nif(!keepSoft.has(el))continue;const cs=getComputedStyle(el);const fm=cs.filter.match(/opacity\\(([0-9.e+-]+)\\)/);const r=el.getBoundingClientRect();if(+cs.opacity*(fm?+fm[1]:1)>=.5&&r.width>2&&r.height>2)soft.add(el);}const F0=el=>soft.has(el)?MFC_HOVER_FLOOR:0;// the start pose inline FIRST, so no frame can show the end pose before its build\nfor(const[el,,kind]of plan){if(kind===\"action\")el.style.filter=\"opacity(\"+F0(el)+\")\";else el.style.opacity=String(F0(el));if(kind===\"title\")el.style.filter=soft.has(el)?\"blur(\"+MFC_HOVER_BLUR+\"px)\":\"blur(22px)\";if(typeEls.indexOf(el)<0)typeEls.push(el);}root.removeAttribute(\"data-mf-cwhide\");const mine=[];const SET=\"cubic-bezier(.25,1,.5,1)\";try{for(const[el,d,kind]of plan){const o={delay:d*1e3,fill:\"backwards\"};if(kind===\"title\"){el.style.transformOrigin=el.closest(\"a.mf-gtile\")&&el.closest(\"a.mf-gtile\")===tiles()[openNow()]?\"0% 100%\":\"50% 50%\";mine.push(el.animate([{opacity:F0(el)},{opacity:1}],{...o,duration:slow?MFC_WB_FADE_MS:715,easing:slow?MFC_WB_EASE:\"linear\"}));mine.push(el.animate([{filter:soft.has(el)?\"blur(\"+MFC_HOVER_BLUR+\"px)\":\"blur(22px)\",scale:soft.has(el)?\"1.06\":\"1.18\"},{filter:\"blur(0px)\",scale:\"1\"}],{...o,duration:slow?MFC_WB_FOCUS_MS:1300,easing:slow?MFC_WB_EASE:SET}));}else if(kind===\"action\"){mine.push(el.animate([{filter:\"opacity(\"+F0(el)+\")\"},{filter:\"opacity(1)\"}],{...o,duration:slow?MFC_WB_FADE_MS:715,easing:slow?MFC_WB_EASE:\"linear\"}));}else mine.push(el.animate([{opacity:F0(el)},{opacity:1}],{...o,duration:slow?MFC_WB_FADE_MS:715,easing:slow?MFC_WB_EASE:\"linear\"}));}}catch(e){}// the animations hold the start pose now (backwards fill), so the inline start pose comes off at once\nfor(const[el]of plan){el.style.opacity=\"\";el.style.filter=\"\";}for(const a of mine)typeAnims.push(a);// GUARD: something else may cancel these (the generated About strips EVERY animation in the document -\n// document.getAnimations().forEach(cancel) - when it re-arms, which lands on this arrival on the way up\n// from it). A build cancelled by someone else restarts from its start pose AT ONCE, inside the cancel\n// event (it is dispatched in the frame\\'s animation step, before style + paint - a rAF here showed one\n// frame of the end pose on the Mac). Twice at most.\nlet again=false;const onCancel=()=>{if(again||gen!==typeGen||tries>=2)return;again=true;for(const a of mine){a.oncancel=null;try{a.cancel();}catch(e){}const i=typeAnims.indexOf(a);if(i>=0)typeAnims.splice(i,1);}runPlan(plan,tries+1,slow);};for(const a of mine)a.oncancel=onCancel;};const openNow=()=>{const t0=tiles()[0];const g=t0?t0.parentElement:null;return g?parseInt(g.getAttribute(\"data-mf-cwopen\")||\"0\",10)||0:0;};const buildType=(d0,slow=false)=>{stopType();const tl=tiles();const grid=tl[0]?tl[0].parentElement:null;const openK=grid?parseInt(grid.getAttribute(\"data-mf-cwopen\")||\"0\",10)||0:0;let plan=[];tl.forEach((t,k)=>plan=plan.concat(planFor(t,k===openK||window.matchMedia&&window.matchMedia(TALLQ).matches?\"open\":\"sliver\",d0+(k!==openK&&window.matchMedia&&window.matchMedia(TALLQ).matches?-.4:0))));runPlan(plan,0,slow);};// THE HOVER RE-ARM (signed s225 behaviour, now by Motion): a job opening pulls its caption into focus; on the\n// wide strips the job it replaces comes back as a sliver title; the tall bands re-fade only the new lines\nlet mo=null;const gridEl=tiles()[0]?tiles()[0].parentElement:null;if(arm!==0&&!reduce&&gridEl&&typeof MutationObserver!==\"undefined\"){mo=new MutationObserver(ms=>{if(!built||root.getAttribute(\"data-mf-cwhide\")===\"1\")return;const m=ms[ms.length-1];const was=parseInt(ms[0].oldValue||\"0\",10)||0;const now=parseInt(gridEl.getAttribute(\"data-mf-cwopen\")||\"0\",10)||0;if(!m||was===now)return;const tl=tiles();const tall=!!(window.matchMedia&&window.matchMedia(TALLQ).matches);let plan=[];if(tl[now])plan=plan.concat(planFor(tl[now],tall?\"lines\":\"open\",0));// s226h: the closing strip fades in its OPEN layout, then becomes a sliver (capfix on); re-opening a\n// strip caught mid-close hands over from where it is\nif(tl[now]&&closing.has(tl[now])){const cp=tl[now].querySelector(\".mf-ccap\");if(cp)Array.prototype.forEach.call(cp.children,p=>keepSoft.add(p));endClose(tl[now],false);}if(capOn)greyOut();if(!tall&&tl[now]&&capOn)ghostOut(tl[now]);if(!tall&&tl[was]){if(capOn)closeOut(tl[was]);else plan=plan.concat(planFor(tl[was],\"sliver\",0));}runPlan(plan);keepSoft.clear();});mo.observe(gridEl,{attributes:true,attributeFilter:[\"data-mf-cwopen\"],attributeOldValue:true});}// arm 3: lines draw (CSS, keyed on cwpic), the pictures open up out of them in turn (Motion), then the type\nconst build3=()=>{stop3();root.setAttribute(\"data-mf-cwpic\",\"1\");// the whole strip opens (its grey backplate too) out of its keyline; -6px below keeps the line showing;\n// each track line draws from its centre first, 90ms apart\nguard(\"strips\",()=>{const out=[];tiles().forEach((t,k)=>{out.push(t.animate([{transform:\"scaleX(0)\"},{transform:\"scaleX(1)\"}],{pseudoElement:\"::before\",duration:700,easing:SWE,delay:k*90,fill:BK}));out.push(t.animate([{clipPath:\"inset(100% 0% -6px 0%)\"},{clipPath:\"inset(0% 0% -6px 0%)\"}],{duration:900,easing:SWE,delay:350+k*120,fill:BK}));});return out;});buildType(.5);};const reset3=()=>{stop3();unguard(\"strips\");root.removeAttribute(\"data-mf-cwpic\");for(const t of tiles())t.style.clipPath=\"\";hideType();};// the receding top: each target fades by one edge between two lines (0 at a, 1 at b); 1 clears the style\nconst faded=new Set;const lineFaded=new Set;const fade=(el,v,a,b)=>{if(!el)return;const e=el;const o=clamp((v-a)/(b-a),0,1);if(o>=1){if(faded.has(e)){e.style.opacity=\"\";faded.delete(e);}return;}e.style.opacity=o.toFixed(3);faded.add(e);};const mid=el=>{const r=el.getBoundingClientRect();return(r.top+r.bottom)/2;};const topFade=()=>{const pad=root.querySelector('#work [data-mf=\"sbody\"]>.mf-pad-x');// by the STRIPS\\' bottom edge, not the pad\\'s: the pad is sticky and parks its bottom at the nav line (68)\n// at About rest, which left the strips at 10% under the nav (a faint picture + a keyline, measured)\nif(pad){let sbot=-1e9;pad.querySelectorAll(\"a.mf-gtile\").forEach(t=>sbot=Math.max(sbot,t.getBoundingClientRect().bottom));fade(pad,sbot>-1e9?sbot:pad.getBoundingClientRect().bottom,NAV_H-20,NAV_H+180);}const kick=workHeaderRef.current;if(kick&&root.getAttribute(\"data-mf-hdw\")===\"1\"){const m=mid(kick);for(let i=0;i<kick.children.length;i++)fade(kick.children[i],m,36,74);}else if(kick){for(let i=0;i<kick.children.length;i++){const c=kick.children[i];if(faded.has(c)){c.style.opacity=\"\";faded.delete(c);}}}root.querySelectorAll(\"#work .mf-ccap\").forEach(c=>fade(c,mid(c),NAV_H-6,NAV_H+70));const ab=root.querySelector(\".mfc-root\");if(ab){const h=ab.querySelector(\".sd-head\");if(h)fade(h,mid(h),36,84);// the panel content LINE BY LINE, each by its own centre (one tall block faded by its top went to 0\n// while most of it was mid-screen: a blank screen on About -> Contact). filter: opacity() multiplies\n// with the About\\'s own opacity builds/holds instead of fighting them (its hidden stays hidden)\nconst pan=ab.querySelector(\".sd-panel.on .sd-in\");const pr=pan?pan.getBoundingClientRect():null;const live=new Set;if(pan&&pr&&pr.top<NAV_H+160){pan.querySelectorAll(\"*\").forEach(el=>{if(el.closest(\"svg\")&&el.tagName.toLowerCase()!==\"svg\")return;// a line = an svg, or an element carrying its OWN text (a craft line holds its number + icon\n// as children and its words as a text node, so \"no children\" missed it)\nconst ownText=Array.prototype.some.call(el.childNodes,n=>n.nodeType===3&&(n.textContent||\"\").trim()!==\"\");const leaf=el.tagName.toLowerCase()===\"svg\"||ownText;if(!leaf)return;const e=el;const o=clamp((mid(e)-(NAV_H-6))/76,0,1);if(o<1){e.style.filter=\"opacity(\"+o.toFixed(3)+\")\";lineFaded.add(e);live.add(e);}});}lineFaded.forEach(e=>{if(live.has(e))return;e.style.filter=\"\";lineFaded.delete(e);});const ft=ab.querySelector(\".sd-foot\");if(ft)fade(ft,mid(ft),NAV_H-6,NAV_H+70);}// (no Contact fade: it is the last screen and never passes under the nav - fading it by its top dimmed\n// it AT REST on 1366x768, where its block sits ~120px down)\n};// s226e: the arrival builds, every one resolving like the ride (MFC_WB_*)\nconst pics=()=>tiles().map(t=>t.querySelector(\"img.mf-tileimg\"));const inv=p=>p<.5?Math.cbrt(p/4):1-Math.cbrt(2*(1-p))/2;// s226f WIPE: one grey copy of each picture over it (the log look, static); only its mask moves\nconst greys=[];root.style.setProperty(\"--mf-cwgrey-f\",MFC_WB_GRADE_FROM);const addGreys=()=>{if(arm!==8||reduce)return;tiles().forEach(t=>{const im=t.querySelector(\"img.mf-tileimg:not(.mf-cwgrey)\");if(!im||t.querySelector(\"img.mf-cwgrey\"))return;const c=im.cloneNode(false);c.classList.add(\"mf-cwgrey\");c.setAttribute(\"alt\",\"\");c.setAttribute(\"aria-hidden\",\"true\");im.after(c);greys.push(c);});// the copies wear the wipe's START mask from the moment they exist (all grey - identical to no mask), so\n// the build only moves a mask that is already painted (cp14 first try: a one-off 42ms frame at the wipe's\n// start in Chrome at 2000x1550, the masked layers being set up on the build's first frame)\nconst row=rowOf();if(row)greys.forEach(c=>{const il=c.getBoundingClientRect().left;const m=wipeMask(row,il);c.style.maskImage=m.mi;c.style.maskSize=m.ms;c.style.maskRepeat=\"no-repeat\";c.style.maskPosition=m.x0+\"px 0px\";});};const wipeMask=(row,il)=>({mi:\"linear-gradient(90deg,transparent 0px,transparent \"+2*row.G+\"px,#000 \"+(2*row.G+row.FE)+\"px)\",ms:3*row.G+row.FE+\"px 100%\",x0:row.gr.left-il-row.FE-2*row.G,x1:row.gr.right-il-2*row.G});const dropGreys=()=>{while(greys.length){const c=greys.pop();if(c&&c.parentNode)c.parentNode.removeChild(c);}};let wipeTok=0;const rowOf=()=>{const t0=tiles()[0];const g=t0?t0.parentElement:null;if(!g)return null;const gr=g.getBoundingClientRect();const G=Math.max(1,gr.width);return{gr,G,FE:G*MFC_WIPE_FEATHER};};// s226g: on STACKED bands (one above the other) a band's rank from the top; side by side, 0\nconst bandRank=t=>{const tl=tiles();if(!t||tl.length<2)return 0;const r0=tl[0].getBoundingClientRect(),r1=tl[1].getBoundingClientRect();if(Math.abs(r0.left-r1.left)>2)return 0;const tops=tl.map(x=>x.getBoundingClientRect().top).sort((a,b)=>a-b);return Math.max(0,tops.indexOf(t.getBoundingClientRect().top));};// when a strip's credits start: FINISH / CREDITS by order; WIPE as the edge reaches the strip's middle\nconst credDelay=(t,k)=>{const row=arm===8?rowOf():null;if(row){const q=t.getBoundingClientRect();const p=clamp(((q.left+q.right)/2-row.gr.left+row.FE/2)/(row.G+row.FE),0,1);return(inv(p)*MFC_WB_PIC_MS+bandRank(t)*MFC_WIPE_STAGGER_MS)/1e3-.35;}return arm===7?k*.14-.15:k*.12-.35;};const buildArm=()=>{if(arm===8){// WIPE: one soft edge crosses the whole row; behind it the copies are clear (full colour), ahead of\n// it they are still there (grey). Each copy's mask is placed in the ROW's coordinates, so the open job\n// and the slivers read as one wipe. The copies go once it has crossed.\nconst row=rowOf();if(row){addGreys();root.setAttribute(\"data-mf-cwpic\",\"1\");guard(\"pics\",()=>{const out=[];greys.forEach(c=>{const m=wipeMask(row,c.getBoundingClientRect().left);out.push(c.animate([{maskImage:m.mi,maskSize:m.ms,maskRepeat:\"no-repeat\",maskPosition:m.x0+\"px 0px\"},{maskImage:m.mi,maskSize:m.ms,maskRepeat:\"no-repeat\",maskPosition:m.x1+\"px 0px\"}],{duration:MFC_WB_PIC_MS,easing:MFC_WB_EASE,delay:bandRank(c.parentElement)*MFC_WIPE_STAGGER_MS,fill:\"both\"}));});return out;});const tok=++wipeTok;window.setTimeout(()=>{if(tok===wipeTok&&built){unguard(\"pics\");dropGreys();}},MFC_WB_PIC_MS+120+Math.max(0,tiles().length-1)*MFC_WIPE_STAGGER_MS);}}if(arm===1){buildType(0,true);return;}if(arm===4){// GRADE: each picture grades out of the flat grey log look, left to right; then the type pulls in\nroot.setAttribute(\"data-mf-cwpic\",\"1\");guard(\"pics\",()=>{const out=[];pics().forEach((im,k)=>{if(im)out.push(im.animate([{filter:MFC_WB_GRADE_FROM},{filter:\"grayscale(0) contrast(1) brightness(1)\"}],{duration:MFC_WB_PIC_MS,easing:MFC_WB_EASE,delay:k*140,fill:BK}));});return out;});buildType(.55,true);return;}if(arm===5){// SWEEP: ONE soft edge travels across the whole row (each picture's mask is placed in the row's\n// coordinates, so the slivers and the open job read as one wipe); a title focuses as it passes\nconst tl=tiles();const g=tl[0]?tl[0].parentElement:null;if(!g)return;const gr=g.getBoundingClientRect();const G=Math.max(1,gr.width),FE=G*.22;root.setAttribute(\"data-mf-cwpic\",\"1\");guard(\"pics\",()=>{const out=[];tl.forEach(t=>{const im=t.querySelector(\"img.mf-tileimg\");if(!im)return;const il=im.getBoundingClientRect().left;const mi=\"linear-gradient(90deg,#000 0px,#000 \"+2*G+\"px,transparent \"+(2*G+FE)+\"px)\";const ms=3*G+FE+\"px 100%\";const x0=gr.left-il-FE-2*G,x1=gr.right-il-2*G;out.push(im.animate([{maskImage:mi,maskSize:ms,maskRepeat:\"no-repeat\",maskPosition:x0+\"px 0px\"},{maskImage:mi,maskSize:ms,maskRepeat:\"no-repeat\",maskPosition:x1+\"px 0px\"}],{duration:MFC_WB_PIC_MS,easing:MFC_WB_EASE,fill:BK}));});return out;});stopType();const ok=openNow();let plan=[];tl.forEach((t,k)=>{const q=t.getBoundingClientRect();const p=clamp(((q.left+q.right)/2-gr.left+FE/2)/(G+FE),0,1);plan=plan.concat(planFor(t,k===ok||window.matchMedia&&window.matchMedia(TALLQ).matches?\"open\":\"sliver\",inv(p)*MFC_WB_PIC_MS/1e3-.35+(k!==ok&&window.matchMedia&&window.matchMedia(TALLQ).matches?-.4:0)));});runPlan(plan,0,true);return;}if(arm===6||arm===7||arm===8){// CREDITS: pictures as they are; every caption line rises out of its own line (it is clipped to\n// where it rests while it travels up into it), strip by strip, line by line; no blur.\n// FINISH (7, his: \"combine the grade and credits\"): the GRADE move and the CREDITS move as one -\n// each strip grades out of the log look while its lines rise in, the lines starting as its grade\n// is under way, so the colour and the titles land together, left to right\nif(arm===7){root.setAttribute(\"data-mf-cwpic\",\"1\");guard(\"pics\",()=>{const out=[];pics().forEach((im,k)=>{if(im)out.push(im.animate([{filter:MFC_WB_GRADE_FROM},{filter:\"grayscale(0) contrast(1) brightness(1)\"}],{duration:MFC_WB_PIC_MS,easing:MFC_WB_EASE,delay:k*140,fill:BK}));});return out;});}stopType();const ok=openNow();let plan=[];tiles().forEach((t,k)=>plan=plan.concat(planFor(t,k===ok||window.matchMedia&&window.matchMedia(TALLQ).matches?\"open\":\"sliver\",credDelay(t,k)+(k!==ok&&window.matchMedia&&window.matchMedia(TALLQ).matches?-.4:0))));root.removeAttribute(\"data-mf-cwhide\");guard(\"credits\",()=>{const out=[];for(const[el,d,kind]of plan){const o={delay:Math.max(0,d)*1e3,fill:BK,easing:MFC_WB_EASE};if(kind===\"action\"){out.push(el.animate([{filter:\"opacity(0)\"},{filter:\"opacity(1)\"}],{...o,duration:MFC_WB_FADE_MS}));continue;}out.push(el.animate([{opacity:0},{opacity:1}],{...o,duration:MFC_WB_FADE_MS}));out.push(el.animate([{translate:\"0px 100%\",clipPath:\"inset(0% 0% 100% 0%)\"},{translate:\"0px 0px\",clipPath:\"inset(0% 0% 0% 0%)\"}],{...o,duration:MFC_WB_FOCUS_MS}));}return out;});}};const resetArm=()=>{wipeTok++;unguard(\"pics\");addGreys();unguard(\"credits\");root.removeAttribute(\"data-mf-cwpic\");hideType();};// THE HEADERS: one build for every section's header row (the About runs the same spec): when the row is on\n// screen its words rise and fade in, .12s apart, and its keyline draws from the left; reset only off screen\nconst wh0=workHeaderRef.current;if(wh0)wh0.setAttribute(\"data-mf-hd\",\"w\");const hdTick=(key,row,attr)=>{if(!row)return;if(reduce){root.setAttribute(attr,\"1\");return;}const r=row.getBoundingClientRect();const H=window.innerHeight;const had=root.getAttribute(attr)===\"1\";if(!had&&r.top<H-20&&r.bottom>NAV_H+20){const kids=Array.prototype.slice.call(row.children);const isLine=c=>c.tagName===\"I\"||c.tagName===\"DIV\"&&!(c.textContent||\"\").trim();const words=kids.filter(c=>!isLine(c));const lines=kids.filter(isLine);guard(\"hd\"+key,()=>{const out=[];words.forEach((w,i)=>out.push(w.animate([{opacity:0,translate:\"0px 12px\"},{opacity:1,translate:\"0px 0px\"}],{duration:MFC_HD_WORDS_MS,easing:MFC_WB_EASE,delay:i*MFC_HD_STAGGER_MS,fill:BK})));lines.forEach(l=>out.push(l.animate([{transform:\"scaleX(0)\"},{transform:\"scaleX(1)\"}],{duration:MFC_HD_LINE_MS,easing:MFC_WB_EASE,delay:MFC_HD_LINE_DELAY_MS,fill:BK})));return out;});root.setAttribute(attr,\"1\");}else if(had&&(r.top>=H-2||r.bottom<=NAV_H+2)){unguard(\"hd\"+key);root.removeAttribute(attr);}};// s226h: THE OPEN CAPTION, laid out once. The open strip is marked (data-mf-cwo) as soon as it is chosen; its\n// caption takes the open width (measured at rest: the open strip minus the caption's insets) and the strip\n// clips it while it slides open - its line breaks never change\nconst capOn=!!f.mfccapfix;// s226i: the dithered fades - the RECEDE top (its exact stops) and the lens nav (.62 -> 0, linear, its height)\nif(f.mfctopd){const lin=y=>{const st=MFC_TOP_STOPS;if(y<=st[0][1])return st[0][0];for(let i=1;i<st.length;i++)if(y<=st[i][1])return st[i-1][0]+(st[i][0]-st[i-1][0])*(y-st[i-1][1])/(st[i][1]-st[i-1][1]);return 0;};const navEl=root.querySelector('[data-mf=\"nav\"]');const nh=navEl?navEl.offsetHeight||NAV_H:NAV_H;const drawTops=()=>{const soft=!!f.mfctopsoft;const topH=soft?Math.max(180,Math.round(window.innerHeight*MFC_TOP_H_FRAC)):MFC_TOP_STOPS[MFC_TOP_STOPS.length-1][1];const ease=u=>.62*Math.pow(Math.max(0,1-u),MFC_TOP_POW);const top=mfcDitherTile(topH,soft?y=>ease(y/topH):lin);const nav=mfcDitherTile(nh,soft?y=>ease(y/nh):y=>.62*(1-y/nh));if(top&&nav){const ct=cTopRef.current;if(ct)ct.style.height=soft?topH+\"px\":\"\";root.style.setProperty(\"--mfc-dit-top\",top);root.style.setProperty(\"--mfc-dit-nav\",nav);root.setAttribute(\"data-mf-ctopd\",\"1\");}};drawTops();// s226l: redrawn on resize (the height follows the window); one listener per mount\nconst rz=root;if(rz.__mfcTopRz)window.removeEventListener(\"resize\",rz.__mfcTopRz);let topT=0;rz.__mfcTopRz=()=>{clearTimeout(topT);topT=window.setTimeout(drawTops,250);};window.addEventListener(\"resize\",rz.__mfcTopRz);}const closing=new Map;const endClose=(t,rebuild)=>{const c=closing.get(t);if(!c)return;closing.delete(t);window.clearTimeout(c.timer);const cp=t.querySelector(\".mf-ccap\");const parts=cp?Array.prototype.slice.call(cp.children):[];// across the layout switch the parts are held hidden (inline), so no frame shows the sliver at full\nif(rebuild)parts.forEach(p=>p.classList.contains(\"mf-gaction\")?p.style.filter=\"opacity(0)\":p.style.opacity=\"0\");for(const a of c.anims){try{a.cancel();}catch(e){}}t.removeAttribute(\"data-mf-cwc\");if(t!==tiles()[openNow()])t.removeAttribute(\"data-mf-cwo\");parts.forEach(p=>{p.style.opacity=\"\";if(p.classList.contains(\"mf-gaction\"))p.style.filter=\"\";});// the sliver title pulls into focus from 0 (runPlan writes its start pose inline before any paint)\nif(rebuild)runPlan(planFor(t,\"sliver\",0));};// POP 4: the sliver title, snapshot when the pointer enters its strip (before the hover intent flips it)\nlet snap=null;const ghosts=[];let snapRaf=0;let snapOver=null;const snapLoop=()=>{snapRaf=0;if(!snapOver||snapOver===tiles()[openNow()])return;takeSnap(snapOver);snapRaf=requestAnimationFrame(snapLoop);};const onOver=e=>{const tg=e.target;const t=tg&&tg.closest?tg.closest(\"a.mf-gtile\"):null;snapOver=t&&t!==tiles()[openNow()]?t:null;// s226i: no per-frame snapshot - the intent code calls __mfcBeforeOpen once, just before the flip\n};const takeSnap=t=>{const ti=t.querySelector('.mf-ccap>[data-mf-type=\"display\"]');if(!ti)return;const r=ti.getBoundingClientRect(),tr=t.getBoundingClientRect(),cs=getComputedStyle(ti);const fm=cs.filter.match(/opacity\\(([0-9.e+-]+)\\)/);// EXACT: every computed property (a dozen chosen ones left the ghost a few px off - padding, box metrics),\n// placed at the title\\'s LAYOUT box (offsets up to the strip), so its own transform + origin paint it the same\nlet css=\"\";for(let i=0;i<cs.length;i++){const p=cs[i];if(/^(position|left|top|right|bottom|inset|margin|animation|transition|opacity|filter|will-change|z-index|pointer-events|visibility)/.test(p))continue;css+=p+\":\"+cs.getPropertyValue(p)+\";\";}let lx=0,ly=0;for(let e=ti;e&&e!==t;e=e.offsetParent){lx+=e.offsetLeft;ly+=e.offsetTop;}void tr;snap={t,x:lx,y:ly,w:r.width,h:r.height,o:+cs.opacity*(fm?+fm[1]:1),css,html:ti.innerHTML};};const ghostOut=t=>{if(!snap||snap.t!==t||snap.o<.2||snap.w<2)return;const g=document.createElement(\"div\");g.setAttribute(\"aria-hidden\",\"true\");g.innerHTML=snap.html;g.style.cssText=snap.css+\"position:absolute;left:\"+snap.x+\"px;top:\"+snap.y+\"px;margin:0;pointer-events:none;z-index:4\";t.appendChild(g);ghosts.push(g);const a=g.animate([{opacity:snap.o},{opacity:0}],{duration:MFC_GHOST_MS,easing:MFC_WB_EASE,fill:\"forwards\"});const done=()=>{const i=ghosts.indexOf(g);if(i>=0)ghosts.splice(i,1);if(g.parentNode)g.parentNode.removeChild(g);};a.onfinish=done;a.oncancel=done;snap=null;};if(capOn&&gridEl)gridEl.addEventListener(\"pointerover\",onOver);if(capOn&&gridEl)gridEl.__mfcBeforeOpen=t=>takeSnap(t);// POP 5: a hover while the WIPE runs fades the grey copies out (their row-placed masks no longer fit)\nconst greyOut=()=>{if(!greys.length)return;wipeTok++;const gs=greys.slice();let left=gs.length;gs.forEach(c=>{const a=c.animate([{opacity:getComputedStyle(c).opacity},{opacity:0}],{duration:MFC_GREY_OUT_MS,easing:MFC_WB_EASE,fill:\"forwards\"});const done=()=>{if(--left>0)return;unguard(\"pics\");dropGreys();};a.onfinish=done;a.oncancel=done;});};const closeOut=t=>{if(closing.has(t))return;t.setAttribute(\"data-mf-cwc\",\"1\");const cp=t.querySelector(\".mf-ccap\");const parts=cp?Array.prototype.slice.call(cp.children):[];// the action line's opacity is pinned by an !important rule (its builds use filter: opacity() for that):\n// it fades the same way\nconst anims=parts.map(p=>p.classList.contains(\"mf-gaction\")?p.animate([{filter:\"opacity(1)\"},{filter:\"opacity(0)\"}],{duration:MFC_CLOSE_MS,easing:MFC_WB_EASE,fill:\"forwards\"}):p.animate([{opacity:getComputedStyle(p).opacity},{opacity:0}],{duration:MFC_CLOSE_MS,easing:MFC_WB_EASE,fill:\"forwards\"}));const timer=window.setTimeout(()=>endClose(t,true),MFC_CLOSE_MS);closing.set(t,{anims,timer});};const markOpen=()=>{const tl=tiles();const k=openNow();tl.forEach((t,i)=>{if(i===k)t.setAttribute(\"data-mf-cwo\",\"1\");else if(!t.hasAttribute(\"data-mf-cwc\"))t.removeAttribute(\"data-mf-cwo\");});};let capTimer=0;const capMeasure=()=>{window.clearTimeout(capTimer);const t=tiles()[openNow()];const g=t?t.parentElement:null;if(!t||!g)return;const w1=t.getBoundingClientRect().width;requestAnimationFrame(()=>{const w2=t.getBoundingClientRect().width;// still sliding: measure when it has come to rest\nif(Math.abs(w2-w1)>.5){capTimer=window.setTimeout(capMeasure,300);return;}// the caption's own insets, read with the fix off (same frame: no paint between)\nconst had=root.getAttribute(\"data-mf-capfix\")===\"1\";if(had)root.removeAttribute(\"data-mf-capfix\");const cap=t.querySelector(\".mf-ccap\");if(!cap)return;const tr=t.getBoundingClientRect(),cr=cap.getBoundingClientRect();g.style.setProperty(\"--mf-capw\",Math.max(0,cr.width)+\"px\");void tr;root.setAttribute(\"data-mf-capfix\",\"1\");});};let capMo=null;const capGrid=tiles()[0]?tiles()[0].parentElement:null;if(capOn&&capGrid){markOpen();capMeasure();if(typeof MutationObserver!==\"undefined\"){capMo=new MutationObserver(markOpen);capMo.observe(capGrid,{attributes:true,attributeFilter:[\"data-mf-cwopen\"]});}window.addEventListener(\"resize\",capMeasure);}addGreys();let raf=0;const frame=()=>{raf=0;if(f.mfctop)topFade();const H=window.innerHeight;// the Contact build: it starts as the block comes up into the screen (MFC_CC_AT of the way up - hidden\n// until it LANDED left 111 near-blank frames on the Mac between the About leaving and Contact arriving);\n// it resets only while the block is off screen, so every arrival builds\nconst cc=root.querySelector(\".mf-cc\");if(cc){const cr=cc.getBoundingClientRect();const had=root.getAttribute(\"data-mf-ccb\")===\"1\";if(reduce)root.setAttribute(\"data-mf-ccb\",\"1\");else if(!had&&cr.top<=H*MFC_CC_AT&&cr.bottom>NAV_H){// the build: the label rises as its keyline draws from the left; the headline pulls into focus;\n// the subline rises; the row rule draws across; the address, then EMAIL GAV / the place, rise\nguard(\"contact\",()=>{const out=[];const rise=(el,d)=>{if(el)out.push(el.animate([{opacity:0,transform:\"translateY(16px)\"},{opacity:1,transform:\"none\"}],{duration:700,easing:RISE,delay:d,fill:BK}));};// (s226e: the header row is the shared header build's - hdTick)\nconst h2=cc.querySelector(\".mf-cc-h\");if(h2){out.push(h2.animate([{opacity:0},{opacity:1}],{duration:715,easing:\"linear\",delay:350,fill:BK}));out.push(h2.animate([{filter:\"blur(22px)\",transform:\"scale(1.18)\"},{filter:\"blur(0px)\",transform:\"scale(1)\"}],{duration:1300,easing:SETE,delay:350,fill:BK}));}rise(cc.querySelector(\".mf-cc-p\"),700);const row=cc.querySelector(\".mf-cc-row\");if(row)out.push(row.animate([{transform:\"scaleX(0)\"},{transform:\"scaleX(1)\"}],{pseudoElement:\"::before\",duration:1200,easing:SWE,delay:800,fill:BK}));rise(cc.querySelector(\".mf-cc-mail\"),1050);rise(cc.querySelector(\".mf-cc-meta\"),1150);return out;});root.setAttribute(\"data-mf-ccb\",\"1\");}else if(had&&(cr.top>=H-2||cr.bottom<=NAV_H+2)){unguard(\"contact\");root.removeAttribute(\"data-mf-ccb\");}}hdTick(\"w\",workHeaderRef.current,\"data-mf-hdw\");hdTick(\"c\",root.querySelector(\".mf-cc-head\"),\"data-mf-hdc\");const wk=gridWrapRef.current;if(!wk)return;const r=wk.getBoundingClientRect();const arrived=r.top<=NAV_H+1&&r.bottom>=H-1;// the extent of the strips (the Work box runs past them: at About rest it still reached under the nav\n// while the strips were gone, so the type never re-hid and the return arrived as a fade snap)\nlet st=1e9,sb=-1e9;for(const t of tiles()){const q=t.getBoundingClientRect();st=Math.min(st,q.top);sb=Math.max(sb,q.bottom);}if(sb<st)return;// EITHER direction (his rule): v = how much of the screen under the nav Work fills; off screen = none of\n// it shows (at About rest Work's last ~45px sit under the nav, faded out - that counts as off)\nconst v=clamp((Math.min(sb,H)-Math.max(st,NAV_H))/Math.max(1,Math.min(sb-st,H-NAV_H)),0,1);const off=st>=H-2||sb<=NAV_H+2;if(arm===0||reduce){if(arm===0)setType(arrived);return;}if(arm===2){if(arrived&&!built){built=true;buildType(0);}else if(off&&built){built=false;hideType();}}if(arm===1||arm>=4){if(!built&&v>=MFC_WB_AT){built=true;buildArm();}else if(off&&built){built=false;resetArm();}}if(arm===2){// each whole strip (picture + its backplate) rises out of its keyline as Work fills the screen, from\n// below or from above; -6px keeps the line showing\ntiles().forEach((t,k)=>{const u=clamp((v-MFC_RISE_START-k*MFC_RISE_STEP)/MFC_RISE_SPAN,0,1);const a=u*u*(3-2*u);const cp=a>=1?\"\":\"inset(\"+((1-a)*100).toFixed(2)+\"% 0% -6px 0%)\";if(t.style.clipPath!==cp)t.style.clipPath=cp;});}if(arm===3){// starts while Work is still travelling in (a bare-line screen for the whole ride read as a blank\n// frame on the Mac: 77-83 near-uniform frames per arrival), so it is mostly built as it lands\nif(!built&&v>=MFC_LINES_AT){built=true;build3();}else if(built&&off){built=false;reset3();}}};const kickF=()=>{if(!raf)raf=requestAnimationFrame(frame);};frame();window.addEventListener(\"scroll\",kickF,{passive:true});window.addEventListener(\"resize\",kickF);// s226g: the page SETTLES after the last scroll event (hydration, fonts, Work's height): a reload on #about left\n// the receding top stale (Work's pad at .08-.83 under the nav). Layout changes, fonts, load and the first 1.5s\n// re-run it too.\nlet ro=null;if(typeof ResizeObserver!==\"undefined\"){ro=new ResizeObserver(kickF);ro.observe(root);}window.addEventListener(\"load\",kickF);try{document.fonts&&document.fonts.ready.then(kickF);}catch(e){}const settleEnd=performance.now()+1500;let settleRaf=0;const settle=()=>{kickF();if(performance.now()<settleEnd)settleRaf=requestAnimationFrame(settle);};settleRaf=requestAnimationFrame(settle);return()=>{window.removeEventListener(\"scroll\",kickF);window.removeEventListener(\"resize\",kickF);window.removeEventListener(\"load\",kickF);if(ro)ro.disconnect();cancelAnimationFrame(settleRaf);if(capMo)capMo.disconnect();root.removeAttribute(\"data-mf-ctopd\");root.style.removeProperty(\"--mfc-dit-top\");root.style.removeProperty(\"--mfc-dit-nav\");closing.forEach((c,t)=>endClose(t,false));if(gridEl)gridEl.removeEventListener(\"pointerover\",onOver);if(gridEl)delete gridEl.__mfcBeforeOpen;cancelAnimationFrame(snapRaf);ghosts.slice().forEach(g=>g.parentNode&&g.parentNode.removeChild(g));window.removeEventListener(\"resize\",capMeasure);window.clearTimeout(capTimer);root.removeAttribute(\"data-mf-capfix\");tiles().forEach(t=>t.removeAttribute(\"data-mf-cwo\"));if(capGrid)capGrid.style.removeProperty(\"--mf-capw\");cancelAnimationFrame(raf);stop3();stopType();unguard(\"strips\");unguard(\"contact\");unguard(\"pics\");unguard(\"credits\");wipeTok++;dropGreys();root.style.removeProperty(\"--mf-cwgrey-f\");unguard(\"hdw\");unguard(\"hdc\");root.removeAttribute(\"data-mf-hdw\");root.removeAttribute(\"data-mf-hdc\");if(wh0)wh0.removeAttribute(\"data-mf-hd\");if(mo)mo.disconnect();faded.forEach(e=>e.style.opacity=\"\");lineFaded.forEach(e=>e.style.filter=\"\");for(const t of tiles()){t.style.clipPath=\"\";t.style.removeProperty(\"--mfcw-k\");}root.removeAttribute(\"data-mf-cwb\");root.removeAttribute(\"data-mf-ccw\");root.removeAttribute(\"data-mf-ccb\");root.removeAttribute(\"data-mf-cwpic\");root.removeAttribute(\"data-mf-cwtype\");root.removeAttribute(\"data-mf-cwhide\");};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[mode,colourPages]);clandCbRef.current={openReel};const clandOn=mode===\"colour\"&&!colourPages&&layoutW>HEADLINE_DESKTOP_MIN&&mfFlagsRef.current.mfclens&&mfFlagsRef.current.mfclanding&&colourHeroProjects.length>=2;useEffect(()=>{const root=rootRef.current;if(!clandOn||typeof window===\"undefined\"){root?.removeAttribute(\"data-mf-clanding\");return;}if(RenderTarget.current()===RenderTarget.canvas)return;const el=clandRef.current;if(!el||!root)return;root.setAttribute(\"data-mf-clanding\",\"1\");clandScope.current=el;let inView=true;let io=null;if(typeof IntersectionObserver!==\"undefined\"){io=new IntersectionObserver(es=>{inView=es[es.length-1].isIntersecting;});io.observe(el);}const films=colourHeroProjects.map((p,i)=>({src:p.thumbnail.src,title:p.title||\"\",pos:colourHeroFocal[i],line:[p.category,p.year,(p.workTypes||[]).join(\", \")].filter(Boolean).join(\" \\xb7 \").toUpperCase()}));// round 3: the type builds in on the FIRST mount only (a resize remount must not replay it)\nlet first=true;const mount=()=>{if(clandInstRef.current)clandInstRef.current.destroy();clandInstRef.current=null;try{clandInstRef.current=mountColourLanding(el,{films,runTime:colourReelDuration,onPlay:()=>clandCbRef.current.openReel(),isPaused:()=>overlayActiveRef.current||!inView,entrance:first,fm:{animate:clandAnimate,scroll:mfScroll}});}catch(err){console.error(\"MF colour landing: mount failed\",err);}const hero=headerElRef.current;if(hero){if(clandInstRef.current)hero.removeAttribute(\"data-mf-clanding-fail\");else hero.setAttribute(\"data-mf-clanding-fail\",\"1\");}first=false;};mount();let rt=0,lw=el.clientWidth,lh=el.clientHeight;const onResize=()=>{window.clearTimeout(rt);rt=window.setTimeout(()=>{if(el.clientWidth===lw&&el.clientHeight===lh)return;lw=el.clientWidth;lh=el.clientHeight;mount();},150);};window.addEventListener(\"resize\",onResize);return()=>{window.removeEventListener(\"resize\",onResize);window.clearTimeout(rt);if(io)io.disconnect();if(clandInstRef.current)clandInstRef.current.destroy();clandInstRef.current=null;root.removeAttribute(\"data-mf-clanding\");};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[clandOn,colourHeroProjects,colourReelDuration]);const[colourHeroIndex,setColourHeroIndex]=useState(0);const colourEpochRef=useRef([]);const[motionHeroIndex,setMotionHeroIndex]=useState(0);const[motionHeroPhase,setMotionHeroPhase]=useState(\"pan\");useEffect(()=>{if(colourHeroImgs.length<2)return;const id=setInterval(()=>{// Don't advance (and remount) hero images while a lightbox is open —\n// each tick is a React state update under the modal.\nif(overlayActiveRef.current)return;setColourHeroIndex(i=>{const next=(i+1)%colourHeroImgs.length;colourEpochRef.current[next]=(colourEpochRef.current[next]||0)+1;return next;});},6e3);return()=>clearInterval(id);},[colourHeroImgs.length]);const motionNextIndex=motionHeroImgs.length?(motionHeroIndex+1)%motionHeroImgs.length:0;const motionCurrentSrc=motionHeroImgs[motionHeroIndex]?.src||\"\";const motionNextSrc=motionHeroImgs[motionNextIndex]?.src||\"\";const motionHeroAltFor=idx=>{const proj=motionHeroProjects[idx];const img=motionHeroImgs[idx];return img?.alt||(proj?.studioName||proj?.brandName?`Work for ${proj?.studioName||proj?.brandName} — Mind Factory motion production`:\"Mind Factory motion production still\");};const motionCurrentAlt=motionHeroAltFor(motionHeroIndex);const motionNextAlt=motionHeroAltFor(motionNextIndex);const swishStripRef=useRef(null);const swishBlurRef=useRef(null);const motionNextIndexRef=useRef(motionNextIndex);motionNextIndexRef.current=motionNextIndex;const onMotionPanEnd=e=>{// Only the pan phase should arm a swish; ignore stray animationend after handoff.\nif(motionHeroPhase!==\"pan\")return;if(motionHeroImgs.length<=1)return;// Freeze the pan-end pose on the element before React re-renders into swish.\n// Clearing animation without this snaps A back to identity for a frame.\nconst el=e.currentTarget;el.style.animation=\"none\";el.style.transform=\"scale(1.08) translate(-2.4%, 0)\";setMotionHeroPhase(\"swish\");};// Keep the filmstrip mounted across pan→swish so image B never remount-pops.\n// Slow pan lives on image A only (CSS keyframe). Swish translates the strip 0→50%.\n// Slot overflow:hidden clips each image's scale(1.08) so B can't bleed into the viewport during pan.\n// useLayoutEffect: when swish ends, snap strip to 0 only AFTER React has committed\n// the advanced index (new A = old B), so we never paint old A at strip-0.\nuseLayoutEffect(()=>{if(motionHeroPhase===\"swish\")return;if(swishStripRef.current)swishStripRef.current.style.transform=\"translateX(0%)\";if(swishBlurRef.current)swishBlurRef.current.setAttribute(\"stdDeviation\",\"0 0\");},[motionHeroPhase,motionHeroIndex]);useEffect(()=>{if(motionHeroPhase!==\"swish\")return;const duration=650;const startPct=0;const endPct=50;const maxBlur=28;// Asymmetric trapezoid: snappy ease-in (was sticky at 20% from rest after a linear pan),\n// held cruise, mirrored-shape ease-out. Cosine ramps both ends; vmax from unit-distance.\nconst tIn=.18;const tOut=.32;const vmax=1/(1-tIn/2-tOut/2);const posVel=t=>{if(t<=0)return{pos:0,vel:0};if(t>=1)return{pos:1,vel:0};if(t<tIn){const u=t/tIn;const vel=vmax*(1-Math.cos(Math.PI*u))/2;const pos=vmax/2*(t-tIn/Math.PI*Math.sin(Math.PI*u));return{pos,vel};}if(t<=1-tOut){const posAtIn=vmax*tIn/2;return{pos:posAtIn+vmax*(t-tIn),vel:vmax};}const remain=1-t;const u=remain/tOut;const vel=vmax*(1-Math.cos(Math.PI*u))/2;const remainDist=vmax/2*(remain-tOut/Math.PI*Math.sin(Math.PI*u));return{pos:1-remainDist,vel};};const apply=t=>{const{pos,vel}=posVel(t);const pct=startPct+(endPct-startPct)*pos;if(swishStripRef.current){swishStripRef.current.style.transform=`translateX(-${pct}%)`;}// Motion blur is desktop/tablet only — skip on phone (perf + cleaner swish).\nif(swishBlurRef.current){const blurOn=layoutWRef.current>HEADLINE_PHONE_MAX;swishBlurRef.current.setAttribute(\"stdDeviation\",blurOn?`${(vel/vmax*maxBlur).toFixed(2)} 0`:\"0 0\");}};// Paint frame 0 immediately so the first visible swish frame isn't a stale mount pose.\napply(0);const start=performance.now();let raf=0;const loop=now=>{const t=Math.min(1,(now-start)/duration);apply(t);if(t<1){raf=requestAnimationFrame(loop);}else{// Advance index first while the strip is still at -50% (showing B).\n// Resetting the strip to 0% here — before React swaps A/B — paints one\n// frame of the previous image. React's pan-phase style + the images\n// update together on the next commit (useLayoutEffect clears blur/strip).\n// Do NOT snap the strip to 0 here — that paints one frame of old A.\n// Advance index while still at -50% (showing B); useLayoutEffect + the\n// pan-phase style pin the strip to 0 only after React commits new A = old B.\nsetMotionHeroIndex(motionNextIndexRef.current);setMotionHeroPhase(\"pan\");}};raf=requestAnimationFrame(loop);return()=>cancelAnimationFrame(raf);},[motionHeroPhase]);const colourHeroSrc=colourHeroImgs[colourHeroIndex]?.src||\"\";const glitchHeroSrc=mode===\"motion\"?motionCurrentSrc:colourHeroSrc;// Preload AND decode the opposite signal's hero image. The glitch layer's\n// <img> src flips in the same React batch as the signal switch, so without\n// a decoded bitmap ready Chrome paints the switch first and the glitch\n// content arrives a beat later — reading as \"it switches, then glitches\".\n// Firefox decodes fast enough to mask it. decode() warms the decoded\n// bitmap, not merely the network cache, which is the part that matters.\nuseEffect(()=>{const next=mode===\"motion\"?colourHeroSrc:motionCurrentSrc;if(!next)return;const img=new Image;img.src=next;const p=img.decode?.();if(p)p.catch(()=>{});},[mode,colourHeroSrc,motionCurrentSrc]);const nowShowingColour=colourHeroProjects[colourHeroIndex];const nowShowingMotion=motionHeroProjects[motionHeroIndex];const nowShowing=mode===\"motion\"?nowShowingMotion:nowShowingColour;const nowShowingTitle=mode===\"motion\"?nowShowingMotion?.studioName||\"UNDISCLOSED STUDIO\":nowShowingColour?.title||\"\";const nowShowingTag=nowShowing?formatMeta(nowShowing.category,nowShowing.year,nowShowing.workTypes):\"\";const[nowShowingDisplay,setNowShowingDisplay]=useState({title:nowShowingTitle,tag:nowShowingTag});const[nowShowingVisible,setNowShowingVisible]=useState(true);const nowShowingKeyRef=useRef(`${mode}|${nowShowingTitle}|${nowShowingTag}`);useEffect(()=>{const key=`${mode}|${nowShowingTitle}|${nowShowingTag}`;if(key===nowShowingKeyRef.current)return;nowShowingKeyRef.current=key;setNowShowingVisible(false);const t=setTimeout(()=>{setNowShowingDisplay({title:nowShowingTitle,tag:nowShowingTag});setNowShowingVisible(true);},400);return()=>clearTimeout(t);},[mode,nowShowingTitle,nowShowingTag]);const cbxOpen=!!cbx;const cbxShot=cbx?cbx.stills[cbxIndex]:undefined;const cbxHasRealBefore=!!cbxShot?.before?.src;const cbxBeforeSrc=cbxHasRealBefore?cbxShot.before.src:cbxShot?.after?.src||\"\";const cbxBeforeSrcSet=cbxHasRealBefore?cbxShot.before.srcSet:cbxShot?.after?.srcSet;const cbxAfterSrc=cbxShot?.after?.src||\"\";const cbxAfterSrcSet=cbxShot?.after?.srcSet;const cbxThumbs=cbx?cbx.stills:[];const slideFromShot=cbx&&cbxSlide?cbx.stills[cbxSlide.from]:undefined;const slideToShot=cbx&&cbxSlide?cbx.stills[cbxSlide.to]:undefined;const slideFromAfter=slideFromShot?.after?.src||\"\";const slideToAfter=slideToShot?.after?.src||\"\";// Keep the always-on page loops in sync with modal state.\noverlayActiveRef.current=cbxOpen||reelOpen;useEffect(()=>{const active=cbxOpen||reelOpen;overlayActiveRef.current=active;// Lock page scroll + mark root so CSS can pause hero keyframes under the modal.\ntry{if(active)document.documentElement.style.overflow=\"hidden\";else if(stackModeRef.current)document.documentElement.style.overflow=\"hidden\";else document.documentElement.style.overflow=\"\";}catch(_){}const root=rootRef.current;if(root){if(active)root.setAttribute(\"data-mf-overlay\",\"1\");else root.removeAttribute(\"data-mf-overlay\");}return()=>{try{document.documentElement.style.overflow=stackModeRef.current?\"hidden\":\"\";}catch(_){}if(root)root.removeAttribute(\"data-mf-overlay\");};},[cbxOpen,reelOpen]);// Preload + warm-decode every shot's before/after (at the display-sized\n// srcSet variant) the moment the lightbox opens, so the first before-plate\n// paint and thumbnail-strip shot switches are instant instead of fetching\n// a full-res original on demand.\nuseEffect(()=>{if(!cbx)return;const warm=img=>{if(!img?.src)return;const im=new Image;im.sizes=CBX_SIZES;if(img.srcSet)im.srcset=img.srcSet;im.decoding=\"async\";im.src=img.src;// decode() warms the raster so the first clip-path paint isn't a hitch\nif(im.decode)im.decode().catch(()=>{});};cbx.stills.forEach(s=>{warm(s.before);warm(s.after);});},[cbx]);function stopTileVideo(i){if(videoIntentTimerRef.current!==null){window.clearTimeout(videoIntentTimerRef.current);videoIntentTimerRef.current=null;}if(videoReadyTimerRef.current!==null){window.clearTimeout(videoReadyTimerRef.current);videoReadyTimerRef.current=null;}// s50: kill progress rAF + clear bar width (inline, not React state).\ncancelAnimationFrame(tileProgressRafRef.current);tileProgressRafRef.current=0;const bar=tileProgressRefs.current[i];if(bar)bar.style.width=\"\";const el=videoRefs.current[i];if(el){el.pause();try{el.currentTime=0;}catch{}el.removeAttribute(\"src\");el.load();}setPlayingVideo(cur=>cur===i?null:cur);if(activeVideoRef.current===i)activeVideoRef.current=null;const tile=tileRefs.current[i];if(tile&&tile.getAttribute(\"data-playing\")===\"1\")tile.removeAttribute(\"data-playing\");}function startTileVideo(i){const src=filtered[i]?.loopVideo;// No mouse gate here: both entry paths are already authorised — the\n// pointer-enter handler checks pointerType === \"mouse\", and the click\n// handler is itself a user gesture (and is how touch plays).\n// stackMode parks the work grid as a position:fixed screen; the\n// document-scroll pack never hits 0.995, so motionPackDoneRef stays\n// false. Auto-scroll is a desktop document-ride and cannot arm here\n// — skip both gates so neither can silently eat a tap.\nconst stack=stackModeRef.current;if(window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches||RenderTarget.current()===RenderTarget.canvas||!src||videoFailedRef.current[i]||!videoConnectionAllowed()||!stack&&autoScrollActive.current||!stack&&!motionPackDoneRef.current)return;if(activeVideoRef.current!==null&&activeVideoRef.current!==i){stopTileVideo(activeVideoRef.current);}if(videoIntentTimerRef.current!==null){window.clearTimeout(videoIntentTimerRef.current);videoIntentTimerRef.current=null;}if(videoReadyTimerRef.current!==null){window.clearTimeout(videoReadyTimerRef.current);videoReadyTimerRef.current=null;}const el=videoRefs.current[i];if(!el)return;// Autoplay policy: a hover is NOT a user gesture, so the browser only\n// permits play() on a genuinely muted element. React sets `muted` as a\n// DOM property and it is not reliably reflected before play() is\n// called — the classic symptom is play() rejecting NotAllowedError and,\n// because the rejection is caught, absolutely nothing happening. Force\n// it imperatively here; the JSX attributes stay as belt and braces.\nel.muted=true;el.defaultMuted=true;el.playsInline=true;el.src=src;el.load();activeVideoRef.current=i;const tile=tileRefs.current[i];if(tile)tile.setAttribute(\"data-playing\",\"1\");videoReadyTimerRef.current=window.setTimeout(()=>{videoReadyTimerRef.current=null;if(activeVideoRef.current!==i||!el.paused)return;videoFailedRef.current[i]=true;stopTileVideo(i);},VIDEO_READY_TIMEOUT_MS);videoIntentTimerRef.current=window.setTimeout(()=>{videoIntentTimerRef.current=null;el.play().then(()=>{if(activeVideoRef.current===i){setPlayingVideo(i);// s50: progress bar rAF only while playing — read\n// currentTime/duration, write width on the bar ref.\ncancelAnimationFrame(tileProgressRafRef.current);const tick=()=>{if(activeVideoRef.current!==i)return;const bar=tileProgressRefs.current[i];const vid=videoRefs.current[i];if(bar&&vid){const d=vid.duration;bar.style.width=Number.isFinite(d)&&d>0?`${vid.currentTime/d*100}%`:\"0\";}tileProgressRafRef.current=requestAnimationFrame(tick);};tileProgressRafRef.current=requestAnimationFrame(tick);}}).catch(err=>{// Routine: an src swap or pause interrupts a pending play.\n// NotAllowedError is a session-wide autoplay-policy refusal\n// (e.g. Firefox \"Block Audio and Video\"), not a per-tile\n// failure — flip the flag so later tiles go click-to-play.\nif(err&&err.name===\"NotAllowedError\"){autoplayBlockedRef.current=true;setAutoplayBlocked(true);}stopTileVideo(i);});},VIDEO_HOVER_INTENT_MS);}// Abort any in-flight clip and drop pending timers on unmount.\nuseEffect(()=>{return()=>{if(videoIntentTimerRef.current!==null){window.clearTimeout(videoIntentTimerRef.current);videoIntentTimerRef.current=null;}if(videoReadyTimerRef.current!==null){window.clearTimeout(videoReadyTimerRef.current);videoReadyTimerRef.current=null;}const i=activeVideoRef.current;if(i!==null)stopTileVideo(i);};},[]);const projectsForRender=filtered.map((p,i)=>({...p,badge:p.signal===\"colour\"?(p.shots?.length||1)+\" STILLS \\xb7 BEFORE/AFTER\":undefined,action:p.signal===\"colour\"?\"OPEN BEFORE / AFTER →\":undefined,onClick:p.signal===\"colour\"?e=>{e.preventDefault();openCompare(p,e.currentTarget);}:undefined}));return /*#__PURE__*/_jsxs(\"div\",{ref:rootRef,className:\"mf-v2\",\"data-mf-root\":true,\"data-mf-mode\":mode,\"data-mf-stack\":stackMode?\"1\":undefined,\"data-mf-cpages\":colourPages?\"1\":undefined,\"data-mf-cph\":phNew?phWork?\"1\":\"w0\":undefined,\"data-mf-wall\":colourWall?\"1\":undefined,\"data-mf-sframe\":siteFrame?\"1\":undefined,\"data-mf-landing\":landingOn?\"1\":undefined,\"data-mf-max-1024\":layoutW<=HEADLINE_DESKTOP_MIN?\"1\":undefined,\"data-mf-hl-tablet\":layoutW>HEADLINE_PHONE_MAX&&layoutW<=HEADLINE_DESKTOP_MIN?\"1\":undefined,\"data-mf-max-900\":layoutW<=900?\"1\":undefined,\"data-mf-max-860\":layoutW<=860?\"1\":undefined,\"data-mf-max-820\":layoutW<=820?\"1\":undefined,\"data-mf-max-700\":layoutW<=700?\"1\":undefined,\"data-mf-max-680\":layoutW<=HEADLINE_PHONE_MAX?\"1\":undefined,\"data-mf-max-390\":layoutW<=HEADLINE_PHONE_SM_MAX?\"1\":undefined,\"data-mf-max-560\":layoutW<=560?\"1\":undefined,\"data-mf-max-520\":layoutW<=520?\"1\":undefined,style:{background:\"#07080c\",color:\"#e8eaf0\",fontFamily:\"var(--sans)\",minHeight:\"100vh\",overflowX:\"clip\",position:\"relative\"},children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`\n        @import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&family=Schibsted+Grotesk:wght@400;500;600;700&display=swap');\n        ${MF_HEAD_CSS}\n        *{box-sizing:border-box}\n        html{scroll-behavior:smooth}\n        /* s97: the document's BASE background, and it was WHITE.\n           Measured on production: html had no background at all and body\n           was rgb(255,255,255), as is Framer's own page wrapper under our\n           root - the dark came ONLY from .mf-v2. When a fast scroll\n           outruns rasterisation the compositor fills the\n           un-painted region with that base colour. That is Gav's \"the\n           background breaks and we see it replaced with white\", and it is\n           in BOTH browsers because it is not a WebKit quirk - it is the\n           canvas colour resolving to white.\n           Setting it on html AND body is deliberate: a background on html\n           wins the canvas outright, and body's is only propagated up when\n           html has none, so declaring both leaves nothing to resolve.\n           NOT signal-conditional: .mf-v2 hardcodes #07080c for Colour and\n           Motion alike, so one value is correct for both.\n           !! s98: the example this rule was originally written against - a\n           stack tap firing a ~470ms animated scroll across 5000px - IS\n           GONE. Those jumps are behavior:\"instant\" now (see\n           scrollToMobileSection) and paint no intermediate frames at all.\n           The rule STAYS and is still doing real work: a fast THUMB FLICK\n           outruns rasterisation exactly the same way, and an instant jump\n           can still paint one un-rastered frame at the far end. s98\n           removed one CAUSE; this removes the CONSEQUENCE. Do not read the\n           nav wipe as making this redundant.\n           This also kills the white flash when rubber-banding past the\n           top or bottom of the page. */\n        html,body{background:#07080c}\n        ::selection{background:#e7dcc4;color:#1a1206}\n        @keyframes mf-grain{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-2%)}60%{transform:translate(-2%,4%)}80%{transform:translate(4%,2%)}100%{transform:translate(0,0)}}\n        @keyframes mf-hero-colour-push{0%{transform:scale(1)}100%{transform:scale(1.06)}}\n        @keyframes mf-hero-pan{0%{transform:scale(1.08) translate(0,0)}100%{transform:scale(1.08) translate(-2.4%,0)}}\n        @keyframes mf-glitch-shake-a{0%,100%{transform:translate(0,0)}8%{transform:translate(-11px,3px)}14%{transform:translate(7px,-5px)}22%{transform:translate(-13px,2px)}30%{transform:translate(9px,-3px)}38%{transform:translate(-6px,4px)}46%{transform:translate(12px,-2px)}54%{transform:translate(-8px,3px)}62%{transform:translate(5px,-4px)}70%{transform:translate(-10px,1px)}78%{transform:translate(6px,3px)}86%{transform:translate(-4px,-2px)}94%{transform:translate(3px,0)}}\n        @keyframes mf-glitch-shake-b{0%,100%{transform:translate(0,0)}8%{transform:translate(11px,-3px)}14%{transform:translate(-8px,5px)}22%{transform:translate(13px,-2px)}30%{transform:translate(-9px,3px)}38%{transform:translate(6px,-4px)}46%{transform:translate(-12px,2px)}54%{transform:translate(8px,-3px)}62%{transform:translate(-5px,4px)}70%{transform:translate(10px,-1px)}78%{transform:translate(-6px,-3px)}86%{transform:translate(4px,2px)}94%{transform:translate(-3px,0)}}\n        @keyframes mf-glitch-tear{0%,100%{clip-path:inset(0 0 0 0);transform:translateX(0)}6%{clip-path:inset(4% 0 88% 0);transform:translateX(-20px)}11%{clip-path:inset(22% 0 66% 0);transform:translateX(16px)}17%{clip-path:inset(48% 0 40% 0);transform:translateX(-14px)}24%{clip-path:inset(9% 0 82% 0);transform:translateX(10px)}31%{clip-path:inset(66% 0 18% 0);transform:translateX(-18px)}39%{clip-path:inset(30% 0 55% 0);transform:translateX(12px)}47%{clip-path:inset(78% 0 8% 0);transform:translateX(-10px)}55%{clip-path:inset(15% 0 70% 0);transform:translateX(16px)}63%{clip-path:inset(58% 0 28% 0);transform:translateX(-8px)}71%{clip-path:inset(3% 0 90% 0);transform:translateX(14px)}80%{clip-path:inset(40% 0 45% 0);transform:translateX(-6px)}90%{clip-path:inset(0 0 0 0);transform:translateX(0)}}\n        @keyframes mf-glitch-flash{0%,100%{opacity:0}6%,16%{opacity:.5}11%,22%{opacity:0}38%{opacity:.35}44%{opacity:0}70%{opacity:.25}76%{opacity:0}}\n        @keyframes mf-glitch-block-a{0%,100%{opacity:0}5%{opacity:1;transform:translate(-24px,0)}9%{opacity:0}19%{opacity:1;transform:translate(18px,0)}24%{opacity:0}41%{opacity:1;transform:translate(-14px,0)}46%{opacity:0}64%{opacity:1;transform:translate(20px,0)}69%{opacity:0}82%{opacity:1;transform:translate(-10px,0)}87%{opacity:0}}\n        @keyframes mf-glitch-block-b{0%,100%{opacity:0}8%{opacity:1;transform:translate(22px,0)}13%{opacity:0}33%{opacity:1;transform:translate(-18px,0)}38%{opacity:0}56%{opacity:1;transform:translate(16px,0)}61%{opacity:0}77%{opacity:1;transform:translate(-22px,0)}83%{opacity:0}}\n        @keyframes mf-glitch-scan{0%,100%{opacity:0}4%{opacity:.5}8%{opacity:0}15%{opacity:.4}19%{opacity:0}27%{opacity:.5}31%{opacity:0}43%{opacity:.35}47%{opacity:0}59%{opacity:.45}63%{opacity:0}72%{opacity:.3}76%{opacity:0}88%{opacity:.4}92%{opacity:0}}\n        @keyframes mf-rec{0%,100%{opacity:1}50%{opacity:.25}}\n        @keyframes mf-wipe-in{from{transform:translateY(100%)}to{transform:translateY(0)}}\n        @keyframes mf-wipe-out{from{transform:translateY(0)}to{transform:translateY(-100%)}}\n        @keyframes mf-row-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}\n        .mf-v2 .mf-link{transition:color .3s,opacity .3s}\n        .mf-v2 .mf-link:hover{opacity:.62}\n        /* s219: the nav item of the section the visitor rests on is lit (his) - data-mf-at is written with the address */\n        /* s220: hover and the on state are ONE language (his: \"better cohesion\") - the drop-down rows' own: the label\n           brightens to ink, a 1px accent underline draws in from the left (cyan glow on Motion); hover draws it, the\n           current section holds it. No dimming. */\n        .mf-v2 [data-mf-navlink]{position:relative}\n        .mf-v2 [data-mf-navlink]:hover{opacity:1}\n        .mf-v2 [data-mf-navlink]::after{content:\"\";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--mf-acc);transform:scaleX(0);transform-origin:0 50%;transition:transform .2s cubic-bezier(.2,.7,.2,1);pointer-events:none}\n        .mf-v2[data-mf-mode=\"motion\"] [data-mf-navlink]::after{box-shadow:0 0 8px rgba(0,213,240,.6)}\n        .mf-v2 [data-mf-navlink]:hover,.mf-v2 [data-mf-navlink]:focus-visible,.mf-v2[data-mf-at=\"work\"] [data-mf-navlink=\"work\"],.mf-v2[data-mf-at=\"about\"] [data-mf-navlink=\"about\"],.mf-v2[data-mf-at=\"contact\"] [data-mf-navlink=\"contact\"]{color:#e8eaf0!important;opacity:1}\n        .mf-v2 [data-mf-navlink]:hover::after,.mf-v2 [data-mf-navlink]:focus-visible::after,.mf-v2[data-mf-at=\"work\"] [data-mf-navlink=\"work\"]::after,.mf-v2[data-mf-at=\"about\"] [data-mf-navlink=\"about\"]::after,.mf-v2[data-mf-at=\"contact\"] [data-mf-navlink=\"contact\"]::after{transform:scaleX(1)}\n        .mf-v2 .mf-gtile .mf-tileimg{filter:none}\n        .mf-v2[data-mf-mode=\"motion\"] .mf-gtile .mf-tileimg{filter:saturate(.5) contrast(1.08) brightness(.82) hue-rotate(-8deg)}\n        /* NO z-index here, deliberately. The scrim, credit name and hover caption are\n   all position:absolute with z-index:auto, so a positioned z-index:1 on the\n   video would paint ABOVE them regardless of DOM order. Left at auto, plain\n   DOM order applies: img, then video, then scrim/name/caption on top. */\n        .mf-v2 .mf-tilevid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;pointer-events:none;transition:opacity .45s ease,filter .6s ease}\n        .mf-v2 .mf-tilevid[data-mf-vidplaying=\"1\"]{opacity:1}\n        .mf-v2[data-mf-mode=\"motion\"] .mf-tilevid{filter:saturate(.5) contrast(1.08) brightness(.82) hue-rotate(-8deg)}\n        /* Motion-phone deck: lift the resting Motion tint. Phones have no\n           hover, so the desktop saturate(.5)/brightness(.82) would sit on\n           every still permanently. Identical values on still AND clip so\n           playback does not darken the tile. Playing still clears to\n           filter:none via data-mf-tileplaying (unchanged, higher\n           specificity). Recede darkening is the per-frame scrim opacity,\n           not a filter. */\n        .mf-v2 [data-mf-deck=\"1\"] .mf-gtile .mf-tileimg{filter:saturate(${MOBILE_TILE_SATURATE}) contrast(1.08) brightness(${MOBILE_TILE_BRIGHTNESS}) hue-rotate(-8deg)}\n        .mf-v2 [data-mf-deck=\"1\"] .mf-tilevid{filter:saturate(${MOBILE_TILE_SATURATE}) contrast(1.08) brightness(${MOBILE_TILE_BRIGHTNESS}) hue-rotate(-8deg)}\n        /* Non-interactive playback readout. z7: above video (no z-index) and\n           glitch chrome, below playmark/playcta (z8). pointer-events none —\n           decorative only. Same vidplaying opacity hook as the video. */\n        .mf-v2 .mf-tile-progress{position:absolute;left:0;bottom:0;height:${TILEVID_PROGRESS_PX}px;width:0;background:var(--mf-acc);z-index:7;pointer-events:none;opacity:0;transition:opacity .45s ease}\n        .mf-v2 .mf-tile-progress[data-mf-vidplaying=\"1\"]{opacity:1}\n        .mf-v2 .mf-gtile .mf-gaction{opacity:.6;transition:opacity .35s,transform .45s cubic-bezier(.2,.6,.2,1);transform:translateX(0)}\n        /* Transform is rAF-driven for reveal + HUD glitch — do NOT transition it\n           on the base tile (that fought the boot). Hover scale transitions only. */\n        .mf-v2 .mf-credit-tile{transition:box-shadow .55s cubic-bezier(.2,.6,.2,1);will-change:transform,filter,opacity;cursor:default}\n        /* opacity 0 holds the first paint (React no longer sets it on deck\n           tiles — a re-render would clobber the driver). Inline rAF opacity\n           wins once the loop starts. will-change:auto overrides the rule\n           above; the driver re-promotes only the visible band. */\n        .mf-v2 [data-mf-deck=\"1\"] .mf-credit-tile{will-change:auto;opacity:0}\n        .mf-v2 .mf-recede-scrim{pointer-events:none;transition:none}\n        .mf-v2 .mf-tile-clickable{cursor:pointer}\n        /* Centred click-to-play CTA. Only rendered when the browser's autoplay\n           policy has refused, so it never appears in the normal hover case.\n           z-index 8 matches the corner marker: above the scrim, below nothing\n           that matters. pointer-events:none — the whole tile is the target. */\n        .mf-v2 .mf-tile-playcta{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.92);z-index:8;width:52px;height:52px;border-radius:50%;border:1px solid var(--mf-acc);display:flex;align-items:center;justify-content:center;background:rgba(4,6,10,.55);opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s cubic-bezier(.2,.6,.2,1)}\n        /* Optical centring, same reason as the corner marker: a triangle's\n           visual mass sits left of its bounding box. Scaled for the larger\n           glyph. */\n        .mf-v2 .mf-tile-playcta svg{transform:translateX(2px)}\n        /* Touch: no hover exists, so the active row reveals the CTA outright. */\n        .mf-v2 .mf-tile-playcta[data-mf-ctavisible=\"1\"]{opacity:1;transform:translate(-50%,-50%) scale(1)}\n        /* s160 stackMode only: CTA is the only moving chrome. Deeper rest\n           scale + short overshoot land. Desktop / ?mfstack=0 keep .92 / .3s. */\n        /* s171: Colour phone pager. The four roots are parked fixed by the\n           pager effect; these rules do the paddings and hide the hamburger. */\n        .mf-v2[data-mf-cpages=\"1\"] [data-mf=\"nav\"]{background:linear-gradient(180deg,rgba(7,8,12,.62),rgba(7,8,12,0))!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom:0!important;box-shadow:none!important}\n        /* s219 colour lens: desktop Colour loses the nav band (the pager rule) and every glow */\n        .mf-v2[data-mf-clens=\"1\"] [data-mf=\"nav\"]{background:linear-gradient(180deg,rgba(7,8,12,.62),rgba(7,8,12,0))!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom:0!important;box-shadow:none!important}\n        .mf-v2[data-mf-root][data-mf-clens=\"1\"]{--mf-glow:transparent}\n        .mf-v2[data-mf-clens=\"1\"] [data-mf=\"ambient\"]{opacity:0!important}\n        .mf-v2[data-mf-cph=\"1\"] [data-mf-cpage]>*:not([data-mf-ph]):not([data-mf-ph-under]):not([data-mf-ph-shade]),.mf-v2[data-mf-cph=\"w0\"] [data-mf-cpage]:not(#work)>*:not([data-mf-ph]):not([data-mf-ph-under]):not([data-mf-ph-shade]){display:none!important}\n        .mf-v2[data-mf-cph] [data-mf-cpage]{background:transparent!important}\n        .mf-v2[data-mf-cph] [data-mf-ph]::-webkit-scrollbar{display:none}\n        .mf-v2[data-mf-cph] [data-mf-ph]{padding:0!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cnavsolid=\"1\"] [data-mf=\"nav\"]{background:linear-gradient(180deg,#07080c 0,#07080c 78%,rgba(7,8,12,0) 100%)!important}\n        .mf-v2[data-mf-clens=\"1\"] em{text-shadow:none!important}\n        /* s225 Colour Work arms (?mfcwork=0 = cp6). 1-3: the landing bloom carried across the seam - the landing own\n           bottom-left ellipse (70% x 50% of a 100vh landing, centre 8% below it) continued on the Work ground, same alpha */\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] #work [data-mf=\"sbody\"]>.mf-pad-x{background-image:radial-gradient(70vw 50vh at 18% 8vh,rgba(255,59,74,.125),transparent 62%)!important;background-repeat:no-repeat!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork][data-mf-cnavsolid=\"1\"][data-mf-cnavwork=\"1\"] [data-mf=\"nav\"]{background:radial-gradient(70vw 50vh at 18% calc(68px + 8vh),rgba(255,59,74,.125),transparent 62%),linear-gradient(#07080c,#07080c)!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] a.mf-gtile:not(.mf-wall-job) .mf-ccap>[data-mf-type=\"display\"]{font-family:'Instrument Serif',Georgia,serif!important;font-weight:400!important;letter-spacing:0!important;font-size:clamp(28px,2.3vw,44px)!important;line-height:1!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] a.mf-gtile:not(.mf-wall-job) .mf-ccap>.mf-dim{font-family:'Schibsted Grotesk',system-ui,sans-serif!important;letter-spacing:.14em!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] a.mf-gtile:not(.mf-wall-job) .mf-badge{background:rgba(7,8,12,.62)!important;color:rgba(255,255,255,.86)!important;border-radius:0!important;padding:5px 10px 5px 30px!important;font-family:'Schibsted Grotesk',system-ui,sans-serif!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] a.mf-gtile:not(.mf-wall-job) .mf-badge::before{content:\"\";position:absolute;left:10px;top:50%;width:12px;height:1px;background:#ff3b4a}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] a.mf-gtile:not(.mf-wall-job) .mf-ccap{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:16px}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] a.mf-gtile:not(.mf-wall-job) .mf-ccap>[data-mf-type=\"display\"]+.mf-dim{margin-top:0!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] a.mf-gtile:not(.mf-wall-job) .mf-ccap>.mf-dim+.mf-dim{flex:0 0 100%;margin-top:8px!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] a.mf-gtile:not(.mf-wall-job) .mf-ccap>.mf-gaction{flex:0 0 100%}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] #work [data-mf=\"sbody\"]>.mf-pad-x>div:first-child>div{background:rgba(255,59,74,.28)!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"2\"] a.mf-gtile:not(.mf-wall-job),.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"3\"] a.mf-gtile:not(.mf-wall-job),.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"4\"] a.mf-gtile:not(.mf-wall-job),.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] a.mf-gtile:not(.mf-wall-job),.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] a.mf-gtile:not(.mf-wall-job){border-radius:0!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"2\"] a.mf-gtile:not(.mf-wall-job)::before,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"3\"] a.mf-gtile:not(.mf-wall-job)::before,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"4\"] a.mf-gtile:not(.mf-wall-job)::before,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] a.mf-gtile:not(.mf-wall-job)::before{content:\"\";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(255,59,74,.32);z-index:3;pointer-events:none}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"2\"] a.mf-gtile:not(.mf-wall-job)::after,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"3\"] a.mf-gtile:not(.mf-wall-job)::after,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"4\"] a.mf-gtile:not(.mf-wall-job)::after,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] a.mf-gtile:not(.mf-wall-job)::after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:2px;background:#ff3b4a;transform:scaleX(0);transform-origin:0 50%;transition:transform .9s cubic-bezier(.7,0,.3,1);z-index:3;pointer-events:none}\n        @media (hover:hover) and (pointer:fine){.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"2\"] a.mf-gtile:not(.mf-wall-job):hover::after,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"3\"] a.mf-gtile:not(.mf-wall-job):hover::after,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"4\"] a.mf-gtile:not(.mf-wall-job):hover::after{transform:scaleX(1)}}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"2\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:first-child>div,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"3\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:first-child>div{background:#ff3b4a!important;opacity:.7}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] .mf-cbx-overlay{--mf-cbx-pad:clamp(20px,3.5vh,40px);--mf-cbx-r:calc(170px + 2 * var(--mf-cbx-pad));padding:var(--mf-cbx-pad) 4vw!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] .mf-cbx-shell:not(.mf-cbx-col){max-width:min(1320px,92vw,calc((100vh - var(--mf-cbx-r)) * var(--mf-cbx-ar,16/9)))!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] .mf-cbx-shell:not(.mf-cbx-col)>div:first-child [data-mf-type=\"display\"]{font-family:'Instrument Serif',Georgia,serif!important;font-weight:400!important;letter-spacing:0!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] .mf-cbx-pill-b,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork] .mf-cbx-pill-a{background:rgba(7,8,12,.62)!important;color:rgba(255,255,255,.86)!important;border-radius:0!important;padding:5px 10px 5px 30px!important;font-family:'Schibsted Grotesk',system-ui,sans-serif!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] .mf-cbx-pill-b::before,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork] .mf-cbx-pill-a::before{content:\"\";position:absolute;left:10px;top:50%;width:12px;height:1px;background:rgba(255,255,255,.45)}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] .mf-cbx-pill-a::before{background:#ff3b4a}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] .mf-cbx-shell:not(.mf-cbx-col)>div:first-child>div:first-child{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:16px}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] .mf-cbx-shell:not(.mf-cbx-col)>div:first-child>div:first-child>[data-mf-type=\"display\"]{order:0}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] .mf-cbx-shell:not(.mf-cbx-col)>div:first-child>div:first-child>.mf-dim{order:1;margin-top:0!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] .mf-cbx-shell:not(.mf-cbx-col)>div:first-child>div:first-child>div:not(.mf-dim):not([data-mf-type=\"display\"]){order:2;flex:0 0 100%}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] .mf-cbx-shell:not(.mf-cbx-col)>div:first-child>div:first-child>p{order:3;flex:0 0 100%}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"2\"] .mf-cbx-shell:not(.mf-cbx-col)>div:nth-child(2),.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"3\"] .mf-cbx-shell:not(.mf-cbx-col)>div:nth-child(2),.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"4\"] .mf-cbx-shell:not(.mf-cbx-col)>div:nth-child(2),.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] .mf-cbx-shell:not(.mf-cbx-col)>div:nth-child(2),.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] .mf-cbx-shell:not(.mf-cbx-col)>div:nth-child(2){border-radius:0!important;border:0!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"2\"] .mf-cbx-shell:not(.mf-cbx-col)>div:nth-child(2)::before,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"3\"] .mf-cbx-shell:not(.mf-cbx-col)>div:nth-child(2)::before,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"4\"] .mf-cbx-shell:not(.mf-cbx-col)>div:nth-child(2)::before,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] .mf-cbx-shell:not(.mf-cbx-col)>div:nth-child(2)::before,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] .mf-cbx-shell:not(.mf-cbx-col)>div:nth-child(2)::before{content:\"\";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(255,59,74,.32);z-index:6;pointer-events:none}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"2\"] .mf-cbx-shell:not(.mf-cbx-col)>div:nth-child(2)::after,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"3\"] .mf-cbx-shell:not(.mf-cbx-col)>div:nth-child(2)::after,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"4\"] .mf-cbx-shell:not(.mf-cbx-col)>div:nth-child(2)::after,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] .mf-cbx-shell:not(.mf-cbx-col)>div:nth-child(2)::after,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] .mf-cbx-shell:not(.mf-cbx-col)>div:nth-child(2)::after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:2px;background:#ff3b4a;transform-origin:0 50%;z-index:6;pointer-events:none;animation:mfcw-key 1.4s cubic-bezier(.7,0,.3,1) .45s both}\n        @keyframes mfcw-key{from{transform:scaleX(0)}to{transform:scaleX(1)}}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"3\"] .mf-cbx-shell:not(.mf-cbx-col){display:flex;flex-direction:column}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"3\"] .mf-cbx-shell:not(.mf-cbx-col)>div:first-child{order:2;margin:16px 0 0!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"3\"] .mf-cbx-shell:not(.mf-cbx-col)>div:nth-child(3){order:3}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] a.mf-gtile:not(.mf-wall-job) .mf-gaction{opacity:1!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] a.mf-gtile:not(.mf-wall-job) .mf-ccap>[data-mf-type=\"display\"]+.mf-dim{color:rgba(255,255,255,.7)!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] a.mf-gtile:not(.mf-wall-job) .mf-ccap>.mf-dim+.mf-dim{color:rgba(255,255,255,.86)!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] a.mf-gtile:not(.mf-wall-job) .mf-ccap>.mf-dim+.mf-dim>span{color:rgba(255,255,255,.6)!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] .mf-cbx-shell:not(.mf-cbx-col)>div:first-child>div:first-child>div:not(.mf-dim):not([data-mf-type=\"display\"]){color:rgba(255,255,255,.86)!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] .mf-cbx-shell:not(.mf-cbx-col)>div:first-child>div:first-child>div:not(.mf-dim):not([data-mf-type=\"display\"])>span{color:rgba(255,255,255,.6)!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] .mf-cbx-shell:not(.mf-cbx-col)>div:first-child>div:first-child>.mf-dim{color:rgba(255,255,255,.7)!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] .mf-cbx-shell:not(.mf-cbx-col)>div:first-child>div:first-child>p{color:rgba(255,255,255,.7)!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] .mf-cbx-shell:not(.mf-cbx-col)>div:first-child>div:last-child,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork] .mf-reel-close{color:rgba(255,255,255,.7)!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] ::selection{background:#ff3b4a;color:#07080c}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork] #work [data-mf=\"sbody\"]>.mf-pad-x>div:first-child>div{background:rgba(255,59,74,.4)!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"2\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:first-child>div,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"3\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:first-child>div,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"4\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:first-child>div,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:first-child>div,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:first-child>div{background:#ff3b4a!important;opacity:1!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"2\"] a.mf-gtile:not(.mf-wall-job)::before,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"3\"] a.mf-gtile:not(.mf-wall-job)::before,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"4\"] a.mf-gtile:not(.mf-wall-job)::before,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] a.mf-gtile:not(.mf-wall-job)::before,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"2\"] .mf-cbx-shell:not(.mf-cbx-col)>div:nth-child(2)::before,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"3\"] .mf-cbx-shell:not(.mf-cbx-col)>div:nth-child(2)::before,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"4\"] .mf-cbx-shell:not(.mf-cbx-col)>div:nth-child(2)::before,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] .mf-cbx-shell:not(.mf-cbx-col)>div:nth-child(2)::before,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] .mf-cbx-shell:not(.mf-cbx-col)>div:nth-child(2)::before{background:rgba(255,59,74,.4)!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"3\"] a.mf-gtile:not(.mf-wall-job){background:transparent!important;--mfcw-cap:80px}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"3\"] a.mf-gtile:not(.mf-wall-job) .mf-tileimg{height:calc(100% - var(--mfcw-cap))!important;background:#14161d}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"3\"] a.mf-gtile:not(.mf-wall-job) .mf-cscrim{display:none!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"3\"] a.mf-gtile:not(.mf-wall-job)::before,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"3\"] a.mf-gtile:not(.mf-wall-job)::after{bottom:var(--mfcw-cap)}\n        @media (hover:hover) and (pointer:fine){.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"3\"] a.mf-gtile:not(.mf-wall-job):hover .mf-tileimg{transform:none!important}}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"3\"] a.mf-gtile:not(.mf-wall-job) .mf-ccap{left:0!important;right:0!important;bottom:0!important;height:var(--mfcw-cap);align-content:flex-start;padding-top:14px;box-sizing:border-box}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"3\"] a.mf-gtile:not(.mf-wall-job) .mf-ccap>[data-mf-type=\"display\"]{font-size:clamp(24px,1.8vw,34px)!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"3\"] a.mf-gtile:not(.mf-wall-job) .mf-ccap>.mf-dim+.mf-dim{flex:1 1 auto;margin-top:9px!important}\n        .mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"3\"] a.mf-gtile:not(.mf-wall-job) .mf-ccap>.mf-gaction{flex:0 0 auto;margin-top:9px!important;margin-left:auto}\n        @media (min-width:900px){.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"4\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)){flex:1 1 auto!important;min-height:0!important;gap:12px!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"4\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job){height:auto!important;min-height:0;min-width:0}}\n        @media (min-width:900px) and (min-aspect-ratio:3/2){.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"4\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)){grid-template-columns:minmax(0,1.62fr) minmax(0,1fr)!important;grid-template-rows:repeat(3,minmax(0,1fr))!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"4\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job):first-child{grid-row:1/4}}\n        @media (min-width:900px) and (max-aspect-ratio:1499/1000){.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"4\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)){grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:minmax(0,1.7fr) minmax(0,1fr)!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"4\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job):first-child{grid-column:1/4}}\n        @media (min-width:900px){.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"4\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job):first-child .mf-ccap>[data-mf-type=\"display\"]{font-size:clamp(40px,3.4vw,66px)!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"4\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job):not(:first-child) .mf-ccap>[data-mf-type=\"display\"]{font-size:clamp(22px,1.6vw,30px)!important}}\n        @media (min-width:900px){.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)){flex:1 1 auto!important;min-height:0!important;gap:12px!important;transition:grid-template-columns .8s cubic-bezier(.7,0,.3,1),grid-template-rows .8s cubic-bezier(.7,0,.3,1)}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job){height:auto!important;min-height:0;min-width:0}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-tileimg{transform:none!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not([data-mf-cwopen])>a.mf-gtile:not(.mf-wall-job):first-child::after,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"0\"]>a.mf-gtile:not(.mf-wall-job):nth-child(1)::after,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"1\"]>a.mf-gtile:not(.mf-wall-job):nth-child(2)::after,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"2\"]>a.mf-gtile:not(.mf-wall-job):nth-child(3)::after,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"3\"]>a.mf-gtile:not(.mf-wall-job):nth-child(4)::after{transform:scaleX(1)}}\n        @media (min-width:900px) and (min-aspect-ratio:3/2){.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)){grid-template-rows:minmax(0,1fr)!important;grid-template-columns:minmax(0,8fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"1\"]{grid-template-columns:minmax(0,1fr) minmax(0,8fr) minmax(0,1fr) minmax(0,1fr)!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"2\"]{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,8fr) minmax(0,1fr)!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"3\"]{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,8fr)!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-ccap>:not([data-mf-type=\"display\"]),.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-badge{display:none!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-ccap{left:0!important;right:0!important;bottom:18px!important;justify-content:center}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-ccap>[data-mf-type=\"display\"]{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;font-size:clamp(22px,1.5vw,28px)!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not([data-mf-cwopen])>a.mf-gtile:not(.mf-wall-job):first-child .mf-ccap>:not([data-mf-type=\"display\"]),.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"0\"]>a.mf-gtile:not(.mf-wall-job):nth-child(1) .mf-ccap>:not([data-mf-type=\"display\"]),.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"1\"]>a.mf-gtile:not(.mf-wall-job):nth-child(2) .mf-ccap>:not([data-mf-type=\"display\"]),.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"2\"]>a.mf-gtile:not(.mf-wall-job):nth-child(3) .mf-ccap>:not([data-mf-type=\"display\"]),.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"3\"]>a.mf-gtile:not(.mf-wall-job):nth-child(4) .mf-ccap>:not([data-mf-type=\"display\"]),.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not([data-mf-cwopen])>a.mf-gtile:not(.mf-wall-job):first-child .mf-badge,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"0\"]>a.mf-gtile:not(.mf-wall-job):nth-child(1) .mf-badge,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"1\"]>a.mf-gtile:not(.mf-wall-job):nth-child(2) .mf-badge,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"2\"]>a.mf-gtile:not(.mf-wall-job):nth-child(3) .mf-badge,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"3\"]>a.mf-gtile:not(.mf-wall-job):nth-child(4) .mf-badge{display:block!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not([data-mf-cwopen])>a.mf-gtile:not(.mf-wall-job):first-child .mf-ccap,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"0\"]>a.mf-gtile:not(.mf-wall-job):nth-child(1) .mf-ccap,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"1\"]>a.mf-gtile:not(.mf-wall-job):nth-child(2) .mf-ccap,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"2\"]>a.mf-gtile:not(.mf-wall-job):nth-child(3) .mf-ccap,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"3\"]>a.mf-gtile:not(.mf-wall-job):nth-child(4) .mf-ccap{left:16px!important;right:16px!important;bottom:15px!important;justify-content:flex-start}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not([data-mf-cwopen])>a.mf-gtile:not(.mf-wall-job):first-child .mf-ccap>[data-mf-type=\"display\"],.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"0\"]>a.mf-gtile:not(.mf-wall-job):nth-child(1) .mf-ccap>[data-mf-type=\"display\"],.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"1\"]>a.mf-gtile:not(.mf-wall-job):nth-child(2) .mf-ccap>[data-mf-type=\"display\"],.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"2\"]>a.mf-gtile:not(.mf-wall-job):nth-child(3) .mf-ccap>[data-mf-type=\"display\"],.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"3\"]>a.mf-gtile:not(.mf-wall-job):nth-child(4) .mf-ccap>[data-mf-type=\"display\"]{writing-mode:horizontal-tb;transform:none;white-space:normal;font-size:clamp(32px,2.6vw,52px)!important}}\n        @media (min-width:900px) and (max-aspect-ratio:1499/1000){.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)){grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,6fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"1\"]{grid-template-rows:minmax(0,1fr) minmax(0,6fr) minmax(0,1fr) minmax(0,1fr)!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"2\"]{grid-template-rows:minmax(0,1fr) minmax(0,1fr) minmax(0,6fr) minmax(0,1fr)!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"3\"]{grid-template-rows:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,6fr)!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-ccap>.mf-dim+.mf-dim,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-ccap>.mf-gaction,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-badge{display:none!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not([data-mf-cwopen])>a.mf-gtile:not(.mf-wall-job):first-child .mf-ccap>.mf-dim+.mf-dim,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"0\"]>a.mf-gtile:not(.mf-wall-job):nth-child(1) .mf-ccap>.mf-dim+.mf-dim,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"1\"]>a.mf-gtile:not(.mf-wall-job):nth-child(2) .mf-ccap>.mf-dim+.mf-dim,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"2\"]>a.mf-gtile:not(.mf-wall-job):nth-child(3) .mf-ccap>.mf-dim+.mf-dim,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"3\"]>a.mf-gtile:not(.mf-wall-job):nth-child(4) .mf-ccap>.mf-dim+.mf-dim,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not([data-mf-cwopen])>a.mf-gtile:not(.mf-wall-job):first-child .mf-ccap>.mf-gaction,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"0\"]>a.mf-gtile:not(.mf-wall-job):nth-child(1) .mf-ccap>.mf-gaction,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"1\"]>a.mf-gtile:not(.mf-wall-job):nth-child(2) .mf-ccap>.mf-gaction,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"2\"]>a.mf-gtile:not(.mf-wall-job):nth-child(3) .mf-ccap>.mf-gaction,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"3\"]>a.mf-gtile:not(.mf-wall-job):nth-child(4) .mf-ccap>.mf-gaction,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not([data-mf-cwopen])>a.mf-gtile:not(.mf-wall-job):first-child .mf-badge,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"0\"]>a.mf-gtile:not(.mf-wall-job):nth-child(1) .mf-badge,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"1\"]>a.mf-gtile:not(.mf-wall-job):nth-child(2) .mf-badge,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"2\"]>a.mf-gtile:not(.mf-wall-job):nth-child(3) .mf-badge,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"3\"]>a.mf-gtile:not(.mf-wall-job):nth-child(4) .mf-badge{display:block!important}}\n        @media (min-width:900px){.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)){position:relative!important;flex:1 1 auto!important;min-height:0!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;gap:0!important;counter-reset:mfcw}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job){grid-area:1/1!important;height:auto!important;background:transparent!important;overflow:visible!important;pointer-events:none!important;counter-increment:mfcw}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-tileimg{position:absolute!important;top:0;right:0;width:var(--mfw-pw)!important;height:var(--mfw-ph)!important;opacity:0;pointer-events:none;transform:none!important;transition:opacity .6s ease!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not(:has(>a.mf-gtile:hover))>a.mf-gtile:not(.mf-wall-job):first-child .mf-tileimg,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job):hover .mf-tileimg{opacity:1;pointer-events:auto}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-cscrim,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-badge{display:none!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not(:has(>a.mf-gtile:hover))>a.mf-gtile:not(.mf-wall-job):first-child .mf-badge,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job):hover .mf-badge{display:block!important;left:calc(100% - var(--mfw-pw) + 14px)!important;z-index:2}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-ccap{pointer-events:auto!important;cursor:pointer;left:0!important;right:auto!important;bottom:auto!important;width:var(--mfw-lw);align-content:flex-start}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job):nth-child(1) .mf-ccap{top:calc(var(--mfw-ly) + var(--mfw-lh) * 0 / 4)!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job):nth-child(2) .mf-ccap{top:calc(var(--mfw-ly) + var(--mfw-lh) * 1 / 4)!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job):nth-child(3) .mf-ccap{top:calc(var(--mfw-ly) + var(--mfw-lh) * 2 / 4)!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job):nth-child(4) .mf-ccap{top:calc(var(--mfw-ly) + var(--mfw-lh) * 3 / 4)!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-ccap::before{content:counter(mfcw,decimal-leading-zero);flex:0 0 auto;align-self:baseline;font:500 11px/1 'Schibsted Grotesk',system-ui,sans-serif;letter-spacing:.14em;color:rgba(255,255,255,.6);transition:color .35s}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not(:has(>a.mf-gtile:hover))>a.mf-gtile:not(.mf-wall-job):first-child .mf-ccap::before,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job):hover .mf-ccap::before{color:#ff3b4a}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-ccap>[data-mf-type=\"display\"]{flex:1 1 0;min-width:0;font-size:clamp(26px,2.2vw,44px)!important;color:rgba(255,255,255,.42)!important;transition:color .35s}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not(:has(>a.mf-gtile:hover))>a.mf-gtile:not(.mf-wall-job):first-child .mf-ccap>[data-mf-type=\"display\"],.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job):hover .mf-ccap>[data-mf-type=\"display\"]{color:#fff!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-ccap>[data-mf-type=\"display\"]+.mf-dim{flex:0 0 100%;margin-top:8px!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-ccap>.mf-dim,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-ccap>.mf-gaction{opacity:.5!important;transition:opacity .35s}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not(:has(>a.mf-gtile:hover))>a.mf-gtile:not(.mf-wall-job):first-child .mf-ccap>.mf-dim,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job):hover .mf-ccap>.mf-dim,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not(:has(>a.mf-gtile:hover))>a.mf-gtile:not(.mf-wall-job):first-child .mf-ccap>.mf-gaction,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job):hover .mf-ccap>.mf-gaction{opacity:1!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job)::before{content:\"\";position:absolute;right:0;top:var(--mfw-ph);width:var(--mfw-pw);height:1px;background:rgba(255,59,74,.4);pointer-events:none}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job)::after{content:\"\";position:absolute;right:0;top:var(--mfw-ph);width:var(--mfw-pw);height:2px;background:#ff3b4a;transform:scaleX(0);transform-origin:0 50%;transition:transform .9s cubic-bezier(.7,0,.3,1);z-index:3;pointer-events:none}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not(:has(>a.mf-gtile:hover))>a.mf-gtile:not(.mf-wall-job):first-child::after,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job):hover::after{transform:scaleX(1)}}\n        @media (min-width:900px) and (min-aspect-ratio:3/2){.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)){--mfw-pw:66%;--mfw-ph:100%;--mfw-lw:calc(34% - 40px);--mfw-ly:0px;--mfw-lh:100%}}\n        @media (min-width:900px) and (max-aspect-ratio:1499/1000){.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"6\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)){--mfw-pw:100%;--mfw-ph:calc(min(100vw - 88px,1320px) * 9 / 16);--mfw-lw:100%;--mfw-ly:calc(var(--mfw-ph) + 32px);--mfw-lh:calc(100% - var(--mfw-ph) - 32px)}}\n        @keyframes mfcw-fop{from{opacity:0}to{opacity:1}}\n        @keyframes mfcw-fopA{from{opacity:0}to{opacity:1}}\n        @keyframes mfcw-fopF{from{filter:opacity(0)}to{filter:opacity(1)}}\n        @keyframes mfcw-fbl{from{filter:blur(22px);scale:1.18}to{filter:blur(0);scale:1}}\n        @keyframes mfcw-fblA{from{filter:blur(22px);scale:1.18}to{filter:blur(0);scale:1}}\n        @keyframes mfcw-up{from{clip-path:inset(calc(100% - 2px) 0 0 0)}to{clip-path:inset(0 0 0 0)}}\n        @media (min-width:900px) and (prefers-reduced-motion:no-preference){.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)){gap:0!important;transition:grid-template-columns 1.6s cubic-bezier(.7,0,.3,1),grid-template-rows 1.6s cubic-bezier(.7,0,.3,1)!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-tileimg{transform:none!important;transition:none!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job)::after{transform-origin:50% 50%!important;transition:transform .48s ease-in!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not([data-mf-cwopen])>a.mf-gtile:not(.mf-wall-job):first-child::after,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"0\"]>a.mf-gtile:not(.mf-wall-job):nth-child(1)::after,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"1\"]>a.mf-gtile:not(.mf-wall-job):nth-child(2)::after,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"2\"]>a.mf-gtile:not(.mf-wall-job):nth-child(3)::after,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"3\"]>a.mf-gtile:not(.mf-wall-job):nth-child(4)::after{transition:transform 1.2s cubic-bezier(.7,0,.3,1) .5s!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not([data-mf-cwopen])>a.mf-gtile:not(.mf-wall-job):first-child .mf-ccap>[data-mf-type=\"display\"],.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"0\"]>a.mf-gtile:not(.mf-wall-job):nth-child(1) .mf-ccap>[data-mf-type=\"display\"],.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"1\"]>a.mf-gtile:not(.mf-wall-job):nth-child(2) .mf-ccap>[data-mf-type=\"display\"],.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"2\"]>a.mf-gtile:not(.mf-wall-job):nth-child(3) .mf-ccap>[data-mf-type=\"display\"],.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"3\"]>a.mf-gtile:not(.mf-wall-job):nth-child(4) .mf-ccap>[data-mf-type=\"display\"]{transform-origin:0% 100%;animation:mfcw-fopA .715s linear 0.75s backwards,mfcw-fblA 1.3s cubic-bezier(.25,1,.5,1) 0.75s backwards!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not([data-mf-cwopen])>a.mf-gtile:not(.mf-wall-job):first-child .mf-ccap>[data-mf-type=\"display\"]+.mf-dim,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"0\"]>a.mf-gtile:not(.mf-wall-job):nth-child(1) .mf-ccap>[data-mf-type=\"display\"]+.mf-dim,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"1\"]>a.mf-gtile:not(.mf-wall-job):nth-child(2) .mf-ccap>[data-mf-type=\"display\"]+.mf-dim,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"2\"]>a.mf-gtile:not(.mf-wall-job):nth-child(3) .mf-ccap>[data-mf-type=\"display\"]+.mf-dim,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"3\"]>a.mf-gtile:not(.mf-wall-job):nth-child(4) .mf-ccap>[data-mf-type=\"display\"]+.mf-dim{animation:mfcw-fopA .715s linear 0.9299999999999999s backwards!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not([data-mf-cwopen])>a.mf-gtile:not(.mf-wall-job):first-child .mf-ccap>.mf-dim+.mf-dim,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"0\"]>a.mf-gtile:not(.mf-wall-job):nth-child(1) .mf-ccap>.mf-dim+.mf-dim,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"1\"]>a.mf-gtile:not(.mf-wall-job):nth-child(2) .mf-ccap>.mf-dim+.mf-dim,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"2\"]>a.mf-gtile:not(.mf-wall-job):nth-child(3) .mf-ccap>.mf-dim+.mf-dim,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"3\"]>a.mf-gtile:not(.mf-wall-job):nth-child(4) .mf-ccap>.mf-dim+.mf-dim{animation:mfcw-fopA .715s linear 1.1099999999999999s backwards!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not([data-mf-cwopen])>a.mf-gtile:not(.mf-wall-job):first-child .mf-ccap>.mf-gaction,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"0\"]>a.mf-gtile:not(.mf-wall-job):nth-child(1) .mf-ccap>.mf-gaction,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"1\"]>a.mf-gtile:not(.mf-wall-job):nth-child(2) .mf-ccap>.mf-gaction,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"2\"]>a.mf-gtile:not(.mf-wall-job):nth-child(3) .mf-ccap>.mf-gaction,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"3\"]>a.mf-gtile:not(.mf-wall-job):nth-child(4) .mf-ccap>.mf-gaction{animation:mfcw-fopF .715s linear 1.29s backwards!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not([data-mf-cwopen])>a.mf-gtile:not(.mf-wall-job):first-child .mf-badge,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"0\"]>a.mf-gtile:not(.mf-wall-job):nth-child(1) .mf-badge,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"1\"]>a.mf-gtile:not(.mf-wall-job):nth-child(2) .mf-badge,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"2\"]>a.mf-gtile:not(.mf-wall-job):nth-child(3) .mf-badge,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"3\"]>a.mf-gtile:not(.mf-wall-job):nth-child(4) .mf-badge{animation:mfcw-fopA .715s linear 0.9299999999999999s backwards!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-ccap>[data-mf-type=\"display\"]{transform-origin:50% 50%;animation:mfcw-fop .715s linear 0.35s backwards,mfcw-fbl 1.3s cubic-bezier(.25,1,.5,1) 0.35s backwards!important}}\n        @media (prefers-reduced-motion:reduce){.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)),.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job)::after,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-tileimg{transition:none!important}}\n        @media (min-width:900px) and (min-aspect-ratio:3/2){.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-tileimg{position:absolute!important;top:0;left:50%;width:calc(min(100vw - 88px,1320px) * 8 / 11)!important;max-width:none!important;height:100%!important;translate:-50% 0}}\n        @media (min-width:900px) and (max-aspect-ratio:1499/1000){.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-tileimg{position:absolute!important;left:0;top:50%;width:100%!important;height:calc((100vh - 128px) * 6 / 9)!important;max-height:none!important;translate:0 -50%}}\n        @media (min-width:900px) and (max-aspect-ratio:1499/1000) and (prefers-reduced-motion:no-preference){.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not([data-mf-cwopen])>a.mf-gtile:not(.mf-wall-job):first-child .mf-ccap>[data-mf-type=\"display\"],.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"0\"]>a.mf-gtile:not(.mf-wall-job):nth-child(1) .mf-ccap>[data-mf-type=\"display\"],.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"1\"]>a.mf-gtile:not(.mf-wall-job):nth-child(2) .mf-ccap>[data-mf-type=\"display\"],.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"2\"]>a.mf-gtile:not(.mf-wall-job):nth-child(3) .mf-ccap>[data-mf-type=\"display\"],.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"3\"]>a.mf-gtile:not(.mf-wall-job):nth-child(4) .mf-ccap>[data-mf-type=\"display\"]{animation:mfcw-fop .715s linear 0.75s backwards,mfcw-fbl 1.3s cubic-bezier(.25,1,.5,1) 0.75s backwards!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job) .mf-ccap>[data-mf-type=\"display\"]+.mf-dim,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job)):not([data-mf-cwopen])>a.mf-gtile:not(.mf-wall-job):first-child .mf-ccap>[data-mf-type=\"display\"]+.mf-dim,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"0\"]>a.mf-gtile:not(.mf-wall-job):nth-child(1) .mf-ccap>[data-mf-type=\"display\"]+.mf-dim,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"1\"]>a.mf-gtile:not(.mf-wall-job):nth-child(2) .mf-ccap>[data-mf-type=\"display\"]+.mf-dim,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"2\"]>a.mf-gtile:not(.mf-wall-job):nth-child(3) .mf-ccap>[data-mf-type=\"display\"]+.mf-dim,.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"][data-mf-cwtype=\"1\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))[data-mf-cwopen=\"3\"]>a.mf-gtile:not(.mf-wall-job):nth-child(4) .mf-ccap>[data-mf-type=\"display\"]+.mf-dim{animation:mfcw-fopA .715s linear 0.9299999999999999s backwards!important}}\n        @media (min-width:900px) and (min-aspect-ratio:3/2){.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job):not(:first-child){border-left:12px solid transparent!important;background-clip:padding-box!important}}\n        @media (min-width:900px) and (max-aspect-ratio:1499/1000){.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] #work [data-mf=\"sbody\"]>.mf-pad-x>div:has(>a.mf-gtile:not(.mf-wall-job))>a.mf-gtile:not(.mf-wall-job):not(:first-child){border-top:12px solid transparent!important;background-clip:padding-box!important}}\n        @media (prefers-reduced-motion:no-preference){.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] .mf-cbx-shell:not(.mf-cbx-col)>div:nth-child(2)::after{transform-origin:50% 50%!important;animation:mfcw-key .9s cubic-bezier(.7,0,.3,1) .1s both!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] .mf-cbx-shell:not(.mf-cbx-col)>div:nth-child(2){animation:mfcw-up 1.5s cubic-bezier(.7,0,.3,1) .65s backwards}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] .mf-cbx-shell:not(.mf-cbx-col)>div:first-child [data-mf-type=\"display\"]{transform-origin:0% 100%;animation:mfcw-fop .715s linear 1.2s backwards,mfcw-fbl 1.3s cubic-bezier(.25,1,.5,1) 1.2s backwards!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] .mf-cbx-shell:not(.mf-cbx-col)>div:first-child>div:first-child>:not([data-mf-type=\"display\"]){animation:mfcw-fopA .715s linear 1.38s backwards!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] .mf-cbx-shell:not(.mf-cbx-col)>div:first-child>div:last-child{animation:mfcw-fopA .715s linear 1.56s backwards!important}.mf-v2[data-mf-clens=\"1\"][data-mf-cwork=\"5\"] .mf-cbx-shell:not(.mf-cbx-col)>div:nth-child(3){animation:mfcw-fopA .715s linear 1.74s backwards!important}}\n        .mf-v2[data-mf-cpages=\"1\"] .mf-hero-bottom{padding-bottom:calc(${MOBILE_HERO_BOTTOM_PAD_PX}px + 44px + env(safe-area-inset-bottom, 0px))!important}\n        .mf-v2[data-mf-cpages=\"1\"] .mf-hero-bottom-row{visibility:hidden!important;height:40px!important;min-height:0!important;padding:0!important;margin:0!important;overflow:hidden!important;pointer-events:none!important}\n        .mf-v2[data-mf-cpages=\"1\"] #work>[data-mf=\"sbody\"]>.mf-pad-x{position:static!important;height:auto!important;min-height:0!important;overflow:visible!important;padding-top:${NAV_H+WORK_PAD_TOP}px!important;padding-bottom:0!important}\n        .mf-v2[data-mf-cpages=\"1\"] #work>[data-mf=\"sbody\"]>.mf-pad-x::after{content:\"\";display:block;height:calc(${CPAGE_INDEX_H}px + 24px + env(safe-area-inset-bottom, 0px))}\n        .mf-v2[data-mf-cpages=\"1\"] #about{padding:0!important}\n        .mf-v2[data-mf-cpages=\"1\"] #about>[data-mf=\"sbody\"]{padding:${NAV_H}px 22px calc(${CPAGE_INDEX_H}px + env(safe-area-inset-bottom, 0px));box-sizing:border-box}\n        .mf-v2[data-mf-cpages=\"1\"] #about .mf-studio-grid{display:flex!important;flex-direction:row!important;align-items:center!important;gap:20px!important;margin-top:28px!important}\n        .mf-v2[data-mf-cpages=\"1\"] #about [data-mf=\"about-disc\"]{width:${CPAGE_HEADSHOT_PX}px!important;height:${CPAGE_HEADSHOT_PX}px!important}\n        .mf-v2[data-mf-cpages=\"1\"] [data-mf-cpage=\"3\"]>[data-mf=\"sbody\"]{display:flex;flex-direction:column;justify-content:center;padding-top:${NAV_H}px;padding-bottom:calc(${CPAGE_INDEX_H+CPAGE_FOOT_H}px + env(safe-area-inset-bottom, 0px));box-sizing:border-box}\n        .mf-v2[data-mf-cpages=\"1\"] [data-mf=\"scroll-hint\"]{display:none!important}\n        .mf-v2[data-mf-cpages=\"1\"] [data-mf-cpage=\"0\"]>[data-mf=\"sbody\"]{overflow:hidden!important}\n        .mf-v2[data-mf-cpages=\"1\"] [data-mf-cpage=\"3\"] footer{display:none!important}\n        .mf-v2[data-mf-cpages=\"1\"] #contact{padding-top:0!important;flex:0 0 auto!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;min-height:0!important}\n        .mf-v2[data-mf-cpages=\"1\"] #contact .mf-contact{border-bottom:0!important;text-decoration:none!important}\n        /* s190: the Colour phone Work wall. One tile per job; the featured\n           job leads at full width at its own aspect, every job after it is a\n           uniform 16:9 box, two across. Grows downward: four jobs is the lead\n           plus a row plus an orphan, twenty is the lead plus ten rows. */\n        .mf-v2[data-mf-wall=\"1\"] .mf-wall-job{display:block;height:auto;position:relative;text-decoration:none}\n        .mf-v2[data-mf-wall=\"1\"] .mf-wall-tile{position:relative;overflow:hidden;background:#101218;aspect-ratio:16/9}\n        .mf-v2[data-mf-wall=\"1\"] .mf-wall-tile .mf-tileimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%;display:block}\n        .mf-v2[data-mf-wall=\"1\"] .mf-wall-tile::after{content:\"\";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(231,220,196,.06);pointer-events:none}\n        .mf-v2[data-mf-wall=\"1\"] .mf-wall-n{position:absolute;top:8px;left:8px;color:#ece6df;opacity:.55;font-family:var(--sans);font-weight:500;font-size:8.5px;letter-spacing:.14em;pointer-events:none}\n        .mf-v2[data-mf-wall=\"1\"] .mf-wall-cap{padding:9px 8px 0}\n        .mf-v2[data-mf-wall=\"1\"] .mf-wall-title{margin:0;font-family:var(--serif);font-weight:400;font-size:13.5px;line-height:1.15;letter-spacing:-.005em;color:#ece6df}\n        .mf-v2[data-mf-wall=\"1\"] .mf-wall-meta{margin-top:5px;color:#8a8580;letter-spacing:.12em;font-size:8.5px;font-family:var(--sans);font-weight:500;text-transform:uppercase}\n        /* the lead: full width, its own aspect, uncropped */\n        .mf-v2[data-mf-wall=\"1\"] .mf-wall-job[data-mf-lead=\"1\"]{grid-column:span 2;order:-1}\n        .mf-v2[data-mf-wall=\"1\"] .mf-wall-job[data-mf-lead=\"1\"] .mf-wall-tile{aspect-ratio:var(--mf-wall-ar,16/9)}\n        .mf-v2[data-mf-wall=\"1\"] .mf-wall-job[data-mf-lead=\"1\"] .mf-tileimg{object-fit:contain;background:#0d0f14}\n        .mf-v2[data-mf-wall=\"1\"] .mf-wall-job[data-mf-lead=\"1\"] .mf-wall-cap{padding-left:20px}\n        .mf-v2[data-mf-wall=\"1\"] .mf-wall-job[data-mf-lead=\"1\"] .mf-wall-n{left:20px}\n        /* s190: compare re-laid. The shell is the scroller (block flow, not a\n           flex column — flex packed the hint onto the index in mockup round 4).\n           touch-action:none stays on the drag frame only. */\n        .mf-v2[data-mf-wall=\"1\"] .mf-cbx-overlay{display:block!important;padding:0!important}\n        .mf-v2[data-mf-wall=\"1\"] .mf-cbx-col{position:absolute;left:0;right:0;top:calc(${NAV_H}px + 6px);bottom:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;max-width:none!important;width:100%}\n        .mf-v2[data-mf-wall=\"1\"] .mf-cbx-col::after{content:\"\";display:block;height:calc(${CPAGE_INDEX_H}px + 10px)}\n        .mf-v2[data-mf-wall=\"1\"] .mf-cbx-cap{padding:18px 20px 0}\n        .mf-v2[data-mf-wall=\"1\"] .mf-cbx-title{margin:0;font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.1;letter-spacing:-.005em;color:#ece6df}\n        .mf-v2[data-mf-wall=\"1\"] .mf-cbx-meta{margin-top:8px;color:#8a8580;letter-spacing:.12em;font-size:8.5px;font-family:var(--sans);font-weight:500;text-transform:uppercase}\n        .mf-v2[data-mf-wall=\"1\"] .mf-cbx-strip{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:2px;padding:18px 2px 0}\n        .mf-v2[data-mf-wall=\"1\"] .mf-cbx-shot-n{position:absolute;top:8px;left:8px;color:#ece6df;opacity:.7;font-family:var(--sans);font-weight:500;font-size:8.5px;letter-spacing:.14em;pointer-events:none}\n        .mf-v2[data-mf-wall=\"1\"] .mf-cbx-hint{padding:14px 20px 0;color:#5e5a57;letter-spacing:.14em;font-size:8.5px;font-family:var(--sans);font-weight:500;text-transform:uppercase}\n        .mf-v2[data-mf-wall=\"1\"] .mf-cbx-x{position:absolute;top:18px;right:18px;width:32px;height:32px;border-radius:50%;background:rgba(7,8,12,.72);border:1px solid rgba(231,220,196,.14);color:#ece6df;font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:202;padding:0}\n        .mf-v2[data-mf-stack=\"1\"] .mf-tile-playcta{transform:translate(-50%,-50%) scale(.72);transition:opacity .3s ease,transform 190ms cubic-bezier(.2,.9,.25,1.25)}\n        .mf-v2[data-mf-stack=\"1\"] .mf-tile-playcta[data-mf-ctavisible=\"1\"]{opacity:1;transform:translate(-50%,-50%) scale(1)}\n        /* During HUD boot: no hover scale fight, no CSS transition smear */\n        .mf-v2 .mf-credit-tile.mf-glitch-boot{transition:none!important}\n        .mf-v2 .mf-glitch-scan{position:absolute;inset:0;pointer-events:none;z-index:6;background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(68,227,240,.045) 2px 3px);mix-blend-mode:screen;opacity:0}\n        .mf-v2 .mf-glitch-bar{position:absolute;left:0;right:0;height:2px;top:40%;pointer-events:none;z-index:7;background:linear-gradient(90deg,transparent,rgba(68,227,240,.95),transparent);box-shadow:0 0 12px rgba(68,227,240,.55);opacity:0}\n        .mf-v2 .mf-glitch-edge{position:absolute;inset:0;pointer-events:none;z-index:5;border:1px solid transparent;box-sizing:border-box;opacity:0}\n        .mf-v2 .mf-credit-tile .mf-credit-scrim{transition:opacity .4s ease}\n        .mf-v2 .mf-credit-tile .mf-credit-name{opacity:1;transition:opacity .4s ease}\n        .mf-v2 .mf-credit-tile .mf-credit-caption{opacity:0;transform:translateY(8px);transition:opacity .4s ease .05s,transform .4s ease .05s}\n        /* Play marker: decorative (aria-hidden). Clip tiles only (loopVideo);\n           mouse only (hasMouse) — touch never plays, so never promise it. */\n        .mf-v2 .mf-tile-playmark{position:absolute;top:10px;right:10px;z-index:8;width:24px;height:24px;border-radius:50%;border:1px solid var(--mf-acc);display:flex;align-items:center;justify-content:center;opacity:.85;pointer-events:none;transition:opacity .4s ease;background:rgba(4,6,10,.45)}\n        /* fill-mode MUST be backwards, never both. backwards holds the\n           from-state through animation-delay (that is what makes the stagger\n           work) then RELEASES the property. both would keep the to-state\n           owning opacity forever, and animations outrank normal declarations —\n           so the :hover fade-out below would silently never fire. Same trap as\n           the s15 reel-lightbox entrance; see CLAUDE.md.\n           NOTE: no backticks in comments here — this whole CSS block lives in a\n           template literal, and a backtick terminates the string. */\n        .mf-v2 .mf-tile-playmark{animation:mf-playmark-in .45s ease backwards}\n        @keyframes mf-playmark-in{from{opacity:0;transform:scale(.8)}to{opacity:.85;transform:scale(1)}}\n        /* Optical centring: a triangle's visual mass sits left of its bounding\n           box, so geometric centring reads as off-centre. Nudge right 3px. */\n        .mf-v2 .mf-tile-playmark svg{transform:translateX(1px)}\n        /* Touch row-active: hover information state, no scale. Must stay\n           outside the (hover:hover) and (pointer:fine) block. */\n        .mf-v2 .mf-credit-tile[data-mf-rowactive=\"1\"] .mf-credit-scrim{opacity:.4}\n        .mf-v2 .mf-credit-tile[data-mf-rowactive=\"1\"] .mf-credit-name{opacity:0}\n        .mf-v2 .mf-credit-tile[data-mf-rowactive=\"1\"] .mf-credit-caption{opacity:1;transform:translateY(0)}\n        /* Motion-phone deck: credit + caption are ALWAYS visible (no hover\n           exists on touch). Scoped on data-mf-deck so desktop hover/rowactive\n           fade-out cannot hide them. Inline opacity:1 on the nodes is the\n           second lock — a stylesheet rule cannot win over an inline style. */\n        .mf-v2 [data-mf-deck=\"1\"] .mf-credit-tile .mf-credit-name{opacity:1;transform:none}\n        .mf-v2 [data-mf-deck=\"1\"] .mf-credit-tile .mf-credit-caption{opacity:1;transform:none}\n        .mf-v2 [data-mf-deck=\"1\"] .mf-credit-tile[data-mf-rowactive=\"1\"] .mf-credit-name{opacity:1}\n        .mf-v2 [data-mf-deck=\"1\"] .mf-credit-tile[data-mf-rowactive=\"1\"] .mf-credit-caption{opacity:1;transform:none}\n        /* s84: motionPhone credit stack lives in .mf-credit-deckcap (bottom-\n           left, always on). The base .mf-credit-caption rule is opacity:0;\n           deck + inline opacity:1 are the two locks so a rowactive/hover\n           rule cannot hide the copy. */\n        .mf-v2 [data-mf-deck=\"1\"] .mf-credit-tile .mf-credit-deckcap{opacity:1;transform:none}\n        .mf-v2 [data-mf-deck=\"1\"] .mf-credit-tile[data-mf-rowactive=\"1\"] .mf-credit-deckcap{opacity:1;transform:none}\n        .mf-v2[data-mf-mode=\"motion\"] .mf-credit-tile[data-mf-rowactive=\"1\"] .mf-tileimg{filter:none}\n        /* Phone Motion carousel: hide the native scrollbar; the counter +\n           arrows (and the peeking next tile) are the affordance. */\n        .mf-v2 .mf-carousel{scrollbar-width:none;-ms-overflow-style:none}\n        .mf-v2 .mf-carousel::-webkit-scrollbar{display:none}\n        .mf-v2 .mf-carousel-controls{display:flex;align-items:center;justify-content:space-between;max-width:1320px;margin:14px auto 0;padding:0 18px}\n        .mf-v2 .mf-carousel-counter{font-size:10px;letter-spacing:.18em;color:#848b9c}\n        .mf-v2 .mf-carousel-arrows{display:flex;gap:8px}\n        .mf-v2 .mf-carousel-arrow{width:34px;height:34px;border-radius:50%;border:1px solid var(--mf-acc);background:rgba(4,6,10,.45);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:opacity .3s ease}\n        .mf-v2 .mf-carousel-arrow:disabled{opacity:.25;cursor:default}\n        .mf-v2 .mf-carousel-item{transition:transform .38s cubic-bezier(.2,.6,.2,1),opacity .38s ease;transform-origin:center center}\n        .mf-v2 .mf-carousel-item[data-mf-caroffset=\"0\"]{transform:scale(1);opacity:1}\n        .mf-v2 .mf-carousel-item[data-mf-caroffset=\"1\"]{transform:scale(${CAROUSEL_NEIGHBOR_SCALE});opacity:${CAROUSEL_NEIGHBOR_OPACITY}}\n        .mf-v2 .mf-carousel-item[data-mf-caroffset=\"far\"]{transform:scale(${CAROUSEL_NEIGHBOR_SCALE});opacity:0}\n        /* Tile hover states are MOUSE ONLY. Ungated :hover latches on touch —\n           first tap sticks scale 1.18 + caption until you tap elsewhere. Do not\n           unwrap these. (Width breakpoints still need the data-mf-max-N\n           dual-write for the Framer canvas; hover/pointer do not — the\n           canvas runs on the designer's real mouse.) */\n        @media (hover:hover) and (pointer:fine){\n          .mf-v2 .mf-gtile:hover .mf-tileimg{transform:scale(1.05)}\n          .mf-v2[data-mf-mode=\"motion\"] .mf-gtile:hover .mf-tileimg{filter:none}\n          .mf-v2[data-mf-mode=\"motion\"] .mf-gtile:hover .mf-tilevid{filter:none}\n          .mf-v2 .mf-gtile:hover .mf-gaction{opacity:1;transform:translateX(5px)}\n          .mf-v2 .mf-credit-tile:hover{transform:scale(1.18)!important;z-index:5;box-shadow:0 30px 70px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.07);transition:transform .55s cubic-bezier(.2,.6,.2,1),box-shadow .55s cubic-bezier(.2,.6,.2,1)}\n          .mf-v2 .mf-credit-tile.mf-glitch-boot:hover{transform:none!important;box-shadow:none}\n          .mf-v2 .mf-credit-tile:hover .mf-credit-scrim{opacity:.4}\n          .mf-v2 .mf-credit-tile:hover .mf-credit-name{opacity:0}\n          .mf-v2 .mf-credit-tile:hover .mf-credit-caption{opacity:1;transform:translateY(0)}\n          .mf-v2 [data-mf-deck=\"1\"] .mf-credit-tile:hover .mf-credit-name{opacity:1}\n          .mf-v2 [data-mf-deck=\"1\"] .mf-credit-tile:hover .mf-credit-caption{opacity:1;transform:none}\n          .mf-v2 .mf-credit-tile:hover .mf-tile-playmark{opacity:0}\n          .mf-v2 .mf-credit-tile:hover .mf-tile-playcta{opacity:1;transform:translate(-50%,-50%) scale(1)}\n        }\n        /* While a clip plays the tile shows the clip — nothing over it. The\n           scrim exists to keep the credit legible against a still, and the\n           credit has already faded out by then.\n           MUST live AFTER the hover media block: the hover and row-active\n           rules that set .4 have identical specificity (four class-level\n           selectors each), so source order is what decides. Declared earlier it\n           would silently lose on desktop hover. */\n        .mf-v2 .mf-credit-tile[data-mf-tileplaying=\"1\"] .mf-credit-scrim{opacity:0}\n        /* A playing clip must show at full vibrance. The motion tint\n           (saturate .5 / brightness .82) exists to sit stills back behind the\n           credit; it was only ever cleared by a :hover rule, which lives in the\n           fine-pointer media block and therefore NEVER fires on touch — so a\n           tapped clip played at half saturation. Keyed on playing, not hover,\n           so it works for every input model. */\n        .mf-v2[data-mf-mode=\"motion\"] .mf-credit-tile[data-mf-tileplaying=\"1\"] .mf-tilevid{filter:none}\n        .mf-v2[data-mf-root]{\n          --serif:'Playfair Display',Georgia,serif;\n          --sans:'Schibsted Grotesk',system-ui,sans-serif;\n          --mf-font-display-motion:'Dharma Gothic M',sans-serif;\n          --mf-font-label-motion:'Pawl Square',sans-serif;\n          --mf-font-body-motion:'Pawl Stretch',sans-serif;\n          --mf-acc:#ff3b4a;--mf-glow:rgba(255,59,74,.48);\n          --mf-clabel:#0b0d13;--mf-mlabel:#7a8092;\n          --mf-ambient:rgba(255,59,74,.1);--mf-border:rgba(231,220,196,.42);\n        }\n        .mf-v2[data-mf-root][data-mf-mode=\"motion\"]{\n          --mf-acc:#00d5f0;--mf-glow:rgba(0,213,240,.62);\n          --mf-clabel:#7a8092;--mf-mlabel:#0b0d13;\n          --mf-ambient:rgba(0,213,240,.13);--mf-border:rgba(0,213,240,.6);\n        }\n        /* s212 THE FRAME on Work + Contact (CLAUDE.md S-14): the About's four 46px brackets, its tab (a crimson\n           number chip, the name, the line on the right), its margin numeral (only where the frame leaves 150px), a\n           PAD of 20 clear of the nav and of the bottom. Work: the frame is pinned (sticky, no layout space) while the\n           tiles scroll through it; the grid's mask fades them at its top and bottom; the About's scroll rail rides\n           the right brackets' line. Contact: the frame ends above the footer. ?mfframe=0 = s198. */\n        .mf-v2 .mf-sframe-pin,.mf-v2 .mf-sframe{display:none}\n        .mf-v2[data-mf-sframe=\"1\"] .mf-sframe-hide{visibility:hidden!important}\n        .mf-v2[data-mf-sframe=\"1\"] .mf-sframe-pin{display:block;position:sticky;top:${NAV_H}px;height:calc(100vh - ${NAV_H}px);margin-bottom:0;z-index:6;pointer-events:none}\n        /* s215 s217: the pin takes no space through the NEXT box's negative margin, not its own - a sticky box is held by its margin box, and a ~0-tall one stayed pinned a whole screen past #work over the About (his Firefox free scroll + reload) */\n        .mf-v2[data-mf-sframe=\"1\"] #work>.mf-sframe-pin~[data-mf=\"sbody\"]>.mf-pad-x{margin-top:calc(${NAV_H}px - 100vh)}\n        .mf-v2[data-mf-sframe=\"1\"] .mf-sframe{display:block;position:absolute;left:max(0px,calc((100% - 1600px) / 2));right:max(0px,calc((100% - 1600px) / 2));top:20px;bottom:20px;pointer-events:none;z-index:6}\n        .mf-v2[data-mf-sframe=\"1\"] .mf-sframe[data-mf-sframe-c=\"1\"]{bottom:var(--mf-cfoot,120px)}\n        .mf-v2 .mf-sframe .mf-br{position:absolute;width:46px;height:46px;border:0 solid var(--mf-acc);box-sizing:border-box}\n        .mf-v2 .mf-sframe .mf-br-tl{left:12px;top:12px;border-left-width:2px;border-top-width:2px}\n        .mf-v2 .mf-sframe .mf-br-tr{right:12px;top:12px;border-right-width:2px;border-top-width:2px}\n        .mf-v2 .mf-sframe .mf-br-bl{left:12px;bottom:12px;border-left-width:2px;border-bottom-width:2px}\n        .mf-v2 .mf-sframe .mf-br-br{right:12px;bottom:12px;border-right-width:2px;border-bottom-width:2px}\n        /* s215 s207: the landing's bracket curve on the Work + Contact frames (0.55 x the 46px arm = 25px; his pick) */\n        .mf-v2 .mf-sframe .mf-br-tl{border-top-left-radius:25px}\n        .mf-v2 .mf-sframe .mf-br-tr{border-top-right-radius:25px}\n        .mf-v2 .mf-sframe .mf-br-bl{border-bottom-left-radius:25px}\n        .mf-v2 .mf-sframe .mf-br-br{border-bottom-right-radius:25px}\n        .mf-v2 .mf-sframe .mf-tab{position:absolute;left:72px;right:72px;top:6px;height:14px;display:flex;align-items:center;gap:10px;font-family:var(--mf-font-label-motion);font-weight:400;text-transform:uppercase}\n        .mf-v2 .mf-sframe .mf-tab-n{background:#ff3b4a;color:#07080c;font-size:10px;line-height:1;letter-spacing:.16em;padding:3px 6px 2px}\n        .mf-v2 .mf-sframe .mf-tab-nm{font-size:11px;line-height:1;letter-spacing:.22em;color:var(--mf-acc)}\n        .mf-v2 .mf-sframe .mf-tab-mt{margin-left:auto;font-size:10px;line-height:1;letter-spacing:.14em;color:#848b9c;white-space:nowrap}\n        .mf-v2 .mf-sframe .mf-fnum{display:none;position:absolute;left:-150px;top:16px;font-family:var(--mf-font-display-motion);font-weight:400;font-size:176px;line-height:.8;color:transparent;-webkit-text-stroke:1px var(--mf-acc)}\n        @media (min-width:1900px){.mf-v2 .mf-sframe .mf-fnum{display:block}}\n        .mf-v2 .mf-sframe .mf-frail{position:absolute;right:12.5px;top:90px;bottom:90px;width:1px;background:rgba(0,213,240,.18);opacity:0;transition:opacity .14s linear}\n        .mf-v2 .mf-sframe .mf-frail[data-need=\"1\"]{opacity:1}\n        /* s215 s208: the frame builds in on an arrival (it popped in at the scroll jump - the Mac, live s207) */\n        @keyframes mf-fbr-tl{from{transform:translate(-34px,-34px);opacity:0}}\n        @keyframes mf-fbr-tr{from{transform:translate(34px,-34px);opacity:0}}\n        @keyframes mf-fbr-bl{from{transform:translate(-34px,34px);opacity:0}}\n        @keyframes mf-fbr-br{from{transform:translate(34px,34px);opacity:0}}\n        @keyframes mf-fbr-in{from{opacity:0}}\n        .mf-v2 .mf-sframe[data-mf-fboot=\"1\"] .mf-br-tl{animation:mf-fbr-tl .52s cubic-bezier(.2,.7,.2,1)}\n        .mf-v2 .mf-sframe[data-mf-fboot=\"1\"] .mf-br-tr{animation:mf-fbr-tr .52s cubic-bezier(.2,.7,.2,1) .04s backwards}\n        .mf-v2 .mf-sframe[data-mf-fboot=\"1\"] .mf-br-bl{animation:mf-fbr-bl .52s cubic-bezier(.2,.7,.2,1) .08s backwards}\n        .mf-v2 .mf-sframe[data-mf-fboot=\"1\"] .mf-br-br{animation:mf-fbr-br .52s cubic-bezier(.2,.7,.2,1) .12s backwards}\n        .mf-v2 .mf-sframe[data-mf-fboot=\"1\"] .mf-tab,.mf-v2 .mf-sframe[data-mf-fboot=\"1\"] .mf-fnum{animation:mf-fbr-in .36s linear .1s backwards}\n        .mf-v2 .mf-sframe[data-mf-fboot=\"1\"] .mf-frail{animation:mf-fbr-in .4s linear .3s backwards}\n        .mf-v2 .mf-sframe .mf-frail i{position:absolute;left:0;top:0;width:1px;height:0;background:var(--mf-acc);box-shadow:0 0 8px rgba(0,213,240,.6)}\n        .mf-v2[data-mf-sframe=\"1\"] .mf-workfor{background:#ff3b4a;color:#07080c!important;padding:3px 6px 2px;font-size:10px!important;font-weight:400!important;letter-spacing:.16em!important;line-height:1}\n        .mf-v2 .mf-sq{display:none}\n        .mf-v2[data-mf-sframe=\"1\"] .mf-sq{display:block;width:5px;height:5px;background:#ff3b4a;flex:none;margin:0 -8px}\n        .mf-v2 .mf-hero-h1{font-size:clamp(52px,7.85vw,129px)}\n        /* Headline: .mf-headline-frame = % band + container (cqi).\n           .mf-headline-block = shrink-wrap to content (Colour: max of kicker/H1).\n           Desktop base (layoutW > ${HEADLINE_DESKTOP_MIN}). */\n        .mf-v2 .mf-headline-wrap{\n          top:${HEADLINE_TOP_DESKTOP}px!important;\n          /* Match nav + NOW SHOWING: 1320 column + equal L/R edge pad */\n          left:0!important;\n          right:0!important;\n          max-width:${CONTENT_MAX}px!important;\n          margin-left:auto!important;\n          margin-right:auto!important;\n          box-sizing:border-box!important;\n          padding-left:${HEADLINE_PAD_L_DESKTOP}px!important;\n          padding-right:${HEADLINE_PAD_R_DESKTOP}px!important;\n        }\n        .mf-v2 .mf-headline-frame{\n          width:${HEADLINE_W_DESKTOP*100}%;\n          max-width:100%;\n          container-type:inline-size;\n          container-name:mf-hl;\n        }\n        .mf-v2 .mf-headline-block{\n          width:100%;\n          max-width:100%;\n        }\n        /* Colour: stack shrink-wraps to the wider of kicker / H1 (shared edges) */\n        .mf-v2[data-mf-mode=\"colour\"] .mf-headline-block{\n          display:flex;\n          flex-direction:column;\n          align-items:stretch;\n          width:max-content;\n          max-width:100%;\n        }\n        /* —— below desktop: both signals share tablet %; phone overrides width only —— */\n        @media (max-width:${HEADLINE_DESKTOP_MIN}px){\n          .mf-v2 .mf-headline-frame{width:${HEADLINE_W_TABLET*100}%}\n          .mf-v2[data-mf-mode=\"motion\"] .mf-headline-wrap{top:${HEADLINE_TOP_TABLET_MOTION}px!important}\n          .mf-v2[data-mf-mode=\"colour\"] .mf-headline-wrap{top:${HEADLINE_TOP_TABLET_COLOUR}px!important}\n          .mf-v2[data-mf-mode=\"colour\"] .mf-hero-h1{\n            font-size:clamp(34px,${HEADLINE_H1_CQI_COLOUR_TABLET}cqi,${HEADLINE_H1_MAX_COLOUR_TABLET}px)!important;\n            white-space:normal;\n          }\n          .mf-v2[data-mf-mode=\"colour\"] .mf-headline-label{\n            font-size:clamp(${HEADLINE_KICKER_MIN_COLOUR}px,${HEADLINE_KICKER_CQI_COLOUR_TABLET}cqi,17px)!important;\n            letter-spacing:${HEADLINE_KICKER_TRACK_COLOUR}em!important;\n            white-space:nowrap;\n          }\n          .mf-v2[data-mf-mode=\"motion\"] .mf-hero-h1{\n            font-size:clamp(${HEADLINE_H1_MIN_MOTION}px,${HEADLINE_H1_CQI_MOTION_TABLET}cqi,${HEADLINE_H1_MAX_MOTION}px)!important;\n          }\n          .mf-v2[data-mf-mode=\"motion\"] .mf-headline-label{\n            font-size:clamp(${HEADLINE_KICKER_MIN_MOTION}px,${HEADLINE_KICKER_CQI_MOTION_TABLET}cqi,${HEADLINE_KICKER_MAX_MOTION}px)!important;\n            letter-spacing:${HEADLINE_KICKER_TRACK_MOTION}em!important;\n          }\n        }\n        .mf-v2[data-mf-max-1024=\"1\"] .mf-headline-frame{width:${HEADLINE_W_TABLET*100}%}\n        .mf-v2[data-mf-max-1024=\"1\"][data-mf-mode=\"motion\"] .mf-headline-wrap{top:${HEADLINE_TOP_TABLET_MOTION}px!important}\n        .mf-v2[data-mf-mode=\"colour\"][data-mf-max-1024=\"1\"] .mf-headline-wrap{top:${HEADLINE_TOP_TABLET_COLOUR}px!important}\n        .mf-v2[data-mf-mode=\"colour\"][data-mf-max-1024=\"1\"] .mf-hero-h1{\n          font-size:clamp(34px,${HEADLINE_H1_CQI_COLOUR_TABLET}cqi,${HEADLINE_H1_MAX_COLOUR_TABLET}px)!important;\n          white-space:normal;\n        }\n        .mf-v2[data-mf-mode=\"colour\"][data-mf-max-1024=\"1\"] .mf-headline-label{\n          font-size:clamp(${HEADLINE_KICKER_MIN_COLOUR}px,${HEADLINE_KICKER_CQI_COLOUR_TABLET}cqi,17px)!important;\n          letter-spacing:${HEADLINE_KICKER_TRACK_COLOUR}em!important;\n          white-space:nowrap;\n        }\n        .mf-v2[data-mf-mode=\"motion\"][data-mf-max-1024=\"1\"] .mf-hero-h1{\n          font-size:clamp(${HEADLINE_H1_MIN_MOTION}px,${HEADLINE_H1_CQI_MOTION_TABLET}cqi,${HEADLINE_H1_MAX_MOTION}px)!important;\n        }\n        .mf-v2[data-mf-mode=\"motion\"][data-mf-max-1024=\"1\"] .mf-headline-label{\n          font-size:clamp(${HEADLINE_KICKER_MIN_MOTION}px,${HEADLINE_KICKER_CQI_MOTION_TABLET}cqi,${HEADLINE_KICKER_MAX_MOTION}px)!important;\n          letter-spacing:${HEADLINE_KICKER_TRACK_MOTION}em!important;\n        }\n        .mf-v2[data-mf-hl-tablet=\"1\"] .mf-headline-frame{width:${HEADLINE_W_TABLET*100}%}\n        .mf-v2[data-mf-mode=\"colour\"][data-mf-hl-tablet=\"1\"] .mf-headline-wrap{\n          top:${HEADLINE_TOP_TABLET_COLOUR}px!important;\n        }\n        .mf-v2[data-mf-mode=\"motion\"][data-mf-hl-tablet=\"1\"] .mf-headline-wrap{\n          top:${HEADLINE_TOP_TABLET_MOTION}px!important;\n        }\n        .mf-v2[data-mf-mode=\"colour\"][data-mf-hl-tablet=\"1\"] .mf-hero-h1{\n          font-size:clamp(34px,${HEADLINE_H1_CQI_COLOUR_TABLET}cqi,${HEADLINE_H1_MAX_COLOUR_TABLET}px)!important;\n          white-space:normal;\n        }\n        .mf-v2[data-mf-mode=\"colour\"][data-mf-hl-tablet=\"1\"] .mf-headline-label{\n          font-size:clamp(${HEADLINE_KICKER_MIN_COLOUR}px,${HEADLINE_KICKER_CQI_COLOUR_TABLET}cqi,17px)!important;\n          letter-spacing:${HEADLINE_KICKER_TRACK_COLOUR}em!important;\n          white-space:nowrap;\n        }\n        .mf-v2[data-mf-mode=\"motion\"][data-mf-hl-tablet=\"1\"] .mf-hero-h1{\n          font-size:clamp(${HEADLINE_H1_MIN_MOTION}px,${HEADLINE_H1_CQI_MOTION_TABLET}cqi,${HEADLINE_H1_MAX_MOTION}px)!important;\n        }\n        .mf-v2[data-mf-mode=\"motion\"][data-mf-hl-tablet=\"1\"] .mf-headline-label{\n          font-size:clamp(${HEADLINE_KICKER_MIN_MOTION}px,${HEADLINE_KICKER_CQI_MOTION_TABLET}cqi,${HEADLINE_KICKER_MAX_MOTION}px)!important;\n          letter-spacing:${HEADLINE_KICKER_TRACK_MOTION}em!important;\n        }\n        /* Phone — both signals share 75% frame; tops still signal-specific */\n        @media (max-width:${HEADLINE_PHONE_MAX}px){\n          .mf-v2 .mf-headline-frame{width:${HEADLINE_W_PHONE*100}%}\n          .mf-v2[data-mf-mode=\"colour\"] .mf-headline-wrap{top:${HEADLINE_TOP_COMPACT_COLOUR}px!important}\n          .mf-v2[data-mf-mode=\"motion\"] .mf-headline-wrap{top:${HEADLINE_TOP_COMPACT_MOTION}px!important}\n          .mf-v2[data-mf-mode=\"colour\"] .mf-hero-h1{\n            font-size:clamp(${HEADLINE_H1_MIN_COLOUR_COMPACT}px,${HEADLINE_H1_CQI_COLOUR_COMPACT}cqi,98px)!important;\n            line-height:${HEADLINE_H1_LEAD_PHONE_COLOUR}!important;\n            white-space:normal;\n          }\n          .mf-v2[data-mf-mode=\"colour\"] .mf-headline-label{\n            font-size:clamp(${HEADLINE_KICKER_MIN_COLOUR}px,${HEADLINE_KICKER_CQI_COLOUR_COMPACT}cqi,17px)!important;\n            letter-spacing:${HEADLINE_KICKER_TRACK_COLOUR}em!important;\n            white-space:nowrap;\n          }\n          .mf-v2[data-mf-mode=\"motion\"] .mf-hero-h1{\n            font-size:clamp(${HEADLINE_H1_MIN_MOTION_COMPACT}px,${HEADLINE_H1_CQI_MOTION_COMPACT}cqi,${HEADLINE_H1_MAX_MOTION_COMPACT}px)!important;\n            line-height:${HEADLINE_H1_LEAD_PHONE_MOTION}!important;\n          }\n          .mf-v2[data-mf-mode=\"motion\"] .mf-headline-label{\n            font-size:clamp(${HEADLINE_KICKER_MIN_MOTION}px,${HEADLINE_KICKER_CQI_MOTION_COMPACT}cqi,${HEADLINE_KICKER_MAX_MOTION_PHONE}px)!important;\n            letter-spacing:${HEADLINE_KICKER_TRACK_MOTION}em!important;\n          }\n        }\n        .mf-v2[data-mf-max-680=\"1\"] .mf-headline-frame{width:${HEADLINE_W_PHONE*100}%}\n        .mf-v2[data-mf-mode=\"colour\"][data-mf-max-680=\"1\"] .mf-headline-wrap{\n          top:${HEADLINE_TOP_COMPACT_COLOUR}px!important;\n        }\n        .mf-v2[data-mf-mode=\"motion\"][data-mf-max-680=\"1\"] .mf-headline-wrap{\n          top:${HEADLINE_TOP_COMPACT_MOTION}px!important;\n        }\n        .mf-v2[data-mf-mode=\"colour\"][data-mf-max-680=\"1\"] .mf-hero-h1{\n          font-size:clamp(${HEADLINE_H1_MIN_COLOUR_COMPACT}px,${HEADLINE_H1_CQI_COLOUR_COMPACT}cqi,98px)!important;\n          line-height:${HEADLINE_H1_LEAD_PHONE_COLOUR}!important;\n          white-space:normal;\n        }\n        .mf-v2[data-mf-mode=\"colour\"][data-mf-max-680=\"1\"] .mf-headline-label{\n          font-size:clamp(${HEADLINE_KICKER_MIN_COLOUR}px,${HEADLINE_KICKER_CQI_COLOUR_COMPACT}cqi,17px)!important;\n          letter-spacing:${HEADLINE_KICKER_TRACK_COLOUR}em!important;\n          white-space:nowrap;\n        }\n        .mf-v2[data-mf-mode=\"motion\"][data-mf-max-680=\"1\"] .mf-hero-h1{\n          font-size:clamp(${HEADLINE_H1_MIN_MOTION_COMPACT}px,${HEADLINE_H1_CQI_MOTION_COMPACT}cqi,${HEADLINE_H1_MAX_MOTION_COMPACT}px)!important;\n          line-height:${HEADLINE_H1_LEAD_PHONE_MOTION}!important;\n        }\n        .mf-v2[data-mf-mode=\"motion\"][data-mf-max-680=\"1\"] .mf-headline-label{\n          font-size:clamp(${HEADLINE_KICKER_MIN_MOTION}px,${HEADLINE_KICKER_CQI_MOTION_COMPACT}cqi,${HEADLINE_KICKER_MAX_MOTION_PHONE}px)!important;\n          letter-spacing:${HEADLINE_KICKER_TRACK_MOTION}em!important;\n        }\n        /* Colour type — cqi against the frame (desktop base). Each line is its own nowrap row. */\n        .mf-v2[data-mf-mode=\"colour\"] .mf-hero-h1{\n          font-size:clamp(34px,${HEADLINE_H1_CQI_COLOUR}cqi,98px)!important;\n          letter-spacing:-.015em;\n          line-height:${HEADLINE_H1_LEAD_COLOUR}!important;\n          max-width:100%;\n          width:max-content;\n          white-space:normal;\n        }\n        /* Both signals: one intentional phrase per line (prevents soft-wrap \"ONE STUDIO.TWO…\") */\n        .mf-v2 .mf-hero-h1-line{\n          display:block;\n          white-space:nowrap;\n        }\n        /* Kicker subordinate to H1: smaller cqi ratio + fixed 0.32em tracking (never width-matched) */\n        .mf-v2[data-mf-mode=\"colour\"] .mf-headline-label{\n          display:block;\n          width:max-content;\n          max-width:100%;\n          box-sizing:border-box;\n          font-family:var(--sans)!important;\n          font-size:clamp(${HEADLINE_KICKER_MIN_COLOUR}px,${HEADLINE_KICKER_CQI_COLOUR}cqi,17px)!important;\n          letter-spacing:${HEADLINE_KICKER_TRACK_COLOUR}em!important;\n          white-space:nowrap;\n          margin-bottom:clamp(${HEADLINE_KICKER_GAP_MIN_PX}px,${HEADLINE_KICKER_GAP_CQI}cqi,${HEADLINE_KICKER_GAP_MAX_PX}px)!important;\n          /* Schibsted has a real 500 face */\n          font-weight:500!important;\n          font-synthesis:none;\n        }\n        /* Motion type — hotter cqi (condensed ALLCAPS); three locked lines; kicker subordinate */\n        .mf-v2[data-mf-mode=\"motion\"] .mf-headline-block{\n          display:flex;\n          flex-direction:column;\n          align-items:stretch;\n          width:max-content;\n          max-width:100%;\n        }\n        .mf-v2[data-mf-mode=\"motion\"] .mf-hero-h1{\n          font-size:clamp(${HEADLINE_H1_MIN_MOTION}px,${HEADLINE_H1_CQI_MOTION}cqi,${HEADLINE_H1_MAX_MOTION}px)!important;\n          width:max-content;\n          max-width:100%;\n          white-space:normal;\n          line-height:${HEADLINE_H1_LEAD_MOTION}!important;\n        }\n        .mf-v2[data-mf-mode=\"motion\"] .mf-headline-label{\n          display:block;\n          width:max-content;\n          max-width:100%;\n          box-sizing:border-box;\n          font-family:var(--mf-font-label-motion)!important;\n          font-size:clamp(${HEADLINE_KICKER_MIN_MOTION}px,${HEADLINE_KICKER_CQI_MOTION}cqi,${HEADLINE_KICKER_MAX_MOTION}px)!important;\n          letter-spacing:${HEADLINE_KICKER_TRACK_MOTION}em!important;\n          white-space:nowrap;\n          margin-bottom:clamp(${HEADLINE_KICKER_GAP_MIN_PX}px,${HEADLINE_KICKER_GAP_CQI}cqi,${HEADLINE_KICKER_GAP_MAX_PX}px)!important;\n          /* Pawl Square: 100/300/400/700 only — use 400 = Regular */\n          font-weight:400!important;\n          font-synthesis:none;\n        }\n        .mf-v2 [data-mf-type=\"display\"]{font-family:var(--serif);letter-spacing:-.01em;text-transform:none}\n        .mf-v2[data-mf-mode=\"motion\"] [data-mf-type=\"display\"]{font-family:var(--mf-font-display-motion);font-weight:400!important;letter-spacing:.01em;text-transform:uppercase}\n        .mf-v2 [data-mf-type=\"label\"]{font-family:var(--sans)}\n        .mf-v2[data-mf-mode=\"motion\"] [data-mf-type=\"label\"]{font-family:var(--mf-font-label-motion);font-weight:300!important}\n        .mf-v2[data-mf-mode=\"motion\"] .mf-dim{font-weight:400!important}\n        .mf-v2 .mf-em{font-style:italic;color:var(--mf-acc)}\n        .mf-v2[data-mf-mode=\"motion\"] .mf-em{font-style:normal;color:var(--mf-acc);text-shadow:0 0 14px var(--mf-glow)}\n        .mf-v2 .mf-contact{font-family:var(--serif);font-style:italic;letter-spacing:.01em}\n        .mf-v2[data-mf-mode=\"motion\"] .mf-contact{font-family:var(--mf-font-body-motion);font-style:normal;font-weight:400!important;letter-spacing:.07em!important}\n        .mf-v2 .mf-body{font-family:var(--serif);font-weight:400}\n        .mf-v2[data-mf-mode=\"motion\"] .mf-body{font-family:var(--mf-font-body-motion);font-weight:300;text-transform:uppercase;font-size:13px!important;letter-spacing:.07em;line-height:1.7!important}\n        /* s160 stackMode About only: Pawl Square body, sentence case.\n           s162: also .mf-about-copy so inline fontSize on the paras cannot\n           resurrect Stretch/uppercase if a later bleed rule rematches. */\n        .mf-v2[data-mf-mode=\"motion\"][data-mf-stack=\"1\"] #about .mf-body,\n        .mf-v2[data-mf-stack=\"1\"] .mf-about-copy{font-family:var(--mf-font-label-motion)!important;font-weight:300!important;text-transform:none!important;font-size:15px!important;line-height:1.66!important;letter-spacing:.005em!important;color:#b9c2ce!important;max-width:38em!important}\n        /* s160 stackMode About gutters. Neutralise the mobile-about-screen\n           full-bleed expansion so content sits 22px off each edge; ?mfstack=0\n           keeps the s91 bleed math untouched. */\n        .mf-v2[data-mf-stack=\"1\"] #about{padding-left:22px!important;padding-right:22px!important}\n        .mf-v2[data-mf-stack=\"1\"] [data-mf=\"mobile-about-screen\"]{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}\n        .mf-v2 [data-mf=\"glitch\"]{opacity:0;transition:opacity .08s ease}\n        .mf-v2[data-mf-glitching=\"1\"] [data-mf=\"glitch\"]{opacity:1!important;transition:none}\n        .mf-v2[data-mf-glitching=\"1\"] [data-mf-glitch=\"r\"]{animation:mf-glitch-shake-a .42s steps(9) 1}\n        .mf-v2[data-mf-glitching=\"1\"] [data-mf-glitch=\"c\"]{animation:mf-glitch-shake-b .42s steps(9) 1}\n        .mf-v2[data-mf-glitching=\"1\"] [data-mf-glitch=\"slice\"]{animation:mf-glitch-tear .42s steps(1) 1}\n        .mf-v2[data-mf-glitching=\"1\"] [data-mf-glitch=\"flash\"]{animation:mf-glitch-flash .42s steps(1) 1}\n        .mf-v2[data-mf-glitching=\"1\"] [data-mf-glitch=\"block-a\"]{animation:mf-glitch-block-a .42s steps(1) 1}\n        .mf-v2[data-mf-glitching=\"1\"] [data-mf-glitch=\"block-b\"]{animation:mf-glitch-block-b .42s steps(1) 1}\n        .mf-v2[data-mf-glitching=\"1\"] [data-mf-glitch=\"scan\"]{animation:mf-glitch-scan .42s steps(1) 1}\n        /* Freeze page chrome under a lightbox so the compare drag isn't competing\n           with hero Ken-Burns / grain / REC pulse on the compositor. */\n        .mf-v2[data-mf-overlay=\"1\"] #top,\n        .mf-v2[data-mf-overlay=\"1\"] #top *{animation-play-state:paused!important}\n        .mf-v2 [data-mf=\"colour-op\"],.mf-v2 [data-mf=\"motion-op\"]{transition:opacity .9s ease}\n        .mf-v2 [data-mf=\"colour-op\"]{opacity:1}\n        .mf-v2 [data-mf=\"motion-op\"]{opacity:0}\n        .mf-v2[data-mf-mode=\"motion\"] [data-mf=\"colour-op\"]{opacity:0}\n        .mf-v2[data-mf-mode=\"motion\"] [data-mf=\"motion-op\"]{opacity:1}\n        .mf-v2[data-mf-mode=\"motion\"] .mf-badge{border-radius:0!important;clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px))}\n        .mf-v2 [data-mf=\"colour-only\"]{opacity:1;transition:opacity .9s ease}\n        .mf-v2 [data-mf=\"motion-only\"]{opacity:0;pointer-events:none;transition:opacity .9s ease}\n        .mf-v2[data-mf-mode=\"motion\"] [data-mf=\"colour-only\"]{opacity:0;pointer-events:none}\n        .mf-v2[data-mf-mode=\"motion\"] [data-mf=\"motion-only\"]{opacity:1;pointer-events:auto}\n        .mf-v2 [data-mf=\"knob\"]{left:2px;background:var(--mf-acc);transition:left .5s cubic-bezier(.7,0,.2,1),clip-path .5s cubic-bezier(.7,0,.2,1);\n          clip-path:polygon(0 11px,1.5px 5.5px,5.5px 1.5px,11px 0,calc(100% - 11px) 0,calc(100% - 5.5px) 1.5px,calc(100% - 1.5px) 5.5px,100% 11px,100% calc(100% - 11px),calc(100% - 1.5px) calc(100% - 5.5px),calc(100% - 5.5px) calc(100% - 1.5px),calc(100% - 11px) 100%,11px 100%,5.5px calc(100% - 1.5px),1.5px calc(100% - 5.5px),0 calc(100% - 11px))}\n        .mf-v2[data-mf-mode=\"motion\"] [data-mf=\"knob\"]{left:calc(50% + 1px);\n          clip-path:polygon(0 0,0 0,0 0,0 0,calc(100% - 11px) 0,calc(100% - 7.33px) 3.67px,calc(100% - 3.67px) 7.33px,100% 11px,100% 100%,100% 100%,100% 100%,100% 100%,11px 100%,7.33px calc(100% - 3.67px),3.67px calc(100% - 7.33px),0 calc(100% - 11px))}\n        @media (max-width:900px){\n          .mf-v2 .mf-pad-x{padding-left:28px!important;padding-right:28px!important}\n          .mf-v2 .mf-hud-corner{width:34px!important;height:34px!important}\n          .mf-v2 .mf-hud-tl{left:28px!important}\n          .mf-v2 .mf-hud-tr{right:28px!important}\n          .mf-v2 .mf-hud-br{right:28px!important}\n        }\n        .mf-v2[data-mf-max-900=\"1\"] .mf-pad-x{padding-left:28px!important;padding-right:28px!important}\n        /* Tablet (incl. iPad Pro 1024): smaller HUD + lift so corners clear motion kicker */\n        @media (max-width:${HEADLINE_DESKTOP_MIN}px){\n          .mf-v2 .mf-hud-corner{width:34px!important;height:34px!important}\n          .mf-v2 .mf-hud-tl{top:78px!important;left:28px!important}\n          .mf-v2 .mf-hud-tr{top:78px!important;right:28px!important}\n        }\n        .mf-v2[data-mf-max-1024=\"1\"] .mf-hud-corner{width:34px!important;height:34px!important}\n        .mf-v2[data-mf-max-1024=\"1\"] .mf-hud-tl{top:78px!important;left:28px!important}\n        .mf-v2[data-mf-max-1024=\"1\"] .mf-hud-tr{top:78px!important;right:28px!important}\n        .mf-v2[data-mf-max-900=\"1\"] .mf-hud-corner{width:34px!important;height:34px!important}\n        .mf-v2[data-mf-max-900=\"1\"] .mf-hud-tl{left:28px!important}\n        .mf-v2[data-mf-max-900=\"1\"] .mf-hud-tr{right:28px!important}\n        .mf-v2[data-mf-max-900=\"1\"] .mf-hud-br{right:28px!important}\n        @media (max-width:560px){\n          .mf-v2 .mf-pad-x{padding-left:18px!important;padding-right:18px!important}\n          .mf-v2 .mf-hud-corner{width:26px!important;height:26px!important}\n          .mf-v2 .mf-hud-tl{left:18px!important}\n          .mf-v2 .mf-hud-tr{right:18px!important}\n          .mf-v2 .mf-hud-br{right:18px!important}\n        }\n        .mf-v2[data-mf-max-560=\"1\"] .mf-pad-x{padding-left:18px!important;padding-right:18px!important}\n        /* s89: phone section-header backing escapes mf-pad-x so it\n           matches the full-bleed stack rows. Label text keeps the\n           same left edge via matching padding. Dual-write for canvas.\n           s91: width MUST be calc(100% + 2*pad), never 100% and never\n           auto. Negative side margins do not widen a box whose width is\n           a resolved length: 100% resolves against the PARENT content\n           box (339 at 375/pad 18), and the negative left margin then\n           merely shifts that 339 box to x=0, leaving 2*pad bare on the\n           RIGHT. Measured on production: all three bars were 339 wide on\n           a 375 screen while the stack row they hand off to was 375, so\n           the bar visibly shrank at the catch. auto full-bleeds for a\n           block box but shrink-wraps in one of the three containers\n           (their parents differ: mf-pad-x flex vs already-inset block);\n           calc is correct in both because 100% resolves against the\n           containing block either way. Keep the width in ALL THREE\n           blocks in step with that block own padding.\n           s91b: mobile-about-screen is mAboutScreenRef, and it shares this\n           rule ON PURPOSE. setCut writes a live clip-path on that element\n           for the departing-screen top clip, and a clip-path clips to its\n           OWN border box -- at 339 wide it was cutting the header's bleed\n           off on BOTH sides, so the rect said 375 while the paint stopped\n           at 18 and 357. Measured on production: painted pixel at x=2 was\n           the page background, not the header backing. The two selectors\n           must keep the same width and padding or the clip box and the\n           band it is meant to contain drift apart again. */\n        .mf-v2 [data-mf=\"mobile-sec-head\"], .mf-v2 [data-mf=\"mobile-about-screen\"]{width:calc(100% + 56px)!important;max-width:none!important;margin-left:-28px!important;margin-right:-28px!important;padding-left:28px;padding-right:28px;box-sizing:border-box}\n        @media (max-width:560px){\n          .mf-v2 [data-mf=\"mobile-sec-head\"], .mf-v2 [data-mf=\"mobile-about-screen\"]{width:calc(100% + 36px)!important;margin-left:-18px!important;margin-right:-18px!important;padding-left:18px;padding-right:18px}\n        }\n        .mf-v2[data-mf-max-560=\"1\"] [data-mf=\"mobile-sec-head\"], .mf-v2[data-mf-max-560=\"1\"] [data-mf=\"mobile-about-screen\"]{width:calc(100% + 36px)!important;margin-left:-18px!important;margin-right:-18px!important;padding-left:18px;padding-right:18px}\n        /* s161: stackMode About gutters. The s160 pair sat ABOVE the s91\n           bleed rules and lost the source-order fight at equal\n           specificity, so the 22px never painted and the -18px bleed\n           kept clipping the plate and the headline. These selectors\n           beat every s91 bleed rule. ?mfstack=0 is untouched. */\n        .mf-v2[data-mf-stack=\"1\"] #about{padding-left:22px!important;padding-right:22px!important}\n        .mf-v2[data-mf-stack=\"1\"] [data-mf=\"mobile-about-screen\"],\n        .mf-v2[data-mf-stack=\"1\"][data-mf-max-560=\"1\"] [data-mf=\"mobile-about-screen\"],\n        .mf-v2[data-mf-stack=\"1\"][data-mf-max-820=\"1\"] [data-mf=\"mobile-about-screen\"]{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}\n        .mf-v2[data-mf-max-560=\"1\"] .mf-hud-corner{width:26px!important;height:26px!important}\n        .mf-v2[data-mf-max-560=\"1\"] .mf-hud-tl{left:18px!important}\n        .mf-v2[data-mf-max-560=\"1\"] .mf-hud-tr{right:18px!important}\n        .mf-v2[data-mf-max-560=\"1\"] .mf-hud-br{right:18px!important}\n        /* All Motion phones: no HUD corners / REC strip */\n        @media (max-width:${HEADLINE_PHONE_MAX}px){\n          .mf-v2[data-mf-mode=\"motion\"] .mf-hud-corner,\n          .mf-v2[data-mf-mode=\"motion\"] .mf-hud-telemetry{\n            display:none!important;\n          }\n          .mf-v2[data-mf-mode=\"motion\"] .mf-headline-wrap{\n            top:${HEADLINE_TOP_COMPACT_MOTION}px!important;\n          }\n        }\n        .mf-v2[data-mf-mode=\"motion\"][data-mf-max-680=\"1\"] .mf-hud-corner,\n        .mf-v2[data-mf-mode=\"motion\"][data-mf-max-680=\"1\"] .mf-hud-telemetry{\n          display:none!important;\n        }\n        .mf-v2[data-mf-mode=\"motion\"][data-mf-max-680=\"1\"] .mf-headline-wrap{\n          top:${HEADLINE_TOP_COMPACT_MOTION}px!important;\n        }\n        /* SE: no kicker; H1 −25%; keep nav top clearance (NAV_H+14) */\n        @media (max-width:${HEADLINE_PHONE_SM_MAX}px){\n          .mf-v2[data-mf-mode=\"motion\"] .mf-headline-wrap{\n            top:${HEADLINE_TOP_SE_MOTION}px!important;\n          }\n          .mf-v2[data-mf-mode=\"motion\"] .mf-headline-label{\n            display:none!important;\n          }\n          .mf-v2[data-mf-mode=\"motion\"] .mf-hero-h1{\n            font-size:clamp(${HEADLINE_H1_MIN_MOTION_SE}px,${HEADLINE_H1_CQI_MOTION_SE}cqi,${HEADLINE_H1_MAX_MOTION_SE}px)!important;\n            line-height:0.88!important;\n          }\n        }\n        .mf-v2[data-mf-mode=\"motion\"][data-mf-max-390=\"1\"] .mf-headline-wrap{\n          top:${HEADLINE_TOP_SE_MOTION}px!important;\n        }\n        .mf-v2[data-mf-mode=\"motion\"][data-mf-max-390=\"1\"] .mf-headline-label{\n          display:none!important;\n        }\n        .mf-v2[data-mf-mode=\"motion\"][data-mf-max-390=\"1\"] .mf-hero-h1{\n          font-size:clamp(${HEADLINE_H1_MIN_MOTION_SE}px,${HEADLINE_H1_CQI_MOTION_SE}cqi,${HEADLINE_H1_MAX_MOTION_SE}px)!important;\n          line-height:0.88!important;\n        }\n        .mf-v2 .mf-nav-links{display:flex}\n        .mf-v2 .mf-nav-burger{display:none}\n        @media (max-width:860px){\n          .mf-v2 .mf-nav-links{display:none}\n          .mf-v2 .mf-nav-burger{display:flex}\n        }\n        .mf-v2[data-mf-max-860=\"1\"] .mf-nav-links{display:none}\n        .mf-v2[data-mf-max-860=\"1\"] .mf-nav-burger{display:flex}\n        @media (max-width:820px){\n          .mf-v2 .mf-studio-grid{grid-template-columns:1fr!important;gap:44px!important}\n        }\n        .mf-v2[data-mf-max-820=\"1\"] .mf-studio-grid{grid-template-columns:1fr!important;gap:44px!important}\n        /* s160 stackMode: headshot plate inline with name+role (not stacked).\n           After the phone grid collapse so gap 16 wins over gap 44. */\n        .mf-v2[data-mf-stack=\"1\"] .mf-studio-grid{grid-template-columns:none!important;display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:16px!important}\n        /* s44 About screen: bio two-up is column-major (auto-flow column, 2\n           rows) on wide layouts; the collapse must ALSO reset the flow to\n           row, or one column x 2 rows overflows into implicit columns. */\n        @media (max-width:820px){\n          .mf-v2 .mf-about-bio{grid-template-columns:1fr!important;grid-template-rows:none!important;grid-auto-flow:row!important}\n          .mf-v2 .mf-about-disc{grid-template-columns:repeat(2,1fr)!important}\n        }\n        .mf-v2[data-mf-max-820=\"1\"] .mf-about-bio{grid-template-columns:1fr!important;grid-template-rows:none!important;grid-auto-flow:row!important}\n        .mf-v2[data-mf-max-820=\"1\"] .mf-about-disc{grid-template-columns:repeat(2,1fr)!important}\n        /* NOW SHOWING: pin right even when flex row wraps (iPad long titles) */\n        .mf-v2 .mf-hero-bottom-right{\n          margin-left:auto;\n          min-width:0;\n        }\n        .mf-v2 .mf-now-title{\n          overflow-wrap:break-word;\n        }\n        /* NOW SHOWING — enlarge the whole block on tablet/desktop only (Colour +20%, Motion +40%\n           over the 10/38/10 base). Gated >680 so phones keep their 26/34 title + 10 meta.\n           Dual-written: @media for real devices, :not([data-mf-max-680]) for Framer canvas frames. */\n        @media (min-width:${HEADLINE_PHONE_MAX+1}px){\n          .mf-v2[data-mf-mode=\"colour\"] .mf-now-label{font-size:${NOW_LABEL_PX_COLOUR}px!important}\n          .mf-v2[data-mf-mode=\"colour\"] .mf-now-title{font-size:${NOW_TITLE_PX_COLOUR}px!important}\n          .mf-v2[data-mf-mode=\"colour\"] .mf-now-tag{font-size:${NOW_TAG_PX_COLOUR}px!important}\n          .mf-v2[data-mf-mode=\"motion\"] .mf-now-label{font-size:${NOW_LABEL_PX_MOTION}px!important}\n          .mf-v2[data-mf-mode=\"motion\"] .mf-now-title{font-size:${NOW_TITLE_PX_MOTION}px!important}\n          .mf-v2[data-mf-mode=\"motion\"] .mf-now-tag{font-size:${NOW_TAG_PX_MOTION}px!important}\n        }\n        .mf-v2:not([data-mf-max-680=\"1\"])[data-mf-mode=\"colour\"] .mf-now-label{font-size:${NOW_LABEL_PX_COLOUR}px!important}\n        .mf-v2:not([data-mf-max-680=\"1\"])[data-mf-mode=\"colour\"] .mf-now-title{font-size:${NOW_TITLE_PX_COLOUR}px!important}\n        .mf-v2:not([data-mf-max-680=\"1\"])[data-mf-mode=\"colour\"] .mf-now-tag{font-size:${NOW_TAG_PX_COLOUR}px!important}\n        .mf-v2:not([data-mf-max-680=\"1\"])[data-mf-mode=\"motion\"] .mf-now-label{font-size:${NOW_LABEL_PX_MOTION}px!important}\n        .mf-v2:not([data-mf-max-680=\"1\"])[data-mf-mode=\"motion\"] .mf-now-title{font-size:${NOW_TITLE_PX_MOTION}px!important}\n        .mf-v2:not([data-mf-max-680=\"1\"])[data-mf-mode=\"motion\"] .mf-now-tag{font-size:${NOW_TAG_PX_MOTION}px!important}\n        /* Desktop/tablet: reel under headline (same column as H1). Phone: hide. */\n        .mf-v2 .mf-reel-under-headline{\n          display:none;\n          margin-top:${REEL_UNDER_MT}px;\n          width:100%;\n        }\n        .mf-v2 .mf-reel-under-headline .mf-reel-under-grid{\n          display:grid;\n          width:100%;\n        }\n        .mf-v2 .mf-reel-under-btn{\n          grid-area:1/1;\n          cursor:pointer;\n          background:none;\n          border:none;\n          padding:0;\n          display:inline-flex;\n          align-items:center;\n          gap:${REEL_UNDER_GAP}px;\n          text-align:left;\n          max-width:100%;\n        }\n        .mf-v2 .mf-reel-under-icon{\n          width:${REEL_UNDER_ICON}px;\n          height:${REEL_UNDER_ICON}px;\n          flex:none;\n          display:flex;\n          align-items:center;\n          justify-content:center;\n        }\n        .mf-v2 .mf-reel-under-title-colour{\n          display:block;\n          font-family:${REEL_TITLE_FONT_COLOUR};\n          font-style:${REEL_TITLE_STYLE_COLOUR};\n          font-weight:${REEL_TITLE_WEIGHT_COLOUR};\n          font-synthesis:none;\n          font-size:${REEL_TITLE_PX_COLOUR}px;\n          line-height:1;\n          letter-spacing:${REEL_TITLE_TRACK_COLOUR}em;\n          text-transform:${REEL_TITLE_TRANSFORM_COLOUR};\n          color:#fff;\n          transform:translateX(${REEL_TITLE_X_COLOUR}px);\n        }\n        .mf-v2 .mf-reel-under-sub-colour{\n          display:block;\n          margin-top:${REEL_SUB_MT_COLOUR}px;\n          font-family:${REEL_SUB_FONT_COLOUR};\n          font-style:${REEL_SUB_STYLE_COLOUR};\n          font-weight:${REEL_SUB_WEIGHT_COLOUR};\n          font-synthesis:none;\n          font-size:${REEL_SUB_PX_COLOUR}px;\n          letter-spacing:${REEL_SUB_TRACK_COLOUR}em;\n          text-transform:${REEL_SUB_TRANSFORM_COLOUR};\n          color:${REEL_SUB_COLOR_COLOUR};\n          transform:translateX(${REEL_SUB_X_COLOUR}px);\n        }\n        .mf-v2 .mf-reel-under-title-motion{\n          display:block;\n          font-family:${REEL_TITLE_FONT_MOTION};\n          font-style:${REEL_TITLE_STYLE_MOTION};\n          font-weight:${REEL_TITLE_WEIGHT_MOTION};\n          font-synthesis:none;\n          font-size:${REEL_TITLE_PX_MOTION}px;\n          line-height:1;\n          letter-spacing:${REEL_TITLE_TRACK_MOTION}em;\n          text-transform:${REEL_TITLE_TRANSFORM_MOTION};\n          color:#fff;\n          transform:translateX(${REEL_TITLE_X_MOTION}px);\n        }\n        .mf-v2 .mf-reel-under-sub-motion{\n          display:block;\n          margin-top:${REEL_SUB_MT_MOTION}px;\n          font-family:${REEL_SUB_FONT_MOTION};\n          font-style:${REEL_SUB_STYLE_MOTION};\n          font-weight:${REEL_SUB_WEIGHT_MOTION};\n          font-synthesis:none;\n          font-size:${REEL_SUB_PX_MOTION}px;\n          letter-spacing:${REEL_SUB_TRACK_MOTION}em;\n          text-transform:${REEL_SUB_TRANSFORM_MOTION};\n          color:${REEL_SUB_COLOR_MOTION};\n          transform:translateX(${REEL_SUB_X_MOTION}px);\n        }\n        @media (min-width:${HEADLINE_PHONE_MAX+1}px){\n          .mf-v2 .mf-reel-under-headline{display:block}\n          .mf-v2 .mf-reel-row{display:none!important}\n        }\n        .mf-v2:not([data-mf-max-680=\"1\"]) .mf-reel-under-headline{display:block}\n        .mf-v2:not([data-mf-max-680=\"1\"]) .mf-reel-row{display:none!important}\n        .mf-v2[data-mf-max-680=\"1\"] .mf-reel-under-headline{display:none!important}\n        /* Phone floating reel type/layout — driven by REEL_PHONE_* knobs */\n        .mf-v2 .mf-reel-phone-btn{\n          grid-area:1/1;\n          cursor:pointer;\n          background:none;\n          border:none;\n          padding:0;\n          display:inline-flex;\n          flex-direction:column;\n          align-items:center;\n          gap:${REEL_PHONE_GAP}px;\n          text-align:center;\n        }\n        .mf-v2 .mf-reel-phone-icon{\n          width:${REEL_PHONE_ICON}px;\n          height:${REEL_PHONE_ICON}px;\n          flex:none;\n          display:flex;\n          align-items:center;\n          justify-content:center;\n        }\n        .mf-v2 .mf-reel-phone-title-colour{\n          display:block;\n          font-family:${REEL_PHONE_TITLE_FONT_COLOUR};\n          font-style:${REEL_PHONE_TITLE_STYLE_COLOUR};\n          font-weight:${REEL_PHONE_TITLE_WEIGHT_COLOUR};\n          font-synthesis:none;\n          font-size:${REEL_PHONE_TITLE_PX_COLOUR}px;\n          line-height:1;\n          letter-spacing:${REEL_PHONE_TITLE_TRACK_COLOUR}em;\n          text-transform:${REEL_PHONE_TITLE_TRANSFORM_COLOUR};\n          color:#fff;\n          transform:translateX(${REEL_PHONE_TITLE_X_COLOUR}px);\n        }\n        .mf-v2 .mf-reel-phone-sub-colour{\n          display:block;\n          margin-top:${REEL_PHONE_SUB_MT_COLOUR}px;\n          font-family:${REEL_PHONE_SUB_FONT_COLOUR};\n          font-style:${REEL_PHONE_SUB_STYLE_COLOUR};\n          font-weight:${REEL_PHONE_SUB_WEIGHT_COLOUR};\n          font-synthesis:none;\n          font-size:${REEL_PHONE_SUB_PX_COLOUR}px;\n          letter-spacing:${REEL_PHONE_SUB_TRACK_COLOUR}em;\n          text-transform:${REEL_PHONE_SUB_TRANSFORM_COLOUR};\n          color:${REEL_PHONE_SUB_COLOR_COLOUR};\n          transform:translateX(${REEL_PHONE_SUB_X_COLOUR}px);\n        }\n        .mf-v2 .mf-reel-phone-title-motion{\n          display:block;\n          font-family:${REEL_PHONE_TITLE_FONT_MOTION};\n          font-style:${REEL_PHONE_TITLE_STYLE_MOTION};\n          font-weight:${REEL_PHONE_TITLE_WEIGHT_MOTION};\n          font-synthesis:none;\n          font-size:${REEL_PHONE_TITLE_PX_MOTION}px;\n          line-height:1;\n          letter-spacing:${REEL_PHONE_TITLE_TRACK_MOTION}em;\n          text-transform:${REEL_PHONE_TITLE_TRANSFORM_MOTION};\n          color:#fff;\n          transform:translateX(${REEL_PHONE_TITLE_X_MOTION}px);\n        }\n        .mf-v2 .mf-reel-phone-sub-motion{\n          display:block;\n          margin-top:${REEL_PHONE_SUB_MT_MOTION}px;\n          font-family:${REEL_PHONE_SUB_FONT_MOTION};\n          font-style:${REEL_PHONE_SUB_STYLE_MOTION};\n          font-weight:${REEL_PHONE_SUB_WEIGHT_MOTION};\n          font-synthesis:none;\n          font-size:${REEL_PHONE_SUB_PX_MOTION}px;\n          letter-spacing:${REEL_PHONE_SUB_TRACK_MOTION}em;\n          text-transform:${REEL_PHONE_SUB_TRANSFORM_MOTION};\n          color:${REEL_PHONE_SUB_COLOR_MOTION};\n          transform:translateX(${REEL_PHONE_SUB_X_MOTION}px);\n        }\n        @media (max-width:680px){\n          .mf-v2 .mf-hero-bottom-row{flex-direction:column;align-items:center!important;gap:40px!important}\n          .mf-v2 .mf-reel-row{display:none!important}\n          .mf-v2 .mf-reel-row-mobile{display:flex!important}\n          .mf-v2 .mf-hero-bottom-right{align-self:flex-end!important;text-align:right!important;margin-left:auto}\n          .mf-v2 .mf-reel-under-headline{display:none!important}\n          .mf-v2[data-mf-mode=\"colour\"] .mf-now-title{font-size:26px!important}\n          .mf-v2[data-mf-mode=\"motion\"] .mf-now-title{font-size:34px!important}\n          .mf-v2[data-mf-mode=\"motion\"] .mf-headline-label{margin-bottom:${HEADLINE_KICKER_GAP_MIN_PX}px!important}\n          /* Phone: desktop-ratio type (gap via cqi; no crush margin-bottom) */\n          .mf-v2[data-mf-mode=\"colour\"] .mf-hero-h1{font-size:clamp(${HEADLINE_H1_MIN_COLOUR_COMPACT}px,${HEADLINE_H1_CQI_COLOUR_COMPACT}cqi,98px)!important;line-height:${HEADLINE_H1_LEAD_PHONE_COLOUR}!important;white-space:normal}\n          .mf-v2[data-mf-mode=\"colour\"] .mf-headline-label{font-size:clamp(${HEADLINE_KICKER_MIN_COLOUR}px,${HEADLINE_KICKER_CQI_COLOUR_COMPACT}cqi,17px)!important;letter-spacing:${HEADLINE_KICKER_TRACK_COLOUR}em!important;font-weight:500!important;font-synthesis:none;white-space:nowrap}\n          .mf-v2[data-mf-mode=\"motion\"] .mf-hero-h1{font-size:clamp(${HEADLINE_H1_MIN_MOTION_COMPACT}px,${HEADLINE_H1_CQI_MOTION_COMPACT}cqi,${HEADLINE_H1_MAX_MOTION_COMPACT}px)!important;line-height:${HEADLINE_H1_LEAD_PHONE_MOTION}!important;white-space:normal}\n          .mf-v2[data-mf-mode=\"motion\"] .mf-headline-label{font-size:clamp(${HEADLINE_KICKER_MIN_MOTION}px,${HEADLINE_KICKER_CQI_MOTION_COMPACT}cqi,${HEADLINE_KICKER_MAX_MOTION_PHONE}px)!important;letter-spacing:${HEADLINE_KICKER_TRACK_MOTION}em!important;font-weight:400!important;font-synthesis:none;white-space:nowrap}\n        }\n        .mf-v2[data-mf-max-680=\"1\"] .mf-hero-bottom-row{flex-direction:column;align-items:center!important;gap:40px!important}\n        .mf-v2[data-mf-max-680=\"1\"] .mf-reel-row{display:none!important}\n        .mf-v2[data-mf-max-680=\"1\"] .mf-reel-row-mobile{display:flex!important}\n        .mf-v2[data-mf-max-680=\"1\"] .mf-hero-bottom-right{align-self:flex-end!important;text-align:right!important;margin-left:auto}\n        .mf-v2[data-mf-mode=\"colour\"][data-mf-max-680=\"1\"] .mf-now-title{font-size:26px!important}\n        .mf-v2[data-mf-mode=\"motion\"][data-mf-max-680=\"1\"] .mf-now-title{font-size:34px!important}\n        .mf-v2[data-mf-mode=\"motion\"][data-mf-max-680=\"1\"] .mf-headline-label{margin-bottom:${HEADLINE_KICKER_GAP_MIN_PX}px!important}\n        .mf-v2[data-mf-mode=\"colour\"][data-mf-max-680=\"1\"] .mf-hero-h1{font-size:clamp(${HEADLINE_H1_MIN_COLOUR_COMPACT}px,${HEADLINE_H1_CQI_COLOUR_COMPACT}cqi,98px)!important;line-height:${HEADLINE_H1_LEAD_PHONE_COLOUR}!important;white-space:normal}\n        .mf-v2[data-mf-mode=\"colour\"][data-mf-max-680=\"1\"] .mf-headline-label{font-size:clamp(${HEADLINE_KICKER_MIN_COLOUR}px,${HEADLINE_KICKER_CQI_COLOUR_COMPACT}cqi,17px)!important;letter-spacing:${HEADLINE_KICKER_TRACK_COLOUR}em!important;font-weight:500!important;font-synthesis:none;white-space:nowrap}\n        .mf-v2[data-mf-mode=\"motion\"][data-mf-max-680=\"1\"] .mf-hero-h1{font-size:clamp(${HEADLINE_H1_MIN_MOTION_COMPACT}px,${HEADLINE_H1_CQI_MOTION_COMPACT}cqi,${HEADLINE_H1_MAX_MOTION_COMPACT}px)!important;line-height:${HEADLINE_H1_LEAD_PHONE_MOTION}!important;white-space:normal}\n        .mf-v2[data-mf-mode=\"motion\"][data-mf-max-680=\"1\"] .mf-headline-label{font-size:clamp(${HEADLINE_KICKER_MIN_MOTION}px,${HEADLINE_KICKER_CQI_MOTION_COMPACT}cqi,${HEADLINE_KICKER_MAX_MOTION_PHONE}px)!important;letter-spacing:${HEADLINE_KICKER_TRACK_MOTION}em!important;font-weight:400!important;font-synthesis:none;white-space:nowrap}\n        /* Phones: hero must not exceed viewport (minHeight:720 was SE's real cut-off) */\n        @media (max-width:${HEADLINE_PHONE_MAX}px){\n          .mf-v2 .mf-hero{\n            height:100vh!important;\n            min-height:0!important;\n            max-height:100vh!important;\n          }\n        }\n        .mf-v2[data-mf-max-680=\"1\"] .mf-hero{\n          height:100vh!important;\n          min-height:0!important;\n          max-height:100vh!important;\n        }\n        /* SE LAST — must beat max-680 (SE has both data-mf-max-680 + max-390) */\n        @media (max-width:${HEADLINE_PHONE_SM_MAX}px){\n          .mf-v2[data-mf-mode=\"motion\"] .mf-headline-label{display:none!important}\n          .mf-v2[data-mf-mode=\"motion\"] .mf-headline-wrap{top:${HEADLINE_TOP_SE_MOTION}px!important}\n          .mf-v2[data-mf-mode=\"motion\"] .mf-hero-h1{\n            font-size:clamp(${HEADLINE_H1_MIN_MOTION_SE}px,${HEADLINE_H1_CQI_MOTION_SE}cqi,${HEADLINE_H1_MAX_MOTION_SE}px)!important;\n            line-height:0.88!important;\n            white-space:normal!important;\n          }\n        }\n        .mf-v2[data-mf-mode=\"motion\"][data-mf-max-390=\"1\"] .mf-headline-label{display:none!important}\n        .mf-v2[data-mf-mode=\"motion\"][data-mf-max-390=\"1\"] .mf-headline-wrap{top:${HEADLINE_TOP_SE_MOTION}px!important}\n        .mf-v2[data-mf-mode=\"motion\"][data-mf-max-390=\"1\"] .mf-hero-h1{\n          font-size:clamp(${HEADLINE_H1_MIN_MOTION_SE}px,${HEADLINE_H1_CQI_MOTION_SE}cqi,${HEADLINE_H1_MAX_MOTION_SE}px)!important;\n          line-height:0.88!important;\n          white-space:normal!important;\n        }\n        @media (max-width:520px){\n          .mf-v2 .mf-nav-toggle-label{font-size:8.5px!important;padding:6px 11px!important}\n        }\n        .mf-v2[data-mf-max-520=\"1\"] .mf-nav-toggle-label{font-size:8.5px!important;padding:6px 11px!important}\n        /* Reel lightbox entrance/exit. Both directions are keyframes — an exit\n           driven by transitions gets suppressed by the entrance animation's\n           fill-mode (animations own the property while filled); swapping\n           animation-name restarts cleanly instead. */\n        @keyframes mf-reel-overlay-in{from{opacity:0}to{opacity:1}}\n        @keyframes mf-reel-stage-in{from{opacity:0;transform:translateY(26px) scale(.955)}to{opacity:1;transform:none}}\n        @keyframes mf-reel-overlay-out{from{opacity:1}to{opacity:0}}\n        @keyframes mf-reel-stage-out{from{opacity:1;transform:none}to{opacity:0;transform:scale(.972)}}\n        .mf-v2 .mf-reel-overlay{animation:mf-reel-overlay-in ${REEL_LB_ENTER_OVERLAY_MS}ms ease both}\n        .mf-v2 .mf-reel-stage{animation:mf-reel-stage-in ${REEL_LB_ENTER_STAGE_MS}ms cubic-bezier(.22,.9,.28,1) ${REEL_LB_ENTER_STAGE_DELAY_MS}ms both}\n        .mf-v2 .mf-reel-close{animation:mf-reel-overlay-in ${REEL_LB_ENTER_OVERLAY_MS}ms ease ${REEL_LB_ENTER_CLOSEBTN_DELAY_MS}ms both}\n        .mf-v2 .mf-reel-overlay[data-mf-closing=\"1\"]{animation:mf-reel-overlay-out ${REEL_LB_CLOSE_MS}ms ease both}\n        .mf-v2 .mf-reel-overlay[data-mf-closing=\"1\"] .mf-reel-stage{animation:mf-reel-stage-out ${REEL_LB_CLOSE_MS}ms ease both}\n        .mf-v2 .mf-reel-overlay[data-mf-closing=\"1\"] .mf-reel-close{animation:mf-reel-overlay-out ${REEL_LB_CLOSE_MS}ms ease both}\n        /* Compare-lightbox shot arrows */\n        .mf-v2 .mf-cbx-arrow{transition:border-color .25s ease,color .25s ease,background .25s ease}\n        .mf-v2 .mf-cbx-arrow:hover{color:var(--mf-acc);border-color:var(--mf-acc);background:rgba(7,8,12,.75)}\n        /* Compare-lightbox exit: opacity is state-driven (closeCompare fade);\n           this adds the reel-style shrink on the shell while closing. */\n        @keyframes mf-cbx-shell-out{from{transform:none}to{transform:scale(.972)}}\n        .mf-v2 .mf-cbx-overlay[data-mf-closing=\"1\"] .mf-cbx-shell{animation:mf-cbx-shell-out ${CBX_ENTRANCE.closeMs}ms ease both}\n        /* s43 fix 4 — solid nav past the hero. The attribute is written from\n           the reveal rAF loop, Motion desktop only (layoutW gate in JS), so\n           Colour / mobile / tablet never carry it; the mode selector below is\n           belt-and-braces for the toggle-mid-frame case. important beats the\n           inline rgba background; backdrop-filter is deliberately kept. */\n        .mf-v2[data-mf-mode=\"motion\"][data-mf-navsolid=\"1\"] [data-mf=\"nav\"]{background:${NAV_SOLID_BG}!important}\n        /* s46 fix 2b — deliberate cyan hairline under the nav, Motion signal\n           only (Gav liked the accidental one). important beats the inline\n           white borderBottom; Colour keeps that inline border untouched. */\n        .mf-v2[data-mf-mode=\"motion\"] [data-mf=\"nav\"]{border-bottom-color:${NAV_KEYLINE}!important}\n        /* s83: upcoming stack slides up from below on the hero -> first\n           section transition. Default pose is off-screen so a hero mount\n           does not flash; data-mf-stack-in=\"1\" is the rest pose. Transform\n           only — do not add height/top/bottom transitions. */\n        .mf-v2 [data-mf=\"mobile-stack-upcoming\"]{transform:translate3d(0,100%,0);transition:transform ${MOBILE_STACK_IN_MS}ms ${MOBILE_STACK_IN_EASE};pointer-events:none}\n        .mf-v2 [data-mf=\"mobile-stack-upcoming\"][data-mf-stack-in=\"1\"]{transform:translate3d(0,0,0);pointer-events:auto}\n        [data-mf-navclone] * { animation: none !important; transition: none !important; }\n        /* s119 PLAN stack. Nav covers a band that hangs off a top bar.\n           Inline z-index 60 loses without important. */\n        .mf-v2[data-mf-stack=\"1\"] [data-mf=\"nav\"]{z-index:65!important}\n        .mf-v2[data-mf-stack=\"1\"] [data-mf=\"mobile-sec-head\"]{opacity:0!important;pointer-events:none!important;height:0!important;overflow:hidden!important;padding:0!important;margin:0!important;border:none!important}\n        .mf-v2 [data-mf=\"stack\"]{position:fixed;left:0;right:0;top:0;bottom:0;z-index:60;pointer-events:none;isolation:isolate}\n        @keyframes mf-tab-nudge{0%,72%,100%{transform:translateY(0)}84%{transform:translateY(-4px)}}\n        .mf-v2 [data-mf=\"stack-tab\"]{position:absolute;left:50%;bottom:14px;z-index:2;pointer-events:auto;touch-action:none;padding:14px 26px;transform:translateX(-50%);cursor:grab;-webkit-user-select:none;user-select:none}\n        .mf-v2 [data-mf=\"stack-tab\"]:active{cursor:grabbing}\n        .mf-v2 [data-mf=\"stack-tab\"] .mf-tab-chrome{position:relative;width:44px;height:16px;display:flex;align-items:center;justify-content:center}\n        .mf-v2 [data-mf=\"stack-tab\"].mf-tab-idle .mf-tab-chrome{animation:mf-tab-nudge 2.4s ease-in-out infinite}\n        .mf-v2 [data-mf=\"stack-tab\"] svg{display:block;overflow:visible}\n        .mf-v2 [data-mf=\"stack-tab\"] .mf-tab-dash{position:absolute;left:50%;margin-left:-11px;width:22px;height:2px;background:rgba(0,213,240,.55)}\n        .mf-v2 [data-mf=\"stack-tab\"] .mf-tab-dash.d1{bottom:-4px}\n        .mf-v2 [data-mf=\"stack-tab\"] .mf-tab-dash.d2{bottom:-9px;opacity:.45;width:14px;margin-left:-7px}\n        .mf-v2 [data-mf=\"stack\"][data-open=\"1\"] [data-mf=\"stack-tab\"]{opacity:0;pointer-events:none;transform:translateX(-50%) translateY(-${3*MOBILE_STACK_ROW_H}px)}\n        .mf-v2 [data-mf=\"stack-bar\"]{\n          position:absolute;left:0;right:0;top:${NAV_H}px;height:${MOBILE_STACK_ROW_H}px;\n          pointer-events:auto;touch-action:none;will-change:transform;isolation:isolate;\n          overflow:visible;background:#07080c;\n          border-top:1px solid transparent;\n          border-bottom:0;\n          display:block;padding:0;margin:0;\n          -webkit-user-select:none;user-select:none;cursor:grab;\n        }\n        /* s165: both keylines are elements. border-top stays 1px so the\n           34px pitch does not move, but it never paints; the top edge\n           sits on that border row (top:-1px). s166: brightness is OPACITY\n           on a solid accent line and there are no CSS transitions on any\n           bar child — every change is a WAAPI tween (see tween()). These\n           rules are the rest values only. */\n        /* s167: keylines sit ABOVE the press clip (z5 > z3). Under the\n           difference blend a cyan line inside the cyan flood came out dark,\n           and the band's 1px overlap covered it on some subpixel rows and\n           not others — the \"top keyline popping\" during a rise. Above the\n           blend it is cyan on cyan: invisible while flooded, so lit. */\n        .mf-v2 [data-mf=\"stack-bar\"] .mf-bar-edge{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--mf-acc);opacity:${STACK_EDGE_ROW};pointer-events:none;z-index:5}\n        .mf-v2 [data-mf=\"stack-bar\"] .mf-bar-edge-top{position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--mf-acc);opacity:${STACK_EDGE_ROW};pointer-events:none;z-index:5}\n        .mf-v2 [data-mf=\"stack-bar\"] .mf-bar-wash{position:absolute;left:0;right:0;top:0;bottom:0;background:rgba(0,213,240,.08);opacity:0;z-index:1;pointer-events:none}\n        .mf-v2 [data-mf=\"stack-bar\"] .mf-bar-face,.mf-v2 [data-mf=\"stack-bar\"] .mf-bar-grip,.mf-v2 [data-mf=\"stack-bar\"] .mf-bar-spine{z-index:2}\n        .mf-v2 [data-mf=\"stack-bar\"] > [data-mf=\"mobile-wipe\"]{z-index:4}\n        .mf-v2 [data-mf=\"stack-bar\"] .mf-bar-face{position:absolute;left:0;right:0;top:0;display:flex;align-items:center;gap:10px;padding:0 20px;will-change:opacity}\n        .mf-v2 [data-mf=\"stack-bar\"] .mf-bar-row{height:${MOBILE_STACK_ROW_H}px;padding-right:52px}\n        .mf-v2 [data-mf=\"stack-bar\"] .mf-bar-head{height:${MOBILE_STACK_ROW_H}px;opacity:0}\n        .mf-v2 [data-mf=\"stack-bar\"] .mf-bar-n{font-family:var(--mf-font-label-motion),var(--sans);font-size:11px;font-weight:300;letter-spacing:.22em;color:var(--mf-acc)}\n        .mf-v2 [data-mf=\"stack-bar\"] .mf-bar-row .mf-bar-t{font-family:var(--mf-font-label-motion),var(--sans);font-size:11px;font-weight:300;letter-spacing:.22em;color:var(--mf-acc)}\n        .mf-v2 [data-mf=\"stack-bar\"] .mf-bar-head .mf-bar-t{font-family:var(--mf-font-label-motion),var(--sans);font-size:11px;font-weight:300;letter-spacing:.22em;color:var(--mf-acc);line-height:1}\n        .mf-v2 [data-mf=\"stack-bar\"] .mf-bar-grip{position:absolute;right:20px;top:50%;width:18px;height:2px;margin-top:-1px;background:var(--mf-acc);opacity:.5}\n        .mf-v2 [data-mf=\"stack-bar\"] .mf-bar-spine{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--mf-acc);z-index:2;transform:scaleX(0);transform-origin:0 50%;pointer-events:none}\n        .mf-v2 [data-mf=\"stack-bar\"][data-state=\"head\"] .mf-bar-row{opacity:0}\n        .mf-v2 [data-mf=\"stack-bar\"][data-state=\"head\"] .mf-bar-head{opacity:1}\n        .mf-v2 [data-mf=\"stack-bar\"][data-state=\"head\"] .mf-bar-edge-top{opacity:${STACK_EDGE_HEAD}}\n        .mf-v2 [data-mf=\"stack-bar\"][data-state=\"head\"] .mf-bar-edge{opacity:${STACK_EDGE_HEAD}}\n        .mf-v2 [data-mf=\"stack-bar\"][data-cohort=\"1\"] .mf-bar-edge-top{opacity:${STACK_EDGE_COHORT}}\n        .mf-v2 [data-mf=\"stack-bar\"][data-cohort=\"1\"] .mf-bar-edge{opacity:${STACK_EDGE_COHORT}}\n        .mf-v2 [data-mf=\"stack-bar\"][data-state=\"head\"] .mf-bar-spine{transform:scaleX(1)}\n        .mf-v2 [data-mf=\"stack-bar\"][data-state=\"head\"] .mf-bar-wash{opacity:1}\n        .mf-v2 [data-mf=\"stack-bar\"][data-state=\"head\"] .mf-bar-head .mf-bar-t{font-weight:400}\n        .mf-v2 [data-mf=\"stack-bar\"][data-state=\"head\"] .mf-bar-grip{opacity:.9}\n        .mf-v2 [data-mf=\"stack-bar\"][data-edge-top=\"0\"] .mf-bar-edge-top{opacity:0}\n        .mf-v2 [data-mf=\"stack-bar\"][data-edge-bot=\"0\"] .mf-bar-edge{opacity:0}\n        .mf-v2 [data-mf=\"work-readout-scan-clip\"]{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:6}\n        .mf-v2 [data-mf=\"work-readout-scan\"]{position:absolute;left:0;right:0;top:0;height:22px;opacity:0;pointer-events:none;background:linear-gradient(rgba(0,213,240,0),rgba(0,213,240,.45) 30%,#00d5f0 50%,rgba(0,213,240,.45) 70%,rgba(0,213,240,0))}\n        .mf-v2 [data-mf=\"tile-hud\"]{position:absolute;inset:0;pointer-events:none;opacity:0;z-index:10;transition:opacity 90ms linear}\n        .mf-v2 .mf-credit-tile[data-lit=\"1\"] [data-mf=\"tile-hud\"]{opacity:1}\n        .mf-v2 .mf-credit-tile[data-playing=\"1\"] [data-mf=\"tile-hud\"]{opacity:0}\n        .mf-v2 .mf-credit-tile[data-lit=\"1\"]{outline:1px solid rgba(0,213,240,.85);outline-offset:-1px}\n        .mf-v2 .mf-credit-tile[data-playing=\"1\"]{outline-color:rgba(0,213,240,.35)}\n        .mf-v2 .mf-credit-tile[data-playing=\"1\"] .mf-tile-playcta{opacity:0!important;pointer-events:none}\n        .mf-v2 [data-mf=\"tile-br\"]{position:absolute;width:12px;height:12px}\n        .mf-v2 [data-mf=\"tile-br\"][data-c=\"tl\"]{left:5px;top:5px;border-left:2px solid var(--mf-acc);border-top:2px solid var(--mf-acc)}\n        .mf-v2 [data-mf=\"tile-br\"][data-c=\"tr\"]{right:5px;top:5px;border-right:2px solid var(--mf-acc);border-top:2px solid var(--mf-acc)}\n        .mf-v2 [data-mf=\"tile-br\"][data-c=\"bl\"]{left:5px;bottom:5px;border-left:2px solid var(--mf-acc);border-bottom:2px solid var(--mf-acc)}\n        .mf-v2 [data-mf=\"tile-br\"][data-c=\"br\"]{right:5px;bottom:5px;border-right:2px solid var(--mf-acc);border-bottom:2px solid var(--mf-acc)}\n        /* s160 stackMode: lit tile drops its own chrome. Keyline is the\n           fixed work-slot-frame aperture; brackets stay in the CSS for\n           desktop / ?mfstack=0 but are hidden here. */\n        .mf-v2[data-mf-stack=\"1\"] .mf-credit-tile[data-lit=\"1\"]{outline:none;outline-offset:0}\n        .mf-v2[data-mf-stack=\"1\"] .mf-credit-tile[data-playing=\"1\"]{outline-color:transparent}\n        .mf-v2[data-mf-stack=\"1\"] [data-mf=\"tile-br\"]{display:none}\n        /* s160: fixed stage aperture. Box is written by layoutWorkGrid from\n           the o===0 tile rest box. Never animates. */\n        .mf-v2[data-mf-stack=\"1\"] [data-mf=\"work-slot-frame\"]{position:absolute;box-sizing:border-box;border:1px solid rgba(0,213,240,.85);border-radius:5px;pointer-events:none;z-index:1;visibility:hidden;transition:none}\n        .mf-v2 [data-mf=\"tile-scan\"]{position:absolute;left:0;right:0;top:0;height:20px;opacity:0;pointer-events:none;background:linear-gradient(rgba(0,213,240,0),rgba(0,213,240,.40) 30%,#00d5f0 50%,rgba(0,213,240,.40) 70%,rgba(0,213,240,0))}\n        .mf-v2 [data-mf=\"work-dial-flash\"]{position:absolute;right:0;top:50%;width:32px;height:2px;margin-top:-1px;background:var(--mf-acc);opacity:0;pointer-events:none;box-shadow:0 0 10px var(--mf-acc);z-index:7}\n        .mf-v2 [data-mf=\"stack-bar\"]:active{cursor:grabbing}\n        /* s166 flood: well (bar box, clips, NO z-index so it is not a\n           stacking context and the clip's blend still reaches the bar's\n           backdrop) > clip (inset by the blur pad, carries z-index, blend\n           and the constant-pixel blur) > fill (solid disc, scaled). */\n        .mf-v2 [data-mf=\"stack-bar\"] .mf-press-well{position:absolute;left:0;right:0;top:-1px;bottom:-1px;overflow:hidden;pointer-events:none}\n        .mf-v2 [data-mf=\"stack-bar\"] .mf-press-clip{position:absolute;left:-${PRESS_CLIP_PAD_PX}px;right:-${PRESS_CLIP_PAD_PX}px;top:-${PRESS_CLIP_PAD_PX}px;bottom:-${PRESS_CLIP_PAD_PX}px;overflow:hidden;z-index:1;pointer-events:none;transform-origin:0 50%}\n        .mf-v2 [data-mf=\"stack-bar\"][data-press=\"1\"] .mf-press-clip{z-index:3;${PRESS_BLEND_INK?\"mix-blend-mode:difference;\":\"\"}}\n        .mf-v2 [data-mf=\"stack-bar\"] .mf-press-fill{position:absolute;border-radius:50%;transform:scale(0);opacity:1;will-change:transform;pointer-events:none}\n        /* !important: layoutWorkGrid writes inline position:fixed; inset:0\n           on every screen. Without this the data-win window never wins and\n           the mask is the full viewport (or a collapsed auto box). */\n        .mf-v2 [data-mf=\"stack-bar\"] > [data-mf-screen]{position:absolute!important;inset:auto!important;left:0!important;right:0!important;z-index:0!important;pointer-events:none;isolation:isolate;background-color:transparent}\n        .mf-v2 [data-mf=\"stack-bar\"] > [data-mf-screen][data-win=\"rise\"]{top:auto!important;bottom:100%!important;height:var(--host-h,100lvh)!important;min-height:100lvh!important}\n        .mf-v2 [data-mf=\"stack-bar\"] > [data-mf-screen][data-win=\"rise\"] > [data-mf=\"sbody\"]{top:100%!important}\n        .mf-v2 [data-mf=\"stack-bar\"] > [data-mf-screen][data-win=\"fall\"]{top:100%!important;bottom:auto!important;height:var(--host-h,100lvh)!important;min-height:100lvh!important}\n        .mf-v2 [data-mf=\"stack-bar\"] > [data-mf-screen][data-win=\"fall\"] > [data-mf=\"sbody\"]{top:0!important}\n        .mf-v2 [data-mf=\"stack-bar\"][data-band=\"down\"] [data-mf=\"mobile-wipe\"]{top:100%;bottom:auto;transform-origin:50% 0}\n        .mf-v2 [data-mf=\"stack-bar\"][data-band=\"up\"] [data-mf=\"mobile-wipe\"]{bottom:100%;top:auto;transform-origin:50% 100%}\n        /* s215: the Motion landing replaces the Motion hero's own parts - hidden, never removed */\n        .mf-v2[data-mf-landing=\"1\"] #top:not([data-mf-landing-fail=\"1\"]) [data-mf=\"motion-op\"],\n        .mf-v2[data-mf-landing=\"1\"] #top:not([data-mf-landing-fail=\"1\"]) .mf-headline-wrap,\n        .mf-v2[data-mf-landing=\"1\"] #top:not([data-mf-landing-fail=\"1\"]) .mf-reel-under-headline,\n        .mf-v2[data-mf-landing=\"1\"] #top:not([data-mf-landing-fail=\"1\"]) .mf-hero-bottom{display:none!important}\n        /* s219: the Colour landing replaces the Colour hero parts (picture, grain, headline, kicker, reel,\n           NOW SHOWING, scroll hint) - hidden, never removed; a failed mount brings them back */\n        .mf-v2[data-mf-clanding=\"1\"] #top:not([data-mf-clanding-fail=\"1\"]) [data-mf=\"colour-op\"],\n        .mf-v2[data-mf-clanding=\"1\"] #top:not([data-mf-clanding-fail=\"1\"]) .mf-headline-wrap,\n        .mf-v2[data-mf-clanding=\"1\"] #top:not([data-mf-clanding-fail=\"1\"]) .mf-reel-under-headline,\n        .mf-v2[data-mf-clanding=\"1\"] #top:not([data-mf-clanding-fail=\"1\"]) .mf-hero-bottom{display:none!important}\n        .mf-v2[data-mf-clanding=\"1\"] [data-mf=\"clanding\"]{pointer-events:auto!important}\n        /* round 3 (his: the nav got lost over bright stills): a soft shadow under the nav words, on the hero only */\n        .mf-v2[data-mf-clanding=\"1\"]:not([data-mf-cnavsolid=\"1\"]) [data-mf=\"nav\"] .mf-nav-links a,\n        .mf-v2[data-mf-clanding=\"1\"]:not([data-mf-cnavsolid=\"1\"]) [data-mf=\"nav\"] .mf-nav-toggle-label{text-shadow:0 1px 3px rgba(0,0,0,.55),0 0 14px rgba(0,0,0,.45)}\n        /* s215 s213: the ABOUT drop-down (the About mockup v240-v249, his: B2a, SLIDE, the tiles' hover) */\n        .mf-v2 .mf-navdd{position:fixed;left:0;right:0;top:${NAV_H}px;height:34px;z-index:59;visibility:hidden;overflow:hidden;pointer-events:none;transition:visibility 0s .28s}\n        .mf-v2 .mf-navdd[data-on=\"1\"]{visibility:visible;pointer-events:auto;transition:none}\n        .mf-v2 .mf-dd-in{position:absolute;inset:0;transform:translateY(-100%);transition:transform .26s cubic-bezier(.45,0,.4,1)}\n        .mf-v2 .mf-navdd[data-on=\"1\"] .mf-dd-in{transform:none;transition:transform .3s cubic-bezier(.22,.9,.3,1)}\n        .mf-v2 .mf-dd-bg{position:absolute;inset:0;background:rgba(7,8,12,.94);border-bottom:1px solid rgba(0,213,240,.38)}\n        .mf-v2 .mf-dd-row{position:relative;height:34px;display:flex;align-items:center}\n        .mf-v2 .mf-dd-sep{width:1px;height:12px;background:rgba(0,213,240,.45);flex:none}\n        .mf-v2 .mf-dd-lk{position:relative;flex:1 1 0;min-width:0;align-self:stretch;height:34px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--mf-font-label-motion);font-weight:400;font-size:10px;line-height:12px;letter-spacing:.16em;text-transform:uppercase;color:#9298ab;white-space:nowrap;text-decoration:none;transition:color .12s linear}\n        .mf-v2 .mf-dd-lk > span{position:relative}\n        .mf-v2 .mf-dd-lk .mf-dd-n{color:var(--mf-acc);transition:text-shadow .2s linear}\n        .mf-v2 .mf-dd-lk .mf-dd-w{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,213,240,.22),rgba(0,213,240,0) 78%);opacity:0;transition:opacity .2s linear;pointer-events:none}\n        .mf-v2 .mf-dd-lk::before{content:\"\";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--mf-acc);transform:scaleY(0);transform-origin:50% 0;transition:transform .22s cubic-bezier(.2,.7,.2,1)}\n        .mf-v2 .mf-dd-lk::after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--mf-acc);box-shadow:0 0 8px rgba(0,213,240,.6);transform:scaleX(0);transform-origin:0 50%;transition:transform .2s cubic-bezier(.2,.7,.2,1)}\n        .mf-v2 .mf-dd-lk:hover,.mf-v2 .mf-dd-lk:focus-visible,.mf-v2 .mf-dd-lk[data-cur=\"1\"]{color:#e8eaf0;outline:none}\n        .mf-v2 .mf-dd-lk:hover .mf-dd-w,.mf-v2 .mf-dd-lk:focus-visible .mf-dd-w{opacity:1}\n        .mf-v2 .mf-dd-lk:hover::before,.mf-v2 .mf-dd-lk:focus-visible::before{transform:scaleY(1)}\n        .mf-v2 .mf-dd-lk:hover::after,.mf-v2 .mf-dd-lk:focus-visible::after,.mf-v2 .mf-dd-lk[data-cur=\"1\"]::after{transform:scaleX(1)}\n        .mf-v2 .mf-dd-lk:hover .mf-dd-n,.mf-v2 .mf-dd-lk:focus-visible .mf-dd-n{text-shadow:0 0 2px rgba(0,213,240,.55),0 0 16px rgba(0,213,240,.4)}\n        @media (prefers-reduced-motion: reduce){\n          .mf-v2 *{animation:none!important}\n          .mf-v2[data-mf-glitching] [data-mf=\"glitch\"]{opacity:0!important}\n          .mf-v2 [data-mf=\"mobile-stack-upcoming\"]{transition:none!important}\n        }\n      `}}),/*#__PURE__*/_jsx(\"div\",{ref:wipeRef,style:{position:\"fixed\",inset:0,zIndex:999,background:\"#07080c\",borderTop:\"4px solid var(--mf-acc)\",transform:\"translateY(0)\",pointerEvents:\"none\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(\"span\",{\"data-mf-type\":\"label\",style:{fontWeight:600,fontSize:11,letterSpacing:\".28em\",color:\"var(--mf-acc)\"},children:\"MIND FACTORY\"})}),/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"nav-wipe-frame\",\"aria-hidden\":\"true\",style:{position:\"fixed\",top:NAV_WIPE_TOP,left:0,right:0,bottom:0,zIndex:NAV_WIPE_Z,pointerEvents:\"none\",overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"div\",{ref:navWipeGroupRef,\"data-mf\":\"nav-wipe-group\",style:{position:\"absolute\",left:0,right:0,top:0,height:`${NAV_WIPE_SHEET_PCT}%`,transform:`translateY(${NAV_WIPE_FROM+NAV_WIPE_PARK_PAD}%)`},children:/*#__PURE__*/_jsxs(\"div\",{ref:navWipeRef,\"data-mf\":\"nav-wipe\",style:{position:\"absolute\",inset:0,background:`linear-gradient(to bottom,${NAV_WIPE_RAMP})`},children:[/*#__PURE__*/_jsx(\"div\",{ref:navCrtScanRef,\"data-mf\":\"nav-wipe-scan\",style:{position:\"absolute\",inset:0,maskImage:`linear-gradient(to bottom,${NAV_WIPE_RAMP_ALPHA})`,WebkitMaskImage:`linear-gradient(to bottom,${NAV_WIPE_RAMP_ALPHA})`,backgroundImage:`repeating-linear-gradient(to bottom,rgba(0,10,14,${MOBILE_CRT_SCAN_ALPHA}) 0px,rgba(0,10,14,${MOBILE_CRT_SCAN_ALPHA}) 1px,rgba(0,0,0,0) 1px,rgba(0,0,0,0) ${MOBILE_CRT_SCAN_PERIOD}px)`,backgroundSize:`100% ${MOBILE_CRT_SCAN_PERIOD}px`}}),/*#__PURE__*/_jsx(\"div\",{ref:navCrtRollRef,\"data-mf\":\"nav-wipe-roll\",style:{position:\"absolute\",inset:0,maskImage:`linear-gradient(to bottom,${NAV_WIPE_RAMP_ALPHA})`,WebkitMaskImage:`linear-gradient(to bottom,${NAV_WIPE_RAMP_ALPHA})`,backgroundImage:`linear-gradient(to bottom,rgba(190,255,255,0) 0%,rgba(190,255,255,${MOBILE_CRT_ROLL_ALPHA}) 50%,rgba(190,255,255,0) 100%)`,backgroundRepeat:\"no-repeat\",backgroundSize:\"100% 26%\"}}),/*#__PURE__*/_jsx(\"div\",{ref:navCrtTearRef,\"data-mf\":\"nav-wipe-tear\",style:{position:\"absolute\",inset:0,maskImage:`linear-gradient(to bottom,${NAV_WIPE_RAMP_ALPHA})`,WebkitMaskImage:`linear-gradient(to bottom,${NAV_WIPE_RAMP_ALPHA})`,backgroundRepeat:\"no-repeat\",opacity:0}})]})})}),/*#__PURE__*/_jsx(\"div\",{ref:svhProbeRef,\"aria-hidden\":\"true\",style:{position:\"fixed\",top:0,left:0,width:0,height:\"100svh\",pointerEvents:\"none\",visibility:\"hidden\"}}),/*#__PURE__*/_jsx(\"div\",{ref:lvhProbeRef,\"aria-hidden\":\"true\",style:{position:\"fixed\",top:0,left:0,width:0,height:\"100lvh\",pointerEvents:\"none\",visibility:\"hidden\"}}),motionPhone&&/*#__PURE__*/_jsx(\"div\",{ref:mWipeFrameRef,\"data-mf\":\"mobile-wipe-frame\",\"aria-hidden\":\"true\",style:{position:\"fixed\",// top / bottom are driver-owned (resting NAV_H+1 / 0,\n// live insets grow with passed / upcoming stack rows).\n// React must not set them: a stack-index setState\n// would otherwise reset a mid-seam band for one\n// commit-lag frame.\nleft:0,right:0,zIndex:NAV_WIPE_Z,pointerEvents:\"none\",overflow:\"hidden\"},children:/*#__PURE__*/_jsxs(\"div\",{ref:mWipeRef,\"data-mf\":\"mobile-wipe\",style:{position:\"absolute\",left:0,right:0,top:0,transformOrigin:\"50% 50%\",willChange:\"transform\",isolation:\"isolate\",opacity:0},children:[/*#__PURE__*/_jsx(\"div\",{ref:mRampRef,style:{position:\"absolute\",inset:0,background:MOBILE_WIPE_RAMP_COLOUR}}),/*#__PURE__*/_jsx(\"div\",{ref:mScanRef,style:{position:\"absolute\",inset:0,maskImage:MOBILE_WIPE_RAMP_ALPHA,WebkitMaskImage:MOBILE_WIPE_RAMP_ALPHA,backgroundImage:`repeating-linear-gradient(to bottom,rgba(0,10,14,${MOBILE_CRT_SCAN_ALPHA}) 0px,rgba(0,10,14,${MOBILE_CRT_SCAN_ALPHA}) 1px,rgba(0,0,0,0) 1px,rgba(0,0,0,0) ${MOBILE_CRT_SCAN_PERIOD}px)`,backgroundSize:`100% ${MOBILE_CRT_SCAN_PERIOD}px`}}),/*#__PURE__*/_jsx(\"div\",{ref:mRollRef,style:{position:\"absolute\",inset:0,maskImage:MOBILE_WIPE_RAMP_ALPHA,WebkitMaskImage:MOBILE_WIPE_RAMP_ALPHA,backgroundImage:`linear-gradient(to bottom,rgba(190,255,255,0) 0%,rgba(190,255,255,${MOBILE_CRT_ROLL_ALPHA}) 50%,rgba(190,255,255,0) 100%)`,backgroundRepeat:\"no-repeat\",backgroundSize:\"100% 26%\"}}),/*#__PURE__*/_jsx(\"div\",{ref:mTearRef,style:{position:\"absolute\",inset:0,maskImage:MOBILE_WIPE_RAMP_ALPHA,WebkitMaskImage:MOBILE_WIPE_RAMP_ALPHA,backgroundRepeat:\"no-repeat\",opacity:0}})]})}),motionPhone&&/*#__PURE__*/_jsx(\"div\",{ref:mCloneHostRef,\"data-mf-navclone\":\"\",style:{position:\"fixed\",inset:0,zIndex:5,overflow:\"hidden\",pointerEvents:\"none\",visibility:\"hidden\"}}),/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"motion-op\",style:{position:\"fixed\",inset:0,pointerEvents:\"none\",zIndex:0,backgroundImage:\"linear-gradient(rgba(0,213,240,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,213,240,.035) 1px,transparent 1px)\",backgroundSize:\"88px 88px\"}}),/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"ambient\",style:{position:\"fixed\",inset:0,pointerEvents:\"none\",zIndex:0,// s188: the pager rests the layer below 1 so a landing\n// can swell it (WAAPI opacity, the pager effect only)\nopacity:colourPages?CPAGE_AMBIENT_REST_OP:undefined,background:motionPhone?`radial-gradient(ellipse ${MOBILE_AMBIENT_ELLIPSE} at ${MOBILE_AMBIENT_AT},${MOBILE_AMBIENT_PHONE},transparent 62%)`:colourPages?`radial-gradient(ellipse ${CPAGE_AMBIENT_ELLIPSE} at ${CPAGE_AMBIENT_AT},${CPAGE_AMBIENT_PEAK},transparent 62%)`:\"radial-gradient(ellipse 90% 55% at 50% -5%,var(--mf-ambient),transparent 60%)\",transition:\"background .9s ease\"}}),/*#__PURE__*/_jsxs(\"div\",{\"data-mf\":\"cglow\",\"aria-hidden\":\"true\",ref:cGlowRef,children:[/*#__PURE__*/_jsx(\"i\",{}),/*#__PURE__*/_jsx(\"i\",{})]}),/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"ctop\",\"aria-hidden\":\"true\",ref:cTopRef}),/*#__PURE__*/_jsx(\"nav\",{\"data-mf\":\"nav\",style:{position:\"fixed\",top:0,left:0,right:0,zIndex:60,// s79 Bug B: backdrop-filter on a fixed bar that sits\n// under iOS's translucent URL bar is a known flicker\n// source (Firefox-on-iOS is WebKit). Motion phones drop\n// the blur and compensate with a near-opaque fill;\n// desktop / tablet / Colour keep the signed-off 50%+blur.\nbackdropFilter:motionPhone?\"none\":\"blur(14px)\",WebkitBackdropFilter:motionPhone?\"none\":\"blur(14px)\",// s96: Motion phones go FULLY opaque, not .94, and\n// reuse NAV_SOLID_BG so the two opaque-nav values\n// cannot drift. Gav confirmed on linear.app and\n// vercel.com that Firefox iOS composites page content\n// up into its translucent URL bar: it is PLATFORM\n// behaviour, not a defect here, and this site already\n// fared better than those two precisely because this\n// bar covers that strip. .94 left the last 6% open.\n// It cannot stop the URL bar animating its OWN\n// background, which is what the measurement actually\n// showed - two different bars, two different sections,\n// both brightening EVENLY across their full width\n// (left and right identical to the decimal) while the\n// page beside them sat still. Sampled content would\n// have horizontal structure; that has none. DO NOT\n// chase the residual with a shroud, a tile fade or a\n// deck change: that is fighting the browser's own UI\n// with page geometry, and it is unwinnable.\n// Desktop / tablet / Colour keep the signed-off\n// 50% + blur.\nbackground:motionPhone?NAV_SOLID_BG:\"rgba(7,8,12,.5)\",borderBottom:\"1px solid rgba(255,255,255,.07)\"},children:/*#__PURE__*/_jsxs(\"div\",{className:\"mf-pad-x\",style:{maxWidth:CONTENT_MAX,margin:\"0 auto\",padding:`0 ${EDGE_PAD}px`,height:68,display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:16},children:[/*#__PURE__*/_jsx(\"a\",{href:\"#top\",className:\"mf-link\",onClick:motionPhone?e=>{e.preventDefault();// s98 / N8: \"Tapping the MF icon\n// when we are at a lower page\n// initiates the same animation to\n// get back to the landing page.\"\n// -1 is the hero. Same arm path as\n// a stack row, so the reverse\n// sweep and the abort semantics\n// are shared, not duplicated.\n// (The bare scrollTo(0) this\n// replaced was already instant —\n// the s89 logo fix — so nothing\n// about the anchor behaviour\n// regresses when ?mfnavwipe=0.)\nnavToMobileSection(-1);}:undefined,style:{display:\"flex\",alignItems:\"center\",flex:\"none\",textDecoration:\"none\",color:\"#e8eaf0\"},children:/*#__PURE__*/_jsx(MFLogo,{height:layoutW<=680?26:18,color:\"currentColor\",mobileMarkOnly:layoutW<=680})}),/*#__PURE__*/_jsxs(\"div\",{onClick:toggle,style:{cursor:\"pointer\",userSelect:\"none\",display:\"flex\",alignItems:\"center\",gap:5,flex:\"none\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:\"var(--sans)\",fontWeight:300,fontSize:17,lineHeight:1,color:\"var(--mf-acc)\",opacity:.55},children:\"[\"}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",display:\"flex\",alignItems:\"center\",borderRadius:3,overflow:\"hidden\",padding:2},children:[/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"knob\",style:{position:\"absolute\",top:2,bottom:2,width:\"calc(50% - 3px)\"}}),/*#__PURE__*/_jsx(\"div\",{className:\"mf-nav-toggle-label\",style:{position:\"relative\",zIndex:1,padding:\"6px 18px\",// Toggle stays Pawl both signals (Gav's call, s15);\n// future: custom SVG font-morph animation on switch\nfontFamily:\"var(--mf-font-body-motion)\",fontWeight:400,fontSize:10,letterSpacing:\".12em\",color:\"var(--mf-clabel)\",transition:\"color .5s\"},children:\"COLOUR\"}),/*#__PURE__*/_jsx(\"div\",{className:\"mf-nav-toggle-label\",style:{position:\"relative\",zIndex:1,padding:\"6px 18px\",fontFamily:\"var(--mf-font-body-motion)\",fontWeight:400,fontSize:10,letterSpacing:\".12em\",color:\"var(--mf-mlabel)\",transition:\"color .5s\"},children:\"MOTION\"})]}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:\"var(--sans)\",fontWeight:300,fontSize:17,lineHeight:1,color:\"var(--mf-acc)\",opacity:.55},children:\"]\"})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"mf-nav-links\",style:{gap:36},children:[/*#__PURE__*/_jsx(\"a\",{href:\"#work\",\"data-mf-navlink\":\"work\",\"data-mf-type\":\"label\",className:\"mf-link mf-dim\",style:{textDecoration:\"none\",fontWeight:500,fontSize:11,letterSpacing:\".14em\",color:\"#8a90a0\"},children:\"WORK\"}),/*#__PURE__*/_jsx(\"a\",{href:aboutLinkHref,onClick:navAbout,\"data-mf-navabout\":\"1\",\"data-mf-navlink\":\"about\",\"data-mf-type\":\"label\",className:\"mf-link mf-dim\",style:{textDecoration:\"none\",fontWeight:500,fontSize:11,letterSpacing:\".14em\",color:\"#8a90a0\"},children:\"ABOUT\"}),/*#__PURE__*/_jsx(\"a\",{href:\"#contact\",\"data-mf-navlink\":\"contact\",\"data-mf-type\":\"label\",className:\"mf-link mf-dim\",style:{textDecoration:\"none\",fontWeight:500,fontSize:11,letterSpacing:\".14em\",color:\"#8a90a0\"},children:\"CONTACT\"})]}),/*#__PURE__*/_jsxs(\"button\",{onClick:()=>setMenuOpen(true),className:\"mf-nav-burger\",\"aria-label\":\"Menu\",style:{background:\"none\",border:\"none\",cursor:\"pointer\",flex:\"none\",width:44,height:44,marginRight:-10,alignItems:\"center\",justifyContent:\"center\",flexDirection:\"column\",gap:5},children:[/*#__PURE__*/_jsx(\"span\",{style:{display:\"block\",width:20,height:1.5,background:\"#e8eaf0\"}}),/*#__PURE__*/_jsx(\"span\",{style:{display:\"block\",width:20,height:1.5,background:\"#e8eaf0\"}})]})]})}),navDdOn&&navDdSecs.length?/*#__PURE__*/_jsx(\"div\",{ref:navDdRef,className:\"mf-navdd\",\"aria-label\":\"About sections\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"mf-dd-in\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"mf-dd-bg\"}),/*#__PURE__*/_jsx(\"div\",{className:\"mf-pad-x mf-dd-row\",style:{maxWidth:CONTENT_MAX,margin:\"0 auto\",padding:`0 ${EDGE_PAD}px`},children:navDdSecs.filter(x=>x&&x.id!==\"about\").map((sec,i)=>/*#__PURE__*/_jsxs(React.Fragment,{children:[i?/*#__PURE__*/_jsx(\"span\",{className:\"mf-dd-sep\",\"aria-hidden\":\"true\"}):null,/*#__PURE__*/_jsxs(\"a\",{href:\"#about\",className:\"mf-dd-lk\",\"data-sec\":sec.id,onClick:e=>navDdGo(e,sec.id),children:[/*#__PURE__*/_jsx(\"span\",{className:\"mf-dd-w\",\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"span\",{className:\"mf-dd-n\",children:sec.n}),/*#__PURE__*/_jsx(\"span\",{children:sec.t})]})]},sec.id))})]})}):null,stackMode&&/*#__PURE__*/_jsxs(\"div\",{ref:mStackHostRef,\"data-mf\":\"stack\",\"aria-hidden\":\"false\",children:[MOBILE_STACK_LABELS.map((label,j)=>/*#__PURE__*/_jsxs(\"div\",{ref:el=>{mStackBarRefs.current[j]=el;},\"data-mf\":\"stack-bar\",\"data-j\":String(j),\"data-state\":\"row\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"mf-press-well\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"div\",{className:\"mf-press-clip\",children:/*#__PURE__*/_jsx(\"div\",{className:\"mf-press-fill\"})})}),/*#__PURE__*/_jsx(\"div\",{className:\"mf-bar-face mf-bar-row\",children:/*#__PURE__*/_jsx(\"span\",{className:\"mf-bar-n mf-bar-t\",children:label})}),/*#__PURE__*/_jsx(\"div\",{className:\"mf-bar-face mf-bar-head\",children:/*#__PURE__*/_jsx(\"span\",{className:\"mf-bar-t\",children:label})}),/*#__PURE__*/_jsx(\"div\",{className:\"mf-bar-wash\",\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"div\",{className:\"mf-bar-grip\"}),/*#__PURE__*/_jsx(\"div\",{className:\"mf-bar-spine\"}),/*#__PURE__*/_jsx(\"div\",{className:\"mf-bar-edge-top\",\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"div\",{className:\"mf-bar-edge\",\"aria-hidden\":\"true\"})]},label)),mStackIdx<0&&/*#__PURE__*/_jsx(\"div\",{ref:mStackTabRef,\"data-mf\":\"stack-tab\",className:\"mf-tab-idle\",\"aria-label\":\"SELECTED WORK\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"mf-tab-chrome\",children:[/*#__PURE__*/_jsx(\"svg\",{width:14,height:8,viewBox:\"0 0 14 8\",fill:\"none\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M1 7L7 1L13 7\",stroke:\"#00d5f0\",strokeWidth:\"2\",strokeLinecap:\"square\"})}),/*#__PURE__*/_jsx(\"i\",{className:\"mf-tab-dash d1\"}),/*#__PURE__*/_jsx(\"i\",{className:\"mf-tab-dash d2\"})]})})]}),motionPhone&&!stackMode&&/*#__PURE__*/_jsxs(_Fragment,{children:[mStackIdx>0&&/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"mobile-stack-passed\",style:{position:\"fixed\",top:NAV_H,left:0,right:0,zIndex:60,background:\"#07080c\",// 1px down-paint covers the sub-pixel\n// hairline between the last passed row\n// and the sticky section header under it.\nboxShadow:\"0 1px 0 0 #07080c\"},children:MOBILE_STACK_LABELS.slice(0,mStackIdx).map((label,i)=>/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"mf-pad-x\",// s98: keyed by ABSOLUTE label\n    // index so the nav sweep can\n    // address a row without caring\n    // which group rendered it.\n    ref:el=>{mStackRowRefs.current[i]=el;},onPointerDown:onMobileStackPointerDown,onClick:e=>onMobileStackClick(i,e),style:{display:\"flex\",alignItems:\"center\",width:\"100%\",height:MOBILE_STACK_ROW_H,padding:0,boxSizing:\"border-box\",margin:0,border:\"none\",background:\"transparent\",cursor:\"pointer\",textAlign:\"left\",appearance:\"none\",WebkitAppearance:\"none\"},children:/*#__PURE__*/_jsx(\"span\",{\"data-mf-type\":\"label\",style:{fontWeight:600,fontSize:11,letterSpacing:\".22em\",color:\"var(--mf-acc)\"},children:label})},label))}),mStackIdx<2&&/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"mobile-stack-upcoming\",\"data-mf-stack-in\":mStackAway?\"1\":undefined,\"aria-hidden\":mStackAway?undefined:true,style:{position:\"fixed\",bottom:0,left:0,right:0,zIndex:60,background:\"#07080c\"},children:MOBILE_STACK_LABELS.slice(mStackIdx<0?0:mStackIdx+1).map((label,i)=>/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"mf-pad-x\",// s98: see the passed group —\n    // absolute label index, so both\n    // groups write into one table.\n    ref:el=>{mStackRowRefs.current[(mStackIdx<0?0:mStackIdx+1)+i]=el;},onPointerDown:onMobileStackPointerDown,onClick:e=>onMobileStackClick((mStackIdx<0?0:mStackIdx+1)+i,e),style:{display:\"flex\",alignItems:\"center\",width:\"100%\",height:MOBILE_STACK_ROW_H,padding:0,boxSizing:\"border-box\",margin:0,border:\"none\",background:\"transparent\",cursor:\"pointer\",textAlign:\"left\",appearance:\"none\",WebkitAppearance:\"none\"},children:/*#__PURE__*/_jsx(\"span\",{\"data-mf-type\":\"label\",style:{fontWeight:600,fontSize:11,letterSpacing:\".22em\",color:\"var(--mf-acc)\"},children:label})},label))})]}),motionPhone&&/*#__PURE__*/_jsxs(_Fragment,{children:[mfFlagsRef.current.debug&&/*#__PURE__*/_jsx(\"div\",{ref:mfDebugRef,\"aria-hidden\":\"true\",style:{position:\"fixed\",left:6,right:6,top:\"40%\",zIndex:200,pointerEvents:\"none\",background:\"rgba(3,4,7,.86)\",border:\"1px solid rgba(0,213,240,.35)\",color:\"#00d5f0\",font:\"600 8px/1.2 ui-monospace, Menlo, monospace\",whiteSpace:\"pre\",padding:\"4px 6px\",letterSpacing:\".02em\"},children:MF_BUILD}),mfFlagsRef.current.debug&&/*#__PURE__*/_jsx(\"canvas\",{ref:mfDebugTouchRef,\"aria-hidden\":\"true\",\"data-mf-debug-touch\":\"\",style:{position:\"fixed\",inset:0,zIndex:201,pointerEvents:\"none\",width:\"100%\",height:\"100%\"}}),mfFlagsRef.current.debug&&/*#__PURE__*/_jsx(\"div\",{ref:mfDebugTellRef,\"aria-hidden\":\"true\",\"data-mf-debug-tell\":\"\",style:{position:\"fixed\",left:4,bottom:4,width:8,height:8,zIndex:201,pointerEvents:\"none\"}})]}),menuOpen&&/*#__PURE__*/_jsxs(\"div\",{\"data-mf\":\"menu\",style:{position:\"fixed\",inset:0,zIndex:150,background:\"rgba(4,6,10,.97)\",backdropFilter:\"blur(16px)\",WebkitBackdropFilter:\"blur(16px)\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",gap:38},children:[/*#__PURE__*/_jsx(\"button\",{onClick:()=>setMenuOpen(false),\"aria-label\":\"Close menu\",style:{position:\"absolute\",top:20,right:20,background:\"none\",border:\"none\",color:\"#e8eaf0\",fontSize:26,lineHeight:1,cursor:\"pointer\",width:44,height:44},children:\"✕\"}),/*#__PURE__*/_jsx(\"a\",{href:\"#work\",onClick:e=>{setMenuOpen(false);// s166: in stackMode the page does not scroll;\n// the stack is the nav. Never document-scroll.\nif(stackModeRef.current){e.preventDefault();stackApiRef.current.goTo(0);}},\"data-mf-type\":\"label\",style:{textDecoration:\"none\",fontWeight:500,fontSize:24,letterSpacing:\".14em\",color:\"#e8eaf0\"},children:\"WORK\"}),/*#__PURE__*/_jsx(\"a\",{href:aboutLinkHref,onClick:navAbout,\"data-mf-type\":\"label\",style:{textDecoration:\"none\",fontWeight:500,fontSize:24,letterSpacing:\".14em\",color:\"#e8eaf0\"},children:\"ABOUT\"}),/*#__PURE__*/_jsx(\"a\",{href:\"#contact\",onClick:e=>{setMenuOpen(false);if(stackModeRef.current){e.preventDefault();stackApiRef.current.goTo(2);}},\"data-mf-type\":\"label\",style:{textDecoration:\"none\",fontWeight:500,fontSize:24,letterSpacing:\".14em\",color:\"#e8eaf0\"},children:\"CONTACT\"})]}),phNew?/*#__PURE__*/_jsx(MFPhoneTabs,{page:cpageIndex,goTo:i=>cpageApiRef.current.goTo(i),zIndex:colourWall&&cbxOpen?201:CPAGE_Z_INDEX}):colourPages?/*#__PURE__*/_jsxs(\"nav\",{\"data-mf\":\"cpage-index\",\"aria-label\":\"Pages\",style:{position:\"fixed\",left:0,right:0,bottom:0,zIndex:colourWall&&cbxOpen?201:CPAGE_Z_INDEX,padding:\"34px 18px calc(22px + env(safe-area-inset-bottom, 0px))\",background:\"linear-gradient(180deg,rgba(7,8,12,0) 0%,rgba(7,8,12,.82) 42%,rgba(7,8,12,.96) 100%)\",pointerEvents:\"none\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",height:1,background:\"#7a1d25\",marginBottom:12},children:/*#__PURE__*/_jsx(\"i\",{\"data-mf\":\"cpage-marker\",style:{position:\"absolute\",top:-1,left:`${cpageIndex*25}%`,height:3,width:\"25%\",background:\"#ff3b4a\",transition:`left ${CPAGE_INDEX_MS}ms ${CPAGE_EASE}`}})}),/*#__PURE__*/_jsx(\"ul\",{style:{listStyle:\"none\",margin:0,padding:0,display:\"flex\",justifyContent:\"space-between\",// s192: visible but inert while the compare is\n// open — a tap here navigated the page underneath\n// the overlay (Mac, live check).\npointerEvents:colourWall&&cbxOpen?\"none\":\"auto\"},children:[\"HOME\",\"WORK\",\"ABOUT\",\"CONTACT\"].map((label,i)=>/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-current\":cpageIndex===i?\"true\":undefined,onClick:()=>cpageApiRef.current.goTo(i),style:{appearance:\"none\",background:\"none\",border:0,padding:\"8px 0\",cursor:\"pointer\",fontFamily:\"var(--sans)\",fontWeight:500,fontSize:9.5,lineHeight:1,letterSpacing:\".16em\",textTransform:\"uppercase\",color:cpageIndex===i?\"#ece6df\":\"#8a8580\",transition:\"color .4s\",WebkitTapHighlightColor:\"transparent\"},children:label})},label))}),/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"cpage-foot\",\"aria-hidden\":cpageIndex===3?undefined:true,style:{overflow:\"hidden\",height:cpageIndex===3?CPAGE_FOOT_H:0,opacity:cpageIndex===3?1:0,pointerEvents:cpageIndex===3?\"auto\":\"none\",transition:`height ${CPAGE_INDEX_MS}ms ${CPAGE_EASE}, opacity ${CPAGE_INDEX_MS}ms ${CPAGE_EASE}`},children:/*#__PURE__*/_jsxs(\"div\",{style:{height:CPAGE_FOOT_H,boxSizing:\"border-box\",paddingTop:16,display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:16},children:[/*#__PURE__*/_jsx(MFLogo,{height:12,color:\"#5a6070\"}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:22,alignItems:\"center\"},children:[isLiveSocialUrl(instagramUrl)&&/*#__PURE__*/_jsx(\"a\",{href:instagramUrl,\"aria-label\":\"Instagram\",className:\"mf-link mf-dim\",style:{textDecoration:\"none\",color:\"#848b9c\",display:\"inline-flex\",alignItems:\"center\",lineHeight:0},children:/*#__PURE__*/_jsxs(\"svg\",{width:\"15\",height:\"15\",viewBox:\"0 0 24 24\",fill:\"none\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"rect\",{x:\"3\",y:\"3\",width:\"18\",height:\"18\",rx:\"5\",stroke:\"currentColor\",strokeWidth:\"1.75\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"4.25\",stroke:\"currentColor\",strokeWidth:\"1.75\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"17.35\",cy:\"6.65\",r:\"1.15\",fill:\"currentColor\"})]})}),isLiveSocialUrl(vimeoUrl)&&/*#__PURE__*/_jsx(\"a\",{href:vimeoUrl,\"data-mf-type\":\"label\",className:\"mf-link mf-dim\",style:{textDecoration:\"none\",fontWeight:500,fontSize:10,letterSpacing:\".12em\",color:\"#848b9c\"},children:\"VIMEO\"}),isLiveSocialUrl(linkedinUrl)&&/*#__PURE__*/_jsx(\"a\",{href:linkedinUrl,\"data-mf-type\":\"label\",className:\"mf-link mf-dim\",style:{textDecoration:\"none\",fontWeight:500,fontSize:10,letterSpacing:\".12em\",color:\"#848b9c\"},children:\"LINKEDIN\"}),/*#__PURE__*/_jsx(\"span\",{\"data-mf-type\":\"label\",className:\"mf-dim\",style:{fontWeight:500,fontSize:10,letterSpacing:\".09em\",color:\"#848b9c\"},children:`\\xa9 ${new Date().getFullYear()}`})]})]})})]}):null,/*#__PURE__*/_jsxs(\"header\",{id:\"top\",ref:headerElRef,className:\"mf-hero\",style:{position:\"relative\",// !! s66: EXPLICIT z-index, do not remove. The hero's\n// opaque #04060a backplate is what makes the image recede\n// fade to BLACK; without it the fixed telemetry grid\n// (data-mf=\"motion-op\", position:fixed, z-index:0) shows\n// through the fading image. The hero was relying on\n// IMPLICIT tree order to beat that grid — both are\n// children of .mf-v2, the grid is z-index 0 and the hero\n// was z-index auto, so painting order came down to\n// document order. Gav photographed the grid compositing\n// over the fading hero on the published build, in both\n// Firefox and Chrome, which is proof the implicit order\n// does not hold in practice.\n// #work and #about both already carry zIndex 1; the hero\n// simply never did. 1 keeps it above the grid and the\n// ambient layer while staying below the nav (60), the\n// wipe frame (70) and both lightboxes.\nzIndex:1,width:\"100%\",height:\"100vh\",minHeight:layoutW<=HEADLINE_PHONE_MAX?undefined:720,overflow:\"hidden\",background:\"#04060a\",// s70: on Motion phones the hero HOLDS STILL and is masked\n// away below the band's cut — Gav: \"the hero image\n// shouldn't move up but rather be obscured by the wipe as\n// the grid bg is revealed\". Sticky in the component root\n// means it pins for the rest of the page; the driver hides\n// it once the cut has fully passed, so it costs nothing\n// after that. svh, not vh: the URL bar moves.\n...motionPhone?{position:\"sticky\",top:0,height:mfSvh(100)}:null},children:[/*#__PURE__*/_jsxs(\"div\",{\"data-mf\":\"sbody\",ref:el=>{mSbodyRefs.current[0]=el;},style:stackMode?{position:\"absolute\",left:0,right:0,top:0,height:\"100%\",willChange:\"transform\"}:colourPages?{// s171: the page's own scroller\nposition:\"absolute\",left:0,right:0,top:0,height:\"100%\",overflowY:\"auto\",overscrollBehavior:\"none\",touchAction:\"pan-y\"}:{display:\"contents\"},children:[/*#__PURE__*/_jsxs(\"div\",{ref:heroMediaRef,\"data-mf\":\"hero-media\",style:{position:\"absolute\",inset:0},children:[/*#__PURE__*/_jsx(\"div\",{ref:clandRef,\"data-mf\":\"clanding\",style:{position:\"absolute\",inset:0,zIndex:3,pointerEvents:\"none\"}}),landingOn?/*#__PURE__*/_jsx(\"div\",{ref:landingRef,\"data-mf\":\"landing\",style:{position:\"absolute\",inset:0,zIndex:3}}):null,/*#__PURE__*/_jsxs(\"div\",{\"data-mf\":\"colour-op\",style:{position:\"absolute\",inset:0},children:[colourHeroImgs.map((img,i)=>/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,overflow:\"hidden\",opacity:i===colourHeroIndex?1:0,transition:\"opacity 1.8s ease\"},children:/*#__PURE__*/_jsx(\"img\",{src:img.src,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:colourHeroFocal[i]||\"50% 42%\",animation:\"mf-hero-colour-push 8000ms linear forwards\"},alt:img.alt||(colourHeroProjects[i]?.title?`${colourHeroProjects[i].title} — Mind Factory colour grading`:\"Mind Factory colour grading work\")},`${i}-${colourEpochRef.current[i]||0}`)},i)),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:\"-30%\",backgroundImage:\"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='nh'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23nh)'/%3E%3C/svg%3E\\\")\",opacity:.07,mixBlendMode:\"overlay\",animation:\"mf-grain 1.6s steps(3) infinite\"}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,background:\"radial-gradient(ellipse 80% 80% at 50% 46%,transparent 34%,rgba(8,3,2,.6) 100%)\"}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,background:\"linear-gradient(180deg,transparent 44%,rgba(6,3,2,.72) 100%)\"}})]}),/*#__PURE__*/_jsxs(\"div\",{\"data-mf\":\"motion-op\",style:{position:\"absolute\",inset:0},children:[motionCurrentSrc&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,overflow:\"hidden\"},children:/*#__PURE__*/_jsxs(\"div\",{ref:swishStripRef,style:{position:\"absolute\",inset:0,width:motionHeroImgs.length>1?\"200%\":\"100%\",height:\"100%\",display:\"flex\",// Pan: pin at 0. Swish: leave undefined so React re-renders\n// don't clobber the rAF-driven translate mid-swish.\ntransform:motionHeroPhase===\"swish\"?undefined:\"translateX(0%)\",filter:motionHeroPhase===\"swish\"&&layoutW>HEADLINE_PHONE_MAX?\"saturate(.72) contrast(1.04) brightness(.86) hue-rotate(-4deg) url(#mf-hero-motionblur)\":\"saturate(.72) contrast(1.04) brightness(.86) hue-rotate(-4deg)\",willChange:motionHeroPhase===\"swish\"?\"transform\":\"auto\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:motionHeroImgs.length>1?\"50%\":\"100%\",height:\"100%\",overflow:\"hidden\",flexShrink:0},children:/*#__PURE__*/_jsx(\"img\",{src:motionCurrentSrc,onAnimationEnd:onMotionPanEnd,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:\"50% 42%\",// Swish: hold pan-end pose (set on the element in onMotionPanEnd, mirrored here for React).\ntransform:motionHeroPhase===\"swish\"?\"scale(1.08) translate(-2.4%, 0)\":undefined,animation:motionHeroPhase===\"pan\"?motionHeroImgs.length>1?\"mf-hero-pan 3600ms linear forwards\":\"mf-hero-pan 6400ms linear infinite alternate\":\"none\"},alt:motionCurrentAlt},`mf-hero-pan-${motionHeroIndex}`)}),motionHeroImgs.length>1&&motionNextSrc&&/*#__PURE__*/_jsx(\"div\",{style:{width:\"50%\",height:\"100%\",overflow:\"hidden\",flexShrink:0},children:/*#__PURE__*/_jsx(\"img\",{src:motionNextSrc,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:\"50% 42%\",transform:\"scale(1.08)\"},alt:motionNextAlt})})]})}),/*#__PURE__*/_jsx(\"svg\",{width:\"0\",height:\"0\",style:{position:\"absolute\"},children:/*#__PURE__*/_jsx(\"filter\",{id:\"mf-hero-motionblur\",children:/*#__PURE__*/_jsx(\"feGaussianBlur\",{ref:swishBlurRef,stdDeviation:\"0 0\"})})}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,background:\"linear-gradient(180deg,rgba(4,6,10,.55) 0%,transparent 22%,transparent 55%,rgba(4,6,10,.78) 100%)\"}})]}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,background:\"linear-gradient(100deg,rgba(4,6,10,.8) 0%,rgba(4,6,10,.36) 38%,transparent 64%)\"}}),/*#__PURE__*/_jsxs(\"div\",{\"data-mf\":\"glitch\",style:{position:\"absolute\",inset:0,pointerEvents:\"none\",overflow:\"hidden\"},children:[glitchHeroSrc&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"img\",{\"data-mf-glitch\":\"r\",style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:\"50% 42%\",mixBlendMode:\"screen\",filter:\"saturate(2.2) hue-rotate(150deg) brightness(1.25)\",opacity:.55},src:glitchHeroSrc,alt:\"\"}),/*#__PURE__*/_jsx(\"img\",{\"data-mf-glitch\":\"c\",style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:\"50% 42%\",mixBlendMode:\"screen\",filter:\"saturate(2.2) hue-rotate(-40deg) brightness(1.25)\",opacity:.55},src:glitchHeroSrc,alt:\"\"}),/*#__PURE__*/_jsx(\"img\",{\"data-mf-glitch\":\"slice\",style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:\"50% 42%\",filter:\"contrast(1.2) saturate(1.3)\"},src:glitchHeroSrc,alt:\"\"})]}),/*#__PURE__*/_jsx(\"div\",{\"data-mf-glitch\":\"block-a\",style:{position:\"absolute\",left:0,right:0,top:\"21%\",height:\"8%\",background:\"var(--mf-acc)\",mixBlendMode:\"difference\",opacity:0}}),/*#__PURE__*/_jsx(\"div\",{\"data-mf-glitch\":\"block-b\",style:{position:\"absolute\",left:0,right:0,top:\"57%\",height:\"5%\",background:\"#fff\",mixBlendMode:\"exclusion\",opacity:0}}),/*#__PURE__*/_jsx(\"div\",{\"data-mf-glitch\":\"scan\",style:{position:\"absolute\",inset:0,background:\"repeating-linear-gradient(0deg,rgba(255,255,255,.16) 0 1px,transparent 1px 4px)\",mixBlendMode:\"overlay\",opacity:0}}),/*#__PURE__*/_jsx(\"div\",{\"data-mf-glitch\":\"flash\",style:{position:\"absolute\",inset:0,background:\"var(--mf-acc)\",mixBlendMode:\"overlay\"}})]})]}),/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"motion-op\",className:\"mf-hud-corner mf-hud-tl\",style:{position:\"absolute\",top:92,left:HUD_INSET_CSS,width:46,height:46,borderTop:\"2px solid var(--mf-acc)\",borderLeft:\"2px solid var(--mf-acc)\"}}),/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"motion-op\",className:\"mf-hud-corner mf-hud-tr\",style:{position:\"absolute\",top:92,right:HUD_INSET_CSS,width:46,height:46,borderTop:\"2px solid var(--mf-acc)\",borderRight:\"2px solid var(--mf-acc)\"}}),/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"motion-op\",className:\"mf-hud-corner mf-hud-br\",style:{position:\"absolute\",bottom:34,right:HUD_INSET_CSS,width:46,height:46,borderBottom:\"2px solid var(--mf-acc)\",borderRight:\"2px solid var(--mf-acc)\"}}),/*#__PURE__*/_jsxs(\"div\",{\"data-mf\":\"motion-op\",className:\"mf-hud-telemetry\",style:{position:\"absolute\",top:100,left:0,right:0,display:\"flex\",justifyContent:\"center\",gap:11,fontFamily:\"var(--mf-font-label-motion)\",fontWeight:300,fontSize:10,letterSpacing:\".28em\",color:\"rgba(68,227,240,.72)\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{animation:\"mf-rec 1.8s steps(1) infinite\"},children:\"● REC\"}),/*#__PURE__*/_jsx(\"span\",{children:\"00:00:14:08\"}),/*#__PURE__*/_jsx(\"span\",{style:{opacity:.55},children:\"/ SIGNAL: MOTION\"})]}),/*#__PURE__*/_jsx(\"div\",{className:\"mf-pad-x mf-headline-wrap\",style:{position:\"absolute\",left:0,right:0},children:/*#__PURE__*/_jsxs(\"div\",{className:\"mf-headline-frame\",children:[/*#__PURE__*/_jsxs(\"div\",{ref:headlineBlockRef,className:\"mf-headline-block\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"mf-headline-label\",style:{color:\"var(--mf-acc)\",textShadow:\"0 0 8px var(--mf-glow)\"},children:\"MOTION \\xb7 COLOUR \\xb7 VFX \\xb7 FINISHING\"}),/*#__PURE__*/_jsxs(\"h1\",{\"data-mf-type\":\"display\",className:\"mf-hero-h1\",style:{fontWeight:700,// Leading: tablet/desktop tighter; phone keeps prior (CSS also locks with !important).\nlineHeight:layoutW<=HEADLINE_PHONE_MAX?mode===\"motion\"?HEADLINE_H1_LEAD_PHONE_MOTION:HEADLINE_H1_LEAD_PHONE_COLOUR:mode===\"motion\"?HEADLINE_H1_LEAD_MOTION:HEADLINE_H1_LEAD_COLOUR,color:\"#fff\",textShadow:\"0 2px 40px rgba(0,0,0,.5)\"},children:[/*#__PURE__*/_jsx(\"span\",{className:\"mf-hero-h1-line\",\"data-mf-line\":\"1\",children:\"One studio.\"}),/*#__PURE__*/_jsxs(\"span\",{className:\"mf-hero-h1-line\",\"data-mf-line\":\"2\",children:[\"Two \",/*#__PURE__*/_jsx(\"em\",{className:\"mf-em\",children:\"signals\"}),\".\"]}),/*#__PURE__*/_jsx(\"span\",{className:\"mf-hero-h1-line\",\"data-mf-line\":\"3\",children:\"No misses.\"})]})]}),/*#__PURE__*/_jsx(\"div\",{className:\"mf-reel-under-headline\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"mf-reel-under-grid\",children:[/*#__PURE__*/_jsxs(\"button\",{\"data-mf\":\"colour-only\",onClick:openReel,className:\"mf-link mf-reel-under-btn\",type:\"button\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"mf-reel-under-icon\",style:{borderRadius:\"50%\",border:\"1px solid var(--mf-acc)\",color:\"#fff\",background:\"rgba(4,6,10,.35)\",backdropFilter:\"blur(6px)\"},children:/*#__PURE__*/_jsx(\"svg\",{width:REEL_UNDER_ICON_SVG,height:REEL_UNDER_ICON_SVG,viewBox:\"0 0 14 14\",fill:\"currentColor\",\"aria-hidden\":\"true\",style:{display:\"block\",flex:\"none\",marginLeft:3},children:/*#__PURE__*/_jsx(\"path\",{d:\"M3.2 1.6v10.8l9.2-5.4L3.2 1.6z\"})})}),/*#__PURE__*/_jsxs(\"span\",{style:{textAlign:\"left\",minWidth:0},children:[/*#__PURE__*/_jsx(\"span\",{className:\"mf-reel-under-title-colour\",children:\"Watch the reel\"}),/*#__PURE__*/_jsxs(\"span\",{className:\"mf-reel-under-sub-colour\",children:[colourReelDuration,\" \\xb7 COLOUR SHOWREEL\"]})]})]}),/*#__PURE__*/_jsxs(\"button\",{\"data-mf\":\"motion-only\",onClick:openReel,className:\"mf-link mf-reel-under-btn\",type:\"button\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"mf-reel-under-icon\",style:{background:\"var(--mf-acc)\",color:\"#04060a\",clipPath:\"polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,11px 100%,0 calc(100% - 11px))\",boxShadow:\"0 0 16px rgba(0,213,240,.4)\"},children:/*#__PURE__*/_jsx(\"svg\",{width:REEL_UNDER_ICON_SVG,height:REEL_UNDER_ICON_SVG,viewBox:\"0 0 14 14\",fill:\"currentColor\",\"aria-hidden\":\"true\",style:{display:\"block\",flex:\"none\",marginLeft:2},children:/*#__PURE__*/_jsx(\"path\",{d:\"M3.2 1.6v10.8l9.2-5.4L3.2 1.6z\"})})}),/*#__PURE__*/_jsxs(\"span\",{style:{textAlign:\"left\",minWidth:0},children:[/*#__PURE__*/_jsx(\"span\",{className:\"mf-reel-under-title-motion\",children:\"Watch the reel\"}),/*#__PURE__*/_jsxs(\"span\",{className:\"mf-reel-under-sub-motion\",children:[motionReelDuration,\" \\xb7 MOTION SHOWREEL\"]})]})]})]})})]})}),/*#__PURE__*/_jsxs(\"div\",{className:\"mf-pad-x mf-hero-bottom\",style:{position:\"absolute\",left:0,right:0,bottom:0,maxWidth:CONTENT_MAX,marginLeft:\"auto\",marginRight:\"auto\",boxSizing:\"border-box\",padding:`0 ${EDGE_PAD}px ${motionPhone&&stackMode?MOBILE_HERO_BOTTOM_PAD_PX+MOBILE_STACK_TAB_CLEAR_PX:MOBILE_HERO_BOTTOM_PAD_PX}px`},children:[/*#__PURE__*/_jsx(\"div\",{ref:reelMobileRef,className:\"mf-reel-row-mobile\",style:{display:\"none\",justifyContent:\"center\",marginBottom:REEL_PHONE_MB},children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\"},children:[/*#__PURE__*/_jsxs(\"button\",{\"data-mf\":\"colour-only\",onClick:openReel,className:\"mf-link mf-reel-phone-btn\",type:\"button\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"mf-reel-phone-icon\",style:{borderRadius:\"50%\",border:\"1px solid var(--mf-acc)\",color:\"#fff\",background:\"rgba(4,6,10,.35)\",backdropFilter:\"blur(6px)\"},children:/*#__PURE__*/_jsx(\"svg\",{width:REEL_PHONE_ICON_SVG,height:REEL_PHONE_ICON_SVG,viewBox:\"0 0 14 14\",fill:\"currentColor\",\"aria-hidden\":\"true\",style:{display:\"block\",flex:\"none\",marginLeft:3},children:/*#__PURE__*/_jsx(\"path\",{d:\"M3.2 1.6v10.8l9.2-5.4L3.2 1.6z\"})})}),/*#__PURE__*/_jsxs(\"span\",{children:[/*#__PURE__*/_jsx(\"span\",{className:\"mf-reel-phone-title-colour\",children:\"Watch the reel\"}),/*#__PURE__*/_jsxs(\"span\",{className:\"mf-reel-phone-sub-colour\",children:[colourReelDuration,\" \\xb7 COLOUR SHOWREEL\"]})]})]}),/*#__PURE__*/_jsxs(\"button\",{\"data-mf\":\"motion-only\",onClick:openReel,className:\"mf-link mf-reel-phone-btn\",type:\"button\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"mf-reel-phone-icon\",style:{background:\"var(--mf-acc)\",color:\"#04060a\",clipPath:\"polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,11px 100%,0 calc(100% - 11px))\",boxShadow:\"0 0 16px rgba(0,213,240,.4)\"},children:/*#__PURE__*/_jsx(\"svg\",{width:REEL_PHONE_ICON_SVG,height:REEL_PHONE_ICON_SVG,viewBox:\"0 0 14 14\",fill:\"currentColor\",\"aria-hidden\":\"true\",style:{display:\"block\",flex:\"none\",marginLeft:2},children:/*#__PURE__*/_jsx(\"path\",{d:\"M3.2 1.6v10.8l9.2-5.4L3.2 1.6z\"})})}),/*#__PURE__*/_jsxs(\"span\",{children:[/*#__PURE__*/_jsx(\"span\",{className:\"mf-reel-phone-title-motion\",children:\"Watch the reel\"}),/*#__PURE__*/_jsxs(\"span\",{className:\"mf-reel-phone-sub-motion\",children:[motionReelDuration,\" \\xb7 MOTION SHOWREEL\"]})]})]})]})}),/*#__PURE__*/_jsxs(\"div\",{ref:bottomRowRef,className:\"mf-hero-bottom-row\",style:{display:\"flex\",alignItems:\"flex-end\",justifyContent:\"space-between\",gap:40,flexWrap:\"wrap\"},children:[/*#__PURE__*/_jsx(\"div\",{className:\"mf-reel-row\",style:{display:\"flex\",alignItems:\"center\",gap:30,flexWrap:\"wrap\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\"},children:[/*#__PURE__*/_jsxs(\"button\",{\"data-mf\":\"colour-only\",onClick:openReel,className:\"mf-link\",style:{gridArea:\"1/1\",cursor:\"pointer\",background:\"none\",border:\"none\",padding:0,display:\"inline-flex\",alignItems:\"center\",gap:16},children:[/*#__PURE__*/_jsx(\"span\",{style:{width:52,height:52,borderRadius:\"50%\",border:\"1px solid var(--mf-acc)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:\"#fff\",paddingLeft:2},children:/*#__PURE__*/_jsx(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 14 14\",fill:\"currentColor\",\"aria-hidden\":\"true\",style:{display:\"block\",flex:\"none\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M3.2 1.6v10.8l9.2-5.4L3.2 1.6z\"})})}),/*#__PURE__*/_jsxs(\"span\",{style:{textAlign:\"left\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{display:\"block\",fontFamily:\"var(--serif)\",fontStyle:\"italic\",fontWeight:500,fontSize:22,lineHeight:1,color:\"#fff\"},children:\"Watch the reel\"}),/*#__PURE__*/_jsxs(\"span\",{style:{display:\"block\",marginTop:5,fontFamily:\"var(--sans)\",fontWeight:500,fontSize:10,letterSpacing:\".18em\",color:\"var(--mf-acc)\"},children:[colourReelDuration,\" \\xb7 COLOUR SHOWREEL\"]})]})]}),/*#__PURE__*/_jsxs(\"button\",{\"data-mf\":\"motion-only\",onClick:openReel,className:\"mf-link\",style:{gridArea:\"1/1\",cursor:\"pointer\",background:\"none\",border:\"none\",padding:0,display:\"inline-flex\",alignItems:\"center\",gap:16},children:[/*#__PURE__*/_jsx(\"span\",{style:{width:52,height:52,flex:\"none\",background:\"var(--mf-acc)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:\"#04060a\",paddingLeft:2,clipPath:\"polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,11px 100%,0 calc(100% - 11px))\",boxShadow:\"0 0 16px rgba(0,213,240,.4)\"},children:/*#__PURE__*/_jsx(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 14 14\",fill:\"currentColor\",\"aria-hidden\":\"true\",style:{display:\"block\",flex:\"none\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M3.2 1.6v10.8l9.2-5.4L3.2 1.6z\"})})}),/*#__PURE__*/_jsxs(\"span\",{style:{textAlign:\"left\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{display:\"block\",fontFamily:\"var(--mf-font-display-motion)\",fontWeight:400,fontSize:21,lineHeight:1,letterSpacing:\".03em\",textTransform:\"uppercase\",color:\"#fff\"},children:\"Watch the reel\"}),/*#__PURE__*/_jsxs(\"span\",{style:{display:\"block\",marginTop:7,fontFamily:\"var(--mf-font-label-motion)\",fontWeight:300,fontSize:10,letterSpacing:\".2em\",color:\"#8a90a0\"},children:[motionReelDuration,\" \\xb7 MOTION SHOWREEL\"]})]})]})]})}),nowShowing&&/*#__PURE__*/_jsxs(\"div\",{className:\"mf-hero-bottom-right\",style:{textAlign:\"right\",paddingBottom:4,marginLeft:\"auto\",minWidth:0},children:[/*#__PURE__*/_jsx(\"div\",{\"data-mf-type\":\"label\",className:\"mf-dim mf-now-label\",style:{fontWeight:500,fontSize:10,letterSpacing:\".2em\",color:\"#9298ab\"},children:\"NOW SHOWING\"}),/*#__PURE__*/_jsxs(\"div\",{style:{opacity:nowShowingVisible?1:0,transition:\"opacity .4s ease\"},children:[/*#__PURE__*/_jsx(\"div\",{\"data-mf-type\":\"display\",className:\"mf-now-title\",style:{marginTop:8,fontWeight:600,fontSize:38,lineHeight:.9,color:\"#fff\"},children:nowShowingDisplay.title}),/*#__PURE__*/_jsx(\"div\",{className:\"mf-now-tag\",style:{marginTop:7,// No data-mf-type=\"label\" — motion forces weight 100!important.\n// Font per signal: Pawl is Motion-only, Schibsted in Colour.\nfontFamily:isMotion?\"var(--mf-font-label-motion)\":\"var(--sans)\",fontWeight:isMotion?400:500,fontSynthesis:\"none\",fontSize:10,letterSpacing:\".16em\",color:\"var(--mf-acc)\",textTransform:\"uppercase\"},children:nowShowingDisplay.tag})]})]})]}),!(motionPhone&&stackMode)&&/*#__PURE__*/_jsxs(\"div\",{\"data-mf\":\"scroll-hint\",style:{marginTop:22,display:\"flex\",alignItems:\"center\",gap:14},children:[/*#__PURE__*/_jsx(\"span\",{\"data-mf-type\":\"label\",className:\"mf-dim mf-link\",onClick:onScrollHintClick,style:{fontWeight:500,fontSize:10,letterSpacing:\".24em\",color:\"#a99f92\",cursor:\"pointer\"},children:\"SCROLL TO SEE SELECTED WORK\"}),/*#__PURE__*/_jsx(\"div\",{style:{flex:1,maxWidth:160,height:1,background:\"linear-gradient(90deg,var(--mf-acc),transparent)\",opacity:.4}})]})]})]}),phNew?/*#__PURE__*/_jsx(MFPhoneLanding,{projects:projectsColour,onReel:openReel}):null]}),/*#__PURE__*/_jsxs(\"section\",{id:\"work\",ref:gridWrapRef,style:{position:\"relative\",// s226e: one screen under the nav with the even rides (132vh = the old grid's pin travel)\nheight:cRide?MFC_RIDE_WORK_H:\"132vh\",zIndex:1,scrollMarginTop:WORK_STICKY_TOP},children:[siteFrame?/*#__PURE__*/_jsx(\"div\",{className:\"mf-sframe-pin\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"mf-sframe\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"mf-br mf-br-tl\"}),/*#__PURE__*/_jsx(\"span\",{className:\"mf-br mf-br-tr\"}),/*#__PURE__*/_jsx(\"span\",{className:\"mf-br mf-br-bl\"}),/*#__PURE__*/_jsx(\"span\",{className:\"mf-br mf-br-br\"}),/*#__PURE__*/_jsx(\"div\",{className:\"mf-fnum\",children:\"01\"}),/*#__PURE__*/_jsxs(\"div\",{className:\"mf-tab\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"mf-tab-n\",children:\"01\"}),/*#__PURE__*/_jsx(\"span\",{className:\"mf-tab-nm\",children:\"SELECTED WORK\"}),/*#__PURE__*/_jsx(\"span\",{className:\"mf-tab-mt\",children:String(filtered.length).padStart(2,\"0\")+\" BRAND CREDITS \\xb7 MOTION WORK\"})]}),/*#__PURE__*/_jsx(\"div\",{className:\"mf-frail\",ref:workRailRef,children:/*#__PURE__*/_jsx(\"i\",{})})]})}):null,/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"sbody\",ref:el=>{mSbodyRefs.current[1]=el;},style:stackMode?{position:\"absolute\",left:0,right:0,top:0,height:\"100%\",willChange:\"transform\"}:colourPages?{// s171: the page's own scroller\nposition:\"absolute\",left:0,right:0,top:0,height:\"100%\",overflowY:\"auto\",overscrollBehavior:\"none\",touchAction:\"pan-y\"}:{display:\"contents\"},children:/*#__PURE__*/_jsxs(\"div\",{ref:workStickyRef,className:\"mf-pad-x\",style:{position:\"sticky\",top:WORK_STICKY_TOP,height:`calc(100vh - ${WORK_STICKY_TOP}px)`,overflow:\"hidden\",display:\"flex\",flexDirection:\"column\",padding:`${WORK_PAD_TOP}px 44px ${WORK_PAD_BOTTOM}px`,background:\"#07080c\"},children:[stackMode&&MOBILE_DECK_SNAP?/*#__PURE__*/_jsx(\"div\",{ref:workSnapTrackRef,\"data-mf\":\"work-snap-track\",style:{position:\"absolute\",inset:0,pointerEvents:\"none\",zIndex:0},children:Array.from({length:filtered.length+2},(_,i)=>/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"work-snap\",style:{position:\"absolute\",left:0,width:1,pointerEvents:\"none\",scrollSnapAlign:\"start\",scrollSnapStop:\"always\"}},i))}):null,/*#__PURE__*/_jsxs(\"div\",{ref:workHeaderRef,className:siteFrame?\"mf-sframe-hide\":undefined,...motionPhone?{\"data-mf\":\"mobile-sec-head\"}:null,style:{maxWidth:1320,width:\"100%\",margin:\"0 auto\",flex:\"none\",display:\"flex\",alignItems:\"center\",gap:16,...motionPhone?{height:MOBILE_STACK_ROW_H,boxSizing:\"border-box\",paddingTop:0,paddingBottom:0}:null},children:[/*#__PURE__*/_jsx(\"span\",{\"data-mf-type\":\"label\",style:{fontWeight:600,fontSize:11,letterSpacing:\".22em\",color:\"var(--mf-acc)\"},children:\"[ 01 ]\\xa0\\xa0SELECTED WORK\"}),/*#__PURE__*/_jsx(\"div\",{style:{flex:1,height:1,background:\"rgba(255,255,255,.08)\"}}),/*#__PURE__*/_jsx(\"span\",{ref:motionPhone?workCountRef:undefined,\"data-mf-type\":\"label\",className:\"mf-dim\",style:{fontWeight:500,fontSize:10,letterSpacing:\".14em\",color:\"#848b9c\",...motionPhone?{whiteSpace:\"nowrap\",flexShrink:0}:null},children:motionPhone?`${String(1).padStart(2,\"0\")} / ${String(filtered.length).padStart(2,\"0\")}`:isMotion?`${String(filtered.length).padStart(2,\"0\")} BRAND CREDITS — MOTION WORK`:`${String(filtered.length).padStart(2,\"0\")} COLOUR PROJECTS — 2022 / 2026`})]}),/*#__PURE__*/_jsx(\"div\",{ref:el=>{workGridRef.current=el;carouselRef.current=el;},className:useCarousel?\"mf-carousel\":undefined,\"data-mf-deck\":motionPhone?\"1\":undefined,style:motionPhone?{// s70 deck STAGE. position/top/height\n// are written by layoutWorkGrid from\n// the live svh. Perspective lives on\n// the inner stage wrapper so the 3D\n// context is viewport-sized, not the\n// sticky containing block. Tiles\n// inside are absolutely positioned\n// and posed per frame by the driver.\nmaxWidth:1320,width:\"100%\",margin:\"0 auto\",flex:\"none\",position:\"relative\"}:useCarousel?{maxWidth:1320,width:\"100%\",margin:\"26px auto 0\",flex:\"none\",position:\"relative\",display:\"flex\",flexDirection:\"column\",gap:12,height:CAROUSEL_VIEW_H,overflowY:\"auto\",overflowX:\"hidden\",scrollSnapType:\"y mandatory\",// Vertical padding lets the FIRST and LAST tiles reach the centre of the\n// scrollport; without it scroll-snap-align:center cannot be satisfied at\n// the ends and snapping fights back.\npaddingTop:(CAROUSEL_VIEW_H-CAROUSEL_TILE_H)/2,paddingBottom:(CAROUSEL_VIEW_H-CAROUSEL_TILE_H)/2,WebkitOverflowScrolling:\"touch\"}:{maxWidth:1320,width:\"100%\",margin:\"26px auto 0\",flex:\"none\",display:\"grid\",gridTemplateColumns:`repeat(${gridCols},1fr)`,...colourWall?{gap:\"18px 2px\",gridAutoFlow:\"row\",// s192: break out of the\n// pane's 18px gutter. width\n// auto resolves to the content\n// box plus both negative\n// margins, so 339 + 32 = 371\n// at 375 with a 2px edge —\n// the signed geometry. The\n// head keeps its inset.\nwidth:\"auto\",marginLeft:-16,marginRight:-16}:{gap:12}},children:(nodes=>motionPhone?/*#__PURE__*/_jsxs(\"div\",{\"data-mf\":\"mobile-deck-clip\",style:{position:\"absolute\",inset:0,// Clip receding tiles. overflow +\n    // clip-path + isolation on this\n    // ancestor flatten a descendant\n    // 3D context (the s136/s137\n    // bands). Default drum is 2D so\n    // that does not matter; the\n    // ?mfdrum3d=1 path keeps these\n    // so the HUD can measure flatten.\n    overflow:\"hidden\",isolation:\"isolate\",clipPath:\"inset(0)\",WebkitClipPath:\"inset(0)\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,// 2D default: no perspective.\n    // zIndex 0 + isolation traps tile\n    // z (c*1000) so the dial (z 2)\n    // paints on top. CSS-3D only\n    // behind ?mfdrum3d=1. Jump keeps\n    // 1100.\n    ...stackDrum3d?{perspective:MOBILE_DECK_PERSPECTIVE_PX,transformStyle:\"preserve-3d\",perspectiveOrigin:\"50% 50%\"}:stackDrum?{zIndex:0,isolation:\"isolate\"}:{perspective:MOBILE_PERSPECTIVE}},children:nodes}),stackMode?/*#__PURE__*/_jsx(\"div\",{ref:workSlotFrameRef,\"data-mf\":\"work-slot-frame\",\"aria-hidden\":\"true\"}):null,stackMode?/*#__PURE__*/_jsxs(\"div\",{\"data-mf\":\"work-dial\",style:{position:\"absolute\",top:0,bottom:0,right:0,width:MOBILE_DIAL_W_PX,overflow:\"hidden\",pointerEvents:\"none\",zIndex:2},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,background:\"linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,213,240,.045) 34%, rgba(0,213,240,.075) 50%, rgba(0,213,240,.045) 66%, rgba(0,0,0,.55) 100%)\"}}),/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"work-dial-edge\",style:{position:\"absolute\",left:0,top:0,bottom:0,width:1,background:\"linear-gradient(180deg, rgba(0,213,240,0), rgba(0,213,240,.30) 50%, rgba(0,213,240,0))\",transformOrigin:\"50% 0%\"}}),/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"work-dial-gate\",style:{position:\"absolute\",left:0,width:\"100%\",height:21,top:\"50%\",marginTop:-10,borderTop:\"1px solid rgba(0,213,240,.45)\",borderBottom:\"1px solid rgba(0,213,240,.45)\",boxSizing:\"border-box\"}}),/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"work-dial-tab\",style:{position:\"absolute\",right:0,top:\"50%\",marginTop:-10,width:7,height:2,background:\"var(--mf-acc)\"}}),/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"work-dial-tab\",style:{position:\"absolute\",right:0,top:\"50%\",marginTop:9,width:7,height:2,background:\"var(--mf-acc)\"}}),/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"work-dial-ticks\",style:{position:\"absolute\",inset:0,pointerEvents:\"none\",maskImage:\"linear-gradient(#000 0,#000 calc(50% - 11px),transparent calc(50% - 11px),transparent calc(50% + 11px),#000 calc(50% + 11px),#000 100%)\",WebkitMaskImage:\"linear-gradient(#000 0,#000 calc(50% - 11px),transparent calc(50% - 11px),transparent calc(50% + 11px),#000 calc(50% + 11px),#000 100%)\"},children:Array.from({length:2*MOBILE_DIAL_SPAN+1},(_,i)=>/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"work-dial-tick\",ref:el=>{workDialTickRefs.current[i]=el;},style:{position:\"absolute\",visibility:\"hidden\",opacity:0,pointerEvents:\"none\"}},i))}),/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"work-dial-flash\"}),/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"work-dial-num-win\",style:{position:\"absolute\",left:0,right:0,top:\"50%\",marginTop:-10.5,height:21,overflow:\"hidden\",pointerEvents:\"none\"},children:/*#__PURE__*/_jsx(\"div\",{ref:workDialNumRef,\"data-mf\":\"work-dial-num\",style:{position:\"absolute\",left:0,right:0,textAlign:\"center\",fontFamily:\"var(--mf-font-label-motion)\",fontWeight:700,fontSize:11,letterSpacing:\".06em\",color:\"#00d5f0\",textTransform:\"uppercase\",whiteSpace:\"nowrap\",pointerEvents:\"none\",visibility:\"hidden\",opacity:0}})})]}):null]}):nodes)(projectsForRender.map((p,i)=>{if(p.signal===\"motion\"){const tile=/*#__PURE__*/_jsx(\"div\",{ref:el=>{tileRefs.current[i]=el;},className:`mf-gtile mf-credit-tile${p.loopVideo&&autoplayBlocked?\" mf-tile-clickable\":\"\"}`,\"data-mf-tileplaying\":playingVideo===i?\"1\":undefined,\"data-mf-rowactive\":activeRow!==null&&Math.floor(i/gridCols)===activeRow?\"1\":undefined,style:{position:motionPhone?\"absolute\":\"relative\",height:useCarousel?CAROUSEL_TILE_H:220,...useCarousel?{width:\"100%\"}:null,// s70 deck card. React owns the base\n// pose so nothing has to clear an\n// inline style React set — clearing\n// one is a ONE-WAY DELETE (s67), and\n// React will not put it back. On\n// motionPhone the driver owns\n// opacity / transform / willChange.\n...motionPhone?{// 10px left + 10px before\n// the dial. Rest pose is\n// this box (proj sx/sy\n// fitted to 1 at o=0).\nleft:stackDrum?10:0,right:stackDrum?MOBILE_DIAL_W_PX+10:0,top:stackDrum?\"50%\":`${MOBILE_DECK_CENTRE_PCT}%`,transformOrigin:\"50% 50%\",...stackDrum3d?{backfaceVisibility:\"hidden\"}:null,boxShadow:stackDrum?\"0 8px 16px rgba(0,0,0,.5)\":\"0 18px 40px rgba(0,0,0,.55)\"}:null,// 2D drum: overflow+radius on the\n// tile is safe (no 3D context).\n// CSS-3D keeps clip on tile-face.\n...stackDrum3d?{overflow:\"visible\"}:{borderRadius:5,overflow:\"hidden\"},background:\"#14161d\",...!motionPhone?{opacity:0,transform:\"translateY(40px)\"}:null},onPointerEnter:e=>{if(e.pointerType!==\"mouse\")return;upgradeToMouse();if(autoplayBlockedRef.current)return;startTileVideo(i);},onPointerLeave:()=>stopTileVideo(i),onClick:()=>{// Tap is the play gesture on touch, and\n// the fallback when a browser's autoplay\n// policy refuses hover playback. On a\n// mouse with autoplay allowed, hover\n// owns it and clicking stays inert so\n// the credit wall keeps its semantics.\nif(deckSuppressClickRef.current)return;if(hasMouseRef.current&&!autoplayBlockedRef.current)return;if(activeVideoRef.current===i)stopTileVideo(i);else startTileVideo(i);},children:(face=>stackDrum3d?/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"tile-face\",style:{position:\"absolute\",inset:0,overflow:\"hidden\",borderRadius:5,background:\"#14161d\"},children:face}):face)(/*#__PURE__*/_jsxs(_Fragment,{children:[p.thumbnail?.src&&/*#__PURE__*/_jsx(\"img\",{src:p.thumbnail.src,className:\"mf-tileimg\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\",transition:\"transform .6s cubic-bezier(.2,.6,.2,1),filter .6s ease\"},alt:p.thumbnail?.alt||(p.studioName||p.brandName?`Work for ${p.studioName||p.brandName} — Mind Factory motion production`:\"Mind Factory motion production still\")}),p.loopVideo&&/*#__PURE__*/_jsx(\"video\",{ref:el=>{videoRefs.current[i]=el;},className:\"mf-tilevid\",\"data-mf-vidplaying\":playingVideo===i?\"1\":undefined,muted:true,loop:true,playsInline:true,preload:\"none\",\"aria-hidden\":\"true\",tabIndex:-1}),p.loopVideo&&videoCapable&&/*#__PURE__*/_jsx(\"div\",{ref:el=>{tileProgressRefs.current[i]=el;},className:\"mf-tile-progress\",\"data-mf-vidplaying\":playingVideo===i?\"1\":undefined,\"aria-hidden\":\"true\"}),!stackMode&&/*#__PURE__*/_jsx(\"div\",{className:\"mf-credit-scrim\",style:{position:\"absolute\",inset:0,background:motionPhone?\"linear-gradient(180deg,rgba(4,6,10,0) 0%,rgba(4,6,10,0) 62%,rgba(4,6,10,.42) 78%,rgba(4,6,10,.88) 100%)\":\"linear-gradient(180deg,rgba(4,6,10,.28) 0%,rgba(4,6,10,.7) 100%)\",pointerEvents:\"none\"}}),stackMode?null:motionPhone?/*#__PURE__*/_jsxs(\"div\",{className:\"mf-credit-caption mf-credit-deckcap\",style:{position:\"absolute\",left:16,right:16,bottom:15,pointerEvents:\"none\",opacity:1,transform:\"none\",display:\"flex\",flexDirection:\"column\",alignItems:\"flex-start\",gap:5,textAlign:\"left\",zIndex:4},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:\"var(--mf-font-label-motion)\",fontWeight:700,fontSize:9.5,letterSpacing:\".22em\",color:\"var(--mf-acc)\",whiteSpace:\"nowrap\",textShadow:\"0 1px 2px rgba(0,0,0,.55), 0 2px 10px rgba(0,0,0,.35)\",opacity:1},children:\"WORK FOR\"}),/*#__PURE__*/_jsx(\"div\",{style:{background:\"rgba(3,4,7,.72)\",padding:\"5px 16px\",fontFamily:\"var(--mf-font-display-motion)\",fontWeight:700,fontSize:18,lineHeight:.92,letterSpacing:\".01em\",color:\"#fff\",textTransform:\"uppercase\",textShadow:\"0 1px 2px rgba(0,0,0,.55), 0 2px 10px rgba(0,0,0,.35)\",opacity:1},children:p.studioName||\"UNDISCLOSED STUDIO\"}),p.brandName&&/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:\"var(--mf-font-label-motion)\",fontWeight:400,fontSize:10,letterSpacing:\".1em\",color:\"#c4c8d2\",textTransform:\"uppercase\",textShadow:\"0 1px 2px rgba(0,0,0,.55), 0 2px 10px rgba(0,0,0,.35)\",opacity:1},children:p.brandName}),/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:\"var(--mf-font-label-motion)\",fontWeight:600,fontSize:11,letterSpacing:\".1em\",color:\"#fff\",textTransform:\"uppercase\",textShadow:\"0 1px 2px rgba(0,0,0,.55), 0 2px 10px rgba(0,0,0,.35)\",marginTop:3,opacity:1},children:formatMeta(p.category,p.year,p.workTypes)})]}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"div\",{className:\"mf-credit-name\",style:{position:\"absolute\",inset:0,display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",gap:8,pointerEvents:\"none\",padding:18,textAlign:\"center\"},children:[/*#__PURE__*/_jsx(\"div\",{className:\"mf-workfor\",style:{fontFamily:\"var(--mf-font-label-motion)\",fontWeight:700,fontSize:9.5,letterSpacing:\".22em\",color:\"var(--mf-acc)\",whiteSpace:\"nowrap\"},children:\"WORK FOR\"}),/*#__PURE__*/_jsx(\"div\",{style:{background:\"rgba(3,4,7,.72)\",padding:\"5px 16px\",fontFamily:\"var(--mf-font-display-motion)\",fontWeight:700,fontSize:\"clamp(24px,2.8vw,38px)\",lineHeight:.92,letterSpacing:\".01em\",color:\"#fff\",textTransform:\"uppercase\"},children:p.studioName||\"UNDISCLOSED STUDIO\"}),p.brandName&&/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:\"var(--mf-font-label-motion)\",fontWeight:400,fontSize:10,letterSpacing:\".1em\",color:\"#c4c8d2\",textTransform:\"uppercase\"},children:p.brandName})]}),/*#__PURE__*/_jsx(\"div\",{className:\"mf-credit-caption\",style:{position:\"absolute\",left:16,right:16,bottom:15,pointerEvents:\"none\"},children:/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:\"var(--mf-font-label-motion)\",fontWeight:600,fontSize:11,letterSpacing:\".1em\",color:\"#fff\",textTransform:\"uppercase\",textShadow:\"0 1px 2px rgba(0,0,0,.55), 0 2px 10px rgba(0,0,0,.35)\"},children:formatMeta(p.category,p.year,p.workTypes)})})]}),p.loopVideo&&packSettled&&videoCapable&&(hasMouse||gridBand!==\"mobile\")&&/*#__PURE__*/_jsx(\"div\",{className:\"mf-tile-playmark\",\"aria-hidden\":\"true\",style:{animationDelay:`${markerDelayMs(i)}ms`,transitionDelay:`${markerDelayMs(i)}ms`},children:/*#__PURE__*/_jsx(\"svg\",{width:\"8\",height:\"10\",viewBox:\"0 0 8 10\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M0 0L8 5L0 10V0Z\",fill:\"var(--mf-acc)\"})})}),(stackMode?playingVideo!==i:p.loopVideo&&videoCapable&&playingVideo!==i&&(autoplayBlocked||!hasMouse&&gridBand===\"mobile\"))&&/*#__PURE__*/_jsx(\"div\",{className:\"mf-tile-playcta\",/* Touch has no hover to reveal\n                                                   this, so the active row shows\n                                                   it outright. */\"data-mf-ctavisible\":// motionPhone: driver owns\n// this attribute. JSX must\n// not write it — a re-render\n// would clobber the live\n// value against stale\n// activeTile (s80).\nmotionPhone?undefined:!hasMouse&&gridBand===\"mobile\"&&(useCarousel?i===activeTile:activeRow!==null&&Math.floor(i/gridCols)===activeRow)?\"1\":undefined,\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"svg\",{width:\"14\",height:\"17\",viewBox:\"0 0 14 17\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M0 0L14 8.5L0 17V0Z\",fill:\"var(--mf-acc)\"})})}),motionPhone&&/*#__PURE__*/_jsx(\"div\",{className:\"mf-recede-scrim\",ref:el=>{recedeScrimRefs.current[i]=el;},\"aria-hidden\":\"true\",style:{position:\"absolute\",inset:0,background:\"#04060a\",pointerEvents:\"none\",opacity:0,zIndex:9}}),stackMode&&/*#__PURE__*/_jsxs(\"div\",{\"data-mf\":\"tile-hud\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"span\",{\"data-mf\":\"tile-br\",\"data-c\":\"tl\"}),/*#__PURE__*/_jsx(\"span\",{\"data-mf\":\"tile-br\",\"data-c\":\"tr\"}),/*#__PURE__*/_jsx(\"span\",{\"data-mf\":\"tile-br\",\"data-c\":\"bl\"}),/*#__PURE__*/_jsx(\"span\",{\"data-mf\":\"tile-br\",\"data-c\":\"br\"}),/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"tile-scan\"})]})]}))},useCarousel?undefined:(p.studioName||\"\")+i);return useCarousel?/*#__PURE__*/_jsx(\"div\",{className:\"mf-carousel-item\",\"data-mf-caroffset\":i===activeTile?\"0\":Math.abs(i-activeTile)===1?\"1\":\"far\",style:{flex:`0 0 ${CAROUSEL_TILE_H}px`,scrollSnapAlign:\"center\"},children:tile},(p.studioName||\"\")+i):tile;}const wallShort=formatMeta(p.category,p.year,p.workTypes).split(\" \\xb7 \").slice(0,2).join(\" \\xb7 \");const wallN=wallLeadIdx<0?i+1:i===wallLeadIdx?1:(i<wallLeadIdx?i+1:i)+1;return /*#__PURE__*/_jsx(\"a\",{href:\"#work\",ref:el=>{tileRefs.current[i]=el;},onClick:p.onClick,className:colourWall?\"mf-gtile mf-wall-job\":\"mf-gtile\",\"data-mf-lead\":colourWall&&i===wallLeadIdx?\"1\":undefined,style:colourWall?{position:\"relative\",display:\"block\",height:\"auto\",textDecoration:\"none\",opacity:0,transform:\"translateY(40px)\",cursor:\"pointer\",...i===wallLeadIdx?{[\"--mf-wall-ar\"]:wallLeadAr}:{}}:{position:\"relative\",height:220,borderRadius:5,overflow:\"hidden\",background:\"#14161d\",textDecoration:\"none\",opacity:0,transform:\"translateY(40px)\",cursor:\"pointer\"},children:colourWall?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"div\",{className:\"mf-wall-tile\",children:[mfcCover(p)?.src&&/*#__PURE__*/_jsx(\"img\",{src:mfcCover(p).src,\"data-mf-bgsrc\":p.thumbnail?.src,className:\"mf-tileimg\",alt:p.thumbnail?.alt||(p.title?`${p.title} — Mind Factory colour grading`:\"Mind Factory colour grading project\")}),/*#__PURE__*/_jsx(\"div\",{className:\"mf-wall-n\",children:String(wallN).padStart(2,\"0\")})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"mf-wall-cap\",children:[/*#__PURE__*/_jsx(\"h3\",{className:\"mf-wall-title\",children:p.title}),/*#__PURE__*/_jsx(\"div\",{className:\"mf-wall-meta\",children:wallShort})]})]}):/*#__PURE__*/_jsxs(_Fragment,{children:[mfcCover(p)?.src&&/*#__PURE__*/_jsx(\"img\",{src:mfcCover(p).src,\"data-mf-bgsrc\":p.thumbnail?.src,className:\"mf-tileimg\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\",transition:\"transform .6s cubic-bezier(.2,.6,.2,1),filter .6s ease\"},alt:p.thumbnail?.alt||(p.title?`${p.title} — Mind Factory colour grading`:\"Mind Factory colour grading project\")}),/*#__PURE__*/_jsx(\"div\",{className:\"mf-cscrim\",style:{position:\"absolute\",inset:0,background:\"linear-gradient(180deg,transparent 42%,rgba(4,6,10,.86) 100%)\",pointerEvents:\"none\"}}),p.badge&&/*#__PURE__*/_jsx(\"div\",{className:\"mf-badge\",style:{position:\"absolute\",top:14,left:14,pointerEvents:\"none\",fontFamily:\"var(--sans)\",fontWeight:600,fontSize:9,letterSpacing:\".12em\",color:\"var(--mf-clabel)\",background:\"var(--mf-acc)\",borderRadius:999,padding:\"4px 10px\"},children:p.badge}),/*#__PURE__*/_jsxs(\"div\",{className:\"mf-ccap\",style:{position:\"absolute\",left:16,right:16,bottom:15,pointerEvents:\"none\"},children:[/*#__PURE__*/_jsx(\"div\",{\"data-mf-type\":\"display\",style:{fontWeight:500,fontSize:\"clamp(20px,2.5vw,36px)\",lineHeight:1,color:\"#fff\"},children:p.title}),/*#__PURE__*/_jsx(\"div\",{\"data-mf-type\":\"label\",className:\"mf-dim\",style:{marginTop:5,fontWeight:500,fontSize:10,letterSpacing:\".12em\",color:\"#c4c8d4\",textTransform:\"uppercase\"},children:formatMeta(p.category,p.year,p.workTypes)}),p.director&&/*#__PURE__*/_jsxs(\"div\",{\"data-mf-type\":\"label\",className:\"mf-dim\",style:{marginTop:4,fontWeight:500,fontSize:10,letterSpacing:\".12em\",// Name bright, role dim — no crimson here,\n// it fought the OPEN BEFORE/AFTER action line\ncolor:\"#e8eaf0\",textTransform:\"uppercase\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:\"#848b9c\"},children:\"DIR.\"}),\" \",p.director]}),/*#__PURE__*/_jsx(\"div\",{className:\"mf-gaction\",\"data-mf-type\":\"label\",style:{marginTop:9,fontWeight:600,fontSize:9.5,letterSpacing:\".14em\",color:\"var(--mf-acc)\"},children:p.action})]})]})},(p.title||\"\")+i);}))}),useCarousel&&/*#__PURE__*/_jsxs(\"div\",{className:\"mf-carousel-controls\",children:[/*#__PURE__*/_jsxs(\"span\",{className:\"mf-carousel-counter\",\"data-mf-type\":\"label\",children:[String(activeTile+1).padStart(2,\"0\"),\" / \",String(filtered.length).padStart(2,\"0\")]}),/*#__PURE__*/_jsxs(\"div\",{className:\"mf-carousel-arrows\",children:[/*#__PURE__*/_jsx(\"button\",{className:\"mf-carousel-arrow\",\"aria-label\":\"Previous project\",disabled:activeTile<=0,onClick:()=>scrollToTile(activeTile-1),children:/*#__PURE__*/_jsx(\"svg\",{width:\"11\",height:\"7\",viewBox:\"0 0 11 7\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M1 6L5.5 1.5L10 6\",stroke:\"var(--mf-acc)\",strokeWidth:\"1.4\",fill:\"none\"})})}),/*#__PURE__*/_jsx(\"button\",{className:\"mf-carousel-arrow\",\"aria-label\":\"Next project\",disabled:activeTile>=filtered.length-1,onClick:()=>scrollToTile(activeTile+1),children:/*#__PURE__*/_jsx(\"svg\",{width:\"11\",height:\"7\",viewBox:\"0 0 11 7\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M1 1L5.5 5.5L10 1\",stroke:\"var(--mf-acc)\",strokeWidth:\"1.4\",fill:\"none\"})})})]})]}),stackMode&&/*#__PURE__*/_jsxs(\"div\",{ref:workReadoutRef,\"data-mf\":\"work-readout\",style:{/* Sticky inside the scroll track, not absolute\n                               in .sbody: .sbody IS the work scroller, so an\n                               absolute child would scroll away with the\n                               tiles. Sticky holds it still under scroll and\n                               it still counter-moves on a nav sweep because\n                               it lives inside .sbody. Width matches the\n                               [ 01 ] header (mf-pad-x supplies the inset). */position:\"sticky\",pointerEvents:\"none\",zIndex:4,width:\"100%\",maxWidth:1320,margin:\"0 auto\",alignSelf:\"stretch\",boxSizing:\"border-box\",border:\"1px solid rgba(0,213,240,.30)\",padding:\"14px 15px 13px\"},children:[/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"work-readout-scan-clip\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"work-readout-scan\"})}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:-1,top:-1,width:11,height:11,borderLeft:\"2px solid var(--mf-acc)\",borderTop:\"2px solid var(--mf-acc)\"}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",right:-1,top:-1,width:11,height:11,borderRight:\"2px solid var(--mf-acc)\",borderTop:\"2px solid var(--mf-acc)\"}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:-1,bottom:-1,width:11,height:11,borderLeft:\"2px solid var(--mf-acc)\",borderBottom:\"2px solid var(--mf-acc)\"}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",right:-1,bottom:-1,width:11,height:11,borderRight:\"2px solid var(--mf-acc)\",borderBottom:\"2px solid var(--mf-acc)\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",marginBottom:9},children:[/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"work-readout-kicker\",style:{fontFamily:\"var(--mf-font-label-motion)\",fontWeight:700,fontSize:9.5,letterSpacing:\".26em\",color:\"var(--mf-acc)\",whiteSpace:\"nowrap\",textTransform:\"uppercase\"}}),/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"work-readout-idx\",style:{fontFamily:\"var(--mf-font-label-motion)\",fontWeight:600,fontSize:9,letterSpacing:\".2em\",color:\"#6f7684\",whiteSpace:\"nowrap\",textTransform:\"uppercase\"}})]}),/*#__PURE__*/_jsxs(\"div\",{\"data-mf\":\"work-readout-name-wrap\",style:{position:\"relative\",minHeight:33,display:\"flex\",alignItems:\"flex-end\",overflow:\"hidden\"},children:[/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"work-readout-fringe\",\"data-mf-type\":\"display\",\"aria-hidden\":\"true\",style:{position:\"absolute\",left:0,bottom:0,right:0,color:\"rgb(255, 40, 90)\",opacity:0,pointerEvents:\"none\",fontSize:38,lineHeight:.86,textTransform:\"uppercase\"}}),/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"work-readout-name\",\"data-mf-type\":\"display\",style:{fontSize:38,lineHeight:.86,color:\"#fff\",textTransform:\"uppercase\"}})]}),/*#__PURE__*/_jsx(\"div\",{style:{height:1,background:\"rgba(0,213,240,.22)\",margin:\"8px 0 9px\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:8},children:[/*#__PURE__*/_jsxs(\"div\",{\"data-mf\":\"work-readout-brand-row\",style:{display:\"flex\",gap:14},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:78,flexGrow:0,flexShrink:0,fontFamily:\"var(--mf-font-label-motion)\",fontSize:8,fontWeight:600,letterSpacing:\".24em\",color:\"#565d6a\",textTransform:\"uppercase\"},children:\"BRAND\"}),/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"work-readout-brand\",style:{fontFamily:\"var(--mf-font-label-motion)\",fontSize:10.5,fontWeight:600,letterSpacing:\".08em\",color:\"#fff\",textTransform:\"uppercase\"}})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:14},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:78,flexGrow:0,flexShrink:0,fontFamily:\"var(--mf-font-label-motion)\",fontSize:8,fontWeight:600,letterSpacing:\".24em\",color:\"#565d6a\",textTransform:\"uppercase\"},children:\"CATEGORY\"}),/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"work-readout-meta\",style:{fontFamily:\"var(--mf-font-label-motion)\",fontSize:10.5,fontWeight:600,letterSpacing:\".08em\",color:\"#fff\",textTransform:\"uppercase\"}})]})]})]})]})}),phWork?/*#__PURE__*/_jsx(MFPhoneWork,{projects:projectsColour}):null]}),/*#__PURE__*/_jsxs(\"section\",{id:\"about\",ref:studioSecRef,className:\"mf-pad-x\",style:{maxWidth:1320,margin:\"0 auto\",padding:fullScreens?\"0 44px\":\"130px 44px 0\",position:\"relative\",zIndex:1,scrollMarginTop:NAV_H,// s70 phone Motion: the section pins ITSELF — no wrapper.\n// #about, #contact and the hero are load-bearing in four\n// desktop systems (matte roots, section-boot ranks, the\n// assist boundary scan, sectionProgress); a new child\n// wrapper would change offsetHeight composition and paint\n// order under all of them.\n// top is NAV_H MINUS the header lead, so the lead padding\n// lands the section header exactly on NAV_H rather than\n// pushing it below. minHeight keeps the next seam off\n// frame while this one is live.\n// s77: the SECTION is normal flow. Its content pins via\n// the screen wrapper inside it — #about is 2.25 screens\n// tall on a phone, so a sticky section could not both\n// scroll for reading and hold still for the wipe.\n// !! s78 BUG FIX: the tail used to be paddingBottom on\n// THIS section, on the theory that \"sticky is bounded by\n// the containing block's PADDING box, so that is real\n// slack.\" MEASURED FALSE. Chromium does not extend a\n// sticky element's constraint rect into the containing\n// block's own padding-bottom when nothing else occupies\n// it — reproduced on a bare, React-free test page with\n// the exact same geometry (container 2850px, sticky\n// child 1778px, top:68px): with the slack as\n// padding-bottom the child NEVER stuck (tracked scroll\n// 1:1 the whole way); with the IDENTICAL slack as a real\n// sibling <div> after the child, it stuck perfectly for\n// the full 800px+ window. So the tail now lives as an\n// actual sibling element (mAboutTailRef, rendered right\n// after the screen wrapper, before </section>) — no\n// longer as padding on this section. minHeight is\n// unaffected (it does not depend on padding vs. sibling).\n...motionPhone?{marginTop:mfSvh(-MOBILE_SEC_TAIL_SVH),paddingTop:mfSvh(MOBILE_SEC_HEAD_LEAD_SVH),minHeight:mfSvh(MOBILE_SEC_MIN_SVH)}:null,...fullScreens?{minHeight:`calc(100vh - ${NAV_H}px)`,display:\"flex\",flexDirection:\"column\",justifyContent:\"center\"}:null,// s211: the new About's box is the one it was designed and\n// measured in - the full width, one screen under the nav.\n...aboutV2?{maxWidth:\"none\",padding:0,minHeight:0,height:`calc(100vh - ${NAV_H}px)`,display:\"block\"}:null,// s225: the Colour About - D SIDEWAYS is ONE screen under the nav (a plain wheel stop; its\n// panels take the wheel at rest); ?mfcside=0 = the one page in the document's flow, as tall as it is\n...aboutC?{maxWidth:\"none\",padding:0,minHeight:0,height:mfFlagsRef.current.mfcside?`calc(100vh - ${NAV_H}px)`:\"auto\",display:\"block\"}:null},children:[aboutV2&&/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:MFA_CSS}}),aboutC&&/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:MFC_ABOUT_CSS}}),aboutC&&/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:MFC_SEAM_CSS}}),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:MFC_S226_CSS}}),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:MFC_S226D_CSS}}),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:MFC_S226E_CSS}}),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:MFC_S226F_CSS}}),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:MFC_S226G_CSS}}),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:MFC_S226H_CSS}}),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:MFC_S226I_CSS}}),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:MFC_S226H_CWC_CSS}}),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:MFC_S226H_PLATE_CSS}}),aboutC&&/*#__PURE__*/_jsx(\"div\",{ref:aboutCRef,className:MFC_ABOUT_ROOT_CLASS,dangerouslySetInnerHTML:{__html:MFC_ABOUT_MARKUP}}),aboutV2&&/*#__PURE__*/_jsx(\"div\",{ref:aboutV2Ref,className:MFA_ROOT_CLASS,dangerouslySetInnerHTML:{__html:MFA_MARKUP}}),/*#__PURE__*/_jsxs(\"div\",{\"data-mf\":\"sbody\",ref:el=>{mSbodyRefs.current[2]=el;},style:stackMode?{position:\"absolute\",left:0,right:0,top:0,height:\"100%\",willChange:\"transform\"}:colourPages?{// s171: the page's own scroller\nposition:\"absolute\",left:0,right:0,top:0,height:\"100%\",overflowY:\"auto\",overscrollBehavior:\"none\",touchAction:\"pan-y\"}:aboutV2||aboutC?{display:\"none\"}:{display:\"contents\"},children:[/*#__PURE__*/_jsx(\"div\",{ref:mAboutScreenRef,...motionPhone&&!stackMode?{\"data-mf\":\"mobile-about-screen\"}:null,style:motionPhone?{// top is written by the driver from the live\n// svh and this element's own height.\n// stackMode: do NOT carry mobile-about-screen\n// — that attribute is the s91 bleed, which\n// ate the 22px gutters even with !important\n// overrides.\nposition:stackMode?\"relative\":\"sticky\",display:\"block\",...stackMode?{width:\"100%\",marginLeft:0,marginRight:0,paddingLeft:0,paddingRight:0,boxSizing:\"border-box\"}:null}:// desktop layout is byte-identical to before it\n// existed. Do not replace with a bare div —\n// #about is a flex column on Motion desktop and\n// a real wrapper would change that layout.\n{display:\"contents\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{// 44 is the desktop/tablet inset under the about\n// header. On motionPhone it stacked on top of the\n// section lead and read as a gap under the\n// pinned header (s84 item 6b). stackMode gutters\n// live on the screen wrapper (22px), not here.\npaddingTop:motionPhone?0:44},children:[!stackMode&&/*#__PURE__*/_jsxs(\"div\",{ref:mAboutHeaderRef,\"data-mf-boot\":\"0\",...motionPhone?{\"data-mf\":\"mobile-sec-head\"}:null,style:{display:\"flex\",alignItems:\"center\",gap:16,...motionPhone?{position:\"sticky\",top:mobileHeaderPinTop(1),zIndex:3,// Match the compact stack row (and the\n// work header): 34px border-box, no\n// extra pad. paddingTop 8 +\n// paddingBottom FADE (12) was the\n// about residual — a taller box than\n// the 34px row it collapses into.\nheight:MOBILE_STACK_ROW_H,boxSizing:\"border-box\",paddingTop:0,paddingBottom:0,// Nested sticky, not a flex item of\n// an mf-pad-x column: width auto\n// shrink-wraps on WebKit, so an\n// explicit width is needed here.\n// s91: the CSS rule for\n// data-mf=\"mobile-sec-head\" carries\n// !important and OWNS this width on\n// motionPhone — calc(100% + 2*pad),\n// so the backing full-bleeds. The\n// 100% below is the non-bleeding\n// fallback only. Do not reconcile\n// the two by deleting either one.\nwidth:\"100%\"}:null},children:[/*#__PURE__*/_jsx(\"span\",{\"data-mf-type\":\"label\",style:{fontWeight:600,fontSize:11,letterSpacing:\".22em\",color:\"var(--mf-acc)\"},children:\"[ 02 ]\\xa0\\xa0ABOUT\"}),/*#__PURE__*/_jsx(\"div\",{style:{flex:1,height:1,background:\"rgba(255,255,255,.08)\"}})]}),/*#__PURE__*/_jsxs(\"h2\",{\"data-mf-type\":\"display\",\"data-mf-boot\":\"1\",style:{marginTop:16,fontWeight:500,fontSize:ABOUT_HEAD_CLAMP,lineHeight:1.02},children:[\"One root. Every frame,\",\" \",/*#__PURE__*/_jsx(\"em\",{className:\"mf-em\",children:\"board to grade.\"})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"mf-studio-grid\",\"data-mf-boot\":\"2\",style:stackMode?{marginTop:36,display:\"flex\",flexDirection:\"row\",alignItems:\"flex-start\",gap:16}:{marginTop:36,display:\"grid\",gridTemplateColumns:headshotImage?.src?`${ABOUT_HEADSHOT_PX}px 1fr`:\"1fr\",gap:44,alignItems:\"center\"},children:[headshotImage?.src&&(stackMode?/*#__PURE__*/_jsxs(\"div\",{\"data-mf\":\"about-plate\",style:{position:\"relative\",width:104,height:126,flex:\"none\"},children:[/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{position:\"absolute\",inset:-1,background:\"rgba(0,213,240,.55)\",clipPath:\"polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px))\",zIndex:0}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,overflow:\"hidden\",borderRadius:0,background:\"#14161d\",clipPath:\"polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px))\",zIndex:1},children:/*#__PURE__*/_jsx(\"img\",{src:headshotImage.src,srcSet:headshotImage.srcSet,sizes:\"104px\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:\"center 18%\",display:\"block\"},alt:headshotImage.alt||aboutName})})]}):/*#__PURE__*/_jsx(\"div\",{\"data-mf\":\"about-disc\",style:{width:ABOUT_HEADSHOT_PX,height:ABOUT_HEADSHOT_PX,flex:\"none\",borderRadius:\"50%\",overflow:\"hidden\",background:\"#14161d\"},children:/*#__PURE__*/_jsx(\"img\",{src:headshotImage.src,srcSet:headshotImage.srcSet,// Display-size hint: the disc is a fixed\n// ABOUT_HEADSHOT_PX box, so without this the\n// browser picks the full-res candidate for a\n// 180px circle. Keep in sync with the const.\nsizes:`${ABOUT_HEADSHOT_PX}px`,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"},alt:headshotImage.alt||aboutName})})),/*#__PURE__*/_jsxs(\"div\",{style:stackMode||colourPages?{flex:1,minWidth:0}:undefined,children:[/*#__PURE__*/_jsx(\"div\",{\"data-mf-type\":\"display\",style:{fontWeight:500,fontSize:\"clamp(26px,2.4vw,36px)\",lineHeight:.98,color:\"#fff\"},children:aboutName}),/*#__PURE__*/_jsx(\"p\",{\"data-mf-type\":\"label\",className:\"mf-dim\",style:{marginTop:12,fontWeight:500,fontSize:12,letterSpacing:\".1em\",color:stackMode?\"var(--mf-acc)\":\"#9298ab\",textTransform:\"uppercase\"},children:aboutRoleLine}),!stackMode&&!colourPages&&/*#__PURE__*/_jsxs(\"p\",{className:\"mf-body\",style:{marginTop:20,fontSize:19,lineHeight:1.62,color:\"#c4c8d4\",maxWidth:\"56ch\"},children:[\"A one-person studio working across graphic design, motion graphics, VFX and colour. Two signals —\",\" \",/*#__PURE__*/_jsx(\"em\",{style:{fontStyle:\"normal\",fontWeight:700,color:\"#9af6ff\",textShadow:\"0 0 14px rgba(0,213,240,.62)\"},children:\"Motion\"}),\", technical and electric, and\",\" \",/*#__PURE__*/_jsx(\"em\",{style:{fontStyle:\"normal\",fontWeight:700,color:\"#ff3b4a\",textShadow:\"0 0 14px rgba(255,59,74,.48)\"},children:\"Colour\"}),\", cinematic and felt. Same instincts. Either room.\"]})]})]}),(stackMode||colourPages)&&/*#__PURE__*/_jsxs(\"p\",{className:\"mf-body mf-about-copy\",style:{marginTop:20,fontSize:15,lineHeight:1.66,color:\"#b9c2ce\",maxWidth:\"38em\",textTransform:\"none\",letterSpacing:\"0.005em\"},children:[\"A one-person studio working across graphic design, motion graphics, VFX and colour. Two signals —\",\" \",/*#__PURE__*/_jsx(\"em\",{style:{fontStyle:\"normal\",fontWeight:700,color:\"#9af6ff\",textShadow:\"0 0 14px rgba(0,213,240,.62)\"},children:\"Motion\"}),\", technical and electric, and\",\" \",/*#__PURE__*/_jsx(\"em\",{style:{fontStyle:\"normal\",fontWeight:700,color:\"#ff3b4a\",textShadow:\"0 0 14px rgba(255,59,74,.48)\"},children:\"Colour\"}),\", cinematic and felt. Same instincts. Either room.\"]}),/*#__PURE__*/_jsxs(\"div\",{className:\"mf-about-bio\",style:{marginTop:36,display:\"grid\",gridTemplateColumns:\"1fr 1fr\",gridTemplateRows:\"repeat(2,auto)\",gridAutoFlow:\"column\",columnGap:44,rowGap:18},children:[/*#__PURE__*/_jsx(\"p\",{className:\"mf-body mf-about-copy\",\"data-mf-boot\":\"3\",style:{margin:0,fontSize:16.5,lineHeight:1.65,color:\"#c4c8d4\",maxWidth:\"62ch\"},children:\"Gav Patel is a Toronto-based colourist and motion graphics designer with 18+ years in post-production. The through-line of his career has always been the image: how it moves, how it feels, how it tells the story.\"}),/*#__PURE__*/_jsx(\"p\",{className:\"mf-body mf-about-copy\",\"data-mf-boot\":\"4\",style:{margin:0,fontSize:16.5,lineHeight:1.65,color:\"#c4c8d4\",maxWidth:\"62ch\"},children:\"It started at Crush Inc., a broadcast design studio in Toronto, where he spent 3.5 years on idents, title sequences and animation. Those relationships carried into over a decade of work for brands like TD Canada Trust, RBC, Chevrolet, Hyundai, Shoppers Drug Mart and Budweiser — primarily through SJC, Craft Worldwide/McCann MRM and Unreasonable Studios.\"}),/*#__PURE__*/_jsxs(\"p\",{className:\"mf-body mf-about-copy\",\"data-mf-boot\":\"5\",style:{margin:0,fontSize:16.5,lineHeight:1.65,color:\"#c4c8d4\",maxWidth:\"62ch\"},children:[\"Colour grading became a dedicated discipline after he enrolled in Dado Valentic's Colour.Training Master's Program, covering feature film, episodic, commercials, HDR, ACES and look design. He received the \",/*#__PURE__*/_jsx(\"em\",{className:\"mf-em\",children:\"Golden Astro for Best Colourist\"}),\" for the program's final practical, presented at Art Basel Miami.\"]}),/*#__PURE__*/_jsxs(\"p\",{className:\"mf-body mf-about-copy\",\"data-mf-boot\":\"6\",style:{margin:0,fontSize:16.5,lineHeight:1.65,color:\"#c4c8d4\",maxWidth:\"62ch\"},children:[\"His longest creative partnership has been with documentary filmmaker Jeanette Kong, spanning three films over more than a decade — the most recent of which, \",/*#__PURE__*/_jsx(\"em\",{className:\"mf-em\",children:\"Peter Chin: The Blood Remembers\"}),\", he handled in full: colour grading, editing, motion graphics and archival restoration.\"]})]}),/*#__PURE__*/_jsx(\"div\",{className:\"mf-about-disc\",\"data-mf-boot\":\"7\",style:{marginTop:40,display:\"grid\",gridTemplateColumns:\"repeat(4,1fr)\",gap:18,borderTop:\"1px solid rgba(255,255,255,.08)\",paddingTop:24},children:aboutDisciplines.map((d,i)=>/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"span\",{\"data-mf-type\":\"display\",style:{fontWeight:500,fontSize:22,color:\"var(--mf-acc)\",textShadow:\"0 0 8px var(--mf-glow)\"},children:d.num}),/*#__PURE__*/_jsx(\"div\",{\"data-mf-type\":\"label\",style:{marginTop:6,fontWeight:500,fontSize:12,letterSpacing:\".12em\",color:\"#e8eaf0\",textTransform:\"uppercase\"},children:d.name})]},i))})]})}),motionPhone&&!stackMode&&/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{height:mfSvh(MOBILE_SEC_TAIL_SVH)}})]}),phNew?/*#__PURE__*/_jsx(MFPhoneAbout,{headshot:headshotImage&&headshotImage.src||null,resumeUrl:RESUME_PDF_URL,projects:projectsColour,active:cpageIndex===2}):null]}),/*#__PURE__*/_jsxs(\"div\",{ref:contactWrapRef,style:motionPhone?{// s70: overlap #about's pin tail so contact\n// arrives WHILE about is held still, not after.\n// Nothing follows contact, so it needs no tail\n// of its own.\nmarginTop:mfSvh(-MOBILE_SEC_TAIL_SVH),position:\"relative\",zIndex:1,paddingTop:mfSvh(MOBILE_SEC_HEAD_LEAD_SVH),// !! The last section still has to be TALLER\n// than a viewport, or its own seam can never\n// reach the top of the frame and the wipe into\n// contact cannot complete. Measured on\n// production: contact was 805px against an 844px\n// viewport with a -844px margin, so it\n// contributed -39px of document and the page\n// ended 39px before the seam arrived. It needs\n// no pin tail of its own (nothing departs it),\n// just a viewport plus the band's own height.\n// Do NOT shrink this. s87 occupies the slack\n// (centred copy + sticky footer) rather than\n// deleting it.\nminHeight:mfSvh(MOBILE_SEC_MIN_SVH),display:\"flex\",flexDirection:\"column\"}:fullScreens?{minHeight:`calc(100vh - ${NAV_H}px)`,display:\"flex\",flexDirection:\"column\",...siteFrame?{position:\"relative\"}:null}:undefined,children:[siteFrame?/*#__PURE__*/_jsxs(\"div\",{className:\"mf-sframe\",\"data-mf-sframe-c\":\"1\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"mf-br mf-br-tl\"}),/*#__PURE__*/_jsx(\"span\",{className:\"mf-br mf-br-tr\"}),/*#__PURE__*/_jsx(\"span\",{className:\"mf-br mf-br-bl\"}),/*#__PURE__*/_jsx(\"span\",{className:\"mf-br mf-br-br\"}),/*#__PURE__*/_jsx(\"div\",{className:\"mf-fnum\",children:\"03\"}),/*#__PURE__*/_jsxs(\"div\",{className:\"mf-tab\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"mf-tab-n\",children:\"03\"}),/*#__PURE__*/_jsx(\"span\",{className:\"mf-tab-nm\",children:\"CONTACT\"}),/*#__PURE__*/_jsx(\"span\",{className:\"mf-tab-mt\",children:\"TORONTO \\xb7 REMOTE WORLDWIDE\"})]})]}):null,/*#__PURE__*/_jsxs(\"div\",{\"data-mf\":\"sbody\",ref:el=>{mSbodyRefs.current[3]=el;},style:stackMode?{position:\"absolute\",left:0,right:0,top:0,height:\"100%\",willChange:\"transform\"}:colourPages?{// s171: the page's own scroller\nposition:\"absolute\",left:0,right:0,top:0,height:\"100%\",overflowY:\"auto\",overscrollBehavior:\"none\",touchAction:\"pan-y\"}:{display:\"contents\"},children:[/*#__PURE__*/_jsxs(\"section\",{id:\"contact\",className:\"mf-pad-x\",style:{maxWidth:1320,margin:\"0 auto\",padding:siteFrame?\"40px 44px 0\":fullScreens?\"0 44px\":\"140px 44px 0\",position:\"relative\",zIndex:1,textAlign:\"center\",// 140px top is the non-screen contact inset. On\n// motionPhone it stacked on the wrapper lead\n// (s84 item 6b). Override only paddingTop so the\n// 44px left/right of the shorthand stay put.\n...motionPhone?{paddingTop:0,flex:\"1 1 auto\",display:\"flex\",flexDirection:\"column\",// s51 class: auto margins on a flex item\n// defeat align-items:stretch and shrink-wrap\n// the section (header inset + centred). Same\n// one-line fix as the footer.\nwidth:\"100%\",// First-viewport floor so the footer (next\n// sibling) sits at the bottom of the opening\n// screen, not immediately under the email.\n// Wrap minHeight (viewport + band) still\n// supplies the slack BELOW the footer.\n// stackMode: the wrap is a viewport screen;\n// a 100svh minHeight plus sbody bar-padding\n// shoves the copy into the lower third.\nminHeight:stackMode?0:mfSvh(100,NAV_H)}:null,...fullScreens?{flex:\"1 0 auto\",display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",alignItems:\"center\"}:null},children:[/*#__PURE__*/_jsxs(\"div\",{ref:mContactHeaderRef,...motionPhone?{\"data-mf\":\"mobile-sec-head\"}:null,style:motionPhone?{display:\"flex\",alignItems:\"center\",gap:16,position:\"sticky\",top:mobileHeaderPinTop(2),zIndex:3,height:MOBILE_STACK_ROW_H,boxSizing:\"border-box\",paddingTop:0,paddingBottom:0,width:\"100%\"}:{display:\"contents\"},children:[/*#__PURE__*/_jsx(\"span\",{className:siteFrame?\"mf-sframe-hide\":undefined,\"data-mf-type\":\"label\",\"data-mf-boot\":\"0\",hidden:cContact||undefined,style:{fontWeight:600,fontSize:11,letterSpacing:\".22em\",color:\"var(--mf-acc)\"},children:\"[ 03 ]\\xa0\\xa0CONTACT\"}),motionPhone&&/*#__PURE__*/_jsx(\"div\",{style:{flex:1,height:1,background:\"rgba(255,255,255,.08)\"}})]}),/*#__PURE__*/_jsx(\"div\",{style:motionPhone?{// Outer grows to fill the section so the\n// inner sticky shell has travel during\n// the wrap's structural slack. No\n// transform (would break sticky on any\n// descendant and is a two-writers risk).\n// width 100% so this flex item cannot\n// re-introduce Item 2.\nflex:\"1 1 auto\",display:\"flex\",flexDirection:\"column\",width:\"100%\"}:{display:\"contents\"},children:/*#__PURE__*/_jsx(\"div\",{style:stackMode?{position:\"relative\",flex:\"1 1 auto\",display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",alignItems:\"center\",width:\"100%\",minHeight:0}:motionPhone?{position:\"sticky\",top:MOBILE_CONTACT_COPY_STICK_TOP,height:mfSvh(100,MOBILE_CONTACT_COPY_STICK_TOP),boxSizing:\"border-box\",display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",alignItems:\"center\",width:\"100%\",paddingBottom:MOBILE_CONTACT_FOOTER_RESERVE_PX}:{display:\"contents\"},children:cContact?/*#__PURE__*/_jsxs(\"div\",{className:\"mf-cc\",\"data-ccrow\":mfFlagsRef.current.mfccrow?\"1\":\"0\",children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:MFC_CONTACT_CSS}}),/*#__PURE__*/_jsxs(\"div\",{className:\"mf-cc-head\",\"data-mf-type\":\"label\",children:[/*#__PURE__*/_jsx(\"span\",{children:\"[ 03 ]\"}),/*#__PURE__*/_jsx(\"span\",{children:\"CONTACT\"}),/*#__PURE__*/_jsx(\"i\",{})]}),/*#__PURE__*/_jsxs(\"h2\",{className:\"mf-cc-h\",children:[\"Send your \",/*#__PURE__*/_jsx(\"em\",{children:\"brief\"}),\".\"]}),/*#__PURE__*/_jsx(\"p\",{className:\"mf-cc-p\",children:\"Project type, delivery date, footage or stills, and any look reference.\"}),/*#__PURE__*/_jsxs(\"div\",{className:\"mf-cc-row\",children:[/*#__PURE__*/_jsx(\"a\",{className:\"mf-cc-mail\",href:`mailto:${email}`,children:email}),/*#__PURE__*/_jsxs(\"div\",{className:\"mf-cc-meta\",children:[/*#__PURE__*/_jsx(\"a\",{href:`mailto:${email}`,children:\"EMAIL GAV\"}),/*#__PURE__*/_jsx(\"span\",{children:\"TORONTO \\xb7 REMOTE WORLDWIDE\"})]})]})]}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"h2\",{\"data-mf-type\":\"display\",\"data-mf-boot\":\"1\",style:{marginTop:26,fontWeight:500,fontSize:\"clamp(52px,8.6vw,140px)\",lineHeight:.98},children:[\"Let's make\",/*#__PURE__*/_jsx(\"br\",{}),\"something\",\" \",/*#__PURE__*/_jsx(\"em\",{className:\"mf-em\",children:isMotion?\"move.\":\"felt.\"})]}),/*#__PURE__*/_jsx(\"a\",{href:`mailto:${email}`,className:\"mf-link mf-contact\",\"data-mf-boot\":\"2\",style:{textDecoration:\"none\",display:\"inline-block\",marginTop:44,fontWeight:500,fontSize:\"clamp(20px,2.6vw,34px)\",color:\"var(--mf-acc)\",borderBottom:\"1px solid var(--mf-border)\",paddingBottom:8,textShadow:\"0 0 12px var(--mf-glow)\"},children:email})]})})})]}),/*#__PURE__*/_jsx(\"footer\",{ref:contactFootRef,className:\"mf-pad-x\",\"data-mf-boot\":\"3\",style:{maxWidth:1320,width:\"100%\",margin:\"0 auto\",padding:motionPhone?\"16px 44px 20px\":siteFrame?\"34px 44px 30px\":\"160px 44px 64px\",// motionPhone: stick to the viewport bottom so the\n// structural slack (wrap minHeight) never shows an\n// empty screen UNDER the footer. No background — the\n// fixed telemetry grid showing through is part of\n// how these sections look (s57). Ancestor overflow\n// is visible on contactWrap; root overflowX is clip\n// which does not create a scrollport (unlike hidden)\n// so sticky still resolves against the viewport —\n// same reason the work header pin already works.\nposition:stackMode?\"absolute\":motionPhone?\"sticky\":\"relative\",left:stackMode?0:undefined,right:stackMode?0:undefined,bottom:stackMode?0:motionPhone?0:undefined,flexShrink:motionPhone?0:undefined,zIndex:1},children:/*#__PURE__*/_jsxs(\"div\",{style:{paddingTop:motionPhone?12:siteFrame?20:40,borderTop:\"1px solid rgba(255,255,255,.08)\",display:\"flex\",alignItems:\"center\",flexWrap:motionPhone?\"nowrap\":\"wrap\",gap:16},children:[/*#__PURE__*/_jsx(\"div\",{style:{flex:1,display:\"flex\",justifyContent:\"flex-start\",minWidth:motionPhone||colourPages?0:120},children:/*#__PURE__*/_jsx(MFLogo,{height:14,color:\"#5a6070\"})}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:26,alignItems:\"center\",justifyContent:\"center\"},children:[isLiveSocialUrl(instagramUrl)&&/*#__PURE__*/_jsx(\"a\",{href:instagramUrl,\"aria-label\":\"Instagram\",className:\"mf-link mf-dim\",style:{textDecoration:\"none\",color:\"#848b9c\",display:\"inline-flex\",alignItems:\"center\",lineHeight:0},children:/*#__PURE__*/_jsxs(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"rect\",{x:\"3\",y:\"3\",width:\"18\",height:\"18\",rx:\"5\",stroke:\"currentColor\",strokeWidth:\"1.75\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"4.25\",stroke:\"currentColor\",strokeWidth:\"1.75\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"17.35\",cy:\"6.65\",r:\"1.15\",fill:\"currentColor\"})]})}),siteFrame&&isLiveSocialUrl(instagramUrl)&&isLiveSocialUrl(vimeoUrl)?/*#__PURE__*/_jsx(\"span\",{className:\"mf-sq\",\"aria-hidden\":\"true\"}):null,isLiveSocialUrl(vimeoUrl)&&/*#__PURE__*/_jsx(\"a\",{href:vimeoUrl,\"data-mf-type\":\"label\",className:\"mf-link mf-dim\",style:{textDecoration:\"none\",fontWeight:500,fontSize:10.5,letterSpacing:\".12em\",color:\"#848b9c\"},children:\"VIMEO\"}),siteFrame&&isLiveSocialUrl(linkedinUrl)&&(isLiveSocialUrl(instagramUrl)||isLiveSocialUrl(vimeoUrl))?/*#__PURE__*/_jsx(\"span\",{className:\"mf-sq\",\"aria-hidden\":\"true\"}):null,isLiveSocialUrl(linkedinUrl)&&/*#__PURE__*/_jsx(\"a\",{href:linkedinUrl,\"data-mf-type\":\"label\",className:\"mf-link mf-dim\",style:{textDecoration:\"none\",fontWeight:500,fontSize:10.5,letterSpacing:\".12em\",color:\"#848b9c\"},children:\"LINKEDIN\"})]}),/*#__PURE__*/_jsx(\"div\",{style:{flex:1,display:\"flex\",justifyContent:\"flex-end\",minWidth:motionPhone||colourPages?0:120},children:/*#__PURE__*/_jsx(\"span\",{\"data-mf-type\":\"label\",className:\"mf-dim\",style:{fontWeight:500,fontSize:10.5,letterSpacing:\".09em\",color:\"#848b9c\"},children:motionPhone||colourPages?`\\xa9 ${new Date().getFullYear()}`:`\\xa9 ${new Date().getFullYear()} \\xb7 ${email} \\xb7 DESIGNED & BUILT IN-HOUSE`})})]})})]}),phNew?/*#__PURE__*/_jsx(MFPhoneContact,{email:email}):null]}),cbxOpen&&cbx&&/*#__PURE__*/_jsxs(\"div\",{ref:compareOverlayRef,className:\"mf-cbx-overlay\",\"data-mf-closing\":cbxClosing?\"1\":undefined,\"data-mf-ccbx\":mfFlagsRef.current.mfccbx?\"1\":undefined,onClick:closeCompare,style:{position:\"fixed\",inset:0,zIndex:200,display:colourWall?\"block\":\"flex\",alignItems:colourWall?undefined:\"center\",justifyContent:colourWall?undefined:\"center\",padding:colourWall?0:\"5vw\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,background:\"rgba(3,4,7,1)\",opacity:cbxUi.dim,pointerEvents:\"none\"}}),colourWall&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"mf-cbx-x\",\"aria-label\":\"Close compare\",onClick:closeCompare,children:\"\\xd7\"}),cbxUi.fly&&cbxUi.fly.show&&/*#__PURE__*/_jsx(\"div\",{\"data-mf-fly\":\"1\",style:{position:\"absolute\",zIndex:202,left:cbxUi.fly.left,top:cbxUi.fly.top,width:cbxUi.fly.width,height:cbxUi.fly.height,overflow:\"hidden\",borderRadius:6,border:\"1px solid rgba(255,255,255,.14)\",background:\"#14161d\",boxShadow:\"0 30px 80px rgba(0,0,0,.55)\",pointerEvents:\"none\"},children:/*#__PURE__*/_jsx(\"img\",{src:cbxUi.fly.src,srcSet:cbxUi.fly.srcSet,sizes:CBX_SIZES,alt:\"\",draggable:false,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"}})}),/*#__PURE__*/_jsxs(\"div\",{onClick:e=>e.stopPropagation(),className:colourWall?\"mf-cbx-shell mf-cbx-col\":\"mf-cbx-shell\",style:{position:colourWall?\"absolute\":\"relative\",zIndex:201,width:\"100%\",maxWidth:colourWall?\"none\":\"min(1320px, 92vw)\",opacity:cbxUi.shell,// s225: the picture aspect for the fit-to-window rule (Colour Work arms)\n...{\"--mf-cbx-ar\":compareAspect},// Stay in layout at opacity 0 so stage rect can be measured for expand target\npointerEvents:cbxUi.shell>.5?\"auto\":\"none\"},children:[!colourWall&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"flex-end\",marginBottom:16,opacity:cbxUi.chrome,transform:`translateY(${(1-cbxUi.chrome)*8}px)`},children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{\"data-mf-type\":\"display\",style:{fontWeight:500,fontSize:\"clamp(28px,3.4vw,42px)\",lineHeight:1,color:\"#fff\"},children:cbx.title}),(cbx.director||cbx.cinematographer)&&/*#__PURE__*/_jsxs(\"div\",{\"data-mf-type\":\"label\",style:{marginTop:9,fontWeight:500,fontSize:10.5,letterSpacing:\".14em\",color:\"#c9c1b0\",textTransform:\"uppercase\"},children:[cbx.director&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{style:{color:\"#848b9c\"},children:\"DIR.\"}),\" \",cbx.director]}),cbx.director&&cbx.cinematographer&&/*#__PURE__*/_jsx(\"span\",{style:{color:\"#5a6070\",margin:\"0 9px\"},children:\"\\xb7\"}),cbx.cinematographer&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{style:{color:\"#848b9c\"},children:\"DOP\"}),\" \",cbx.cinematographer]})]}),/*#__PURE__*/_jsx(\"div\",{\"data-mf-type\":\"label\",className:\"mf-dim\",style:{marginTop:7,fontWeight:500,fontSize:10.5,letterSpacing:\".14em\",color:\"#9298ab\",textTransform:\"uppercase\"},children:formatMeta(cbx.cat,cbx.year,cbx.workTypes)}),cbx.description&&/*#__PURE__*/_jsx(\"p\",{style:{marginTop:12,maxWidth:600,fontFamily:\"var(--sans)\",fontWeight:400,fontSize:12.5,lineHeight:1.65,letterSpacing:\".01em\",color:\"#aab0c0\",borderLeft:\"2px solid var(--mf-acc)\",paddingLeft:14,// Brief by design — clamp so a long paragraph\n// can't push the stage off-viewport\ndisplay:\"-webkit-box\",WebkitLineClamp:3,WebkitBoxOrient:\"vertical\",overflow:\"hidden\"},children:cbx.description})]}),/*#__PURE__*/_jsxs(\"div\",{onClick:closeCompare,\"data-mf-type\":\"label\",className:\"mf-link mf-dim\",style:{cursor:\"pointer\",fontWeight:500,fontSize:11,letterSpacing:\".16em\",color:\"#c9c1b0\",display:\"flex\",alignItems:\"center\",gap:9},children:[\"CLOSE \",/*#__PURE__*/_jsx(\"span\",{style:{fontSize:14},children:\"✕\"})]})]}),/*#__PURE__*/_jsxs(\"div\",{ref:compareBoxRef,onPointerDown:onCompareDown,style:{position:\"relative\",width:\"100%\",maxHeight:colourWall?undefined:\"min(84vh, 960px)\",aspectRatio:compareAspect,borderRadius:colourWall?0:6,overflow:\"hidden\",border:\"1px solid rgba(255,255,255,.14)\",background:\"#14161d\",cursor:cbxLive&&!shotSwitchingRef.current?\"ew-resize\":\"default\",touchAction:\"none\",userSelect:\"none\",WebkitUserSelect:\"none\"},children:[cbxSlide?/* Contiguous 2-up strip: as A exits, B enters edge-to-edge (no grey gap).\n                                   cover fills the frame during motion; interactive mode uses contain + slider after land. *//*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,overflow:\"hidden\",pointerEvents:\"none\"},children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,bottom:0,left:0,width:\"200%\",height:\"100%\",display:\"flex\",// dir +1: [from][to], 0% → -50%. dir -1: [to][from], -50% → 0%.\ntransform:cbxSlide.dir===1?`translateX(${-cbxSlide.progress*50}%)`:`translateX(${-50+cbxSlide.progress*50}%)`,willChange:\"transform\"},children:(cbxSlide.dir===1?[{src:slideFromAfter,srcSet:slideFromShot?.after?.srcSet,key:\"from\"},{src:slideToAfter,srcSet:slideToShot?.after?.srcSet,key:\"to\"}]:[{src:slideToAfter,srcSet:slideToShot?.after?.srcSet,key:\"to\"},{src:slideFromAfter,srcSet:slideFromShot?.after?.srcSet,key:\"from\"}]).map(panel=>/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",flex:\"0 0 50%\",width:\"50%\",height:\"100%\",background:\"#14161d\",overflow:\"hidden\"},children:panel.src&&/*#__PURE__*/_jsx(\"img\",{src:panel.src,srcSet:panel.srcSet,sizes:CBX_SIZES,decoding:\"async\",draggable:false,alt:(panel.key===\"to\"?slideToShot:slideFromShot)?.after?.alt||(cbx?.title?`${cbx.title} — before/after grade comparison`:\"Before/after grade comparison\"),style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"}})},panel.key))})}):/*#__PURE__*/_jsxs(_Fragment,{children:[cbxBeforeSrc&&/*#__PURE__*/_jsx(\"img\",{src:cbxBeforeSrc,srcSet:cbxBeforeSrcSet,sizes:CBX_SIZES,decoding:\"async\",draggable:false,alt:cbxShot?.before?.alt||cbxShot?.after?.alt||(cbx?.title?`${cbx.title} — before grade`:\"Before grade\"),style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"contain\",display:\"block\",transform:\"translateZ(0)\",pointerEvents:\"none\",filter:cbxHasRealBefore?\"none\":\"grayscale(.4) contrast(.78) brightness(1.14) saturate(.55) sepia(.08)\"}}),/*#__PURE__*/_jsx(\"div\",{ref:compareBeforeClipRef,style:{position:\"absolute\",inset:0,zIndex:2,willChange:\"clip-path\",transform:\"translateZ(0)\",pointerEvents:\"none\"},children:/*#__PURE__*/_jsx(\"div\",{className:\"mf-cbx-pill-b\",\"data-mf-type\":\"label\",style:{position:\"absolute\",top:14,left:14,fontWeight:600,fontSize:9.5,letterSpacing:\".14em\",color:\"#e8eaf0\",background:\"rgba(4,6,10,.65)\",padding:\"4px 10px\",borderRadius:999,opacity:cbxUi.pills},children:\"BEFORE — UNGRADED\"})}),/*#__PURE__*/_jsxs(\"div\",{ref:compareClipRef,style:{position:\"absolute\",inset:0,willChange:\"clip-path\",transform:\"translateZ(0)\",pointerEvents:\"none\"},children:[cbxAfterSrc&&/*#__PURE__*/_jsx(\"img\",{src:cbxAfterSrc,srcSet:cbxAfterSrcSet,sizes:CBX_SIZES,decoding:\"async\",draggable:false,alt:cbxShot?.after?.alt||(cbx?.title?`${cbx.title} — final grade`:\"Final grade\"),style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"contain\",display:\"block\",transform:\"translateZ(0)\",pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"div\",{className:\"mf-cbx-pill-a\",\"data-mf-type\":\"label\",style:{position:\"absolute\",top:14,right:14,fontWeight:600,fontSize:9.5,letterSpacing:\".14em\",// White on the accent bg tests at 3.51:1 (below the 4.5:1 AA\n// minimum for this size) — accepted deliberately, Gav's call.\ncolor:\"#fff\",background:\"var(--mf-acc)\",padding:\"4px 10px\",borderRadius:999,opacity:cbxUi.pills},children:\"AFTER — FINAL GRADE\"})]}),/*#__PURE__*/_jsx(\"div\",{ref:compareHandleRef,style:{position:\"absolute\",top:0,bottom:0,zIndex:3,width:2,background:\"#fff\",left:0,willChange:\"transform\",boxShadow:\"0 0 0 1px rgba(0,0,0,.3)\",pointerEvents:\"none\"},children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:\"50%\",left:\"50%\",transform:\"translate(-50%,-50%)\",width:34,height:34,borderRadius:\"50%\",background:\"#fff\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:12,color:\"#07080c\",boxShadow:\"0 4px 14px rgba(0,0,0,.4)\"},children:\"⇔\"})})]}),!cArw&&!colourWall&&cbx.stills.length>1&&/*#__PURE__*/_jsxs(_Fragment,{children:[(cbxSlide?cbxSlide.to:cbxIndex)>0&&/*#__PURE__*/_jsx(\"button\",{className:\"mf-cbx-arrow\",\"aria-label\":\"Previous shot\",onClick:e=>{e.stopPropagation();switchCompareShot((cbxSlide?cbxSlide.to:cbxIndex)-1);},onPointerDown:e=>e.stopPropagation(),style:{position:\"absolute\",left:14,top:\"50%\",transform:\"translateY(-50%)\",zIndex:4,width:40,height:40,borderRadius:\"50%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"rgba(7,8,12,.55)\",border:\"1px solid rgba(255,255,255,.22)\",color:\"#fff\",cursor:\"pointer\",padding:0,opacity:cbxUi.pills},children:/*#__PURE__*/_jsx(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M14.5 5 7.5 12l7 7\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})}),(cbxSlide?cbxSlide.to:cbxIndex)<cbx.stills.length-1&&/*#__PURE__*/_jsx(\"button\",{className:\"mf-cbx-arrow\",\"aria-label\":\"Next shot\",onClick:e=>{e.stopPropagation();switchCompareShot((cbxSlide?cbxSlide.to:cbxIndex)+1);},onPointerDown:e=>e.stopPropagation(),style:{position:\"absolute\",right:14,top:\"50%\",transform:\"translateY(-50%)\",zIndex:4,width:40,height:40,borderRadius:\"50%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"rgba(7,8,12,.55)\",border:\"1px solid rgba(255,255,255,.22)\",color:\"#fff\",cursor:\"pointer\",padding:0,opacity:cbxUi.pills},children:/*#__PURE__*/_jsx(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M9.5 5l7 7-7 7\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})})]})]}),cArw&&!colourWall&&cbx.stills.length>1&&/*#__PURE__*/_jsx(\"div\",{className:\"mf-cbx-arws\",children:/*#__PURE__*/_jsxs(_Fragment,{children:[(cbxSlide?cbxSlide.to:cbxIndex)>0&&/*#__PURE__*/_jsx(\"button\",{className:\"mf-cbx-arrow\",\"aria-label\":\"Previous shot\",onClick:e=>{e.stopPropagation();switchCompareShot((cbxSlide?cbxSlide.to:cbxIndex)-1);},onPointerDown:e=>e.stopPropagation(),style:{position:\"absolute\",left:14,top:\"50%\",transform:\"translateY(-50%)\",zIndex:4,width:40,height:40,borderRadius:\"50%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"rgba(7,8,12,.55)\",border:\"1px solid rgba(255,255,255,.22)\",color:\"#fff\",cursor:\"pointer\",padding:0,opacity:cbxUi.pills},children:/*#__PURE__*/_jsx(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M14.5 5 7.5 12l7 7\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})}),(cbxSlide?cbxSlide.to:cbxIndex)<cbx.stills.length-1&&/*#__PURE__*/_jsx(\"button\",{className:\"mf-cbx-arrow\",\"aria-label\":\"Next shot\",onClick:e=>{e.stopPropagation();switchCompareShot((cbxSlide?cbxSlide.to:cbxIndex)+1);},onPointerDown:e=>e.stopPropagation(),style:{position:\"absolute\",right:14,top:\"50%\",transform:\"translateY(-50%)\",zIndex:4,width:40,height:40,borderRadius:\"50%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"rgba(7,8,12,.55)\",border:\"1px solid rgba(255,255,255,.22)\",color:\"#fff\",cursor:\"pointer\",padding:0,opacity:cbxUi.pills},children:/*#__PURE__*/_jsx(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M9.5 5l7 7-7 7\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})})]})}),colourWall&&/*#__PURE__*/_jsxs(\"div\",{className:\"mf-cbx-cap\",style:{opacity:cbxUi.chrome},children:[/*#__PURE__*/_jsx(\"h3\",{className:\"mf-cbx-title\",children:cbx.title}),/*#__PURE__*/_jsx(\"div\",{className:\"mf-cbx-meta\",children:formatMeta(cbx.cat,cbx.year,cbx.workTypes)})]}),(!colourWall||cbx.stills.length>1)&&/*#__PURE__*/_jsx(\"div\",{className:colourWall?\"mf-cbx-strip\":undefined,style:colourWall?{display:\"grid\",gridTemplateColumns:\"repeat(auto-fit, minmax(110px, 1fr))\",gap:2,opacity:cbxUi.footer}:{marginTop:11,display:\"flex\",justifyContent:\"flex-end\",alignItems:\"center\",gap:16,opacity:cbxUi.footer,transform:`translateY(${(1-cbxUi.footer)*6}px)`},children:colourWall?cbxThumbs.map((t,i)=>{const on=i===(cbxSlide?cbxSlide.to:cbxIndex);const ar=aspectRatioFromImageSrc(t.after?.src)||aspectRatioFromImageSrc(t.before?.src)||\"16/9\";return /*#__PURE__*/_jsxs(\"button\",{type:\"button\",\"aria-pressed\":on?\"true\":\"false\",onClick:()=>switchCompareShot(i),style:{padding:0,border:\"none\",overflow:\"hidden\",aspectRatio:ar,cursor:cbxLive?\"pointer\":\"default\",background:\"#101218\",position:\"relative\",boxShadow:on?\"inset 0 0 0 1px var(--mf-acc)\":\"inset 0 0 0 1px rgba(231,220,196,.06)\"},children:[t.after?.src&&/*#__PURE__*/_jsx(\"img\",{src:t.after.src,alt:t.after?.alt||(cbx?.title?`${cbx.title} — shot thumbnail`:\"Shot thumbnail\"),style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\",opacity:on?1:.5,transition:\"opacity .3s\"}}),/*#__PURE__*/_jsx(\"div\",{className:\"mf-cbx-shot-n\",children:String(i+1).padStart(2,\"0\")})]},i);}):/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",gap:9},children:cbxThumbs.map((t,i)=>/*#__PURE__*/_jsx(\"button\",{onClick:()=>switchCompareShot(i),style:{padding:0,border:\"none\",borderRadius:4,overflow:\"hidden\",width:88,aspectRatio:\"16/9\",cursor:cbxLive?\"pointer\":\"default\",background:\"#14161d\",flex:\"none\"},children:t.after?.src&&/*#__PURE__*/_jsx(\"img\",{src:t.after.src,alt:t.after?.alt||(cbx?.title?`${cbx.title} — shot thumbnail`:\"Shot thumbnail\"),style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\",opacity:i===(cbxSlide?cbxSlide.to:cbxIndex)?1:.45,transition:\"opacity .3s\"}})},i))})}),colourWall&&/*#__PURE__*/_jsx(\"div\",{className:\"mf-cbx-hint\",children:\"DRAG THE LINE \\xb7 TAP A FRAME FOR ANOTHER SHOT\"})]})]}),reelOpen&&/*#__PURE__*/_jsxs(\"div\",{className:\"mf-reel-overlay\",\"data-mf-closing\":reelClosing?\"1\":undefined,onClick:closeReel,style:{position:\"fixed\",inset:0,zIndex:200,background:\"rgba(3,4,7,.93)\",backdropFilter:\"blur(10px)\",WebkitBackdropFilter:\"blur(10px)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:\"min(4vw, 48px)\"},children:[/*#__PURE__*/_jsx(\"div\",{className:\"mf-reel-stage\",onClick:e=>e.stopPropagation(),style:{position:\"relative\",width:\"100%\",maxWidth:REEL_LB_STAGE_MAX_W,aspectRatio:\"16/9\",borderRadius:6,overflow:\"hidden\",border:\"1px solid rgba(255,255,255,.14)\",background:\"#000\",boxShadow:\"0 0 70px rgba(0,0,0,.7)\"},children:isMotion?/*#__PURE__*/_jsx(\"iframe\",{src:`https://player.vimeo.com/video/${motionReelId}?autoplay=1&title=0&byline=0&portrait=0&dnt=1`,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",border:0},allow:\"autoplay; fullscreen; picture-in-picture\",allowFullScreen:true,title:\"Motion Reel\"}):/*#__PURE__*/_jsx(\"iframe\",{src:`https://player.vimeo.com/video/${colourReelId}?autoplay=1&title=0&byline=0&portrait=0&dnt=1`,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",border:0},allow:\"autoplay; fullscreen; picture-in-picture\",allowFullScreen:true,title:\"Colour Reel\"})}),/*#__PURE__*/_jsxs(\"div\",{onClick:closeReel,\"data-mf-type\":\"label\",className:\"mf-link mf-dim mf-reel-close\",style:{position:\"absolute\",top:22,right:30,cursor:\"pointer\",fontWeight:500,fontSize:11,letterSpacing:\".16em\",color:\"#c9c1b0\",display:\"flex\",alignItems:\"center\",gap:9},children:[\"CLOSE \",/*#__PURE__*/_jsx(\"span\",{style:{fontSize:14},children:\"✕\"})]})]})]});}MFHomepage.defaultProps={email:\"gav@mindfactory.ca\",instagramUrl:\"#\",vimeoUrl:\"#\",linkedinUrl:\"#\",aboutHref:\"/#about\",motionReelId:\"1095070980\",colourReelId:\"1080398690\",aboutName:\"Gav Patel\",aboutRoleLine:\"Colourist & Motion Graphics Designer — Toronto, Canada\",aboutDisciplines:[{num:\"01\",name:\"Graphic Design\"},{num:\"02\",name:\"Motion Graphics\"},{num:\"03\",name:\"VFX\"},{num:\"04\",name:\"Colour\"}],projectsColour:[{title:\"Copper Coins\",category:\"Short Film\",year:\"2025\",workTypes:[\"Colour\"],shots:[],featured:true},{title:\"The Shuvs - Can't Find Love\",category:\"Music Video\",year:\"2025\",workTypes:[\"Colour\"],shots:[]},{title:\"Upside Down\",category:\"Short Film\",year:\"2025\",workTypes:[\"VFX\",\"Colour\"],shots:[],featured:true},{title:\"Peter Chin: The Blood Remembers\",category:\"Music Video\",year:\"2025\",workTypes:[\"Colour\"],shots:[]}],projectsMotion:[{studioName:\"SJC\",brandName:\"GM\",category:\"Advertising\",year:\"2025\",workTypes:[]},{studioName:\"Marks\",brandName:\"Pepsi\",category:\"Advertising\",year:\"2021\",workTypes:[]},{studioName:\"Unreasonable Studios\",brandName:\"Budweiser\",category:\"Advertising\",year:\"2019\",workTypes:[]},{studioName:\"CBC\",category:\"TV\",year:\"2020\",workTypes:[]},{studioName:\"Jiang Media\",category:\"Documentary\",year:\"2024\",workTypes:[]}]};addPropertyControls(MFHomepage,{projectsColour:{type:ControlType.Array,title:\"Projects — Colour\",control:{type:ControlType.Object,controls:{title:{type:ControlType.String,defaultValue:\"\"},category:{type:ControlType.Enum,title:\"Category\",defaultValue:\"Short Film\",options:[\"Documentary\",\"Advertising\",\"TV\",\"Music Video\",\"Short Film\"]},year:{type:ControlType.String,title:\"Year\",defaultValue:\"2025\"},description:{type:ControlType.String,title:\"Description (optional)\",defaultValue:\"\",displayTextArea:true},director:{type:ControlType.String,title:\"Director (optional)\",defaultValue:\"\"},cinematographer:{type:ControlType.String,title:\"Cinematographer (optional)\",defaultValue:\"\"},workTypes:{type:ControlType.Array,title:\"Work Type\",control:{type:ControlType.Enum,options:[\"3D Motion\",\"2D Motion\",\"Colour\",\"VFX\",\"Design\",\"Editing\"]}},thumbnail:{type:ControlType.ResponsiveImage,title:\"Thumbnail\"},featured:{type:ControlType.Boolean,title:\"Use as Hero Image\",defaultValue:false},shots:{type:ControlType.Array,title:\"Before/After Shots\",control:{type:ControlType.Object,controls:{before:{type:ControlType.ResponsiveImage,title:\"Before (optional)\"},after:{type:ControlType.ResponsiveImage,title:\"After\"}}},maxCount:6}}},maxCount:24},projectsMotion:{type:ControlType.Array,title:\"Projects — Motion\",control:{type:ControlType.Object,controls:{studioName:{type:ControlType.String,title:\"Studio Name\",defaultValue:\"\"},brandName:{type:ControlType.String,title:\"Brand Name (optional)\",defaultValue:\"\"},category:{type:ControlType.Enum,title:\"Category\",defaultValue:\"Advertising\",options:[\"Documentary\",\"Advertising\",\"TV\",\"Music Video\",\"Short Film\"]},year:{type:ControlType.String,title:\"Year\",defaultValue:\"2025\"},workTypes:{type:ControlType.Array,title:\"Work Type\",control:{type:ControlType.Enum,options:[\"3D Motion\",\"2D Motion\",\"Colour\",\"VFX\",\"Design\",\"Editing\"]}},thumbnail:{type:ControlType.ResponsiveImage,title:\"Thumbnail\"},loopVideo:{type:ControlType.File,title:\"Loop Video (optional)\",allowedFileTypes:[\"mp4\",\"mov\"]},featured:{type:ControlType.Boolean,title:\"Use as Hero Image\",defaultValue:false}}},maxCount:24},email:{type:ControlType.String,title:\"Contact Email\"},instagramUrl:{type:ControlType.Link,title:\"Instagram URL\"},vimeoUrl:{type:ControlType.Link,title:\"Vimeo URL\"},linkedinUrl:{type:ControlType.Link,title:\"LinkedIn URL\"},aboutHref:{type:ControlType.Link,title:\"About Page Link\"},headshotImage:{type:ControlType.ResponsiveImage,title:\"Headshot\"},aboutName:{type:ControlType.String,title:\"About — Name\"},aboutRoleLine:{type:ControlType.String,title:\"About — Role Line\"},aboutDisciplines:{type:ControlType.Array,title:\"About — Disciplines\",control:{type:ControlType.Object,controls:{num:{type:ControlType.String,defaultValue:\"01\"},name:{type:ControlType.String,defaultValue:\"Discipline\"}}},maxCount:6},motionReelId:{type:ControlType.String,title:\"Motion Vimeo ID\"},colourReelId:{type:ControlType.String,title:\"Colour Vimeo ID\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MFHomepage\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MFHomepage.map","// Generated by Framer (4d43e7b)\nexport default function metadata(params,activeLocale){return{breakpoints:[{hash:\"72rtr7\",mediaQuery:\"(min-width: 1200px)\"},{hash:\"18p0z7b\",mediaQuery:\"(min-width: 810px) and (max-width: 1199.98px)\"},{hash:\"3ynxpl\",mediaQuery:\"(max-width: 809.98px)\"}],description:\"Mind Factory is a Toronto-based colour grading, motion design, VFX and finishing studio led by Gav Patel, working with clients worldwide, remotely.\",elements:{},framerSearch:{index:true},robots:\"max-image-preview:large\",serializationId:\"framer-dwJOn\",socialImage:\"https://framerusercontent.com/assets/pnsPYH4afTxPP2XpMA17PieLGKM.jpg\",title:\"Mind Factory | Colour Grading & Motion Design Studio\",viewport:\"width=device-width\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (4d43e7b)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,GeneratedComponentContext,getFonts,PropertyOverrides,ResolveLinks,useComponentViewport,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,useMetadata,useRouter,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import MFHomepage from\"#framer/local/codeFile/mAKa8F7/MFHomepage.js\";import metadataProvider from\"#framer/local/webPageMetadata/augiA20Il/augiA20Il.js\";const MFHomepageFonts=getFonts(MFHomepage);const breakpoints={h7YRYQkIf:\"(min-width: 810px) and (max-width: 1199.98px)\",LWjXhrqq5:\"(max-width: 809.98px)\",WQLkyLRf1:\"(min-width: 1200px)\"};const isBrowser=()=>typeof document!==\"undefined\";export const queryParamNames=[];const serializationHash=\"framer-dwJOn\";const variantClassNames={h7YRYQkIf:\"framer-v-18p0z7b\",LWjXhrqq5:\"framer-v-3ynxpl\",WQLkyLRf1:\"framer-v-72rtr7\"};const getRootLayoutProp=(hasLayoutTemplate,hasInheritedFlowEffect,fallback)=>{if(!hasLayoutTemplate)return fallback;return hasInheritedFlowEffect?\"position\":fallback;};const addImageAlt=(image,alt)=>{if(!image||typeof image!==\"object\"){return;}return{...image,alt};};const humanReadableVariantMap={Desktop:\"WQLkyLRf1\",Phone:\"LWjXhrqq5\",Tablet:\"h7YRYQkIf\"};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"WQLkyLRf1\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const metadata=React.useMemo(()=>metadataProvider({},activeLocale),[activeLocale]);useMetadata(metadata);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const hasLayoutTemplate=React.useContext(GeneratedComponentContext)?.isLayoutTemplate;const hasInheritedFlowEffect=Boolean(React.useContext(MotionConfigContext)?.transition?.layout);const motionLayout=getRootLayoutProp(hasLayoutTemplate,hasInheritedFlowEffect);const router=useRouter();useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{activeVariantId:baseVariant,humanReadableVariantMap,primaryVariantId:\"WQLkyLRf1\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\"html body { background: rgb(7, 8, 12); }\"}),/*#__PURE__*/_jsx(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-72rtr7\",className),ref:refBinding,style:{...style},children:/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"GdOoFXZB3\"},implicitPathVariables:undefined},{href:{webPageId:\"GdOoFXZB3\"},implicitPathVariables:undefined},{href:{webPageId:\"GdOoFXZB3\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-sctihp-container\",\"data-code-component-plugin-id\":\"mcp001\",isAuthoredByUser:true,layout:motionLayout,nodeId:\"cNDihJI7W\",scopeId:\"augiA20Il\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{h7YRYQkIf:{aboutHref:resolvedLinks[1]},LWjXhrqq5:{aboutHref:resolvedLinks[2]}},children:/*#__PURE__*/_jsx(MFHomepage,{aboutDisciplines:[{name:\"Graphic Design\",num:\"01\"},{name:\"Motion Graphics\",num:\"02\"},{name:\"VFX\",num:\"03\"},{name:\"Colour\",num:\"04\"}],aboutHref:resolvedLinks[0],aboutName:\"Gav Patel\",aboutRoleLine:\"Colourist & Motion Graphics Designer — Toronto, Canada\",colourReelId:\"1080398690\",email:\"gav@mindfactory.ca\",headshotImage:addImageAlt({pixelHeight:1796,pixelWidth:1796,src:\"https://framerusercontent.com/images/SDEbHg9CZqKOHB03k2L3scTBlwk.png?width=1796&height=1796\",srcSet:\"https://framerusercontent.com/images/SDEbHg9CZqKOHB03k2L3scTBlwk.png?scale-down-to=512&width=1796&height=1796 512w,https://framerusercontent.com/images/SDEbHg9CZqKOHB03k2L3scTBlwk.png?scale-down-to=1024&width=1796&height=1796 1024w,https://framerusercontent.com/images/SDEbHg9CZqKOHB03k2L3scTBlwk.png?width=1796&height=1796 1796w\"},\"\"),height:\"100%\",id:\"cNDihJI7W\",instagramUrl:\"https://instagram.com/mindfactory.ca\",layoutId:\"cNDihJI7W\",motionReelId:\"1095070980\",projectsColour:[{category:\"Short Film\",cinematographer:\"\",description:\"A final look-design submission for colour.training's Masters program, built from Grace Gordon's short film. Three looks carry the story's emotional arc, from a cold pursuit to sunset acceptance, finished with invisible VFX: hair clip removal, equipment removal, and shot recomposition.\",director:\"Grace Gordon\",featured:true,shots:[{after:addImageAlt({pixelHeight:1440,pixelWidth:3840,src:\"https://framerusercontent.com/images/hW56knWLxblg7KwoxtwAvD1BWE.png?width=3840&height=1440\",srcSet:\"https://framerusercontent.com/images/hW56knWLxblg7KwoxtwAvD1BWE.png?scale-down-to=512&width=3840&height=1440 512w,https://framerusercontent.com/images/hW56knWLxblg7KwoxtwAvD1BWE.png?scale-down-to=1024&width=3840&height=1440 1024w,https://framerusercontent.com/images/hW56knWLxblg7KwoxtwAvD1BWE.png?scale-down-to=2048&width=3840&height=1440 2048w,https://framerusercontent.com/images/hW56knWLxblg7KwoxtwAvD1BWE.png?width=3840&height=1440 3840w\"},\"\"),before:addImageAlt({pixelHeight:1440,pixelWidth:3840,src:\"https://framerusercontent.com/images/m7ku434HxOlhayfPM3uGASyvpHc.png?width=3840&height=1440\",srcSet:\"https://framerusercontent.com/images/m7ku434HxOlhayfPM3uGASyvpHc.png?scale-down-to=512&width=3840&height=1440 512w,https://framerusercontent.com/images/m7ku434HxOlhayfPM3uGASyvpHc.png?scale-down-to=1024&width=3840&height=1440 1024w,https://framerusercontent.com/images/m7ku434HxOlhayfPM3uGASyvpHc.png?scale-down-to=2048&width=3840&height=1440 2048w,https://framerusercontent.com/images/m7ku434HxOlhayfPM3uGASyvpHc.png?width=3840&height=1440 3840w\"},\"\")},{after:addImageAlt({pixelHeight:1440,pixelWidth:3840,src:\"https://framerusercontent.com/images/jDkjBwfJRYHxfRUngIRDgsSRvQ.png?width=3840&height=1440\",srcSet:\"https://framerusercontent.com/images/jDkjBwfJRYHxfRUngIRDgsSRvQ.png?scale-down-to=512&width=3840&height=1440 512w,https://framerusercontent.com/images/jDkjBwfJRYHxfRUngIRDgsSRvQ.png?scale-down-to=1024&width=3840&height=1440 1024w,https://framerusercontent.com/images/jDkjBwfJRYHxfRUngIRDgsSRvQ.png?scale-down-to=2048&width=3840&height=1440 2048w,https://framerusercontent.com/images/jDkjBwfJRYHxfRUngIRDgsSRvQ.png?width=3840&height=1440 3840w\"},\"\"),before:addImageAlt({pixelHeight:1440,pixelWidth:3840,src:\"https://framerusercontent.com/images/eYCSs3X4PZ0IbtIxgInz9MXkHc.png?width=3840&height=1440\",srcSet:\"https://framerusercontent.com/images/eYCSs3X4PZ0IbtIxgInz9MXkHc.png?scale-down-to=512&width=3840&height=1440 512w,https://framerusercontent.com/images/eYCSs3X4PZ0IbtIxgInz9MXkHc.png?scale-down-to=1024&width=3840&height=1440 1024w,https://framerusercontent.com/images/eYCSs3X4PZ0IbtIxgInz9MXkHc.png?scale-down-to=2048&width=3840&height=1440 2048w,https://framerusercontent.com/images/eYCSs3X4PZ0IbtIxgInz9MXkHc.png?width=3840&height=1440 3840w\"},\"\")}],thumbnail:addImageAlt({pixelHeight:1440,pixelWidth:3840,positionX:\"62.4%\",positionY:\"27.2%\",src:\"https://framerusercontent.com/images/hW56knWLxblg7KwoxtwAvD1BWE.png?width=3840&height=1440\",srcSet:\"https://framerusercontent.com/images/hW56knWLxblg7KwoxtwAvD1BWE.png?scale-down-to=512&width=3840&height=1440 512w,https://framerusercontent.com/images/hW56knWLxblg7KwoxtwAvD1BWE.png?scale-down-to=1024&width=3840&height=1440 1024w,https://framerusercontent.com/images/hW56knWLxblg7KwoxtwAvD1BWE.png?scale-down-to=2048&width=3840&height=1440 2048w,https://framerusercontent.com/images/hW56knWLxblg7KwoxtwAvD1BWE.png?width=3840&height=1440 3840w\"},\"\"),title:\"Copper Coins\",workTypes:[\"Colour\",\"VFX\"],year:\"2025\"},{category:\"Music Video\",cinematographer:\"Gav Patel\",description:\"\",director:\"Gav Patel\",featured:true,shots:[{after:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/vFCmH8uv8cENT03NDG866XVbVXg.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/vFCmH8uv8cENT03NDG866XVbVXg.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/vFCmH8uv8cENT03NDG866XVbVXg.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/vFCmH8uv8cENT03NDG866XVbVXg.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/vFCmH8uv8cENT03NDG866XVbVXg.png?width=3840&height=2160 3840w\"},\"\"),before:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/tIdZNVlq4DvZ9b7CWEJZiDDP0.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/tIdZNVlq4DvZ9b7CWEJZiDDP0.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/tIdZNVlq4DvZ9b7CWEJZiDDP0.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/tIdZNVlq4DvZ9b7CWEJZiDDP0.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/tIdZNVlq4DvZ9b7CWEJZiDDP0.png?width=3840&height=2160 3840w\"},\"\")},{after:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/iMgNyUxv6rz6HZUgJu1OAcGT9wM.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/iMgNyUxv6rz6HZUgJu1OAcGT9wM.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/iMgNyUxv6rz6HZUgJu1OAcGT9wM.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/iMgNyUxv6rz6HZUgJu1OAcGT9wM.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/iMgNyUxv6rz6HZUgJu1OAcGT9wM.png?width=3840&height=2160 3840w\"},\"\"),before:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/mygGkaPQl6v67W2QYTnUBSdmow.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/mygGkaPQl6v67W2QYTnUBSdmow.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/mygGkaPQl6v67W2QYTnUBSdmow.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/mygGkaPQl6v67W2QYTnUBSdmow.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/mygGkaPQl6v67W2QYTnUBSdmow.png?width=3840&height=2160 3840w\"},\"\")},{after:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/mMZ4pWp7R7xOonmB04ImUXyMflA.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/mMZ4pWp7R7xOonmB04ImUXyMflA.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/mMZ4pWp7R7xOonmB04ImUXyMflA.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/mMZ4pWp7R7xOonmB04ImUXyMflA.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/mMZ4pWp7R7xOonmB04ImUXyMflA.png?width=3840&height=2160 3840w\"},\"\"),before:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/9G1UWMYBiHBAMbkMnvGIurIxBBw.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/9G1UWMYBiHBAMbkMnvGIurIxBBw.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/9G1UWMYBiHBAMbkMnvGIurIxBBw.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/9G1UWMYBiHBAMbkMnvGIurIxBBw.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/9G1UWMYBiHBAMbkMnvGIurIxBBw.png?width=3840&height=2160 3840w\"},\"\")},{after:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/hdVmqfoZmlIx4dZTepD5urYups.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/hdVmqfoZmlIx4dZTepD5urYups.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/hdVmqfoZmlIx4dZTepD5urYups.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/hdVmqfoZmlIx4dZTepD5urYups.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/hdVmqfoZmlIx4dZTepD5urYups.png?width=3840&height=2160 3840w\"},\"\"),before:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/HNPybyAioAY0Vq4NWk9hWlvVLp4.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/HNPybyAioAY0Vq4NWk9hWlvVLp4.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/HNPybyAioAY0Vq4NWk9hWlvVLp4.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/HNPybyAioAY0Vq4NWk9hWlvVLp4.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/HNPybyAioAY0Vq4NWk9hWlvVLp4.png?width=3840&height=2160 3840w\"},\"\")},{after:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/M5A5NJ0J46AZPvlB8rxOGoMheLU.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/M5A5NJ0J46AZPvlB8rxOGoMheLU.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/M5A5NJ0J46AZPvlB8rxOGoMheLU.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/M5A5NJ0J46AZPvlB8rxOGoMheLU.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/M5A5NJ0J46AZPvlB8rxOGoMheLU.png?width=3840&height=2160 3840w\"},\"\"),before:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/Q0P69RLotvtBQ9KGUVjS9ai8Fq8.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/Q0P69RLotvtBQ9KGUVjS9ai8Fq8.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/Q0P69RLotvtBQ9KGUVjS9ai8Fq8.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/Q0P69RLotvtBQ9KGUVjS9ai8Fq8.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/Q0P69RLotvtBQ9KGUVjS9ai8Fq8.png?width=3840&height=2160 3840w\"},\"\")},{after:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/s5X2yptGj9xNkKELDuEV6kqC4.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/s5X2yptGj9xNkKELDuEV6kqC4.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/s5X2yptGj9xNkKELDuEV6kqC4.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/s5X2yptGj9xNkKELDuEV6kqC4.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/s5X2yptGj9xNkKELDuEV6kqC4.png?width=3840&height=2160 3840w\"},\"\"),before:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/iDuhm61AQNynvowkRa37IxoIc8c.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/iDuhm61AQNynvowkRa37IxoIc8c.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/iDuhm61AQNynvowkRa37IxoIc8c.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/iDuhm61AQNynvowkRa37IxoIc8c.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/iDuhm61AQNynvowkRa37IxoIc8c.png?width=3840&height=2160 3840w\"},\"\")}],thumbnail:addImageAlt({pixelHeight:2160,pixelWidth:2618,src:\"https://framerusercontent.com/images/CBboRQDSKFTQwaNvcChfd3U6Rw.png?width=2618&height=2160\",srcSet:\"https://framerusercontent.com/images/CBboRQDSKFTQwaNvcChfd3U6Rw.png?scale-down-to=512&width=2618&height=2160 512w,https://framerusercontent.com/images/CBboRQDSKFTQwaNvcChfd3U6Rw.png?scale-down-to=1024&width=2618&height=2160 1024w,https://framerusercontent.com/images/CBboRQDSKFTQwaNvcChfd3U6Rw.png?scale-down-to=2048&width=2618&height=2160 2048w,https://framerusercontent.com/images/CBboRQDSKFTQwaNvcChfd3U6Rw.png?width=2618&height=2160 2618w\"},\"\"),title:\"Can't Find Love\",workTypes:[\"Editing\",\"Colour\"],year:\"2016\"},{category:\"Short Film\",cinematographer:\"\",description:\"\",director:\"Eric Bates\",featured:true,shots:[{after:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/oyC1Ri7GDeZPIfRJGWUSZjV4scE.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/oyC1Ri7GDeZPIfRJGWUSZjV4scE.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/oyC1Ri7GDeZPIfRJGWUSZjV4scE.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/oyC1Ri7GDeZPIfRJGWUSZjV4scE.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/oyC1Ri7GDeZPIfRJGWUSZjV4scE.png?width=3840&height=2160 3840w\"},\"\"),before:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/6mQtTguEZEYNlR6DmX845e8ygo.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/6mQtTguEZEYNlR6DmX845e8ygo.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/6mQtTguEZEYNlR6DmX845e8ygo.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/6mQtTguEZEYNlR6DmX845e8ygo.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/6mQtTguEZEYNlR6DmX845e8ygo.png?width=3840&height=2160 3840w\"},\"\")},{after:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/68le5uKI8VmAQgo9MoJ7v472hE.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/68le5uKI8VmAQgo9MoJ7v472hE.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/68le5uKI8VmAQgo9MoJ7v472hE.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/68le5uKI8VmAQgo9MoJ7v472hE.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/68le5uKI8VmAQgo9MoJ7v472hE.png?width=3840&height=2160 3840w\"},\"\"),before:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/NUSz8In5WLoWKWeKnnHIqrPiydM.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/NUSz8In5WLoWKWeKnnHIqrPiydM.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/NUSz8In5WLoWKWeKnnHIqrPiydM.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/NUSz8In5WLoWKWeKnnHIqrPiydM.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/NUSz8In5WLoWKWeKnnHIqrPiydM.png?width=3840&height=2160 3840w\"},\"\")},{after:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/y7Z4UqGPlsqBesiuB2MG0IWIM.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/y7Z4UqGPlsqBesiuB2MG0IWIM.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/y7Z4UqGPlsqBesiuB2MG0IWIM.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/y7Z4UqGPlsqBesiuB2MG0IWIM.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/y7Z4UqGPlsqBesiuB2MG0IWIM.png?width=3840&height=2160 3840w\"},\"\"),before:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/NHElA7PE9eZzanWzoEHgMAJTLrw.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/NHElA7PE9eZzanWzoEHgMAJTLrw.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/NHElA7PE9eZzanWzoEHgMAJTLrw.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/NHElA7PE9eZzanWzoEHgMAJTLrw.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/NHElA7PE9eZzanWzoEHgMAJTLrw.png?width=3840&height=2160 3840w\"},\"\")},{after:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/9hOITVTE1KEUGqDfayniDZdjUA.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/9hOITVTE1KEUGqDfayniDZdjUA.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/9hOITVTE1KEUGqDfayniDZdjUA.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/9hOITVTE1KEUGqDfayniDZdjUA.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/9hOITVTE1KEUGqDfayniDZdjUA.png?width=3840&height=2160 3840w\"},\"\"),before:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/gCbuAvLMZjrmbBwaIgSn2JaHh1Q.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/gCbuAvLMZjrmbBwaIgSn2JaHh1Q.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/gCbuAvLMZjrmbBwaIgSn2JaHh1Q.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/gCbuAvLMZjrmbBwaIgSn2JaHh1Q.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/gCbuAvLMZjrmbBwaIgSn2JaHh1Q.png?width=3840&height=2160 3840w\"},\"\")}],thumbnail:addImageAlt({pixelHeight:2160,pixelWidth:3840,positionX:\"56%\",positionY:\"47%\",src:\"https://framerusercontent.com/images/oyC1Ri7GDeZPIfRJGWUSZjV4scE.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/oyC1Ri7GDeZPIfRJGWUSZjV4scE.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/oyC1Ri7GDeZPIfRJGWUSZjV4scE.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/oyC1Ri7GDeZPIfRJGWUSZjV4scE.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/oyC1Ri7GDeZPIfRJGWUSZjV4scE.png?width=3840&height=2160 3840w\"},\"\"),title:\"Upside Down\",workTypes:[\"Colour\"],year:\"2025\"},{category:\"Documentary\",cinematographer:\"Hao Cheng\",description:\"\",director:\"Jeanette Kong\",featured:true,shots:[{after:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/z8VDKwmUhRM0LTyPwoyIdV1naFs.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/z8VDKwmUhRM0LTyPwoyIdV1naFs.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/z8VDKwmUhRM0LTyPwoyIdV1naFs.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/z8VDKwmUhRM0LTyPwoyIdV1naFs.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/z8VDKwmUhRM0LTyPwoyIdV1naFs.png?width=3840&height=2160 3840w\"},\"\"),before:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/OQR09acCm5qQgDfDFiVa0BKOKQA.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/OQR09acCm5qQgDfDFiVa0BKOKQA.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/OQR09acCm5qQgDfDFiVa0BKOKQA.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/OQR09acCm5qQgDfDFiVa0BKOKQA.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/OQR09acCm5qQgDfDFiVa0BKOKQA.png?width=3840&height=2160 3840w\"},\"\")},{after:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/qnFDLgwAG7tCLsvgdUYM9x925sI.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/qnFDLgwAG7tCLsvgdUYM9x925sI.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/qnFDLgwAG7tCLsvgdUYM9x925sI.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/qnFDLgwAG7tCLsvgdUYM9x925sI.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/qnFDLgwAG7tCLsvgdUYM9x925sI.png?width=3840&height=2160 3840w\"},\"\"),before:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/nlcDkqJVOuJxN2OW1iAll6vZBU.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/nlcDkqJVOuJxN2OW1iAll6vZBU.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/nlcDkqJVOuJxN2OW1iAll6vZBU.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/nlcDkqJVOuJxN2OW1iAll6vZBU.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/nlcDkqJVOuJxN2OW1iAll6vZBU.png?width=3840&height=2160 3840w\"},\"\")},{after:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/A0A1cTxXfl7s2uLtGHbYUiEdXQk.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/A0A1cTxXfl7s2uLtGHbYUiEdXQk.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/A0A1cTxXfl7s2uLtGHbYUiEdXQk.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/A0A1cTxXfl7s2uLtGHbYUiEdXQk.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/A0A1cTxXfl7s2uLtGHbYUiEdXQk.png?width=3840&height=2160 3840w\"},\"\"),before:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/cw84wkz1c4ZgE7cesFYifOmUA.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/cw84wkz1c4ZgE7cesFYifOmUA.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/cw84wkz1c4ZgE7cesFYifOmUA.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/cw84wkz1c4ZgE7cesFYifOmUA.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/cw84wkz1c4ZgE7cesFYifOmUA.png?width=3840&height=2160 3840w\"},\"\")},{after:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/i0k1t3RR6EZPPpSnW7pjEKetDk.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/i0k1t3RR6EZPPpSnW7pjEKetDk.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/i0k1t3RR6EZPPpSnW7pjEKetDk.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/i0k1t3RR6EZPPpSnW7pjEKetDk.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/i0k1t3RR6EZPPpSnW7pjEKetDk.png?width=3840&height=2160 3840w\"},\"\"),before:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/Jv1vZZG0V5VR7lmWBSPhrzj70.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/Jv1vZZG0V5VR7lmWBSPhrzj70.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/Jv1vZZG0V5VR7lmWBSPhrzj70.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/Jv1vZZG0V5VR7lmWBSPhrzj70.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/Jv1vZZG0V5VR7lmWBSPhrzj70.png?width=3840&height=2160 3840w\"},\"\")},{after:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/VhxyLCO3gv5XbbUYR46ebpqOLu8.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/VhxyLCO3gv5XbbUYR46ebpqOLu8.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/VhxyLCO3gv5XbbUYR46ebpqOLu8.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/VhxyLCO3gv5XbbUYR46ebpqOLu8.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/VhxyLCO3gv5XbbUYR46ebpqOLu8.png?width=3840&height=2160 3840w\"},\"\"),before:addImageAlt({pixelHeight:2160,pixelWidth:3840,src:\"https://framerusercontent.com/images/gXa7m3HkxuIh01N3REI6k4m6L4.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/gXa7m3HkxuIh01N3REI6k4m6L4.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/gXa7m3HkxuIh01N3REI6k4m6L4.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/gXa7m3HkxuIh01N3REI6k4m6L4.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/gXa7m3HkxuIh01N3REI6k4m6L4.png?width=3840&height=2160 3840w\"},\"\")}],thumbnail:addImageAlt({pixelHeight:2160,pixelWidth:3840,positionX:\"59.9%\",positionY:\"37.2%\",src:\"https://framerusercontent.com/images/A0A1cTxXfl7s2uLtGHbYUiEdXQk.png?width=3840&height=2160\",srcSet:\"https://framerusercontent.com/images/A0A1cTxXfl7s2uLtGHbYUiEdXQk.png?scale-down-to=512&width=3840&height=2160 512w,https://framerusercontent.com/images/A0A1cTxXfl7s2uLtGHbYUiEdXQk.png?scale-down-to=1024&width=3840&height=2160 1024w,https://framerusercontent.com/images/A0A1cTxXfl7s2uLtGHbYUiEdXQk.png?scale-down-to=2048&width=3840&height=2160 2048w,https://framerusercontent.com/images/A0A1cTxXfl7s2uLtGHbYUiEdXQk.png?width=3840&height=2160 3840w\"},\"\"),title:\"Peter Chin: The Blood Remembers\",workTypes:[\"Editing\",\"2D Motion\",\"Colour\"],year:\"2025\"}],projectsMotion:[{brandName:\"For The Record\",category:\"TV\",featured:true,loopVideo:\"https://framerusercontent.com/assets/q5g7QZP9uVa41dQ1zt1hT3rIcc.mp4\",studioName:\"CBC\",thumbnail:addImageAlt({pixelHeight:1080,pixelWidth:1920,src:\"https://framerusercontent.com/images/SUi77Je7q0J388nsBzvuJu0w.png?width=1920&height=1080\",srcSet:\"https://framerusercontent.com/images/SUi77Je7q0J388nsBzvuJu0w.png?scale-down-to=512&width=1920&height=1080 512w,https://framerusercontent.com/images/SUi77Je7q0J388nsBzvuJu0w.png?scale-down-to=1024&width=1920&height=1080 1024w,https://framerusercontent.com/images/SUi77Je7q0J388nsBzvuJu0w.png?width=1920&height=1080 1920w\"},\"\"),workTypes:[\"2D Motion\",\"Design\"],year:\"2020\"},{brandName:\"Shoppers Drugmart\",category:\"Advertising\",featured:false,loopVideo:\"https://framerusercontent.com/assets/TnE0s2MroEiPOqw0rX9c7w8O0ko.mp4\",studioName:\"SJC\",thumbnail:addImageAlt({pixelHeight:1080,pixelWidth:1920,src:\"https://framerusercontent.com/images/XaodJmd3HBw2JFGV7tojQgw7nMw.png?width=1920&height=1080\",srcSet:\"https://framerusercontent.com/images/XaodJmd3HBw2JFGV7tojQgw7nMw.png?scale-down-to=512&width=1920&height=1080 512w,https://framerusercontent.com/images/XaodJmd3HBw2JFGV7tojQgw7nMw.png?scale-down-to=1024&width=1920&height=1080 1024w,https://framerusercontent.com/images/XaodJmd3HBw2JFGV7tojQgw7nMw.png?width=1920&height=1080 1920w\"},\"\"),workTypes:[\"2D Motion\"],year:\"2022\"},{brandName:\"The Conspiracy Show\",category:\"TV\",featured:true,loopVideo:\"https://framerusercontent.com/assets/E8lpDFSpkwJAp8yCJ5k4lLJK8mI.mp4\",studioName:\"Secret Location\",thumbnail:addImageAlt({pixelHeight:1080,pixelWidth:1920,src:\"https://framerusercontent.com/images/i6YLVLWi2L6dZEAQ7YORG9i2w.png?width=1920&height=1080\",srcSet:\"https://framerusercontent.com/images/i6YLVLWi2L6dZEAQ7YORG9i2w.png?scale-down-to=512&width=1920&height=1080 512w,https://framerusercontent.com/images/i6YLVLWi2L6dZEAQ7YORG9i2w.png?scale-down-to=1024&width=1920&height=1080 1024w,https://framerusercontent.com/images/i6YLVLWi2L6dZEAQ7YORG9i2w.png?width=1920&height=1080 1920w\"},\"\"),workTypes:[\"2D Motion\"],year:\"2010\"},{brandName:\"GM\",category:\"Advertising\",featured:false,loopVideo:\"https://framerusercontent.com/assets/D0KnDT67vuviaXGASWacjrPlY.mp4\",studioName:\"SJC\",thumbnail:addImageAlt({pixelHeight:1080,pixelWidth:1920,src:\"https://framerusercontent.com/images/FsP4m7sd6qnNdSfCiUuVT1omyDA.png?width=1920&height=1080\",srcSet:\"https://framerusercontent.com/images/FsP4m7sd6qnNdSfCiUuVT1omyDA.png?scale-down-to=512&width=1920&height=1080 512w,https://framerusercontent.com/images/FsP4m7sd6qnNdSfCiUuVT1omyDA.png?scale-down-to=1024&width=1920&height=1080 1024w,https://framerusercontent.com/images/FsP4m7sd6qnNdSfCiUuVT1omyDA.png?width=1920&height=1080 1920w\"},\"\"),workTypes:[],year:\"2025\"},{brandName:\"Pepsi\",category:\"Advertising\",featured:false,loopVideo:\"https://framerusercontent.com/assets/BP4yAAJBcVpBKZaUsxjPWnla1PY.mp4\",studioName:\"Make Marks\",thumbnail:addImageAlt({pixelHeight:1080,pixelWidth:1920,src:\"https://framerusercontent.com/images/Sbgp1KdzzK9OeneQoL9f1sjAI.png?width=1920&height=1080\",srcSet:\"https://framerusercontent.com/images/Sbgp1KdzzK9OeneQoL9f1sjAI.png?scale-down-to=512&width=1920&height=1080 512w,https://framerusercontent.com/images/Sbgp1KdzzK9OeneQoL9f1sjAI.png?scale-down-to=1024&width=1920&height=1080 1024w,https://framerusercontent.com/images/Sbgp1KdzzK9OeneQoL9f1sjAI.png?width=1920&height=1080 1920w\"},\"\"),workTypes:[],year:\"2025\"},{brandName:\"The Woke Reformation\",category:\"Documentary\",featured:true,loopVideo:\"https://framerusercontent.com/assets/2FLGZcT9nWJLXOUmJQm6Z5v4b2M.mp4\",studioName:\"The Signal Productions\",thumbnail:addImageAlt({pixelHeight:1080,pixelWidth:1920,src:\"https://framerusercontent.com/images/pysRn0mJ3ENcNl5cxOV8LALeMeE.png?width=1920&height=1080\",srcSet:\"https://framerusercontent.com/images/pysRn0mJ3ENcNl5cxOV8LALeMeE.png?scale-down-to=512&width=1920&height=1080 512w,https://framerusercontent.com/images/pysRn0mJ3ENcNl5cxOV8LALeMeE.png?scale-down-to=1024&width=1920&height=1080 1024w,https://framerusercontent.com/images/pysRn0mJ3ENcNl5cxOV8LALeMeE.png?width=1920&height=1080 1920w\"},\"\"),workTypes:[\"3D Motion\",\"Design\"],year:\"2022\"},{brandName:\"Peter Chin: The Blood Remembers\",category:\"Documentary\",featured:true,loopVideo:\"https://framerusercontent.com/assets/MPHUxq13wLioM4v7r57D7eGS1c.mp4\",studioName:\"Jiang Media\",thumbnail:addImageAlt({pixelHeight:1080,pixelWidth:1920,src:\"https://framerusercontent.com/images/g3zPGThvqnajOVZWvcF4j551jTY.png?width=1920&height=1080\",srcSet:\"https://framerusercontent.com/images/g3zPGThvqnajOVZWvcF4j551jTY.png?scale-down-to=512&width=1920&height=1080 512w,https://framerusercontent.com/images/g3zPGThvqnajOVZWvcF4j551jTY.png?scale-down-to=1024&width=1920&height=1080 1024w,https://framerusercontent.com/images/g3zPGThvqnajOVZWvcF4j551jTY.png?width=1920&height=1080 1920w\"},\"\"),workTypes:[\"2D Motion\"],year:\"2025\"},{brandName:\"All Things Reconsidered\",category:\"TV\",featured:true,loopVideo:\"https://framerusercontent.com/assets/pS3phSFKQOlsoOKiGxfqHVNhMx0.mp4\",studioName:\"National Progress Alliance\",thumbnail:addImageAlt({pixelHeight:1080,pixelWidth:1920,src:\"https://framerusercontent.com/images/yJHWSRv8MXQTv8Ab2PfXwoamk4.png?width=1920&height=1080\",srcSet:\"https://framerusercontent.com/images/yJHWSRv8MXQTv8Ab2PfXwoamk4.png?scale-down-to=512&width=1920&height=1080 512w,https://framerusercontent.com/images/yJHWSRv8MXQTv8Ab2PfXwoamk4.png?scale-down-to=1024&width=1920&height=1080 1024w,https://framerusercontent.com/images/yJHWSRv8MXQTv8Ab2PfXwoamk4.png?width=1920&height=1080 1920w\"},\"\"),workTypes:[\"2D Motion\"],year:\"2022\"},{brandName:\"Pendant\",category:\"Advertising\",featured:false,loopVideo:\"https://framerusercontent.com/assets/9SmpkYEF04cRcrjGW7Q2CS7nKU.mp4\",studioName:\"Lotic AI\",thumbnail:addImageAlt({pixelHeight:1080,pixelWidth:1920,src:\"https://framerusercontent.com/images/ZxHZChgBRQOI2ftkUfIr7UCrx6c.png?width=1920&height=1080\",srcSet:\"https://framerusercontent.com/images/ZxHZChgBRQOI2ftkUfIr7UCrx6c.png?scale-down-to=512&width=1920&height=1080 512w,https://framerusercontent.com/images/ZxHZChgBRQOI2ftkUfIr7UCrx6c.png?scale-down-to=1024&width=1920&height=1080 1024w,https://framerusercontent.com/images/ZxHZChgBRQOI2ftkUfIr7UCrx6c.png?width=1920&height=1080 1920w\"},\"\"),workTypes:[\"3D Motion\"],year:\"2024\"},{brandName:\"Budweiser\",category:\"Advertising\",featured:false,loopVideo:\"https://framerusercontent.com/assets/Umjt5ON5hNnBdy2tIux78wxtuQ.mp4\",studioName:\"Unreasonable Studios\",thumbnail:addImageAlt({pixelHeight:1080,pixelWidth:1920,src:\"https://framerusercontent.com/images/DGeSyO6Ca615cLBTPw7T6sxlHs.png?width=1920&height=1080\",srcSet:\"https://framerusercontent.com/images/DGeSyO6Ca615cLBTPw7T6sxlHs.png?scale-down-to=512&width=1920&height=1080 512w,https://framerusercontent.com/images/DGeSyO6Ca615cLBTPw7T6sxlHs.png?scale-down-to=1024&width=1920&height=1080 1024w,https://framerusercontent.com/images/DGeSyO6Ca615cLBTPw7T6sxlHs.png?width=1920&height=1080 1920w\"},\"\"),workTypes:[\"2D Motion\"],year:\"2019\"},{brandName:\"Mitsubishi\",category:\"Advertising\",featured:false,loopVideo:\"https://framerusercontent.com/assets/kWwmdkuVXOUmeV5Huss3kq22Y.mp4\",studioName:\"Crush Inc.\",thumbnail:addImageAlt({pixelHeight:1080,pixelWidth:1920,src:\"https://framerusercontent.com/images/4wpN4nDovtj9qN654ihLu6QKM.png?width=1920&height=1080\",srcSet:\"https://framerusercontent.com/images/4wpN4nDovtj9qN654ihLu6QKM.png?scale-down-to=512&width=1920&height=1080 512w,https://framerusercontent.com/images/4wpN4nDovtj9qN654ihLu6QKM.png?scale-down-to=1024&width=1920&height=1080 1024w,https://framerusercontent.com/images/4wpN4nDovtj9qN654ihLu6QKM.png?width=1920&height=1080 1920w\"},\"\"),workTypes:[\"3D Motion\"],year:\"2010\"},{brandName:\"Magnum\",category:\"Advertising\",featured:true,loopVideo:\"https://framerusercontent.com/assets/BHKLAfDUIIdDKoLwNudXEgHU.mp4\",studioName:\"Crush Inc.\",thumbnail:addImageAlt({pixelHeight:1080,pixelWidth:1920,src:\"https://framerusercontent.com/images/mQkXuVljfUDA9qRbC4I18MX284.png?width=1920&height=1080\",srcSet:\"https://framerusercontent.com/images/mQkXuVljfUDA9qRbC4I18MX284.png?scale-down-to=512&width=1920&height=1080 512w,https://framerusercontent.com/images/mQkXuVljfUDA9qRbC4I18MX284.png?scale-down-to=1024&width=1920&height=1080 1024w,https://framerusercontent.com/images/mQkXuVljfUDA9qRbC4I18MX284.png?width=1920&height=1080 1920w\"},\"\"),workTypes:[\"3D Motion\"],year:\"2011\"},{brandName:\"Red Bull\",category:\"Advertising\",featured:false,loopVideo:\"https://framerusercontent.com/assets/A8nB12ZAWHFFZ8aK6ofiUEzt5Q.mp4\",studioName:\"Secret Location\",thumbnail:addImageAlt({pixelHeight:1080,pixelWidth:1920,src:\"https://framerusercontent.com/images/pl7DQuHj4aafc4hBk0FhHGa2uI.png?width=1920&height=1080\",srcSet:\"https://framerusercontent.com/images/pl7DQuHj4aafc4hBk0FhHGa2uI.png?scale-down-to=512&width=1920&height=1080 512w,https://framerusercontent.com/images/pl7DQuHj4aafc4hBk0FhHGa2uI.png?scale-down-to=1024&width=1920&height=1080 1024w,https://framerusercontent.com/images/pl7DQuHj4aafc4hBk0FhHGa2uI.png?width=1920&height=1080 1920w\"},\"\"),workTypes:[],year:\"2014\"},{brandName:\"Ikea\",category:\"Advertising\",featured:false,loopVideo:\"https://framerusercontent.com/assets/uUDWQDXYRwgBu6vxID02Nai6Ro.mp4\",studioName:\"Crush Inc.\",thumbnail:addImageAlt({pixelHeight:1080,pixelWidth:1920,src:\"https://framerusercontent.com/images/ZbfYZqI9kKecsMZ8YbKzxgWLQQ.png?width=1920&height=1080\",srcSet:\"https://framerusercontent.com/images/ZbfYZqI9kKecsMZ8YbKzxgWLQQ.png?scale-down-to=512&width=1920&height=1080 512w,https://framerusercontent.com/images/ZbfYZqI9kKecsMZ8YbKzxgWLQQ.png?scale-down-to=1024&width=1920&height=1080 1024w,https://framerusercontent.com/images/ZbfYZqI9kKecsMZ8YbKzxgWLQQ.png?width=1920&height=1080 1920w\"},\"\"),workTypes:[\"3D Motion\"],year:\"2012\"},{brandName:\"TD\",category:\"Advertising\",featured:false,loopVideo:\"https://framerusercontent.com/assets/huwGp5ZGMiOr0Hp45vKIrDoLY.mp4\",studioName:\"SJC\",thumbnail:addImageAlt({pixelHeight:1080,pixelWidth:1920,src:\"https://framerusercontent.com/images/SpzAxIFqHKx2X5uzFa7Xw7c2V8.png?width=1920&height=1080\",srcSet:\"https://framerusercontent.com/images/SpzAxIFqHKx2X5uzFa7Xw7c2V8.png?scale-down-to=512&width=1920&height=1080 512w,https://framerusercontent.com/images/SpzAxIFqHKx2X5uzFa7Xw7c2V8.png?scale-down-to=1024&width=1920&height=1080 1024w,https://framerusercontent.com/images/SpzAxIFqHKx2X5uzFa7Xw7c2V8.png?width=1920&height=1080 1920w\"},\"\"),workTypes:[\"2D Motion\"],year:\"2019\"}],style:{width:\"100%\"},width:\"100%\"})})})})})}),/*#__PURE__*/_jsx(\"div\",{id:\"overlay\"})]})});});const css=[\".framer-dwJOn.framer-lux5qc, .framer-dwJOn .framer-lux5qc { display: block; }\",\".framer-dwJOn.framer-72rtr7 { align-content: flex-start; align-items: flex-start; background-color: #07080c; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 1200px; }\",\".framer-dwJOn .framer-sctihp-container { flex: none; height: auto; position: relative; width: 100%; }\",\"@media (min-width: 810px) and (max-width: 1199.98px) { .framer-dwJOn.framer-72rtr7 { width: 810px; }}\",\"@media (max-width: 809.98px) { .framer-dwJOn.framer-72rtr7 { width: 390px; }}\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 4813\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"h7YRYQkIf\":{\"layout\":[\"fixed\",\"auto\"]},\"LWjXhrqq5\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerAcceptsLayoutTemplate true\n * @framerScrollSections false\n * @framerResponsiveScreen true\n * @framerLayoutTemplateFlowEffect true\n */const FrameraugiA20Il=withCSS(Component,css,\"framer-dwJOn\");export default FrameraugiA20Il;FrameraugiA20Il.displayName=\"Home\";FrameraugiA20Il.defaultProps={height:4813,width:1200};addFonts(FrameraugiA20Il,[{explicitInter:true,fonts:[]},...MFHomepageFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FrameraugiA20Il\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerAutoSizeImages\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"h7YRYQkIf\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"LWjXhrqq5\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerScrollSections\":\"false\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1200\",\"framerResponsiveScreen\":\"true\",\"framerLayoutTemplateFlowEffect\":\"true\",\"framerColorSyntax\":\"true\",\"framerAcceptsLayoutTemplate\":\"true\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"4813\"}},\"queryParamNames\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (80f113d)\nconst snippets=[];const queryLoaders={};export const snippetsSorting={bodyEnd:[\"Y04Jd7GtQ\"],bodyStart:[],headEnd:[],headStart:[]};export async function getSnippets(pageId,pathVariables,activeLocale){const queryLoader=queryLoaders[pageId];const params=queryLoader?await queryLoader(pathVariables,activeLocale):undefined;const result={bodyEnd:[],bodyStart:[],headEnd:[],headStart:[]};for(const snippet of snippets){if(snippet.pageIds&&!snippet.pageIds.has(pageId))continue;const code=snippet.code(params);if(code){result[snippet.placement].push({...snippet,code});}}return result;}\nexport const __FramerMetadata__ = {\"exports\":{\"snippetsSorting\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getSnippets\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mEAAc,CAAC,CAAC,EAAE,IAAqB,EAAK,QAAQ,CAAC,wBAAwB,CAAC,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}