.rainbow-play{margin:0 0 20px;padding:18px 0 8px;position:relative}.rainbow-heading{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.rainbow-heading h2{letter-spacing:-.025em;margin:0;font:400 23px/1.2 Georgia,serif}.rainbow-heading p{color:#666;margin:0;font-size:13px}.rainbow-wave{isolation:isolate;max-width:760px;height:62px;margin:10px auto 0;position:relative}.rainbow-column{width:calc(100% / var(--piece-count,10));height:max(44px,var(--height));cursor:grab;touch-action:none;user-select:none;z-index:1;outline-offset:4px;background:0 0;border:0;border-radius:5px 5px 0 0;padding:0;transition:transform .42s cubic-bezier(.22,1.04,.36,1),height .4s,width .42s cubic-bezier(.22,1.04,.36,1);position:absolute;bottom:0;left:0}.rainbow-surface{height:var(--height);background:var(--colour);border-radius:inherit;transform-origin:bottom;transform:scaleY(var(--hover-scale,1));pointer-events:none;transition:transform .26s cubic-bezier(.22,1,.36,1),filter .18s,box-shadow .28s,border-radius .28s,height .9s cubic-bezier(.65,0,.25,1);display:block;position:absolute;inset:auto 0 0;box-shadow:inset 0 1px #ffffff20}.rainbow-surface:after{content:"";pointer-events:none;border-right:1px solid #ffffff30;position:absolute;inset:0}.rainbow-column:hover .rainbow-surface{filter:brightness(1.035)}.rainbow-column.selected{outline-offset:3px;z-index:3;outline:2px solid #302740}.rainbow-column.selected .rainbow-surface{transform:translateY(-3px) scaleY(var(--hover-scale,1));filter:brightness(1.04)}.rainbow-column.dragging{z-index:5;cursor:grabbing;outline:0;transition:width .18s cubic-bezier(.22,1,.36,1)}.rainbow-column.dragging .rainbow-surface{filter:brightness(1.045);transform:translateY(-6px)scale(1.025);box-shadow:inset 0 1px #ffffff35,0 7px 12px #342e381c}.rainbow-column:focus-visible{outline-offset:4px;z-index:4;outline:2px solid #302740}.rainbow-footer{color:#666;justify-content:space-between;align-items:center;gap:16px;margin-top:10px;font-size:12px;display:flex}.rainbow-footer p{margin:0}.rainbow-footer button{cursor:pointer;white-space:nowrap;background:0 0;border:0;min-height:34px;padding:7px 0;font-size:12px}.rainbow-footer button:hover{text-decoration:underline}.rainbow-footer button span{vertical-align:-1px;margin-right:3px;font-size:17px}.rainbow-play.complete .rainbow-heading p{color:#51427a}@media (width<=700px){.rainbow-play{margin-bottom:10px;padding-top:12px}.rainbow-heading{display:block}.rainbow-heading h2{margin-bottom:6px;font-size:23px}.rainbow-heading p{font-size:12px}.rainbow-wave{height:56px;margin-top:8px}.rainbow-column{height:44px}.rainbow-surface{height:calc(var(--height) * .85)}.rainbow-footer{gap:10px;font-size:11px}.rainbow-footer p{max-width:24ch}.rainbow-footer button{font-size:11px}}@media (prefers-reduced-motion:reduce){.rainbow-column.dragging .rainbow-surface,.rainbow-column.selected .rainbow-surface{transform:none}}.rainbow-wave:not(.is-ready) .rainbow-column{transition:none}@media (prefers-reduced-motion:reduce){.rainbow-surface{transform:none!important}}.rainbow-surface{border-radius:5px 5px 0 0}.rainbow-surface:after{border-radius:inherit}.rainbow-column.is-first .rainbow-surface{border-bottom-left-radius:7px}.rainbow-column.is-last .rainbow-surface{border-bottom-right-radius:7px}.rainbow-column.selected .rainbow-surface{border-radius:6px}.rainbow-column.dragging .rainbow-surface{border-radius:8px}.rainbow-heading{max-height:90px;transition:max-height .7s cubic-bezier(.22,1,.36,1),opacity .35s;overflow:hidden}.rainbow-wave{transition:height .9s cubic-bezier(.65,0,.25,1),max-width .9s cubic-bezier(.65,0,.25,1),margin .7s}.rainbow-column{transition:transform .42s cubic-bezier(.22,1.04,.36,1),width .42s cubic-bezier(.22,1.04,.36,1),height .9s cubic-bezier(.65,0,.25,1)}.rainbow-column.dragging{transition:width .18s cubic-bezier(.22,1,.36,1)}.rainbow-play.complete .rainbow-column{cursor:default}.rainbow-play.is-separator .rainbow-heading{opacity:0;max-height:0}.rainbow-play.is-separator .rainbow-wave{max-width:100%;height:4px;margin-top:8px}.rainbow-play.is-separator .rainbow-column{height:4px}.rainbow-play.is-separator .rainbow-surface{height:4px;box-shadow:none;border-radius:0;transform:none}.rainbow-play.is-separator .rainbow-column.is-first .rainbow-surface{border-bottom-left-radius:0}.rainbow-play.is-separator .rainbow-column.is-last .rainbow-surface{border-bottom-right-radius:0}.rainbow-play.is-separator .rainbow-surface:after{border:0}.rainbow-play[hidden]{display:none}.rainbow-play{border:0;font:16px/1.55 system-ui,-apple-system,sans-serif}.rainbow-play p{margin:0}.rainbow-play button{color:inherit;-webkit-tap-highlight-color:transparent;font-family:inherit}.rainbow-play button:focus-visible{outline-offset:5px;outline:2px solid #6442b9}.rainbow-heading h2{max-width:none}.rainbow-announcement{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden;margin:-1px!important}@media (prefers-reduced-motion:reduce){.rainbow-play *,.rainbow-play :before,.rainbow-play :after{transition:none!important;animation:none!important}}body:has(.homepage-header)>.skip{z-index:20;position:fixed}body:has(.homepage-header)>main{scroll-margin-top:var(--homepage-header-offset,132px)}.homepage-header{z-index:10;background:#fff;grid-template-columns:1fr auto;gap:14px 24px;width:100%;padding:16px max(32px,50% - 560px);display:grid;position:sticky;top:0}.homepage-header .brand{grid-area:1/1}.homepage-header .languages{grid-area:1/2;justify-self:end}.homepage-header>.main-navigation{grid-area:2/1/auto/-1;justify-content:space-between;gap:12px 24px;margin:0}.approved-homepage .home-hero{padding:72px 0 80px}.approved-homepage .home-hero h1{max-width:7ch}.approved-homepage .home-section{border-bottom:1px solid var(--line);scroll-margin-top:var(--homepage-header-offset,106px);padding:80px 0}.approved-homepage .home-introduction{grid-template-columns:.95fr 1.05fr;align-items:start;gap:64px;display:grid}.approved-homepage .home-introduction h2{max-width:16ch}.approved-homepage p{max-width:72ch}.approved-homepage .examples-introduction{max-width:760px;margin:64px 0 34px}.approved-homepage .examples-introduction h2{font-size:clamp(30px,3.4vw,42px)}.approved-homepage .home-examples{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;display:grid}.approved-homepage .home-example figure{border-bottom:4px solid var(--accent);margin-bottom:25px;padding-bottom:14px}.approved-homepage .home-example img{aspect-ratio:1.6;object-fit:contain;border:1px solid #e5e5e5}.approved-homepage .home-example h3{margin-bottom:8px;font-size:32px}.approved-homepage .project-name{color:var(--muted);margin:0 0 22px;font-size:14px}.approved-homepage .home-example>p:not(.project-name){font-size:16px;line-height:1.7}.approved-homepage .examples-outro{margin-top:42px}.approved-homepage .home-projects{gap:64px;margin-top:54px;display:grid}.approved-homepage .home-project{grid-template-columns:1.08fr .92fr;align-items:center;gap:48px;display:grid}.approved-homepage .home-project+.home-project{border-top:1px solid var(--c6);padding-top:64px}.approved-homepage .home-project:nth-child(3){border-top-color:var(--c8)}.approved-homepage .home-project figure img{border:1px solid #e5e5e5}.approved-homepage .home-project:nth-child(2){grid-template-columns:.92fr 1.08fr}.approved-homepage .home-project:nth-child(2) figure{grid-area:1/2}.approved-homepage .home-project:nth-child(2) .project-copy{grid-area:1/1}.approved-homepage .home-project h3{font-size:clamp(30px,3vw,38px)}.approved-homepage .home-about{border-top:8px solid #0000;border-image:var(--rainbow) 1}.approved-homepage .home-personal{grid-template-columns:1fr 1fr;gap:52px;margin-top:45px;display:grid}.approved-homepage .home-personal-item{border-top:3px solid var(--c8);padding-top:28px}.approved-homepage .home-personal-item h3{letter-spacing:0;margin-bottom:16px;font:600 15px/1.5 system-ui,sans-serif}.approved-homepage .personal-subtitle{letter-spacing:-.025em;max-width:22ch;font:400 32px/1.2 Georgia,serif}.approved-homepage .personal-item-0{border-color:var(--c10)}.approved-homepage :is(.personal-item-0,.personal-item-1){flex-direction:column;gap:30px;display:flex}.approved-homepage .home-social-image{width:min(100%,330px);margin-top:auto}.approved-homepage .home-social-image img{aspect-ratio:410/737;object-fit:cover;object-position:top;border:1px solid #e5e5e5;width:100%;height:auto}.approved-homepage .personal-item-2{border-color:var(--c4);grid-column:1/-1;grid-template-columns:1fr 1fr;align-items:center;gap:52px;display:grid}.approved-homepage .home-artwork{grid-template-columns:1fr 1fr;align-items:center;gap:20px;display:grid}.approved-homepage .home-artwork img{border-radius:12px}.approved-homepage .home-artwork img:nth-child(2){margin-top:60px}.approved-homepage .language-note{color:var(--muted);margin:24px auto 0;font-size:14px}.approved-homepage .closing p{margin-inline:auto}@media (width<=1000px){.approved-homepage .home-introduction{gap:36px}.approved-homepage .home-examples{gap:22px}.approved-homepage .home-project{gap:30px}.approved-homepage .home-personal{gap:32px}}@media (width<=700px){.homepage-header{gap:12px 10px;padding:13px 20px;font-size:13px}.homepage-header .brand{font-size:13px}.homepage-header .languages{gap:10px;font-size:11px}.homepage-header>.main-navigation{flex-wrap:wrap;justify-content:flex-start;gap:4px 18px;max-width:100%;padding:0}.homepage-header>.main-navigation a{align-items:center;min-height:36px;display:inline-flex}body:has(.homepage-header)>main{scroll-margin-top:var(--homepage-header-offset,180px)}.approved-homepage .home-hero{padding:48px 0}.approved-homepage .home-section{scroll-margin-top:var(--homepage-header-offset,180px);padding:55px 0}.approved-homepage .home-introduction,.approved-homepage .home-examples,.approved-homepage .home-project,.approved-homepage .home-project:nth-child(2),.approved-homepage .home-personal,.approved-homepage .personal-item-2{grid-template-columns:minmax(0,1fr);gap:28px}.approved-homepage .home-introduction h2{max-width:20ch}.approved-homepage .examples-introduction{margin-top:42px}.approved-homepage .home-examples{gap:44px}.approved-homepage .home-projects{gap:40px;margin-top:35px}.approved-homepage .home-project+.home-project{padding-top:40px}.approved-homepage .home-project:nth-child(2) figure,.approved-homepage .home-project:nth-child(2) .project-copy{grid-area:auto}.approved-homepage .home-personal{gap:42px}.approved-homepage .personal-item-2{grid-column:auto}.approved-homepage .home-social-image{max-width:100%}.approved-homepage .home-artwork{gap:14px}.approved-homepage .home-artwork img:nth-child(2){margin-top:32px}}@media (width<=360px){.homepage-header{grid-template-columns:1fr}.homepage-header .languages{grid-area:2/1;justify-self:start}.homepage-header>.main-navigation{grid-row:3}body:has(.homepage-header)>main,.approved-homepage .home-section{scroll-margin-top:var(--homepage-header-offset,220px)}}@media print{.homepage-header{position:static}.approved-homepage .home-section{break-inside:auto}.approved-homepage .home-project{break-inside:avoid}}.approved-homepage #teg-blue-project{scroll-margin-top:calc(var(--site-header-height,var(--homepage-header-offset,106px)) + 16px);display:block}.approved-homepage .home-teg-introduction{grid-template-columns:.92fr 1.08fr;align-items:start;gap:48px;display:grid}.approved-homepage .home-teg-introduction h3,.approved-homepage .home-teg-introduction p{margin:0}.approved-homepage .home-project-sites{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;margin-top:40px;display:grid}.approved-homepage .home-project-site{flex-direction:column;gap:20px;min-width:0;display:flex}.approved-homepage .home-project-sites h4{letter-spacing:0;margin:0;font:650 17px/1.45 system-ui,sans-serif}.approved-homepage .home-project-sites figure{margin:0}.approved-homepage .home-project-sites img{aspect-ratio:16/9;object-fit:contain;width:100%;height:auto}.approved-homepage .home-project-sites p{margin:0}@media (width<=700px){.approved-homepage .home-teg-introduction,.approved-homepage .home-project-sites{grid-template-columns:minmax(0,1fr);gap:28px}.approved-homepage .home-project-sites{gap:40px;margin-top:32px}}.home-three-cards .home-hero{padding:32px 0 28px}.home-three-cards .home-hero .hero-copy{grid-template-columns:1fr 1fr;column-gap:48px;display:grid}.home-three-cards .home-hero .hero-copy>h1{grid-area:2/1}.home-three-cards .home-hero .hero-copy>.intro{grid-area:3/1}.home-three-cards .home-hero .hero-explanation{grid-area:2/2/4;align-self:center;max-width:48ch;margin:0;font-size:21px;line-height:1.6}.home-three-cards .home-hero .hero-copy>.actions{grid-area:4/1/auto/-1}.home-three-cards .home-hero .kicker{margin:0 0 12px}.home-three-cards .home-hero h1{max-width:none;margin:0;font-size:clamp(52px,6.2vw,80px);line-height:1.05}.home-three-cards .home-hero .intro{max-width:52ch;margin:14px 0 0}.home-three-cards .home-hero .actions{margin-top:18px}.home-three-cards #work-with-me{padding-top:32px}.home-three-cards #work-title{max-width:none;margin:0 0 26px;font-size:clamp(32px,3.6vw,44px)}.home-three-cards .home-work-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.home-three-cards .home-work-card{color:#262626;background:#fff;border:1px solid #dededb;border-radius:5px;flex-direction:column;align-items:flex-start;gap:16px;min-width:0;padding:24px 24px 28px;text-decoration:none;display:flex;position:relative}.home-three-cards .work-card-drawing{flex:none;width:120px;height:80px}.home-three-cards .home-work-card h3{letter-spacing:-.025em;text-underline-offset:5px;margin:0 0 14px;font:400 29px/1.15 Georgia,serif;text-decoration:underline 1px #b6b6b1}.home-three-cards .home-work-card p{max-width:30ch;margin:0;font-size:17px;line-height:1.55}.home-three-cards .work-card-rainbow{background:var(--rainbow);border-radius:0 0 4px 4px;height:4px;position:absolute;bottom:0;left:0;right:0}.home-three-cards .home-work-card:hover{background:#fcfcfa;border-color:#858580}.home-three-cards .home-work-card:hover h3{text-decoration-color:currentColor}.home-three-cards .home-work-card:focus-visible{outline-offset:5px;outline:3px solid #6344bd}.home-three-cards .home-work-context{max-width:760px;margin-top:44px;display:block}.home-three-cards .home-work-context>p{font-size:21px;line-height:1.6}@media (width<=1000px){.home-three-cards .home-work-cards{gap:18px}.home-three-cards .home-work-card{padding:20px 18px 26px}.home-three-cards .home-work-card h3{font-size:26px}.home-three-cards .home-work-context{gap:36px}}@media (width<=700px){.home-three-cards .home-hero{padding:24px 0}.home-three-cards .home-hero .hero-copy{display:block}.home-three-cards .home-hero .hero-explanation{margin-top:18px;font-size:19px;line-height:1.5}.home-three-cards .home-hero h1{font-size:clamp(44px,11.5vw,56px)}.home-three-cards .home-hero .intro{margin-top:12px;font-size:19px;line-height:1.5}.home-three-cards .home-hero .actions{gap:14px 20px;margin-top:18px}.home-three-cards #work-with-me{padding-top:26px}.home-three-cards #work-title{margin-bottom:22px;font-size:32px}.home-three-cards .home-work-cards{grid-template-columns:1fr;gap:16px}.home-three-cards .home-work-card{grid-template-columns:64px minmax(0,1fr);align-items:start;gap:16px;padding:20px 18px 24px;display:grid}.home-three-cards .work-card-drawing{width:64px;height:auto;margin-top:2px}.home-three-cards .home-work-card h3{margin-bottom:10px;font-size:26px}.home-three-cards .home-work-card p{font-size:16px}.home-three-cards .home-work-context{grid-template-columns:1fr;gap:0;margin-top:34px}.home-three-cards .home-work-context>p{font-size:19px}}@media (width<=360px){.home-three-cards .home-work-card{grid-template-columns:52px minmax(0,1fr);gap:12px;padding-inline:14px}.home-three-cards .work-card-drawing{width:52px}.home-three-cards .home-work-card h3{font-size:24px}}@media (prefers-reduced-motion:reduce){.home-three-cards .home-work-card{transition:none;animation:none;transform:none}}.home-three-cards .home-work-cards{gap:22px 28px}.home-three-cards .home-work-card{border:0;border-radius:0;gap:12px;padding:16px 18px 20px}.home-three-cards .work-card-drawing{width:72px;height:48px}.home-three-cards .home-work-card h3{margin-bottom:10px;font-size:25px;text-decoration:none}.home-three-cards .home-work-card p{font-size:16px;line-height:1.5}.home-three-cards .home-work-card:hover h3{text-underline-offset:4px;text-decoration:underline 1px}.home-three-cards .work-cards-rainbow{background:var(--rainbow);grid-column:1/-1;height:4px;display:block}@media (width<=700px){.home-three-cards .home-work-cards{gap:8px}.home-three-cards .home-work-card{grid-template-columns:44px minmax(0,1fr);gap:14px;padding:14px 8px 18px}.home-three-cards .work-card-drawing{width:44px;height:auto}.home-three-cards .home-work-card h3{margin-bottom:8px;font-size:24px}.home-three-cards .work-cards-rainbow{margin-top:12px}}#service-cards{scroll-margin-top:10rem}.reading-approach{font-size:clamp(19px,2vw,23px);line-height:1.65;max-width:820px!important;margin-inline:auto!important;padding-block:36px!important}.reading-approach p+p{margin-top:24px}#selected-work>h2{margin-bottom:40px}#work-with-me{border-bottom:0!important;padding-bottom:0!important}#work-with-me .home-work-cards{margin-bottom:0!important}.reading-approach{padding-top:32px!important}.reading-approach strong{font-weight:650}html:has(.approved-homepage){scroll-padding-top:calc(var(--homepage-header-offset,136px) + 4px)}.approved-homepage section[id]{scroll-margin-top:0!important}.approved-homepage .systems-approach{border:0;border-bottom:1px solid var(--line);background:#fff;border-radius:0;margin:44px 0 0;padding:10px 18px 44px}.systems-approach .approach-label{color:#5c5c5c;max-width:none;margin:0 0 24px;font:600 14px/1.5 system-ui,sans-serif}.systems-introduction{grid-template-columns:.85fr 1.15fr;align-items:start;gap:62px;display:grid}.systems-approach h2{letter-spacing:-.035em;color:#262626;max-width:15ch;margin:0;font:400 clamp(32px,3.3vw,42px)/1.14 Georgia,serif}.systems-account{font-size:17px;line-height:1.65}.systems-account p{max-width:55ch;margin:0 0 18px}.systems-account p:last-child{margin-bottom:0}.approved-homepage .systems-approach+#selected-work{padding-top:70px}@media (width<=900px){.systems-introduction{gap:32px}.approved-homepage .systems-approach{padding:8px 18px 38px}}@media (width<=700px){.approved-homepage .systems-approach{margin-top:30px;padding:8px 8px 34px}.systems-introduction{grid-template-columns:1fr;gap:24px}.systems-approach h2{max-width:17ch;font-size:34px}.systems-approach .approach-label{margin-bottom:18px}.systems-account{font-size:16px}.approved-homepage .systems-approach+#selected-work{padding-top:48px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.connections-drawing{width:100%;max-width:410px;height:auto;margin:29px 0 0 -7px;display:block;overflow:visible}.connections-drawing text{fill:#262626;letter-spacing:-.2px;font:500 17px system-ui,sans-serif}.systems-account{color:#262626}@media (width<=700px){.connections-drawing{max-width:340px;margin:21px 0 0 -5px}.approved-homepage .systems-approach{border-radius:0}.systems-introduction{gap:25px}}.systems-account strong{font-weight:650}.approved-homepage .systems-approach{border-bottom:0;position:relative}.approach-rainbow{background:var(--rainbow);height:4px;display:block;position:absolute;bottom:0;left:0;right:0}.connections-drawing{user-select:none}.connection-node{cursor:grab;touch-action:none;outline:none}.connection-node.is-dragging{cursor:grabbing}.node-hit-area{pointer-events:all}.node-lift{transform-box:fill-box;transform-origin:50%;transition:transform .48s cubic-bezier(.22,1.2,.36,1),filter .48s}.connection-node.is-dragging .node-lift{filter:drop-shadow(0 3px 2px #26262620);transform:scale(1.045)}.connection-node:focus-visible .node-hit-area{stroke:#775de8;stroke-width:1.5px;stroke-dasharray:3 4}.connection-controls{color:#666;justify-content:space-between;align-items:center;gap:16px;max-width:410px;margin-top:10px;font:12px/1.5 system-ui,sans-serif;display:flex}.connection-reset{appearance:none;color:#444;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:5px 0 5px 8px;text-decoration:underline}.connection-reset:disabled{opacity:.35;cursor:default;text-decoration:none}.connection-reset:focus-visible{outline-offset:4px;outline:2px solid #775de8}.home-three-cards .work-card-drawing{transform-origin:50% 70%;transition:transform .65s cubic-bezier(.22,1.15,.36,1);overflow:visible}.home-work-card .icon-phone,.home-work-card .icon-swatch{transform-box:fill-box;transform-origin:50% 80%;transition:transform .7s cubic-bezier(.22,1.25,.36,1)}.home-work-card .icon-pencil{transform-box:fill-box;transform-origin:25% 85%}.home-work-card:focus-visible .work-card-drawing{transform:translateY(-3px)scale(1.035)}.home-work-card:focus-visible .icon-pencil{animation:1.05s cubic-bezier(.22,.61,.36,1) both pencil-write}.home-work-card:focus-visible .icon-phone{transform:translate(3px,-4px)rotate(4deg)}.home-work-card:focus-visible .icon-swatch{transform:translate(2px,-5px)rotate(-9deg)}@media (hover:hover) and (pointer:fine){.home-work-card:hover .work-card-drawing{transform:translateY(-3px)scale(1.035)}.home-work-card:hover .icon-pencil{animation:1.05s cubic-bezier(.22,.61,.36,1) both pencil-write}.home-work-card:hover .icon-phone{transform:translate(3px,-4px)rotate(4deg)}.home-work-card:hover .icon-swatch{transform:translate(2px,-5px)rotate(-9deg)}}@keyframes pencil-write{0%,to{transform:translate(0)rotate(0)}24%{transform:translate(-3px,-2px)rotate(-7deg)}42%{transform:translate(1px)rotate(-3deg)}60%{transform:translate(-1px,-1px)rotate(-5deg)}78%{transform:translate(2px)rotate(-2deg)}}@media (width<=700px){.connection-controls{max-width:340px}}@media (prefers-reduced-motion:reduce){.node-lift,.home-three-cards .work-card-drawing,.home-work-card .icon-phone,.home-work-card .icon-swatch,.home-work-card .icon-pencil{filter:none!important;transition:none!important;animation:none!important;transform:none!important}}
