/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans: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;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--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;-webkit-text-decoration:inherit;-webkit-text-decoration: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}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.hidden{display:none}.table{display:table}.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}.border{border-style:var(--tw-border-style);border-width:1px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--surface-0:#fafafa;--surface-1:#f5f5f5;--surface-2:#f0f0f0;--surface-dark:#292929;--surface-deep:#1f1f1f;--border-0:#d9d9d9;--border-soft:#e7e5e1;--ink-primary:#292929;--ink-secondary:#474747;--ink-tertiary:#636363;--accent:#fb7465;--accent-soft:#ffedeb;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shell:1240px;--spacing-page:72px;--spacing-section-section:72px;--spacing-insection-b:52px;--spacing-insection-m:32px;--spacing-insection-s:24px;--spacing-insection-xs:12px;--spacing-element-big:24px;--spacing-element-medium:16px;--spacing-element-small:12px;--spacing-element-xs:4px;--spacing-image-up:8px;--spacing-image-down:16px;--radius-huge:48px;--radius-detail-lg:24px;--radius-detail-sm:12px;--radius-detail-xs:8px;--colour-text-black:#1a1a1a;--colour-text-grey:#474747;--colour-text-light:gray;--colour-primary:#2e6afc;--colour-line-light:#e5e5e5;--colour-image-bg-black:#2e2e2e;--colour-image-bg-light:#f7f7f7;--colour-border:#eaeaea;--colour-blue-50:#ebf4ff;--shadow-visible-tokens:0 2px 15px #0000000d;--detail-text-display-size:72px;--detail-text-h1-size:40px;--detail-text-h2-size:32px;--detail-text-h3-size:28px;--detail-text-h4-size:24px;--detail-text-body1-size:20px;--detail-text-body1-line-height:32px;--detail-text-body2-size:16px;--detail-text-body2-line-height:24px;--detail-text-body4-size:12px;--detail-text-body4-line-height:16px;--detail-text-subtitle-size:14px;--detail-text-subtitle-letter-spacing:1px;--project-card-surface:#fff;--project-card-media-surface:#f2f2f2;--project-card-text-primary:#2b2b2b;--project-card-text-secondary:#4a4a4a;--project-card-text-tertiary:#666;--project-card-tag-surface:#f5f5f5;--colour-red-200:#ffbfb8;--colour-orange-200:#ffd3a3;--colour-yellow-200:#ffe9b3;--colour-olive-200:#dae0b8;--colour-green-200:#c4e5c3;--colour-mint-200:#b6e7da;--colour-aqua-200:#9ef;--colour-blue-200:#b8d9ff;--colour-blueviolet-200:#c2c5ff;--colour-purple-200:#e8d1ff;--colour-magenta-200:#ffc7f6;--colour-pink-200:#ffc2e0;--project-card-radius:12px;--project-card-media-radius:8px;--project-card-tag-radius:12px;--project-card-padding:24px;--project-card-gap:20px;--project-card-content-gap:8px;--project-card-title-gap:4px;--project-card-tag-gap:14px;--project-card-tag-padding-block:8px;--project-card-tag-padding-inline:12px;--project-card-media-height:270px;--project-card-logo-size:40px;--project-card-height:400px;--project-card-tag-height:40px;--project-card-title-size:28px;--project-card-title-line-height:38px;--project-card-title-weight:700;--project-card-meta-size:13px;--project-card-meta-line-height:20px;--project-card-body-size:15px;--project-card-body-line-height:24px;--project-card-tag-size:15px;--project-card-tag-line-height:24px;--project-card-tag-weight:700;--project-card-media-shadow:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{isolation:isolate;color:var(--ink-primary);font-family:var(--font-manrope), "Manrope", Arial, sans-serif;-webkit-font-smoothing:antialiased;background:#efefef;margin:0;font-size:16px;line-height:1.5;position:relative}body:before{z-index:0;--site-grid-size:clamp(72px, min(8.75vw, 15.556dvh), 168px);content:"";background-image:linear-gradient(90deg,#a7b1cc59 1px,#0000 1px),linear-gradient(#a7b1cc59 1px,#0000 1px);background-position:50%;background-size:var(--site-grid-size) var(--site-grid-size);pointer-events:none;-webkit-user-select:none;user-select:none;width:100vw;height:100dvh;position:fixed;top:0;left:0;-webkit-mask-image:radial-gradient(72vmin,#000 28%,#000000e0 48%,#00000061 74%,#0000 100%);mask-image:radial-gradient(72vmin,#000 28%,#000000e0 48%,#00000061 74%,#0000 100%)}body>*{z-index:1;position:relative}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}::selection{background:var(--colour-primary);color:#fff}.skip-link{z-index:100;border-radius:var(--radius-sm);background:var(--surface-dark);color:#fff;padding:10px 16px;position:fixed;top:12px;left:16px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.shell{width:min(calc(100% - 64px), var(--shell));margin-inline:auto}.site-header{z-index:50;background:var(--surface-0);border-bottom:1px solid var(--border-soft);position:sticky;top:0}.nav{justify-content:space-between;align-items:center;min-height:76px;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.brand-mark{background:var(--accent);width:10px;height:10px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:3px}.nav-links{align-items:center;gap:30px;font-size:14px;display:flex}.nav-links a{color:var(--ink-secondary);padding:27px 0 25px;transition:color .18s;position:relative}.nav-links a:hover,.nav-links a:focus-visible{color:var(--ink-primary)}.nav-links a:after{content:"";background:var(--ink-primary);transform-origin:50%;height:2px;transition:transform .18s;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.hero{border-bottom:1px solid var(--border-soft);min-height:690px;padding-top:152px;padding-bottom:100px}.eyebrow{color:var(--ink-tertiary);letter-spacing:.09em;text-transform:uppercase;margin:0 0 24px;font-size:12px;font-weight:600}.hero-title,.page-title{letter-spacing:-.045em;max-width:1020px;margin:0;font-size:clamp(50px,6.1vw,86px);font-weight:600;line-height:1.04}.hero-intro{grid-template-columns:minmax(0,600px) auto;align-items:end;gap:48px;margin-top:56px;display:grid}.hero-intro p{color:var(--ink-secondary);margin:0;font-size:20px;line-height:1.5}.text-link{border-bottom:1px solid var(--ink-primary);justify-content:flex-start;align-items:center;gap:7px;width:fit-content;padding-bottom:3px;font-size:14px;font-weight:600;transition:gap .18s;display:inline-flex}.text-link:hover{gap:11px}.section{padding-top:120px;padding-bottom:136px}.section-heading{border-bottom:1px solid var(--border-0);grid-template-columns:1fr 1fr;align-items:end;gap:32px;padding-bottom:24px;display:grid}.section-heading h2{margin:0;font-size:14px;font-weight:600}.section-heading p{color:var(--ink-tertiary);justify-self:end;margin:0;font-size:14px}.project-list{gap:112px;margin-top:48px;display:grid}.project-card{grid-template-columns:1.9fr 1fr;align-items:center;gap:48px;display:grid}.project-card:nth-child(2n) .project-visual{order:2}.project-card:nth-child(2n) .project-copy{padding-left:0;padding-right:28px}.project-visual{border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface-1);justify-content:center;align-items:center;min-height:480px;padding:56px;transition:transform .24s,border-color .24s;display:flex;overflow:hidden}.project-card:hover .project-visual{border-color:#c9c6c1;transform:translateY(-4px)}.project-cover-image{overflow:hidden}.project-cover-image img{object-fit:contain;width:100%;height:100%;display:block}.case-cover-image{background:#202020;padding:0}.visual-dark{background:var(--surface-deep);border-color:#383838}.visual-warm{background:#f3eee9}.project-copy{padding-left:28px}.project-index{color:var(--ink-tertiary);margin-bottom:44px;font-size:12px;display:block}.project-copy h3{letter-spacing:-.035em;margin:0 0 16px;font-size:clamp(28px,3vw,42px);line-height:1.12}.project-copy p{color:var(--ink-secondary);margin:0 0 28px;font-size:16px;line-height:1.7}.project-meta,.case-meta{flex-wrap:wrap;gap:8px;margin-bottom:34px;display:flex}.tag{border:1px solid var(--border-0);border-radius:var(--radius-xs);color:var(--ink-secondary);padding:6px 9px;font-size:11px;font-weight:500}.mock-window{border-radius:var(--radius-md);background:var(--surface-0);border:1px solid #d3d1cd;width:min(100%,660px);overflow:hidden;box-shadow:0 24px 60px #29292914}.visual-dark .mock-window{background:#292929;border-color:#444;box-shadow:0 24px 70px #0000003d}.mock-top{border-bottom:1px solid #e2e0dc;align-items:center;gap:5px;height:42px;padding:0 14px;display:flex}.visual-dark .mock-top{border-color:#414141}.mock-top i{background:#cbc8c2;border-radius:50%;width:6px;height:6px}.mock-top i:first-child{background:var(--accent)}.mock-body{grid-template-columns:25% 1fr;min-height:296px;display:grid}.mock-rail{border-right:1px solid #e5e3df;padding:22px 14px}.visual-dark .mock-rail{border-color:#414141}.mock-line{background:#dedbd6;border-radius:4px;height:7px;margin-bottom:13px}.visual-dark .mock-line{background:#464646}.mock-line.short{width:58%}.mock-content{padding:24px}.mock-kicker{background:var(--accent);border-radius:4px;width:28%;height:7px;margin-bottom:14px}.mock-title{background:#77736e;border-radius:4px;width:67%;height:14px;margin-bottom:28px}.visual-dark .mock-title{background:#b8b8b8}.mock-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.mock-cell{border-radius:var(--radius-sm);border:1px solid #dfdcd7;height:96px;padding:12px}.visual-dark .mock-cell{border-color:#464646}.mock-cell:before,.mock-cell:after{content:"";background:#d8d5cf;border-radius:3px;height:6px;display:block}.mock-cell:after{width:58%;margin-top:10px}.visual-dark .mock-cell:before,.visual-dark .mock-cell:after{background:#505050}.thinking-section{padding-top:8px;padding-bottom:136px}.principles{grid-template-columns:repeat(3,1fr);gap:48px;padding-top:48px;display:grid}.principles article{padding-right:28px}.principles span{color:var(--accent);font-size:12px;font-weight:600}.principles h3{letter-spacing:-.02em;margin:64px 0 14px;font-size:22px}.principles p{color:var(--ink-tertiary);margin:0;line-height:1.7}.closing-cta{border-top:1px solid var(--border-0);grid-template-columns:1fr auto;align-items:end;padding-top:120px;padding-bottom:120px;display:grid}.closing-cta .eyebrow{grid-column:1/-1}.closing-cta h2{letter-spacing:-.04em;max-width:820px;margin:0;font-size:clamp(42px,5vw,68px);line-height:1.05}.button{border:1px solid var(--ink-primary);border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:12px;min-height:46px;padding:0 17px;font-size:14px;font-weight:600;transition:transform .18s,background .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink-primary);color:#fff}.page-hero{border-bottom:1px solid var(--border-soft);padding-top:132px;padding-bottom:112px}.page-title{max-width:950px}.page-lead{max-width:680px;color:var(--ink-secondary);margin:42px 0 0;font-size:20px;line-height:1.6}.photo-wall{columns:3;column-gap:16px;padding-top:20px;padding-bottom:112px}.photo-tile{break-inside:avoid;cursor:zoom-in;background:0 0;border:0;border-radius:2px;width:100%;margin:0 0 16px;padding:0;display:block;overflow:hidden}.photo-tile img,.photo-tile .photo-placeholder{object-fit:cover;width:100%;height:100%;transition:transform .26s,opacity .26s;display:block}.photo-tile:hover img,.photo-tile:hover .photo-placeholder{opacity:.94;transform:scale(1.008)}.photo-wide{aspect-ratio:4/3}.photo-portrait,.photo-tall{aspect-ratio:4/5}.photo-square{aspect-ratio:1}.photo-landscape{aspect-ratio:16/10}.photo-panorama{aspect-ratio:16/9}.photo-stone .photo-placeholder{background:#e7e4df}.photo-warm .photo-placeholder{background:#eee5df}.photo-cool .photo-placeholder{background:#e2e7e6}.photo-paper .photo-placeholder{background:#eeece6}.photo-lightbox{z-index:100;background:#141414f5;place-items:center;padding:40px 88px;display:grid;position:fixed;inset:0}.lightbox-media{place-items:center;width:min(1120px,82vw);height:min(820px,84vh);display:grid}.lightbox-media img,.lightbox-media .photo-placeholder{object-fit:contain;width:100%;height:100%;display:block}.lightbox-close,.lightbox-arrow{z-index:1;color:#fff;cursor:pointer;background:0 0;border:0;position:fixed}.lightbox-close{padding:8px;font-size:32px;font-weight:200;top:24px;right:28px}.lightbox-arrow{padding:16px;font-size:26px;top:50%;transform:translateY(-50%)}.lightbox-previous{left:20px}.lightbox-next{right:20px}.lightbox-close:focus-visible,.lightbox-arrow:focus-visible,.photo-tile:focus-visible{outline-offset:3px;outline:2px solid #fff}.projects-page .project-list{margin-top:0}.career-section{grid-template-columns:.8fr 1.2fr;gap:96px;padding-top:88px;padding-bottom:136px;display:grid}.career-heading h2,.education-section h2{letter-spacing:-.035em;max-width:360px;margin:16px 0 0;font-size:clamp(30px,3vw,42px);line-height:1.12}.experience-accordion{border-top:1px solid var(--border-0)}.experience-accordion details{border-bottom:1px solid var(--border-0)}.experience-accordion summary{cursor:pointer;grid-template-columns:40px minmax(0,1fr) auto 24px;align-items:center;gap:24px;padding:26px 0;list-style:none;display:grid}.experience-accordion summary::-webkit-details-marker{display:none}.experience-accordion summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.experience-number,.experience-accordion time,.experience-company span{color:var(--ink-tertiary);font-size:12px}.experience-company{gap:5px;display:grid}.experience-company strong{color:var(--ink-primary);font-size:18px;font-weight:600}.experience-accordion time{white-space:nowrap}.accordion-toggle{color:var(--ink-secondary);font-size:22px;font-weight:300;transition:transform .18s}.experience-accordion details[open] .accordion-toggle{transform:rotate(45deg)}.experience-body{grid-template-columns:.75fr 1.25fr;gap:48px;padding:8px 0 48px 64px;display:grid}.experience-role{color:var(--ink-primary);margin-bottom:16px;font-size:14px;font-weight:600;display:block}.experience-body p,.experience-body li{color:var(--ink-secondary);font-size:14px;line-height:1.7}.experience-body p{margin:0}.experience-body h3{margin:0 0 14px;font-size:13px;font-weight:600}.experience-body ul{gap:9px;margin:0 0 24px;padding-left:18px;display:grid}.education-section{border-top:1px solid var(--border-0);grid-template-columns:.8fr 1.2fr;gap:96px;padding-top:96px;padding-bottom:120px;display:grid}.education-record{grid-template-columns:136px 1fr;gap:32px;padding-top:8px;display:grid}.education-record>span{color:var(--ink-tertiary);font-size:12px}.education-record h3{letter-spacing:-.025em;margin:0 0 8px;font-size:24px;line-height:1.25}.education-record p{color:var(--ink-secondary);margin:0;font-size:15px}.prose h2{letter-spacing:-.035em;max-width:720px;margin:0 0 32px;font-size:clamp(32px,4vw,52px);line-height:1.12}.prose p{max-width:700px;color:var(--ink-secondary);margin:0 0 24px;font-size:18px;line-height:1.75}.experience{border-top:1px solid var(--border-0);margin-top:72px}.experience-row{border-bottom:1px solid var(--border-soft);grid-template-columns:1fr 1fr auto;gap:24px;padding:22px 0;font-size:14px;display:grid}.experience-row span:nth-child(2),.experience-row span:nth-child(3){color:var(--ink-tertiary)}.about-contact{border-top:1px solid var(--border-0);grid-template-columns:1fr 1fr;gap:96px;padding-top:96px;padding-bottom:136px;display:grid}.about-contact h2{letter-spacing:-.04em;max-width:580px;margin:0;font-size:clamp(38px,4.5vw,64px);line-height:1.05}.about-contact-details{align-self:end}.about-contact-details p{max-width:560px;color:var(--ink-secondary);margin:0 0 32px;font-size:18px;line-height:1.7}.contact-email{border-bottom:2px solid var(--accent);letter-spacing:-.025em;padding-bottom:4px;font-size:clamp(24px,3vw,38px);font-weight:600;display:inline-block}.about-contact-details span{color:var(--ink-tertiary);margin-top:18px;font-size:12px;display:block}body:has(.case-study-workspace){background:#efefef}body:has(.case-study-workspace) .site-footer{display:none}body:has(.case-study-workspace) #main-content{min-height:100dvh}.case-study-workspace{--case-paper-width:min(1272px, calc(100vw - 64px));--case-paper-top:96px;--case-page-gutter:72px;--case-content-width:1128px;--case-font-heading:var(--font-bricolage), sans-serif;--case-font-body:var(--font-inter), sans-serif;--case-radius-page:var(--radius-huge);--case-radius-feature:24px;--case-space-section:180px;--case-h1-size:40px;--case-h1-weight:700;--case-h1-line-height:normal;--case-h1-letter-spacing:0;--case-space-section-section:72px;--case-space-insection-b:48px;--case-space-insection-m:32px;--case-space-title-big-down:24px;--case-space-insection-s:16px;--case-spacing-section:var(--case-space-section-section);--case-spacing-section-large:var(--case-space-section-section);--case-spacing-insection-b:var(--case-space-insection-b);--case-spacing-insection-content:var(--case-space-insection-s);--case-spacing-insection-m:var(--case-space-insection-m);--case-spacing-insection-s:var(--case-space-insection-s);--case-radius-xs:8px;--case-radius-lg:24px;--case-colour-black-lighter:#282828;--case-colour-grey-text:#474747;--case-colour-body-detail:#595959;--case-colour-grey-bg:#f0f0f0;--case-colour-grey-hover:#fafafa;width:100%;min-height:100dvh;padding-top:var(--case-paper-top);color:#131313;font-family:var(--font-inter), sans-serif;background:0 0;position:relative;overflow:clip}.case-study-toolbar{z-index:20;isolation:isolate;align-items:center;width:100%;height:80px;display:flex;position:fixed;top:0;left:0}.case-study-toolbar:before{z-index:-1;content:"";-webkit-backdrop-filter:blur(18px)saturate(115%);backdrop-filter:blur(18px)saturate(115%);opacity:0;pointer-events:none;background:#ffffffd9;transition:opacity .42s cubic-bezier(.22,.72,.24,1);position:absolute;inset:0;box-shadow:0 6px 20px #1818180b}.case-study-toolbar.is-scrolled:before{opacity:1}.case-study-toolbar-inner{justify-content:space-between;align-items:center;width:min(1128px,100vw - 208px);height:100%;margin:0 auto;display:flex}.case-study-project-navigation{justify-content:flex-end;align-items:center;gap:20px;min-width:196px;display:flex}.case-study-nav-button{color:#fff;border-radius:16px;outline:none;width:88px;height:32px;animation:.45s ease-out .15s both case-study-nav-button-opacity-in;display:block;position:relative}@keyframes case-study-nav-button-in{0%{animation-timing-function:cubic-bezier(.16,1,.3,1);transform:translateY(-12px)}58.182%{animation-timing-function:ease-in-out;transform:translateY(6px)}76.364%{animation-timing-function:ease-out;transform:translateY(-3px)}to{transform:translate(0)}}@keyframes case-study-nav-button-opacity-in{0%{opacity:0}to{opacity:1}}.case-study-nav-button.is-compact{width:64px}.case-study-nav-button:before{content:"";border-radius:28px;position:absolute;inset:-8px}.case-study-nav-surface,.case-study-nav-colour,.case-study-nav-texture{border-radius:inherit;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.case-study-nav-surface{overflow:hidden}.case-study-nav-colour{background:#b7b7b7;transition:background-color .18s ease-out}.case-study-nav-texture{object-fit:fill;transition:opacity .18s ease-out}.case-study-nav-texture.is-hover{opacity:0}.case-study-nav-content{z-index:1;height:100%;font-family:var(--case-font-heading);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:16px;font-weight:500;line-height:1;display:flex;position:relative}.case-study-nav-button.is-compact .case-study-nav-content{padding:0}.case-study-nav-arrow{flex:none;width:22px;height:auto;transition:transform .21s cubic-bezier(.22,1.3,.42,1);display:block}.case-study-nav-arrow.is-left{transform:rotate(180deg)}.case-study-nav-button:hover .case-study-nav-colour,.case-study-nav-button:focus-visible .case-study-nav-colour,.case-study-nav-button:active .case-study-nav-colour{background:#de753c}.case-study-nav-button:hover .case-study-nav-texture.is-default,.case-study-nav-button:focus-visible .case-study-nav-texture.is-default,.case-study-nav-button:active .case-study-nav-texture.is-default{opacity:0}.case-study-nav-button:hover .case-study-nav-texture.is-hover,.case-study-nav-button:focus-visible .case-study-nav-texture.is-hover,.case-study-nav-button:active .case-study-nav-texture.is-hover{opacity:1}.case-study-nav-button.is-next:hover .case-study-nav-arrow,.case-study-nav-button.is-next:focus-visible .case-study-nav-arrow{transform:translate(4px)}.case-study-nav-button.is-back:hover .case-study-nav-arrow,.case-study-nav-button.is-back:focus-visible .case-study-nav-arrow,.case-study-nav-button.is-previous:hover .case-study-nav-arrow,.case-study-nav-button.is-previous:focus-visible .case-study-nav-arrow{transform:rotate(180deg)translate(4px)}.case-study-nav-button:focus-visible{box-shadow:0 0 0 3px #de753c3d}.case-study-paper{z-index:2;width:var(--case-paper-width);min-height:calc(100dvh - var(--case-paper-top));border-radius:var(--case-radius-page);background:#fff;margin:0 auto 64px;animation:.6s cubic-bezier(.16,.74,.22,1.12) both case-study-paper-in;position:relative;overflow-x:clip}.case-study-workspace.is-exiting .case-study-paper{pointer-events:none;animation:.5s ease-out both case-study-paper-out}.case-study-project-backdrop{z-index:1;opacity:1;pointer-events:none;width:100vw;height:100dvh;position:fixed;top:0;left:0;overflow:hidden}.case-study-project-backdrop .portfolio-desktop{transform-origin:50%;animation:.38s both case-study-project-content-in}@keyframes case-study-project-content-in{0%,21.053%{opacity:0;animation-timing-function:cubic-bezier(.4,0,.6,1);transform:scale(.965)}36.842%{opacity:.15;animation-timing-function:cubic-bezier(.16,1,.3,1);transform:scale(.972)}73.684%{opacity:1;animation-timing-function:ease-out;transform:scale(1.008)}to{opacity:1;transform:scale(1)}}@keyframes case-study-paper-out{0%{opacity:1}to{opacity:0}}.case-study-workspace.is-exiting .case-study-toolbar{pointer-events:none}.case-study-workspace.is-exiting .case-study-toolbar:before{opacity:0;transition-duration:.18s}.case-study-workspace.is-exiting .case-study-nav-button{animation:.35s ease-out .15s both case-study-nav-button-out}@keyframes case-study-nav-button-out{0%{opacity:1}to{opacity:0}}@keyframes case-study-paper-in{0%{opacity:0;transform:translateY(120px)scale(.88)}to{opacity:1;transform:translate(0)scale(1)}}.case-study-document{min-height:100%}.case-study-paper .shell{width:min(calc(100% - (var(--case-page-gutter) * 2)), var(--case-content-width))}.case-study-paper .case-hero{padding-top:48px}.case-study-paper .praedico-design-sidebar{top:104px}.case-study-paper .praedico-design-section{scroll-margin-top:128px}.case-study-document{font-family:var(--case-font-body)}.case-study-document h1,.case-study-document h2,.case-study-document h3,.case-study-document h4{font-family:var(--case-font-heading)}.case-study-top-region{width:100%;padding:var(--case-space-insection-b) 0;justify-content:center;align-items:center;display:flex}.case-study-top-button{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:50%;outline:none;width:72px;height:72px;margin:0;padding:0;display:block;position:relative}.case-study-top-button:before{content:"";border-radius:50%;position:absolute;inset:-8px}.case-study-top-surface,.case-study-top-colour,.case-study-top-texture{pointer-events:none;border-radius:50%;width:100%;height:100%;display:block;position:absolute;inset:0}.case-study-top-surface{overflow:hidden}.case-study-top-colour{background:#b7b7b7;transition:background-color .18s ease-out}.case-study-top-texture{transition:opacity .18s ease-out}.case-study-top-texture.is-hover{opacity:0}.case-study-top-content{z-index:1;height:100%;font-family:var(--case-font-heading);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:16px;font-weight:500;line-height:1;display:flex;position:relative}.case-study-top-content img{width:22px;height:auto;transition:transform .21s cubic-bezier(.22,1.3,.42,1);display:block;transform:rotate(-90deg)}.case-study-top-button:hover .case-study-top-colour,.case-study-top-button:focus-visible .case-study-top-colour,.case-study-top-button:active .case-study-top-colour{background:#de753c}.case-study-top-button:hover .case-study-top-texture.is-default,.case-study-top-button:focus-visible .case-study-top-texture.is-default,.case-study-top-button:active .case-study-top-texture.is-default{opacity:0}.case-study-top-button:hover .case-study-top-texture.is-hover,.case-study-top-button:focus-visible .case-study-top-texture.is-hover,.case-study-top-button:active .case-study-top-texture.is-hover{opacity:1}.case-study-top-button:hover .case-study-top-content img,.case-study-top-button:focus-visible .case-study-top-content img{transform:rotate(-90deg)translate(4px)}.case-study-top-button:focus-visible{box-shadow:0 0 0 3px #de753c3d}@media (width<=820px){.case-study-workspace{--case-paper-width:calc(100vw - 24px);--case-paper-top:96px}.case-study-toolbar{height:80px}.case-study-toolbar-inner{width:calc(100vw - 56px)}.case-study-project-navigation{gap:10px;min-width:0}.case-study-paper{border-radius:34px}.case-study-paper .shell{width:calc(100% - 40px)}}@media (prefers-reduced-motion:reduce){.case-study-paper,.case-study-nav-button{animation:none}.case-study-nav-colour,.case-study-nav-texture,.case-study-nav-arrow,.case-study-top-colour,.case-study-top-texture,.case-study-top-content img{transition:none}}.case-study-paper .praedico-design-study{width:100%;margin-top:var(--spacing-insection-b);font-family:var(--font-inter), sans-serif;grid-template-columns:290px minmax(0,768px);align-items:start;gap:70px;display:grid}.case-study-paper .praedico-design-sidebar{align-self:start;margin:0;position:sticky;top:104px}.case-study-paper .praedico-design-eyebrow{color:var(--colour-text-light);font-family:var(--font-inter), sans-serif;letter-spacing:1px;text-transform:uppercase;font-size:16px;font-weight:600;line-height:1;display:block}.case-study-paper .praedico-design-nav{margin-top:var(--spacing-insection-s);flex-direction:column;align-items:stretch;gap:0;display:flex}.case-study-paper .praedico-design-nav button{width:100%;min-width:0;color:var(--colour-text-light);font-family:var(--font-bricolage), sans-serif;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:34px;align-items:center;padding:12px 16px 12px 0;font-size:16px;font-weight:500;line-height:1;transition:color .18s;display:flex}.case-study-paper .praedico-design-nav button[aria-disabled=true],.case-study-paper .praedico-design-nav button[aria-disabled=true]:hover{color:var(--colour-text-light);cursor:default}.case-study-paper .praedico-design-nav button[aria-disabled=true]{cursor:default}.case-study-paper .praedico-design-main{flex-direction:column;gap:0;min-width:0;padding:0;display:flex}.case-study-paper .praedico-design-section{gap:var(--spacing-insection-b);flex-direction:column;min-width:0;padding:0;scroll-margin-top:112px;display:flex}.case-study-paper .threshold-context,.case-study-paper .map-filter-context{gap:var(--spacing-insection-m);flex-direction:column;min-width:0;display:flex}.case-study-paper .praedico-section-number{color:#2e6afc;font-family:var(--font-inter), sans-serif;letter-spacing:1px;margin:0;font-size:16px;font-weight:600;line-height:1}.case-study-paper .praedico-design-section>h2,.case-study-paper .threshold-context>h2,.case-study-paper .map-filter-context>h2{color:var(--colour-text-black);font-family:var(--font-bricolage), sans-serif;letter-spacing:0;margin:0;font-size:28px;font-weight:500;line-height:1}.case-study-paper #threshold-settings .threshold-context>h2{font-size:32px}.case-study-paper .praedico-context-intro{margin:calc(var(--spacing-insection-xs) * -1) 0 0;color:var(--colour-text-grey);font-size:16px;font-weight:400;line-height:24px}.case-study-paper .threshold-design-visual,.case-study-paper .map-filter-hero{width:100%;height:640px;margin:calc(var(--spacing-insection-xs) * -1) 0 -16px;border:1px solid var(--colour-border);border-radius:var(--radius-detail-sm);background:var(--colour-image-bg-light);overflow:hidden}.case-study-paper .threshold-design-visual img,.case-study-paper .map-filter-hero img{object-fit:cover;width:100%;height:100%;display:block}.case-study-paper .praedico-context-facts{align-items:start;gap:var(--spacing-insection-m);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;display:grid}.case-study-paper .praedico-context-facts>div{align-items:flex-start;gap:var(--spacing-insection-xs);border:0;flex-direction:column;min-width:0;padding:0;display:flex}.case-study-paper .praedico-context-facts dt,.case-study-paper .praedico-context-facts dd,.case-study-paper .praedico-context-facts dd p{width:auto;height:auto;color:var(--colour-text-grey);font-family:var(--font-inter), sans-serif;margin:0;font-size:16px;line-height:24px}.case-study-paper .praedico-context-facts dd{font-weight:400}.case-study-paper .threshold-design-highlights,.case-study-paper .map-filter-solutions{gap:var(--spacing-insection-s);flex-direction:column;padding:0;display:flex}.case-study-paper .design-highlight,.case-study-paper .map-filter-solution{gap:var(--spacing-insection-xs);flex-direction:column;padding:0;display:flex}.case-study-paper .design-highlight h3,.case-study-paper .map-filter-solution h3{color:var(--colour-text-black);font-family:var(--font-bricolage), sans-serif;margin:0;font-size:20px;font-weight:500;line-height:1}.case-study-paper .design-highlight>p,.case-study-paper .map-filter-solution>p{color:var(--colour-text-grey);margin:0;font-size:16px;line-height:24px}.case-study-paper .design-highlight-media,.case-study-paper .map-filter-solution figure{border:1px solid var(--colour-border);border-radius:var(--radius-detail-sm);background:#f7f7f7;width:100%;margin:-4px 0;overflow:hidden}.case-study-paper .design-highlight-media{height:640px;padding:var(--spacing-insection-m)}.case-study-paper .map-filter-solution figure.map-filter-screenshot-frame,.case-study-paper .map-filter-solution figure{aspect-ratio:auto;padding:52px}.case-study-paper .map-filter-solution figure img{border-radius:var(--radius-detail-xs);object-fit:contain;width:100%;height:auto}.case-study-paper .graph-design-thoughts{gap:var(--spacing-insection-s);flex-direction:column;display:flex}.case-study-paper .graph-design-thoughts article,.case-study-paper .graph-design-description{gap:var(--spacing-insection-xs)}.case-study-paper .graph-example-gallery{padding:var(--spacing-insection-b);gap:var(--spacing-insection-m);border-radius:var(--radius-detail-sm);background:#f7f7f7;border:1px solid #eaeaea;margin:0}@media (width<=980px){.case-study-paper .praedico-design-study{gap:var(--spacing-insection-b);grid-template-columns:minmax(0,1fr)}.case-study-paper .praedico-design-sidebar{position:relative;top:auto}.case-study-paper .praedico-design-nav{flex-direction:row;display:flex;overflow-x:auto}.case-study-paper .praedico-design-nav button{width:auto;min-width:max-content;padding-right:var(--spacing-element-medium)}}.visible-tokens-study{width:100%;margin-top:var(--spacing-insection-b);font-family:var(--case-font-body);grid-template-columns:290px minmax(0,768px);gap:70px;display:grid}.vt-sidebar{align-self:start;position:sticky;top:104px}.vt-sidebar__eyebrow{color:var(--colour-text-light);font-family:var(--case-font-body);font-size:var(--detail-text-subtitle-size);letter-spacing:var(--detail-text-subtitle-letter-spacing);text-transform:uppercase;font-weight:600;line-height:normal;display:block}.vt-nav{align-items:flex-start;gap:var(--spacing-insection-s);margin-top:var(--spacing-insection-m);flex-direction:column;display:flex}.vt-nav button{color:var(--colour-text-light);font-family:var(--case-font-heading);font-size:var(--detail-text-body1-size);font-weight:500;line-height:var(--detail-text-body1-line-height);text-align:left;background:0 0;border:0;padding:0;transition:color .16s}.vt-nav button:hover,.vt-nav button:focus-visible,.vt-nav button.is-active{color:var(--colour-text-black)}.vt-nav button:focus-visible{outline:2px solid var(--colour-primary);outline-offset:5px}.vt-main{min-width:0}.vt-section{align-items:flex-start;gap:var(--spacing-insection-m);flex-direction:column;scroll-margin-top:112px;display:flex}.vt-section+.vt-section{margin-top:var(--spacing-section-section);padding-top:var(--spacing-section-section);border-top:1px solid var(--colour-line-light)}.vt-number{color:var(--colour-primary);font-family:var(--case-font-body);font-size:var(--detail-text-subtitle-size);letter-spacing:var(--detail-text-subtitle-letter-spacing);text-transform:uppercase;font-weight:600;line-height:normal}.vt-section>h2{color:var(--colour-text-black);font-family:var(--case-font-heading);font-size:var(--detail-text-h3-size);margin:0;font-weight:500;line-height:normal}.vt-section:first-child>h2{font-size:var(--detail-text-h2-size)}.vt-subsection-group>h3{color:var(--colour-text-black);font-family:var(--case-font-heading);font-size:var(--detail-text-h4-size);margin:0;font-weight:500;line-height:normal}.vt-lead{color:var(--colour-text-grey);font-family:var(--case-font-body);font-size:var(--detail-text-body2-size);font-weight:400;line-height:var(--detail-text-body2-line-height);margin:0}.vt-copy-block h3,.vt-copy-block h4{color:var(--colour-text-black);font-family:var(--case-font-body);font-size:var(--detail-text-body1-size);font-weight:400;line-height:var(--detail-text-body1-line-height);margin:0}.vt-subsection-group{gap:var(--spacing-insection-s);flex-direction:column;width:100%;display:flex}.vt-feature-list{gap:var(--spacing-insection-b);flex-direction:column;width:100%;display:flex}.vt-copy-block{gap:var(--spacing-insection-xs);flex-direction:column;width:100%;display:flex}.vt-copy-block p{color:var(--colour-text-grey);font-family:var(--case-font-body);font-size:var(--detail-text-body2-size);font-weight:400;line-height:var(--detail-text-body2-line-height);margin:0}.vt-copy-block p+p{margin-top:4px}.vt-media{width:100%;margin:var(--spacing-image-up) 0 var(--spacing-image-down);border:1px solid var(--colour-border);border-radius:var(--radius-detail-sm);background:var(--colour-image-bg-light);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.vt-media img,.vt-media video{border:1px solid var(--colour-border);border-radius:var(--radius-detail-xs);max-width:100%;box-shadow:var(--shadow-visible-tokens);display:block}.vt-media--hue{height:597px}.vt-media--hue .vt-hue-control{object-fit:cover;width:340px;height:196px;position:absolute;top:51px;left:50%;transform:translate(-50%)}.vt-media--hue .vt-hue-scale{object-fit:cover;width:1198px;max-width:none;height:258px;position:absolute;top:287px;left:39px}.vt-media--hue .vt-hue-arrow{z-index:2;width:23px;max-width:none;height:63px;box-shadow:none;border:0;border-radius:0;position:absolute;top:210px;left:525px}.vt-media--palette{height:340px}.vt-media--palette img{object-fit:cover;width:380px;height:240px}.vt-media--appearance{height:320px}.vt-media--appearance img{object-fit:cover;width:380px;height:220px}.vt-media--fine-tuning{height:329px}.vt-media--fine-tuning img{object-fit:cover;width:337px;height:229px}.vt-media--matrix{height:466px}.vt-media--matrix img{object-fit:cover;width:668px;height:386px}.vt-media--typography{height:618px}.vt-media--typography img{object-fit:cover;width:380px;height:538px}.vt-media--interface{height:456px}.vt-media--interface img{object-fit:cover;width:668px;height:376px}.vt-media--responsive{height:514px}.vt-responsive-comparison{border:1px solid var(--colour-border);border-radius:var(--radius-detail-xs);width:688px;height:387px;box-shadow:var(--shadow-visible-tokens);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:relative;overflow:hidden}.vt-responsive-comparison:after{z-index:2;background:var(--colour-border);content:"";pointer-events:none;width:1px;position:absolute;top:0;bottom:-12px;left:50%}.vt-responsive-pane{min-width:0;position:relative;overflow:hidden}.vt-responsive-pane img{width:200%;max-width:none;height:100%;box-shadow:none;object-fit:cover;border:0;border-radius:0;position:absolute;top:0}.vt-responsive-pane:first-child img{left:0}.vt-responsive-pane:last-child img{left:-100%}.vt-media--plugin{height:452px}.vt-media--plugin video{box-shadow:none;object-fit:contain;border:0;border-radius:0}.vt-media--plugin .case-study-video-stack{border-radius:var(--radius-detail-xs);aspect-ratio:3456/1920;background:0 0;width:668px;height:auto}@media (width<=980px){.visible-tokens-study{gap:var(--spacing-insection-b);grid-template-columns:1fr}.vt-sidebar{position:static}.vt-nav{gap:var(--spacing-insection-xs) var(--spacing-insection-s);flex-flow:wrap}}@media (width<=720px){.vt-media{height:auto;min-height:240px;padding:var(--spacing-insection-s)}.vt-media--hue{gap:var(--spacing-insection-s);display:grid}.vt-media--hue .vt-hue-control,.vt-media--hue .vt-hue-scale{width:100%;max-width:100%;height:auto;position:static;transform:none}.vt-media--hue .vt-hue-arrow{display:none}.vt-media img,.vt-media video,.vt-responsive-comparison{width:100%;height:auto}.vt-responsive-comparison{aspect-ratio:688/387}.vt-media--plugin .case-study-video-stack{aspect-ratio:3456/1920;width:100%;height:auto}}@media (width<=640px){.case-study-paper .praedico-context-facts{grid-template-columns:1fr}.case-study-paper .threshold-design-visual,.case-study-paper .map-filter-hero{aspect-ratio:768/640;height:auto}.case-study-paper .design-highlight-media{height:auto;min-height:420px;padding:var(--spacing-insection-s)}.case-study-paper .graph-example-gallery,.case-study-paper .map-filter-solution figure.map-filter-screenshot-frame,.case-study-paper .map-filter-solution figure{padding:var(--spacing-insection-s)}}.case-study-section-tabs{align-self:start;width:100%;position:sticky;top:104px}.case-study-section-tabs__eyebrow{width:100%;color:var(--colour-text-light);font-family:var(--case-font-body);font-size:var(--detail-text-subtitle-size);letter-spacing:var(--detail-text-subtitle-letter-spacing);text-transform:uppercase;font-weight:600;line-height:normal;display:block}.case-study-section-tabs__nav{width:100%;margin-top:var(--spacing-insection-s);flex-direction:column;align-items:stretch;display:flex}.case-study-section-tabs__item{width:100%;min-width:0;padding:12px var(--spacing-element-medium) 12px 0;color:var(--colour-text-light);font-family:var(--case-font-heading);font-size:var(--detail-text-subtitle-size);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:34px;align-items:center;font-weight:500;line-height:normal;transition:color .16s;display:flex;position:relative}.case-study-section-tabs__item:before{background:var(--colour-primary);content:"";opacity:0;border-radius:1px;flex:none;width:0;height:12px;transition:width .16s,margin-right .16s,opacity .12s}.case-study-section-tabs__item:hover,.case-study-section-tabs__item:focus-visible,.case-study-section-tabs__item.is-active{color:var(--colour-text-black)}.case-study-section-tabs__item.is-active:before{opacity:1;width:2px;margin-right:8px}.case-study-section-tabs__item:focus-visible{outline:2px solid var(--colour-primary);outline-offset:2px}@media (width<=980px){.case-study-section-tabs{position:relative;top:auto}.case-study-section-tabs__nav{flex-flow:wrap}.case-study-section-tabs__item{width:auto}}html .case-study-paper .praedico-context-body{gap:var(--spacing-insection-xs);flex-direction:column;display:flex}html .case-study-paper .praedico-media-rule{width:100%;padding-top:var(--spacing-image-up);padding-bottom:var(--spacing-image-down);flex-direction:column;justify-content:center;align-items:center;display:flex;overflow:hidden}html .case-study-paper .praedico-context-intro,html .case-study-paper .threshold-design-visual,html .case-study-paper .map-filter-hero,html .case-study-paper .design-highlight-media,html .case-study-paper .map-filter-solution figure,html .case-study-paper .map-filter-solution figure.map-filter-screenshot-frame,html .case-study-paper .graph-example-gallery{margin:0}html .case-study-paper .threshold-variables-highlight,html .case-study-paper .map-filter-solution-duplicate{padding-top:0}html .case-study-paper .map-filter-solutions,html .case-study-paper .graphs-section{gap:var(--spacing-insection-m)}html .case-study-paper .graph-example-gallery{width:100%}html .case-study-paper .map-filter-solution figure.composed-figma-export,html .case-study-paper .map-filter-solution figure.map-filter-screenshot-frame.composed-figma-export{aspect-ratio:768/640;background:0 0;border:0;padding:0}html .case-study-paper .map-filter-solution figure.composed-figma-export img,html .case-study-paper .map-filter-solution figure.map-filter-screenshot-frame.composed-figma-export img{object-fit:cover;border-radius:0;width:100%;height:100%;display:block}.case-hero{padding-top:112px;padding-bottom:72px}.case-hero.case-hero-praedico{padding-top:0;padding-bottom:var(--case-space-section-section);position:relative}.case-praedico-title-card{z-index:1;width:calc(100% + (var(--case-page-gutter) * 2));height:400px;margin-left:calc(var(--case-page-gutter) * -1);border-radius:var(--case-radius-page);background:#8045ed;position:relative;overflow:visible}.case-praedico-title-lockup{z-index:3;position:absolute;inset:0}.case-praedico-logo{width:100px;height:100px;display:block;position:absolute;top:140px;left:72px}.case-praedico-logo img{object-fit:contain;width:100%;height:100%;display:block}.case-hero .case-praedico-title-lockup h1{color:#fff;font-family:var(--case-font-heading);font-size:var(--case-h1-size);font-weight:var(--case-h1-weight);line-height:var(--case-h1-line-height);letter-spacing:var(--case-h1-letter-spacing);text-shadow:0 2px 2px #00000040;white-space:nowrap;margin:0;position:absolute;top:166px;left:198px}.case-praedico-flower{z-index:2;object-fit:contain;pointer-events:none;width:388px;height:424px;display:block;position:absolute;top:113px;left:112px}.case-praedico-dashboard{z-index:2;object-fit:contain;width:727px;height:auto;display:block;position:absolute;top:38px;left:514px}.case-praedico-intro-background{z-index:0;top:510px;left:calc(var(--case-page-gutter) * -1);width:calc(100% + (var(--case-page-gutter) * 2));pointer-events:none;background:linear-gradient(#fff 2.033%,#f5f5f5 100%);height:366px;position:absolute}.case-praedico-introduction{z-index:2;gap:var(--case-space-insection-b);margin-top:calc(var(--case-space-section-section) + (var(--case-space-title-big-down) / 2));grid-template-columns:600px 480px;display:grid;position:relative}.case-praedico-intro-copy{align-content:start;gap:var(--case-space-section-section);display:grid}.case-praedico-intro-copy section{margin:0}.case-praedico-intro-copy h2{margin:0 0 var(--case-space-insection-m);color:var(--case-colour-black-lighter);font-size:32px;font-weight:600;line-height:normal}.case-praedico-intro-copy p{color:var(--case-colour-grey-text);margin:0;font-size:16px;font-weight:400;line-height:24px}.case-praedico-job{padding-top:var(--case-space-section-section);margin:0}.case-praedico-disciplines{width:480px;height:254px;position:relative}.case-praedico-disciplines span{border-radius:var(--case-radius-lg);color:var(--case-colour-black-lighter);align-items:center;padding:5px 16px;font-size:16px;font-weight:500;line-height:normal;display:flex;position:absolute}.case-praedico-disciplines .is-ui{background:#e0e0ff;width:224px;height:130px;top:0;left:0}.case-praedico-disciplines .is-graphics{background:#cef5fd;width:240px;height:77px;top:0;left:240px}.case-praedico-disciplines .is-data{background:#eef4d7;width:295px;height:108px;top:146px;left:0}.case-praedico-disciplines .is-map{background:#fff0cc;width:169px;height:161px;top:93px;left:311px}.case-praedico-disciplines .case-praedico-job-doodle{z-index:3;pointer-events:none;border-radius:0;width:91.493px;height:122.191px;padding:0;display:block;position:absolute;top:55.44px;left:223px}.case-praedico-job-doodle img{display:block;position:absolute}.case-praedico-job-doodle .is-line{width:100%;height:100%;inset:0}.case-praedico-job-doodle .is-star-fill,.case-praedico-job-doodle .is-star-outline{width:45.923px;height:50.982px;top:15.56px;left:37.46px;transform:rotate(24.66deg)}.case-praedico-job-doodle .is-star-fill{transform:translate(1px,5px)rotate(24.66deg)}.case-study-paper .praedico-design-study{font-family:var(--case-font-body)}.case-study-paper .praedico-design-section h2,.case-study-paper .map-filter-solutions>h2,.case-study-paper .map-filter-solution h3,.case-study-paper .graph-design-thoughts>h3,.case-study-paper .graph-example-gallery figcaption{font-family:var(--case-font-heading)}@media (width<=1400px){.case-praedico-dashboard{aspect-ratio:auto;width:57.15%;height:auto;left:40.41%;right:auto}.case-praedico-title-lockup{inset:0}.case-praedico-introduction{grid-template-columns:minmax(0,1.15fr) minmax(0,.92fr);gap:36px}.case-praedico-disciplines{aspect-ratio:480/254;width:100%;height:auto}.case-praedico-disciplines .is-ui{width:46.67%;height:51.18%}.case-praedico-disciplines .is-graphics{width:50%;height:30.31%;left:50%}.case-praedico-disciplines .is-data{width:61.46%;height:42.52%;top:57.48%}.case-praedico-disciplines .is-map{width:35.21%;height:63.39%;top:36.61%;left:64.79%}}@media (width<=980px){.case-praedico-title-card{border-radius:52px;height:390px}.case-praedico-title-lockup{inset:0}.case-praedico-logo{width:96px;height:96px;top:58px;left:7.2%}.case-hero .case-praedico-title-lockup h1{top:174px;left:6.7%}.case-praedico-flower{width:26.5%;height:auto;top:168px;left:9%}.case-praedico-dashboard{top:86px}.case-praedico-introduction{gap:var(--case-space-insection-b);grid-template-columns:1fr}.case-praedico-disciplines{width:min(100%,480px)}}.project-detail-hero-frame{gap:var(--spacing-insection-b);flex-direction:column;width:100%;display:flex}.project-detail-hero{gap:var(--spacing-insection-b);width:100%;padding:var(--spacing-page) var(--spacing-page) 0;border-radius:var(--radius-huge) var(--radius-huge) 0 0;color:var(--colour-text-black);flex-direction:column;display:flex}.project-detail-hero__description-group{align-items:flex-start;gap:var(--spacing-insection-m);flex-direction:column;display:flex}.project-detail-hero__brand-row{justify-content:space-between;align-items:center;gap:var(--spacing-insection-b);width:100%;display:flex}.project-detail-hero__logo{object-fit:contain;width:100px;height:100px;display:block}.project-detail-hero__links{align-items:center;gap:var(--spacing-element-big);display:flex}.project-detail-hero__link{justify-content:center;align-items:center;gap:var(--spacing-element-xs);border-radius:var(--radius-detail-xs);height:88px;color:var(--colour-text-light);font-family:var(--case-font-heading);white-space:nowrap;font-size:16px;font-weight:500;line-height:normal;transition:color .18s;display:inline-flex}.project-detail-hero__link:hover,.project-detail-hero__link:focus-visible{color:var(--colour-text-black)}.project-detail-hero__link:focus-visible{outline:2px solid var(--colour-primary);outline-offset:4px}.project-detail-hero__link-icon{width:40px;height:40px;-webkit-mask:var(--project-link-icon) center / contain no-repeat;-webkit-mask:var(--project-link-icon) center / contain no-repeat;-webkit-mask:var(--project-link-icon) center / contain no-repeat;-webkit-mask:var(--project-link-icon) center / contain no-repeat;mask:var(--project-link-icon) center / contain no-repeat;background:currentColor;flex:0 0 40px}.project-detail-hero h1{color:var(--colour-text-black);font-family:var(--case-font-heading);font-size:var(--detail-text-display-size);letter-spacing:0;margin:0;font-weight:500;line-height:normal}.project-detail-hero__description{max-width:100%;color:var(--colour-text-grey);font-family:var(--case-font-body);font-size:var(--detail-text-body1-size);font-weight:400;line-height:var(--detail-text-body1-line-height);margin:0}.project-detail-hero__tags{align-items:center;gap:var(--spacing-element-medium);flex-wrap:wrap;display:flex}.gradient-tag{--gradient-tag-base:var(--colour-mint-200);--gradient-tag-shade-start:#84d2bd00;--gradient-tag-shade-end:#52bca066;--gradient-tag-border:var(--gradient-tag-base);--gradient-tag-text:#005c43;padding:var(--spacing-element-medium);border:1px solid var(--gradient-tag-border);border-radius:var(--radius-detail-sm);background:linear-gradient(180deg, #ffffff4d 2.54%, #fff0 7.63%), linear-gradient(180deg, var(--gradient-tag-shade-start) 91.53%, var(--gradient-tag-shade-end) 100%), var(--gradient-tag-base);color:var(--gradient-tag-text);font-family:var(--case-font-heading);font-size:var(--detail-text-subtitle-size);white-space:nowrap;justify-content:center;align-items:center;font-weight:500;line-height:normal;display:inline-flex}.gradient-tag--blue{--gradient-tag-base:var(--colour-blue-200);--gradient-tag-shade-start:#8fc3ff00;--gradient-tag-shade-end:#6daef866;--gradient-tag-text:#275182}.gradient-tag--magenta{--gradient-tag-base:var(--colour-magenta-200);--gradient-tag-shade-start:#fca6ee00;--gradient-tag-shade-end:#e788d766;--gradient-tag-text:#78366d}.gradient-tag--olive{--gradient-tag-base:var(--colour-olive-200);--gradient-tag-shade-start:#bec98700;--gradient-tag-shade-end:#a1af5a4b;--gradient-tag-text:#465309}.gradient-tag--orange{--gradient-tag-base:var(--colour-orange-200);--gradient-tag-shade-start:#ffbc7500;--gradient-tag-shade-end:#ffab5266;--gradient-tag-text:#854500}.gradient-tag--pink{--gradient-tag-base:var(--colour-pink-200);--gradient-tag-shade-start:#ffa3d100;--gradient-tag-shade-end:#f887bf66;--gradient-tag-text:#813159}.gradient-tag--aqua{--gradient-tag-base:var(--colour-aqua-200);--gradient-tag-shade-start:#52d9f400;--gradient-tag-shade-end:#00bbe066;--gradient-tag-text:#005e70}.gradient-tag--purple{--gradient-tag-base:var(--colour-purple-200);--gradient-tag-shade-start:#d9b4fd00;--gradient-tag-shade-end:#bf97e766;--gradient-tag-text:#5c4077}.gradient-tag--blueviolet{--gradient-tag-base:var(--colour-blueviolet-200);--gradient-tag-shade-start:#9ea3ff00;--gradient-tag-shade-end:#bf97e766;--gradient-tag-text:#32367b}.gradient-tag--yellow{--gradient-tag-base:var(--colour-yellow-200);--gradient-tag-shade-start:#ffdc8500;--gradient-tag-shade-end:#ffd15c66;--gradient-tag-text:#855f00}.gradient-tag--green{--gradient-tag-base:var(--colour-green-200);--gradient-tag-shade-start:#9cd09a00;--gradient-tag-shade-end:#77b87566;--gradient-tag-text:#295927}.project-detail-hero__divider{border-top:1px solid var(--colour-line-light);width:100%;height:0}.project-detail-hero__facts{gap:var(--spacing-insection-b);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.project-detail-hero__job{gap:var(--spacing-insection-m);flex-direction:column;display:flex}.project-detail-hero__facts>div,.project-detail-hero__responsibilities{gap:var(--spacing-insection-xs);flex-direction:column;display:flex}.project-detail-hero__facts dt,.project-detail-hero__responsibilities h2{color:var(--colour-text-light);font-family:var(--case-font-body);font-size:var(--detail-text-subtitle-size);letter-spacing:var(--detail-text-subtitle-letter-spacing);text-transform:uppercase;margin:0;font-weight:600;line-height:normal}.project-detail-hero__facts dd{color:var(--colour-text-grey);font-family:var(--case-font-body);font-size:var(--detail-text-body2-size);font-weight:400;line-height:var(--detail-text-body2-line-height);margin:0}.project-detail-hero__responsibilities ul{padding-left:var(--spacing-element-big);color:var(--colour-text-grey);font-family:var(--case-font-body);font-size:var(--detail-text-body2-size);font-weight:400;line-height:var(--detail-text-body2-line-height);margin:0;list-style:outside;display:block}.project-detail-hero__responsibilities li{margin:0;padding:0;display:list-item}.project-detail-hero__media{aspect-ratio:1272/620;background:var(--colour-image-bg-black);width:100%;position:relative;overflow:hidden}.project-detail-hero__desktop,.project-detail-hero__mobile-frame{border-radius:var(--radius-detail-xs);border:2px solid #ffffff26;height:73.065%;display:block;position:absolute;top:13.387%;box-shadow:0 4px 80px #00000040}.project-detail-hero__desktop{object-fit:cover;width:55.031%;left:11.871%}.project-detail-hero__mobile-frame{width:18.082%;left:70.047%;overflow:hidden}.project-detail-hero__mobile{object-fit:cover;width:100%;max-width:none;height:109.96%;display:block;position:absolute;top:0;left:0}.project-detail-hero__media--light{border-radius:var(--radius-detail-lg);background:linear-gradient(180deg, #fff 0%, var(--colour-blue-50) 100%)}.project-detail-hero__media--light .project-detail-hero__desktop,.project-detail-hero__media--light .project-detail-hero__mobile-frame{border:4px solid var(--colour-blue-50);border-radius:var(--radius-detail-sm);box-shadow:none}.project-detail-hero__media--light .project-detail-hero__desktop{object-fit:cover;width:64.858%;height:74.839%;top:11.452%;left:13.443%}.project-detail-hero__media--light .project-detail-hero__mobile-frame{width:18.082%;height:55.484%;top:36.935%;left:68.475%}.project-detail-hero__media--light .project-detail-hero__mobile{object-fit:cover;width:100%;height:100%}.project-detail-hero__media--single{background:0 0;border-radius:0}.project-detail-hero__media--compact{aspect-ratio:1272/350}.project-detail-hero__single{object-fit:cover;width:100%;height:100%;display:block}.xiaozhan-study{gap:var(--spacing-section-section);width:100%;padding:0 var(--spacing-page) var(--spacing-section-section);color:var(--colour-text-black);font-family:var(--case-font-body);flex-direction:column;display:flex}.case-layout-xiaozhan{width:100%}.case-study-paper .case-layout-xiaozhan{width:100%;max-width:none;margin-top:var(--spacing-insection-b)}.xiaozhan-study__section,.xiaozhan-study__block,.xiaozhan-study__copy{flex-direction:column;align-items:flex-start;width:100%;display:flex}.xiaozhan-study__section{gap:var(--spacing-insection-m)}.xiaozhan-study__block{gap:var(--spacing-insection-xs)}.xiaozhan-study__block--component{gap:var(--spacing-element-big)}.xiaozhan-study__copy{gap:var(--spacing-insection-xs)}.xiaozhan-study__number{color:var(--colour-primary);font-size:var(--detail-text-subtitle-size);letter-spacing:var(--detail-text-subtitle-letter-spacing);text-transform:uppercase;font-weight:600;line-height:normal}.xiaozhan-study__eyebrow{color:var(--colour-text-light);font-size:var(--detail-text-subtitle-size);letter-spacing:var(--detail-text-subtitle-letter-spacing);text-transform:uppercase;font-weight:600;line-height:normal}.xiaozhan-study h2,.xiaozhan-study h3,.xiaozhan-study h4,.xiaozhan-study p,.xiaozhan-study ul,.xiaozhan-study figure{margin:0}.xiaozhan-study h2{font-family:var(--case-font-heading);font-size:var(--detail-text-h3-size);font-weight:500;line-height:normal}.xiaozhan-study h3,.xiaozhan-study h4{font-size:var(--detail-text-body1-size);font-weight:400;line-height:var(--detail-text-body1-line-height)}.xiaozhan-study p,.xiaozhan-study li{color:var(--colour-text-grey);font-size:var(--detail-text-body2-size);font-weight:400;line-height:var(--detail-text-body2-line-height)}.xiaozhan-study ul{padding-left:var(--spacing-element-big)}.xiaozhan-study__divider{border-top:1px solid var(--colour-line-light);width:100%}.xiaozhan-study__media{width:100%;padding:var(--spacing-image-up) 0 var(--spacing-image-down);border-radius:var(--radius-detail-sm);overflow:hidden}.xiaozhan-study__media--compact{padding-bottom:var(--spacing-image-up)}.xiaozhan-study__media img{border-radius:var(--radius-detail-xs);width:100%;height:auto;display:block}.xiaozhan-study__embedded-visual{width:100%;height:auto;display:block}.job51-study__primary-title{font-size:var(--detail-text-h2-size)!important}.job51-study__category{color:var(--colour-text-black);font-family:var(--case-font-heading)!important;font-size:var(--detail-text-h4-size)!important;font-weight:500!important;line-height:normal!important}.job51-study__cluster{gap:var(--spacing-element-big);flex-direction:column;width:100%;display:flex}.job51-study__colours-wrap{width:100%;padding:var(--spacing-image-up) 0 var(--spacing-image-down)}.job51-study__colours{gap:var(--spacing-element-medium);width:100%;height:400px;display:flex}.job51-study__colour-column{border-radius:var(--radius-detail-xs);flex:1 1 0;grid-template-rows:repeat(7,1fr);min-width:0;display:grid;overflow:hidden}.job51-study__colour-column>span{min-height:0;padding-left:var(--spacing-element-big);align-items:center;display:flex}.job51-study__colour-label{color:#fff;font-family:var(--case-font-heading);font-size:var(--detail-text-body1-size);font-weight:500;line-height:normal}.job51-study__colour-column--primary>span:first-child{background:#60351f}.job51-study__colour-column--primary>span:nth-child(2){background:#8f502f}.job51-study__colour-column--primary>span:nth-child(3){background:#bf6a3e}.job51-study__colour-column--primary>span:nth-child(4){background:#ef854e}.job51-study__colour-column--primary>span:nth-child(5){background:#f29d71}.job51-study__colour-column--primary>span:nth-child(6){background:#f5b695}.job51-study__colour-column--primary>span:nth-child(7){background:#f9ceb8}.job51-study__colour-column--secondary>span:first-child{background:#614219}.job51-study__colour-column--secondary>span:nth-child(2){background:#916225}.job51-study__colour-column--secondary>span:nth-child(3){background:#c28332}.job51-study__colour-column--secondary>span:nth-child(4){background:#f2a43e}.job51-study__colour-column--secondary>span:nth-child(5){background:#f5b665}.job51-study__colour-column--secondary>span:nth-child(6){background:#f7c88b}.job51-study__colour-column--secondary>span:nth-child(7){background:#fadbb2}.job51-study__colour-column--supporting>span:first-child{background:#5bc2cc}.job51-study__colour-column--supporting>span:nth-child(2){background:#69a6eb}.job51-study__colour-column--supporting>span:nth-child(3){background:#89be58}.job51-study__colour-column--supporting>span:nth-child(4){background:#d15745}.job51-study__colour-column--supporting>span:nth-child(5){background:#222}.job51-study__colour-column--supporting>span:nth-child(6){background:#444}.job51-study__colour-column--supporting>span:nth-child(7){background:#666}.job51-study__questions{gap:var(--spacing-element-medium);width:100%;padding-left:var(--spacing-element-big);flex-direction:column;list-style:outside;display:flex}.job51-study__questions li{padding-left:var(--spacing-element-xs)}.job51-study__questions li::marker{color:var(--colour-text-black);font-size:.75em}.job51-study__questions strong,.job51-study__questions span{display:block}.job51-study__questions strong{color:var(--colour-text-black);font-weight:600}.job51-study__questions span{margin-left:var(--spacing-element-xs)}.job51-study__paragraphs{gap:var(--spacing-element-medium);flex-direction:column;width:100%;display:flex}@media (width<=760px){.xiaozhan-study{padding-right:var(--spacing-insection-s);padding-left:var(--spacing-insection-s)}}@media (width<=980px){.project-detail-hero{gap:40px;padding:48px 48px 0}.project-detail-hero__description-group{gap:32px}.project-detail-hero h1{font-size:clamp(48px,9vw,72px)}.project-detail-hero__facts{grid-template-columns:1fr;gap:32px}}@media (width<=640px){.project-detail-hero{border-radius:48px 48px 0 0;gap:32px;padding:36px 24px 0}.project-detail-hero__brand-row{align-items:flex-start;gap:var(--spacing-insection-s);flex-direction:column}.project-detail-hero__links{gap:var(--spacing-element-medium) var(--spacing-element-big);flex-wrap:wrap;width:100%}.project-detail-hero__link{height:48px}.project-detail-hero__description-group{gap:32px}.project-detail-hero__logo{width:80px;height:80px}.project-detail-hero__description{font-size:18px;line-height:28px}.project-detail-hero__tags{gap:var(--spacing-element-medium)}}.case-breadcrumb{color:var(--ink-tertiary);margin-bottom:56px;font-size:13px;display:inline-block}.case-hero h1{letter-spacing:-.045em;max-width:980px;margin:0 0 32px;font-size:clamp(50px,6vw,80px);line-height:1.04}.case-hero .case-project-title{flex-direction:column;align-items:flex-start;gap:clamp(16px,1.5vw,24px);display:flex}.case-hero .praedico-title{text-align:center;flex-direction:column;align-items:center;gap:clamp(18px,1.6vw,26px);margin-left:auto;margin-right:auto;display:flex}.case-hero.case-hero-praedico>p{text-align:center;width:min(100%,920px);max-width:920px;margin:0 auto 36px}.case-hero-praedico .case-meta{justify-content:center;gap:12px}.case-hero .tag{color:#272727;border-color:#0d0d0d14;border-radius:12px;padding:10px 15px;font-size:14px;font-weight:500;box-shadow:0 3px 8px #1f232a12,inset 0 1px #ffffffb8}.tag-tone-1{background:#f0f0ff;box-shadow:inset 0 -1px #c2c5ff,inset 0 -3px 4px #787eff1f,0 3px 8px #1f232a0f}.tag-tone-2{background:#ffedeb;box-shadow:inset 0 -1px #ffbfb8,inset 0 -3px 4px #ff84761c,0 3px 8px #1f232a0f}.tag-tone-3{background:#f3ebcc}.tag-tone-4{background:#dcefeb}.tag-tone-5{background:#eadff0}.case-project-logo{flex:none;width:clamp(72px,7vw,104px);height:clamp(72px,7vw,104px)}.case-project-logo img{object-fit:contain;width:100%;height:100%;display:block}.case-hero>p{max-width:700px;color:var(--ink-secondary);margin:0 0 36px;font-size:20px;line-height:1.6}.case-overview{border-top:1px solid var(--border-0);grid-template-columns:.75fr 1.3fr .75fr 2fr;gap:36px;margin:64px 0 0;padding:28px 0 0;display:grid}.case-fact{margin:0}.case-fact dt{color:var(--ink-tertiary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;font-size:13px;font-weight:600}.case-fact dd{color:var(--ink-secondary);margin:0;font-size:16px;line-height:1.6}.company-period{gap:2px;margin-bottom:12px;display:grid}.company-period strong{color:var(--ink-primary);font-weight:600}.company-period>span,.company-note{color:var(--ink-tertiary);font-size:14px}.company-note{max-width:300px;margin-top:16px;line-height:1.55;display:block}.case-fact-responsibilities ul{gap:14px;margin:0;padding:0;list-style:none;display:grid}.case-cover{min-height:680px;margin-bottom:120px}.case-layout{grid-template-columns:220px minmax(0,720px);justify-content:center;gap:112px;padding-bottom:136px;display:grid}.case-layout-praedico{grid-template-columns:minmax(0,1200px);padding-bottom:0}.praedico-new-content{min-width:0}.praedico-design-study{width:100%;margin-top:var(--case-space-insection-b);font-family:var(--case-font-body);grid-template-columns:290px minmax(0,768px);gap:70px;display:grid}.praedico-design-sidebar{align-self:start;margin-top:0;position:sticky;top:104px}.praedico-design-eyebrow{color:var(--case-colour-black-lighter);font-family:var(--case-font-heading);font-size:32px;font-weight:600;line-height:normal;display:block}.praedico-design-nav{align-items:flex-start;gap:var(--case-space-insection-s);margin-top:var(--case-space-insection-m);flex-direction:column;display:flex}.praedico-design-nav button{min-width:0;color:var(--case-colour-grey-text);font-family:var(--case-font-heading);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:34px;align-items:center;gap:10px;padding:10px 14px 10px 10px;font-size:16px;font-weight:500;line-height:normal;transition:background-color .18s,color .18s;display:flex}.praedico-design-nav-number{color:#fff;background:0 0;border-radius:50%;flex:none;place-items:center;width:41px;height:41px;font-size:16px;line-height:1;display:grid;position:relative}.praedico-design-nav-number img{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.praedico-design-nav-number .is-ball{z-index:0;opacity:0;transition:opacity .16s ease-out}.praedico-design-nav-number .is-ball.is-default{opacity:1}.praedico-design-nav-label{color:inherit;white-space:nowrap;font-weight:500}.praedico-design-nav button.is-active{background:var(--case-colour-grey-bg);color:var(--case-colour-black-lighter)}.praedico-design-nav button:not(.is-active):hover{background:var(--case-colour-grey-hover)}.praedico-design-nav button:not(.is-active):hover .is-ball.is-default{opacity:0}.praedico-design-nav button:not(.is-active):hover .is-ball.is-hover{opacity:1}.praedico-design-nav button.is-active .is-ball.is-default{opacity:0}.praedico-design-nav button.is-active .is-ball.is-selected{opacity:1}.praedico-design-nav button:focus{outline:none}.praedico-design-nav button:focus-visible{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}.praedico-design-main{min-width:0}.praedico-design-section{scroll-margin-top:112px}.praedico-design-section h2{color:#0d0d0d;font-family:var(--font-instrument-sans), sans-serif;letter-spacing:-.01em;margin:0 0 48px;font-size:42px;font-weight:700;line-height:52px}.threshold-design-visual{aspect-ratio:1056/640;border-radius:var(--case-radius-lg);background:var(--case-colour-grey-bg);overflow:hidden}.threshold-design-visual>img{object-fit:cover;width:100%;height:100%;display:block}.threshold-graph-wrap,.threshold-settings-wrap{border-radius:12px;position:absolute;overflow:hidden}.threshold-graph-wrap{width:68%;top:24px;right:36px}.threshold-settings-wrap{width:79%;bottom:32px;right:9%}.threshold-graph-wrap img,.threshold-settings-wrap img{width:100%;height:auto;display:block}.threshold-label{z-index:2;color:#0d0d0d;background:#fff;border-radius:8px;padding:8px;font-size:12px;line-height:18px;position:absolute}.threshold-label-lines{top:78px;left:19%}.threshold-label-settings{top:46%;left:11%}.threshold-annotation-arrow{z-index:2;width:44px;height:auto;position:absolute;top:29%;left:16%;transform:rotate(19deg)}.threshold-facts{margin:0;padding:0}.threshold-facts>div{border-bottom:1px solid #dedede;grid-template-columns:160px 1fr;gap:32px;padding:30px 0;display:grid}.threshold-facts dt,.threshold-facts dd{color:#2b2b2b;margin:0;font-size:18px;line-height:30px}.threshold-facts dt{font-weight:700}.threshold-facts dd{font-weight:400}.threshold-design-highlights{padding-top:96px}.threshold-design-highlights>h2{letter-spacing:-.005em;margin-bottom:44px;font-size:34px;line-height:44px}.threshold-variables-highlight,.design-highlight-section{padding-top:96px}.design-highlight-section h2{letter-spacing:-.005em;margin-bottom:44px;font-size:34px;line-height:44px}.design-highlight h3{color:#2b2b2b;margin:0 0 8px;font-size:20px;line-height:32px}.design-highlight>p{color:#0d0d0d;margin:0 0 32px;font-size:18px;line-height:30px}.design-highlight-media{border-radius:var(--case-radius-lg);background:var(--case-colour-grey-bg);place-items:center;padding:32px;display:grid;overflow:hidden}.case-study-video-stack{border-radius:var(--case-radius-xs);background:var(--case-colour-grey-bg);position:relative;overflow:hidden}.response-codes-media .case-study-video-stack{aspect-ratio:1266/1508;width:min(64%,520px)}.final-highlight{padding-top:96px}.variables-grouping-media .case-study-video-stack{aspect-ratio:2124/1446;width:100%}.case-study-video-stack video{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .6s ease-in-out;display:block;position:absolute;inset:0}.case-study-video-stack video.is-active{opacity:1}.case-study-video-stack.is-crossfading video.is-active{opacity:0}.case-study-video-stack.is-crossfading video.is-incoming{opacity:1}.map-filter-section{padding-top:180px}.map-filter-section>h2{letter-spacing:0;margin-bottom:48px;font-size:48px;font-weight:400;line-height:1.15}.map-filter-hero{aspect-ratio:1056/680;border-radius:var(--case-radius-lg);background:var(--case-colour-grey-bg);overflow:hidden}.map-filter-hero img,.map-filter-solution figure img{object-fit:cover;width:100%;height:100%;display:block}.map-filter-facts{margin:80px 0 0;padding:0}.map-filter-facts>div{border-bottom:1px solid #dedede;grid-template-columns:120px minmax(0,1fr);gap:clamp(56px,7vw,120px);padding:30px 0;display:grid}.map-filter-facts dt,.map-filter-facts dd{color:#0d0d0d;margin:0;font-size:clamp(18px,1.3vw,22px);line-height:1.5}.map-filter-facts dt{font-family:var(--font-instrument-sans), sans-serif;font-weight:650}.map-filter-facts dd{font-weight:400}.map-filter-facts dd p{margin:0}.map-filter-solutions{padding-top:120px}.map-filter-solutions>h2{color:#0d0d0d;font-family:var(--font-instrument-sans), sans-serif;margin:0 0 60px;font-size:36px;font-weight:400;line-height:44px}.map-filter-solution h3{color:#0d0d0d;font-family:var(--font-instrument-sans), sans-serif;margin:0 0 8px;font-size:clamp(20px,1.4vw,24px);font-weight:650;line-height:1.4}.map-filter-solution>p{color:#0d0d0d;margin:0;font-size:clamp(18px,1.3vw,22px);line-height:1.5}.map-filter-solution figure{aspect-ratio:1056/940;border-radius:var(--case-radius-lg);background:var(--case-colour-grey-bg);margin:48px 0 0;overflow:hidden}.map-filter-solution-duplicate{padding-top:136px}.graphs-section{padding-top:180px}.graphs-section>h2{letter-spacing:0;margin-bottom:42px;font-size:48px;font-weight:400;line-height:1.15}.graph-design-thoughts>h3{color:#0d0d0d;font-family:var(--font-instrument-sans), sans-serif;margin:0 0 54px;font-size:36px;font-weight:400;line-height:1.25}.graph-design-thoughts{color:#0d0d0d}.graph-design-thoughts h4,.graph-design-thoughts p{margin:0;font-size:clamp(18px,1.3vw,22px);line-height:1.5}.graph-design-thoughts h4{font-weight:700}.graph-example-gallery{border-radius:var(--case-radius-lg);background:var(--case-colour-grey-bg);gap:68px;margin-top:72px;padding:64px 40px;display:grid}.graph-example-gallery figure{margin:0}.graph-example-gallery figcaption{color:#0d0d0d;font-family:var(--font-instrument-sans), sans-serif;margin-bottom:20px;font-size:clamp(18px,1.4vw,24px);font-weight:650;line-height:1.35}.graph-example-gallery img{border-radius:var(--case-radius-lg);width:100%;height:auto;display:block}.graph-example-pair{grid-template-columns:minmax(0,498fr) minmax(0,400fr);align-items:start;gap:clamp(32px,6vw,63px);padding:0 15px;display:grid}.graph-example-medium{width:85.25%;margin-left:auto!important;margin-right:auto!important}.praedico-design-main{min-width:0;padding-top:calc(var(--case-space-title-big-down) / 2);flex-direction:column;gap:0;display:flex}.praedico-design-section{gap:var(--case-space-insection-b);flex-direction:column;scroll-margin-top:112px;display:flex}.praedico-design-section+.praedico-design-section{margin-top:var(--case-space-section-section)}.praedico-design-section>h2,.praedico-design-section h2{margin:0}.praedico-section-title{height:auto;color:var(--case-colour-black-lighter);flex:none;position:relative}.praedico-section-title h2{z-index:1;color:inherit;font-family:var(--case-font-heading);letter-spacing:0;white-space:nowrap;font-size:28px;font-weight:500;line-height:normal;position:relative}.praedico-section-title img{z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;max-width:none;display:block;position:absolute}.praedico-section-title.is-threshold{width:252px}.praedico-section-title.is-threshold img{width:185px;height:32px;bottom:-12px;right:0}.praedico-section-title.is-map{width:330px}.praedico-section-title.is-map img{width:185px;height:32px;bottom:-12px;left:145px}.praedico-section-title.is-graph{width:236px}.praedico-section-title.is-graph img{width:166px;height:39px;bottom:0;right:0}.threshold-context{gap:var(--case-space-insection-m);flex-direction:column;display:flex}.threshold-design-visual{aspect-ratio:auto;border-radius:var(--case-radius-lg);background:var(--case-colour-grey-bg);width:100%;height:640px;overflow:hidden}.threshold-facts,.map-filter-facts{gap:var(--case-space-insection-s);flex-direction:column;margin:0;padding:0;display:flex}.threshold-facts>div,.map-filter-facts>div{align-items:center;gap:var(--case-space-insection-m);border:0;min-width:0;padding:0;display:flex}.threshold-facts dt,.map-filter-facts dt{flex:0 0 100px;width:100px;height:100px}.map-filter-facts dt{flex-basis:96px;width:96px}.threshold-facts dt img,.map-filter-facts dt img{object-fit:contain;width:100%;height:100%;display:block}.threshold-facts dd,.map-filter-facts dd,.map-filter-facts dd p{color:var(--case-colour-body-detail);font-family:var(--case-font-body);margin:0;font-size:16px;font-weight:400;line-height:24px}.map-filter-facts dd p+p{margin-top:0}.threshold-design-highlights,.map-filter-solutions{gap:var(--case-space-insection-m);flex-direction:column;padding:0;display:flex}.threshold-design-highlights>h2,.map-filter-solutions>h2,.graph-design-thoughts>h3{color:var(--case-colour-black-lighter);font-family:var(--case-font-heading);letter-spacing:0;margin:0;font-size:24px;font-weight:500;line-height:normal}.design-highlight,.map-filter-solution{gap:var(--case-space-insection-s);flex-direction:column;display:flex}.threshold-variables-highlight,.map-filter-solution-duplicate{padding-top:0}.design-highlight h3,.map-filter-solution h3{color:var(--case-colour-black-lighter);font-family:var(--case-font-heading);margin:0;font-size:16px;font-weight:500;line-height:normal}.design-highlight>p,.map-filter-solution>p{color:var(--case-colour-body-detail);font-family:var(--case-font-body);margin:0;font-size:16px;font-weight:400;line-height:24px}.design-highlight-media{width:100%;height:560px;padding:var(--case-space-insection-m);border-radius:var(--case-radius-lg);background:var(--case-colour-grey-bg)}.map-filter-section,.graphs-section{padding-top:0}.map-filter-hero{aspect-ratio:768/680;border-radius:var(--case-radius-lg);background:var(--case-colour-grey-bg);width:100%;overflow:hidden}.map-filter-solutions{gap:var(--case-space-insection-m)}.map-filter-solution figure{aspect-ratio:auto;border-radius:var(--case-radius-lg);background:var(--case-colour-grey-bg);width:100%;margin:0;overflow:hidden}.map-filter-solution figure img{object-fit:contain;height:auto}.map-filter-solution figure.map-filter-screenshot-frame{aspect-ratio:768/560;padding:54px 34px}.map-filter-solution figure.map-filter-screenshot-frame img{border-radius:var(--case-radius-xs);object-fit:cover;width:100%;height:100%}.graph-design-thoughts{color:var(--case-colour-body-detail);gap:var(--case-space-insection-m);flex-direction:column;display:flex}.graph-design-thoughts>h3{margin-bottom:0}.graph-design-thoughts article+article{margin-top:0}.graph-design-thoughts article,.graph-design-description{gap:var(--case-space-insection-s);flex-direction:column;display:flex}.graph-design-thoughts h4{color:var(--case-colour-black-lighter);font-family:var(--case-font-body);margin:0;font-size:20px;font-weight:500;line-height:26px}.graph-design-thoughts p{color:var(--case-colour-body-detail);font-family:var(--case-font-body);margin:0;font-size:16px;font-weight:400;line-height:24px}.graph-design-thoughts p+p{margin-top:0}.graph-example-gallery{padding:var(--case-space-insection-b);gap:var(--case-space-insection-m);border-radius:var(--case-radius-lg);background:var(--case-colour-grey-bg);flex-direction:column;margin-top:0;display:flex}.graph-example-gallery figure{gap:var(--case-space-insection-s);flex-direction:column;margin:0;display:flex}.graph-example-gallery figcaption{color:var(--case-colour-black-lighter);font-family:var(--case-font-heading);margin:0;font-size:16px;font-weight:500;line-height:normal}.graph-example-gallery img{border-radius:var(--case-radius-xs)}.graph-example-gallery .case-study-video-stack{border-radius:var(--case-radius-xs);background:var(--case-colour-grey-bg);width:100%}.graph-example-gallery .case-study-video-stack video{filter:brightness(1.05)contrast(1.1)}.graph-video-track .case-study-video-stack{aspect-ratio:1478/494}.graph-video-defect .case-study-video-stack{aspect-ratio:1478/1248}.graph-video-prediction .case-study-video-stack{aspect-ratio:1188/668}.graph-video-sgr .case-study-video-stack{aspect-ratio:1478/714}.graph-example-renewal{width:498px;max-width:100%}.graph-example-profile{width:400px;max-width:100%}.graph-example-medium{width:100%;margin:0!important}@media (width<=980px){.praedico-design-study{gap:var(--case-space-insection-b);margin-top:var(--case-space-section-section);grid-template-columns:1fr}.praedico-design-sidebar{margin-top:0;position:relative;top:auto}.praedico-design-main{padding-top:0}.praedico-design-nav{gap:20px;height:auto;display:flex;overflow-x:auto}.praedico-design-nav-line{display:none}.praedico-design-nav button,.praedico-design-nav button:first-of-type,.praedico-design-nav button:nth-of-type(2),.praedico-design-nav button:nth-of-type(3){min-width:max-content;position:relative;top:auto}.praedico-design-nav button.is-active{transform:none}}@media (width<=640px){.graph-example-pair{gap:var(--case-space-insection-b);grid-template-columns:1fr}.graph-example-medium{width:100%}.praedico-design-section>h2{margin-bottom:var(--case-space-insection-m);font-size:34px;line-height:42px}.threshold-design-visual{aspect-ratio:1056/640;height:auto}.threshold-label,.threshold-annotation-arrow{display:none}.threshold-facts>div{gap:var(--case-space-insection-s);grid-template-columns:1fr}.map-filter-section{padding-top:0}.map-filter-section>h2{font-size:38px}.map-filter-facts>div{gap:var(--case-space-insection-s);grid-template-columns:1fr}.map-filter-facts dt,.map-filter-facts dd,.map-filter-solution>p{font-size:16px;line-height:27px}.map-filter-solutions,.map-filter-solution-duplicate,.graphs-section{padding-top:0}.graphs-section>h2{font-size:38px}.graph-design-thoughts>h3{font-size:30px}.graph-design-thoughts h4,.graph-design-thoughts p{font-size:16px;line-height:27px}.graph-example-gallery{gap:var(--case-space-insection-b);padding:var(--case-space-insection-m) var(--case-space-title-big-down)}.graph-example-pair{gap:var(--case-space-title-big-down);padding:0}.threshold-facts dt,.threshold-facts dd,.design-highlight>p{font-size:16px;line-height:27px}.response-codes-media .case-study-video-stack{width:86%}}.case-toc{color:var(--ink-tertiary);align-self:start;gap:12px;font-size:12px;display:grid;position:sticky;top:112px}.case-toc strong{color:var(--ink-primary);margin-bottom:10px}.case-content section{padding:0 0 96px}.case-content .section-number{color:var(--accent);margin-bottom:24px;font-size:12px;font-weight:600;display:block}.case-content h2{letter-spacing:-.03em;margin:0 0 24px;font-size:36px;line-height:1.2}.case-content p,.case-content li{color:var(--ink-secondary);font-size:18px;line-height:1.75}.case-content ul{padding-left:20px}.framework-lead{margin-bottom:40px}.framework-note{margin-bottom:36px}.product-overview-list{border-top:1px solid var(--border-0);gap:0;margin:0;list-style:none;display:grid;padding:0!important}.product-overview-list li{border-bottom:1px solid var(--border-soft);grid-template-columns:150px 1fr;gap:32px;padding:22px 0;display:grid}.product-overview-list strong{color:var(--ink-primary);font-size:13px;font-weight:600}.product-overview-list span{color:var(--ink-secondary);font-size:16px;line-height:1.65}.case-video-placeholder{aspect-ratio:16/9;border-radius:var(--radius-md);background:var(--surface-deep);text-align:center;place-items:center;margin-top:48px;padding:32px;display:grid}.video-play{background:#343434;border:1px solid #5a5a5a;border-radius:50%;place-items:center;width:64px;height:64px;display:grid}.video-play i{border-top:7px solid #0000;border-bottom:7px solid #0000;border-left:11px solid #fff;width:0;height:0;margin-left:4px}.case-video-placeholder p{color:#b8b8b8;align-self:end;max-width:340px;margin:-72px 0 0;font-size:12px;line-height:1.6}.case-visuals{gap:24px;margin-top:44px;display:grid}.case-visuals figure{margin:0}.case-visuals img{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-1);width:100%;height:auto;display:block}.case-visuals figcaption{color:var(--ink-tertiary);margin-top:12px;font-size:12px;line-height:1.6}.persona-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.persona-card{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-1);min-height:290px;padding:24px}.persona-avatar{background:var(--accent-soft);border-radius:50%;width:64px;height:64px;margin-bottom:52px;position:relative;overflow:hidden}.persona-avatar:before{content:"";background:var(--accent);border-radius:50%;width:18px;height:18px;position:absolute;top:14px;left:23px}.persona-avatar span{background:var(--accent);border-radius:24px 24px 8px 8px;height:36px;position:absolute;bottom:-13px;left:13px;right:13px}.persona-card:nth-child(2) .persona-avatar{background:#e8e5df}.persona-card:nth-child(2) .persona-avatar:before,.persona-card:nth-child(2) .persona-avatar span{background:#77736e}.persona-card:nth-child(3) .persona-avatar{background:#e2e8e6}.persona-card:nth-child(3) .persona-avatar:before,.persona-card:nth-child(3) .persona-avatar span{background:#61756f}.persona-card h3{letter-spacing:-.015em;margin:0 0 12px;font-size:17px}.persona-card p{color:var(--ink-tertiary);margin:0;font-size:14px;line-height:1.65}.feature-story{border-top:1px solid var(--border-0);padding-top:16px!important}.praedico-function{padding-bottom:136px!important}.praedico-solution-layout{grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);align-items:start;gap:clamp(56px,7vw,104px);margin-top:52px;display:grid}.praedico-column-label{color:var(--ink-tertiary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:22px;font-size:12px;font-weight:600;display:block}.praedico-challenge .framework-lead{color:var(--ink-primary);letter-spacing:-.015em;margin:0 0 42px;font-size:22px;line-height:1.55}.praedico-voices,.praedico-solutions{display:grid}.praedico-voices{gap:32px}.praedico-solutions{gap:0}.praedico-voice{border-top:1px solid var(--border-soft);grid-template-columns:52px 1fr;gap:18px;margin:0;padding-top:24px;display:grid}.praedico-avatar{background:#e7e9e5;border-radius:50%;width:52px;height:52px;position:relative;overflow:hidden}.praedico-avatar:before{content:"";background:#777d75;border-radius:50%;width:16px;height:16px;position:absolute;top:10px;left:18px}.praedico-avatar span{background:#777d75;border-radius:20px 20px 4px 4px;height:30px;position:absolute;bottom:-6px;left:10px;right:10px}.praedico-voice:nth-child(2) .praedico-avatar{background:#e4e6ef}.praedico-voice:nth-child(2) .praedico-avatar:before,.praedico-voice:nth-child(2) .praedico-avatar span{background:#6f7488}.praedico-voice:nth-child(3) .praedico-avatar{background:#eee7df}.praedico-voice:nth-child(3) .praedico-avatar:before,.praedico-voice:nth-child(3) .praedico-avatar span{background:#85766a}.praedico-voice figcaption strong{color:var(--ink-primary);margin-bottom:8px;font-size:14px;font-weight:600;display:block}.praedico-voice blockquote{color:var(--ink-secondary);margin:0;font-size:15px;line-height:1.65}.praedico-job{margin-top:18px}.praedico-job>span{color:var(--ink-tertiary);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.praedico-job p{color:var(--ink-tertiary);margin:0;font-size:13px;line-height:1.6}.praedico-solution{border-bottom:1px solid var(--border-soft);gap:24px;padding-bottom:48px;display:grid}.praedico-solution:last-child{border-bottom:0;padding-bottom:0}.praedico-solution+.praedico-solution{margin-top:32px}.praedico-function-copy h3{color:var(--ink-primary);letter-spacing:-.025em;margin:0 0 16px;font-size:24px;line-height:1.25}.praedico-function-copy p{color:var(--ink-secondary);margin:0;font-size:16px;line-height:1.7}.praedico-solution figure{border:1px solid var(--border-soft);background:var(--surface-1);border-radius:4px;margin:0;overflow:hidden}.praedico-solution img{width:100%;height:auto;display:block}@media (width<=980px){.praedico-solution-layout{grid-template-columns:1fr;gap:64px}}.feature-questions{grid-template-columns:1fr 1fr;gap:32px;margin-top:48px;display:grid}.feature-questions>div{border-top:1px solid var(--border-soft);padding-top:20px}.feature-questions h3{color:var(--ink-primary);margin:0 0 14px;font-size:13px;font-weight:600}.feature-questions p{color:var(--ink-secondary);margin:0;font-size:16px;line-height:1.7}.feature-users{grid-column:1/-1}.feature-users ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.feature-users li{border:1px solid var(--border-0);border-radius:var(--radius-sm);color:var(--ink-secondary);padding:7px 10px;font-size:13px;line-height:1.3}.feature-visual-placeholder{min-height:var(--project-card-height);border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-1);color:var(--ink-tertiary);align-items:flex-end;margin-top:48px;padding:24px;font-size:12px;line-height:1.6;display:flex}.case-callout{border-left:3px solid var(--accent);background:var(--surface-1);margin:16px 0 96px;padding:32px;font-size:20px;line-height:1.6}.case-image-placeholder{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-1);min-height:420px;color:var(--ink-tertiary);align-items:flex-end;margin:16px 0 96px;padding:24px;font-size:12px;display:flex}.site-footer{border-top:1px solid var(--border-soft);padding-top:40px;padding-bottom:40px}.footer-inner{color:var(--ink-tertiary);grid-template-columns:1fr auto auto;gap:32px;font-size:12px;display:grid}.footer-links{gap:22px;display:flex}.reveal{animation:.62s cubic-bezier(.2,.7,.2,1) both enter}.delay-1{animation-delay:80ms}.delay-2{animation-delay:.16s}@keyframes enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=900px){.hero-intro,.project-card,.career-section,.education-section,.about-contact{grid-template-columns:1fr}.hero{min-height:auto}.photo-wall{columns:2}.project-card:nth-child(2n) .project-visual{order:0}.project-copy,.project-card:nth-child(2n) .project-copy{padding:0}.project-index{margin-bottom:22px}.principles{grid-template-columns:1fr}.principles h3{margin-top:28px}.closing-cta{grid-template-columns:1fr;gap:32px}.case-layout{grid-template-columns:1fr;gap:48px}.case-overview{grid-template-columns:1fr 1fr;row-gap:40px}.persona-grid{grid-template-columns:1fr}.persona-card{min-height:auto}.persona-avatar{margin-bottom:36px}.case-toc{grid-template-columns:repeat(4,1fr);position:static}}@media (width<=640px){.shell{width:min(calc(100% - 36px), var(--shell))}.nav{min-height:66px}.brand span:last-child{display:none}.nav-links{gap:18px;font-size:13px}.nav-links a{padding:22px 0 20px}.hero{padding-top:92px;padding-bottom:72px}.hero-title,.page-title{font-size:46px}.hero-title br{display:none}.hero-intro{margin-top:36px}.section,.page-hero{padding-top:80px;padding-bottom:88px}.photo-wall{column-gap:8px;padding-top:8px;padding-bottom:72px}.photo-tile{margin-bottom:8px}.photo-lightbox{padding:64px 20px}.lightbox-media{width:100%;height:78vh}.lightbox-arrow{top:auto;bottom:14px;transform:none}.section-heading{grid-template-columns:1fr}.section-heading p{justify-self:start}.project-list{gap:80px}.project-visual{min-height:320px;padding:22px}.mock-body{min-height:220px}.mock-grid{grid-template-columns:1fr 1fr}.mock-cell:last-child{display:none}.thinking-section{padding-bottom:96px}.career-section,.education-section,.about-contact{gap:48px;padding-top:72px;padding-bottom:96px}.experience-accordion summary{grid-template-columns:28px 1fr 22px;gap:14px}.experience-accordion time{grid-area:2/2}.accordion-toggle{grid-area:1/3}.experience-body{grid-template-columns:1fr;gap:28px;padding-left:42px}.education-record{grid-template-columns:1fr;gap:12px}.case-cover{min-height:360px;margin-bottom:80px}.case-overview{grid-template-columns:1fr;gap:28px;margin-top:48px}.product-overview-list li{grid-template-columns:1fr;gap:8px}.feature-questions{grid-template-columns:1fr}.feature-users{grid-column:auto}.feature-visual-placeholder{min-height:300px}.case-toc{grid-template-columns:1fr 1fr}.case-content h2{font-size:30px}.footer-inner{grid-template-columns:1fr;gap:16px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{background:#fff;border-bottom:0;position:relative}.nav.shell{width:min(83.75vw,1608px);min-height:clamp(96px,6.7708vw,130px);font-family:var(--font-inter), Inter, sans-serif;justify-content:flex-start;position:relative}.brand{color:#0d0d0d;gap:min(1.0417vw,20px);font-size:clamp(14px,.8333vw,16px);font-weight:500}.brand-avatar{object-fit:cover;border-radius:50%;width:clamp(38px,2.5vw,48px);height:clamp(38px,2.5vw,48px)}.nav-links{gap:min(2.5vw,48px);font-size:clamp(16px,1.0417vw,20px);position:absolute;left:50%;transform:translate(-50%)}.nav-links a{text-align:center;color:#454545;width:min(7.0833vw,136px);padding:14px 0 15px;font-weight:400}.nav-links a:after{transform-origin:50%;background:#0d0d0d;width:37px;bottom:0;left:50%;right:auto;transform:translate(-50%)scaleX(0)}.nav-links a[aria-current=page]{color:#0d0d0d;font-weight:500}.nav-links a[aria-current=page]:after{transform:translate(-50%)scaleX(1)}.figma-home{color:#0d0d0d;font-family:var(--font-inter), Inter, sans-serif;background:#fff;padding-bottom:112px}.figma-home-hero{width:min(83.5938vw,1605px);margin:0 auto;container-type:inline-size}.hero-collage{aspect-ratio:1605/712;isolation:isolate;-webkit-user-select:none;user-select:none;width:100%;position:relative;overflow:hidden}.hero-collage,.hero-collage *{-webkit-user-drag:none}.hero-collage img,.hero-collage .hero-piece{pointer-events:none}.hero-collage-title{z-index:4;color:#0d0d0d;width:33.77%;font-family:var(--font-instrument-sans), "Instrument Sans", sans-serif;letter-spacing:.1495cqw;transform-origin:0 0;margin:0;font-size:7.4766cqw;font-weight:500;line-height:1.2;position:absolute;top:6.425%;left:4.86%;transform:rotate(-4.8413deg)}.hero-typing-motion,.hero-typing-static{white-space:pre}.hero-typing-static{display:none}.hero-typing-text{-webkit-box-decoration-break:clone;box-decoration-break:clone}.hero-typing-text.is-selected{color:#fff;background:#173c52}.hero-typing-caret{vertical-align:-.06em;background:currentColor;width:max(2px,.16cqw);height:.84em;margin-left:.07em;animation:.78s step-end infinite hero-caret-blink;display:inline-block}.hero-typing-caret.is-hidden{opacity:0}@keyframes hero-caret-blink{0%,48%{opacity:1}49%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.hero-typing-motion{display:none}.hero-typing-static{display:inline}}.hero-piece{z-index:3;position:absolute}.hero-piece>img{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.hero-new-checker{z-index:1;opacity:.7;background-color:#fafafa;background-image:conic-gradient(from 90deg, #d2d2d2 25%, #fafafa 0 50%, #d2d2d2 0 75%, #fafafa 0);background-size:2.783cqw 2.783cqw;width:79.315%;height:37.36%;animation:.65s ease-out both hero-checker-enter;position:absolute;left:10.28%}.hero-new-checker-top{top:12.781%}.hero-new-checker-bottom{animation-delay:60ms;top:50.14%;left:10.156%}.hero-person{z-index:3;width:37.253%;height:82.459%;animation:.8s cubic-bezier(.22,.7,.25,1) .12s both hero-person-enter;top:10.097%;left:30.093%}.hero-person>img{position:absolute}.hero-person-neck{top:45.325%;left:40.628%;width:28.432%!important;height:30.488%!important}.hero-person-hair{top:0;left:14.705%;width:85.296%!important;height:57.759%!important}.hero-person-cloth{top:55.123%;left:0;width:93.438%!important;height:44.877%!important}.hero-person-collar{top:55.123%;left:33.059%;width:32.975%!important;height:24.985%!important}.hero-person-face{top:17.884%;left:57.116%;width:26.382%!important;height:43.183%!important}.hero-person-lines{top:4.714%;left:20.646%;width:76.025%!important;height:50.852%!important}.hero-new-swatch-blue{width:9.151%;height:20.627%;top:53.437%;left:19.839%}.hero-new-swatch-beige{width:9.114%;height:20.543%;top:58.443%;left:12.523%}.hero-draggable-note{z-index:20;touch-action:none;cursor:grab;pointer-events:auto!important}.hero-draggable-note.is-top{z-index:21}.hero-draggable-note.is-dragging{z-index:22;cursor:grabbing}.hero-note-art,.hero-note-art img{pointer-events:none;width:100%;height:100%;display:block}.hero-note-art{filter:drop-shadow(0 2px 3px #173c5200);transition:scale .18s cubic-bezier(.22,.7,.25,1),filter .18s;scale:1}.hero-draggable-note.is-dragging .hero-note-art{filter:drop-shadow(0 12px 12px #173c523d);scale:1.055}.hero-note-art-blue{transform-origin:0 0;animation:.65s ease-out .2s both hero-piece-enter;transform:rotate(-12.4846deg)}.hero-note-art-beige{transform-origin:0 0;animation:.65s ease-out .28s both hero-piece-enter;transform:rotate(-1.2197deg)}.hero-new-dots{z-index:4;transform-origin:0 0;width:16.145%;height:36.096%;animation:.7s ease-out .34s both hero-piece-enter;top:28.813%;left:72.96%;transform:rotate(-31.9565deg);pointer-events:auto!important}.hero-ripple-dots{cursor:crosshair;position:absolute;inset:0}.hero-ripple-dots span{transform-origin:50%;pointer-events:none;background:#0d0d0d;border-radius:50%;width:1.9296%;height:1.9455%;transition:transform .3s cubic-bezier(.22,.7,.25,1);position:absolute}.hero-ripple-dots.is-active span{transition-duration:90ms}.hero-more{z-index:5;color:#000;width:13.271%;font-family:var(--font-instrument-sans), "Instrument Sans", sans-serif;text-align:right;white-space:nowrap;transform-origin:0 0;margin:0;font-size:1.4953cqw;font-weight:400;line-height:normal;animation:.6s ease-out .4s both hero-piece-enter;position:absolute;top:10.018%;left:67.352%;transform:rotate(-4.9372deg)}.hero-more-dots span{opacity:0;margin-left:.18em;transition:opacity .1s;display:inline-block}.hero-more-dots span.is-visible{opacity:1}@media (prefers-reduced-motion:reduce){.hero-more-dots span{opacity:1}}.hero-signature{z-index:5;color:#909090;width:33.77%;font-family:var(--font-instrument-sans), "Instrument Sans", sans-serif;letter-spacing:.0449cqw;text-align:right;transform-origin:0 0;margin:0;font-size:2.243cqw;font-style:italic;font-weight:500;line-height:normal;animation:.6s ease-out .46s both hero-piece-enter;position:absolute;top:87.079%;left:58.871%;transform:rotate(2.4398deg)}@keyframes hero-checker-enter{0%{opacity:0}to{opacity:.7}}@keyframes hero-person-enter{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}@keyframes hero-piece-enter{0%{opacity:0;translate:0 6px}to{opacity:1;translate:0}}@media (prefers-reduced-motion:reduce){.hero-new-checker,.hero-person,.hero-note-art,.hero-new-dots,.hero-more,.hero-signature{animation:none;translate:none}.hero-ripple-dots span{transform:none!important}}.section-divider{aspect-ratio:130.143/14.143;pointer-events:none;-webkit-user-select:none;user-select:none;width:clamp(92px,6.7783vw,130.143px);margin:0 auto}.section-divider img{width:100%;height:100%;display:block}.figma-projects{gap:min(5.8333vw,112px);width:min(83.75vw,1608px);margin:min(2.5vw,48px) auto 0;display:grid}.figma-project{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,min(41.6146vw,799px)) minmax(0,min(35.8333vw,688px));column-gap:min(6.3021vw,121px);min-height:min(31.25vw,600px);display:grid}.figma-project-copy{grid-area:2/1;min-width:0}.figma-project-index{color:#a7a7a7;letter-spacing:.07em;grid-area:1/1;margin:0 0 min(3.9063vw,75px);font-size:clamp(14px,1.25vw,24px);font-style:italic}.figma-project h2{font-family:var(--font-instrument-sans), "Instrument Sans", sans-serif;align-items:center;gap:16px;margin:0 0 min(1.4063vw,27px);font-size:clamp(38px,3.3333vw,64px);font-weight:400;line-height:1.22;display:flex}.figma-project-outward{flex:none;align-items:center;display:flex}.figma-project-outward svg{color:#454545;width:clamp(25px,2.0833vw,40px);height:clamp(25px,2.0833vw,40px);transition:color .2s}.figma-project-outward:hover svg,.figma-project-outward:focus-visible svg{color:#0d0d0d}.figma-project-summary{max-width:799px;min-height:min(4.5313vw,87px);margin:0 0 min(2.5vw,48px);font-size:clamp(16px,1.25vw,24px);line-height:normal}.figma-project-details{gap:min(2.5vw,48px);margin-bottom:min(2.9167vw,56px);display:flex}.figma-project-details span{white-space:nowrap;align-items:center;gap:min(.625vw,12px);min-width:min(13.9063vw,267px);font-size:clamp(15px,1.25vw,24px);display:flex}.figma-project-details svg{color:#0d0d0d;flex:0 0 40px;width:40px;height:40px}.figma-case-link{color:#0d0d0d;font-family:var(--font-inter), Inter, sans-serif;background:0 0;align-items:center;gap:0;padding:0;font-size:24px;font-weight:400;line-height:normal;display:inline-flex;position:relative}.figma-case-label{align-items:center;height:36px;padding:0;display:flex}.figma-case-arrow{flex:none;width:35px;height:36px;position:relative;overflow:visible}.figma-case-arrow img{clip-path:inset(0 0 2px);filter:brightness();transform-origin:0;width:35px;height:36px;transition:filter .2s,transform .26s cubic-bezier(.22,.7,.25,1);display:block;transform:scaleX(1)}.figma-case-link:after{content:"";transform-origin:50%;background:currentColor;height:1px;transition:transform .28s cubic-bezier(.22,.7,.25,1);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.figma-case-link:hover,.figma-case-link:focus-visible{background:0 0}.figma-case-link:hover:after,.figma-case-link:focus-visible:after{transform:scaleX(1)}.figma-case-link:hover .figma-case-arrow img,.figma-case-link:focus-visible .figma-case-arrow img{transform:scaleX(1.16)}.figma-project-preview{aspect-ratio:688/444;color:#0000;background:#d9d9d9;border-radius:0;grid-area:1/2/span 2;align-self:start;place-items:center;width:100%;height:auto;margin-top:min(4.6875vw,90px);transition:transform .22s,background .22s;display:grid;overflow:hidden}.figma-project-preview:hover,.figma-project-preview:focus-visible{background:#d2d2d2;transform:translateY(-4px)}.project-reveal .figma-project-index,.project-reveal .figma-project-copy,.project-reveal .figma-project-preview{opacity:0;will-change:opacity, transform}.project-reveal .figma-project-index{transition:opacity .56s ease-out,transform .65s cubic-bezier(.22,.7,.25,1);transform:translateY(12px)}.project-reveal .figma-project-copy{transition:opacity .65s ease-out 80ms,transform .72s cubic-bezier(.22,.7,.25,1) 80ms;transform:translateY(18px)}.project-reveal .figma-project-preview{transition:opacity .65s ease-out .15s,transform .72s cubic-bezier(.22,.7,.25,1) .15s,background .22s;transform:translateY(10px)scale(.985)}.project-reveal.is-visible .figma-project-index,.project-reveal.is-visible .figma-project-copy,.project-reveal.is-visible .figma-project-preview{opacity:1;transform:translateY(0)scale(1)}.project-reveal.is-visible .figma-project-preview:hover,.project-reveal.is-visible .figma-project-preview:focus-visible{transform:translateY(-4px)scale(1)}.section-divider-bottom{margin-top:min(3.3333vw,64px);margin-bottom:0}@media (width<=1000px){.nav.shell{min-height:96px}.nav-links{gap:10px}.nav-links a{width:auto;padding-inline:14px;font-size:16px}.figma-home-hero{width:min(86vw,1605px)}.figma-projects{gap:104px;width:calc(100% - 48px)}.figma-project{grid-template-rows:auto auto auto;grid-template-columns:1fr;gap:0;min-height:0}.figma-project-index{grid-area:1/1;margin-bottom:28px}.figma-project-preview{grid-area:2/1;width:min(100%,688px);margin:0 0 42px}.project-reveal .figma-project-preview{transition-delay:80ms}.project-reveal .figma-project-copy{transition-delay:.16s}.figma-project-copy{grid-area:3/1}.figma-project h2{margin-bottom:20px}.figma-project-summary{min-height:0;margin-bottom:32px}.figma-project-details{margin-bottom:34px}}@media (prefers-reduced-motion:reduce){.project-reveal .figma-project-index,.project-reveal .figma-project-copy,.project-reveal .figma-project-preview{opacity:1;transition:none;transform:none}}@media (width<=640px){.nav.shell{width:calc(100% - 32px);min-height:82px}.nav-links{gap:0}.nav-links a{padding:12px 8px 13px;font-size:13px}.figma-home-hero{width:92vw}.section-divider-bottom{margin-top:40px;margin-bottom:0}.figma-projects{gap:88px;width:calc(100% - 36px)}.figma-project-index{margin-bottom:24px;font-size:13px}.figma-project h2{font-size:38px}.figma-project h2 img{width:25px;height:25px}.figma-project-summary{font-size:16px;line-height:1.45}.figma-project-details{gap:12px;display:grid}.figma-project-details span{font-size:15px}.figma-project-details img{width:36px;height:36px}.figma-case-link{font-size:16px}.figma-case-label{height:36px}.figma-project-preview{border-radius:0}}body:has(.portfolio-desktop):not(:has(.case-study-workspace)){background:#efefef;overflow:hidden}:is(body:has(.portfolio-desktop) .site-header,body:has(.portfolio-desktop) .site-footer){display:none}body:has(.portfolio-desktop) #main-content{min-height:100dvh}.portfolio-desktop{color:#131313;width:100%;height:100dvh;min-height:0;font-family:var(--font-nunito), var(--font-manrope), sans-serif;isolation:isolate;background-color:#0000;position:relative;overflow:hidden}.desktop-surface{z-index:0;opacity:1;background-color:#0000;transition:opacity .36s;position:fixed;inset:0;overflow:hidden}.desktop-surface.is-projects-open{opacity:1}.desktop-intro{z-index:2;aspect-ratio:1008/630;pointer-events:none;opacity:1;visibility:visible;width:min(100vw - 80px,1512px,max(93.333dvh,125.037dvh - 342.4px));transition:opacity .26s,visibility linear;position:absolute;top:calc(max(10.926dvh,57.98dvh - 697.76px) + min(472.5px,max(29.167dvh,39.074dvh - 107px)));left:50%;transform:translate(-50%,-50%)}.desktop-intro.is-hidden{opacity:0;visibility:hidden;transition:opacity .22s,visibility 0s linear .22s;transform:translate(-50%,-50%)}.desktop-intro-art{pointer-events:none;-webkit-user-select:none;user-select:none;transform-origin:50%;width:100%;max-width:none;height:100%;transition:transform .36s cubic-bezier(.2,.75,.25,1);display:block;transform:scale(1)}.desktop-intro.is-hidden .desktop-intro-art{transition-duration:.28s;transform:scale(.965)}.desktop-stage{z-index:3;overscroll-behavior:contain;pointer-events:none;padding:clamp(63px,8.333vh,83px) clamp(24px,5vw,80px) 300px;position:absolute;inset:0;overflow:auto}.desktop-stage.is-active,.desktop-stage>*{pointer-events:auto}.desktop-stage.is-projects{padding:0;overflow:hidden}.desktop-stage.is-photos{touch-action:none;padding:0;overflow:hidden}.workspace-close-button{z-index:50;-webkit-backdrop-filter:blur(14px);cursor:pointer;background:#f5f5f5d1;border:1px solid #fffc;border-radius:50%;width:48px;height:48px;padding:0;transition:background-color .18s,transform .18s;animation:.24s ease-out both workspace-close-in;position:fixed;top:clamp(20px,3.2dvh,34px);right:clamp(20px,3vw,44px);box-shadow:0 8px 24px #1c1c1c14,inset 0 1px #ffffffe6}.workspace-close-button:hover,.workspace-close-button:focus-visible{background:#fffffff2;transform:translateY(-2px)}.workspace-close-button:focus-visible{outline:2px solid var(--colour-primary);outline-offset:3px}.workspace-close-button span{background:var(--colour-text-black);border-radius:999px;width:18px;height:1.5px;position:absolute;top:50%;left:50%}.workspace-close-button span:first-child{transform:translate(-50%,-50%)rotate(45deg)}.workspace-close-button span:last-child{transform:translate(-50%,-50%)rotate(-45deg)}@keyframes workspace-close-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.immersive-gallery-viewport{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;animation:.42s ease-out both immersive-gallery-in;position:absolute;inset:0;overflow:hidden}.immersive-gallery-viewport.is-dragging{cursor:grabbing}.immersive-gallery-viewport.is-closing{pointer-events:none;animation:.42s ease-in both immersive-gallery-out}.immersive-gallery-canvas{--gallery-scale:clamp(.56, min(calc(100vw / 1920px), calc(100dvh / 1080px)), 1);width:1920px;height:1080px;transform:translate3d(calc(-50% + var(--gallery-x,0px)), -50%, 0) scale(var(--gallery-scale));transform-origin:50%;will-change:transform;position:absolute;top:50%;left:50%}.immersive-gallery-tile{z-index:1;left:var(--photo-x);top:var(--photo-y);width:var(--photo-width);height:var(--photo-height);color:var(--colour-text-black);font:inherit;text-align:left;cursor:zoom-in;transform:translate3d(var(--push-x,0), var(--push-y,0), 0) scale(var(--photo-scale,1));transform-origin:50%;animation:.52s cubic-bezier(.16,.74,.22,1.12) backwards immersive-photo-in;animation-delay:calc(var(--item-index) * 42ms);will-change:transform;background:#fff;border:10px solid #fff;border-radius:0;padding:0;transition:transform .52s cubic-bezier(.16,.84,.24,1.08),box-shadow .42s,filter .42s;position:absolute;box-shadow:0 4px 24px #0000001a}.immersive-gallery-canvas:not(.has-expanded-photo) .immersive-gallery-tile:hover,.immersive-gallery-canvas:not(.has-expanded-photo) .immersive-gallery-tile:focus-visible{z-index:2;transform:translateY(-4px)scale(1.012);box-shadow:0 12px 30px #0000001f}.immersive-gallery-tile:focus-visible{outline:3px solid var(--colour-primary);outline-offset:4px}.immersive-gallery-tile img{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:0;width:100%;max-width:none;height:100%;display:block}.immersive-gallery-tile.is-expanded{z-index:12;cursor:default;border-width:5px;box-shadow:0 24px 64px #00000029}.immersive-gallery-tile.is-expanded:focus-visible{outline:0}.immersive-gallery-tile.is-pushed{cursor:zoom-in}@keyframes immersive-gallery-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@keyframes immersive-gallery-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.985)}}@keyframes immersive-photo-in{0%{opacity:0;transform:translateY(38px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.immersive-gallery-viewport,.immersive-gallery-tile{transition:none;animation:none}}.desktop-project-scene{width:1920px;height:1080px;transform:translate(-50%, -50%) scale(min(1, calc(100vw / 1920px), calc(100dvh / 1080px)));transform-origin:50%;animation:.36s ease-out both desktop-project-scene-in;position:absolute;inset:50% auto auto 50%}.desktop-project-scene.is-closing{pointer-events:none;animation:.32s ease-in both desktop-project-scene-out}@keyframes desktop-project-scene-in{0%{opacity:0}to{opacity:1}}@keyframes desktop-project-scene-out{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.desktop-project-scene{animation-duration:.01ms}}.desktop-project-map{font-family:var(--font-inter), sans-serif;position:absolute;inset:0}.desktop-project-timeline-line{pointer-events:none;-webkit-user-select:none;user-select:none;width:566px;max-width:none;height:504px;display:block;position:absolute;top:207px;left:576px}.desktop-project-now{pointer-events:none;-webkit-user-select:none;user-select:none;transform-origin:50% 54%;will-change:transform, opacity;width:167px;height:166px;animation:.62s cubic-bezier(.22,1.44,.42,1) 70ms backwards desktop-project-now-in;position:absolute;top:132px;left:481px}@keyframes desktop-project-now-in{0%{opacity:0;transform:translateY(16px)scale(.82)}to{opacity:1;transform:translate(0)scale(1)}}.desktop-project-now img{width:100%;height:100%;display:block}.desktop-project-now span{color:#fff;font-family:var(--font-bricolage), var(--font-instrument-sans), sans-serif;place-items:center;font-size:48px;font-weight:700;line-height:1;display:grid;position:absolute;inset:0;transform:rotate(-30deg)}.desktop-project-year{color:#fff;width:82px;height:82px;font-family:var(--font-bricolage), var(--font-instrument-sans), sans-serif;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:16px;font-weight:700;line-height:1;position:absolute}.desktop-project-year img{width:100%;height:100%;display:block;position:absolute;inset:0}.desktop-project-year.is-2026{top:166px;left:741px}.desktop-project-year.is-2022{top:265px;left:1030px}.desktop-project-year.is-2018{top:562px;left:700px}.desktop-project-year.is-2012{top:667px;left:1101px}.desktop-project-node{color:#282828;transform-origin:50% 62%;will-change:transform, opacity;animation:desktop-project-node-in .6s cubic-bezier(.22, 1.42, .42, 1) var(--project-enter-delay,.22s) backwards;position:absolute}.desktop-project-scene.is-restored .desktop-project-now,.desktop-project-scene.is-restored .desktop-project-node,.desktop-project-scene.is-restored:not(.is-closing){animation:none}@keyframes desktop-project-node-in{0%{opacity:0;transform:translateY(18px)scale(.9)}to{opacity:1;transform:translate(0)scale(1)}}.desktop-project-node-bg{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;max-width:none;height:100%;display:block;position:absolute;inset:0}.desktop-project-node-content{flex-direction:column;align-items:flex-end;padding:32px 44px;display:flex;position:absolute}.desktop-project-node-copy{flex-direction:column;gap:16px;width:100%;display:flex}.desktop-project-node-heading{align-items:center;gap:12px;display:flex}.desktop-project-node-logo{flex:none;width:54px;height:54px;display:block}.desktop-project-node-logo img{object-fit:contain;width:100%;height:100%;display:block}.desktop-project-node-title{font-family:var(--font-bricolage), var(--font-instrument-sans), sans-serif;white-space:nowrap;margin:0;font-size:20px;font-weight:700;line-height:normal}.desktop-project-node-copy p{font-family:var(--font-inter), sans-serif;margin:0;font-size:16px;font-weight:400;line-height:normal}.desktop-project-node.is-visible-tokens{width:273px;height:170.399px;top:262px;left:653px}.desktop-project-node.is-visible-tokens .desktop-project-node-content{align-items:center;gap:10px;width:273px;height:141px;padding:20px;top:29.4px;left:0}.desktop-project-node.is-visible-tokens .desktop-project-node-copy{grid-template-rows:auto auto;grid-template-columns:54px 1fr;gap:12px;width:233px;display:grid}.desktop-project-node.is-visible-tokens .desktop-project-node-heading{display:contents}.desktop-project-node.is-visible-tokens .desktop-project-node-logo{grid-area:1/1/span 2}.desktop-project-node.is-visible-tokens .desktop-project-node-title{grid-area:1/2;align-self:end;font-size:16px}.desktop-project-node.is-visible-tokens .desktop-project-node-copy p{grid-area:2/2;font-size:16px}.desktop-project-node.is-praedico{color:#fff;width:298.439px;height:323px;top:152px;left:1128px}.desktop-project-node.is-praedico .desktop-project-node-content{width:270px;height:323px;top:0;left:28.25px}.desktop-project-node.is-xiaozhan{width:282.052px;height:314px;top:454px;left:397.19px}.desktop-project-node.is-xiaozhan .desktop-project-node-content{width:252px;height:314px;top:0;left:0}.desktop-project-node.is-51job{width:300.189px;height:304px;top:508px;left:1213.81px}.desktop-project-node.is-51job .desktop-project-node-content{width:270px;height:304px;top:0;left:30.19px}.desktop-project-more{border-radius:18.5px;outline:none;flex:none;width:64px;height:32px;margin-top:auto;display:block;position:relative}.desktop-project-more:before{content:"";border-radius:30px;position:absolute;inset:-12px -16px}.desktop-project-more img{pointer-events:none;-webkit-user-select:none;user-select:none;width:64px;max-width:none;height:32px;display:block;position:absolute;inset:0}.desktop-project-more-default,.desktop-project-more-active{z-index:1;transition:opacity .16s ease-out}.desktop-project-more-active{opacity:0}.desktop-project-more-arrow{z-index:2;transition:transform .18s cubic-bezier(.22,.72,.24,1);transform:translate(-50%,-50%);width:22px!important;height:auto!important;inset:50% auto auto 50%!important}.desktop-project-more:hover .desktop-project-more-default,.desktop-project-more:focus-visible .desktop-project-more-default,.desktop-project-more:active .desktop-project-more-default{opacity:0}.desktop-project-more:hover .desktop-project-more-active,.desktop-project-more:focus-visible .desktop-project-more-active,.desktop-project-more:active .desktop-project-more-active{opacity:1}.desktop-project-more:hover .desktop-project-more-arrow,.desktop-project-more:focus-visible .desktop-project-more-arrow{transform:translate(calc(3px - 50%),-50%)}.desktop-project-more:active .desktop-project-more-arrow{transform:translate(calc(4px - 50%),-50%)}.desktop-project-more:focus-visible{box-shadow:0 0 0 3px #ffffffe6,0 0 0 5px #282828}.desktop-project-grid{perspective:1400px;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,44px);width:min(1120px,100%);margin:0 auto;display:grid}.desktop-project-card{gap:var(--project-card-gap);padding:var(--project-card-padding);border-radius:var(--project-card-radius);background:var(--project-card-surface);color:inherit;transform-origin:50% 120%;animation:.54s cubic-bezier(.16,.74,.22,1.1844) backwards desktop-card-fly,.54s linear backwards desktop-lift-shadow;animation-delay:calc(var(--item-index) * .12s);will-change:transform, opacity;backface-visibility:hidden;contain:layout paint style;border:0;flex-direction:column;text-decoration:none;transition:transform .22s,box-shadow .22s;display:flex;overflow:hidden;box-shadow:0 15px 35px #24242013,0 3px 10px #24242009}.desktop-project-card:hover{transform:translateY(-6px)rotate(.25deg);box-shadow:0 30px 70px #2424200a,0 10px 28px #24242005}.desktop-project-card:focus-visible{outline-offset:5px;outline:3px solid #1f3b68}@keyframes desktop-card-fly{0%{opacity:0;transform:translate3d(0,120px,0) scale(.72) rotate(calc((var(--item-index) - 1.5) * 3deg))}to{opacity:1;transform:translate(0)scale(1)rotate(0)}}@keyframes desktop-lift-shadow{0%{box-shadow:0 10px 25px #2424200e,0 2px 8px #24242008}12%{box-shadow:0 19.9px 47.2px #2424200c,0 6px 17.9px #24242006}24%{box-shadow:0 25.5px 59.8px #2424200b,0 8.2px 23.5px #24242006}36%{box-shadow:0 28.1px 65.7px #2424200a,0 9.2px 26.1px #24242005}48%{box-shadow:0 29.4px 68.6px #2424200a,0 9.7px 27.4px #24242005}58%{box-shadow:0 29.8px 69.6px #2424200a,0 9.9px 27.8px #24242005}69%{box-shadow:0 30px 70px #2424200a,0 10px 28px #24242005}74%{box-shadow:0 29.5px 68.8px #2424200a,0 9.8px 27.4px #24242005}80%{box-shadow:0 27.8px 64.8px #2424200b,0 9px 25.3px #24242006}86%{box-shadow:0 24.9px 58.2px #2424200d,0 7.6px 21.9px #24242006}92%{box-shadow:0 21.2px 49.5px #24242010,0 5.9px 17.4px #24242007}97%{box-shadow:0 17.5px 40.8px #24242012,0 4.2px 13px #24242008}to{box-shadow:0 15px 35px #24242013,0 3px 10px #24242009}}.desktop-project-grid.is-closing .desktop-project-card{animation:.44s cubic-bezier(.55,.05,.8,.3) both desktop-card-return;animation-delay:calc((3 - var(--item-index)) * 34ms);pointer-events:none;will-change:transform, opacity}@keyframes desktop-card-return{0%{opacity:1;transform:translate(0)scale(1)rotate(0)}45%{opacity:.92}to{opacity:0;transform:translate3d(0,210px,0) scale(.34) rotate(calc((var(--item-index) - 1.5) * 4deg))}}.desktop-project-image{aspect-ratio:49/27;border-radius:var(--project-card-media-radius);background:var(--project-card-media-surface);width:100%;height:auto;box-shadow:var(--project-card-media-shadow);flex:none;position:relative;overflow:hidden}.desktop-project-image:after{content:"";z-index:2;border-radius:inherit;box-shadow:var(--project-card-media-shadow);pointer-events:none;position:absolute;inset:0}.desktop-project-image>img{object-fit:cover;width:100%;height:100%}.project-accent-lilac{background:#ddd9ee}.project-accent-mint{background:#dbece6}.project-accent-peach{background:#f1dfd7}.project-accent-butter{background:#efe8c9}.desktop-project-logo{top:var(--project-card-padding);left:var(--project-card-padding);width:var(--project-card-logo-size);height:var(--project-card-logo-size);z-index:3;display:block;position:absolute}.desktop-project-logo img{object-fit:contain;width:100%;height:100%;display:block}.visible-token-preview{background:linear-gradient(145deg,#ecf4ef,#d5e7df);justify-content:center;align-items:end;gap:7px;padding:14% 12%;display:flex;position:absolute;inset:0}.visible-token-preview:before{content:"Aa";color:#20352d;font-family:var(--font-instrument-sans), sans-serif;letter-spacing:-.07em;font-size:clamp(42px,5vw,76px);font-weight:700;position:absolute;top:18%;left:13%}.visible-token-preview i{width:18%;height:calc(32% + var(--swatch-height,0%));background:#244e3f;border-radius:8px 8px 2px 2px}.visible-token-preview i:nth-child(2){background:#537d6e;height:42%}.visible-token-preview i:nth-child(3){background:#87a99c;height:52%}.visible-token-preview i:nth-child(4){background:#bad0c8;height:62%}.visible-token-preview i:nth-child(5){background:#f4d382;height:72%}.desktop-project-caption{gap:var(--project-card-content-gap);background:var(--project-card-surface);flex-direction:column;flex:1;min-width:0;padding:0;display:flex}.desktop-project-heading{justify-content:space-between;align-items:center;gap:var(--project-card-tag-gap);min-width:0;display:flex}.desktop-project-identity{gap:var(--project-card-title-gap);flex-direction:column;flex:auto;min-width:0;display:flex}.desktop-project-caption h2{font-family:var(--font-instrument-sans), var(--font-manrope), sans-serif;color:var(--project-card-text-primary);font-size:var(--project-card-title-size);font-weight:var(--project-card-title-weight);line-height:var(--project-card-title-line-height);letter-spacing:0;margin:0}.desktop-project-identity time{color:var(--project-card-text-tertiary);font-family:var(--font-nunito), var(--font-manrope), sans-serif;font-size:var(--project-card-meta-size);font-weight:400;line-height:var(--project-card-meta-line-height);letter-spacing:0;white-space:nowrap;flex:none}.desktop-project-description{height:calc(var(--project-card-body-line-height) * 2);color:var(--project-card-text-secondary);font-family:var(--font-nunito), var(--font-manrope), sans-serif;font-size:var(--project-card-body-size);font-weight:400;line-height:var(--project-card-body-line-height);letter-spacing:0;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.desktop-project-tags{justify-content:flex-end;gap:var(--project-card-tag-gap);flex-wrap:nowrap;flex:none;display:flex}.desktop-tag{min-height:var(--project-card-tag-height);padding:var(--project-card-tag-padding-block) var(--project-card-tag-padding-inline);border-radius:var(--project-card-tag-radius);color:var(--project-card-text-primary);font-family:var(--font-nunito), var(--font-manrope), sans-serif;font-size:var(--project-card-tag-size);font-weight:var(--project-card-tag-weight);line-height:var(--project-card-tag-line-height);white-space:nowrap;box-shadow:none;border:0;background:var(--project-card-tag-surface)!important}.tag-color-red{background:var(--colour-red-200)}.tag-color-orange{background:var(--colour-orange-200)}.tag-color-yellow{background:var(--colour-yellow-200)}.tag-color-olive{background:var(--colour-olive-200)}.tag-color-green{background:var(--colour-green-200)}.tag-color-mint{background:var(--colour-mint-200)}.tag-color-aqua{background:var(--colour-aqua-200)}.tag-color-blue{background:var(--colour-blue-200)}.tag-color-blueviolet{background:var(--colour-blueviolet-200)}.tag-color-purple{background:var(--colour-purple-200)}.tag-color-magenta{background:var(--colour-magenta-200)}.tag-color-pink{background:var(--colour-pink-200)}.desktop-photo-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-auto-flow:dense;grid-auto-rows:170px;gap:16px;width:min(1180px,100%);margin:0 auto;display:grid}.desktop-photo-tile{animation:.54s cubic-bezier(.22,.72,.28,1) both desktop-photo-arrive;animation-delay:calc(var(--item-index) * 52ms);background:#e8e8e4;border:7px solid #fff;border-radius:2px;margin:0;position:relative;overflow:hidden;box-shadow:0 12px 34px #1f1f1d1f}.desktop-photo-grid.is-closing .desktop-photo-tile{animation:.46s cubic-bezier(.55,.05,.8,.3) both desktop-item-return;animation-delay:calc((7 - var(--item-index)) * 22ms);pointer-events:none}@keyframes desktop-photo-arrive{0%{opacity:0;transform:translateY(28px)scale(.96)rotate(-.6deg)}84%{opacity:1;transform:translateY(-5px)scale(1.008)rotate(0)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}.desktop-photo-tile img{object-fit:cover;width:100%;height:100%}.desktop-photo-wide{grid-column:span 2}.desktop-photo-portrait{grid-row:span 2}.desktop-photo-landscape{grid-column:span 2}.desktop-photo-square{grid-area:span 1/span 1}.desktop-resume-sheet{--resume-gutter:calc(var(--spacing-insection-b) - var(--spacing-element-xs));width:min(888px,100%);min-height:1028px;padding:var(--resume-gutter);gap:var(--resume-gutter);border-radius:var(--radius-detail-sm);background:var(--project-card-surface);color:var(--colour-text-black);font-family:var(--font-inter), sans-serif;box-shadow:var(--shadow-visible-tokens);will-change:transform, opacity;backface-visibility:hidden;border:0;grid-template-columns:312px minmax(0,432px);margin:0 auto;animation:.6s cubic-bezier(.16,.74,.22,1.12) backwards desktop-resume-open,.6s linear backwards desktop-lift-shadow;display:grid}.desktop-resume-sheet.is-closing{pointer-events:none;animation:.5s cubic-bezier(.55,.05,.8,.3) both desktop-item-return}@keyframes desktop-item-return{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(190px)scale(.42)}}@keyframes desktop-resume-open{0%{opacity:0;transform:translateY(120px)scale(.88)}to{opacity:1;transform:translate(0)scale(1)}}.desktop-resume-left,.desktop-resume-right,.desktop-resume-identity,.desktop-resume-contact,.desktop-resume-education,.desktop-resume-intro,.desktop-resume-work,.desktop-resume-experience,.desktop-resume-experience>div,.desktop-resume-role-copy{flex-direction:column;align-items:flex-start;width:100%;display:flex}.desktop-resume-sheet h1,.desktop-resume-sheet section h2,.desktop-resume-sheet header h2,.desktop-resume-sheet h3,.desktop-resume-sheet p,.desktop-resume-sheet time,.desktop-resume-sheet small{margin:0}.desktop-resume-left{gap:var(--spacing-section-section);padding-top:calc((var(--spacing-section-section) * 2) + var(--spacing-insection-m) + var(--spacing-element-xs))}.desktop-resume-right{padding-top:calc(var(--spacing-section-section) + var(--spacing-insection-s))}.desktop-resume-identity{gap:var(--spacing-element-big)}.desktop-resume-identity>div{gap:var(--spacing-element-small);flex-direction:column;display:flex}.desktop-resume-sheet h1{color:var(--colour-primary);font-family:var(--font-bricolage), sans-serif;font-size:var(--detail-text-h1-size);font-weight:700;line-height:normal}.desktop-resume-identity h2{color:var(--colour-text-black);font-family:var(--font-bricolage), sans-serif;font-size:var(--detail-text-h4-size);font-weight:500;line-height:normal}.desktop-resume-identity p,.desktop-resume-intro p,.desktop-resume-role-copy p,.desktop-resume-education p{color:var(--colour-text-grey);font-size:var(--detail-text-body2-size);line-height:var(--detail-text-body2-line-height)}.desktop-resume-sheet section>h2{margin-bottom:var(--spacing-element-big);color:var(--colour-text-light);font-family:var(--font-inter), sans-serif;font-size:var(--detail-text-subtitle-size);text-transform:uppercase;letter-spacing:var(--detail-text-subtitle-letter-spacing);font-weight:600;line-height:normal}.desktop-resume-contact>div{gap:var(--spacing-element-medium);flex-direction:column;display:flex}.desktop-resume-contact a{color:var(--colour-text-black);font-family:var(--font-bricolage), sans-serif;font-size:var(--detail-text-body1-size);font-weight:500;line-height:normal}.desktop-resume-contact a:hover,.desktop-resume-contact a:focus-visible{color:var(--colour-primary)}.desktop-resume-socials{align-items:center;gap:var(--spacing-element-medium);display:flex}.desktop-resume-social{border-radius:var(--radius-detail-sm);width:40px;height:40px;color:inherit;flex:0 0 40px;justify-content:center;align-items:center;text-decoration:none;display:flex}.desktop-resume-social--dribbble img{width:40px;height:40px}.desktop-resume-social--behance{background:var(--colour-primary)}.desktop-resume-social--behance img{width:27px;height:18px}.desktop-resume-social--linkedin{background:#4c6cd5}.desktop-resume-social--linkedin img{width:24px;height:24px}.desktop-resume-education>div{gap:var(--spacing-element-small);flex-direction:column;display:flex}.desktop-resume-education h3,.desktop-resume-experience h3,.desktop-resume-contact a{overflow-wrap:anywhere}.desktop-resume-education h3,.desktop-resume-experience h3{color:var(--colour-text-black);font-family:var(--font-bricolage), sans-serif;font-size:var(--detail-text-body1-size);font-weight:500;line-height:normal}.desktop-resume-intro{gap:var(--spacing-element-medium)}.desktop-resume-intro>span{color:var(--colour-text-black);font-family:var(--font-kalam), cursive;font-size:var(--detail-text-h4-size);line-height:var(--detail-text-body2-line-height);margin-left:-20px;transform:rotate(-12.4deg)}.desktop-resume-work{margin-top:var(--resume-gutter)}.desktop-resume-experience{gap:var(--spacing-insection-b)}.desktop-resume-experience>div{gap:var(--spacing-element-small)}.desktop-resume-sheet time,.desktop-resume-role-copy small{color:var(--colour-text-black);font-size:var(--detail-text-body4-size);font-weight:500;line-height:var(--detail-text-body4-line-height)}.desktop-resume-role-copy{gap:var(--spacing-element-xs)}.desktop-resume-role-copy small{color:var(--colour-text-light)}.desktop-resume-role-copy p{color:var(--colour-text-black);font-size:var(--detail-text-body2-size);line-height:var(--detail-text-body2-line-height)}.desktop-resume-role-copy p:last-child{color:var(--colour-text-grey)}.desktop-dock{z-index:20;bottom:max(3.704dvh, env(safe-area-inset-bottom));width:580px;height:214px;transform:translate(-50%);transform:translateX(-50%) scale(min(1, calc(100dvh / 1080px)));transform-origin:50% 100%;background:0 0;border:0;padding:0;transition:opacity .22s;display:block;position:absolute;left:50%}.desktop-dock.is-obscured{opacity:0;pointer-events:none}.desktop-dock-background{z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;max-width:none;height:100%;display:block;position:absolute;inset:0}.desktop-dock button{z-index:1;cursor:pointer;background:0 0;border:0;place-items:center;width:120px;height:120px;padding:0;transition:transform .24s cubic-bezier(.2,.75,.2,1);display:grid;position:absolute;top:46px}.desktop-dock button:first-of-type{left:86px}.desktop-dock button:nth-of-type(2){left:230px}.desktop-dock button:nth-of-type(3){left:374px}.desktop-dock-active-dot{z-index:2;background:var(--colour-text-grey);opacity:0;pointer-events:none;border-radius:50%;width:6px;height:6px;transition:opacity .25s;position:absolute;bottom:20%;left:25.172%;transform:translate(-50%)}.desktop-dock-active-dot.is-visible{opacity:1}.desktop-dock-active-dot.is-projects{left:25.172%}.desktop-dock-active-dot.is-resume{left:50%}.desktop-dock-active-dot.is-photos{left:74.828%}.desktop-dock button>span:not(.desktop-dock-tooltip){transition:transform .22s cubic-bezier(.2,.75,.2,1)}.desktop-dock button:hover>span:not(.desktop-dock-tooltip),.desktop-dock button:focus-visible>span:not(.desktop-dock-tooltip){transform:translateY(-7px)scale(1.08)}.desktop-dock button:focus-visible{outline-offset:4px;border-radius:12px;outline:2px solid #1f3b68}.desktop-dock-tooltip{box-sizing:border-box;color:#fff;width:108px;height:58px;font-family:var(--font-inter), sans-serif;text-align:center;white-space:nowrap;opacity:0;pointer-events:none;background:url(/home/dock-tooltip@3x.png) 50%/108px 58px no-repeat;border:0;padding:17px 0 0;font-size:14px;font-weight:700;line-height:normal;transition:opacity .16s,transform .16s;position:absolute;bottom:calc(100% - 7px);left:50%;transform:translate(-50%,4px)}.desktop-dock button:hover .desktop-dock-tooltip,.desktop-dock button:focus-visible .desktop-dock-tooltip{opacity:1;transform:translate(-50%)}.desktop-folder-icon,.desktop-photo-icon,.desktop-resume-icon{filter:drop-shadow(0 4px 2px #00000040);width:109px;height:109px;display:block;position:relative;transform:none}.desktop-dock button:hover>.desktop-folder-icon,.desktop-dock button:hover>.desktop-photo-icon,.desktop-dock button:hover>.desktop-resume-icon,.desktop-dock button:focus-visible>.desktop-folder-icon,.desktop-dock button:focus-visible>.desktop-photo-icon,.desktop-dock button:focus-visible>.desktop-resume-icon{transform:translateY(-4px)scale(1.02)}.desktop-folder-icon{filter:none;width:120px;height:120px;margin-top:0;overflow:visible;transform:none}.desktop-folder-back,.desktop-folder-back svg,.desktop-folder-front,.desktop-folder-front-blur,.desktop-folder-front-light,.desktop-folder-front-shape,.desktop-folder-outline,.desktop-folder-paper,.desktop-folder-paper svg{display:block;position:absolute}.desktop-folder-back{z-index:1;width:96px;height:80px;top:20px;left:12px}.desktop-folder-back svg{width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.desktop-folder-back-primary{fill:#094bec}.desktop-folder-paper{z-index:2;transform-origin:0 0;width:76px;height:60px;transition:top .42s cubic-bezier(.2,1.14,.32,1),left .42s cubic-bezier(.2,1.14,.32,1),width .42s cubic-bezier(.2,1.14,.32,1),height .42s cubic-bezier(.2,1.14,.32,1),transform .42s cubic-bezier(.2,1.14,.32,1);top:32px;left:22px}.desktop-folder-paper svg{width:100%;height:100%;inset:0;overflow:visible}.desktop-folder-paper rect{border-radius:4px}.desktop-folder-paper2{fill:#f5f5f5}.desktop-folder-paper1{fill:#00000003;stroke:#ffffff94;stroke-width:1px;vector-effect:non-scaling-stroke}.desktop-folder-paper-glass{fill:url(#folder-paper-glass);pointer-events:none}.desktop-folder-front{z-index:3;transform-origin:50% 100%;width:116px;height:62px;transition:top .42s cubic-bezier(.2,1.14,.32,1),left .42s cubic-bezier(.2,1.14,.32,1),width .42s cubic-bezier(.2,1.14,.32,1),height .42s cubic-bezier(.2,1.14,.32,1);top:38px;left:2px;overflow:visible}.desktop-folder-front-shape{z-index:1;width:100%;height:100%;transition:left .42s cubic-bezier(.2,1.08,.32,1),width .42s cubic-bezier(.2,1.08,.32,1);top:0;left:0;overflow:visible}.desktop-folder-front-light{z-index:2;pointer-events:none;width:100%;height:100%;inset:0;overflow:hidden}.desktop-folder-front-light img{width:96px;max-width:none;height:62px;transition:left .42s cubic-bezier(.2,1.08,.32,1),width .42s cubic-bezier(.2,1.08,.32,1);display:block;position:absolute;top:0;left:10px}.desktop-folder-front-blur{z-index:0;pointer-events:none;will-change:clip-path;background:#2e6afc14;width:100%;height:100%;inset:0;overflow:hidden}.desktop-folder-paper-refraction{filter:blur(3px);transform-origin:0 0;background:#f5f5f5ad;border-radius:4px;width:76px;height:60px;transition:top .42s cubic-bezier(.2,1.08,.32,1),left .42s cubic-bezier(.2,1.08,.32,1),transform .42s cubic-bezier(.2,1.08,.32,1);position:absolute;top:-6px;left:20px}.desktop-folder-front-path{vector-effect:non-scaling-stroke}.desktop-folder-front-primary{fill:#2e6afc;fill-opacity:.8}.desktop-folder-front-shade{fill:#00000003}.desktop-folder-outline{z-index:0;filter:drop-shadow(0 4px 2px #00000040);pointer-events:none;width:128.498px;height:98px;top:15px;left:-4.2485px;overflow:visible}.desktop-folder-outline path{fill:none;stroke:#fff;stroke-width:10px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.desktop-dock button.is-active .desktop-folder-paper{width:76px;height:60px;animation:.54s cubic-bezier(.22,.72,.28,1) both desktop-folder-paper-pop;top:30.0522px;left:23.6222px;transform:rotate(3deg)}.desktop-dock button.is-restored .desktop-folder-paper{animation:none}.desktop-dock button.is-restored .desktop-folder-paper,.desktop-dock button.is-restored .desktop-folder-front,.desktop-dock button.is-restored .desktop-folder-front-shape,.desktop-dock button.is-restored .desktop-folder-front-light img,.desktop-dock button.is-restored .desktop-folder-paper-refraction{transition:none}@keyframes desktop-folder-paper-pop{0%{transform:translateY(0)rotate(0)}62%{transform:translateY(-10px)rotate(3.4deg)}82%{transform:translateY(2px)rotate(2.7deg)}to{transform:translateY(0)rotate(3deg)}}@keyframes desktop-folder-paper-retract{0%{transform:translateY(0)rotate(3deg)}42%{transform:translateY(-10px)rotate(3.4deg)}78%{transform:translateY(2px)rotate(.8deg)}to{transform:translateY(0)rotate(0)}}.desktop-dock button.is-closing .desktop-folder-paper{width:76px;height:60px;animation:.47s cubic-bezier(.22,.72,.28,1) both desktop-folder-paper-retract;top:32px;left:22px}.desktop-dock button.is-active .desktop-folder-front{width:116px;height:62px;top:38px;left:2px}.desktop-dock button.is-active .desktop-folder-front-shape{width:100%;left:0}.desktop-dock button.is-active .desktop-folder-front-light img{width:116px;left:0}.desktop-dock button.is-active .desktop-folder-paper-refraction{top:-7.9478px;left:21.62px;transform:rotate(3deg)}.desktop-dock button.is-closing .desktop-folder-paper-refraction{top:-6px;left:20px;transform:rotate(0)}.desktop-dock button:hover>.desktop-folder-icon,.desktop-dock button:focus-visible>.desktop-folder-icon{transform:translateY(-4px)scale(1.02)}.desktop-photo-icon{filter:drop-shadow(0 4px 2px #00000040);width:120px;height:120px;overflow:visible;transform:none}.desktop-photo-surface{isolation:isolate;border-radius:12px;width:96px;height:68px;display:block;position:absolute;top:27px;left:14px;overflow:hidden;transform:rotate(-3.75deg)translateZ(0)}.desktop-album-sky,.desktop-album-mountains,.desktop-album-glass,.desktop-album-card-border{display:block;position:absolute}.desktop-album-sky{z-index:1;will-change:opacity;transition:opacity .52s cubic-bezier(.4,0,.2,1);inset:0}.desktop-album-sky-light{opacity:1;background:#e7eefe}.desktop-album-sky-dark{opacity:0;background:#385fbb}.desktop-album-mountains{z-index:3;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:opacity;width:100%;max-width:none;height:100%;transition:opacity .52s cubic-bezier(.4,0,.2,1);inset:0;transform:scaleX(-1)}.desktop-album-mountains-light{opacity:1}.desktop-album-mountains-dark{opacity:0}.desktop-album-glass{z-index:4;border-radius:inherit;pointer-events:none;mix-blend-mode:soft-light;background:linear-gradient(150deg,#ffffff29,#fff0 48%);inset:0;box-shadow:inset 0 1px #ffffff6b,inset 0 -1px #10364b14}.desktop-album-card-border{z-index:5;pointer-events:none;border-radius:12px;width:96px;height:68px;top:27px;left:14px;transform:rotate(-3.75deg)translateZ(0);box-shadow:0 0 0 5px #fff}.desktop-dock button.is-active:not(.is-closing) .desktop-album-sky-dark,.desktop-dock button.is-active:not(.is-closing) .desktop-album-mountains-dark{opacity:1}.desktop-dock button.is-active:not(.is-closing) .desktop-album-sky-light,.desktop-dock button.is-active:not(.is-closing) .desktop-album-mountains-light,.desktop-dock button.is-closing .desktop-album-sky-dark,.desktop-dock button.is-closing .desktop-album-mountains-dark{opacity:0}.desktop-dock button.is-closing .desktop-album-sky-light,.desktop-dock button.is-closing .desktop-album-mountains-light{opacity:1}.desktop-photo-orbit-window{z-index:2;pointer-events:none;border-radius:12px;width:96px;height:68px;display:block;position:absolute;top:0;left:0;overflow:hidden}.desktop-photo-orbit{pointer-events:none;-webkit-user-select:none;user-select:none;offset-position:0 0;offset-path:path("M -38 66 C -2 -30 72 2 126 66");offset-anchor:center;offset-rotate:0deg;offset-distance:64%;will-change:offset-distance, opacity;max-width:none;display:block;position:absolute;top:0;left:0}.desktop-photo-sun-orbit{opacity:1;width:14px;height:14px;transform:translate(.4px,.68px)}.desktop-photo-moon-orbit{opacity:0;width:14px;height:14px;transform:translateY(.68px)}@keyframes desktop-photo-sun-set{0%{opacity:1;offset-distance:64%;animation-timing-function:ease-in-out}30.556%{opacity:1;offset-distance:61%;animation-timing-function:cubic-bezier(.55,0,1,.45)}to{opacity:0;offset-distance:100%}}@keyframes desktop-photo-moon-rise{0%{opacity:1;offset-distance:0%;animation-timing-function:cubic-bezier(.35,0,.65,1)}18.892%{opacity:1;offset-distance:10%;animation-timing-function:cubic-bezier(.24,.58,.38,1)}77.839%{opacity:1;offset-distance:66%;animation-timing-function:linear}81.717%{opacity:1;offset-distance:65.9%}90.305%{opacity:1;offset-distance:64.6%}96.122%{opacity:1;offset-distance:64.15%}to{opacity:1;offset-distance:64%}}@keyframes desktop-photo-moon-set{0%{opacity:1;offset-distance:64%;animation-timing-function:ease-in-out}30.556%{opacity:1;offset-distance:61%;animation-timing-function:cubic-bezier(.55,0,1,.45)}to{opacity:0;offset-distance:100%}}@keyframes desktop-photo-sun-rise{0%{opacity:1;offset-distance:0%;animation-timing-function:cubic-bezier(.35,0,.65,1)}18.892%{opacity:1;offset-distance:10%;animation-timing-function:cubic-bezier(.24,.58,.38,1)}77.839%{opacity:1;offset-distance:66%;animation-timing-function:linear}81.717%{opacity:1;offset-distance:65.9%}90.305%{opacity:1;offset-distance:64.6%}96.122%{opacity:1;offset-distance:64.15%}to{opacity:1;offset-distance:64%}}.desktop-dock button.is-active:not(.is-closing) .desktop-photo-sun-orbit{animation:.288s linear both desktop-photo-sun-set}.desktop-dock button.is-active:not(.is-closing) .desktop-photo-moon-orbit{animation:.722s linear both desktop-photo-moon-rise}.desktop-dock button.is-closing .desktop-photo-moon-orbit{animation:.288s linear both desktop-photo-moon-set}.desktop-dock button.is-closing .desktop-photo-sun-orbit{animation:.722s linear both desktop-photo-sun-rise}.desktop-dock button:hover>.desktop-photo-icon,.desktop-dock button:focus-visible>.desktop-photo-icon{transform:translateY(-4px)scale(1.02)}.desktop-resume-icon{filter:drop-shadow(0 4px 2px #00000040);isolation:isolate;width:120px;height:120px;overflow:visible;transform:none}.desktop-resume-peel{z-index:4;top:0;left:58px;overflow:hidden;opacity:1!important;width:44px!important;height:44px!important;position:absolute!important}.desktop-resume-peel.is-open-settled{visibility:hidden}.desktop-resume-base-artwork,.desktop-resume-peel-layer,.desktop-resume-peel-back,.desktop-resume-corner-layer,.desktop-resume-corner-layer>img{display:block;position:absolute}.desktop-resume-base-artwork{z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;width:82px;height:86px;top:16px;left:19px;overflow:visible}.desktop-resume-fold-overlay{z-index:10;pointer-events:none;-webkit-user-select:none;user-select:none;width:82px;height:86px;display:block;position:absolute;top:16px;left:19px;overflow:visible}.desktop-resume-peel-layer,.desktop-resume-peel-back,.desktop-resume-corner-layer{width:44px;height:44px;inset:0}.desktop-resume-corner-layer{-webkit-user-select:none;user-select:none;overflow:hidden}.desktop-resume-corner-layer>img{pointer-events:none;width:102px;max-width:none;height:120px;top:0;left:-58px}.desktop-resume-peel-back{background:linear-gradient(135deg,#ffffffb8,#fff0 42%),linear-gradient(#b9daff,#8fc3ff);overflow:hidden}.desktop-resume-paper-body,.desktop-resume-paper-body img,.desktop-resume-fold,.desktop-resume-fold svg,.desktop-resume-fold-seam,.desktop-resume-curl,.desktop-resume-face-cleanplate,.desktop-resume-face-window,.desktop-resume-face-window svg{display:block;position:absolute}.desktop-resume-paper-body,.desktop-resume-fold{width:102px;height:120px;inset:0}.desktop-resume-paper-body{z-index:1;clip-path:polygon(0 0,61% 0,100% 32.5%,100% 100%,0 100%);overflow:hidden}.desktop-resume-paper-body img,.desktop-resume-fold svg{width:100%;height:100%;inset:0}.desktop-resume-fold{z-index:4;clip-path:polygon(59% 0,100% 0,100% 36%,61% 36%);transform-origin:63% 4%;filter:drop-shadow(-2px 3px 2px #2d619d29);overflow:hidden;transform:perspective(180px)rotateX(0)rotateY(0)scale(1)}.desktop-resume-fold-seam{z-index:3;opacity:1;pointer-events:none;background:linear-gradient(#abd2ff 0%,#9fcbff 100%);width:5px;height:39px;transition:opacity .12s;top:36px;left:75.5px}.desktop-resume-curl{z-index:5;opacity:0;transform-origin:50%;pointer-events:none;background:linear-gradient(90deg,#0000 0%,#ffffffe0 38%,#487fbc4d 63%,#0000 100%);border-radius:50%;width:49px;height:9px;top:15px;right:-3px;transform:rotate(42deg)scaleX(.5)}.desktop-resume-face-cleanplate{z-index:2;background:#e7fafe;border-radius:50%;width:58px;height:58px;top:31px;left:31px}.desktop-resume-face-window{z-index:3;width:48px;height:44px;top:37px;left:36px;overflow:visible}.desktop-dock button:hover>.desktop-resume-icon,.desktop-dock button:focus-visible>.desktop-resume-icon{transform:translateY(-4px)scale(1.02)}.desktop-resume-face-window svg{width:48px;height:44px;inset:0;transform:translateZ(0)}@keyframes desktop-resume-paper-unfold{0%{clip-path:polygon(0 0,61% 0,100% 32.5%,100% 100%,0 100%)}22%{clip-path:polygon(0 0,64% 0,100% 30%,100% 100%,0 100%)}48%{clip-path:polygon(0 0,75% 0,100% 21%,100% 100%,0 100%)}72%{clip-path:polygon(0 0,90% 0,100% 8%,100% 100%,0 100%)}88%{clip-path:polygon(0 0,98% 0,100% 1.5%,100% 100%,0 100%)}to{clip-path:polygon(0 0,100% 0,100% 0,100% 100%,0 100%)}}@keyframes desktop-resume-fold-unroll{0%{clip-path:polygon(59% 0,100% 0,100% 36%,61% 36%);opacity:1;filter:drop-shadow(-2px 3px 2px #2d619d29);transform:perspective(190px)rotateX(0)rotateY(0)translate(0)scaleX(1)}20%{clip-path:polygon(62% 0,100% 0,100% 33%,65% 34%);filter:drop-shadow(-4px 5px 3px #2d619d38);transform:perspective(190px)rotateX(-7deg)rotateY(-13deg)translate(-1px,1px)scaleX(1.03)}46%{clip-path:polygon(69% 0,100% 0,100% 26%,72% 28%);filter:drop-shadow(-5px 7px 4px #2d619d2e);transform:perspective(190px)rotateX(-13deg)rotateY(28deg)translate(4px,-2px)scaleX(1.07)}70%{clip-path:polygon(81% 0,100% 0,100% 15%,83% 17%);opacity:.88;filter:drop-shadow(-3px 5px 3px #2d619d1a);transform:perspective(190px)rotateX(-19deg)rotateY(61deg)translate(9px,-5px)scaleX(1.04)}88%{clip-path:polygon(94% 0,100% 0,100% 5%,95% 6%);opacity:.38;filter:drop-shadow(-1px 2px 1px #2d619d0a);transform:perspective(190px)rotateX(-22deg)rotateY(84deg)translate(13px,-7px)scaleX(.99)}to{clip-path:polygon(99% 0,100% 0,100% 1%,99% 1%);opacity:0;filter:drop-shadow(0 0 #2d619d00);transform:perspective(190px)rotateX(-22deg)rotateY(94deg)translate(14px,-8px)scaleX(.98)}}@keyframes desktop-resume-curl-open{0%,8%{opacity:0;transform:rotate(42deg)translate(-5px,4px)scaleX(.45)}28%{opacity:.55;transform:rotate(42deg)translate(-2px,1px)scaleX(.8)}52%{opacity:.95;transform:rotate(42deg)translate(3px,-3px)scaleX(1.08)}76%{opacity:.42;transform:rotate(42deg)translate(9px,-7px)scaleX(.74)}to{opacity:0;transform:rotate(42deg)translate(15px,-10px)scaleX(.25)}}@keyframes desktop-resume-paper-refold{0%{clip-path:polygon(0 0,100% 0,100% 0,100% 100%,0 100%)}25%{clip-path:polygon(0 0,91% 0,100% 7%,100% 100%,0 100%)}58%{clip-path:polygon(0 0,73% 0,100% 23%,100% 100%,0 100%)}82%{clip-path:polygon(0 0,63% 0,100% 31%,100% 100%,0 100%)}to{clip-path:polygon(0 0,61% 0,100% 32.5%,100% 100%,0 100%)}}@keyframes desktop-resume-fold-refold{0%{clip-path:polygon(99% 0,100% 0,100% 1%,99% 1%);opacity:0;transform:perspective(190px)rotateX(-22deg)rotateY(94deg)translate(14px,-8px)scaleX(.98)}24%{clip-path:polygon(87% 0,100% 0,100% 11%,89% 13%);opacity:.55;transform:perspective(190px)rotateX(-20deg)rotateY(69deg)translate(10px,-6px)scaleX(1.04)}55%{clip-path:polygon(70% 0,100% 0,100% 25%,73% 28%);opacity:1;transform:perspective(190px)rotateX(-13deg)rotateY(28deg)translate(4px,-2px)scaleX(1.07)}82%{clip-path:polygon(62% 0,100% 0,100% 34%,64% 35%);transform:perspective(190px)rotateX(-6deg)rotateY(-8deg)translate(-1px,1px)scaleX(1.02)}to{clip-path:polygon(59% 0,100% 0,100% 36%,61% 36%);opacity:1;transform:perspective(190px)rotateX(0)rotateY(0)translate(0)scaleX(1)}}@keyframes desktop-resume-curl-close{0%{opacity:0;transform:rotate(42deg)translate(15px,-10px)scaleX(.25)}34%{opacity:.72;transform:rotate(42deg)translate(7px,-5px)scaleX(.92)}66%{opacity:.48;transform:rotate(42deg)translate(0)scaleX(.78)}to{opacity:0;transform:rotate(42deg)translate(-5px,4px)scaleX(.45)}}.desktop-dock button.is-active:not(.is-closing) .desktop-resume-paper-body{animation:.76s cubic-bezier(.22,.72,.2,1) both desktop-resume-paper-unfold}.desktop-dock button.is-active:not(.is-closing) .desktop-resume-fold{animation:.76s cubic-bezier(.22,.72,.2,1) both desktop-resume-fold-unroll}.desktop-dock button.is-active:not(.is-closing) .desktop-resume-curl{animation:.76s ease-in-out both desktop-resume-curl-open}.desktop-dock button.is-active:not(.is-closing) .desktop-resume-fold-seam{opacity:0}.desktop-dock button.is-closing .desktop-resume-paper-body{animation:.52s cubic-bezier(.35,0,.2,1) both desktop-resume-paper-refold}.desktop-dock button.is-closing .desktop-resume-fold{animation:.52s cubic-bezier(.35,0,.2,1) both desktop-resume-fold-refold}.desktop-dock button.is-closing .desktop-resume-curl{animation:.52s ease-in-out both desktop-resume-curl-close}@media (width<=760px){.desktop-stage{padding:170px 18px 190px}.desktop-project-grid{grid-template-columns:1fr;gap:22px}.desktop-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:130px;gap:10px}.desktop-photo-tile{border-width:5px}.desktop-resume-sheet{gap:var(--spacing-section-section);min-height:0;padding:var(--spacing-insection-m) var(--spacing-insection-s) var(--spacing-insection-b);grid-template-columns:minmax(0,1fr)}.desktop-resume-left,.desktop-resume-right{padding-top:0}.desktop-folder-icon,.desktop-photo-icon,.desktop-resume-icon{transform:none}}@media (prefers-reduced-motion:reduce){.desktop-project-card,.desktop-project-now,.desktop-project-node,.desktop-photo-tile,.desktop-resume-sheet,.desktop-dock button.is-active .desktop-folder-paper,.desktop-album-card{animation:none}.desktop-project-card,.desktop-dock button>span,.desktop-project-more-default,.desktop-project-more-active,.desktop-project-more-arrow,.desktop-folder-paper,.desktop-folder-front,.desktop-folder-front-path,.desktop-resume-paper-body,.desktop-resume-fold,.desktop-resume-fold-seam,.desktop-resume-curl,.desktop-resume-face-window svg{transition:none;animation:none}.desktop-dock button.is-active:not(.is-closing) .desktop-resume-paper-body{clip-path:polygon(0 0,100% 0,100% 0,100% 100%,0 100%)}.desktop-dock button.is-active:not(.is-closing) .desktop-resume-fold{opacity:0}.desktop-resume-curl{display:none}}.case-study-paper .praedico-design-study{margin-top:var(--spacing-insection-b);grid-template-columns:290px minmax(0,768px);gap:70px}.case-study-paper .praedico-design-sidebar{margin:0;top:104px}.case-study-paper .praedico-design-eyebrow{color:var(--colour-text-light);font-family:var(--font-inter), sans-serif;letter-spacing:1px;text-transform:uppercase;font-size:16px;font-weight:600;line-height:1}.case-study-paper .praedico-design-nav{margin-top:var(--spacing-insection-s);align-items:stretch;gap:0}.case-study-paper .praedico-design-nav button{width:100%;color:var(--colour-text-light);font-family:var(--font-bricolage), sans-serif;background:0 0;gap:0;padding:12px 16px 12px 0;font-size:16px;line-height:1}.case-study-paper .praedico-design-nav button:hover,.case-study-paper .praedico-design-nav button:focus-visible,.case-study-paper .praedico-design-nav button.is-active{color:var(--colour-text-black);background:0 0}.case-study-paper .praedico-design-main{gap:0;padding-top:0}.case-study-paper .praedico-design-section{gap:var(--spacing-insection-b);padding:0}.case-study-paper .praedico-design-section+.praedico-design-section{margin-top:var(--spacing-section-section);padding-top:var(--spacing-section-section);border-top:1px solid var(--colour-line-light)}.case-study-paper .threshold-context,.case-study-paper .map-filter-context{gap:var(--spacing-insection-m)}.case-study-paper .praedico-context-intro{margin-top:calc(var(--spacing-insection-xs) * -1)}.case-study-paper .threshold-design-visual,.case-study-paper .map-filter-hero{width:100%;height:640px;margin:calc(var(--spacing-insection-xs) * -1) 0 -16px;aspect-ratio:auto;border-radius:var(--radius-detail-sm);background:#f7f7f7;border:1px solid #eaeaea}.case-study-paper .praedico-context-facts{align-items:start;gap:var(--spacing-insection-m);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.case-study-paper .praedico-context-facts>div{align-items:flex-start;gap:var(--spacing-insection-xs);flex-direction:column;display:flex}.case-study-paper .praedico-context-facts dt,.case-study-paper .praedico-context-facts dd{width:auto;height:auto;color:var(--colour-text-grey);flex:none;font-size:16px;line-height:24px}.case-study-paper .praedico-context-facts dt{color:var(--colour-text-light);letter-spacing:1px;text-transform:uppercase;font-weight:600;line-height:1}.case-study-paper .praedico-context-facts dd p+p{margin-top:var(--spacing-element-medium)}.case-study-paper .threshold-design-highlights,.case-study-paper .map-filter-solutions{gap:var(--spacing-insection-s)}.case-study-paper .threshold-design-highlights>h2,.case-study-paper .map-filter-solutions>h3,.case-study-paper .graph-design-thoughts>h3{color:var(--colour-text-black);font-family:var(--font-bricolage), sans-serif;margin:0;font-size:24px;font-weight:500;line-height:1}.case-study-paper .design-highlight,.case-study-paper .map-filter-solution{gap:var(--spacing-insection-xs)}.case-study-paper .threshold-variables-highlight,.case-study-paper .map-filter-solution-duplicate{padding-top:var(--spacing-insection-xs)}.case-study-paper .design-highlight h3,.case-study-paper .map-filter-solution h3{font-size:20px}.case-study-paper .design-highlight-media{height:640px;padding:var(--spacing-insection-m);border-radius:var(--radius-detail-sm);background:#f7f7f7;border:1px solid #eaeaea;margin:-4px 0}.case-study-paper .map-filter-solution figure,.case-study-paper .map-filter-solution figure.map-filter-screenshot-frame{padding:var(--spacing-insection-b);border-radius:var(--radius-detail-sm);background:#f7f7f7;border:1px solid #eaeaea;margin:-4px 0}.case-study-paper .map-filter-solution figure img,.case-study-paper .map-filter-solution figure.map-filter-screenshot-frame img{border-radius:var(--radius-detail-xs);object-fit:contain;height:auto}.case-study-paper .graph-design-thoughts,.case-study-paper .graph-design-thoughts article,.case-study-paper .graph-design-description{gap:var(--spacing-insection-xs)}.case-study-paper .graph-design-thoughts{gap:var(--spacing-insection-s)}.case-study-paper .graph-example-gallery{padding:var(--spacing-insection-b);gap:var(--spacing-insection-m);border-radius:var(--radius-detail-sm);background:#f7f7f7;border:1px solid #eaeaea}.case-study-paper .graph-example-gallery figure{gap:var(--spacing-insection-xs)}.case-study-paper .graph-example-gallery .case-study-video-stack,.case-study-paper .graph-example-gallery video{border-radius:var(--radius-detail-xs)}@media (width<=980px){.case-study-paper .praedico-design-study{gap:var(--spacing-insection-b);grid-template-columns:minmax(0,1fr)}.case-study-paper .praedico-design-sidebar{position:relative;top:auto}.case-study-paper .praedico-design-nav{flex-direction:row}.case-study-paper .praedico-design-nav button{width:auto}}@media (width<=640px){.case-study-paper .praedico-context-facts{grid-template-columns:1fr}.case-study-paper .threshold-design-visual,.case-study-paper .map-filter-hero{aspect-ratio:768/640;height:auto}.case-study-paper .design-highlight-media{height:auto;min-height:420px;padding:var(--spacing-insection-s)}.case-study-paper .graph-example-gallery,.case-study-paper .map-filter-solution figure,.case-study-paper .map-filter-solution figure.map-filter-screenshot-frame{padding:var(--spacing-insection-s)}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
