@font-face{font-family:Playfairdisplay Variablefont Wght;src:url(https://cdn.prod.website-files.com/699db54e12aec432d05eaca8/699dd7e8b872a2470cf3411c_PlayfairDisplay-VariableFont_wght.ttf)format("truetype");font-weight:400 900;font-style:normal;font-display:swap}@font-face{font-family:Inter Variablefont Opsz Wght;src:url(https://cdn.prod.website-files.com/699db54e12aec432d05eaca8/699dd818abfc1739c269c39f_Inter-VariableFont_opsz%2Cwght.ttf)format("truetype");font-weight:100 900;font-style:normal;font-display:swap}:root{--neutral:#f6f5f1;--black:#252525;--grey:#6b6375;--heading-playfair:Arial, "Helvetica Neue", Helvetica, sans-serif;--transition-time:.4s}.w-layout-blockcontainer{max-width:940px;margin-left:auto;margin-right:auto;display:block}body{background-color:var(--neutral);font-family:Inter Variablefont Opsz Wght,Arial,sans-serif;font-size:16px;font-weight:400;line-height:130%}html{scroll-behavior:smooth}#root{flex-direction:column;min-height:100vh;display:flex}@keyframes page-fade-in{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}.page{animation:.9s page-fade-in}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.page{animation:none}.fade-image{transition:none}}h1,h2{font-family:var(--heading-playfair);color:var(--black);font-weight:500}h1{text-align:left;letter-spacing:2px;margin-top:0;margin-bottom:0;font-family:Playfairdisplay Variablefont Wght,Palatino Linotype,sans-serif;font-size:3.8rem;line-height:90%}h2{margin-top:0;margin-bottom:0;font-family:Playfairdisplay Variablefont Wght,Palatino Linotype,sans-serif;font-size:32px;font-weight:500;line-height:100%}p{margin:0}a{color:var(--black);text-decoration:none}a:hover{color:var(--grey);transition:color var(--transition-time) ease;text-decoration:none}img{vertical-align:middle;object-fit:contain;display:inline-block}.fade-image{opacity:0;transition:opacity var(--transition-time) ease}.fade-image.is-loaded{opacity:1}.hero-section{box-sizing:border-box;width:100%;max-width:none;padding-inline:1.5rem}.hero-wrapper{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:center;gap:2.5em;display:grid}.hero-content{flex-direction:column;justify-content:center;align-items:center;gap:24px;min-width:0;display:flex;container-type:inline-size}.hero-h1{text-align:center;letter-spacing:2px;text-transform:uppercase;max-width:100%;margin-top:0;margin-bottom:0;font-family:Playfairdisplay Variablefont Wght,Palatino Linotype,sans-serif;font-size:clamp(1.5rem,14cqw,3.8rem);font-weight:500;line-height:90%}.hero-image{width:100%;min-width:0;height:auto}.hero-image img{object-fit:contain;width:100%;height:auto;display:block}@media screen and (width<=690px){.hero-wrapper{grid-template-columns:minmax(0,1fr)}.hero-image{order:-1}}.primary-button{border:1px solid var(--black);background-color:var(--neutral);color:var(--black);text-align:center;text-transform:uppercase;padding:24px 32px;font-size:20px}.primary-button:hover{background-color:var(--black);color:var(--neutral);transition:background-color var(--transition-time) ease}.primary-button.block-centred{margin-bottom:24px}.brand{grid-column-gap:18px;grid-row-gap:18px;justify-content:center;align-items:center;display:flex}.brand:hover,.brand:hover .logo-text{color:var(--grey)}.logo-text{color:var(--black);letter-spacing:-.24px;transition:color var(--transition-time) ease;font-family:Playfairdisplay Variablefont Wght,Palatino Linotype,sans-serif;font-size:26px;font-weight:500;line-height:118%}.contact-container{box-sizing:border-box;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;width:100%;max-width:none;padding-inline:1.5rem;display:flex}.contact-link{padding:.5em}.contact-footprint{width:40%;height:auto;display:block}.contact-link-icon{width:32px;height:auto;margin-right:1em}.logo{flex-shrink:1;min-width:0}.navbar{background-color:var(--neutral);z-index:10;flex-direction:row;justify-content:space-between;align-items:center;padding:24px 2em;display:flex;position:sticky;inset:0% 0% auto}.nav-container{box-sizing:border-box;flex-direction:row;justify-content:space-between;align-items:center;gap:1.5rem;width:100%;max-width:1440px;margin-left:auto;margin-right:auto;padding-inline:1.5rem;display:flex;position:relative}.nav-link{letter-spacing:1px;text-transform:uppercase;padding-left:0;padding-right:0;font-weight:400}.nav-link.w--current{color:#252525b3}.nav-menu{grid-column-gap:24px;grid-row-gap:24px;flex-shrink:0;justify-content:flex-end;align-items:center;display:flex}.nav-toggle{z-index:30;cursor:pointer;background:0 0;border:none;flex-shrink:0;width:2.75rem;height:2.75rem;padding:0;display:none;position:relative}.nav-toggle-bar{background-color:var(--black);width:1.5rem;height:1.5px;transition:transform var(--transition-time) ease, opacity var(--transition-time) ease;margin-inline:auto;display:block}.nav-toggle-bar+.nav-toggle-bar{margin-top:6px}.nav-toggle.is-open .nav-toggle-bar:first-child{transform:translateY(7.5px)rotate(45deg)}.nav-toggle.is-open .nav-toggle-bar:nth-child(2){opacity:0}.nav-toggle.is-open .nav-toggle-bar:nth-child(3){transform:translateY(-7.5px)rotate(-45deg)}.nav-backdrop{display:none}@media screen and (width<=900px){.brand{grid-column-gap:10px;grid-row-gap:10px;justify-content:flex-start}.brand img{height:1.25rem}.logo-text{font-size:clamp(.95rem,3.8vw,1.25rem)}}@media screen and (width<=768px){.navbar{padding:12px 0}.nav-container{gap:.75rem;padding-inline:1rem}.nav-toggle{display:block}.nav-backdrop{z-index:20;background-color:color-mix(in srgb, var(--black) 35%, transparent);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--transition-time) ease, visibility var(--transition-time) ease;display:block;position:fixed;inset:0}.nav-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto}.nav-menu{z-index:25;box-sizing:border-box;background-color:var(--neutral);width:min(18rem,82vw);height:100dvh;box-shadow:-8px 0 24px color-mix(in srgb, var(--black) 8%, transparent);visibility:hidden;pointer-events:none;transition:transform var(--transition-time) ease, visibility var(--transition-time) ease;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:1.75rem;margin:0;padding:5.5rem 2rem 2rem;position:fixed;top:0;right:0;transform:translate(100%)}.nav-menu.is-open{visibility:visible;pointer-events:auto;transform:translate(0)}.nav-link{letter-spacing:1.5px;font-size:1.125rem}}@media (prefers-reduced-motion:reduce){.nav-toggle-bar,.nav-backdrop,.nav-menu{transition:none}}.contact-container{max-width:1440px;margin-left:auto;margin-right:auto;padding-top:0;padding-bottom:0}.vertical-divider{text-align:center;justify-content:center;align-items:center;margin-top:1.5em;margin-bottom:1.5em;display:flex}.page-title-container{text-align:center;text-transform:uppercase;flex-direction:column;justify-content:center;align-items:center;gap:1.5em;display:flex}.page-title-container h1{letter-spacing:2px;margin-top:0;margin-bottom:0;font-family:Playfairdisplay Variablefont Wght,Palatino Linotype,sans-serif;font-size:42px;font-weight:500;line-height:100%}.content-page{box-sizing:border-box;margin-left:auto;margin-right:auto;padding-inline:1.5rem}.markdown-content{width:95%;color:var(--black);box-sizing:border-box;margin:2.5em auto 1em;font-size:1rem;line-height:150%}.markdown-content>:first-child{margin-top:0}.markdown-content>:last-child{margin-bottom:0}.markdown-content:after{content:"";clear:both;display:table}.markdown-content h1{letter-spacing:1px;text-align:center;margin-top:2em;margin-bottom:.75em;font-size:3rem;font-weight:500}.markdown-content h2{letter-spacing:1px;margin-top:1.5em;margin-bottom:.5em;font-size:1.75rem}.markdown-content h3{margin-top:1.5em;margin-bottom:.5em;font-family:Playfairdisplay Variablefont Wght,Palatino Linotype,sans-serif;font-size:24px;font-weight:500;line-height:30px}.markdown-content h4{margin-bottom:0}.markdown-content p{margin-bottom:.25em}.markdown-content ul,.markdown-content ol{margin:0 0 1em;padding-left:1.25em}.markdown-content li{margin-bottom:.4em}.markdown-content li::marker{color:var(--grey)}.markdown-content a{text-underline-offset:.15em;text-decoration:underline}.markdown-content strong{font-weight:600}.markdown-content em{color:var(--grey);font-style:italic}.markdown-content hr{border:none;border-top:1px solid color-mix(in srgb, var(--black) 15%, transparent);margin:2em 0}.markdown-content img{float:right;object-fit:contain;width:36%;max-width:500px;height:auto;margin:.25em 0 1em 1.5em}@media screen and (width<=690px){.markdown-content img{float:none;width:100%;max-width:100%;margin:1.5em 0;display:block}}.gallery-list{box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));gap:3em 2em;width:95%;margin:2.5em auto 1em;display:grid}.gallery-preview{align-items:left;text-align:center;flex-direction:column;gap:1.5em;min-width:0;display:flex}.gallery-preview-title{text-align:left;font-size:42px;font-weight:500;line-height:100%}.gallery-preview-link{width:100%;display:block}.gallery-preview-thumb{aspect-ratio:1;object-fit:cover;width:100%;height:auto;transition:opacity var(--transition-time) ease;display:block}.gallery-preview-link:hover .gallery-preview-thumb.is-loaded{opacity:.7}@media screen and (width<=690px){.gallery-list{grid-template-columns:1fr}}.gallery-images{box-sizing:border-box;flex-direction:column;gap:1.5em;width:95%;margin:2.5em auto 1em;display:flex}.gallery-image{object-fit:contain;width:100%;height:auto;display:block}.gallery-back{justify-content:center;margin:2em 0 1em;display:flex}footer{text-align:center;margin-top:auto;padding-top:2em;padding-bottom:2em}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}
