.v8{--paper: #f6f3ec;--ink: #17150f;--mute: #6d675b;--line: #d8d1c2;--faint: #efeade;--red: #c3361a;--serif: "Fraunces", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--sans: "Inter", -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--ease: cubic-bezier(.4, 0, .2, 1);--gutter: clamp(20px, 5vw, 56px);--wide: 1160px;--measure: 34rem;--lead: 1.62;--air-1: 6px;--air-2: 12px;--air-3: 20px;--air-head: clamp(26px, 3.4vw, 40px);--air-block: clamp(44px, 5.4vw, 68px);--air-section: clamp(66px, 9vw, 120px);--t-label: 13px;--t-small: 15px;--t-body: 17px;--t-lede: 21px;--t-head: clamp(25px, 2.7vw, 30px);--t-display: clamp(38px, 5vw, 52px);background:var(--paper);color:var(--ink);font:400 var(--t-body) / var(--lead) var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh}.v8 a{color:inherit;text-decoration:none}:where(.v8) :where(p,h1,h2,h3,ul,dl,figure){margin:0}:where(.v8) :where(h1,h2,h3){font-weight:500}.v8-skip{position:absolute;left:-9999px;top:0}.v8-skip:focus{left:12px;top:12px;z-index:40;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:4px;font-size:var(--t-label)}.v8 :focus-visible{outline:2px solid var(--red);outline-offset:3px}.v8-main,.v8-footer{max-width:var(--wide);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}.v8-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(30px,4.4vw,64px);align-items:start;padding:clamp(40px,8vh,88px) 0 0}.v8-eyebrow{font-size:var(--t-label);font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--red);margin-bottom:var(--air-3)}.v8-display{font-family:var(--serif);font-variation-settings:"opsz" 48,"wght" 500;font-size:var(--t-display);line-height:1.04;letter-spacing:-.022em;text-wrap:balance}.v8-claim{margin-top:var(--air-head);max-width:26ch;font-family:var(--serif);font-variation-settings:"opsz" 30,"wght" 400;font-size:var(--t-head);line-height:1.24;letter-spacing:-.012em;text-wrap:balance}.v8-lede{margin-top:var(--air-block);max-width:var(--measure);color:var(--mute)}.v8-lede+.v8-lede{margin-top:calc(var(--lead) * 1em)}.v8-hero-links{margin-top:var(--air-block);display:flex;flex-wrap:wrap;gap:var(--air-2) 28px;font-size:var(--t-small);font-weight:500}.v8 .v8-link-strong{border-bottom:1px solid var(--ink);padding-bottom:2px;transition:border-color .2s var(--ease)}.v8 .v8-link{border-bottom:1px solid var(--line);padding-bottom:2px;transition:border-color .2s var(--ease)}.v8 .v8-link:hover,.v8 .v8-link-strong:hover{border-bottom-color:var(--red)}.v8-hero-card{align-self:end;border-left:1px solid var(--ink);padding-left:clamp(20px,2.4vw,32px)}.v8-facts>div{border-top:1px solid var(--line);padding:var(--air-2) 0}.v8-facts>div:first-child{border-top:0;padding-top:0}.v8-facts dt{font-size:var(--t-label);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}.v8-facts dd{margin:var(--air-1) 0 0;font-size:var(--t-small);line-height:1.45}.v8-jump{display:none}.v8-jump ul{list-style:none;margin:0;padding:var(--air-block) 0 0;display:flex;flex-wrap:wrap;gap:10px 20px;font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}.v8 .v8-jump a{border-bottom:1px solid var(--line);padding-bottom:2px}.v8-section{position:relative;padding-top:calc(var(--air-section) * .55);margin-top:var(--air-section)}.v8-section:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--ink);transform-origin:left center}.v8-h2{font-family:var(--serif);font-variation-settings:"opsz" 30,"wght" 500;font-size:var(--t-head);line-height:1.15;letter-spacing:-.015em;margin-bottom:var(--air-head)}.v8-h3{font-family:var(--serif);font-variation-settings:"opsz" 24,"wght" 500;font-size:var(--t-lede);line-height:1.2;letter-spacing:-.012em}.v8-h3-sm{font-size:var(--t-body)}.v8-text{max-width:var(--measure)}.v8-h3+.v8-text{margin-top:var(--air-3)}.v8-text+.v8-text{margin-top:calc(var(--lead) * 1em)}.v8-text-lead{color:var(--mute)}.v8-small{font-size:var(--t-small);line-height:1.5;color:var(--mute);max-width:var(--measure)}.v8-facets{margin-top:var(--air-block);display:grid;gap:var(--air-block)}.v8-facet{display:grid;gap:var(--air-head);align-items:start}@media (min-width: 1080px){.v8-facet{grid-template-columns:minmax(0,1fr) 502px;gap:clamp(32px,3.4vw,52px)}}.v8-figure{margin:0}.v8-art{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:3px;background:color-mix(in srgb,var(--faint) 55%,transparent);padding:20px 16px}.v8-svg{display:block;height:auto}.v8-svg-wide{width:470px;max-width:100%}.v8-svg-tall{width:300px;max-width:100%;margin:0 auto}.v8-figure figcaption{margin-top:var(--air-2);font-size:var(--t-small);line-height:1.5;color:var(--mute);max-width:44ch}.v8-dg-box{fill:var(--paper);stroke:color-mix(in srgb,var(--ink) 50%,var(--paper));stroke-width:1}.v8-dg-box-on{stroke:var(--ink);stroke-width:1.4}.v8-dg-app{fill:color-mix(in srgb,var(--ink) 20%,var(--paper))}.v8-dg-line{fill:none;stroke:color-mix(in srgb,var(--ink) 50%,var(--paper));stroke-width:1.2}.v8-dg-rule{fill:none;stroke:var(--ink);stroke-width:1;stroke-dasharray:3 4;opacity:.55}.v8-dg-red{stroke:var(--red);stroke-width:1.6}.v8-dg-head{fill:color-mix(in srgb,var(--ink) 50%,var(--paper))}.v8-dg-head-red{fill:var(--red)}.v8-dg-faint{opacity:.45}.v8-dg-t{font-family:var(--sans);font-size:13px;font-weight:500;fill:var(--ink)}.v8-dg-t-mute{fill:var(--mute);font-weight:400}.v8-wipe{position:absolute;inset:0;background:var(--paper);transform:scaleX(0);transform-origin:100% 50%;pointer-events:none}@keyframes v8-wipe{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes v8-draw{0%{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}@keyframes v8-rule{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes v8-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: no-preference){.v8-art.is-in .v8-wipe{animation:v8-wipe .9s var(--ease) forwards}.v8-art.is-in .v8-draw{animation:v8-draw 1.4s var(--ease) both;animation-delay:calc(.75s + var(--i, 0) * .18s)}.v8-section.is-in:before{animation:v8-rule 1s var(--ease) both}.v8-section.is-in>*{animation:v8-rise .8s var(--ease) both}.v8-section.is-in>*:nth-child(2){animation-delay:.1s}.v8-section.is-in>*:nth-child(3){animation-delay:.16s}.v8-load{opacity:0;transform:translateY(10px);transition:opacity .8s var(--ease),transform .9s var(--ease)}.v8-hero-text .v8-load:nth-child(2){transition-delay:.06s}.v8-hero-text .v8-load:nth-child(3){transition-delay:.12s}.v8-hero-text .v8-load:nth-child(4){transition-delay:.18s}.v8-hero-text .v8-load:nth-child(5){transition-delay:.22s}.v8-hero-text .v8-load:nth-child(6){transition-delay:.26s}.v8-hero-card.v8-load{transition-delay:.16s}.v8.is-loaded .v8-load{opacity:1;transform:none}}.v8-featured{margin-top:var(--air-block);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(22px,3vw,40px);align-items:start;border-top:1px solid var(--line);padding-top:var(--air-head)}.v8-featured .v8-text:first-of-type{margin-top:var(--air-3)}.v8-featured .v8-small{margin-top:var(--air-3)}.v8 .v8-featured a,.v8 .v8-plugins a{color:var(--ink);border-bottom:1px solid var(--red);padding-bottom:1px;transition:color .2s var(--ease)}.v8 .v8-featured a:hover,.v8 .v8-plugins a:hover{color:var(--red)}.v8-video{position:relative;aspect-ratio:16 / 9;overflow:hidden;border-radius:3px;background:var(--faint);border:1px solid var(--line);cursor:pointer;outline-offset:3px}.v8-video img,.v8-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}.v8-video img{filter:grayscale(1) sepia(.22) brightness(1.22) contrast(.82);transition:filter .4s var(--ease)}.v8-video:hover img{filter:grayscale(1) sepia(.22) brightness(1.32) contrast(.88)}.v8-play{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:var(--paper);transition:transform .25s var(--ease)}.v8-play svg{margin-left:2px}.v8-play-sm{width:30px;height:30px;margin:-15px 0 0 -15px}.v8-video:hover .v8-play{transform:scale(1.06)}.v8-plugins{list-style:none;margin:var(--air-block) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(22px,3vw,40px)}.v8-plugins li{display:grid;grid-template-columns:124px minmax(0,1fr);gap:14px;align-items:start;border-top:1px solid var(--line);padding:var(--air-3) 0}.v8-plugin-line{margin-top:var(--air-1)}.v8-plugins .v8-small{max-width:40ch}.v8-plugins .v8-small+.v8-small{margin-top:var(--air-1)}.v8-mail{margin-top:var(--air-head);font-family:var(--serif);font-variation-settings:"opsz" 30,"wght" 500;font-size:var(--t-head);letter-spacing:-.015em}.v8 .v8-mail a{border-bottom:2px solid var(--ink);padding-bottom:2px;transition:border-color .2s var(--ease)}.v8 .v8-mail a:hover{border-bottom-color:var(--red)}.v8-resume{margin-top:var(--air-3)}.v8-links{list-style:none;margin:var(--air-block) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--air-2) 28px;font-size:var(--t-small);font-weight:500}.v8 .v8-links a{border-bottom:1px solid var(--line);padding-bottom:2px;transition:border-color .2s var(--ease)}.v8 .v8-links a:hover{border-bottom-color:var(--red)}.v8-footer{position:relative;margin-top:var(--air-section);padding-top:var(--air-3);padding-bottom:calc(var(--air-section) * .4);font-size:var(--t-label);letter-spacing:.04em;color:var(--mute)}.v8-footer:before{content:"";position:absolute;left:var(--gutter);right:var(--gutter);top:0;height:1px;background:var(--line)}@media (max-width: 899px){.v8-hero{grid-template-columns:minmax(0,1fr);gap:var(--air-block)}.v8-hero-card{border-left:0;border-top:1px solid var(--ink);padding:var(--air-head) 0 0;max-width:640px}.v8-figure figcaption{max-width:var(--measure)}}@media (max-width: 760px){.v8-jump{display:block}.v8-featured,.v8-plugins{grid-template-columns:1fr}}@media (max-width: 620px){.v8{--measure: 100%}.v8-hero{padding-top:var(--air-block)}.v8-claim{max-width:100%}.v8-art{padding:18px 8px}.v8-plugins li{grid-template-columns:104px minmax(0,1fr);gap:12px}}@media (prefers-reduced-motion: reduce){.v8 *,.v8 *:before,.v8 *:after{transition-duration:.01ms!important;animation:none!important}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}html{background:#f6f3ec}body{margin:0}img,svg,iframe{display:block;max-width:100%}:focus-visible{outline:2px solid currentColor;outline-offset:3px}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
