/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:"IBM Plex Mono", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.block{display:block}.contents{display:contents}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.overline{text-decoration-line:overline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{color-scheme:dark;--ink:#0b0b0c;--paper:#e8e4da;--muted:#a8a69e;--rule:#35352f;--accent:#ff5c26;--display:"Syne",Arial,sans-serif;--mono:"IBM Plex Mono",monospace}*{box-sizing:border-box}html{background:var(--ink);scroll-padding-top:100px}body{color:var(--paper);background:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px}button,a,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0}button:disabled{cursor:default}button,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex="-1"]:focus-visible{outline:2px solid var(--accent);outline-offset:6px}section[tabindex="-1"]:focus,main[tabindex="-1"]:focus{outline:none}::selection{color:#0b0b0c;background:var(--accent)}p,h1,h2,h3,h4{margin:0}img{max-width:100%;display:block}.mono{font-family:var(--mono);letter-spacing:.045em;text-transform:uppercase;font-size:10px;line-height:1.7}.muted{color:#96978d}.accent{color:var(--accent)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;background:var(--accent);color:var(--ink);padding:14px 22px;position:fixed;top:-90px;left:20px}.skip-link:focus{top:16px}.portfolio{position:relative;overflow:clip}.world{z-index:0;background:var(--ink);height:100dvh;position:fixed;inset:0}.webgl-stage{touch-action:pan-y pinch-zoom;opacity:0;transition:opacity 1.1s;position:absolute;inset:0}.has-three .webgl-stage{opacity:1}.forge-poster{opacity:.92;width:68vw;height:92vh;transition:opacity .7s;position:absolute;top:8vh;right:-5vw}.forge-poster svg{width:100%;height:100%}.has-three .forge-poster{opacity:0}[data-chapter=about] .forge-poster,[data-chapter=skills] .forge-poster{width:65vw;right:40vw}[data-chapter=projects] .forge-poster{opacity:.16}.world-vignette{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 160px 65px #0b0b0c88}.film-grain{z-index:30;pointer-events:none;opacity:.022;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.7' d='M0 0h180v180H0z'/%3E%3C/svg%3E");width:100%;height:100%;position:fixed;inset:0}.site-header{z-index:50;background:#0b0b0cf5;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;height:88px;padding:0 4.3vw;display:flex;position:fixed;top:0;left:0;right:0}.wordmark{font-family:var(--display);letter-spacing:-.07em;align-items:center;min-height:44px;font-size:23px;font-weight:800;display:flex}.wordmark-period{color:var(--accent)}.forge-mark{align-items:center;gap:3px;margin-right:12px;display:flex;transform:skew(-18deg)}.forge-mark i{background:var(--accent);width:5px;height:21px;display:block}.forge-mark i:nth-child(2){height:29px}.forge-mark i:nth-child(3){height:16px}.site-header nav{align-items:center;gap:28px;display:flex}.site-header nav a{color:#aaa9a2;align-items:center;min-height:44px;font-size:12px;transition:color .2s;display:flex;position:relative}.site-header nav a:after{content:"";background:var(--accent);width:3px;height:3px;transition:transform .2s;position:absolute;bottom:3px;left:0;transform:scale(0)}.site-header nav a[aria-current],.site-header nav a:hover{color:var(--paper)}.site-header nav a[aria-current]:after{transform:scale(1)}.header-contact{font-family:var(--mono);align-items:center;gap:25px;min-height:44px;font-size:10px;display:flex}.arrow{fill:none;stroke:currentColor;stroke-width:1.4px;flex-shrink:0;width:21px;height:21px}.arrow.down{width:18px;height:18px;transform:rotate(135deg)}.scroll-line{background:var(--accent);transform-origin:0;width:100%;height:2px;position:absolute;bottom:-1px;left:0;transform:scaleX(0)}main{z-index:10;pointer-events:none;position:relative}main a,main button,main details,.text-panel,.project-visual{pointer-events:auto}.chapter{margin:0 4.3vw;scroll-margin-top:90px;position:relative}.hero{flex-direction:column;min-height:100svh;padding-top:128px;display:flex}.hero-kicker{color:#a8a79e;justify-content:space-between;align-items:center;margin-bottom:21px;display:flex}.hero-kicker span:last-child{color:var(--accent)}.hero-name{font-family:var(--display);text-transform:uppercase;letter-spacing:-.08em;z-index:2;width:max-content;max-width:100%;font-weight:800;line-height:.87;position:relative}.hero-name .line-mask{margin-bottom:-.08em;padding:0 .07em .08em 0;display:block;overflow:hidden}.hero-name .line-inner{white-space:nowrap;display:block}.hero-name .line-mask:first-child{font-size:clamp(60px,7.9vw,126px)}.hero-name .line-mask:last-child{font-size:clamp(80px,11.1vw,178px)}.hero-bottom{flex:1;justify-content:space-between;align-items:flex-end;margin-top:30px;padding-bottom:35px;display:flex}.hero-copy{width:450px;max-width:44%}.role{color:#c7c5bb;align-items:center;gap:9px;font-size:9px;display:flex}.role>span{background:var(--accent);flex-shrink:0;width:5px;height:5px}.hero-copy h2{font-family:var(--display);letter-spacing:-.035em;max-width:440px;margin-top:17px;font-size:clamp(21px,2.15vw,32px);font-weight:500;line-height:1.2}.hero-copy .intro{color:#aaa99f;max-width:360px;margin-top:14px;font-size:13px;line-height:1.7}.hero-actions{align-items:center;gap:23px;margin-top:25px;display:flex}.button-solid{background:var(--accent);color:#15110d;justify-content:space-between;align-items:center;gap:28px;min-height:49px;padding:15px 18px;font-size:12px;font-weight:700;transition:background .25s,color .25s;display:inline-flex}.button-solid:hover{background:var(--paper)}.text-link{align-items:center;gap:16px;min-height:44px;font-size:12px;transition:color .2s;display:inline-flex}.text-link:hover{color:var(--accent)}.text-link .arrow{width:16px;height:16px}.object-caption{text-align:right;color:#93958a;gap:4px;margin-right:3vw;font-size:8px;display:grid}.object-caption span:first-child{color:var(--accent)}.hero-footer{border-top:1px solid var(--rule);color:#a8a79e;justify-content:space-between;align-items:center;min-height:64px;display:flex}.hero-footer a{align-items:center;gap:25px;min-height:44px;display:flex}.chapter-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#b0afa6;align-items:center;gap:22px;font-size:10px;display:flex;position:absolute;top:80px;left:0;right:0}.chapter-label>span{color:var(--accent)}.chapter-label:after{content:"";background:var(--rule);flex:1;height:1px;margin-left:20px}.chapter-numeral{font-family:var(--display);letter-spacing:-.09em;color:#0000;-webkit-text-stroke:1px #4d4e43;opacity:.5;font-size:clamp(120px,19vw,300px);font-weight:500;line-height:1;position:absolute;top:105px;left:0}.about{justify-content:flex-end;align-items:center;min-height:105svh;padding:210px 0 140px;display:flex}.about-copy{width:47%;max-width:610px}.overline{color:var(--accent);margin-bottom:22px}.display-heading{font-family:var(--display);letter-spacing:-.065em;margin-bottom:30px;font-size:clamp(45px,5.5vw,88px);font-weight:600;line-height:1.02}.display-heading>span{display:block}.about-copy>p:not(.overline){color:#b6b4aa;max-width:465px;margin-bottom:18px;font-size:16px;line-height:1.8}.about-signoff{border-top:1px solid var(--rule);justify-content:space-between;align-items:center;max-width:465px;margin-top:34px;padding-top:27px;display:flex}.signature{font-family:var(--display);letter-spacing:-.08em;font-size:31px;font-weight:500;transform:rotate(-7deg)}.about-signoff .mono{color:var(--muted);font-size:8px}.skills{justify-content:flex-end;min-height:140svh;padding:200px 0 135px;display:flex}.skills-copy{width:47%;max-width:610px}.skill-group{border-top:1px solid var(--rule);padding:19px 0 18px}.skill-group-heading{align-items:center;gap:17px;display:flex}.skill-group-heading .mono{color:#b6b3a9;font-size:9px}.skill-group h3{font-family:var(--display);letter-spacing:-.045em;font-size:22px;font-weight:500}.skill-group>p{color:#aaa89f;margin:8px 0 10px;font-size:12px;line-height:1.6}.skill-names{flex-wrap:wrap;gap:6px 16px;display:flex}.skill-names button{background:0 0;border-bottom:1px solid #57574d;align-items:center;gap:16px;min-height:44px;padding:0;font-size:13px;transition:color .2s,border-color .2s;display:flex}.skill-names button span{color:#888b7b;font-size:14px}.skill-names button[aria-pressed=true],.skill-names button:hover{color:var(--accent);border-color:var(--accent)}.skill-detail{border-left:2px solid var(--accent);min-height:112px;margin-top:19px;padding-left:19px}.skill-detail .mono{color:var(--accent);font-size:9px}.skill-detail p{color:#c9c6bb;margin-top:9px;font-size:14px;line-height:1.7}.skill-detail .text-link{margin-top:6px;font-size:11px}.parts-note{color:#a8a89e;font-size:9px;position:absolute;bottom:120px;left:2vw}.physical-label{font:9px var(--mono);white-space:nowrap;min-height:44px;color:var(--paper);background:#12130ff2;border:1px solid #5a5b4d;align-items:center;gap:20px;padding:12px 16px;display:flex}.physical-label:hover,.physical-label:focus-visible{border-color:var(--accent);color:var(--accent)}.physical-label span{color:var(--accent)}.projects{min-height:180svh;padding-top:200px;padding-bottom:100px}.project-intro{width:44%}.project-title{font-family:var(--display);letter-spacing:-.075em;white-space:nowrap;margin:22px 0 15px;font-size:clamp(55px,7.1vw,112px);font-weight:700;line-height:1.1}.project-title>span{vertical-align:top;color:var(--accent);margin-left:10px;padding-top:8px;font-size:24px;display:inline-block}.project-tagline{font-family:var(--display);letter-spacing:-.04em;margin-bottom:17px;font-size:25px}.project-intro>p:not(.mono):not(.project-tagline){color:#aaa99f;max-width:410px;font-size:15px;line-height:1.8}.project-links{align-items:center;gap:25px;margin-top:30px;display:flex}.project-role{color:#a7a79d;margin-top:42px;font-size:9px;line-height:2}.project-visual{width:52%;margin:85px 0 110px auto;position:relative}.project-screenshot{background:#1a1a16;border:1px solid #55564a;width:100%;padding:9px;transition:transform .7s cubic-bezier(.16,1,.3,1);display:block;position:relative;transform:perspective(1100px)rotateY(-5deg)rotateX(2deg);box-shadow:15px 22px 0 -1px #161712,15px 22px #3f4136}.project-screenshot:hover{transform:perspective(1100px)rotateY(0)rotateX(0)}.project-screenshot img{width:100%;height:auto}.screenshot-action{background:var(--paper);color:var(--ink);align-items:center;gap:25px;padding:10px 13px;font-size:8px;display:flex;position:absolute;bottom:24px;left:24px}.screenshot-action .arrow{width:15px;height:15px}.image-caption{color:#999b8e;margin-top:41px;font-size:8px;display:block}.case-study{background:#0b0b0cf2;border-top:1px solid #59594c;grid-template-columns:1fr 2fr;gap:8vw;padding-top:36px;display:grid;box-shadow:0 0 90px 50px #0b0b0c}.case-meta .mono{color:var(--accent);font-size:9px}.case-meta>p{font-family:var(--display);letter-spacing:-.045em;margin-top:24px;font-size:30px;line-height:1.2}.case-overview{grid-template-columns:1fr 1fr;gap:35px;display:grid}.case-body h3{color:#b7b5a9;font-size:9px;font-weight:400}.case-overview p{color:#c5c2b7;margin-top:15px;font-size:14px;line-height:1.85}.feature-row,.stack-row{border-bottom:1px solid var(--rule);grid-template-columns:110px 1fr;gap:22px;padding:26px 0;display:grid}.feature-row{margin-top:18px}.feature-row ul{color:#c9c6ba;flex-wrap:wrap;gap:12px 22px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.feature-row li:before{content:"+";color:var(--accent);margin-right:7px}.stack-row p{color:#c9c6ba;font-size:12px;line-height:1.8}.decisions{margin-top:35px}.decisions>h3{color:var(--accent);margin-bottom:15px}.decisions details{border-bottom:1px solid var(--rule)}.decisions summary{cursor:pointer;align-items:center;gap:17px;min-height:66px;padding:21px 0;list-style:none;display:flex}.decisions summary::-webkit-details-marker{display:none}.decisions summary>.mono{color:#85877a;font-size:9px}.decisions summary>span:nth-child(2){font-family:var(--display);letter-spacing:-.035em;font-size:19px;line-height:1.4}.detail-plus{color:var(--accent);margin-left:auto;font-size:24px;transition:transform .3s}.decisions details[open] .detail-plus{transform:rotate(45deg)}.decision-content{padding:0 30px 20px}.decision-content p{color:#b0aea3;margin-bottom:12px;font-size:13px;line-height:1.8}.decision-content strong{color:#ddd8cc;font-weight:400}.evidence-note{color:#999b8f;max-width:670px;margin-top:25px;font-size:11px;line-height:1.8}.image-dialog{max-width:min(1080px,94vw);max-height:90vh;color:var(--paper);background:#10110e;border:1px solid #626355;margin:auto;padding:18px;box-shadow:0 20px 100px #000}.image-dialog::backdrop{background:#080807ed}.image-dialog>div{justify-content:space-between;align-items:center;gap:20px;margin-bottom:13px;display:flex}.image-dialog button{font:10px var(--mono);background:0 0;align-items:center;gap:20px;min-height:44px;padding:0 8px;display:flex}.image-dialog button span{color:var(--accent);font-size:25px}.image-dialog img{object-fit:contain;width:auto;max-height:70vh;margin:auto}.image-dialog>p{color:var(--muted);margin-top:13px;font-size:11px}.contact{flex-direction:column;justify-content:space-between;min-height:105svh;padding-top:230px;padding-bottom:70px;display:flex}.contact-copy{position:relative}.contact-title{font-family:var(--display);letter-spacing:-.065em;font-size:clamp(62px,8.8vw,140px);font-weight:600;line-height:1.02}.contact-title>span{display:block}.contact-intro{color:#b4b1a5;max-width:350px;margin-top:30px;font-size:14px;line-height:1.7}.email-link{font-family:var(--display);letter-spacing:-.045em;border-bottom:1px solid #88897d;align-items:center;gap:45px;min-height:60px;margin-top:27px;font-size:clamp(20px,2.4vw,36px);display:inline-flex}.email-link:hover{color:var(--accent);border-color:var(--accent)}.email-link .arrow{width:26px;height:26px}.contact-links{align-items:center;gap:30px;margin-top:15px;display:flex}.copy-email{font:10px var(--mono);color:#9c9d90;background:0 0;min-height:44px}.copy-email:hover{color:var(--accent)}.copy-status{color:#c4c2b5;min-height:27px;font-size:12px;line-height:1.7}.contact-location{color:#97988b;margin-top:40px;font-size:9px}.site-footer{z-index:15;border-top:1px solid var(--rule);color:#aaa99d;justify-content:space-between;align-items:center;margin:0 4.3vw;padding:24px 0 86px;display:flex;position:relative}.site-footer .mono{font-size:8px}.view-controls{z-index:55;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;bottom:21px;left:4.3vw;right:4.3vw}.view-toggle{pointer-events:auto;min-height:40px;font:9px var(--mono);text-transform:uppercase;color:#c9c7bb;background:#12130fed;border:1px solid #4d4f42;align-items:center;gap:16px;padding:0 14px;display:flex}.view-dot{background:var(--accent);width:5px;height:5px;display:block}.scroll-counter{color:#b2b3a7;background:#0b0b0cbb;padding:6px 10px;font-size:9px}.scene-loader{z-index:60;background:#10110ff5;border:1px solid #555648;gap:12px;min-width:240px;padding:16px 18px;display:grid;position:fixed;bottom:78px;right:4.3vw}.scene-loader .mono{font-size:8px}.scene-loader progress{width:100%;height:2px;accent-color:var(--accent)}.scene-loader button{text-align:left;font:10px var(--mono);min-height:35px;color:var(--accent);background:0 0;justify-content:space-between;display:flex}.custom-cursor{z-index:150;background:var(--accent);pointer-events:none;opacity:0;width:10px;height:10px;font:9px var(--mono);color:#0b0b0c;border-radius:50%;justify-content:center;align-items:center;margin-top:-5px;margin-left:-5px;transition:width .25s,height .25s,margin .25s,opacity .2s;display:flex;position:fixed;top:0;left:0}.custom-cursor.visible{opacity:1}.custom-cursor.is-link{background:#ff5c26dd;width:62px;height:62px;margin-top:-31px;margin-left:-31px}.static-mode .custom-cursor{display:none}@media(min-width:1600px){.chapter,.site-footer{max-width:1600px;margin-left:auto;margin-right:auto}.hero{padding-top:145px}.hero-name .line-mask:first-child{font-size:126px}.hero-name .line-mask:last-child{font-size:178px}}@media(max-width:1100px){.site-header nav{gap:20px}.hero-name .line-mask:first-child{font-size:7.9vw}.hero-name .line-mask:last-child{font-size:11.1vw}.hero-copy{max-width:48%}.hero-copy h2{font-size:26px}.about-copy,.skills-copy{width:49%}.case-study{grid-template-columns:1fr 2.2fr;gap:4vw}.case-meta>p{font-size:24px}.project-title{font-size:7vw}.project-links{gap:20px}.project-intro{width:47%}.case-overview{gap:25px}.skills{padding-top:185px}.project-screenshot{transform:perspective(1100px)rotateY(-4deg)}}@media(max-width:767px){html{scroll-padding-top:115px}.site-header{grid-template-columns:1fr 1fr;align-content:start;row-gap:3px;height:101px;padding:13px 6vw 0;display:grid}.wordmark{min-height:31px;font-size:21px}.forge-mark i{width:4px;height:16px}.forge-mark i:nth-child(2){height:23px}.forge-mark i:nth-child(3){height:13px}.header-contact{grid-area:1/2;justify-self:end;gap:15px;min-height:31px;font-size:8px}.header-contact .arrow{width:17px}.site-header nav{grid-area:2/1/auto/-1;justify-content:space-between;gap:0}.site-header nav a{min-height:44px;font-size:11px}.site-header nav a:after{bottom:4px}.chapter{margin:0 6vw;scroll-margin-top:115px}.hero{min-height:1100px;padding-top:130px}.hero-kicker{gap:8px;margin-bottom:24px}.hero-kicker .mono{font-size:7px}.hero-name .line-mask:first-child{font-size:7.6vw}.hero-name .line-mask:last-child{font-size:10.8vw}.hero-bottom{flex:0;margin-top:0;padding-top:320px;padding-bottom:30px;display:block}.hero-copy{width:100%;max-width:100%}.hero-copy h2{max-width:360px;font-size:30px}.role{font-size:8px}.hero-copy .intro{max-width:320px;font-size:13px}.hero-actions{gap:25px;margin-top:24px}.button-solid{gap:22px;padding:14px 16px;font-size:11px}.text-link{gap:13px;font-size:11px}.object-caption{margin:0;font-size:7px;position:absolute;top:475px;right:0}.hero-footer{align-items:center;gap:14px;min-height:83px;margin-top:auto;font-size:7px}.hero-footer>span{max-width:145px}.hero-footer a{text-align:right;gap:10px;font-size:7px}.forge-poster{width:125vw;height:650px;top:100px;right:-13vw}.world-vignette{box-shadow:inset 0 0 80px 20px #0b0b0c77}.chapter-label{gap:18px;font-size:9px;top:55px}.chapter-label:after{margin-left:5px}.chapter-numeral{opacity:.4;font-size:130px;top:94px}.about{min-height:1050px;padding-top:440px;padding-bottom:95px}.about-copy{width:100%;max-width:none}.display-heading{letter-spacing:-.07em;margin-bottom:24px;font-size:54px}.overline{margin-bottom:19px;font-size:8px}.about-copy>p:not(.overline){max-width:none;font-size:14px;line-height:1.8}.about-signoff{margin-top:28px;padding-top:22px}.signature{font-size:29px}.about-signoff .mono{font-size:7px}.skills{min-height:1300px;padding-top:370px;padding-bottom:90px}.skills-copy{width:100%;max-width:none}.skill-group{padding:16px 0}.skill-group h3{font-size:22px}.skill-group>p{font-size:12px}.skill-names{gap:4px 22px}.skill-names button{gap:14px;font-size:13px}.skill-detail p{font-size:13px}.parts-note{font-size:8px;top:285px;bottom:auto;left:0}.projects{min-height:0;padding-top:155px;padding-bottom:65px}.project-intro{width:100%}.project-title{margin-top:14px;font-size:15vw}.project-title>span{margin-left:6px;font-size:19px}.project-tagline{font-size:23px}.project-intro>p:not(.mono):not(.project-tagline){max-width:340px;font-size:14px}.project-links{gap:22px}.project-role{margin-top:26px;font-size:8px}.project-visual{width:calc(100% - 12px);margin:285px 12px 70px 0}.project-screenshot{padding:5px;box-shadow:10px 14px 0 -1px #161712,10px 14px #3f4136}.screenshot-action{gap:15px;padding:7px 9px;font-size:7px;bottom:13px;left:13px}.image-caption{margin-top:29px;font-size:7px}.case-study{grid-template-columns:1fr;gap:35px;padding-top:25px;box-shadow:0 0 50px 25px #0b0b0c}.case-meta{justify-content:space-between;align-items:flex-start;gap:22px;display:flex}.case-meta>p{margin:0;font-size:22px}.case-meta .mono{font-size:8px}.case-overview{grid-template-columns:1fr;gap:25px}.case-overview p{margin-top:11px;font-size:14px;line-height:1.75}.feature-row,.stack-row{grid-template-columns:1fr;gap:15px;padding:23px 0}.feature-row ul{gap:12px 20px;font-size:12px}.decisions summary{gap:12px;padding:19px 0}.decisions summary>span:nth-child(2){font-size:18px}.decision-content{padding:0 0 19px 25px}.evidence-note{font-size:10px;line-height:1.8}.contact{min-height:850px;padding-top:175px;padding-bottom:75px}.contact-title{letter-spacing:-.065em;font-size:13.2vw}.contact-intro{max-width:290px;margin-top:26px;font-size:13px}.email-link{letter-spacing:-.055em;gap:20px;min-height:58px;font-size:6.7vw}.email-link .arrow{width:21px;height:21px}.contact-links{flex-wrap:wrap;gap:25px}.copy-email{font-size:8px}.contact-location{max-width:200px;font-size:8px}.site-footer{grid-template-columns:1fr auto;gap:14px;margin:0 6vw;padding:20px 0 85px;display:grid}.site-footer>.mono:nth-child(2){grid-row:2;font-size:7px}.site-footer>a{grid-area:1/2/3}.site-footer .mono{font-size:7px;line-height:1.8}.view-controls{bottom:15px;left:6vw;right:6vw}.view-toggle{gap:12px;min-height:39px;padding:0 12px;font-size:8px}.scroll-counter{font-size:8px}.custom-cursor{display:none}.scene-loader{min-width:220px;padding:12px 14px;bottom:69px;right:6vw}.scene-loader .mono{font-size:7px}.image-dialog{padding:12px}.image-dialog .mono{font-size:8px}.image-dialog>div{gap:10px}.image-dialog>p{font-size:10px}.film-grain{opacity:.025}[data-chapter=about] .forge-poster,[data-chapter=skills] .forge-poster{width:125vw;height:600px;top:75px;right:-13vw}.static-mode .project-visual{margin-top:65px}.static-mode .about,.static-mode .skills{padding-top:300px}.static-mode .parts-note{top:220px}.static-mode[data-chapter=about] .forge-poster,.static-mode[data-chapter=skills] .forge-poster{opacity:.18}.static-mode .contact{min-height:750px}}@media(max-width:359px){.hero{min-height:1050px}.hero-bottom{padding-top:290px}.hero-copy h2{font-size:26px}.role{font-size:7px}.hero-actions{gap:16px}.button-solid{gap:16px;font-size:10px}.hero-kicker .mono{font-size:6px}.display-heading{font-size:48px}.email-link{gap:15px;font-size:6.5vw}.project-links{gap:17px}.feature-row ul{font-size:11px}.case-meta>p{font-size:19px}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.custom-cursor{display:none!important}.project-screenshot{transform:none}}.has-poster .about-copy,.has-poster .skills-copy{background:#0b0b0cef;box-shadow:0 0 65px 30px #0b0b0cef}@media(max-width:767px){.forge-poster{height:570px;top:70px}.view-controls{justify-content:flex-end;min-height:44px;margin:-65px 6vw 20px;position:relative;inset:auto}.scroll-counter{display:none}.has-poster .about-copy,.has-poster .skills-copy{box-shadow:0 0 30px 20px #0b0b0cef}}.has-poster[data-chapter=contact] .forge-poster{opacity:.2}@media(pointer:fine){.custom-pointer,.custom-pointer a,.custom-pointer button,.custom-pointer summary{cursor:none}}.webgl-stage canvas{touch-action:pan-y pinch-zoom}.experience-options{pointer-events:auto;flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.scene-loader p{max-width:270px;font-size:12px;line-height:1.6}.portfolio[data-motion=gentle] .custom-cursor{display:none}.portfolio[data-motion=gentle] .project-screenshot{transform:none}@media(pointer:coarse){.webgl-stage{pointer-events:none}}@media(max-width:767px){.view-controls{bottom:max(12px,env(safe-area-inset-bottom))}.scroll-counter{display:none}.experience-options{margin-left:auto}.view-toggle{gap:7px;min-height:44px;padding:0 9px;font-size:8px}}input,select,textarea{font:inherit;color:inherit;max-width:100%}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}main input,main select,main textarea,main form,main label{pointer-events:auto}.hero-copy{background:linear-gradient(90deg,#0b0b0cf2 70%,#0b0b0c55);width:565px;max-width:50%}.hero-copy h1{font-family:var(--display);letter-spacing:-.035em;max-width:565px;margin-top:16px;font-size:clamp(22px,2.1vw,33px);font-weight:500;line-height:1.18}.hero-copy .intro{max-width:490px}.enquiry-actions{flex-wrap:wrap;align-items:center;gap:12px 20px;margin:24px 0 8px;display:flex}.enquiry-actions .button-solid,.enquiry-actions .button-outline{gap:18px;font-size:12px}.button-outline{border:1px solid #898a7b;justify-content:space-between;align-items:center;gap:24px;min-height:49px;padding:14px 18px;font-size:12px;transition:background .2s,color .2s;display:inline-flex}.button-outline:hover{background:var(--paper);color:var(--ink)}.home-services{border-top:1px solid var(--rule);margin:28px 0 14px;padding-top:22px}.home-services h3{font:500 23px var(--display);letter-spacing:-.04em;margin-bottom:10px}.home-services ul{grid-template-columns:1fr 1fr;gap:8px 16px;padding:0;list-style:none;display:grid}.home-services li a{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:8px;min-height:44px;font-size:13px;display:flex}.home-services li a:hover{color:var(--accent)}.case-link{margin-top:12px}.direct-contact{overflow-wrap:anywhere;gap:4px;margin-top:22px;font-size:15px;line-height:1.8;display:grid}.direct-contact a{text-underline-offset:5px;align-items:center;width:fit-content;min-height:44px;text-decoration:underline;display:flex}.direct-contact p{color:var(--muted);margin:8px 0;font-size:13px}.contact-copy .direct-contact{margin-top:12px}.home-footer-links{flex-wrap:wrap;gap:8px 18px;max-width:460px;display:flex}.home-footer-links a{align-items:center;min-height:44px;font-size:12px;display:flex}.analytics-choice{max-width:480px;color:var(--muted);font-size:12px;line-height:1.8}.site-footer .analytics-choice{flex-basis:100%}.site-footer{flex-wrap:wrap}.mobile-contact{display:none}.marketing-shell{background:var(--ink);min-height:100vh}.marketing-header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:24px;min-height:88px;padding:16px 4.3vw;display:flex}.marketing-header nav{align-items:center;gap:28px;display:flex}.marketing-header nav a{min-height:44px;color:var(--muted);align-items:center;font-size:13px;display:flex}.marketing-header a:hover,.marketing-header a[aria-current]{color:var(--accent)}.marketing-main{pointer-events:auto;max-width:1348px;margin:auto;padding:0 4.3vw}.breadcrumbs{font-family:var(--mono);color:var(--muted);padding:20px 0;font-size:10px}.breadcrumbs ol{flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li{align-items:center;gap:14px;min-height:44px;display:flex}.breadcrumbs li+li:before{content:"/";color:#77796d}.breadcrumbs a{text-underline-offset:4px;align-items:center;min-height:44px;text-decoration:underline;display:flex}.marketing-hero{max-width:1050px;padding:60px 0 80px}.marketing-hero h1{font:600 clamp(42px,5.8vw,83px)/1.07 var(--display);letter-spacing:-.065em;text-wrap:balance;max-width:1030px}.marketing-lead{color:#c7c5bb;max-width:720px;margin-top:28px;font-size:18px;line-height:1.85}.marketing-lead a{text-underline-offset:4px;text-decoration:underline}.marketing-section{border-top:1px solid var(--rule);padding:65px 0}.marketing-section h2,.project-proof h2,.quote-cta h2{font:500 clamp(29px,3.4vw,48px)/1.15 var(--display);letter-spacing:-.045em;max-width:750px;margin-bottom:24px}.marketing-section p,.project-proof p,.quote-cta>p:not(.overline){color:#bab8ae;max-width:720px;margin:14px 0;font-size:15px;line-height:1.85}.marketing-section .overline,.project-proof .overline,.quote-cta .overline{color:var(--accent);margin:0 0 20px;font-size:10px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin-top:35px;display:grid}.service-card{border-top:1px solid var(--rule);padding:28px 0;display:block}.service-card>.mono{color:var(--muted)}.service-card h3{font:500 clamp(23px,2.4vw,32px)/1.3 var(--display);letter-spacing:-.04em;justify-content:space-between;gap:18px;margin:18px 0;display:flex}.service-card h3 span{color:var(--accent)}.service-card p{max-width:440px}.service-card .text-link{text-underline-offset:5px;text-decoration:underline}.service-card:hover h3{color:var(--accent)}.project-proof{background:#151511;border:1px solid #3c3e32;grid-template-columns:1fr 1fr;align-items:center;gap:6vw;margin:20px 0 65px;padding:55px 35px;display:grid}.project-proof img{border:1px solid #535547;width:100%;height:auto}.project-proof .text-link{color:var(--paper);margin-top:8px}.split-copy{grid-template-columns:1fr 1fr;gap:7vw;display:grid}.marketing-section .small-heading{font-size:28px}.deliverables{padding:0;list-style:none}.deliverables li{border-bottom:1px solid var(--rule);color:#c6c3b7;padding:13px 0 13px 24px;font-size:15px;line-height:1.7;position:relative}.deliverables li:before{content:"↗";color:var(--accent);position:absolute;left:0}.process-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 32px;margin:20px 0;padding:0;list-style:none;display:grid}.process-list li{border-top:1px solid var(--rule);padding:22px 0}.process-list li>.mono{color:var(--accent)}.process-list h3{font:500 22px/1.3 var(--display);letter-spacing:-.03em;margin:15px 0 10px}.process-list p{font-size:14px}.marketing-section .scope-note{color:var(--muted);max-width:850px;font-size:12px}.faq-section details{border-top:1px solid var(--rule);max-width:920px;padding:0}.faq-section summary{cursor:pointer;justify-content:space-between;gap:24px;padding:20px 0;font-size:17px;line-height:1.6;list-style:none;display:flex}.faq-section summary::-webkit-details-marker{display:none}.faq-section summary span{color:var(--accent)}.faq-section details p{margin:0 0 25px}.quote-cta{border-top:1px solid var(--accent);padding:55px 0 70px}.case-image{margin:0 0 65px}.case-image img{border:1px solid var(--rule);width:100%;height:auto}.case-image figcaption{color:var(--muted);margin:18px 0}.case-decisions{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:35px 0;display:grid}.case-decisions article{border-top:1px solid var(--rule);padding:25px 0}.case-decisions h3{font:500 24px/1.3 var(--display);letter-spacing:-.04em}.contact-page-grid{grid-template-columns:1fr 1.3fr;gap:7vw;display:grid}.enquiry-form{min-width:0}.enquiry-form>p{margin-top:0;font-size:13px}.enquiry-form fieldset{border:0;min-width:0;margin:24px 0 0;padding:0}.form-field{gap:9px;min-width:0;margin-bottom:20px;display:grid}.form-field label{font-size:13px;line-height:1.6}.form-field input,.form-field select,.form-field textarea{background:#131410;border:1px solid #626353;border-radius:0;width:100%;min-height:48px;padding:13px 14px}.form-field textarea{resize:vertical;line-height:1.7}.form-field [aria-invalid=true]{border-color:#ff9877}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.enquiry-form .field-error{color:#ffb49a;margin:0;font-size:12px}.enquiry-form .field-hint,.enquiry-form .form-privacy{color:var(--muted);margin:0;font-size:12px;line-height:1.8}.form-privacy a{text-underline-offset:4px;text-decoration:underline}.enquiry-form .form-privacy{margin-top:18px}.form-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-status{margin:20px 0;font-size:14px;line-height:1.8}.form-status .button-outline{width:fit-content;margin-top:16px;display:flex}.enquiry-form fieldset:disabled{opacity:.65}.privacy-copy h2:not(:first-child){margin-top:45px}.marketing-footer{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;gap:28px;max-width:1348px;margin:auto;padding:40px 4.3vw;display:flex}.marketing-footer p{color:var(--muted);margin-top:12px;font-size:12px;line-height:1.8}.marketing-footer nav{flex-wrap:wrap;gap:8px 24px;max-width:600px;display:flex}.marketing-footer nav a{align-items:center;min-height:44px;font-size:12px;display:flex}.marketing-footer nav a:hover{color:var(--accent)}.marketing-footer .analytics-choice{flex-basis:100%}@media(max-width:1100px){.site-header nav{gap:17px}.enquiry-actions .button-solid,.enquiry-actions .button-outline{gap:12px;padding:13px 14px;font-size:11px}.hero-copy{max-width:52%}.hero-copy h1{font-size:27px}.hero-bottom{padding-bottom:25px}}@media(max-width:767px){body{padding-bottom:calc(65px + env(safe-area-inset-bottom))}.hero{min-height:100svh;padding-top:128px}.hero-bottom{padding-top:30px;padding-bottom:28px}.hero-copy{background:linear-gradient(90deg,#0b0b0cf2,#0b0b0cce);width:100%;max-width:100%;padding:0 0 15px}.hero-copy h1{max-width:600px;margin-top:14px;font-size:clamp(23px,6.7vw,32px)}.hero-copy .intro{max-width:100%;margin-top:12px;font-size:13px;line-height:1.65}.hero-copy .enquiry-actions{gap:10px;margin:18px 0 4px}.hero-copy .enquiry-actions .button-solid,.hero-copy .enquiry-actions .button-outline{gap:10px;min-height:44px;padding:12px;font-size:11px}.object-caption{display:none}.hero-footer{min-height:70px}.site-header nav{gap:0}.site-header nav a{font-size:10px}.home-services h3{font-size:22px}.home-services ul{grid-template-columns:1fr}.contact{min-height:850px;padding-bottom:95px}.contact .email-link{margin-top:18px}.site-footer{align-items:flex-start;gap:12px;padding-bottom:85px;display:flex}.home-footer-links{flex-basis:100%;order:3}.view-controls{margin-bottom:75px}.scene-loader{bottom:calc(84px + env(safe-area-inset-bottom))}.mobile-contact{z-index:55;min-height:58px;padding:17px 6vw calc(17px + env(safe-area-inset-bottom));font:500 12px var(--mono);background:var(--accent);color:var(--ink);border-top:1px solid #a83b18;justify-content:space-between;align-items:center;gap:15px;display:flex;position:fixed;bottom:0;left:0;right:0}.marketing-header{grid-template-columns:1fr auto;gap:4px 20px;padding:13px 6vw 0;display:grid}.marketing-header .wordmark{font-size:21px}.marketing-header nav{grid-area:2/1/auto/-1;justify-content:space-between;gap:0}.marketing-header nav a{min-height:48px;font-size:12px}.marketing-header .header-contact{grid-area:1/2;gap:8px;font-size:8px}.marketing-main{padding:0 6vw}.breadcrumbs{padding:10px 0;font-size:9px}.breadcrumbs ol,.breadcrumbs li{gap:10px}.marketing-hero{padding:30px 0 55px}.marketing-hero .overline{font-size:8px;line-height:1.8}.marketing-hero h1{letter-spacing:-.06em;font-size:clamp(38px,10.2vw,66px)}.marketing-lead{margin-top:22px;font-size:15px;line-height:1.8}.marketing-section{padding:40px 0}.marketing-section h2,.project-proof h2,.quote-cta h2{font-size:31px}.marketing-section p,.project-proof p,.quote-cta>p:not(.overline){font-size:14px}.service-grid{grid-template-columns:1fr;gap:0;margin-top:25px}.service-card h3{font-size:25px}.split-copy,.contact-page-grid{grid-template-columns:1fr;gap:35px}.project-proof{grid-template-columns:1fr;gap:28px;margin-bottom:45px;padding:28px 20px}.process-list{grid-template-columns:1fr;gap:0}.process-list li{grid-template-columns:26px 1fr;gap:15px;padding:20px 0;display:grid}.process-list h3{margin-top:0;font-size:22px}.process-list p{margin-bottom:0}.faq-section summary{font-size:15px}.quote-cta{padding:40px 0}.case-decisions{grid-template-columns:1fr;gap:5px}.case-decisions article{padding:25px 0 10px}.case-image{margin-bottom:45px}.case-image figcaption{font-size:8px}.form-row{grid-template-columns:1fr;gap:0}.form-field input,.form-field select,.form-field textarea{font-size:16px}.marketing-footer{padding:30px 6vw 55px}.marketing-footer nav{gap:0 20px}}@media(max-width:359px){.hero-copy h1{font-size:22px}.hero-kicker{margin-bottom:17px}.hero-copy .enquiry-actions{gap:8px}.hero-copy .enquiry-actions .button-solid,.hero-copy .enquiry-actions .button-outline{gap:6px;padding:12px 9px;font-size:10px}.marketing-hero h1{font-size:36px}}.hero-opening{isolation:isolate;grid-template-rows:auto auto minmax(30px,1fr) auto auto auto 35px auto;grid-template-columns:minmax(0,1fr);min-height:100svh;padding-top:128px;display:grid}.hero-opening>.hero{display:contents}.hero-opening:before{content:"";z-index:-1;background:linear-gradient(90deg,#0b0b0cf2 70%,#0b0b0c55);grid-area:4/1/7;width:565px;max-width:50%}.hero-opening .hero-kicker{grid-area:1/1}.hero-opening .hero-name{grid-area:2/1}.hero-role{grid-area:4/1;width:565px;max-width:50%}.business-intro{grid-area:5/1;width:565px;min-width:0;max-width:50%}.business-intro h1{font-family:var(--display);letter-spacing:-.035em;max-width:565px;margin-top:16px;font-size:clamp(22px,2.1vw,33px);font-weight:500;line-height:1.18}.business-intro .intro{color:#aaa99f;max-width:490px;margin-top:14px;font-size:13px;line-height:1.7}.hero-work{grid-area:6/1;width:565px;max-width:50%}.hero-opening .object-caption{grid-area:4/1/7;place-self:end}.hero-opening .hero-footer{grid-area:8/1}.hero-scene-space{display:none}@media(min-width:1600px){.hero-opening{padding-top:145px}}@media(min-width:768px)and (max-width:1100px){.hero-opening{grid-template-rows:auto auto minmax(30px,1fr) auto auto auto 25px auto}.hero-opening:before,.hero-role,.business-intro,.hero-work{max-width:52%}.business-intro h1{font-size:27px}}@media(max-width:767px){body{padding-bottom:0}.hero-opening{isolation:auto;min-height:0;margin:0;padding:0;display:block}.hero-opening:before{display:none}.hero-opening>.hero{flex-direction:column;min-height:max(720px,100svh);margin:0 6vw;padding:130px 0 0;display:flex}.hero-opening .hero-kicker{margin-bottom:24px}.hero-opening .hero-name{flex-shrink:0}.hero-role{flex-shrink:0;width:100%;max-width:none;margin-top:20px}.hero-scene-space{pointer-events:none;flex:1;min-height:340px;display:block}.hero-work{width:auto;max-width:none;margin-bottom:12px}.hero-opening .hero-footer{flex-shrink:0;min-height:70px;margin-top:0}.business-intro{border-top:1px solid var(--rule);background:var(--ink);width:auto;max-width:none;box-shadow:0 0 0 6vw var(--ink);margin:0 6vw;padding:38px 0 46px;position:relative}.business-intro h1{letter-spacing:-.04em;text-wrap:balance;max-width:600px;margin:0;font-size:clamp(23px,6.2vw,28px);line-height:1.25}.business-intro .intro{max-width:600px;margin-top:18px;font-size:14px;line-height:1.8}.business-intro .enquiry-actions{gap:10px;margin:22px 0 0}.business-intro .enquiry-actions a{gap:10px;max-width:100%;min-height:46px;padding:13px 12px;font-size:11px}.view-controls{margin-bottom:20px}.mobile-contact{inset:auto;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));background:var(--accent);width:50px;height:50px;min-height:50px;color:var(--ink);z-index:55;opacity:0;visibility:hidden;pointer-events:none;border:1px solid #ff855b;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:flex;position:fixed;box-shadow:0 5px 18px #0008}.mobile-contact[data-visible=true]{opacity:1;visibility:visible;pointer-events:auto}.mobile-contact svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:28px;height:28px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
