*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#111;--text:#fff;--text-muted:#ffffff73;--text-secondary:#ffffffbf;--link-color:#5b6ef5;--border:#ffffff1a;--serif:"Apple Garamond", Garamond, Georgia, "Times New Roman", serif;--sans:"Inter", system-ui, -apple-system, sans-serif}html{background-color:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:300}body{background-color:var(--bg)}#root{width:100%}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:var(--sans)}.page{max-width:540px;margin:0 auto;padding:0 28px}.hero{text-align:center;padding-top:88px;padding-bottom:80px}.hero h1{font-family:var(--serif);letter-spacing:-.5px;color:var(--text);margin-bottom:14px;font-size:48px;font-weight:400;line-height:1.08}.hero-subtitle{color:var(--text-secondary);margin-bottom:28px;font-size:15px;font-weight:300;line-height:1.5}.hero-link{color:var(--link-color)}.hero-nav{justify-content:center;align-items:center;gap:0;display:flex}.hero-nav-link{color:var(--text-secondary);align-items:center;gap:7px;padding:0 16px;font-size:13.5px;font-weight:300;transition:color .15s;display:flex}.hero-nav-link:first-child{padding-left:0}.hero-nav-link:hover{color:var(--text)}.hero-nav-icon{opacity:.65;align-items:center;display:flex}.hero-nav-img{object-fit:contain;opacity:.65;width:14px;height:14px}.hero-nav-icon-swap{width:14px;height:14px;display:flex;position:relative}.hero-nav-icon-swap .hero-nav-img{transition:opacity .15s;position:absolute;top:0;left:0}.hero-nav-icon-swap .hero-nav-img.default{opacity:.65}.hero-nav-icon-swap .hero-nav-img.hover,.hero-nav-link:hover .hero-nav-icon-swap .hero-nav-img.default{opacity:0}.hero-nav-link:hover .hero-nav-icon-swap .hero-nav-img.hover{opacity:1}.hero-nav-pipe{color:#ffffff2e;-webkit-user-select:none;user-select:none;font-size:14px}.section{margin-bottom:72px}.section-heading{font-family:var(--serif);letter-spacing:-.15px;color:var(--text);margin-bottom:20px;font-size:22px;font-weight:400;line-height:1.2}.body-text{color:var(--text-secondary);font-size:14.5px;font-weight:300;line-height:1.65}.inline-widget{display:inline;position:relative}.inline-widget-trigger{color:var(--text);text-underline-offset:3px;cursor:pointer;-webkit-text-decoration:underline #ffffff59;text-decoration:underline #ffffff59;text-decoration-thickness:1px}.inline-widget-card{z-index:300;pointer-events:all;background:#1c1c1e;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;gap:7px;width:288px;padding:14px 16px;display:flex;box-shadow:0 12px 32px #00000080}.preview-meta{align-items:center;gap:7px;display:flex}.preview-favicon{border-radius:3px;flex-shrink:0;width:14px;height:14px}.preview-domain{color:#fff6;font-size:12px;font-weight:300}.preview-title{color:var(--text);font-size:13px;font-weight:500;line-height:1.4;display:block}.preview-desc{color:#ffffff73;font-size:12px;font-weight:300;line-height:1.55;display:block}.entry-list{border-top:1px solid var(--border);list-style:none}.entry-item{border-bottom:1px solid var(--border);padding:13px 0 14px}.entry-role{color:var(--text-muted);letter-spacing:.1px;margin-bottom:6px;font-size:11px;font-weight:300;transition:color .2s}.entry-item:hover .entry-role{color:var(--role-color)}.entry-description{grid-template-rows:0fr;margin-top:0;transition:grid-template-rows .25s,margin-top .25s;display:grid}.entry-description-inner{color:#ffffff80;font-size:13px;font-weight:300;line-height:1.6;overflow:hidden}.entry-item:hover .entry-description{grid-template-rows:1fr;margin-top:9px}.entry-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.entry-company{align-items:center;gap:4px;display:flex}.entry-link-icon{color:#fff6;opacity:0;align-items:center;margin-left:4px;transition:opacity .15s;display:flex}.entry-item:hover .entry-link-icon{opacity:1}.entry-link-icon:hover{color:#ffffffb3}.entry-logo{object-fit:contain;flex-shrink:0;width:18px;height:18px}.entry-name{color:var(--text);letter-spacing:.05px;font-size:14px;font-weight:400}.entry-meta{color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-size:13px;font-weight:300}.project-name{color:var(--text);letter-spacing:.05px;font-size:14px;font-weight:400}.case-image{border-radius:10px;width:100%;margin-bottom:72px;display:block}.block-quote{border-left:1.5px solid #ffffff2e;margin-bottom:72px;padding:2px 0 2px 20px}.block-quote-text{font-family:var(--sans);letter-spacing:-.2px;color:#ffffffb3;font-size:19px;font-style:normal;font-weight:300;line-height:1.55}.testimonial-heading{font-family:var(--serif);letter-spacing:-.2px;color:var(--text);margin-bottom:22px;font-size:24px;font-weight:400;line-height:1.2}.testimonial-body{position:relative}.testimonial-slide{width:100%;position:absolute;top:0;left:0}.testimonial-slide:first-child{position:relative}.quote{color:var(--text-secondary);margin-bottom:20px;font-size:14.5px;font-weight:300;line-height:1.7}.attribution{color:var(--text-muted);margin-bottom:13px;font-size:11.5px;font-weight:300}.dots{gap:5px;display:flex}.dot{cursor:pointer;background:#ffffff38;border:none;border-radius:3px;width:22px;height:5px;padding:0;transition:background .2s}.dot.active{background:#ffffff8c}.dot:hover:not(.active){background:#ffffff59}.hover-word{text-underline-offset:3px;cursor:default;-webkit-text-decoration:underline dotted #ffffff4d;text-decoration:underline dotted #ffffff4d}.tap-preview-circle{pointer-events:none;z-index:9999;border-radius:50%;width:80px;height:80px;animation:3.2s cubic-bezier(.4,0,.6,1) forwards tapPreview;position:fixed;overflow:hidden}.tap-preview-circle img{object-fit:cover;width:100%;height:100%;display:block}@keyframes tapPreview{0%{opacity:0}20%{opacity:1}to{opacity:0}}.personally-body{flex-direction:column;gap:20px;display:flex}.cta-button{width:100%;color:var(--text);letter-spacing:.1px;text-align:center;background:0 0;border:1px solid #ffffff2e;margin-top:22px;padding:15px;font-size:14.5px;font-weight:400;transition:background .15s,border-color .15s;display:block}.cta-button:hover{background:#ffffff0d;border-color:#ffffff4d}.site-footer{border-top:1px solid var(--border);margin-top:40px;padding:32px 0 48px}.footer-inner{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.footer-name{color:var(--text-muted);letter-spacing:.05px;font-size:13px;font-weight:300}.footer-nav{align-items:center;gap:8px;display:flex}.footer-link{color:var(--text-muted);font-size:13px;font-weight:300;transition:color .15s}.footer-link:hover{color:var(--text)}.footer-dot{color:#ffffff2e;-webkit-user-select:none;user-select:none;font-size:13px}.footer-copy{color:#fff3;font-size:11px;font-weight:300}.resume-page{color:#111;background:#fff;min-height:100vh;padding:36px 28px 60px}.resume-actions{justify-content:flex-end;gap:8px;max-width:700px;margin:0 auto 20px;display:flex}.resume-share-btn{color:#888;font-family:var(--sans);cursor:pointer;background:0 0;border:1px solid #ddd;align-items:center;gap:5px;padding:5px 12px;font-size:11px;font-weight:400;text-decoration:none;transition:border-color .15s,color .15s;display:flex}.resume-share-btn:hover{color:#111;border-color:#999}.resume-print-btn{color:#888;font-family:var(--sans);cursor:pointer;background:0 0;border:1px solid #ddd;padding:5px 12px;font-size:11px;font-weight:400;transition:border-color .15s,color .15s}.resume-print-btn:hover{color:#111;border-color:#999}.resume-doc{max-width:700px;margin:0 auto}.resume-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.resume-name{font-family:var(--serif);letter-spacing:-.3px;color:#111;margin-bottom:3px;font-size:28px;font-weight:400;line-height:1}.resume-title{font-family:var(--sans);color:#666;font-size:11.5px;font-weight:300}.resume-header-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.resume-contact-link{color:#777;font-size:11px;font-weight:300;text-decoration:none;transition:color .15s}.resume-contact-link:hover{color:#111}.resume-rule{border:none;border-top:1.5px solid #5b6ef5;margin-bottom:10px}.resume-rule-light{border:none;border-top:1px solid #e8e8e8;margin:10px 0}.resume-summary{color:#444;margin-bottom:0;font-size:12px;font-weight:300;line-height:1.6}.resume-section{margin-bottom:0}.resume-section-heading{font-family:var(--sans);letter-spacing:1.2px;text-transform:uppercase;color:#777;margin-top:10px;margin-bottom:8px;font-size:9px;font-weight:500}.resume-entry{margin-bottom:14px}.resume-entry-header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:2px;display:flex}.resume-company{color:#111;font-size:12.5px;font-weight:500}.resume-role{color:#444;font-size:12px;font-weight:300}.resume-period{color:#777;white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:300}.resume-bullets{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.resume-bullets li{color:#444;border-left:1.5px solid #ddd;padding-left:8px;font-size:11.5px;font-weight:300;line-height:1.55}.resume-skill-lines{flex-direction:column;gap:4px;display:flex}.resume-skill-line{color:#333;font-size:11.5px;font-weight:300;line-height:1.55}.resume-skill-cat{color:#111;margin-right:10px;font-size:12.5px;font-weight:500}@media print{.resume-actions{display:none}.resume-page{padding:18px 28px}.resume-doc{max-width:100%}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@keyframes pageExit{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-12px)scale(.997)}}.page-exiting .page-inner{pointer-events:none;animation:.26s cubic-bezier(.4,0,1,1) both pageExit}.entry-item--linked{cursor:pointer;-webkit-user-select:none;user-select:none}.entry-item--linked *{cursor:pointer}.entry-item--expanded .entry-description{grid-template-rows:1fr;margin-top:9px}.entry-item--expanded .entry-role{color:var(--role-color)}.entry-item--expanded .entry-link-icon{opacity:1}.entry-cta-mobile{display:none}@media (hover:none) and (pointer:coarse){.entry-cta-mobile{color:var(--text-muted);border:1px solid var(--border);letter-spacing:.3px;cursor:pointer;background:0 0;border-radius:20px;margin-top:14px;padding:7px 18px;font-size:12px;font-weight:400;transition:opacity .2s;display:inline-block}.entry-cta-mobile:active{opacity:.6}.entry-arrow{display:none}.entry-link-icon{pointer-events:none}.entry-item--expanded .entry-link-icon{pointer-events:auto}}@media (prefers-reduced-motion:no-preference){::view-transition-old(root){animation-duration:0s}::view-transition-new(root){animation-duration:0s}::view-transition-group(active-tile){animation-duration:.48s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(active-tile){animation-duration:.24s;animation-timing-function:ease-out}::view-transition-new(active-tile){animation-duration:.24s;animation-timing-function:ease-in;animation-delay:.24s}}.modal-backdrop{-webkit-backdrop-filter:blur(14px);z-index:10000;background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{background:#111;border:1px solid #ffffff12;border-radius:20px;width:100%;max-width:460px;padding:44px 40px 36px;animation:.32s cubic-bezier(.34,1.4,.64,1) forwards modalIn;position:relative}@keyframes modalIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes modalUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (width<=520px){.modal-backdrop{align-items:flex-end;padding:0}.modal-card{border-radius:24px 24px 0 0;padding:36px 24px 44px;animation:.36s cubic-bezier(.32,1.2,.64,1) forwards modalUp}}.modal-close{color:#ffffff40;cursor:pointer;background:0 0;border:none;padding:6px;font-size:14px;line-height:1;transition:color .15s;position:absolute;top:18px;right:20px}.modal-close:hover{color:#fff9}.modal-title{font-family:var(--serif);color:var(--text);margin-bottom:6px;font-size:28px;font-weight:400}.modal-subtitle{color:var(--text-muted);margin-bottom:40px;font-size:13px;font-weight:300}.modal-field{margin-bottom:36px;position:relative}.modal-input{width:100%;color:var(--text);font-family:var(--sans);resize:none;background:0 0;border:none;outline:none;padding:22px 0 8px;font-size:14px;font-weight:300;display:block}.modal-line{background:#ffffff1a;height:1px;transition:background .2s;display:block}.modal-field:focus-within .modal-line{background:#ffffff59}.modal-label{font-family:var(--sans);color:#ffffff40;pointer-events:none;transform-origin:0 0;font-size:14px;font-weight:300;transition:transform .22s,font-size .22s,letter-spacing .22s,color .22s;position:absolute;top:22px;left:0}.modal-input:focus+.modal-label,.modal-input:not(:placeholder-shown)+.modal-label{letter-spacing:.08em;text-transform:uppercase;color:#ffffff59;font-size:10px;transform:translateY(-18px)}.modal-footer{justify-content:flex-end;padding-top:4px;display:flex}.modal-submit{color:var(--text);font-family:var(--sans);letter-spacing:.02em;cursor:pointer;opacity:.75;background:0 0;border:none;padding:0;font-size:14px;font-weight:400;transition:opacity .15s}.modal-submit:hover:not(:disabled){opacity:1}.modal-submit:disabled{opacity:.35;cursor:default}.modal-line--error{background:#ff5a5a80!important}.modal-field-error{color:#ff6464b3;margin-top:5px;font-size:11px;font-weight:300;display:block}.modal-error{color:#ff6464bf;text-align:right;margin-bottom:14px;font-size:12px;font-weight:300}.modal-success{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:200px;animation:.5s forwards fadeIn;display:flex}.modal-success-mark{color:#ffffff80;margin-bottom:20px;font-size:24px;display:block}.modal-success-msg{font-family:var(--serif);color:var(--text-secondary);font-size:22px;font-weight:400;line-height:1.5}.hero-nav-btn{cursor:pointer;color:var(--text-secondary);font-family:inherit;font-size:13.5px;font-weight:300;line-height:inherit;background:0 0;border:none;padding:0 16px}.hero-nav-btn:hover{color:var(--text)}.case-back-nav{border-bottom:1px solid var(--border);align-items:center;gap:12px;margin-bottom:40px;padding-bottom:20px;display:flex}.back-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:18px;line-height:1;transition:color .15s}.back-btn:hover{color:var(--text)}.case-company{font-family:var(--serif);color:var(--text);letter-spacing:-.15px;font-size:22px;font-weight:400}.case-period{color:var(--text-muted);margin-left:auto;font-size:13px;font-weight:300}.case-intro{flex-direction:column;gap:20px;display:flex}.pull-quote-card{background:#0c2318;border-radius:12px;align-items:flex-start;gap:20px;margin-bottom:10px;padding:22px 24px;display:flex}.pull-quote-text{flex:1;min-width:0}.pull-quote-body{color:#ffffffbf;margin-bottom:12px;font-size:12.5px;font-style:italic;font-weight:300;line-height:1.65}.pull-quote-attr{color:#fff6;font-size:11px;font-weight:300}.pull-quote-headshot{background:#ffffff14;border-radius:8px;flex-shrink:0;width:72px;height:72px}.media-caption{justify-content:space-between;align-items:center;margin-bottom:48px;display:flex}.media-caption-text{color:var(--text-muted);font-size:11.5px;font-weight:300}.media-caption-share{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;transition:color .15s;display:flex}.media-caption-share:hover{color:var(--text)}.case-items{flex-direction:column;gap:22px;display:flex}.case-item h3{color:var(--text);letter-spacing:.05px;margin-bottom:5px;font-size:14px;font-weight:500}.case-item p{color:var(--text-secondary);font-size:14px;font-weight:300;line-height:1.65}.product-banner{text-align:center;background:#0c2318;border-radius:12px;margin-bottom:10px;padding:32px 28px 28px}.banner-tagline{color:#fff6;letter-spacing:.3px;margin-bottom:14px;font-size:11px;font-weight:300}.banner-heading{font-family:var(--serif);color:var(--text);letter-spacing:-.3px;margin-bottom:22px;font-size:30px;font-weight:400;line-height:1.18}.banner-cta{color:var(--text);cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;margin-bottom:28px;padding:9px 18px;font-size:13px;font-weight:400;text-decoration:none;transition:background .15s,border-color .15s;display:inline-block}.banner-cta:hover{background:#ffffff29;border-color:#ffffff59}.banner-logos{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;display:flex}.banner-logos span{letter-spacing:.8px;color:#ffffff59;font-size:10px;font-weight:500}
