:root{color:#10221f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f7f8f3;font-family:Libre Franklin,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:min(1184px,100% - 64px);margin:0 auto}.site-header{z-index:10;position:absolute;inset:0 0 auto}.nav{justify-content:space-between;align-items:center;min-height:88px;display:flex}.brand{letter-spacing:0;align-items:center;gap:10px;font-family:Funnel Sans,sans-serif;font-size:21px;font-weight:700;display:inline-flex}.brand-mark{color:#f7f8f3;background:#1d6b51;border-radius:50%;place-items:center;width:28px;height:28px;font-size:20px;line-height:1;display:grid}.nav-links{align-items:center;gap:36px;font-size:14px;font-weight:600;display:flex}.nav-links>a:not(.button){color:#5d6c68}.nav-links>a:hover,.text-link:hover{color:#ef6d5b}.menu-button{color:inherit;background:0 0;border:0;display:none}.button{color:#f7f8f3;background:#1d6b51;border:1px solid #1d6b51;justify-content:center;align-items:center;gap:12px;min-height:52px;padding:0 22px;font-size:14px;font-weight:700;transition:transform .2s,background .2s;display:inline-flex}.button:hover{background:#10221f;transform:translateY(-2px)}.button--small{min-height:40px;padding:0 16px}.text-link{color:#1d6b51;align-items:center;gap:8px;font-size:14px;font-weight:700;display:inline-flex}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:80px;min-height:720px;padding-top:168px;display:grid}.hero-copy{padding-bottom:56px}.kicker,.eyebrow{color:#ef6d5b;letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:700}.kicker{align-items:center;gap:8px;margin-bottom:24px;display:inline-flex}.hero h1{letter-spacing:0;max-width:610px;margin:0 0 28px;font-family:Funnel Sans,sans-serif;font-size:clamp(52px,7vw,92px);font-weight:600;line-height:.98}em{color:#ef6d5b;font-style:normal}.hero-lead{color:#5d6c68;max-width:480px;margin-bottom:32px;font-size:17px;line-height:1.65}.hero-actions{flex-wrap:wrap;align-items:center;gap:28px;display:flex}.hero-visual{position:relative}.hero-image{object-fit:cover;background:#c9f2d9;border:1px solid #c9f2d9;width:100%;height:430px;min-height:430px;display:block}.hero-note{background:#f3d878;align-items:center;gap:14px;padding:16px 18px;font-size:13px;font-weight:700;display:flex;position:absolute;bottom:-28px;right:-24px}.hero-note span{color:#ef6d5b;font-size:11px}.hero-note p{margin:0}.section{padding:112px 0}.section--mint{background:#c9f2d9}.section--dark{color:#f7f8f3;background:#10221f}.section-heading{max-width:570px}.section-heading h2,.principle-grid h2,.footer h2{letter-spacing:0;margin:12px 0 20px;font-family:Funnel Sans,sans-serif;font-size:clamp(36px,5vw,60px);font-weight:600;line-height:1}.section-description{color:#5d6c68;max-width:510px;font-size:16px;line-height:1.6}.service-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:64px;display:grid}.service-card{border-top:1px solid #1d6b51;padding:28px}.service-image{object-fit:cover;background:#fff;border:1px solid #1d6b51;width:100%;height:170px;margin-bottom:24px;display:block}.card-top{color:#1d6b51;justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.card-top span{font-size:12px}.service-card h3,.project-info h3{margin:0 0 14px;font-family:Funnel Sans,sans-serif;font-size:25px;font-weight:600;line-height:1.05}.service-card p{color:#5d6c68;margin:0;font-size:14px;line-height:1.6}.principle-grid{grid-template-columns:1.15fr .85fr;align-items:end;gap:100px;display:grid}.section--dark .eyebrow{color:#f3d878}.principle-grid h2{max-width:550px;margin-bottom:0}.principle-copy{color:#b7c6c0;gap:24px;font-size:16px;line-height:1.7;display:grid}.technology{border-bottom:1px solid #d9e2dc;padding:72px 0}.technology-inner{grid-template-columns:1fr 1.3fr;align-items:center;gap:80px;display:grid}.technology .section-heading h2{font-size:34px}.tech-list{grid-template-columns:repeat(3,1fr);gap:0;display:grid}.tech-list span{color:#5d6c68;border-bottom:1px solid #d9e2dc;padding:18px 0;font-family:Funnel Sans,sans-serif;font-size:18px}.portfolio-heading{justify-content:space-between;align-items:end;gap:32px;display:flex}.portfolio-grid{grid-template-columns:1.25fr .75fr;gap:24px;margin-top:64px;display:grid}.project-image{object-fit:cover;border:1px solid #d9e2dc;width:100%;display:block}.project-card .project-image{background:#fff;height:330px}.project-card--large .project-image{background:#f3d878;border-color:#f3d878;height:440px}.project-info{justify-content:space-between;align-items:flex-start;padding-top:20px;display:flex}.project-info .eyebrow{margin:0 0 10px}.project-info h3{font-size:24px}.footer{color:#f7f8f3;background:#1d6b51;padding:96px 0 28px}.brand--footer .brand-mark{color:#1d6b51;background:#f3d878}.footer h2{margin-top:80px;font-size:clamp(46px,7vw,88px)}.footer h2 em{color:#f3d878}.footer-main{grid-template-columns:1fr 1fr;display:grid}.footer-contact{justify-self:end;padding-top:8px}.footer-contact .eyebrow{color:#f3d878}.footer-contact a{align-items:center;gap:10px;margin-top:20px;font-size:16px;display:flex}.footer-bottom{color:#b7d4c4;justify-content:space-between;align-items:center;gap:20px;padding-top:72px;font-size:12px;display:flex}.footer-bottom a{color:#f7f8f3;align-items:center;gap:8px;display:inline-flex}@media (width<=760px){.container{width:min(100% - 40px,560px)}.nav{min-height:72px}.menu-button{display:block}.nav-links{background:#f7f8f3;border:1px solid #d9e2dc;flex-direction:column;align-items:stretch;gap:0;padding:12px;display:none;position:absolute;top:72px;left:20px;right:20px;box-shadow:0 16px 30px #10221f14}.nav-links.is-open{display:flex}.nav-links>a{padding:14px 12px}.nav-links .button{margin-top:8px}.hero{grid-template-columns:1fr;gap:48px;min-height:auto;padding-top:128px;padding-bottom:88px}.hero-copy{padding-bottom:0}.hero h1{font-size:clamp(48px,15vw,72px)}.hero-image{height:320px;min-height:320px}.hero-note{bottom:-20px;right:12px}.section{padding:80px 0}.service-grid,.portfolio-grid,.principle-grid,.technology-inner,.footer-main{grid-template-columns:1fr;gap:24px}.service-grid{margin-top:40px}.service-card{padding:24px 0}.service-image{height:200px;margin-bottom:20px}.card-top{margin-bottom:20px}.principle-grid{gap:40px}.technology{padding:64px 0}.tech-list{grid-template-columns:repeat(2,1fr);margin-top:20px}.portfolio-heading{display:block}.portfolio-heading .text-link{margin-top:24px}.portfolio-grid{margin-top:40px}.project-card--large .project-image,.project-card .project-image{height:280px}.footer{padding-top:72px}.footer-contact{justify-self:start;margin-top:16px}.footer h2{margin-top:64px}.footer-bottom{flex-direction:column;align-items:flex-start;padding-top:56px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.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}
