@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-outline-style:solid;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--ease-in-out: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,ui-sans-serif,system-ui,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{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}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.h-5{height:calc(var(--spacing)*5)}.w-5{width:calc(var(--spacing)*5)}.grow{flex-grow:1}.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}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-2{gap:calc(var(--spacing)*2)}.rounded{border-radius:.25rem}.text-left{text-align:left}.uppercase{text-transform:uppercase}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}html{scroll-behavior:smooth;scrollbar-gutter:stable;scroll-snap-type:none;scrollbar-color:var(--scrollbar-thumb)var(--bg);scrollbar-width:auto}html.is-programmatic-scroll{scroll-snap-type:none}@media(max-width:56.25rem),(max-height:43.75rem){html{scroll-snap-type:none}}::-webkit-scrollbar{width:1.125rem;height:1.125rem}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{border:.2rem solid var(--bg);background:var(--scrollbar-thumb);box-shadow:none;border-radius:.35rem}::-webkit-scrollbar-thumb:hover{background:var(--accent-red)}:root{font-family:var(--font-body);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--header-height:4rem;--sidebar-width:25vw;--section-heading-size:clamp(1.75rem,3vw,2.65rem);--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-md-plus:1.125rem;--space-sm-plus:.875rem;--space-lg-plus:1.25rem;--space-lg:1.5rem;--space-xl-plus:1.75rem;--space-xl:2rem;--space-2xl-plus:2.125rem;--space-2xl:2.5rem;--space-3xl-plus:2.25rem;--space-3xl:3rem;--space-4xl-plus:2.75rem;--space-4xl:4rem;--space-5xl-plus:4.5rem;--space-5xl:5rem;--space-6xl:6rem;--brand-green:#c7ff50;--brand-orange:#e63946;--brand-charcoal:#141414;--brand-paper:#f5f5f3;--brand-sage:#1d1d1d;--ink-muted:#a0a0a0;--ink-on-dark:#a0a0a0;--rule:#303030;--rule-dark:#303030;--font-body:"Geist",Inter,"Segoe UI",system-ui,sans-serif;--display-size:clamp(2.2rem,4.5vw,4.75rem);--title-size:clamp(2rem,3.4vw,3.5rem);--bg:#292a31;--bg-deep:var(--brand-charcoal);--surface:var(--brand-sage);--surface-strong:#3a3b46;--surface-soft:#32333c;--text:#b3b7c2;--heading-text:var(--brand-paper);--text-muted:var(--ink-muted);--border:var(--rule);--border-strong:var(--rule);--accent:var(--brand-green);--accent-red:var(--brand-orange);--cta-red:#c92f3c;--accent-red-text:#ed4552;--accent-red-rgb:230,57,70;--accent-red-surface:#981f29;--accent-red-border:#b32934;--accent-red-surface-hover:#b72935;--accent-rgb:199,255,80;--accent-on-light:#527900;--accent-hover:var(--accent-red);--accent-magenta:var(--brand-orange);--accent-purple:var(--brand-sage);--accent-orange:var(--brand-orange);--accent-blue:var(--brand-green);--shopify-green:var(--brand-green);--shopify-green-deep:var(--brand-charcoal);--accent-soft:var(--brand-sage);--magenta-soft:var(--brand-paper);--purple-soft:var(--brand-sage);--shopify-soft:var(--brand-sage);--scrollbar-thumb:var(--ink-muted);color-scheme:dark;color:var(--text);background-color:var(--bg);font-weight:400;line-height:1.65}h1,h2,h3,h4,h5,h6{color:var(--heading-text);font-family:var(--font-body);-webkit-text-stroke:0;text-shadow:none;font-style:normal;font-weight:800;line-height:1.12}.skill-card h1,.skill-card h2,.skill-card h3,.skill-card h4,.skill-card h5,.skill-card h6,.lead-card h1,.lead-card h2,.lead-card h3,.lead-card h4,.lead-card h5,.lead-card h6,.resume-card h1,.resume-card h2,.resume-card h3,.resume-card h4,.resume-card h5,.resume-card h6,.request-resume-card h1,.request-resume-card h2,.request-resume-card h3,.request-resume-card h4,.request-resume-card h5,.request-resume-card h6,.about-card h1,.about-card h2,.about-card h3,.about-card h4,.about-card h5,.about-card h6,.about-reviews h1,.about-reviews h2,.about-reviews h3,.about-reviews h4,.about-reviews h5,.about-reviews h6{font-family:var(--font-body);font-style:normal;font-weight:700}p{color:var(--text);line-height:1.7}a{color:var(--accent);font-weight:500;text-decoration:none;transition:color .16s,border-color .16s}a:hover{color:var(--accent-hover)}body{background:var(--bg);min-width:20rem;color:var(--text);font-family:var(--font-body);margin:0;line-height:1.65}code,pre,kbd{font-family:var(--font-body)}@keyframes icon-rotate-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.icon-rotate-slow{animation:20s linear infinite icon-rotate-slow}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.icon-rotate-slow{animation:none}}.skip-link{z-index:10000;color:var(--brand-charcoal);background:var(--brand-paper);padding:.75rem 1rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-200%)}.skip-link:focus{outline:2px solid var(--accent);outline-offset:2px;transform:none}#main-content:focus{outline:none}*,:before,:after{box-sizing:border-box}:focus-visible{outline-offset:5px;outline:2px solid}::selection{background:var(--brand-charcoal);color:var(--brand-paper)}@media(prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ease{syntax:"*";inherits:false}.wireframe-terrain{display:block;width:100%;height:100%;pointer-events:none}.page-banner{position:relative;isolation:isolate;width:100%;padding:clamp(4rem,8vw,8rem) max(5vw,calc((100% - 90rem)/2));overflow:hidden;background:#fff;--banner-ink: #191919;--banner-muted: #666;--banner-accent: var(--accent-red);color:var(--banner-ink)}.page-banner__mesh{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.25;-webkit-mask-image:linear-gradient(110deg,#0004,#000);mask-image:linear-gradient(110deg,#0004,#000)}.page-banner__content{position:relative;min-width:0}.page-banner.page-banner :is(h1,h2,h3,dd,a){color:var(--banner-ink)}.page-banner.page-banner :is(p,dt){color:var(--banner-muted)}.page-banner.page-banner h1{margin-top:0;color:var(--banner-ink);font:700 var(--display-size)/1.08 var(--font-body);letter-spacing:-.04em}.page-banner.page-banner :is(h1 span,.service-label,.case-label,.section-label){color:var(--banner-accent)}.page-banner-summary{max-width:42rem;margin:2.5rem 0 0;color:var(--banner-muted);font-size:clamp(1.0625rem,1.5vw,1.1875rem);line-height:1.6}.page-banner :is(.service-action--primary,.service-action--primary:hover){color:#fff}.page-banner__content--split{display:grid;grid-template-columns:minmax(0,2fr) minmax(15rem,.8fr);gap:clamp(3rem,7vw,7rem);align-items:center}.page-banner__content--portrait{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:clamp(2rem,5vw,6rem)}@media(max-width:60rem){.page-banner__content--portrait{grid-template-columns:minmax(0,1fr);gap:3.5rem}}@media(max-width:48rem){.page-banner{padding:3.5rem 1.25rem}.page-banner__content--split{grid-template-columns:1fr;gap:2.5rem}}.not-found .page-banner{min-height:65vh}.not-found .section-label{margin:0 0 1.5rem;font-size:.875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.not-found-links{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem 2rem;margin-top:2.5rem}.not-found-links a{font-weight:600}.not-found .page-banner .btn-primary{color:#fff}@media(max-width:36rem){.not-found-links{align-items:flex-start;flex-direction:column}}.detail-banner.detail-banner .service-intro,.detail-banner.detail-banner .case-intro{margin:0;padding:0;border:0}.detail-banner.detail-banner h1{color:#191919;font-size:var(--display-size);font-weight:700;line-height:1.08;letter-spacing:-.04em;overflow-wrap:anywhere}.detail-banner.detail-banner :is(p,dt,.service-back,.case-back){color:#666}.detail-banner.detail-banner :is(dd,a,a:hover){color:#191919}.detail-banner.detail-banner :is(.service-label,.case-label){color:#bd2433}.detail-banner.detail-banner .service-action--primary,.detail-banner.detail-banner .service-action--primary:hover{color:#fff}.detail-banner.detail-banner .case-metadata>div{border-color:#ccc}.detail-banner.detail-banner :is(.service-intro,.case-intro)>*{min-width:0}a.service-mention{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;border:0}a.service-mention:hover{color:inherit;text-decoration-thickness:2px}a.service-mention:focus-visible{outline:2px solid currentColor;outline-offset:4px}.bento-icon{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;flex:0 0 2.75rem;color:var(--bento-icon-color, var(--accent-red))}.bento-icon-svg{display:block;width:2.25rem;height:2.25rem;overflow:visible}.bento-icon-svg[stroke]{stroke-width:2.5}.bento-icon--main{width:3.25rem;height:3.25rem;flex-basis:3.25rem}.bento-icon--main .bento-icon-svg{width:2.75rem;height:2.75rem}.bento-icon-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.bento-icon-heading{display:flex;align-items:flex-start;gap:.875rem}.bento-icon-heading h3{min-width:0}.partnership-options .bento-icon-heading{flex-direction:column}.service-card,#process-workflow .process-step,#agency-support .editorial-row,#about-approach .biography-rows li,.partnership-options>div{--bento-icon-color: var(--accent-red)}.service-card--wide{--bento-icon-color: var(--accent-on-light)}#process-workflow .bento-icon-row{margin-bottom:1.75rem}#process-workflow .bento-icon-row .editorial-number{margin-bottom:0}#agency-support .bento-icon-row,#about-approach .bento-icon-row{margin-bottom:1.75rem}@media(max-width:40rem){#about-approach .biography-rows li:nth-child(n) .bento-icon-row{margin-bottom:1.75rem}}.capability-network{--capability-gap: 1rem;margin-top:clamp(2.5rem,5vw,5rem)}.capability-hub{width:16.25rem;max-width:65%;margin:0 auto}.capability-hub svg,.capability-hub img{display:block;width:100%;height:auto}.capability-connectors{display:none}.capability-network--minimal .capability-connectors>span{background:#e63946}.capability-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr;gap:3.5rem var(--capability-gap);margin-top:4rem}.capability-card{position:relative;min-width:0;padding:3.5rem 1.25rem 1.5rem;background:#242424;border:1px solid #484848;display:flex;flex-direction:column}.capability-node{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);width:4.5rem;height:4.5rem;display:grid;place-items:center;background:#242424;border:1px solid #666;border-radius:50%}.capability-node .bento-icon{color:var(--accent-red)}.capability-network .capability-card h3{min-height:2.5em;margin:0 0 1rem;color:var(--heading-text);font:600 clamp(1.125rem,1.4vw,1.4rem)/1.25 var(--font-body);letter-spacing:-.025em}.capability-network .capability-card p{color:var(--ink-muted);font-size:.9375rem;line-height:1.65;margin:0 0 1.5rem}.capability-card ul{list-style:none;margin:auto 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem .875rem}.capability-card li{display:inline-flex;align-items:center;gap:.4rem;color:#c2c2c2;font:400 .6875rem/1.5 var(--font-body)}.capability-card li:before{content:"";width:3px;height:3px;flex:0 0 3px;background:var(--accent-red);border-radius:50%}@media(min-width:40rem){.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:64rem){.capability-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1400px){.capability-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:0}.capability-connectors{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--capability-gap);height:6rem}.capability-trunk{position:absolute;top:0;left:50%;width:1px;height:2rem;background:var(--accent-red);transform-origin:top}.capability-bus{position:absolute;top:2rem;left:calc((100% - 4 * var(--capability-gap)) / 10);right:calc((100% - 4 * var(--capability-gap)) / 10);height:1px;background:#555}.capability-branch{justify-self:center;width:1px;margin-top:2rem;height:4rem;background:#555;transform-origin:top}}@media(prefers-reduced-motion:no-preference){.capability-network[data-animate] .capability-card{transition:opacity .65s ease,translate .65s ease;transition-delay:calc(.7s + var(--capability-index) * .12s)}.capability-network[data-animate]:not(.is-connected) .capability-card{opacity:0;translate:0 16px}.capability-network[data-animate] .capability-trunk{transition:transform .3s ease}.capability-network[data-animate] .capability-bus{transition:transform .5s ease .25s}.capability-network[data-animate] .capability-branch{transition:transform .4s ease .65s}.capability-network[data-animate]:not(.is-connected) .capability-trunk,.capability-network[data-animate]:not(.is-connected) .capability-branch{transform:scaleY(0)}.capability-network[data-animate]:not(.is-connected) .capability-bus{transform:scaleX(0)}.capability-network[data-animate].is-connected .capability-node{animation:capability-connect 1.1s ease both;animation-delay:calc(.9s + var(--capability-index) * .12s)}@keyframes capability-connect{0%,to{border-color:#666;box-shadow:none}40%{border-color:#e63946;box-shadow:0 0 0 5px #e6394615}}}@media(min-width:64rem){.capability-network--three .capability-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.capability-network--three .capability-connectors{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--capability-gap);height:6rem}.capability-network--three .capability-trunk{position:absolute;top:0;left:50%;width:1px;height:2rem;transform-origin:top}.capability-network--three .capability-bus{position:absolute;top:2rem;left:calc((100% - 2 * var(--capability-gap)) / 6);right:calc((100% - 2 * var(--capability-gap)) / 6);height:1px}.capability-network--three .capability-branch{justify-self:center;width:1px;margin-top:2rem;height:4rem;transform-origin:top}}.red-cta-band{margin:0;background:var(--cta-red);color:#fff}.red-cta-band.static-polygon-section:before{filter:grayscale(1) brightness(0) invert(1);opacity:.28}.red-cta-band .red-cta-inner{width:100%;max-width:100rem;margin:0 auto;padding:clamp(3.5rem,5vw,5rem) 5vw;background:transparent}.red-cta-band .red-cta-inner :is(h2,p,a){color:#fff}.red-cta-band .red-cta-inner a:not([href^="mailto:"]){border:1px solid #fff;padding:.75rem 1.25rem}.red-cta-band .red-cta-inner a:hover{color:#fff;background:#0000001a}.red-cta-band a:focus-visible{outline:2px solid #fff;outline-offset:5px}@media(max-width:48rem){.red-cta-band .red-cta-inner{padding-inline:1.25rem}}.process-timeline{--timeline-progress: 1;position:relative;list-style:none;padding:0;margin:clamp(3rem,6vw,6rem) auto 0;max-width:76rem}.process-timeline:before,.process-timeline:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;background:var(--accent-red);pointer-events:none}.process-timeline:before{opacity:.18}.process-timeline:after{transform:scaleY(var(--timeline-progress));transform-origin:top}.timeline-step{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(4rem,10vw,10rem);align-items:center;min-height:23rem;padding-block:3rem}.timeline-marker{position:absolute;top:50%;left:50%;z-index:1;width:12px;height:12px;border:2px solid var(--accent-red);border-radius:50%;background:var(--bg-deep);transform:translate(-50%,-50%);transition:background .4s ease,box-shadow .4s ease}.timeline-step.is-visible .timeline-marker,.process-timeline:not([data-animated]) .timeline-marker{background:var(--accent-red);box-shadow:0 0 0 6px #e6394612}.timeline-copy{min-width:0}.process-timeline .timeline-copy h3{margin:0 0 1.25rem;color:var(--heading-text);font:600 clamp(1.5rem,2.4vw,2.25rem)/1.15 var(--font-body);letter-spacing:-.035em}.timeline-number{display:block;margin-bottom:1rem;color:var(--accent-red);font:400 .8125rem/1.5 var(--font-body);letter-spacing:.06em}.process-timeline .timeline-copy p{margin:0;max-width:40ch;color:var(--ink-muted);font-size:clamp(1rem,1.2vw,1.125rem);line-height:1.7}.timeline-visual{min-width:0;display:flex;justify-content:center}.process-illustration{display:block;width:100%;max-width:23rem;height:auto;aspect-ratio:360 / 260;object-fit:contain;color:#626262}.timeline-step:nth-child(2n) .timeline-copy{grid-column:2;grid-row:1}.timeline-step:nth-child(2n) .timeline-visual{grid-column:1;grid-row:1}@media(prefers-reduced-motion:no-preference){.process-timeline[data-animated] .timeline-step.is-visible .timeline-marker{animation:timeline-marker-arrive .9s ease both}@keyframes timeline-marker-arrive{0%{box-shadow:0 0 #e6394600}45%{box-shadow:0 0 0 10px #e6394626}to{box-shadow:0 0 0 6px #e6394612}}.process-timeline[data-animated] .timeline-copy{transition:opacity .65s ease,transform .65s ease}.process-timeline[data-animated] .timeline-visual{transition:opacity .8s ease .1s,transform .8s ease .1s}.process-timeline[data-animated] .timeline-step:not(.is-visible) .timeline-copy{opacity:0;transform:translateY(20px)}.process-timeline[data-animated] .timeline-step:not(.is-visible) .timeline-visual{opacity:0;transform:scale(.95)}}@media(max-width:48rem){.process-timeline:before,.process-timeline:after{left:6px}.timeline-step{grid-template-columns:minmax(0,1fr);gap:1.75rem;min-height:0;padding:2rem 0 3rem 2.5rem}.timeline-marker{left:6px;top:2.75rem}.timeline-step:nth-child(n) .timeline-copy,.timeline-step:nth-child(n) .timeline-visual{grid-column:1;grid-row:auto}.timeline-visual{justify-content:flex-start}.process-illustration{max-width:18rem}}@media(prefers-reduced-motion:reduce){.process-timeline:after{transform:none}.timeline-marker{transition:none}}.process-timeline.timeline--refined{display:grid;row-gap:3.75rem}.timeline--refined .timeline-step{min-height:0;padding-block:0;column-gap:clamp(5rem,8vw,7.5rem)}@media(min-width:48.001rem)and (max-width:64rem){.process-timeline.timeline--refined{row-gap:3rem}}@media(max-width:48rem){.process-timeline.timeline--refined{row-gap:2rem}.timeline--refined .timeline-step{gap:1.25rem}.timeline--refined .timeline-marker{top:.75rem}}.timeline--refined .timeline-copy{padding:clamp(1.5rem,2vw,1.75rem);background:#202020;border:1px solid #363636;border-radius:8px}.process-timeline.timeline--refined:before,.process-timeline.timeline--refined:after{bottom:auto;height:var(--timeline-end, 100%);background:#e63946;clip-path:inset(-16px -24px 0)}.process-timeline.timeline--refined:after{box-shadow:0 0 8px #e6394666,0 0 18px #e6394633}.timeline--refined .timeline-marker{box-shadow:0 0 8px #e6394680,0 0 16px #e6394640}.timeline--refined .timeline-step.is-visible .timeline-marker,.process-timeline.timeline--refined:not([data-animated]) .timeline-marker{box-shadow:0 0 0 5px #e6394615,0 0 10px #e6394699,0 0 22px #e6394655}.timeline--refined .timeline-step:last-child .timeline-marker{width:16px;height:16px;background:#e63946;box-shadow:0 0 0 5px #e6394620,0 0 14px #e63946bb,0 0 26px #e6394666}@media(prefers-reduced-motion:no-preference){.process-timeline.timeline--refined[data-animated] .timeline-step.is-visible .timeline-marker{animation-name:process-marker-arrive}@keyframes process-marker-arrive{0%{opacity:.5}to{opacity:1}}}@media(max-width:48rem){.timeline--refined .timeline-copy{padding:1.25rem}.timeline--refined .timeline-marker{top:2rem}}.app p.section-label{color:var(--text-muted);font:400 .73rem/1.6 var(--font-body);letter-spacing:.1em;text-transform:uppercase}@media(max-width:48rem){.app p.section-label{font-size:.68rem}}.services-index{background:#191919;color:var(--heading-text);padding-top:0}.services-index-inner{max-width:100rem;margin-inline:auto;padding-inline:5vw}.services-index-hero-label{margin-bottom:clamp(1.5rem,3vh,2.25rem)}.services-index-workflow{width:100%;padding:clamp(4rem,7vw,7rem) max(5vw,calc((100% - 90rem)/2));background:var(--bg-deep)}.services-timeline-heading{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.25rem}.services-timeline-heading h2{margin:0;font:600 clamp(1.5rem,2.4vw,2.25rem)/1.15 var(--font-body);letter-spacing:-.035em}.services-timeline-heading a{color:var(--heading-text);font:inherit}.services-index-icon{width:32px;height:32px;flex:0 0 32px;color:var(--accent-red)}.services-index-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.25rem 0 .75rem;padding:0;list-style:none}.services-index-tags li{border:1px solid var(--rule);padding:.25rem .65rem;color:var(--ink-muted);font:.75rem/1.5 var(--font-body)}.services-index-action{display:inline-flex;align-items:center;gap:.75rem;min-height:44px;color:var(--heading-text)}.services-index .services-index-action--red{color:#f35a66}.services-index a:hover{text-decoration:underline;text-underline-offset:.25em}.services-index a:focus-visible{outline:2px solid var(--accent-red-text);outline-offset:5px}.services-index-agency{display:grid;grid-template-columns:minmax(0,42fr) minmax(0,58fr);gap:2rem;padding-block:clamp(4rem,6vw,6rem)}.services-index-agency h2,.services-index-contact h2{margin:0;font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.3}.services-index-agency p{margin:0 0 .5rem;color:var(--ink-muted)}.services-index-contact{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:2.5rem;padding:clamp(1.25rem,3vw,2rem);background:#242424}.services-index-action--outline{border:1px solid var(--ink-muted);padding:.75rem 1.25rem}@media(max-width:48rem){.services-index-inner,.services-index-workflow{padding-inline:1.25rem}.services-index-agency{grid-template-columns:minmax(0,1fr);gap:1rem}.services-index-contact{flex-direction:column;align-items:flex-start}}.services-index-agency-band{margin:0;background:#242424;border-block:1px solid var(--rule)}.services-index-agency-band+.red-cta-band{margin-top:0}.site-content:has(>.service-page){background:#191919}.service-page-inner{max-width:100rem;margin-inline:auto;padding:clamp(2.5rem,5vw,4.5rem) 5vw 0;color:var(--heading-text)}.service-page h1{margin:0 0 1.5rem;font-size:clamp(2.5rem,4.5vw,4.25rem);line-height:1.08;letter-spacing:-.045em}.service-page h1 span{color:var(--accent-red)}.service-page h2{margin:0 0 1.75rem;font-size:clamp(1.75rem,2.8vw,2.75rem);line-height:1.15;letter-spacing:-.03em}.service-page h3{margin:0 0 .75rem;font-size:1.125rem;line-height:1.4}.service-page p{color:var(--ink-muted);margin-top:0;line-height:1.65}.service-page .service-label{margin:0 0 1rem;color:var(--accent-red-text);font:.75rem/1.5 var(--font-body);letter-spacing:.08em;text-transform:uppercase}.service-back{display:inline-flex;align-items:center;min-height:44px;color:var(--ink-muted);margin-bottom:2rem}.service-intro{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:center}.service-introduction{max-width:54ch;font-size:1.125rem}.service-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:1.5rem}.service-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;color:var(--heading-text)}.service-action--primary{padding:.85rem 1.25rem;background:var(--accent-red-surface);border:1px solid var(--accent-red-border)}.service-action--outline{padding:.85rem 1.25rem;border:1px solid var(--ink-muted)}.service-page .service-action--red{color:#f35a66}.service-page a:hover{color:var(--heading-text);text-decoration:underline;text-underline-offset:.25em}.service-page :is(a,summary):focus-visible{outline:2px solid var(--accent-red-text);outline-offset:5px}.service-intro-icon{display:block;width:76px;height:76px;color:var(--accent-red);margin-bottom:1.5rem}.service-facts dl{margin:0}.service-facts dl>div{padding-block:1rem}.service-facts dt{font:.75rem/1.5 var(--font-body);text-transform:uppercase;color:var(--ink-muted)}.service-facts dd{margin:.5rem 0 0;line-height:1.6}.service-capabilities,.service-related,.service-faq{padding-block:clamp(2.5rem,4vw,4rem)}.service-capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3rem}.service-capability-grid article{display:grid;grid-template-columns:44px minmax(0,1fr);gap:1rem;padding-block:1.5rem;border-top:1px solid var(--rule)}.service-capability-grid .bento-icon{color:var(--accent-red);background:transparent;width:40px;height:40px}.service-capability-grid p{margin-bottom:0}.service-related{width:100%;background:#242424}.service-related-inner,.service-page-inner--after-related{padding-top:0}.service-related:before{filter:grayscale(1);opacity:.22}.service-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.service-project-preview{display:block;margin-bottom:1.25rem}.service-project-preview img{display:block;width:100%;height:auto}.service-process{padding-block:clamp(2.5rem,4vw,4rem);text-align:center}.service-process .capability-card{text-align:left}.service-process>.service-action{margin-top:2rem}.service-agency{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem;padding-block:clamp(2.5rem,4vw,4rem)}.service-agency h2{font-size:clamp(1.5rem,2vw,2rem);margin:0}.service-faq details{border-top:1px solid var(--rule)}.service-faq details:last-child{border-bottom:1px solid var(--rule)}.service-faq summary{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;min-height:56px;padding-block:1rem;list-style:none;cursor:pointer}.service-faq summary::-webkit-details-marker{display:none}.service-faq summary span{color:#f35a66;font-size:1.5rem}.service-faq details p{max-width:75ch;margin:0 0 1.5rem}.service-enquiry{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:2rem;align-items:center;background:#242424;padding:clamp(1.5rem,3vw,2.5rem)}.service-enquiry h2{font-size:clamp(1.5rem,2.4vw,2.25rem);margin-bottom:1rem}.service-enquiry p{margin:0}.service-enquiry-links{display:flex;align-items:flex-start;flex-direction:column;gap:1rem;justify-self:end}.service-enquiry-links>a{max-width:100%;overflow-wrap:anywhere;color:var(--heading-text)}@media(max-width:48rem){.service-page-inner{padding-inline:1.25rem}.service-intro,.service-capability-grid,.service-related-grid,.service-agency,.service-enquiry{grid-template-columns:minmax(0,1fr);gap:1.5rem}.service-enquiry-links{justify-self:start}.service-facts{padding-top:1rem}.service-intro-icon{width:56px;height:56px}}.service-agency-band{width:100%;margin-top:2.5rem;background:#242424;color:var(--heading-text)}.service-agency-band:before{filter:grayscale(1);opacity:.22}.service-page-inner--after-agency{padding-top:0}.site-footer{--button-font-size: .75rem;position:relative;padding:0 0 2rem;background:var(--brand-charcoal)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;width:min(92vw,100rem);margin:0 auto;padding:1.8rem var(--space-xl) 0;box-sizing:border-box;color:var(--ink-on-dark);font-size:.75rem;line-height:1.7;letter-spacing:.13em;text-transform:uppercase}.footer-inner:before{content:"";position:absolute;top:0;left:calc((100% - min(92vw,100rem)) / 2 + var(--space-xl));right:calc((100% - min(92vw,100rem)) / 2 + var(--space-xl));height:1px;background:var(--rule-dark)}.footer-inner p{margin:0;color:inherit}.footer-inner a{color:var(--ink-on-dark);text-decoration:underline;text-underline-offset:3px}.footer-inner a:hover{color:var(--accent);border-bottom-color:var(--accent)}.footer-inner a:focus-visible{color:var(--accent);outline:2px solid var(--accent);outline-offset:4px}@media(max-width:56.25rem){.footer-inner{flex-direction:column;text-align:center;gap:.6rem;padding-inline:1rem}.footer-inner:before{left:1rem;right:1rem}}:root body .site-footer .footer-inner :is(p,a,button){font-size:.75rem}.analytics-consent,.analytics-privacy{color:var(--heading-text);background:var(--brand-charcoal);border:1px solid var(--rule);padding:1.25rem;font:400 .875rem/1.6 var(--font-body)}.analytics-consent{position:fixed;z-index:1000;inset:auto 1rem 1rem;max-width:42rem;margin-left:auto;box-shadow:0 4px 24px #0005}.analytics-consent p,.analytics-privacy p{margin:0 0 1rem;color:inherit}.analytics-privacy{width:min(42rem,calc(100% - 2rem));max-height:85svh;overflow:auto}.analytics-privacy::backdrop{background:#000a}.analytics-privacy h2{margin:0 0 1rem;font-size:1.5rem}.analytics-actions{display:flex;gap:.75rem;flex-wrap:wrap}.analytics-actions button{border:1px solid currentColor;background:transparent;color:inherit;padding:.6rem .8rem;font:inherit;cursor:pointer}.analytics-actions button:focus-visible,.privacy-settings:focus-visible{outline:2px solid var(--accent-red);outline-offset:3px}.analytics-privacy a{color:inherit;text-decoration:underline}.privacy-settings{border:0;padding:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration:underline;cursor:pointer}.app{min-height:100vh;background:transparent}.app-layout{display:block;min-height:100vh}.app-main{width:100%;background:transparent}.container{width:100%;max-width:none;margin-left:auto;margin-right:auto;box-sizing:border-box}@media(max-width:56.25rem){.container{width:100%}}.editorial-number{color:var(--heading-text);-webkit-text-stroke:0;font-family:var(--font-body);font-size:clamp(2.5rem,4vw,3.5rem);font-weight:650;line-height:1;letter-spacing:-.06em}@media(max-width:48rem){.editorial-number{font-size:2.5rem}}.app .editorial-heading{margin:0;color:var(--heading-text);font-family:var(--font-body);font-size:clamp(1.3rem,1.9vw,1.8rem);font-weight:650;font-style:normal;line-height:1.15;letter-spacing:-.035em;text-transform:none;text-shadow:none;-webkit-text-stroke:0}.editorial-list{list-style:none;padding:0;margin:3rem 0 0;border-bottom:1px solid var(--rule)}.editorial-row{display:grid;grid-template-columns:minmax(3.5rem,.3fr) minmax(0,.85fr) minmax(0,1.2fr);align-items:start;gap:clamp(1.5rem,3vw,3rem);margin:0;padding-block:clamp(2rem,3vw,3rem);border-top:1px solid var(--rule)}@media(max-width:48rem){.editorial-row{grid-template-columns:1fr;gap:1.5rem;padding-block:2rem}}.content-blocks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.content-blocks>div{min-width:0;padding:clamp(1.5rem,2.5vw,2.5rem);border:0;border-top:1px solid var(--rule);border-radius:0;background:var(--surface)}@media(max-width:48rem){.content-blocks{grid-template-columns:1fr}}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.8rem 1.4rem;border:1px solid var(--brand-charcoal);border-radius:2px;background:var(--accent);color:var(--brand-charcoal);font:600 .85rem/1.4 var(--font-body);cursor:pointer;transition:background .16s ease}.btn-secondary{background:var(--surface);color:var(--heading-text)}.btn-primary:hover,.btn-secondary:hover{background:var(--brand-green);color:var(--brand-charcoal)}.btn-primary:focus-visible,.btn-secondary:focus-visible{outline:2px solid currentColor;outline-offset:4px}html:has(.app-main,.biography-page,.process-page,.partnership-page){scroll-snap-type:none}.banner-service-label{display:inline-flex;align-items:center;gap:.75rem}.banner-service-icon{display:block;flex:0 0 24px;width:24px;height:24px;color:currentColor}.static-polygon-section{position:relative;isolation:isolate}.static-polygon-section:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201080%20640'%20fill='none'%3e%3cpath%20d='M0%200L160.2%200%20M0%200L0%20159.0%20M160.2%200L0%20159.0%20M160.2%200L360.2%200%20M160.2%200L181.6%20136.2%20M160.2%200L324.9%20140.4%20M360.2%200L545.8%200%20M360.2%200L324.9%20140.4%20M545.8%200L324.9%20140.4%20M545.8%200L716.5%200%20M545.8%200L565.2%20122.0%20M716.5%200L565.2%20122.0%20M716.5%200L907.8%200%20M716.5%200L706.7%20153.8%20M716.5%200L904.8%20154.7%20M907.8%200L1080%200%20M907.8%200L904.8%20154.7%20M1080%200L904.8%20154.7%20M1080%200L1080%20188.4%20M0%20159.0L181.6%20136.2%20M0%20159.0L0%20355.0%20M181.6%20136.2L0%20355.0%20M181.6%20136.2L324.9%20140.4%20M181.6%20136.2L186.2%20296.2%20M181.6%20136.2L393.8%20348.5%20M324.9%20140.4L565.2%20122.0%20M324.9%20140.4L393.8%20348.5%20M565.2%20122.0L393.8%20348.5%20M565.2%20122.0L706.7%20153.8%20M565.2%20122.0L536.8%20343.8%20M706.7%20153.8L536.8%20343.8%20M706.7%20153.8L904.8%20154.7%20M706.7%20153.8L754.6%20356.1%20M904.8%20154.7L754.6%20356.1%20M904.8%20154.7L1080%20188.4%20M904.8%20154.7L875.6%20297.4%20M1080%20188.4L875.6%20297.4%20M1080%20188.4L1080%20344.2%20M0%20355.0L186.2%20296.2%20M0%20355.0L0%20461.7%20M186.2%20296.2L0%20461.7%20M186.2%20296.2L393.8%20348.5%20M186.2%20296.2L159.7%20443.9%20M186.2%20296.2L383.6%20459.0%20M393.8%20348.5L536.8%20343.8%20M393.8%20348.5L383.6%20459.0%20M393.8%20348.5L510.3%20489.1%20M536.8%20343.8L754.6%20356.1%20M536.8%20343.8L510.3%20489.1%20M536.8%20343.8L682.6%20502.8%20M754.6%20356.1L875.6%20297.4%20M754.6%20356.1L682.6%20502.8%20M875.6%20297.4L682.6%20502.8%20M875.6%20297.4L1080%20344.2%20M875.6%20297.4L862.4%20517.8%20M1080%20344.2L862.4%20517.8%20M1080%20344.2L1080%20450.6%20M0%20461.7L159.7%20443.9%20M0%20461.7L0%20640%20M159.7%20443.9L0%20640%20M159.7%20443.9L383.6%20459.0%20M159.7%20443.9L147.8%20640%20M383.6%20459.0L147.8%20640%20M383.6%20459.0L510.3%20489.1%20M383.6%20459.0L356.6%20640%20M510.3%20489.1L356.6%20640%20M510.3%20489.1L682.6%20502.8%20M510.3%20489.1L563.9%20640%20M510.3%20489.1L718.8%20640%20M682.6%20502.8L862.4%20517.8%20M682.6%20502.8L718.8%20640%20M862.4%20517.8L718.8%20640%20M862.4%20517.8L1080%20450.6%20M862.4%20517.8L918.8%20640%20M862.4%20517.8L1080%20640%20M1080%20450.6L1080%20640%20M0%20640L147.8%20640%20M147.8%20640L356.6%20640%20M356.6%20640L563.9%20640%20M563.9%20640L718.8%20640%20M718.8%20640L918.8%20640%20M918.8%20640L1080%20640'%20stroke='%23E63946'%20stroke-width='0.9'/%3e%3c/svg%3e") center / 1080px 640px repeat;opacity:.28;-webkit-mask-image:linear-gradient(110deg,#0004,#000 70%,#0009);mask-image:linear-gradient(110deg,#0004,#000 70%,#0009)}@media(max-width:48rem){.static-polygon-section:before{opacity:.2;background-size:810px 480px}}.app .app-main{--page-width: 1360px;--page-gutter: 64px;--section-space: 160px;--space-8: 8px;--space-12: 12px;--space-16: 16px;--space-24: 24px;--space-32: 32px;--space-48: 48px;--space-64: 64px;--space-80: 80px;--space-96: 96px;--accent-on-light: var(--brand-charcoal);--home-dark: var(--brand-charcoal);--home-surface: var(--brand-charcoal);--home-light: var(--brand-paper);--home-muted: var(--ink-muted)}.app .app-main .section:not(.section--banner):not(.section--services):not(.section--client-work):not(.section--about-contact):not(.section--contact)>.section-inner{width:100%;max-width:var(--page-width);padding-inline:var(--page-gutter);margin-inline:auto}.app .app-main .site-footer{background:var(--brand-charcoal)}@media(max-width:75rem){.app .app-main{--page-gutter: 40px;--section-space: 112px}}@media(max-width:40rem){.app .app-main{--page-gutter: 20px;--section-space: 80px}}.terminal-prompt-icon,.terminal-chevron-icon{display:inline-block;flex:0 0 auto;vertical-align:middle}.terminal-chevron-icon{transition:transform .18s ease}.app :is(a,button)>:is(span,b):has(>.terminal-chevron-icon){display:inline-flex;align-items:center;flex:0 0 auto;color:inherit;transform:none;transition:none}.app :is(a,button):is(:hover,:focus-visible)>:is(span,b):has(>.terminal-chevron-icon){color:inherit;transform:none}:is(a,button):not(:disabled):is(:hover,:focus-visible) .terminal-chevron-icon{transform:translate(3px)}@media(prefers-reduced-motion:reduce){.terminal-chevron-icon{transition:none}:is(a,button):not(:disabled):is(:hover,:focus-visible) .terminal-chevron-icon{transform:none}}.section{position:relative;isolation:isolate;box-sizing:border-box;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;scroll-margin-top:0;padding:var(--space-6xl) 0;text-align:center;scroll-snap-align:start;scroll-snap-stop:always;--section-angle: 135deg}.section:not(.section--banner){content-visibility:auto;contain-intrinsic-size:auto 100vh}.section>*{position:relative;z-index:1}.section:before,.section-pattern:after{content:none}.section-pattern{display:none}.section-inner{width:100%;max-width:none;margin:0 auto;padding-left:var(--space-xl);padding-right:var(--space-xl);box-sizing:border-box;display:flex;flex-direction:column;gap:var(--space-xl)}@media(min-width:56.3125rem){.section-inner{width:min(80vw,100rem)}}@media(max-width:56.25rem){.section{min-height:auto;padding-top:clamp(3rem,8vw,4.5rem);padding-bottom:clamp(3rem,8vw,4.5rem);scroll-snap-align:none;scroll-snap-stop:normal}.section-inner{padding-left:clamp(1rem,4vw,2rem);padding-right:clamp(1rem,4vw,2rem)}}@media(max-width:23rem){.section-inner{padding-left:.875rem;padding-right:.875rem}}@media(max-height:43.75rem)and (min-width:56.3125rem){.section{min-height:auto}}.skills-list,.projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;padding:0;margin:1rem 0 0;list-style:none}.section-inner h1,.section-inner h2{letter-spacing:-.04em}.section-inner p{max-width:68ch}.section h1,.section h2,.section h3{text-shadow:none}.section h1,.section h2,.section h3,.project-name,.banner-photo-label{-webkit-text-stroke:0}.section-scroll-arrow{position:absolute;left:50%;bottom:var(--space-lg);z-index:5;display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border:.0625rem solid var(--brand-charcoal);border-radius:50%;background:var(--brand-paper);color:var(--heading-text);transform:translate(-50%);transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.section-scroll-arrow:hover{border-color:var(--brand-charcoal);background:var(--brand-sage);color:var(--heading-text);transform:translate(-50%) translateY(.125rem)}.section-scroll-arrow svg{width:1.75rem;height:1.75rem}@media(prefers-reduced-motion:reduce){html{scroll-snap-type:none}.section-scroll-arrow{transition:none}.section h1,.section h2,.section h3{animation:none}}.reveal-container{position:relative;opacity:1;transform:none;filter:none;transition:opacity .7s ease,transform .8s cubic-bezier(.22,1,.36,1),filter .7s ease;will-change:opacity,transform,filter}.reveal-container.is-revealed{opacity:1;transform:none;filter:none}@keyframes reveal-card-up{0%{opacity:0;transform:translateY(1.5rem) scale(.985)}to{opacity:1;transform:none}}@keyframes reveal-photo-in{0%{opacity:0;transform:translateY(1rem) scale(.96)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:no-preference){.reveal-container.is-revealed .service-block{animation:reveal-card-up .68s cubic-bezier(.22,1,.36,1) both}.reveal-container.is-revealed .service-block:nth-child(2){animation-delay:.1s}.reveal-container.is-revealed .service-block:nth-child(3){animation-delay:.2s}.reveal-container.is-revealed .banner-photo-card{animation:reveal-photo-in .85s cubic-bezier(.22,1,.36,1) .12s both}.reveal-container.is-revealed .contact-availability,.reveal-container.is-revealed .contact-email,.reveal-container.is-revealed .contact-cta{animation:reveal-card-up .65s cubic-bezier(.22,1,.36,1) both}.reveal-container.is-revealed .contact-email{animation-delay:.1s}.reveal-container.is-revealed .contact-cta{animation-delay:.18s}}.section-content-reveal{width:100%}@media(prefers-reduced-motion:reduce){.section:before{animation:none}.reveal-container{opacity:1;transform:none;filter:none;transition:none}.reveal-container.is-revealed .service-block,.reveal-container.is-revealed .banner-photo-card,.reveal-container.is-revealed .contact-availability,.reveal-container.is-revealed .contact-email,.reveal-container.is-revealed .contact-cta{animation:none}}.section.section--banner{position:relative;isolation:isolate;--banner-bg: #191919;--banner-surface: var(--surface);--banner-text: var(--heading-text);--banner-muted: var(--ink-muted);--banner-accent: var(--accent-red);--banner-border: var(--rule);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(min-content,1fr);min-height:calc(100svh - var(--site-header-height));padding:0;overflow:hidden;background:var(--banner-bg);color:var(--banner-text);text-align:left}.section--banner:before,.section--banner:after{content:none;animation:none}.section--banner .banner-brand{position:absolute;top:2rem;left:5vw;z-index:2;display:inline-flex;align-items:baseline;border:0;color:var(--banner-text);font:700 clamp(1.25rem,2vw,1.75rem)/1 var(--font-body);letter-spacing:-.035em;text-transform:uppercase}.section--banner .banner-brand strong{color:var(--banner-accent);font-weight:inherit}.section--banner .banner-brand:hover{color:var(--banner-text);border-color:transparent}.section--banner .banner-inner{position:relative;z-index:1;display:block;width:100%;max-width:100rem;margin:0 auto;padding:clamp(2.5rem,5vh,4rem) 5vw}.banner-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(16rem,.7fr);gap:clamp(4rem,8vw,9rem);align-items:center}.banner-copy{min-width:0}.section--banner>.banner-terrain{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.banner-terrain:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(25,25,25,.65),rgba(25,25,25,.28) 65%,transparent)}@media(max-width:40rem){.banner-terrain:after{background:#19191973}}.section--banner .banner-kicker{display:flex;align-items:center;gap:1rem;margin:0 0 clamp(2rem,4vh,3rem);color:var(--banner-muted);font:400 .78rem/1.2 var(--font-body);letter-spacing:.1em;text-transform:uppercase}.banner-kicker-line{width:3.25rem;height:1px;background:var(--ink-muted)}.banner-kicker-number{color:var(--banner-accent)}.section--banner .banner-heading{max-width:18ch;margin:0;color:var(--banner-text);font-family:var(--font-body);font-size:clamp(3.25rem,5vw,4rem);font-weight:650;line-height:1.1;letter-spacing:-.045em}.section--banner .banner-heading span{color:var(--banner-accent)}.section--banner .banner-description{max-width:39rem;margin:clamp(2.25rem,4vh,2.75rem) 0 0;color:var(--banner-muted);font-size:clamp(1.05rem,1.35vw,1.125rem);font-weight:400;line-height:1.6}.banner-actions{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:clamp(2.25rem,4vh,2.75rem)}.section--banner .banner-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-width:16rem;min-height:3.5rem;padding:.85rem 1.8rem;border:1px solid var(--heading-text);border-radius:3px;color:var(--banner-text);font:500 .78rem/1.2 var(--font-body);letter-spacing:.1em;text-transform:uppercase;transition:color .18s ease,background .18s ease,border-color .18s ease}.section--banner .banner-cta span{color:var(--banner-accent);font:300 1.45rem/1 var(--font-body)}.section--banner .banner-cta--primary{border-color:var(--accent-red-border);background:var(--accent-red-surface)}.section--banner .banner-cta--primary span{color:var(--heading-text)}.section--banner .banner-cta--primary:hover{border-color:var(--banner-accent);background:var(--accent-red-surface-hover);color:var(--heading-text)}.section--banner .banner-cta--secondary{background:transparent}.section--banner .banner-cta--secondary:hover{border-color:var(--banner-accent);color:var(--heading-text)}.section--banner a:focus-visible{outline:2px solid var(--banner-accent);outline-offset:5px}.banner-annotation{align-self:center;justify-self:end;width:min(100%,20rem)}.section--banner .banner-panel-label{margin:0;color:var(--banner-muted);font:400 .7rem/1.5 var(--font-body);letter-spacing:.08em;text-transform:uppercase}.banner-focus-list{list-style:none;padding:0;margin:1rem 0 0}.banner-focus-list li{display:flex;align-items:center;gap:1rem;padding-block:1rem;color:var(--banner-text);font:400 .85rem/1.5 var(--font-body);letter-spacing:.06em;text-transform:uppercase}.banner-enquiries{margin-top:1.75rem;padding-top:1.5rem}.section--banner .banner-enquiry-description{margin:.65rem 0 0;color:var(--banner-text);font-size:.95rem;line-height:1.6}.banner-scroll{display:flex;align-items:center;gap:1.6rem;border:0;color:#858585;font:400 .72rem/1.5 var(--font-body);letter-spacing:.08em;text-transform:uppercase}.banner-scroll:hover{color:var(--banner-text);border-color:transparent}.banner-mouse{display:block;width:2rem;height:3.4rem;border:1px solid #b5b5b2;border-radius:1rem}.banner-mouse i{display:block;width:3px;height:3px;margin:.7rem auto 0;border-radius:50%;background:var(--banner-text)}@media(prefers-reduced-motion:no-preference){.banner-reveal{opacity:1;transform:translateY(12px);animation:banner-reveal .6s ease forwards}.banner-reveal--label{animation-delay:.1s}.banner-reveal--heading{animation-delay:.2s}.banner-reveal--description{animation-delay:.3s}.banner-reveal--actions{animation-delay:.4s}}@keyframes banner-reveal{to{opacity:1;transform:translateY(0)}}@media(max-width:64rem){.section.section--banner{min-height:calc(100svh - var(--site-header-height))}.section--banner .banner-inner{padding-block:3rem}.banner-layout{grid-template-columns:minmax(0,1.55fr) minmax(12rem,.55fr);gap:3rem}.section--banner .banner-heading{font-size:clamp(2.75rem,5.5vw,3.25rem)}}@media(max-width:48rem){.section.section--banner{min-height:auto}.section--banner .banner-inner{padding:3rem 1.25rem}.section--banner .banner-brand{top:1.25rem;left:1.25rem;font-size:1.15rem}.banner-layout{grid-template-columns:minmax(0,1fr);gap:3rem}.section--banner .banner-kicker{margin-bottom:2rem;font-size:.68rem;gap:.7rem}.banner-kicker-line{width:2rem}.section--banner .banner-heading{max-width:13ch;font-size:clamp(2.35rem,10vw,2.7rem)}.section--banner .banner-description{font-size:1rem}.banner-actions{flex-direction:column;align-items:stretch}.section--banner .banner-cta{width:100%;min-width:0}.banner-annotation{justify-self:start;width:100%}.banner-focus-list li{padding-block:.75rem}.banner-enquiries{margin-top:1.25rem;padding-top:1.25rem}.banner-scroll{display:none}}@media(prefers-reduced-motion:reduce){.banner-reveal{opacity:1;transform:none;animation:none}}.section.section--banner{--banner-bg: #191919;--banner-text: var(--heading-text);--banner-muted: var(--ink-muted);--banner-border: var(--rule);--banner-accent: var(--accent-red)}.section--banner .banner-inner{padding-block:clamp(4rem,8vw,8rem)}.banner-layout{grid-template-columns:minmax(0,2.8fr) minmax(14rem,.85fr);gap:clamp(2rem,5vw,6rem)}.section--banner .banner-heading{max-width:19ch;font-family:var(--font-body);font-size:var(--display-size);font-weight:700;line-height:1.02;letter-spacing:-.055em}.section--banner .banner-heading span{text-decoration:underline;text-decoration-color:var(--accent-red);text-decoration-thickness:.07em;text-underline-offset:.1em}.section--banner .banner-description{max-width:36rem}.section--banner .banner-cta{min-width:0;gap:1.5rem;padding-inline:1.4rem;letter-spacing:.04em}.section--banner .banner-cta--primary{background:var(--accent-red-surface);border-color:var(--heading-text)}.section--banner .banner-cta span{color:currentColor}.section--banner .banner-cta:hover{background:var(--heading-text);color:var(--bg-deep);border-color:var(--heading-text)}.section--banner a:focus-visible{outline-color:var(--heading-text)}.banner-annotation{align-self:end;padding-bottom:.4rem}.banner-panel-label{font-weight:600}@media(max-width:60rem){.banner-layout{grid-template-columns:1fr;gap:3.5rem}.banner-annotation{width:100%;justify-self:start;display:grid;grid-template-columns:1fr 1fr;gap:0 3rem}.banner-focus-list{grid-column:1}.banner-enquiries{grid-column:2;grid-row:1 / 3;margin:0}}@media(max-width:40rem){.section--banner .banner-inner{padding:5rem 1.25rem 3.5rem}.section--banner .banner-heading{font-size:var(--display-size)}.banner-annotation{display:block}.banner-enquiries{margin-top:1.5rem}}.section--banner .banner-cta--primary{background:var(--accent-red-surface);border-color:var(--accent-red-border);color:var(--heading-text)}.section--banner .banner-cta:hover{background:var(--accent-red-surface-hover);color:var(--heading-text);border-color:var(--accent-red)}.section--banner .banner-heading span{text-decoration-color:var(--accent-red)}.section--banner .banner-description--continuation{margin-top:1.25rem}.about-editorial-link{display:inline-flex;align-items:center;gap:1rem;min-height:2.75rem;margin-top:1.25rem;border:0;color:var(--about-text);font:500 .75rem/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase;transition:color .2s ease}.about-editorial-link span{color:var(--about-accent);font-size:1.2rem;transition:transform .2s ease}.about-editorial-link:hover{color:var(--about-accent)}.about-editorial-link:hover span{transform:translate(2px,-2px)}.section.section--about-contact{--about-text: #fff;--about-accent: var(--about-text);--text-muted: var(--about-text);--label-ink: var(--about-text);--about-border: rgb(255 255 255 / 35%);display:block;min-height:auto;padding-block:clamp(3rem,5vw,4.5rem);background:var(--accent-red);color:var(--about-text);text-align:left}.section--about-contact:before,.section--about-contact:after{content:none}.section--about-contact .about-contact-inner{display:block;width:100%;max-width:100rem;margin-inline:auto;padding-inline:5vw}.section--about-contact .about-contact-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,5vw,6rem);align-items:start}.section--about-contact .about-contact-content{min-width:0}.section--about-contact h2{max-width:19ch;margin:0;color:var(--about-text);font-family:var(--font-body);font-size:clamp(2rem,3.2vw,3rem);font-weight:700;line-height:1.02;letter-spacing:-.055em}.section--about-contact h2 span{color:inherit}.section--about-contact .about-contact-copy{width:100%;max-width:36rem;margin-top:1.5rem}.section--about-contact .about-contact-copy p{max-width:none;margin:0;color:var(--about-text);font-size:clamp(1.05rem,1.35vw,1.125rem);font-weight:400;line-height:1.6}.section--about-contact .about-contact-copy p+p{margin-top:1.5rem}.section--about-contact .about-contact-links{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:1.5rem}.section--about-contact .about-banner-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:44px;padding:.75rem 1.25rem;border:1px solid var(--about-text);border-radius:0;color:var(--about-text);font:500 .78rem/1.2 var(--font-body);letter-spacing:.04em;text-transform:uppercase;transition:color .18s ease,background .18s ease,border-color .18s ease}.section--about-contact .about-banner-cta span{color:currentColor;font:300 1.45rem/1 var(--font-body)}.section--about-contact .about-banner-cta:hover{background:transparent;color:#fff;border-color:var(--about-text)}.section--about-contact a:focus-visible{outline:2px solid var(--about-text);outline-offset:5px}@media(max-width:48rem){.section--about-contact .about-contact-layout{grid-template-columns:minmax(0,1fr);gap:1.75rem}}@media(max-width:48rem){.section--about-contact .about-contact-inner{padding-inline:1.25rem}.section--about-contact .about-contact-copy p{font-size:1rem}.section--about-contact .about-contact-links{flex-direction:column;align-items:stretch}.section--about-contact .about-banner-cta{width:100%}}@media(max-width:40rem){.section.section--about-contact{padding-block:3.5rem}}@media(prefers-reduced-motion:reduce){.about-editorial-link,.about-editorial-link span,.section--about-contact .about-banner-cta{transition:none}.about-editorial-link:hover span{transform:none}}.section--about-contact .about-contact-support .about-contact-copy{margin-top:0}.about-credentials{grid-column:1 / -1;display:flex;align-items:baseline;flex-wrap:wrap;gap:1rem 2.5rem;list-style:none;margin:0;padding:1.25rem 0 0;border-top:1px solid var(--about-border);font-size:.9375rem;line-height:1.5}.about-credentials strong{font-size:inherit;font-weight:700}.development-stack{--expanded-gap: .125rem;display:grid;row-gap:var(--expanded-gap);position:relative;isolation:isolate;width:100%;min-width:0;padding-block:1rem}.stack-layer{position:relative;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;column-gap:clamp(2.5rem,3.5vw,3.5rem);min-height:0;padding-block:0;z-index:calc(5 - var(--layer-index))}.stack-plane{width:100%;margin-block:-3rem;align-self:center;aspect-ratio:360 / 210;transform:perspective(1100px) rotateX(46deg) rotate(-18deg);color:#888;background:#f0f0f0db;border:1px solid #bbb;box-shadow:3px 5px #d9d9d980,10px 18px 24px #19191908}.stack-plane svg{display:block;width:100%;height:100%}.stack-plane--frontend{background:#e6394612;color:#666;border-color:#e63946}.stack-plane--logic{background:#e8e8e8d1}.stack-plane--data{background:#f6f6f6e0}.stack-plane--platforms{background:#e9e9e9}.stack-red{stroke:#e63946}.stack-edge{stroke:#aaa}.stack-plane--frontend .stack-edge{stroke:#e63946}.stack-trace{stroke:#e63946;stroke-width:2;stroke-dasharray:.08 .92;opacity:0}.stack-label{position:relative;top:calc((var(--layer-index) - 1.5) * 1.125rem);min-width:0;width:100%;padding:.125rem 0;align-self:center;border:0;background:transparent;text-align:left;font-family:var(--font-body);color:#191919;cursor:pointer}.stack-label:before{content:"";position:absolute;right:calc(100% + .6rem);top:1.1rem;width:1rem;height:1px;background:#bbb}.stack-label-title{display:block;font-size:clamp(.9375rem,1.15vw,1.125rem);font-weight:600;line-height:1.4}.stack-label-number{color:#e63946;font:400 .6875rem/1.5 var(--font-body);margin-right:.5rem}.stack-label-technologies{display:flex;flex-wrap:wrap;gap:0 .375rem;color:#666;font-size:.875rem;line-height:1.4;margin-top:.625rem}.stack-label-technologies>span{border-bottom:1px solid #ddd}.stack-tools-heading{display:block;margin-top:.25rem;color:#666;font-size:.75rem;line-height:1.5}.stack-label:focus-visible{outline:2px solid #E63946;outline-offset:5px}.stack-layer.is-active .stack-label-title{color:#b42531}.stack-layer.is-active .stack-plane{border-color:#e63946;translate:0 -6px}.stack-layer.is-active .stack-label:before{background:#e63946}.development-stack.has-active .stack-layer:not(.is-active) .stack-plane{opacity:.8}.stack-foundation{position:absolute;left:4%;bottom:1rem;width:40%;height:2rem;border-radius:50%;background:#19191905;filter:blur(8px)}@media(max-width:64rem){.stack-layer{column-gap:2rem}.stack-plane{transform:perspective(900px) rotateX(38deg) rotate(-14deg)}}@media(max-width:48rem){.development-stack{max-width:38rem;margin-inline:auto;padding-block:1rem}.stack-layer{padding-block:0}.stack-plane{transform:none;margin-block:0}}@media(max-width:30rem){.stack-layer{grid-template-columns:minmax(0,1fr);row-gap:.75rem;padding-block:.75rem}.stack-plane{width:72%;max-width:18rem;margin:0 auto}.stack-label{top:0;max-width:22rem;margin-inline:auto}.stack-label:before{display:none}.stack-foundation{display:none}}@media(prefers-reduced-motion:no-preference){.development-stack[data-animate] .stack-layer{transition:transform .45s ease-out}.development-stack[data-animate]:not(.is-expanded) .stack-layer{transform:translateY(calc(var(--layer-index) * var(--expanded-gap) * (var(--stack-expansion, 0) - 1)))}.development-stack[data-animate]:not(.is-expanded) .stack-label{opacity:var(--stack-expansion, 0)}.stack-label{transition:opacity .45s ease-out}.development-stack[data-animate] .stack-plane{transition:transform 1.3s cubic-bezier(.2,.75,.25,1),translate .3s ease,opacity .8s ease,border-color .3s ease}.development-stack.is-expanded .stack-plane svg{animation:stack-breathe 11s ease-in-out infinite;animation-delay:calc(1.5s + var(--layer-index) * .4s)}.development-stack.is-expanded .stack-trace{animation:stack-current 14s linear infinite;animation-delay:calc(2s + var(--layer-index) * 3s)}.development-stack[data-running=false] .stack-plane svg,.development-stack[data-running=false] .stack-trace,.development-stack[data-hidden=true] .stack-plane svg,.development-stack[data-hidden=true] .stack-trace{animation-play-state:paused}@keyframes stack-breathe{0%,to{translate:0 0}50%{translate:0 -2px}}@keyframes stack-current{0%,75%{opacity:0;stroke-dashoffset:1}79%{opacity:.6}96%{opacity:.6;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:0}}}@media(prefers-reduced-motion:reduce){.stack-layer.is-active .stack-plane{translate:none}}.section.section--services{--services-text: #191919;--services-muted: #666;display:block;min-height:auto;padding:clamp(7.25rem,10vw,9.75rem) 0;background:#fafafa;color:var(--services-text);text-align:left}.section--services:before,.section--services:after{content:none;animation:none}.section--services .services-inner{display:block;width:100%;max-width:100rem;margin:0 auto;padding:0 5vw}.services-stack-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:clamp(2rem,4vw,4rem);align-items:center}.services-stack-copy{min-width:0}.section--services .services-intro{display:flex;flex-direction:column;gap:2rem}.section--services .services-intro h2{margin:0;color:#191919;font-family:var(--font-body);font-size:var(--title-size);font-weight:650;font-style:normal;line-height:1.08;letter-spacing:-.045em;text-transform:none;text-shadow:none;-webkit-text-stroke:0}.services-intro h2 span{color:#e63946}.section--services .services-description{margin:0;max-width:38ch;color:#666;font-size:clamp(1rem,1.2vw,1.125rem);line-height:1.7}.services-cta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem;margin-top:2.5rem}.services-kicker{margin:0;color:#666;font:400 .75rem/1.5 var(--font-body)}.service-link{display:inline-flex;align-items:center;gap:1rem;min-height:2.75rem;color:#191919;font:500 .75rem/1.4 var(--font-body);text-transform:uppercase}.service-link span:last-child{color:#e63946}.service-link:hover{color:#191919;text-decoration:underline;text-underline-offset:5px}.service-link:focus-visible{outline:2px solid #E63946;outline-offset:5px}@media(max-width:64rem)and (min-width:48.001rem){.services-stack-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:1.5rem}.section--services .services-intro h2{font-size:clamp(2rem,3.5vw,2.75rem)}}@media(max-width:48rem){.section--services .services-inner{padding-inline:1.25rem}.services-stack-layout{grid-template-columns:minmax(0,1fr);gap:2.5rem}.section--services .services-description{max-width:45ch}}.arrow-icon{display:inline-block;width:1em;height:1em;flex:0 0 auto;vertical-align:-.125em}.website-screenshot{display:block;width:100%;aspect-ratio:8 / 5;overflow:hidden;border:1px solid var(--rule);background:#242424}.website-screenshot img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}.website-screenshot:focus-visible{outline:2px solid var(--accent-red);outline-offset:4px}.section.section--client-work{display:block;min-height:auto;padding:clamp(3rem,5vw,5rem) 0;background:#191919;color:var(--heading-text);text-align:left}.section--client-work:before,.section--client-work:after{content:none}.section--client-work .client-work-inner{display:block;width:100%;max-width:100rem;margin-inline:auto;padding-inline:5vw}.reviews-intro{margin-bottom:2rem;max-width:48rem}.section--client-work .reviews-intro h2{margin:0;color:var(--heading-text);font-family:var(--font-body);font-size:clamp(2rem,3.2vw,3rem);font-weight:650;line-height:1.12;letter-spacing:-.04em}.reviews-intro h2 span{color:var(--accent-red)}.reviews-intro>p{margin:1rem 0 0;color:var(--ink-muted);font-size:1rem;line-height:1.6}.review-slide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(1.75rem,4vw,4rem);padding-block:1.75rem;border-block:1px solid var(--rule)}.review-slide[hidden]{display:none}.review-content{min-width:0}.review-slide blockquote{margin:0}.review-slide blockquote p{margin:0;color:var(--heading-text);font-size:clamp(1rem,1.3vw,1.125rem);line-height:1.7}.review-full{margin-top:1rem}.review-full summary{cursor:pointer;width:fit-content;min-height:44px;padding-block:.625rem;font:500 .875rem/1.5 var(--button-font);text-transform:uppercase;text-decoration:underline;text-underline-offset:.25em}.review-close,.review-full[open] .review-read{display:none}.review-full[open] .review-close{display:inline}.review-slide footer{display:grid;gap:.25rem;margin-top:1.25rem}.review-slide cite{font-style:normal;font-weight:600}.review-slide footer>span{color:var(--ink-muted);font-size:.9375rem}.review-links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1.25rem}.review-action{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;color:var(--heading-text)}.review-action:hover{color:var(--accent-red)}.reviews-controls{display:flex;align-items:center;justify-content:flex-end;gap:1rem;margin-top:1.25rem}.reviews-arrow{display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid var(--rule);background:transparent;color:var(--heading-text);cursor:pointer}.reviews-arrow:hover{background:var(--accent-red-surface)}.review-position{font:.875rem/1.5 var(--button-font);font-variant-numeric:tabular-nums}.section--client-work :is(a,button,summary):focus-visible{outline:2px solid var(--accent-red);outline-offset:4px}@media(max-width:48rem){.section--client-work .client-work-inner{padding-inline:1.25rem}.review-slide{grid-template-columns:minmax(0,1fr);gap:1.5rem}.reviews-controls{justify-content:center}}:root{--site-header-height: 76px}.site-header{position:fixed;inset:0 0 auto;z-index:2000;height:var(--site-header-height);box-sizing:border-box;background:transparent;border:0;box-shadow:none;color:var(--heading-text);pointer-events:none}.site-header__inner{display:flex;width:min(100%,100rem);height:100%;margin-inline:auto;padding-inline:5vw;align-items:center;justify-content:space-between;gap:2rem}.site-header__inner>*,.site-header__mobile-nav{pointer-events:auto}.site-header__brand{position:relative;display:inline-flex;flex:0 0 44px;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:24px;background:#191919;color:#fff;font:700 1rem/1.25 var(--font-body);white-space:nowrap}.site-header__brand:before{content:"";position:absolute;inset:0;width:44px;border-radius:24px;background:#191919;transition:width .26s ease;pointer-events:none}.site-header__symbol{position:relative;z-index:1;width:28px;height:28px;color:var(--accent-red);flex:none}.site-header__wordmark{position:absolute;left:44px;top:0;display:flex;align-items:center;gap:.25em;height:44px;width:140px;text-transform:uppercase;overflow:hidden;clip-path:inset(0 100% 0 0);opacity:0;visibility:hidden;transition:clip-path .26s ease,opacity .18s ease,visibility .26s}.site-header__wordmark strong{font-weight:inherit}.site-header__brand:focus-within:before{width:184px}.site-header__brand:focus-within .site-header__wordmark{clip-path:inset(0);opacity:1;visibility:visible}@media(hover:hover)and (pointer:fine){.site-header__brand:hover:before{width:184px}.site-header__brand:hover .site-header__wordmark{clip-path:inset(0);opacity:1;visibility:visible}}.site-header__brand:hover{color:#fff;background:#191919}.site-header__desktop-nav{margin-left:auto;border:1px solid rgb(255 255 255 / 18%);border-radius:999px;background:#191919;padding:4px 5px 4px 12px;overflow:visible}@supports ((backdrop-filter: blur(8px)) or (-webkit-backdrop-filter: blur(8px))){.site-header__desktop-nav,.site-header__toggle{background:#191919eb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}}.site-header__desktop-nav ul,.site-header__mobile-nav ul{list-style:none;margin:0;padding:0}.site-header__desktop-nav>ul{display:flex;align-items:center;gap:clamp(.15rem,.65vw,.65rem)}.site-header__desktop-nav a{display:inline-flex;align-items:center;min-height:44px;padding:.5rem .45rem;gap:.65rem;border:0;color:#ccc;font:500 .7rem/1.3 var(--font-body);letter-spacing:.06em;text-transform:uppercase}.site-header a[aria-current],.services-navigation[data-active]>a,.services-navigation[data-active] summary{color:#fff;text-decoration:underline;text-decoration-color:var(--accent-red);text-underline-offset:.4em}.site-header a:hover{color:#fff}.site-header__desktop-nav .site-header__cta{--button-font-size: .75rem;min-height:40px;border:1px solid var(--accent-red);border-radius:999px;background:var(--accent-red);color:#fff;padding:.5rem .8rem}.site-header__desktop-nav .site-header__cta:hover{background:var(--accent-red-surface-hover)}.site-header__cta b,.site-header__mobile-nav b{color:currentColor;display:inline-flex}.site-header :is(a,button,summary):focus-visible{outline:2px solid #fff;outline-offset:3px}.site-header__brand:focus-visible{outline-color:var(--accent-red)}.site-header__toggle{display:none;width:48px;height:44px;padding:.7rem;border:1px solid rgb(255 255 255 / 25%);border-radius:999px;background:#191919;color:#fff;cursor:pointer}.site-header__toggle span{display:block;width:22px;height:1px;margin:.32rem 0;background:currentColor;transition:transform .2s ease}.site-header__toggle[aria-expanded=true] span:first-child{transform:translateY(.33rem) rotate(45deg)}.site-header__toggle[aria-expanded=true] span:last-child{transform:translateY(-.33rem) rotate(-45deg)}.site-header__mobile-nav{display:none}.site-content section[id],.service-page [id]{scroll-margin-top:calc(var(--site-header-height) + 1rem)}.services-navigation{position:relative;display:flex;align-items:center}.services-navigation details{position:static}.services-navigation summary{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;list-style:none;cursor:pointer;color:#ccc}.services-navigation summary::-webkit-details-marker{display:none}.services-nav-indicator{font-size:1.125rem;line-height:1;text-decoration:none}.site-header__desktop-nav .services-submenu{position:absolute;top:100%;left:0;display:grid;width:21rem;padding:.5rem;border:1px solid rgb(255 255 255 / 18%);border-radius:12px;background:#191919}.site-header__desktop-nav .services-submenu a{width:100%}@media(max-width:72rem){:root{--site-header-height: 68px}.site-header__inner{padding-inline:1.25rem;gap:1rem}.site-header__desktop-nav{display:none}.site-header__toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;width:48px;height:48px;aspect-ratio:1;border-radius:50%;background:#191919;color:#fff}.site-header__mobile-nav{position:absolute;top:100%;left:1.25rem;right:1.25rem;display:block;max-height:calc(100dvh - var(--site-header-height) - 1rem);overflow-y:auto;overscroll-behavior:contain;border:1px solid rgb(255 255 255 / 18%);border-radius:16px;background:#191919}.site-header__mobile-nav[hidden]{display:none}.site-header__mobile-nav>ul{padding:.5rem 1rem}.site-header__mobile-nav li{border-top:1px solid var(--rule)}.site-header__mobile-nav>ul>li:first-child{border-top:0}.site-header__mobile-nav a{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding-block:.65rem;color:#ccc;border:0;font:500 .8125rem/1.4 var(--font-body);letter-spacing:.04em;text-transform:uppercase}.services-navigation--mobile,.services-navigation--mobile details{display:block;width:100%}.services-navigation--mobile summary{justify-content:space-between;min-height:52px;font:500 .8125rem/1.4 var(--font-body);text-transform:uppercase}.site-header__mobile-nav .services-submenu{padding-left:.75rem}}@media(hover:none){.site-header__brand:not(:focus-visible):before{width:44px}.site-header__brand:not(:focus-visible) .site-header__wordmark{visibility:hidden;opacity:0;clip-path:inset(0 100% 0 0)}}@media(prefers-reduced-motion:reduce){.site-header *,.site-header *:before{transition:none!important}}.site-header__brand:focus-within:before{background:var(--accent-red)}.site-header__brand:focus-within :is(.site-header__symbol,.site-header__wordmark){color:#fff}@media(hover:hover)and (pointer:fine){.site-header__brand:hover:before{background:var(--accent-red)}.site-header__brand:hover :is(.site-header__symbol,.site-header__wordmark){color:#fff}}.site-header__desktop-nav .services-navigation summary{position:absolute;width:1px;height:1px;min-width:0;min-height:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.site-header__desktop-nav .services-navigation summary:focus-visible{top:100%;left:0;width:max-content;height:auto;min-height:44px;padding:.5rem .75rem;clip-path:none;background:#191919;z-index:1}.site-header__desktop-nav .services-navigation details:has(summary:focus-visible) .services-submenu{top:calc(100% + 44px)}.case-detail{background:#191919;color:var(--heading-text);padding-top:0}.case-detail-inner{max-width:100rem;margin-inline:auto;padding-inline:5vw}.case-back{display:inline-flex;align-items:center;min-height:44px;color:var(--ink-muted);margin-bottom:2rem}.case-intro{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:clamp(2rem,6vw,6rem);align-items:end;margin-bottom:2.5rem}.case-detail .case-label{margin:0 0 1rem;color:var(--accent-red-text);font:400 .75rem/1.5 var(--font-body);text-transform:uppercase;letter-spacing:.08em}.case-detail h1{margin:0 0 1.25rem;font-size:clamp(2.75rem,5vw,4.75rem);line-height:1.05;letter-spacing:-.045em}.case-detail p{color:var(--ink-muted);line-height:1.7}.case-introduction{max-width:52ch;margin:0 0 1rem;font-size:1.125rem}.case-metadata{margin:0;display:grid;gap:1.25rem;padding-bottom:.75rem}.case-metadata>div{padding-top:1rem}.case-metadata dt{font:.75rem/1.5 var(--font-body);text-transform:uppercase;color:var(--ink-muted)}.case-metadata dd{margin:.5rem 0 0;line-height:1.6}.case-metadata .case-platform{display:flex;align-items:center;gap:.65rem}.case-platform svg{flex:none}.case-figure{margin:0;min-width:0}.case-figure img{display:block;width:100%;height:auto}.case-figure figcaption{margin-top:.75rem;color:var(--ink-muted);font-size:.8125rem;line-height:1.5}.case-content-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,6rem);border-top:1px solid var(--rule);padding-block:clamp(2rem,4vw,3.5rem)}.case-figure+.case-content-row{margin-top:2.5rem}.case-content-row h2{margin:0;max-width:20ch;font-size:clamp(1.75rem,2.8vw,2.75rem);line-height:1.15;letter-spacing:-.035em}.case-content-row>p,.case-content-row>div>p{margin:0}.case-contributions{list-style:none;margin:0;padding:0}.case-contributions li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:1rem;padding-bottom:1.5rem}.case-contributions li+li{border-top:1px solid var(--rule);padding-top:1.5rem}.case-contributions svg{width:24px;height:24px;color:var(--accent-red)}.case-contributions h3{margin:0 0 .5rem;font-size:1.125rem}.case-contributions p{margin:0}.case-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:2rem;margin-bottom:2.5rem}.case-gallery>:only-child{grid-column:1 / -1}.case-gallery:has(.case-figure--mobile){grid-template-columns:minmax(0,3fr) minmax(0,1fr)}.case-gallery .case-figure--mobile{max-width:24rem;justify-self:center}.case-action{display:inline-flex;align-items:center;min-height:44px;color:var(--heading-text);gap:.5rem}.case-action--outline{border:1px solid var(--ink-muted);padding:.75rem 1.25rem;margin-top:1.5rem}.case-detail a:hover{color:var(--heading-text);text-decoration:underline;text-underline-offset:.3em}.case-detail a:focus-visible{outline:2px solid var(--accent-red);outline-offset:5px}.case-next{border-top:1px solid var(--rule);padding-block:2rem}.case-next>a{display:flex;align-items:center;justify-content:space-between;gap:2rem;color:var(--heading-text)}.case-next-title{font-size:clamp(1.75rem,3vw,2.75rem);font-weight:600}.case-next-title>span{color:var(--accent-red);margin-left:1rem}.case-next img{width:25%;max-width:15rem;height:auto}.case-contact{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:1rem;padding:clamp(1.25rem,3vw,2rem);background:#242424}.case-contact h2{font-size:clamp(1.25rem,2vw,1.625rem);margin:0}.case-contact .case-action{margin-top:0}@media(max-width:48rem){.case-detail-inner{padding-inline:1.25rem}.case-intro,.case-content-row,.case-gallery,.case-gallery:has(.case-figure--mobile){grid-template-columns:minmax(0,1fr);gap:1.5rem}.case-next>a{gap:1rem}.case-next img{width:30%}.case-contact{flex-direction:column;align-items:flex-start}}.case-detail>.detail-banner+.case-detail-inner{padding-top:clamp(2.5rem,5vw,4.5rem)}.work-index{background:#191919;color:var(--heading-text);padding-top:0}.work-project{width:100%;background:#000}.work-project:nth-child(2n){background:#191919}.work-project-inner{max-width:100rem;margin-inline:auto;padding-inline:5vw;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:center;gap:clamp(2rem,4vw,4rem);padding-block:clamp(2rem,4vw,3.5rem)}.work-preview{display:block;border:0}.work-preview img{display:block;width:100%;height:auto}.work-project-copy{min-width:0}.work-project h2{margin:0 0 .75rem;font-size:clamp(1.75rem,2.5vw,2.5rem);line-height:1.15;letter-spacing:-.03em}.work-project .work-project-service{margin:0 0 1rem;color:var(--heading-text);font-size:1.0625rem}.work-project-summary{margin:0;color:var(--ink-muted);font-size:1rem;line-height:1.65}.work-project-tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:1.25rem 0 0;padding:0}.work-project-tags li{border:1px solid var(--rule);padding:.25rem .6rem;color:var(--ink-muted);font:.75rem/1.5 var(--font-body)}.work-project-links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1.25rem}.work-project-links a,.work-index-cta a{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;color:var(--heading-text)}.work-project-links .work-case-link{color:var(--accent-red)}.work-index a:hover{text-decoration:underline;text-underline-offset:.3em}.work-index a:focus-visible{outline:2px solid var(--accent-red);outline-offset:5px}.work-index-cta{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:2.5rem;padding:clamp(1.25rem,3vw,2rem);background:#242424}.work-index-cta h2{margin:0;font-size:clamp(1.25rem,2vw,1.625rem)}@media(max-width:48rem){.work-project-inner{padding-inline:1.25rem}.work-project-inner{grid-template-columns:minmax(0,1fr);gap:1.5rem}.work-index-cta{align-items:flex-start;flex-direction:column;gap:.75rem}}.animation-banner{position:relative;isolation:isolate;display:grid;min-height:min(44rem,78svh);overflow:hidden;box-sizing:border-box;padding:clamp(2rem,7vw,6rem);place-items:center;border:.0625rem solid rgba(84,200,255,.2);border-radius:clamp(1.25rem,3vw,2.5rem);background:#111116;text-align:center}.animation-banner__texture{position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(0deg,rgba(245,247,250,.035) 0 .0625rem,transparent .0625rem .25rem),radial-gradient(circle at center,transparent 40%,rgba(9,9,11,.55));pointer-events:none}.animation-banner__visual,.animation-banner__orb,.animation-banner__scan{position:absolute;pointer-events:none}.animation-banner__visual{inset:0;z-index:-2;overflow:hidden}.animation-banner__orb{width:clamp(18rem,45vw,38rem);aspect-ratio:1;border-radius:50%;filter:blur(1rem);opacity:.32}.animation-banner__orb--green{top:-28%;left:-8%;background:radial-gradient(circle,var(--accent),transparent 68%);animation:animation-banner-drift-a 10s ease-in-out infinite alternate}.animation-banner__orb--blue{right:-12%;bottom:-32%;background:radial-gradient(circle,#54c8ff,transparent 68%);animation:animation-banner-drift-b 12s ease-in-out infinite alternate}.animation-banner__orb--purple{top:25%;left:40%;width:clamp(12rem,30vw,25rem);background:radial-gradient(circle,#9a7dff,transparent 68%);animation:animation-banner-drift-c 9s ease-in-out infinite alternate}.animation-banner__scan{top:0;right:0;left:0;height:.125rem;background:rgba(var(--accent-rgb),.65);box-shadow:0 0 1rem rgba(var(--accent-rgb),.45);animation:animation-banner-scan 5s linear infinite}.animation-banner__content{max-width:58rem}.animation-banner__eyebrow{color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.animation-banner h1{margin:.75rem 0 1rem;font-size:clamp(2.4rem,7vw,6rem);text-transform:uppercase}.animation-banner p{max-width:42rem;margin:0 auto;font-size:clamp(.95rem,1.5vw,1.1rem)}@keyframes animation-banner-drift-a{to{transform:translate(45%,35%)}}@keyframes animation-banner-drift-b{to{transform:translate(-38%,-28%)}}@keyframes animation-banner-drift-c{to{transform:translate(-35%,30%)}}@keyframes animation-banner-scan{0%{transform:translateY(-1rem)}to{transform:translateY(46rem)}}@media(prefers-reduced-motion:reduce){.animation-banner__orb,.animation-banner__scan{animation:none}}.test-page{min-height:100vh;min-height:100svh;box-sizing:border-box;padding:clamp(1rem,3vw,2.5rem);background:linear-gradient(145deg,#292a31,#202127)}.test-page__nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(100%,90rem);margin:0 auto 1rem;color:var(--text-muted);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.test-page>.animation-banner{width:min(100%,90rem);margin:0 auto}.interactive-selector{--selector-surface: #222;--selector-active: #292929;--selector-border: #484848;--selector-text: #fff;--selector-muted: #c2c2c2;margin-top:3rem;min-width:0}.interactive-selector--light{--selector-surface: #fff;--selector-active: #f5f5f3;--selector-border: #d6d6d6;--selector-text: #191919;--selector-muted: #555}.selector-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.interactive-selector .selector-tabs button{display:flex;align-items:center;gap:1rem;width:100%;min-width:0;padding:1.5rem;border:1px solid var(--selector-border);border-radius:5px;background:var(--selector-surface);color:var(--selector-text);text-align:left;font:600 clamp(1rem,1.4vw,1.25rem)/1.35 var(--font-body);cursor:pointer}.interactive-selector .selector-tabs button:hover{border-color:#e63946}.interactive-selector .selector-tabs button[aria-selected=true]{border-color:#e63946;background:var(--accent-red-surface, #981f29);color:#fff;box-shadow:inset 0 0 0 1px #e63946}.interactive-selector .selector-tabs button[aria-selected=true] .selector-icon-wrap,.interactive-selector .selector-tabs button[aria-selected=true] .bento-icon{color:#fff}.selector-icon-wrap{display:flex;flex:0 0 28px;color:#e63946}.selector-icon-wrap .bento-icon{width:28px;height:28px;flex-basis:28px;padding:0;background:transparent;color:#e63946}.selector-icon-wrap .bento-icon-svg,.selector-icon{display:block;width:28px;height:28px}.selector-details{display:grid;margin-top:1rem;background:var(--selector-surface);border:1px solid var(--selector-border);border-radius:5px}.interactive-selector .selector-detail{grid-area:1 / 1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:2rem;padding:clamp(1.5rem,3vw,2.5rem)}.interactive-selector .selector-detail[hidden]{visibility:hidden;pointer-events:none}.interactive-selector .selector-description{margin:0;color:var(--selector-text);font-size:1.0625rem;line-height:1.7}.interactive-selector .selector-points-label{margin:0 0 .75rem;color:var(--selector-muted);font:400 .75rem/1.5 var(--font-body)}.interactive-selector .selector-detail ul{margin:0;padding:0;list-style:none;display:grid;gap:.75rem}.interactive-selector .selector-detail li{position:relative;padding-left:1rem;color:var(--selector-muted);font-size:.9375rem;line-height:1.6}.selector-detail li:before{content:"";position:absolute;top:.65em;left:0;width:4px;height:4px;background:#e63946}.interactive-selector .selector-tabs button:focus-visible,.interactive-selector .selector-detail:focus-visible{outline:2px solid var(--selector-text);outline-offset:4px}@media(max-width:64rem){.interactive-selector .selector-tabs button{flex-direction:column;align-items:flex-start;padding:1.25rem}}@media(max-width:40rem){.selector-tabs{grid-template-columns:minmax(0,1fr);gap:.75rem}.interactive-selector .selector-tabs button{flex-direction:row;align-items:center;padding:1rem 1.25rem}.interactive-selector .selector-detail{grid-template-columns:minmax(0,1fr);gap:1.5rem;padding:1.25rem}}@media(prefers-reduced-motion:no-preference){.interactive-selector .selector-tabs button{transition:background .18s ease,border-color .18s ease}.selector-detail:not([hidden]){animation:selector-detail-in .22s ease-out}@keyframes selector-detail-in{0%{opacity:0}to{opacity:1}}}.selector-fallback{display:grid;gap:1rem}.selector-fallback>section{padding:1.5rem;border:1px solid var(--selector-border);border-radius:5px;background:var(--selector-surface)}.interactive-selector .selector-fallback :is(h3,p,li){color:var(--selector-text)}.selector-fallback ul{padding-left:1.25rem}.section.section--contact{--contact-bg: var(--bg-deep);--contact-surface: var(--surface);--contact-text: var(--heading-text);--contact-muted: var(--ink-muted);--contact-accent: var(--accent-red);--contact-border: var(--rule);display:block;min-height:auto;padding:clamp(4rem,6vw,6rem) 0;background:var(--contact-bg);color:var(--contact-text);text-align:left}.section--contact:before,.section--contact:after{content:none}.section--contact .contact-inner{display:block;width:100%;max-width:100rem;margin:0 auto;padding:0 5vw}.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,4vw,4rem);align-items:start}.contact-intro,.contact-form-column{min-width:0}.section--contact h2{margin:0;color:var(--contact-text);font-family:inherit;font-size:clamp(2.5rem,4.15vw,4rem);font-weight:650;font-style:normal;line-height:1.1;letter-spacing:-.045em;text-transform:none;text-shadow:none;-webkit-text-stroke:0}.section--contact h2 span{color:var(--contact-accent)}.section--contact .contact-description{max-width:35rem;margin:2.5rem 0 0;color:var(--contact-muted);font-size:clamp(1.0625rem,1.35vw,1.1875rem);line-height:1.6}.contact-details{display:grid;gap:2.5rem;margin:3.5rem 0 0;padding:2.75rem 0 0;border-top:1px solid var(--contact-border)}.contact-details>div{position:relative;min-width:0;padding-left:3.6rem}.contact-details dt>svg{position:absolute;left:0;top:0}.contact-details svg{width:1.6rem;height:1.6rem;margin-top:.25rem}.contact-details dt{margin:0 0 .45rem;color:var(--contact-muted);font:400 .72rem/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase}.contact-details dd{margin:0;font-size:clamp(1.0625rem,1.3vw,1.1875rem);line-height:1.5;overflow-wrap:anywhere}.section--contact a{color:var(--contact-text)}.section--contact a:hover{color:var(--contact-accent);border-color:var(--contact-accent)}.contact-form-column{border-left:1px solid var(--contact-border);padding-left:clamp(2.5rem,4vw,4rem);padding-top:1rem}.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.contact-field{display:flex;flex-direction:column;gap:.6rem;min-width:0}.contact-field--full{grid-column:1 / -1}.contact-field label{color:var(--contact-text);font:400 .72rem/1.5 var(--font-body);letter-spacing:.06em;text-transform:uppercase}.contact-field label span{color:var(--contact-accent)}.contact-field input,.contact-field select,.contact-field textarea{box-sizing:border-box;width:100%;min-width:0;padding:1rem;border:1px solid var(--contact-border);border-radius:2px;background:var(--contact-surface);color:var(--contact-text);font:inherit;font-size:1rem;line-height:1.5;color-scheme:dark}.contact-field textarea{resize:vertical;min-height:10rem}.contact-field ::placeholder{color:var(--ink-muted);opacity:1}.section--contact :is(input,select,textarea,button,a):focus-visible{outline:2px solid var(--contact-accent);outline-offset:3px}.contact-field :is(input,select,textarea):focus{border-color:var(--contact-accent)}.contact-field [aria-invalid=true]{border-color:var(--contact-accent)}.contact-field-error{color:var(--contact-text);font-size:.8rem;line-height:1.5}.contact-submit{display:flex;justify-content:center;align-items:center;gap:.8rem;min-height:4rem;padding:1rem;border:0;border-radius:2px;background:var(--contact-text);color:var(--contact-bg);font:500 .8rem/1.5 var(--font-body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .2s ease}.contact-submit:hover{background:var(--heading-text)}.contact-submit span{font-size:1.25rem;transition:transform .2s ease}.contact-submit:hover span{transform:translate(3px,-2px)}.contact-submit:disabled{cursor:wait;opacity:.65}.contact-feedback{color:var(--contact-muted);font-size:.875rem}.contact-feedback:empty{display:none}.contact-success{padding:2rem 0;border-top:1px solid var(--contact-border)}.contact-success h3{color:var(--contact-text);font:500 1rem/1.5 var(--font-body);text-transform:uppercase;letter-spacing:.08em}.section--contact .contact-success p{color:var(--contact-muted)}.section--contact .contact-privacy{margin:1.75rem 0 0;color:var(--contact-muted);font-size:.8125rem;line-height:1.6}.contact-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:70rem){.contact-layout{gap:2rem}.contact-form-column{padding-left:2rem}.contact-form{grid-template-columns:1fr}}@media(max-width:48rem){.section--contact .contact-inner{padding-inline:1.25rem}.contact-layout{grid-template-columns:1fr;gap:3rem}.section--contact h2{font-size:clamp(2.35rem,8.5vw,3rem)}.contact-form-column{padding:2.5rem 0 0;border-left:0;border-top:1px solid var(--contact-border)}.contact-details{gap:2rem;margin-top:2.5rem}}@media(prefers-reduced-motion:reduce){.contact-submit,.contact-submit span{transition:none}.contact-submit:hover span{transform:none}}.section--contact .contact-message-hint{margin:0;color:var(--contact-muted);font-size:.8125rem;line-height:1.6}.section.section--contact{--text-muted: var(--ink-muted);--contact-bg: var(--bg-deep);--contact-surface: var(--surface);--contact-muted: var(--ink-muted);--contact-accent: var(--accent-red);--contact-border: var(--rule);padding-block:clamp(4rem,8vw,8rem)}.section--contact h2{font-size:var(--title-size);font-weight:650}.contact-field input,.contact-field select,.contact-field textarea{color-scheme:dark;border-color:var(--heading-text)}.contact-field [aria-invalid=true]{border:2px solid var(--heading-text)}.contact-field-error{font-weight:600}.contact-submit{background:var(--heading-text);color:var(--bg-deep)}.contact-submit:hover{background:var(--surface);color:var(--heading-text)}.section--contact a:hover{text-decoration:underline;text-underline-offset:4px}.contact-submit:hover{background:var(--accent);color:var(--bg-deep)}.contact-field input,.contact-field select,.contact-field textarea{border-color:var(--contact-border)}.section--contact :is(input,select,textarea,button,a):focus-visible{outline-color:var(--accent)}.section--contact .contact-submit{background:transparent;border:1px solid #fff;color:#fff}.section--contact .contact-submit:hover{background:#0000001a;color:#fff}.section--contact :is(a,button,input,select,textarea):focus-visible{outline-color:#fff}.agency-page{min-height:calc(100vh - var(--site-header-height));min-height:calc(100svh - var(--site-header-height));overflow:hidden;background:var(--bg-deep);color:var(--heading-text)}.agency-page__intro{display:grid;min-height:calc(100vh - var(--site-header-height) - 9rem);min-height:calc(100svh - var(--site-header-height) - 9rem);padding:clamp(6rem,10vw,9rem) 0;box-sizing:border-box;align-items:center}.agency-page__inner{width:min(90vw,90rem);margin:0 auto}.agency-page__label{display:flex;align-items:center;gap:1rem;margin:0 0 2.5rem;color:var(--ink-muted);font:400 .75rem/1.3 var(--font-body);letter-spacing:.1em;text-transform:uppercase}.agency-page__label:before{content:"";width:3.25rem;height:1px;background:var(--accent-red)}.agency-page__intro h1{max-width:13ch;margin:0;color:var(--heading-text);font:650 clamp(3.2rem,7vw,6.5rem)/1.03 var(--font-body);letter-spacing:-.05em}.agency-page__intro h1 span{color:var(--accent-red)}.agency-page__inner>p:last-of-type{max-width:42rem;margin:2.25rem 0 0;color:var(--ink-muted);font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.65}.agency-page__inner>a{display:inline-flex;min-height:3.75rem;margin-top:2.5rem;padding:.8rem 1.15rem;box-sizing:border-box;align-items:center;gap:2rem;border:1px solid var(--rule);border-radius:.2rem;color:var(--heading-text);font:500 .75rem/1.4 var(--font-body);letter-spacing:.08em;text-transform:uppercase;transition:border-color .22s ease}.agency-page__inner>a b{color:var(--heading-text);font:400 1.25rem/1 var(--font-body)}.agency-page__inner>a:hover{border-color:var(--heading-text)}.agency-page__inner>a:focus-visible{outline:2px solid var(--accent-red);outline-offset:4px}.agency-page .site-footer{padding-inline:0}@media(max-width:40rem){.agency-page__intro{min-height:auto;padding:6rem 0}.agency-page__inner{width:calc(100% - 2.5rem)}.agency-page__intro h1{font-size:clamp(2.7rem,13vw,4rem)}.agency-page__inner>a{width:100%;justify-content:space-between}}@media(prefers-reduced-motion:reduce){.agency-page__inner>a{transition:none}}html:has(.partnership-page){scroll-snap-type:none}.partnership-content{--about-text: var(--heading-text);--about-accent: var(--accent-red);--partnership-muted: var(--ink-muted);--partnership-border: var(--rule);font-family:var(--font-body)}.partnership-inner{width:min(90vw,90rem);margin-inline:auto}.partnership-content h1,.partnership-content h2,.partnership-content h3{margin:0;color:var(--about-text);font-family:inherit;font-style:normal;font-weight:650;text-transform:none;letter-spacing:-.04em;text-shadow:none;-webkit-text-stroke:0}.partnership-content h1{max-width:none}.partnership-content h2{font-size:clamp(2rem,3.3vw,3.25rem);line-height:1.12}.partnership-content h1 span,.partnership-content h2 span{color:var(--accent-red)}.partnership-content p{margin:0;color:var(--partnership-muted);font-size:clamp(1rem,1.2vw,1.125rem);line-height:1.65}.partnership-content p+p{margin-top:1.25rem}.partnership-panel h2,.partnership-panel li,.partnership-tags li,.partnership-content .partnership-option-label{font:400 .75rem/1.6 var(--font-body);letter-spacing:.07em;text-transform:uppercase}.partnership-lead{margin-top:2rem;max-width:42rem}.partnership-actions{display:flex;flex-wrap:wrap;gap:.5rem 2.5rem;margin-top:1rem}.partnership-content a:focus-visible,.partnership-content button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.partnership-content .about-editorial-link:hover span{color:var(--accent)}.partnership-panel{border-left:1px solid var(--partnership-border);padding-left:clamp(1.5rem,3vw,3rem)}.partnership-content .partnership-panel h2{color:var(--partnership-muted);font-size:.7rem}.partnership-panel ul{list-style:none;padding:0;margin:1rem 0 0}.partnership-panel li+li{margin-top:.5rem}.partnership-panel>div+div{border-top:1px solid var(--partnership-border);padding-top:2rem;margin-top:2rem}.partnership-section{padding-block:clamp(4rem,6vw,6rem);border-top:1px solid var(--partnership-border)}.partnership-editorial{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:start}.partnership-tags{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;list-style:none;padding:0;margin:1.5rem 0 0}.partnership-tags li{color:var(--partnership-muted);font-size:.65rem}.partnership-surface{background:var(--surface);border-top:1px solid var(--partnership-border)}.partnership-surface .partnership-section{border-top:0}.partnership-options{margin-top:3rem}.partnership-options>div{--about-text: var(--brand-charcoal);--partnership-muted: var(--brand-charcoal);background:var(--brand-paper);border:1px solid color-mix(in srgb,var(--brand-charcoal) 22%,transparent)}.partnership-options .bento-icon-heading{gap:1.75rem;margin-bottom:1.25rem}.partnership-options h3{margin:0;color:var(--brand-charcoal);font-family:var(--font-body);font-size:clamp(1.5rem,2vw,2rem);font-weight:600;line-height:1.12;letter-spacing:-.04em;text-transform:none}.partnership-options>div>p{font-size:1rem;line-height:1.65}@media(max-width:40rem){.partnership-options>div{padding:1.5rem}}.partnership-content .partnership-option-label{margin-top:2rem;font-size:.65rem}.partnership-note{margin-top:3rem}.partnership-faq{margin-top:3rem;border-bottom:1px solid var(--partnership-border)}.partnership-faq-item{border-top:1px solid var(--partnership-border)}.partnership-faq h3{font-size:clamp(1.1rem,1.8vw,1.5rem);letter-spacing:-.02em}.partnership-faq button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.5rem 0;margin:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:color .2s ease}.partnership-faq button:hover{color:var(--partnership-muted)}.partnership-faq-mark{color:var(--heading-text);flex-shrink:0}.partnership-faq [role=region]{max-width:52rem;padding-bottom:1.5rem}.partnership-faq [role=region]:not([hidden]){animation:partnership-answer-in .18s ease}@keyframes partnership-answer-in{0%{opacity:0}to{opacity:1}}@media(max-width:48rem){.partnership-inner{width:calc(100% - 2.5rem)}.partnership-editorial{grid-template-columns:1fr;gap:2.5rem}.partnership-content h2{font-size:clamp(2rem,7.5vw,3rem)}.partnership-panel{border-left:0;border-top:1px solid var(--partnership-border);padding:2rem 0 0}}@media(prefers-reduced-motion:reduce){.partnership-faq button{transition:none}.partnership-faq [role=region]:not([hidden]){animation:none}}.partnership-content h2{font-size:var(--title-size)}.partnership-surface{background:var(--surface)}.partnership-content .partnership-panel h2{font-size:.75rem}.partnership-content .about-editorial-link:hover span{color:currentColor}.partnership-faq-mark{background:var(--accent-red-surface);width:2rem;height:2rem;display:grid;place-items:center}#agency-support{--about-text: var(--heading-text);--partnership-muted: var(--ink-muted);--text-muted: var(--ink-muted);width:100%;padding:clamp(4rem,7vw,7rem) max(5vw,calc((100% - 90rem)/2));background:#191919}#agency-support .partnership-editorial{grid-template-columns:minmax(0,1fr);gap:1.75rem;text-align:center}@media(max-width:48rem){#agency-support{padding-inline:1.25rem}}@media(min-width:48.001rem){#agency-benefits .editorial-row{grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr)}}#agency-remote{--about-text: #fff;--partnership-muted: #fff;width:100%;padding-inline:max(5vw,calc((100% - 90rem)/2));background:#e63946;border-bottom:0}#agency-remote+#agency-options{border-top:0}#agency-remote:before{filter:grayscale(1) brightness(0) invert(1);opacity:.3}@media(max-width:48rem){#agency-remote{padding-inline:1.25rem}}.partnership-lead{color:color-mix(in srgb,var(--brand-charcoal) 65%,transparent)!important}#agency-benefits{background:var(--bg-deep)}#agency-benefits .partnership-editorial{grid-template-columns:minmax(0,1fr);gap:1.75rem;text-align:center}#agency-faq{width:100%;padding-inline:max(5vw,calc((100% - 90rem)/2));background:#191919}@media(max-width:48rem){#agency-faq{padding-inline:1.25rem}}.partnership-faq-fallback{display:grid;gap:1.5rem;margin-top:3rem}.partnership-faq-fallback h3{margin-bottom:.75rem}.process-page{--about-text: var(--heading-text);--about-accent: var(--accent-red);--process-muted: var(--ink-muted);--process-border: var(--rule)}.process-inner{width:min(90vw,90rem);margin-inline:auto}.process-editorial{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:start}.process-editorial h2{font-family:inherit;font-weight:650;font-style:normal;color:var(--about-text);text-shadow:none;-webkit-text-stroke:0}.process-editorial h2{margin:0;font-size:clamp(1.9rem,3vw,2.75rem);line-height:1.15;letter-spacing:-.035em}.process-page .process-editorial p:not(.agency-page__label){margin:0;color:var(--process-muted);font-size:clamp(1rem,1.2vw,1.125rem);line-height:1.6}.process-page .process-editorial p+p{margin-top:1.25rem}.process-partnership{padding-block:clamp(4rem,6vw,6rem);border-block:1px solid var(--process-border);background:var(--surface)}.process-page .about-editorial-link:focus-visible{outline:2px solid var(--about-accent);outline-offset:5px}@media(max-width:48rem){.process-inner{width:calc(100% - 2.5rem)}.process-editorial{grid-template-columns:1fr;gap:1.75rem}}.process-page{--about-accent: var(--accent-red)}.process-workflow{width:100%;padding:clamp(4rem,7vw,7rem) max(5vw,calc((100% - 90rem)/2));background:var(--bg-deep)}.process-editorial h2{font-size:var(--title-size);font-weight:650}.process-partnership{--about-text: #fff;--about-accent: #fff;--process-muted: #fff;background:#e63946}.process-partnership:before{filter:grayscale(1) brightness(0) invert(1);opacity:.3}.process-partnership .about-editorial-link{color:#fff;border:1px solid #fff;border-radius:3px;padding:.85rem 1.4rem}.process-partnership .about-editorial-link:hover{background:#ffffff1a}@media(max-width:48rem){.process-workflow{padding-inline:1.25rem}}#process-workflow .process-editorial{grid-template-columns:minmax(0,1fr);gap:1.75rem;text-align:center}html:has(.biography-page){scroll-snap-type:none}.biography-page{background:var(--bg-deep);color:var(--heading-text)}.biography-content{--about-text: var(--heading-text);--about-accent: var(--accent-red);--biography-muted: var(--ink-muted);--biography-border: var(--rule);font-family:var(--font-body)}.biography-inner{width:min(90vw,90rem);margin-inline:auto}.biography-content h1,.biography-content h2,.biography-content h3{margin:0;color:var(--about-text);font-family:inherit;font-weight:650;font-style:normal;text-transform:none;text-shadow:none;-webkit-text-stroke:0;letter-spacing:-.04em}.biography-content h1{font-size:clamp(3rem,4.8vw,4.75rem);line-height:1.08}.biography-content h2{font-size:clamp(2rem,3.3vw,3.25rem);line-height:1.12}.biography-content h1 span,.biography-content h2 span{color:var(--accent-red)}.biography-content p{margin:0;color:var(--biography-muted);font-size:clamp(1rem,1.2vw,1.125rem);line-height:1.65}.biography-content .biography-label,.biography-content .biography-facts{font-family:var(--font-body);font-size:.75rem;font-weight:400;line-height:1.6;letter-spacing:.07em;text-transform:uppercase}.biography-content .biography-lead{margin-top:2rem;max-width:38rem}.biography-content .biography-facts{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;margin-top:2rem;font-size:.65rem}.biography-section{padding-block:clamp(4rem,6vw,6rem);border-top:1px solid var(--biography-border)}.biography-editorial{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:start}.biography-copy p+p{margin-top:1.25rem}.biography-highlights{margin-top:clamp(2.5rem,4vw,3.5rem)}.biography-highlights h3{font-size:clamp(1.5rem,2.2vw,2.25rem);line-height:1.15;margin:1rem 0}.biography-surface{background:var(--surface);border-top:1px solid var(--biography-border)}.biography-surface .biography-section{border-top:0}@media(max-width:48rem){.biography-inner{width:calc(100% - 2.5rem)}.biography-editorial{grid-template-columns:1fr;gap:2.5rem}.biography-content h1{font-size:clamp(2.35rem,9vw,3.75rem)}.biography-content h2{font-size:clamp(2rem,7.5vw,3rem)}.biography-highlights{margin-top:2.5rem}}.biography-content{--about-accent: var(--accent-red)}.biography-content h1{font-size:var(--display-size);font-weight:700}.biography-content h2{font-size:var(--title-size)}.biography-surface{background:var(--surface)}.biography-highlights>div{background:var(--surface)}#about-background{--about-text: #fff;--biography-muted: #fff;--text-muted: #fff;--label-ink: #fff;width:100%;padding-top:clamp(3.5rem,5vw,5rem);padding-inline:max(5vw,calc((100% - 90rem)/2));background:var(--accent-red)}#about-background h2 span{color:inherit}#about-background .biography-editorial{gap:clamp(2rem,4vw,4rem)}#about-background .biography-copy{max-width:60ch}#about-background .biography-background-panel{--heading-text: var(--brand-charcoal);--biography-muted: var(--brand-charcoal);--biography-border: color-mix(in srgb, var(--brand-charcoal) 18%, transparent);--panel-padding: clamp(1.25rem, 2vw, 2rem);margin-top:clamp(1.875rem,3vw,2.625rem);border:1px solid var(--biography-border);background:#fff}#background-panel-heading{display:flex;align-items:center;gap:.75rem;margin:0;padding:1rem var(--panel-padding);border-bottom:1px solid var(--biography-border);color:var(--heading-text);font-size:.9375rem;font-weight:500;line-height:1.5;letter-spacing:0}#background-panel-heading .terminal-prompt-icon{color:var(--accent-red)}#about-background .biography-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}#about-background .biography-highlights>div{min-width:0;padding:var(--panel-padding);background:transparent}#about-background .biography-highlights>div+div{border-left:1px solid var(--biography-border)}#about-background .biography-highlights h4{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 .25em;min-height:2.5em;margin:.875rem 0 .75rem;color:var(--heading-text);font-family:inherit;font-size:clamp(1.25rem,1.8vw,1.75rem);font-weight:650;line-height:1.25;letter-spacing:-.035em}#about-background .biography-experience-figure{font-size:1.2em;line-height:1}@media(max-width:48rem){#about-background{padding-inline:1.25rem}#about-background .biography-highlights{grid-template-columns:minmax(0,1fr)}#about-background .biography-highlights>div+div{border-left:0;border-top:1px solid var(--biography-border)}#about-background .biography-highlights h4{min-height:0}}@media(max-width:48rem){.biography-content h1{font-size:var(--display-size)}}.page-banner--portrait{--about-text: var(--brand-charcoal);--about-accent: var(--accent-red);--biography-muted: var(--brand-charcoal);--text-muted: var(--brand-charcoal);--label-ink: var(--accent-red);--portrait-gutter: max(5vw, calc((100% - 90rem)/2) );--hero-padding: clamp(4rem, 8vw, 8rem);padding-bottom:0}.page-banner--portrait h1{max-width:19ch;line-height:1.02;letter-spacing:-.055em}.page-banner--portrait .biography-lead{max-width:36rem;margin-top:clamp(2.25rem,4vh,2.75rem);font-size:clamp(1.05rem,1.35vw,1.125rem);font-weight:400;line-height:1.6}.page-banner__content--portrait>div{padding-bottom:var(--hero-padding);min-width:0}.page-banner--portrait .biography-portrait{margin:0 0 0 calc(-1 * var(--portrait-gutter));width:calc(100% + var(--portrait-gutter));max-width:38rem;justify-self:start;align-self:end}.biography-portrait img{display:block;width:100%;height:auto}@media(max-width:60rem){.page-banner__content--portrait>div{padding-bottom:0;grid-row:1}.page-banner--portrait .biography-portrait{max-width:34rem}}@media(max-width:48rem){.page-banner--portrait{--portrait-gutter: 1.25rem}.page-banner--portrait .biography-lead{font-size:1rem}}@media(max-width:40rem){.page-banner--portrait{--hero-padding: 3.5rem}}.biography-linkedin{display:inline-flex;align-items:center;gap:.625rem;margin-top:1.5rem;color:var(--brand-charcoal);font-size:.9375rem;text-decoration:underline;text-underline-offset:.25em}.biography-linkedin:hover{color:var(--accent-red)}.biography-linkedin:focus-visible{outline:2px solid var(--accent-red);outline-offset:5px}#about-expertise{background:#191919}#about-expertise .biography-editorial{grid-template-columns:minmax(0,1fr);gap:1.75rem;text-align:center}:root{--button-font: var(--font-body);--button-font-size: .875rem}:root body :is(button,.btn-primary,.btn-secondary,.banner-cta,.about-banner-cta,.about-editorial-link,.service-link,.review-action,.case-action,.services-index-action,.service-action,.work-project-links a,.work-index-cta a,.biography-linkedin,.cta-button,.site-header__desktop-nav .site-header__cta,.site-header__mobile-nav a[href="#contact"],.stack-label .stack-label-title){font-family:var(--button-font);font-size:var(--button-font-size);font-weight:500;font-style:normal;line-height:1.5;letter-spacing:.06em;text-transform:uppercase}.stack-label :is(.stack-label-technologies,.stack-tools-heading){text-transform:none;letter-spacing:normal}:root body :is(.btn-secondary,.banner-cta--secondary,.about-banner-cta--secondary,.about-banner-cta--outline,.about-editorial-link,.service-link,.review-action,.case-action,.services-index-action,.service-action:not(.service-action--primary),.work-project-links a,.work-index-cta a,.red-cta-band a){font-weight:700;background:transparent;text-decoration:none}:root body :is(.btn-primary,.banner-cta--primary,.about-banner-cta--primary,.service-action--primary,.site-header__desktop-nav .site-header__cta){background:var(--cta-red);border-color:var(--cta-red);color:#fff}
