.concept{--blue:var(--color-brand);background:var(--color-surface);color:var(--color-text);font-family:var(--font-body)}.concept a{color:inherit;text-decoration:none}.concept button{cursor:pointer}.concept p{line-height:1.65}.concept small,.manifesto,.heading p,.fine{font-family:var(--font-label);font-size:12px}.vhero{isolation:isolate;flex-direction:column;height:100svh;min-height:100svh;max-height:100svh;padding:40px 6vw 32px;display:flex;position:relative;overflow:hidden}.vhero .ascii-horse-background{z-index:-2;background:#080808;width:100%;height:100%;position:absolute;inset:0}.vhero .ascii-webgl-canvas,.vhero .ascii-horse-poster,.vhero .ascii-horse-video{width:100%;height:100%;position:absolute;inset:0}.vhero header{justify-content:space-between;align-items:center;display:flex}.vhero header a{font-size:clamp(22px,2.5vw,38px)}.vhero header small{margin-bottom:12px;display:block}.concept sup{font-size:.4em}.manifesto{max-width:420px;margin:6vh 0 3vh;font-size:clamp(12px,1.2vw,17px)}.vhero h1{font-family:var(--font-display);font-size:clamp(58px,7.2vw,124px);font-weight:var(--primitive-weight-regular);letter-spacing:-.035em;color:var(--blue);max-width:800px;margin:auto 0 76px;line-height:.97}.vhero h1 .hero-cycle{padding-left:0;display:block}.vhero h1 .hero-cycle__indent{padding-left:6vw}.hero-actions{z-index:2;justify-content:flex-end;align-items:center;gap:20px;display:flex;position:absolute;bottom:28px;left:6vw;right:6vw}.pill{background:#0c111be6;border:1px solid #67768b;border-radius:99px;min-height:50px;padding:15px 24px;display:inline-flex}.pill:hover{border-color:var(--blue);box-shadow:0 0 25px #3976f630}.menu{z-index:4;background:#101010f5;border:1px solid #343434;width:min(420px,88vw);padding:24px;position:absolute;top:110px;right:6vw}.menu a{border-bottom:1px solid #343434;padding:14px 0;font-size:24px;display:block}.block{background:#080808;border-top:1px solid #343434;padding:48px 6vw 58px;scroll-margin-top:20px;position:relative}.heading{grid-template-columns:28px 1fr 260px;align-items:start;gap:18px;margin-bottom:35px;display:grid}.heading h2,.concept #process-title,.concept #pricing-title{font-family:var(--font-heading);letter-spacing:normal;text-transform:uppercase;margin:0;font-size:clamp(20px,2.2vw,32px);font-weight:400;line-height:normal}.pricing-section .page-mark{flex:none;margin:0}.heading p{color:#aaa;text-transform:uppercase;text-align:right;margin:0;font-size:11px}.works{grid-template-columns:1.65fr 1fr;gap:22px;display:grid}.project:first-child{grid-row:span 2}.project>div{--frame-cut:20px;--frame-stroke:#eeeeee8c;aspect-ratio:1.8;clip-path:polygon(0 0, calc(100% - var(--frame-cut)) 0, 100% var(--frame-cut), 100% 100%, 0 100%);background:#161616;transition:background .25s,filter .25s;position:relative;overflow:hidden}.project>div:after{z-index:2;pointer-events:none;background:linear-gradient(var(--frame-stroke) 0 0) top left / calc(100% - var(--frame-cut)) 1px no-repeat, linear-gradient(45deg, transparent calc(50% - .5px), var(--frame-stroke) calc(50% - .5px), var(--frame-stroke) calc(50% + .5px), transparent calc(50% + .5px)) top right / var(--frame-cut) var(--frame-cut) no-repeat, linear-gradient(var(--frame-stroke) 0 0) right bottom / 1px calc(100% - var(--frame-cut)) no-repeat, linear-gradient(var(--frame-stroke) 0 0) bottom / 100% 1px no-repeat, linear-gradient(var(--frame-stroke) 0 0) left / 1px 100% no-repeat;content:"";position:absolute;inset:0}.project:is(:hover,:focus-visible)>div{--frame-stroke:var(--blue);filter:drop-shadow(0 0 1px #3976f6f2)drop-shadow(0 0 16px #3976f6cc)}.project:first-child>div{aspect-ratio:.98}.project img{object-fit:cover;filter:grayscale();width:100%;height:100%;transition:transform .6s;display:block}.project:hover img{transform:scale(1.025)}.project>div span{color:#fff;font-family:var(--font-label);background:#000b;padding:5px 8px;font-size:10px;position:absolute;top:14px;left:14px}.project h3{margin:14px 0;font-size:15px;font-weight:400}.project h3 span{float:right}.service{border-top:1px solid #343434}.service:last-child{border-bottom:1px solid #343434}.service-summary{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:none;grid-template-columns:40px 1fr 30% 30px;align-items:center;gap:24px;min-height:min-content;margin:0;padding:22px 0;display:grid}.service[data-selected=true] b{display:inline-block;transform:rotate(45deg)}.service-drawer{grid-template-rows:0fr;min-height:0;display:grid}.service[data-selected=true] .service-drawer{flex:auto;grid-template-rows:1fr;min-height:0}.service-drawer__inner{min-height:0;overflow:hidden}.service[data-selected=true] .service-drawer__inner{overscroll-behavior:contain;place-items:center;padding:clamp(20px,4vh,48px) 0;display:grid;overflow:auto}.service-card{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:center;gap:clamp(32px,5vw,72px);width:min(100%,1120px);display:grid}.service-card__media{--frame-cut:20px;--frame-stroke:#eeeeee8c;clip-path:polygon(0 0, calc(100% - var(--frame-cut)) 0, 100% var(--frame-cut), 100% 100%, 0 100%);background:#161616;position:relative;overflow:hidden}.service-card__media:after{z-index:2;pointer-events:none;background:linear-gradient(var(--frame-stroke) 0 0) top left / calc(100% - var(--frame-cut)) 1px no-repeat, linear-gradient(45deg, transparent calc(50% - .5px), var(--frame-stroke) calc(50% - .5px), var(--frame-stroke) calc(50% + .5px), transparent calc(50% + .5px)) top right / var(--frame-cut) var(--frame-cut) no-repeat, linear-gradient(var(--frame-stroke) 0 0) right bottom / 1px calc(100% - var(--frame-cut)) no-repeat, linear-gradient(var(--frame-stroke) 0 0) bottom / 100% 1px no-repeat, linear-gradient(var(--frame-stroke) 0 0) left / 1px 100% no-repeat;content:"";position:absolute;inset:0}.service-card__media img{object-fit:cover;width:100%;height:clamp(240px,34svh,420px);display:block}.service-card__copy p{color:#ccc;max-width:54ch;font-family:var(--font-body);margin:0;font-size:clamp(15px,1.15vw,18px);line-height:1.7}.service-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px;display:flex}.service-action{--frame-cut:12px;--frame-stroke:#eeeeee8c;color:#eee;clip-path:polygon(0 0, calc(100% - var(--frame-cut)) 0, 100% var(--frame-cut), 100% 100%, 0 100%);background:#080808;text-decoration:none;display:inline-flex;position:relative}.service-action span{min-height:44px;font-family:var(--font-body);align-items:center;padding:0 16px;font-size:13px;line-height:1;display:inline-flex}.service-action:not(.service-action--primary):after{z-index:2;pointer-events:none;background:linear-gradient(var(--frame-stroke) 0 0) top left / calc(100% - var(--frame-cut)) 1px no-repeat, linear-gradient(45deg, transparent calc(50% - .5px), var(--frame-stroke) calc(50% - .5px), var(--frame-stroke) calc(50% + .5px), transparent calc(50% + .5px)) top right / var(--frame-cut) var(--frame-cut) no-repeat, linear-gradient(var(--frame-stroke) 0 0) right bottom / 1px calc(100% - var(--frame-cut)) no-repeat, linear-gradient(var(--frame-stroke) 0 0) bottom / 100% 1px no-repeat, linear-gradient(var(--frame-stroke) 0 0) left / 1px 100% no-repeat;content:"";position:absolute;inset:0}.service-action--primary{color:#080808;background:var(--blue)}.service-action--primary span{padding:0 18px}.service-actions a{margin-top:0}.service-actions a.service-action{color:#eee;display:inline-flex}.service-actions a.service-action--primary,.service-actions a.service-action--primary:hover{color:#080808}.service-actions a.service-action--primary:focus-visible{color:#080808}.service h2{font-family:var(--font-functional);font-size:clamp(38px,6vw,85px);font-weight:var(--primitive-weight-regular);text-transform:uppercase;color:var(--blue);margin:0;line-height:1.05}.service-summary p{font-family:var(--font-body);max-width:220px;font-size:15px;line-height:1.6}.service b{font-size:28px;line-height:1}.service>.service-drawer{max-width:none;margin:0}.service[open] b{transform:rotate(45deg)}.service a,.statement a{color:var(--blue);margin-top:15px;display:inline-block}.four{grid-template-columns:repeat(4,1fr);gap:30px;display:grid}.four h3{font-size:18px;font-weight:500}.four p{font-family:var(--font-body);color:#aaa;max-width:250px;font-size:14px;line-height:1.7}.statement{grid-template-columns:1fr 1fr;align-items:center;gap:50px;margin-top:65px;display:grid}.statement h2,.contact-intro h2{font-family:var(--font-heading);font-size:clamp(48px,7vw,100px);font-weight:var(--primitive-weight-regular);letter-spacing:-.025em;color:var(--blue);margin:0;line-height:1}.statement p{max-width:330px;font-family:var(--font-body);font-size:15px;line-height:1.7}.four .price{font-family:var(--font-heading);color:#eee;max-width:none;font-size:22px}.fine{color:#aaa;margin-top:30px;font-size:11px}.terms{border-top:1px solid #343434;margin-top:28px;padding-top:20px}.terms summary{cursor:pointer}.terms p{color:#aaa;max-width:800px;font-size:14px}.contact-intro{border-top:1px solid #343434;padding:65px 6vw 0}.contact-intro h2{margin-top:24px}.concept .contact-section{color:#eee;background:#080808;min-height:auto;padding:0 6vw 28px}.concept .contact-close{border-top:1px solid #343434;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);align-items:end;gap:clamp(40px,8vw,120px);padding:36px 0;display:grid}.concept .contact-close h2{max-width:12ch;font-family:var(--font-display);letter-spacing:-.03em;text-transform:uppercase;margin:0;font-size:clamp(40px,5vw,72px);font-weight:400;line-height:.95}.concept .contact-close__intro p{color:#aaa;max-width:48ch;margin:24px 0 0;font-size:15px;line-height:1.6}.concept .contact-close__actions{gap:12px;display:grid}.concept .contact-close__actions .contact-action{width:100%}.concept .contact-actions{gap:12px;display:grid}.concept .contact-action{color:#eee;width:100%;font-family:var(--font-body);font-size:13px;font-weight:var(--primitive-weight-medium);text-align:left;text-transform:uppercase;background:0 0;border:1px solid #4a4a4a;justify-content:space-between;align-items:center;gap:24px;padding:20px 22px;line-height:1.2;transition:color .18s ease-out,background-color .18s ease-out,border-color .18s ease-out;display:flex}.concept .contact-action:is(:hover,:focus-visible),.concept .contact-action--primary{border-color:var(--blue);color:#080808;background:var(--blue);outline:none}.concept .contact-action--primary:is(:hover,:focus-visible){color:#eee;background:0 0}.concept .contact-field input,.concept .contact-field textarea{color:#eee;background:#101216;border:1px solid #444b55;border-radius:4px;padding:12px}.concept .contact-form__hint{color:#aaa}.concept a:hover{color:var(--blue)}.concept :focus-visible{outline:2px solid var(--blue);outline-offset:6px}.assistant-chat{z-index:100;position:fixed;bottom:clamp(16px,2.5vw,32px);right:clamp(16px,2.5vw,32px)}.assistant-chat .assistant-chat__launcher{border-radius:999px;justify-content:center;align-items:center;width:68px;height:68px;padding:0;font-size:15px;transition:width .3s cubic-bezier(.25,1,.5,1);display:inline-flex}.assistant-chat__launcher .shiny-button__content{justify-content:center;align-items:center;display:flex}.assistant-chat__launcher .shiny-button__label{white-space:nowrap;opacity:0;max-width:0;transition:max-width .3s,opacity .18s,margin .3s;overflow:hidden}.assistant-chat__launcher svg{stroke-width:1.8px;flex-shrink:0;width:27px;height:27px}.assistant-chat .assistant-chat__launcher:is(:hover,:focus-visible){width:248px}.assistant-chat__launcher:is(:hover,:focus-visible) .shiny-button__label{opacity:1;max-width:180px;margin-left:10px}@media (prefers-reduced-motion:reduce){.assistant-chat .assistant-chat__launcher,.assistant-chat__launcher .shiny-button__label{transition:none}}.assistant-chat__dialog{border:2px solid var(--color-brand);background:var(--color-surface);border-radius:22px;width:min(560px,100vw - 32px);max-width:none;height:min(760px,100dvh - 112px);max-height:none;margin:0;padding:0;position:fixed;inset:auto clamp(16px,2.5vw,32px) calc(clamp(16px,2.5vw,32px) + 84px) auto;overflow:hidden;box-shadow:0 0 0 1px #a7c5ff2e,0 0 34px #3976f647,0 32px 90px #00000085}.assistant-chat__dialog>div{background:linear-gradient(145deg, #3976f62e 0%, var(--color-surface) 38%);height:100%;min-height:0;padding:10px}.assistant-chat__dialog{text-align:left}.concept .assistant-chat__dialog textarea{text-align:left;vertical-align:top}.concept .assistant-chat__dialog textarea:focus-visible{box-shadow:none;outline:none}@media (max-width:520px){.assistant-chat{bottom:16px;right:16px}.assistant-chat__dialog{width:auto;height:auto;position:fixed;inset:12px 12px 96px}}@media (max-width:800px){.heading{grid-template-columns:24px 1fr}.heading p{text-align:left;grid-column:2}.service-summary{grid-template-columns:22px 1fr 24px;gap:12px}.service-summary p{display:none}.service-card{grid-template-columns:1fr;align-content:center;gap:20px}.service-card__media img{height:clamp(170px,25svh,260px)}.service[data-selected=true] .service-drawer__inner{place-items:start stretch;padding-block:16px 20px}.four{grid-template-columns:1fr 1fr}.statement{gap:24px}.concept .contact-close__actions,.concept .contact-close__actions .contact-action{width:100%}.concept .contact-close{grid-template-columns:1fr;align-items:start}}@media (max-width:520px){.manifesto{font-size:10px}.vhero h1{font-size:clamp(58px,14vw,78px)}.works{grid-template-columns:1fr}.project:first-child>div{aspect-ratio:1.2}.block{padding:35px 6vw}.statement{grid-template-columns:1fr}.hero-actions{font-size:12px}.concept footer nav{gap:16px}}@media (prefers-reduced-motion:reduce){.concept *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.assistant-chat{right:max(clamp(16px, 2.5vw, 32px), env(safe-area-inset-right));bottom:max(clamp(16px, 2.5vw, 32px), env(safe-area-inset-bottom))}.assistant-chat__dialog{overscroll-behavior:contain}@media (hover:none){.assistant-chat .assistant-chat__launcher:hover{width:68px}.assistant-chat__launcher:hover .shiny-button__label{opacity:0;max-width:0;margin-left:0}}@media (max-width:520px){.assistant-chat__dialog{inset:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left))}}.assistant-chat:has(.assistant-chat__dialog){z-index:110}@media (max-width:520px){.assistant-chat:has(.assistant-chat__dialog) .assistant-chat__launcher{display:none}}.project img{filter:grayscale();transition:filter .45s,transform .6s}:is(.project:hover img,.project:focus-visible img){filter:grayscale(0)}.work-scene{background:#080808;position:relative}#work,#services{border-top:0}@media (prefers-reduced-motion:no-preference){.hero-transition{isolation:isolate;min-height:320svh;display:grid}.hero-transition>.vhero,.hero-transition>#services{grid-area:1/1;align-self:start;position:sticky;top:0}.hero-transition>.vhero{z-index:1;will-change:clip-path, transform;background:#080808}.hero-transition>#services{z-index:0;overflow-x:clip}.hero-transition .service{will-change:transform, opacity}}.scroll-enabled{height:100svh;overflow:hidden}.scroll-enabled #work{flex-direction:column;height:100%;padding-top:32px;padding-bottom:24px;display:flex}.scroll-enabled .works{will-change:transform;flex:1;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:40vw 26vw 34vw 26vw 38vw;gap:24px 40px;width:100%;min-height:0;display:grid}.scroll-enabled .project{flex-direction:column;min-width:0;min-height:0;display:flex}.scroll-enabled .project:first-child{grid-area:1/1/3/2;padding-bottom:5svh}.scroll-enabled .project:nth-child(2){grid-area:1/2/2/3;margin-right:3vw}.scroll-enabled .project:nth-child(3){grid-area:2/2/3/3;margin-left:3vw}.scroll-enabled .project:nth-child(4){grid-area:1/3/3/4;padding-top:10svh;padding-bottom:3svh}.scroll-enabled .project:nth-child(5){grid-area:1/4/2/5;margin-left:2vw}.scroll-enabled .project:nth-child(6){grid-area:2/4/3/5;margin-right:3vw}.scroll-enabled .project:nth-child(7){grid-area:1/5/3/6;padding-top:3svh;padding-bottom:9svh}.scroll-enabled .project>div,.scroll-enabled .project:first-child>div{aspect-ratio:auto;flex:1;min-height:0}.scroll-enabled .project h3{flex-shrink:0;margin-bottom:0}#services{overflow-anchor:none;grid-template-rows:auto 1fr;min-height:100svh;display:grid}.services-accordion{align-self:center;width:100%;padding-block:24px}.services-accordion[data-open=true]{flex-direction:column;align-self:stretch;height:100%;min-height:0;padding-block:0;display:flex}#services:has(.services-accordion[data-open=true]){height:100svh;max-height:100svh;padding-top:24px;padding-bottom:12px;overflow:hidden}#services:has(.services-accordion[data-open=true]) .heading{margin-bottom:12px}.services-accordion[data-open=true] .service[data-selected=true]{flex-direction:column;flex:auto;order:-1;min-height:0;display:flex}.services-accordion[data-open=true] .service[data-selected=true]>.service-summary{flex:none;min-height:min-content}.services-accordion[data-open=true] .service:not([data-selected=true]){flex:none;order:1}.services-accordion[data-open=true] .service:not([data-selected=true]) h2{font-size:clamp(28.5px,4.5vw,63.75px)}.services-accordion[data-open=true] .service:not([data-selected=true]) .service-summary{padding-block:16.5px}.services-accordion[data-open=true] .service:not([data-selected=true]) b{font-size:21px}.service[data-selected=true]{border-top-color:#0000}.service:has(.service-summary:hover){border-top-color:#0000}.service:has(.service-summary:focus-visible){border-top-color:#0000}.service[data-selected=true] .service-summary:before{transform:translateY(0)}.service[data-selected=true] .service-summary,.service[data-selected=true] .service-summary h2{color:#080808}.service-summary{isolation:isolate;position:relative;overflow:hidden}.service-summary:before{content:"";background:var(--blue);--frame-cut:20px;clip-path:polygon(0 0, calc(100% - var(--frame-cut)) 0, 100% var(--frame-cut), 100% 100%, 0 100%);z-index:-1;transition:transform .45s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;transform:translateY(100%)}.service-summary h2{transform-origin:0;transition:transform .35s,color .35s,font-size .6s cubic-bezier(.22,1,.36,1)}.service-summary:hover:before{transform:translateY(0)}.service-summary:focus-visible:before{transform:translateY(0)}:is(.service-summary:hover,.service-summary:focus-visible){color:#080808}:is(.service-summary:hover h2,.service-summary:focus-visible h2){color:#080808;transform:scale(1.035)}.v1-dark{color:#eee;background:#080808;position:relative}.concept .v1-dark .site-screen--orange,.concept .v1-dark .practice-page,.concept .v1-dark .pricing-section{color:#eee;background:#080808}.v1-dark .practice-title,.v1-dark h2,.v1-dark h3,.v1-dark h4{font-family:var(--font-display)}.concept .v1-dark #included-title{color:#0000;-webkit-text-fill-color:transparent;-webkit-text-stroke:1.25px #eee;max-width:8.5ch}.concept .v1-dark #included .practice-lead,.concept .v1-dark #included .practice-list{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:16px}.v1-dark .practice-list li,.v1-dark .practice-note,.v1-dark .practice-lead{color:#ccc}.v1-dark .pricing-section [class*=text-black]{color:#bbb}.v1-dark .pricing-section [class*=border-black]{border-color:#343434}.v1-dark .pricing-section article{color:#eee;background:#141414}.v1-dark .pricing-section a{color:#eee}.v1-dark .pricing-section [class*="text-[#0c3d91]"]{color:var(--blue)}@media (max-width:900px),(prefers-reduced-motion:reduce){.work-scene #services{clip-path:none}.works{grid-template-columns:repeat(2,minmax(0,1fr))}.project:first-child{grid-row:auto}.project:first-child>div{aspect-ratio:1.8}.service-summary h2{transform:none!important}}@media (max-width:520px){.works{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.service-summary:before,.service-summary h2,.project img{transition:none}}
