@font-face{font-family:Caprasimo;font-style:normal;font-weight:400;font-display:swap;src:url(../media/682af714a7d5bc8c-s.22o9biiibgmth.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caprasimo;font-style:normal;font-weight:400;font-display:swap;src:url(../media/12b67b3c78c4367a-s.p.0dhaz04vjmr2w.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caprasimo Fallback;src:local(Arial);ascent-override:79.59%;descent-override:19.86%;line-gap-override:0.0%;size-adjust:115.33%}.caprasimo_5d94ac19-module__9FhNva__className{font-family:Caprasimo,Caprasimo Fallback;font-style:normal;font-weight:400}.caprasimo_5d94ac19-module__9FhNva__variable{--font-caprasimo:"Caprasimo", "Caprasimo Fallback"}
@font-face{font-family:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url(../media/400bf8aa837fcb7e-s.19g-lkcx7iw64.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url(../media/f7aa21714c1c53f8-s.p.0-95eo-012xnf.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-weight:600;font-display:swap;src:url(../media/400bf8aa837fcb7e-s.19g-lkcx7iw64.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:600;font-display:swap;src:url(../media/f7aa21714c1c53f8-s.p.0-95eo-012xnf.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-weight:700;font-display:swap;src:url(../media/400bf8aa837fcb7e-s.19g-lkcx7iw64.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:700;font-display:swap;src:url(../media/f7aa21714c1c53f8-s.p.0-95eo-012xnf.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree Fallback;src:local(Arial);ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.0%;size-adjust:100.72%}.figtree_5756f273-module__osdXDW__className{font-family:Figtree,Figtree Fallback;font-style:normal}.figtree_5756f273-module__osdXDW__variable{--font-figtree:"Figtree", "Figtree Fallback"}
:root{--cream:#f5ead8;--sand:#ebddc5;--ink:#201e1d;--green-tint:#e1eecc;--green-mid:#8fa073;--green-dark:#56633f;--green-text:#3d472b;--terracotta-tint:#ffc6a5;--terracotta:#d67f48;--radius-lg:28px;--radius-pill:999px;--font-display:var(--font-caprasimo), serif;--font-body:var(--font-figtree), sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-weight:400;line-height:1.5}img{max-width:100%;display:block}a{color:inherit}.container{width:100%;max-width:1180px;margin:0 auto;padding:0 48px}.kicker{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--green-text);margin:0 0 16px;font-size:13px;font-weight:700;display:inline-block}.section-heading{font-family:var(--font-display);margin:0 0 16px;font-size:40px;font-weight:400;line-height:1.15}.washed{filter:saturate(.72)contrast(.92)brightness(1.06)}.btn{font-family:var(--font-body);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:8px;padding:14px 28px;font-size:15px;font-weight:700;text-decoration:none;transition:transform .15s,opacity .15s;display:inline-flex}.btn:hover{opacity:.92;transform:translateY(-1px)}.btn-primary{background:var(--green-dark);color:var(--cream)}.btn-ghost{color:var(--green-dark);background:0 0;padding:14px 20px}.nav{z-index:50;background:var(--cream);border-bottom:1px solid #201e1d1a;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;padding-top:22px;padding-bottom:22px;display:flex}.wordmark{font-family:var(--font-display);color:var(--ink);font-size:22px;font-weight:400;text-decoration:none}.hero{padding:90px 0 100px;position:relative;overflow:hidden}.hero-blob{filter:blur(2px);z-index:0;border-radius:50%;position:absolute}.hero-blob-sage{background:var(--green-tint);opacity:.6;width:480px;height:480px;top:-180px;right:-140px}.hero-blob-terracotta{background:var(--terracotta-tint);opacity:.45;width:340px;height:340px;bottom:-140px;left:-100px}.hero-grid{z-index:1;grid-template-columns:1.1fr 1fr;align-items:center;gap:56px;display:grid;position:relative}.tag-pill{background:var(--green-tint);color:var(--green-text);letter-spacing:.04em;border-radius:var(--radius-pill);margin-bottom:24px;padding:10px 20px;font-size:13px;font-weight:700;display:inline-block}.hero-title{font-family:var(--font-display);margin:0 0 24px;font-size:58px;font-weight:400;line-height:1.08}.hero-subhead{color:#201e1dd1;max-width:520px;margin:0 0 36px;font-size:18px;line-height:1.6}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.hero-image-wrap{border-radius:var(--radius-lg);height:420px;position:relative;overflow:hidden;box-shadow:0 24px 60px #201e1d2e}.hero-image-wrap img{object-fit:cover;width:100%;height:100%}.hero-img-dark{display:none}@media (prefers-color-scheme:dark){.hero-img-light{display:none}.hero-img-dark{display:block}}.who{padding:90px 0}.who-grid{grid-template-columns:.7fr 1.3fr;gap:56px;display:grid}.who-intro{margin:0 0 48px;font-size:22px;line-height:1.55}.signals{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.signal{align-items:flex-start;gap:14px;display:flex}.signal-icon{background:var(--green-tint);width:36px;height:36px;color:var(--green-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.signal-icon svg{width:18px;height:18px}.signal p{margin:0;font-size:15px;font-weight:600;line-height:1.5}.how{background:var(--sand);padding:90px 0}.how-cards{grid-template-columns:repeat(3,1fr);gap:32px;margin-top:48px;display:grid}.card{background:var(--cream);border-radius:var(--radius-lg);padding:40px 32px}.icon-badge{background:var(--green-tint);width:56px;height:56px;color:var(--green-text);border-radius:50%;justify-content:center;align-items:center;margin-bottom:24px;display:flex}.icon-badge svg{width:26px;height:26px}.card h3{font-family:var(--font-display);margin:0 0 12px;font-size:22px;font-weight:400}.card p{color:#201e1dcc;margin:0;font-size:15px;line-height:1.6}.portfolio{padding:90px 0}.portfolio-cards{grid-template-columns:repeat(3,1fr);gap:32px;margin-top:48px;display:grid}.portfolio-card{background:var(--sand);border-radius:var(--radius-lg);overflow:hidden}.portfolio-image{height:190px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #201e1d0d}.portfolio-image img{object-fit:cover;width:100%;height:100%}.portfolio-body{padding:28px}.portfolio-body h3{font-family:var(--font-display);margin:0 0 10px;font-size:20px;font-weight:400}.portfolio-body p{color:#201e1dcc;margin:0 0 16px;font-size:14.5px;line-height:1.6}.demo-link{color:var(--green-dark);align-items:center;gap:6px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.demo-link svg{width:16px;height:16px}.about{background:var(--sand);padding:90px 0}.about-grid{grid-template-columns:.6fr 1.4fr;align-items:center;gap:56px;display:grid}.about-photo{border-radius:50%;width:280px;height:280px;position:relative;overflow:hidden;box-shadow:0 20px 44px #201e1d2e}.about-photo img{object-fit:cover;width:100%;height:100%}.about-tags{flex-wrap:wrap;gap:12px;margin:20px 0 24px;display:flex}.about-tag{background:var(--green-tint);color:var(--green-text);border-radius:var(--radius-pill);padding:9px 18px;font-size:13px;font-weight:700}.about-bio{color:#201e1dd9;max-width:620px;margin:0;font-size:17px;line-height:1.65}.contact{padding:100px 0;position:relative;overflow:hidden}.contact-blob{background:var(--green-tint);opacity:.5;z-index:0;border-radius:50%;width:420px;height:420px;position:absolute;top:-160px;right:-120px}.contact-inner{z-index:1;max-width:720px;position:relative}.contact-sub{color:#201e1dcc;margin:0 0 40px;font-size:17px}.contact-form{z-index:1;grid-template-columns:1fr 1fr;gap:20px;max-width:900px;display:grid;position:relative}.form-field{flex-direction:column;gap:8px;display:flex}.form-field.full{grid-column:1/-1}.form-field label{letter-spacing:.02em;font-size:13px;font-weight:700}.form-field input{font-family:var(--font-body);border-radius:var(--radius-lg);background:var(--cream);color:var(--ink);border:1px solid #201e1d2e;padding:14px 18px;font-size:15px}.form-field input::placeholder{color:#201e1d66}.form-field input:focus{outline:2px solid var(--green-mid);outline-offset:2px}.contact-form .btn{justify-self:start;margin-top:4px}.footer{border-top:1px solid #201e1d1a;padding:32px 0}.footer-inner{color:#201e1db3;justify-content:space-between;align-items:center;font-size:14px;display:flex}.footer .wordmark{font-size:18px}@media (max-width:900px){.container{padding:0 24px}.hero-grid,.who-grid,.about-grid{grid-template-columns:1fr}.hero-title{font-size:40px}.hero-subhead{max-width:none}.hero-image-wrap{height:300px}.signals,.how-cards,.portfolio-cards{grid-template-columns:1fr}.about-photo{width:200px;height:200px}.contact-form{grid-template-columns:1fr}.section-heading{font-size:32px}.nav-inner{padding-top:18px;padding-bottom:18px}.btn{padding:12px 20px;font-size:14px}}
