@font-face{font-family:Manrope;src:url(/fonts/Manrope-VariableFont_wght.ttf)format("truetype-variations");font-weight:200 800;font-style:normal;font-display:swap}:root{--dark:#1f1f1f;--white:#fff;--mint:#006c49;--mint-light:#ccffef;--grey-50:#f7f7f7;--grey-100:#e1e1e1;--grey-200:#d7d7d7;--grey-400:#bdbdbd;--grey-500:#8d8d8d;--grey-600:#737373;--grey-800:#222;--color-bg:var(--white);--color-bg-alt:var(--grey-50);--color-bg-accent:var(--mint-light);--color-bg-inverse:var(--dark);--color-text:var(--dark);--color-text-inverse:var(--white);--color-text-muted:var(--grey-500);--color-text-label:var(--grey-500);--color-accent:var(--mint);--color-border:var(--grey-100);--color-border-strong:var(--dark);--color-link:var(--mint);--color-link-hover:#005038;--font-manrope:"Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-primary:var(--font-manrope);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:90px;--space-31:124px;--space-47:188px;--radius-sm:10px;--radius-md:24px;--radius-pill:100px;--shadow-card:inset 0 0 0 1px var(--grey-100);--shadow-specimen:inset 0 0 0 1px #e9e9e9, 0px 12px 24px 0px #f2f2f2;--container-max:1440px}
*{box-sizing:border-box;margin:0}html{height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%;font-family:var(--font-primary);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-link);text-decoration:none}a:hover{color:var(--color-link-hover)}img{max-width:100%}.wrap{max-width:var(--container-max);margin:0 auto}section{padding:clamp(48px,8vw,64px) clamp(24px,8vw,124px)}h1{font-size:clamp(32px,5vw,48px);font-weight:700;line-height:1.1}h2{font-size:clamp(26px,4vw,36px);font-weight:700}.eyebrow{letter-spacing:.07em;color:var(--grey-500);text-transform:uppercase;font-size:14px;font-weight:600}nav{z-index:3;justify-content:space-between;align-items:center;padding:32px clamp(24px,8vw,124px) 0;display:flex;position:relative}.logo img{width:44px;height:44px;display:block}.nav-links{gap:32px;list-style:none;display:flex}.nav-links a{color:var(--dark);font-size:16px;font-weight:700}.nav-toggle{cursor:pointer;z-index:3;background:0 0;border:none;padding:8px;display:none}.nav-mobile-panel{display:none}.nav-mobile-panel.open{background:var(--mint-light);z-index:2;flex-direction:column;gap:24px;padding:100px 32px 32px;display:flex;position:absolute;top:0;left:0;right:0}.nav-mobile-panel.open a{color:var(--dark);font-size:20px;font-weight:700}.hero{background:var(--mint-light);position:relative;overflow:hidden}.hero-bg{background:var(--mint);opacity:.24;pointer-events:none;border-radius:50%;position:absolute}.hero-content{z-index:2;flex-wrap:wrap;justify-content:center;align-items:center;gap:48px;padding:56px clamp(24px,8vw,124px) 40px;display:flex;position:relative}.hero-text{flex-direction:column;flex:380px;align-items:flex-start;gap:32px;max-width:560px;display:flex}.hero-text .sub{max-width:480px;font-size:16px}.hero-cta{flex-wrap:wrap;gap:20px;display:flex}.hero-img{flex:380px;align-self:flex-end;max-width:560px;margin-bottom:-40px}.hero-img img{width:100%;height:auto;display:block}.about{background:var(--dark);color:var(--white);text-align:center;position:relative;overflow:hidden}.about .inner{max-width:810px;margin:0 auto}.about p{margin-top:24px;font-size:16px}.about-bump{background:var(--mint);z-index:1;border-radius:50%;width:90px;height:90px;position:absolute;bottom:-45px;left:50%;transform:translate(-50%)}.services{background:var(--white);text-align:center}.services-head{max-width:810px;margin:0 auto}.services-head p{margin-top:24px;font-size:16px}.services-grid{text-align:left;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:48px;display:grid}.services-grid .icon{width:44px;height:44px;color:var(--mint);margin-bottom:16px}.services-grid h3{margin-bottom:12px;font-size:18px;font-weight:700}.services-grid p{color:var(--grey-600);font-size:14px}.work{background:var(--grey-50)}.work-head{background:var(--mint-light);text-align:center;padding:64px clamp(24px,8vw,124px)}.work-head p{max-width:810px;margin:24px auto 0;font-size:16px}.work-grid{max-width:var(--container-max);grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:0 auto;padding:64px clamp(24px,8vw,124px);display:grid}.work-card{color:inherit;flex-direction:column;display:flex}.work-card .thumb{aspect-ratio:4/3;object-fit:cover;border-radius:16px;width:100%;display:block}.work-card .thumb-feature{aspect-ratio:4/3;background:linear-gradient(135deg, var(--dark), #0a3a2c 70%, var(--mint));color:var(--white);text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.work-card .thumb-feature strong{font-size:26px;font-weight:700}.work-card .thumb-feature span{color:var(--mint-light);letter-spacing:.05em;font-size:13px}.work-card .thumb-feature.upcoming{background:var(--grey-50);color:var(--grey-600);border:1px dashed var(--grey-200);padding-top:56px;position:relative}.work-card .thumb-feature.upcoming strong{color:var(--dark)}.work-card .thumb-feature.upcoming span{color:var(--grey-500)}.progress-badge{border-radius:var(--radius-pill);background:var(--white);color:var(--dark);box-shadow:var(--shadow-card);align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex;position:absolute;top:16px;left:16px}.progress-badge svg{width:14px;height:14px}.construction-note{border:1px dashed var(--grey-200);border-radius:var(--radius-md);color:var(--grey-600);align-items:center;gap:16px;margin-top:24px;padding:24px;font-size:15px;display:flex}.construction-note svg{width:28px;height:28px;color:var(--mint);flex-shrink:0}.work-meta{justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.work-meta h4{font-size:18px;font-weight:700}.work-meta .tag{color:var(--grey-500);margin-top:4px;font-size:14px;display:block}.arrow-btn{background:var(--mint);width:44px;height:44px;color:var(--white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.skills{background:var(--grey-50);text-align:center}.skills p{margin-top:24px;max-width:810px;margin-inline:auto;font-size:16px}.skills-grid{text-align:left;grid-template-columns:1fr 1fr;gap:64px 90px;margin-top:56px;display:grid}.skill-row{justify-content:space-between;margin-bottom:8px;font-size:14px;font-weight:700;display:flex}.bar-track{background:var(--grey-100);border-radius:4px;height:8px;margin-bottom:24px;overflow:hidden}.bar-fill{background:var(--dark);border-radius:4px;height:8px}.contact{background:var(--mint-light);flex-wrap:wrap;gap:60px;display:flex;position:relative;overflow:hidden}.contact-info{z-index:2;flex:320px;position:relative}.contact-info p{max-width:420px;margin-top:16px;font-size:16px}.contact-info .row{align-items:center;gap:16px;margin:20px 0;font-size:16px;display:flex}.contact-info .row svg{flex-shrink:0;width:20px;height:20px}.social-row{gap:12px;margin-top:32px;display:flex}.social-row a{background:var(--dark);width:36px;height:36px;color:var(--white);border-radius:50%;justify-content:center;align-items:center;display:flex}.social-row svg{width:16px;height:16px}.contact-form{background:var(--white);z-index:2;border-radius:24px;flex-direction:column;flex:380px;gap:16px;max-width:600px;padding:40px;display:flex;position:relative}.contact-form input,.contact-form textarea{border:1px solid var(--grey-100);font-family:var(--font-primary);border-radius:12px;padding:12px 16px;font-size:14px}.contact-form textarea{resize:vertical;min-height:100px}.contact-form button{align-self:flex-start}footer{background:var(--dark);color:var(--white)}.footer-top{flex-wrap:wrap;justify-content:center;align-items:center;gap:48px;padding:40px clamp(24px,8vw,124px);display:flex}.footer-links{flex-wrap:wrap;gap:32px;display:flex}.footer-links a{color:var(--white);font-weight:700}.footer-badge{justify-content:center;align-items:center;width:36px;height:36px;display:flex}.footer-badge img{width:36px;height:36px}.footer-bottom{text-align:center;color:var(--grey-500);padding:0 24px 40px;font-size:14px}.footer-bottom .social-row{justify-content:center;margin-top:16px}.footer-bottom .social-row a{background:var(--white);color:var(--dark)}.hero-dark{background:var(--dark);color:var(--white);position:relative;overflow:hidden}.hero-dark .nav-links a,.hero-dark .nav-toggle svg{color:var(--white);stroke:var(--white)}.hero-dark .hero-bg{width:234px;height:234px;top:372px;left:603px}.hero-dark .nav-mobile-panel.open{background:var(--dark)}.hero-dark .nav-mobile-panel.open a{color:var(--white)}.case-hero-content{text-align:center;z-index:2;flex-direction:column;gap:16px;max-width:760px;margin:0 auto;padding:56px 24px 80px;display:flex;position:relative}.case-hero-content p{font-size:16px}.back-link{color:var(--mint-light);align-items:center;gap:8px;margin-bottom:24px;font-size:14px;font-weight:700;display:inline-flex}.section-inner{max-width:760px;margin:0 auto}.section-inner h2{margin-bottom:0}p.body{white-space:pre-line;margin-top:24px;font-size:16px;line-height:1.6}.figure{border:1px solid var(--grey-200);object-fit:cover;object-position:center;border-radius:24px;width:100%;height:360px;margin-top:24px;display:block}.figure.faded{opacity:.24}.figure.figure-top{object-position:top;height:290px}.figure.figure-contain{object-fit:contain;height:auto}.figure-wide-wrap{max-width:1100px;margin:24px auto 0}.figure-wide-wrap .figure{margin-top:0}.stack{flex-direction:column;gap:64px;display:flex}.section-grey{background:var(--grey-50)}.section-white{background:var(--white)}.contact-narrow{text-align:center;justify-content:center}.contact-narrow .contact-info{max-width:600px}.carousel{margin-top:24px}.carousel-viewport{border:1px solid var(--grey-200);aspect-ratio:16/9;background:var(--grey-50);border-radius:24px;position:relative;overflow:hidden}.carousel-track{width:100%;height:100%;position:relative}.carousel-track img{object-fit:cover;object-position:top;opacity:0;width:100%;height:100%;transition:opacity .35s;position:absolute;inset:0}.carousel-track img.active{opacity:1}.carousel-arrow{width:44px;height:44px;color:var(--white);cursor:pointer;background:#1f1f1f8c;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.carousel-arrow:hover{background:#1f1f1fbf}.carousel-arrow.prev{left:16px}.carousel-arrow.next{right:16px}.carousel-dots{justify-content:center;align-items:center;gap:8px;margin-top:16px;display:flex}.carousel-dots button{cursor:pointer;background:var(--grey-200);border:none;border-radius:4px;height:8px;padding:0;transition:all .25s}.carousel-dots button.active{background:var(--mint);width:22px}.carousel-dots button:not(.active){width:8px}@media (max-width:900px){.nav-links{display:none}.nav-toggle{display:block}.services-grid,.work-grid{grid-template-columns:repeat(2,1fr)}.skills-grid{grid-template-columns:1fr}}@media (max-width:600px){.services-grid,.work-grid{grid-template-columns:1fr}.hero-text,.hero-img{flex-basis:100%}.footer-top{text-align:center;flex-direction:column}}.site-header{border-bottom:1px solid #80808033;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.site-logo{font-size:1.1rem;font-weight:700}.site-nav{gap:1.5rem;display:flex}.site-nav a{opacity:.75;font-size:.95rem;transition:opacity .15s}.site-nav a:hover,.site-nav a[aria-current=page]{opacity:1}.site-main{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:3rem 2rem}.site-footer{opacity:.7;text-align:center;border-top:1px solid #80808033;padding:1.5rem 2rem;font-size:.85rem}.page-placeholder h1{margin-bottom:.75rem;font-size:2rem}.page-placeholder p{opacity:.75;max-width:60ch}
