@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-0.ttf) format("truetype")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-1.ttf) format("truetype")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:normal;font-display:swap;src:url(/fonts/font-2.ttf) format("truetype")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:normal;font-display:swap;src:url(/fonts/font-3.ttf) format("truetype")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:normal;font-display:swap;src:url(/fonts/font-4.ttf) format("truetype")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-5.ttf) format("truetype")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-6.ttf) format("truetype")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/font-7.ttf) format("truetype")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/font-8.ttf) format("truetype")}:root{color-scheme:light;--font-display: "Space Grotesk", Arial, sans-serif;--font-body: "IBM Plex Sans", Arial, sans-serif;--font-mono: var(--font-body);--page: #ffffff;--card: #ffffff;--ink: #000000;--muted: #666666;--expertise-surface: #f5f6f7;--expertise-menu: #e0e1e3;--border: #d6d6d6;--hover: #e0e1e3;--action: #000000;--on-action: #ffffff;--action-hover: #292929;--accent-cyan: #51d6ed;--accent-lime: #b3ed67;--accent-yellow: #ffdb57;--gutter: 32px;--motion: .24s ease}[data-theme=dark]{color-scheme:dark;--page: #111111;--card: #292929;--ink: #ffffff;--muted: #d6d6d6;--expertise-surface: #292929;--expertise-menu: #3a3b3d;--border: #666666;--hover: #3a3b3d;--action: #ffffff;--on-action: #000000;--action-hover: #eeeeee}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--page);color:var(--ink);font:400 16px/1.5 var(--font-body);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;cursor:pointer;color:inherit;border:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background:var(--accent-lime);color:#000}:focus-visible{outline:2px solid var(--ink);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display)}.container{width:min(100%,1440px);margin-inline:auto;padding-inline:var(--gutter)}.mono,.eyebrow,.project-meta{font-family:var(--font-mono);font-size:12px;font-weight:400;line-height:1.5;letter-spacing:.06em}.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:24px}.muted,.muted-heading{color:var(--muted)}.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:16px;background:var(--card);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{position:absolute;top:0;left:0;width:100%;padding:28px var(--gutter);display:flex;justify-content:space-between;align-items:center;z-index:5}.brand{display:flex;align-items:center;gap:10px;font:500 18px/1 var(--font-display)}.brand img{width:30px;height:30px}.brand-period{color:var(--muted)}.header-right{display:flex;align-items:center;gap:20px}.availability{display:flex;align-items:center;gap:10px;font-size:14px;white-space:nowrap}.availability-dot{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 5px 2px #22c55e40,0 0 12px 4px #22c55e1f}.icon-button{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:transparent;transition:background var(--motion)}.icon-button:hover{background:var(--hover)}.capsule-nav{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);display:flex;align-items:center;padding:5px;gap:2px;background:#000;color:#fff;border-radius:9999px;z-index:20;isolation:isolate;box-shadow:0 4px 16px #0000001f}.nav-pill{position:absolute;left:0;top:5px;bottom:5px;border-radius:9999px;background:#fff;pointer-events:none;opacity:0;will-change:transform,width}.capsule-nav a{position:relative;z-index:1;color:#fff;mix-blend-mode:difference;font-size:14px;line-height:20px;padding:8px 19px;border-radius:9999px;white-space:nowrap}.capsule-nav :focus-visible{outline-color:var(--accent-cyan);outline-offset:2px}.hero{position:relative;isolation:isolate;padding-top:316px;padding-bottom:75.2px}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:radial-gradient(ellipse 38% 48% at 62% 55%,#51d6ed52,transparent 78%),radial-gradient(ellipse 34% 46% at 85% 57%,#b3ed6752,transparent 80%),radial-gradient(ellipse 25% 35% at 74% 38%,#51d6ed1f,transparent 85%)}[data-theme=dark] .hero:before{opacity:.45}@media(max-width:671px){.hero:before{background-image:radial-gradient(ellipse 70% 38% at 62% 58%,#51d6ed45,transparent 80%),radial-gradient(ellipse 60% 40% at 95% 64%,#b3ed6745,transparent 82%)}}.hero .eyebrow{font-family:var(--font-body);font-size:14px;font-weight:500;gap:6px;align-items:flex-end}.intro-wave{display:inline-block;font-size:22px;line-height:1;letter-spacing:0;transform-origin:70% 75%;transition:transform .18s ease}@media(hover:hover){.intro-wave:hover{transform:scale(1.15);animation:greeting-wave .75s ease-in-out 1}}@keyframes greeting-wave{0%,to{rotate:0deg}20%{rotate:18deg}40%{rotate:-12deg}60%{rotate:18deg}80%{rotate:-6deg}}.hero h1{font-size:72px;line-height:1.09;font-weight:700;letter-spacing:-2.8px;max-width:1200px;animation:headline-reveal .72s cubic-bezier(.22,1,.36,1) .12s both}@keyframes headline-reveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.hero-ambiguity{display:inline-block;filter:blur(.01em)}.complexity-scribble{transition:transform var(--motion)}.inline-accent.complexity-scribble svg{width:.75em;height:.75em;overflow:visible}.inline-accent{display:inline-flex;justify-content:center;align-items:center;vertical-align:.07em;border-radius:999px;width:1.21em;height:.75em;margin-inline:.01em;color:#000}.inline-accent svg{width:.59em;height:.59em}.accent-cyan{background:var(--accent-cyan);transform:rotate(-6deg)}.accent-lime{background:var(--accent-lime);transform:rotate(5deg)}.accent-yellow{background:var(--accent-yellow);transform:rotate(-8deg)}.hero .accent-cyan:hover{transform:rotate(8deg)}.hero .accent-lime:hover{transform:rotate(-8deg)}.hero .sparkle-accent{width:.82em;height:.82em;border-radius:50%}.hero-bottom{display:flex;justify-content:space-between;gap:32px;align-items:flex-end;margin-top:32px}.hero-bottom p{color:var(--muted);font-size:18px;line-height:28px}.hero-actions{display:flex;flex-shrink:0;gap:12px}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:12px 26px;font-size:16px;font-weight:500;line-height:24px;border:1px solid transparent;border-radius:9999px;background:var(--action);color:var(--on-action);transition:background var(--motion),transform var(--motion)}.button:hover{background:var(--action-hover);transform:translateY(-2px)}.button:active{transform:translateY(0)}.button-white{background:var(--card);color:var(--ink)}.button-white:hover{background:var(--hover)}.button-outline{background:transparent;border-color:var(--border);color:var(--ink)}.button-outline:hover{background:var(--hover)}.project-reel{overflow:clip visible;padding-bottom:19.2px}.reel-track{display:flex;width:max-content;animation:gallery-drift 52s linear infinite}.reel-group{display:flex;gap:12px;padding-right:12px}.project-reel:hover .reel-track,.project-reel:focus-within .reel-track{animation-play-state:paused}@keyframes gallery-drift{0%{transform:translate(-160px)}to{transform:translate(calc(-50% - 160px))}}.reel-card{position:relative;z-index:0;width:clamp(360px,39vw,620px);padding:0;background:transparent;text-align:left;border-radius:8px;transition:transform .28s cubic-bezier(.2,.7,.2,1)}.reel-card .artwork{height:278px;box-shadow:0 8px 28px -10px #0000001a,0 2px 10px -4px #0000000a}[data-theme=dark] .reel-card .artwork{box-shadow:0 8px 28px -10px #00000040,0 2px 10px -4px #0000001a}.reel-card .artwork-4{box-shadow:0 10px 44px -12px #355f6314}[data-theme=dark] .reel-card .artwork-4{box-shadow:0 10px 44px -12px #0000002e}.reel-caption{display:flex;justify-content:space-between;align-items:center;padding:12px 4px;font-size:14px}.reel-card:focus-visible{outline-offset:-4px;z-index:2}.artwork{overflow:hidden;position:relative;border-radius:8px;height:100%;min-height:200px;background:#cfe2ff;color:#000}.artwork-0{background:#b8cde9}.artwork-1{background:#a6eec0}.artwork-2{background:#f7e8af}.artwork-3{background:#ffd6dc}.artwork-4{background:#c7e4e5}.artwork-label{position:absolute;z-index:2;top:24px;left:24px;font:500 12px/16px var(--font-mono);text-transform:uppercase;letter-spacing:1px}.artwork-index{position:absolute;z-index:2;bottom:16px;right:20px;font:400 12px/16px var(--font-mono)}.solver-preview{position:relative;overflow:hidden;container-type:inline-size;isolation:isolate}.solver-preview:before{content:"";position:absolute;z-index:-1;top:-12%;right:-12%;bottom:-12%;left:-12%;pointer-events:none;filter:blur(clamp(16px,4cqw,26px))}.solver-preview:before{background:radial-gradient(ellipse 60% 65% at 22% 20%,#f4b49b99,transparent 78%),radial-gradient(ellipse 55% 65% at 36% 94%,#51d6ed66,transparent 78%),radial-gradient(ellipse 35% 45% at 8% 80%,#b3ed674d,transparent 80%)}[data-theme=dark] .solver-preview:before{opacity:.24}.preview-copy{position:absolute;z-index:2;left:63%;right:5%;top:50%;transform:translateY(-50%);color:var(--ink)}.preview-title{display:block;font-family:var(--font-display);font-size:clamp(14px,4.5cqw,28px);line-height:1.15;font-weight:500;letter-spacing:-.025em}.preview-copy p{margin-top:clamp(8px,2cqw,14px);font-size:clamp(11px,2.45cqw,15px);line-height:1.4}.palms-motion-cover{position:relative;isolation:isolate;overflow:hidden;container-type:inline-size;display:grid;place-items:center;background:#c6ddf6;color:#071d3b}.palms-motion-cover.case-editorial{aspect-ratio:16 / 9;background:#c6ddf6}.palms-motion-cover:before{content:"";position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;background:#e1eeff;opacity:.3;pointer-events:none}.palms-motion-field{position:absolute;z-index:-2;left:-20%;top:-20%;width:140%;max-width:none;height:140%;object-fit:cover;filter:brightness(1.25) saturate(.6) contrast(1.05);pointer-events:none;animation:palms-colour-drift 12s ease-in-out infinite}.palms-motion-field-secondary{z-index:-1;left:-40%;top:-40%;width:180%;height:180%;mix-blend-mode:screen;opacity:.25;animation:palms-colour-bloom 16s ease-in-out infinite}.palms-motion-title{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse 90% 70% at center,#e8f3ff59 0,#e8f3ff59 65%,#e8f3ff00);text-align:center;font-family:var(--font-display);font-size:clamp(22px,5.4cqw,44px);line-height:1.15;font-weight:500;letter-spacing:-.035em}.palms-motion-toggle{position:absolute;z-index:2;right:16px;bottom:16px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#ffffffd9;color:#123d7b;opacity:0;transition:opacity .18s ease}.palms-motion-cover:hover .palms-motion-toggle,.palms-motion-cover:focus-within .palms-motion-toggle{opacity:1}.palms-motion-cover.is-paused .palms-motion-field,:is(.project-card,.reel-card):is(:hover,:focus-visible) .palms-motion-field{animation-play-state:paused}[data-theme=dark] .palms-motion-cover{background:#102c57;color:#fff}[data-theme=dark] .palms-motion-cover:before{opacity:.12}[data-theme=dark] .palms-motion-field{filter:brightness(.8)}[data-theme=dark] .palms-motion-title{background:radial-gradient(ellipse 90% 70% at center,#05162f80 0,#05162f80 65%,#05162f00)}@keyframes palms-colour-drift{0%,to{transform:translate(-2%,-1%) scale(1.12) rotate(-6deg)}35%{transform:translate(2%,2%) scale(1.25) rotate(4deg)}70%{transform:translate(1%,-2%) scale(1.18) rotate(8deg)}}@keyframes palms-colour-bloom{0%,to{transform:translate(3%,2%) scale(1.25) rotate(180deg);opacity:.08}50%{transform:translate(-3%,-2%) scale(1.4) rotate(195deg);opacity:.3}}@media(hover:none){.palms-motion-toggle{opacity:1}}.solver-preview{background:#f6e5e5}.solver-preview.case-editorial{aspect-ratio:16 / 9;background:#f6e5e5}.solver-preview.case-editorial .preview-title{font-size:clamp(18px,4.5cqw,44px)}.solver-preview.case-editorial .preview-copy p{font-size:clamp(12px,2.45cqw,20px)}.solver-preview-screen{position:absolute;overflow:hidden;border-radius:5px;background:#fff;box-shadow:0 12px 32px -12px #56202926;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.solver-preview-back{z-index:0;width:62%;aspect-ratio:1516 / 876;left:-10%;top:19%}.solver-preview-front{z-index:1;width:64%;aspect-ratio:1549 / 911;left:-5%;top:43%}.solver-preview-screen img{position:absolute;display:block;max-width:none;height:auto}.solver-preview-back img{width:104.6174%;left:-2.3087%;top:-6.1644%}.solver-preview-front img{width:103.2924%;left:-1.6785%;top:-2.7442%}[data-theme=dark] .solver-preview{background:#493236}[data-theme=dark] .solver-preview-screen{box-shadow:0 10px 30px -8px #00000040}.editorial-art{width:100%;height:100%;object-fit:cover;object-position:85% center;mix-blend-mode:multiply;padding-top:30px;transition:transform .4s}:is(.project-card,.reel-card):focus-visible .editorial-art{transform:translateY(-6px) scale(1.06)}:is(.project-card,.reel-card):focus-visible .solver-preview-back{transform:translate(8px,-13px)}:is(.project-card,.reel-card):focus-visible .solver-preview-front{transform:translate(10px)}@media(hover:hover)and (pointer:fine){:is(.project-card,.reel-card):hover .solver-preview-back{transform:translate(8px,-13px)}:is(.project-card,.reel-card):hover .solver-preview-front{transform:translate(10px)}:is(.project-card,.reel-card):hover .editorial-art{transform:translateY(-6px) scale(1.06)}}:root{--section-gap: 76.8px}.work-section{position:relative;isolation:isolate;padding-bottom:var(--section-gap)}.work-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:radial-gradient(ellipse 45% 35% at 12% 30%,#51d6ed26,transparent 75%),radial-gradient(ellipse 45% 40% at 88% 65%,#b3ed6733,transparent 75%)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:64px}.section-heading h2,.about-title h2{font-size:48px;line-height:54px;letter-spacing:-1.4px;font-weight:500}.section-intro{color:var(--muted);padding-bottom:4px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px 40px;align-items:start}.project-card{display:block;padding:0;background:transparent;text-align:left;min-width:0;border-radius:8px}.project-card:nth-child(2n){margin-top:112px}.project-visual{position:relative;aspect-ratio:1.4}.project-visual .artwork{height:100%}.project-description{padding:24px 0 0}.project-meta{display:flex;justify-content:space-between;gap:16px;font-size:11px;letter-spacing:.04em;color:var(--muted)}.project-description h3{font-size:24px;font-weight:500;line-height:30px;margin:12px 0 8px;letter-spacing:-.5px}.project-description p{color:var(--muted)}.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.project-description .project-tags{margin-top:12px}.badge{display:inline-block;border:1px solid var(--border);border-radius:9999px;font-family:var(--font-body);font-size:12px;padding:2px 10px;white-space:nowrap;line-height:18px}.read-case{display:flex;align-items:center;gap:8px;font-size:14px;margin-top:20px;width:fit-content}.project-card-wide{grid-column:1 / -1;display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center;margin-top:24px}.project-card-wide .project-visual{aspect-ratio:1.65}.project-card-wide .project-description{padding:0}.project-card-wide .project-description h3{max-width:420px;font-size:32px;line-height:38px;margin-block:20px 12px}.work-note{color:var(--muted);font-size:12px;margin-top:48px}.expertise-section{padding-top:69.6px;padding-bottom:var(--section-gap)}.expertise-card{background:var(--expertise-surface);border-radius:12px;padding:48px;overflow:hidden}.expertise-top{display:flex;align-items:flex-start;justify-content:space-between;gap:32px}.expertise-top h2{font-size:48px;line-height:54px;letter-spacing:-1.4px;font-weight:500}.expertise-top .inline-accent{font-size:.95em}.tab-list{position:relative;isolation:isolate;display:flex;flex-shrink:0;padding:5px;gap:2px;background:var(--expertise-menu);border-radius:9999px;margin-top:0}.tab-pill{position:absolute;left:0;top:5px;bottom:5px;border-radius:9999px;background:var(--page);box-shadow:0 1px 5px #00000014;pointer-events:none;opacity:0;will-change:transform,width}.tab-list button{position:relative;z-index:1;background:transparent;padding:8px 19px;font-size:14px;line-height:20px;border-radius:9999px;color:var(--ink);white-space:nowrap}.expertise-panel{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center;margin-top:72px;min-height:310px}.expertise-panel.about-me-panel{display:block}.about-me-content{min-width:0}.about-me-content .about-layout{gap:40px}.expertise-copy{position:relative;z-index:2;animation:content-in .3s ease both}@keyframes content-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.expertise-copy h3{font-size:24px;line-height:30px;font-weight:500;margin-top:20px;margin-bottom:12px}.expertise-copy p{color:var(--muted);max-width:400px;line-height:26px}.text-button{padding:4px 0;background:transparent;display:flex;gap:10px;align-items:center;font-weight:500;font-size:14px;margin-top:28px;width:fit-content}.text-button-label{position:relative;display:inline-block}.text-button-label:after{content:"";position:absolute;bottom:-4px;left:50%;width:1px;height:1px;border-radius:999px;background:currentColor;transform:translate(-50%);opacity:0;pointer-events:none;transition:width .28s cubic-bezier(.2,.7,.2,1),opacity .1s ease}.text-button svg,.read-case svg{flex-shrink:0;transition:transform .24s cubic-bezier(.2,.7,.2,1)}.text-button:focus-visible .text-button-label:after,.project-card:focus-visible .read-case .text-button-label:after{width:100%;opacity:1;transition-delay:60ms,0ms}.text-button:focus-visible svg,.project-card:focus-visible .read-case svg{transform:translate(8px)}@media(hover:hover){.text-button:hover .text-button-label:after,.project-card:hover .read-case .text-button-label:after{width:100%;opacity:1;transition-delay:60ms,0ms}.text-button:hover svg,.project-card:hover .read-case svg{transform:translate(8px)}}.expertise-art{height:340px;position:relative}.fan-card{position:absolute;width:90%;height:265px;border-radius:8px;box-shadow:0 12px 25px #00000013;transition:transform .4s}.fan-card .artwork{min-height:0}.fan-back{left:-4%;top:0;transform:rotate(-9deg)}.fan-front{right:-5%;top:68px;transform:rotate(7deg)}.expertise-art:hover .fan-back{transform:rotate(-12deg) translateY(-8px)}.expertise-art:hover .fan-front{transform:rotate(9deg)}.about-section{padding-top:12px;padding-bottom:76.8px}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-title h2{max-width:600px}.about-signature{display:flex;align-items:center;gap:16px;margin-top:48px}.about-signature img{width:56px;height:56px}.about-signature span{font-size:16px}.about-copy{padding-top:4px}.about-copy p{color:var(--muted);max-width:530px;font-size:18px;line-height:28px}.about-copy .about-lead{color:var(--ink);font-family:var(--font-display);font-size:24px;line-height:34px;font-weight:400;margin-bottom:24px}.about-location{display:flex;gap:8px;align-items:center;margin-top:28px}.about-copy .about-location{font-size:14px}.about-links{display:flex;gap:24px;margin-top:20px}.about-links a{display:flex;gap:8px;align-items:center;font-size:14px}.about-links a:hover{text-decoration:underline;text-underline-offset:4px}.principle-row{display:flex;justify-content:space-between;gap:16px;margin-top:48px;border-top:1px solid var(--border);padding-top:28px;color:var(--muted);font:400 24px/30px var(--font-display)}.contact-section{padding-bottom:19.2px}.contact-card{background:#000;color:#fff;border-radius:12px;padding:48px}.contact-card .eyebrow{color:#a3a3a3}.contact-card h2{font-size:72px;line-height:78px;font-weight:500;letter-spacing:-2px}.contact-line{white-space:nowrap}.contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-top:36px}.contact-bottom p{color:#a3a3a3;font-size:18px}.contact-card .button-white{background:#fff;color:#000;white-space:nowrap;flex-shrink:0}.contact-card .button-white:hover{background:var(--accent-yellow)}.contact-card :focus-visible{outline-color:var(--accent-yellow)}.email-row{display:flex;gap:20px;justify-content:space-between;border-top:1px solid #333;margin-top:48px;padding-top:24px;font-size:16px;align-items:center}.email-row>a:hover{text-decoration:underline;text-underline-offset:4px}.copy-button{display:flex;align-items:center;gap:8px;background:#171717;color:#fff;border-radius:9999px;padding:10px 14px;min-width:96px;justify-content:center;font-size:14px}.copy-button:hover{background:#292929}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;color:var(--muted);font-size:12px;padding-top:9.6px;padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}.site-footer div{display:flex;gap:24px}.site-footer a:hover{color:var(--ink)}.back-top{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--border);border-radius:50%}.case-page{position:relative;isolation:isolate;padding-top:128px;padding-bottom:112px}.case-page:before{content:"";position:absolute;top:0;left:0;right:0;height:900px;z-index:-1;pointer-events:none;background-image:radial-gradient(ellipse 48% 45% at 62% 28%,#51d6ed52,transparent 78%),radial-gradient(ellipse 40% 48% at 88% 35%,#b3ed6752,transparent 80%)}[data-theme=dark] .case-page:before{opacity:.45}@media(max-width:671px){.case-page:before{height:760px;background-image:radial-gradient(ellipse 75% 40% at 55% 27%,#51d6ed45,transparent 80%),radial-gradient(ellipse 65% 42% at 95% 40%,#b3ed6745,transparent 82%)}}.reading-progress{position:fixed;inset:0 0 auto;height:3px;z-index:50;pointer-events:none}.reading-progress-track{height:100%;background:var(--expertise-surface)}.reading-progress-fill{display:block;width:100%;height:100%;background:var(--action);transform:scaleX(0);transform-origin:left}.case-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:12px;margin-bottom:0;border-bottom:1px solid var(--border)}.case-toolbar .mono{font-size:11px;color:var(--muted)}.case-toolbar .case-back{margin:0}.case-back{display:inline-flex;align-items:center;gap:8px;font-size:14px;white-space:nowrap}.case-back:focus-visible svg{transform:translate(-8px)}@media(hover:hover){.case-back:hover svg{transform:translate(-8px)}}.case-body{display:grid;grid-template-columns:228px minmax(0,1fr);gap:0;align-items:start}.case-sidebar{align-self:stretch;border-right:1px solid var(--border);padding:12px 16px 28px 0}.case-sidebar-content{position:sticky;top:32px}.case-project-list>p:first-child{padding-left:12px;color:var(--muted);margin-bottom:20px}.case-project-list a{padding:12px;border-radius:8px;background:transparent;display:flex;align-items:center;gap:10px;text-align:left;width:100%;font-size:14px;margin-bottom:4px}.case-project-list a:hover{background:var(--hover)}.case-project-list a.selected{background:var(--action);color:var(--on-action)}.case-content{min-width:0}.case-project-picker{display:none}.case-copy{overflow-wrap:anywhere}.case-metadata>div{min-width:0}.case-editorial{width:100%;border-radius:12px;background:#fff}.case-copy{padding:40px 0 0;max-width:880px;margin:auto}.case-copy>.project-tags{margin-top:0;margin-bottom:20px}.case-copy h1{font-size:48px;line-height:54px;font-weight:500;letter-spacing:-1px}.case-summary{color:var(--muted);font-size:18px;line-height:28px;margin-top:16px}.case-metadata{display:grid;grid-template-columns:.7fr 1.3fr 1fr;gap:24px;border-block:1px solid var(--border);margin-top:28px;padding-block:24px}.case-metadata dt{text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:11px}.case-metadata dd{font-size:14px;margin:0}.case-highlight{border-radius:8px;background:var(--expertise-surface);padding:24px;display:flex;gap:24px;align-items:center;margin:32px 0 40px}.case-highlight strong{font:500 48px/54px var(--font-display)}.case-highlight span{color:var(--muted);font-size:16px}.story-section{margin-top:36px}.story-heading{display:flex;gap:12px;align-items:center;margin-bottom:16px}.story-heading>span{color:var(--muted);font-size:11px}.story-heading h2{font-size:24px;line-height:30px;font-weight:500}.story-subheading{margin-block:16px;font-size:20px;line-height:28px;font-weight:500;color:var(--ink)}.story-section p,.story-section li{font-size:16px;line-height:27px;color:var(--muted)}.story-section p{margin-block:16px}.story-section strong{color:var(--ink);font-weight:500}.charter-definition-trigger{display:inline;padding:0;background:transparent;color:var(--ink);font:inherit;font-weight:500;white-space:nowrap;cursor:help;text-decoration:underline dotted var(--accent-lime) 2px;text-underline-offset:5px}.charter-definition-trigger:focus-visible{outline-color:var(--accent-lime)}.charter-definition-card{position:fixed;z-index:60;width:min(400px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;padding:22px;border:1px solid var(--border);border-top:3px solid var(--accent-lime);border-radius:12px;background:var(--card);color:var(--muted);box-shadow:0 12px 48px #0000001a;font:400 14px/1.5 var(--font-body)}.charter-definition-card strong{color:var(--ink);font-weight:600}.charter-definition-card ul{margin:14px 0 0;padding-left:18px}.charter-definition-card li+li{margin-top:9px}[data-theme=dark] .charter-definition-card{box-shadow:0 12px 40px #00000040}.story-section ul,.story-section ol{margin:16px 0;padding-left:24px}.story-section li{margin-block:8px;padding-left:4px}.story-image{width:100%;margin-top:24px;border-radius:8px;background:#fff}.story-video-player{position:relative;margin-top:24px;border-radius:8px;overflow:hidden;background:var(--expertise-surface)}.story-video{display:block;width:100%;height:auto}.story-video-controls{position:absolute;bottom:16px;right:16px;display:flex;gap:8px;opacity:0;pointer-events:none;transition:opacity var(--motion)}.story-video-player:hover .story-video-controls,.story-video-player:has(.story-video-controls button:focus-visible) .story-video-controls{opacity:1;pointer-events:auto}.story-video-controls button{display:grid;place-items:center;width:32px;height:32px;padding:0;border-radius:50%;background:#00000080;color:#fff;transition:background var(--motion)}.story-video-controls button:hover{background:#000000a6}.story-video-controls button:focus-visible{outline-color:var(--accent-cyan)}@media(max-width:671px){.story-video-controls{bottom:12px;right:12px}}.case-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px}.case-gallery figure{margin:0}.case-gallery img{border-radius:8px}.case-gallery figcaption{font-size:12px;color:var(--muted);margin-top:8px}.confidential-note{font-size:12px;line-height:20px;padding-top:24px;margin-top:40px;border-top:1px solid var(--border);color:var(--muted)}.confidential-note a{text-decoration:underline}.case-footer{display:flex;justify-content:space-between;gap:16px;margin-top:32px}.case-footer .button{font-size:14px;padding-inline:20px}.case-footer .button>svg{display:block;flex-shrink:0;align-self:center}.case-back-top{position:fixed;right:calc(32px + env(safe-area-inset-right,0px));bottom:calc(32px + env(safe-area-inset-bottom,0px));z-index:20;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--action);color:var(--on-action);box-shadow:0 4px 16px #0000001f;transition:background var(--motion),transform var(--motion)}.case-back-top:hover{background:var(--action-hover);transform:translateY(-3px)}[data-theme=dark] .brand img,[data-theme=dark] .about-signature img{filter:invert(1)}@media(min-width:1600px){.hero{padding-top:396px;padding-bottom:84.8px}.hero h1{font-size:80px}.reel-card{width:620px}.reel-card .artwork{height:380px}}@media(max-width:1055px){:root{--gutter: 24px}.hero{padding-top:256px;padding-bottom:65.6px}.hero h1{font-size:64px}.section-heading h2,.about-title h2{font-size:40px;line-height:46px}.work-grid{gap:48px 24px}.project-card:nth-child(2n){margin-top:80px}.project-card-wide{gap:32px}.project-meta{flex-wrap:wrap;gap:4px}.expertise-card{padding:40px}.expertise-top h2{font-size:40px;line-height:46px}.expertise-top{flex-wrap:wrap}.tab-list{margin-top:0}.expertise-panel{gap:28px}.fan-card{height:240px}.about-layout{gap:40px}.contact-card h2{font-size:60px;line-height:68px}.case-body{grid-template-columns:194px minmax(0,1fr);gap:0}.case-copy{padding-top:32px}}@media(max-width:1055px){.case-body{display:block}.case-sidebar{display:none}.case-project-picker{display:block;border-bottom:1px solid var(--border)}.case-project-picker summary{padding-block:16px;cursor:pointer;font-weight:500}.case-project-picker summary span{margin-left:12px;color:var(--muted);font-weight:400}.case-project-picker nav{display:grid;gap:4px;padding-bottom:16px}.case-project-picker a{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px}.case-project-picker a:hover{background:var(--hover)}.case-project-picker a[aria-current=page]{background:var(--action);color:var(--on-action)}.case-copy h1{font-size:clamp(30px,4.5vw,44px);line-height:1.15}.case-metadata{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:671px){.case-gallery{grid-template-columns:1fr}.case-container,.reading-progress{padding-inline:20px}:root{--gutter: 16px}html{scroll-padding-top:94px}.site-header{padding-top:20px}.brand{font-size:16px}.brand img{width:26px;height:26px}.header-right{gap:8px}.availability{gap:8px;font-size:12px}.capsule-nav{bottom:calc(16px + env(safe-area-inset-bottom,0px));padding:4px;gap:0}.nav-pill{top:4px;bottom:4px}.capsule-nav a{padding:7px 16px;font-size:13px}.hero{padding-top:258px;padding-bottom:52.8px}.hero .eyebrow{margin-bottom:24px}.hero h1{font-size:clamp(38px,10vw,48px);line-height:1.15;letter-spacing:-1.7px}.hero h1 .accent-cyan{width:.96em}.hero .sparkle-accent{font-size:.85em}.hero-bottom{flex-direction:column;align-items:flex-start;gap:28px;margin-top:28px}.hero-bottom p{font-size:16px;line-height:24px}.hero-actions{gap:8px}.button{padding-inline:21px;font-size:14px}.reel-card{width:288px}.reel-card .artwork{height:222px}.artwork-label{font-size:10px;left:20px;top:20px}:root{--section-gap: 43.2px}.eyebrow{font-size:11px;margin-bottom:20px}.section-heading{display:block;margin-bottom:32px}.section-heading h2,.about-title h2{font-size:32px;line-height:38px;letter-spacing:-.8px}.section-intro{margin-top:20px;font-size:14px}.work-grid{display:block}.project-card{display:block;width:100%;margin-bottom:44px}.project-card:nth-child(2n){margin-top:0}.project-card:last-child{margin-bottom:0}.project-visual{aspect-ratio:1.34}.project-description{padding-top:20px}.project-description h3,.project-card-wide .project-description h3{font-size:24px;line-height:30px;margin-block:12px 8px}.project-description p{font-size:14px}.project-card-wide .project-description{padding-top:20px}.project-card-wide .project-visual{aspect-ratio:1.34}.project-meta{justify-content:space-between;font-size:10px}.project-tags{margin-top:16px;gap:6px}.badge{font-size:11px}.work-note{margin-top:32px;font-size:11px}.expertise-section{padding-top:38.4px;padding-bottom:var(--section-gap)}.expertise-card{padding:28px 24px}.expertise-top{gap:24px}.expertise-top h2{font-size:32px;line-height:38px;letter-spacing:-.8px}.tab-list{width:100%}.tab-list button{flex:1;font-size:14px;padding:9px 10px}.expertise-panel{display:flex;flex-direction:column;align-items:stretch;gap:40px;margin-top:36px}.expertise-copy h3{font-size:24px;margin-top:16px}.expertise-copy p{font-size:16px;line-height:25px}.expertise-art{width:100%;height:250px}.fan-card{height:200px;width:90%}.fan-front{top:60px}.about-section{padding-top:0;padding-bottom:43.2px}.about-layout{display:block}.about-signature{margin-top:28px;margin-bottom:32px}.about-copy .about-lead{font-size:22px;line-height:30px}.about-copy p{font-size:16px;line-height:26px}.principle-row{margin-top:26.2px;padding-top:20px;font-size:15px;line-height:24px;flex-wrap:wrap;gap:8px}.contact-card{padding:32px 24px}.contact-card h2{font-size:clamp(30px,8vw,44px);line-height:1.15;letter-spacing:-1px}.contact-bottom{margin-top:28px;gap:20px}.contact-bottom p{font-size:16px}.contact-bottom .button{padding-inline:18px;flex-shrink:0;white-space:nowrap}.email-row{margin-top:32px;padding-top:20px;flex-wrap:wrap;gap:12px;font-size:14px}.copy-button{padding:8px 12px;font-size:12px}.site-footer{flex-wrap:wrap;justify-content:space-between;row-gap:16px;padding-bottom:calc(92px + env(safe-area-inset-bottom,0px));font-size:11px}.site-footer>p{display:none}.site-footer div{gap:16px}.back-top{display:none}.case-page{padding-top:104px;padding-bottom:96px}.case-back-top{right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px))}.case-toolbar{flex-wrap:wrap;padding-bottom:10px;margin-bottom:0}.case-toolbar .mono{font-size:9px;letter-spacing:0}.case-sidebar{display:none}.case-sidebar-content{position:static}.case-project-list{display:none}.case-body{display:block}.case-copy{padding-top:24px}.case-copy h1{font-size:30px;line-height:36px}.case-copy .badge{white-space:normal}.case-summary{font-size:16px;line-height:24px}.case-metadata{grid-template-columns:1fr;gap:16px;padding-block:20px}.case-metadata dt{margin-bottom:4px}.case-highlight{gap:16px;padding:20px}.case-highlight strong{font-size:40px;line-height:46px}.case-highlight span{font-size:14px}.case-footer{flex-wrap:wrap}.case-footer .button{flex:1;white-space:nowrap;padding-inline:14px;font-size:12px}}@media(prefers-reduced-motion:reduce){.hero h1{animation:none}.palms-motion-field{animation:none!important;transform:none}.palms-motion-field-secondary{opacity:.12}.palms-motion-toggle{display:none}:is(.project-card,.reel-card):is(:hover,:focus-visible) :is(.editorial-art,.solver-preview-screen){transform:none}.project-reel .reel-card:is(:hover,:focus-visible){transform:none}.text-button:hover svg,.text-button:focus-visible svg,.project-card:hover .read-case svg,.project-card:focus-visible .read-case svg{transform:none}html,.case-content{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reel-track{animation:none!important;transform:translate(-160px)}}.project-meta,.badge,.artwork-label,.case-metadata dt,.story-heading>span,.eyebrow,.work-note,.site-footer{font-size:12px}.capsule-nav a{font-size:14px}@media(max-width:671px){.capsule-nav a{padding-inline:10px}.contact-bottom p{flex:1;min-width:0}}@media(max-width:359px){.tab-list button{font-size:12px;padding-inline:6px}.site-header{flex-wrap:wrap;row-gap:12px}.header-right{margin-left:auto}.capsule-nav a{padding-inline:6px}.hero h1{font-size:32px}.contact-card{padding-inline:20px}.contact-card h2{font-size:26px}.contact-line{white-space:normal}.contact-bottom{gap:12px}}.palms-background p>strong{font-family:var(--font-display);font-size:1.25em;line-height:1.5;font-weight:500;font-style:italic}.palms-background-insight{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:stretch;margin-top:28px}.solver-background-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;align-items:start}.solver-background-grid>div>p:first-child{margin-top:0}.solver-background-grid>div>p:last-child{margin-bottom:4px}.solver-background-grid>img{width:100%;height:auto;object-fit:contain;border-radius:8px}.solver-approach{display:grid;gap:32px}.approach-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;align-items:start}.approach-layout>.solver-research-plan{display:block;margin-top:0}.solver-research-plan,.solver-solution-workflow{height:auto;object-fit:contain}.approach-narrative>p:first-child{margin-top:0}.approach-narrative>p:last-child{margin-bottom:0}.story-section .approach-timeline{list-style:none;margin:0;padding:0}@media(max-width:1055px){.solver-approach{gap:24px}.approach-layout{grid-template-columns:minmax(0,1fr);gap:24px}}.story-section .approach-timeline>li{position:relative;margin:0;padding:0 0 24px 32px}.approach-timeline>li:before{content:"";position:absolute;top:13.5px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--ink);transform:translateY(-50%)}.approach-timeline>li:after{content:"";position:absolute;top:13.5px;bottom:-13.5px;left:7.5px;width:1px;background:var(--ink)}.story-section .approach-timeline>li:last-child{padding-bottom:0}.approach-timeline>li:last-child:after{display:none}.story-section .approach-timeline>li>strong{display:block;font-weight:600}.story-section .approach-timeline p{margin:0}@media(max-width:1055px){.solver-background-grid{grid-template-columns:1fr;gap:5px}}.palms-background-insight>img{width:100%;height:auto;object-fit:contain;align-self:end;border-radius:8px}@media(max-width:1055px){.palms-background-insight{grid-template-columns:1fr}}.palms-problem-quote{margin:24px 0;padding:20px 24px;border-left:3px solid #000000;background:transparent;border-radius:0 8px 8px 0}.story-section .palms-problem-quote p{margin:0;color:var(--ink);font-family:var(--font-display);font-size:20px;line-height:1.5;font-weight:500;font-style:italic}@media(min-width:1056px){.palms-background-insight>div{display:flex;flex-direction:column}.palms-background-insight>img{align-self:end}.palms-background-insight .palms-problem-quote{margin-top:auto;margin-bottom:0}}.palms-approach ol{list-style:none;counter-reset:approach-step;display:grid;gap:16px;padding:0;margin:24px 0 0}.palms-approach ol>li{counter-increment:approach-step;position:relative;margin:0;padding:24px 24px 24px 68px;background:var(--expertise-surface);border:1px solid var(--border);border-radius:12px}.palms-approach ol>li:before{content:counter(approach-step,decimal-leading-zero);position:absolute;left:24px;top:24px;color:var(--muted);font-size:14px}@media(max-width:671px){.palms-approach ol>li{padding:20px 20px 20px 56px}.palms-approach ol>li:before{left:20px;top:20px}}.palms-approach ol{grid-template-columns:1fr}.palms-approach ol>li{padding:24px}.palms-approach ol>li:before{position:static;display:block;margin-bottom:8px}.palms-approach ol>li>strong{display:block;margin-bottom:8px}@media(max-width:671px){.palms-approach ol>li{padding:20px}}.palms-approach ol{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1055px){.palms-approach ol{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:671px){.palms-approach ol{grid-template-columns:1fr}}:root:not([data-theme=dark]) .palms-approach ol>li{background:#f0f3f5}.case-page:after{content:"";position:absolute;top:820px;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:radial-gradient(ellipse 42% 360px at 8% 14%,#51d6ed1f,transparent 80%),radial-gradient(ellipse 36% 420px at 92% 32%,#b3ed6726,transparent 82%),radial-gradient(ellipse 46% 340px at 23% 53%,#51d6ed24,transparent 82%),radial-gradient(ellipse 38% 400px at 83% 73%,#b3ed6724,transparent 80%),radial-gradient(ellipse 34% 300px at 12% 92%,#51d6ed1c,transparent 82%)}[data-theme=dark] .case-page:after{opacity:.4}@media(max-width:671px){.case-page:after{top:700px;background-image:radial-gradient(ellipse 90% 320px at 0% 16%,#51d6ed1f,transparent 82%),radial-gradient(ellipse 85% 360px at 100% 39%,#b3ed6724,transparent 82%),radial-gradient(ellipse 90% 320px at 10% 65%,#51d6ed1f,transparent 82%),radial-gradient(ellipse 85% 340px at 95% 88%,#b3ed6724,transparent 82%)}}.case-gallery>figure:only-child{grid-column:1 / -1}.palms-approach ol>li:before{font-family:var(--font-display);font-size:24px;line-height:1.25}.palms-approach ol.result-cards>li{padding:0;border:0;background:transparent;min-width:0}.palms-approach ol.result-cards>li:before{display:none}.result-card{width:100%;height:100%;padding:0;border-radius:12px;background:transparent;text-align:left;perspective:1200px}.result-card-inner{display:grid;height:100%;transform-style:preserve-3d;transition:transform .5s ease}.result-card.is-flipped .result-card-inner{transform:rotateY(180deg)}.result-card-front,.result-card-back{grid-area:1 / 1;display:flex;flex-direction:column;gap:12px;padding:24px;border:1px solid var(--border);border-radius:12px;background:var(--expertise-surface);backface-visibility:hidden;-webkit-backface-visibility:hidden;color:var(--muted);font-size:16px;line-height:27px}:root:not([data-theme=dark]) .result-card-front{background:#f0f3f5}:root:not([data-theme=dark]) .result-card-back{background:#e3f4f7}.result-card-back{transform:rotateY(180deg)}.result-card-number{font:400 24px/1.25 var(--font-display)}.result-card strong{color:var(--ink)}.result-card-hint{margin-top:auto;padding-top:12px;font-size:12px}@media(max-width:671px){.result-card-front,.result-card-back{padding:20px}}@media(prefers-reduced-motion:reduce){.result-card-inner{transition:none}}
