:root{--bg:#f6f8f5;--surface-card:#fff;--surface-muted:#eef3eb;--text-color:#23402f;--heading-color:#102319;--border:#d3ddd2;--brand-green-dark:#325f3f;--shadow:0 12px 28px #0a1c1017;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:17px;line-height:1.55}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text-color);background:var(--surface-card);margin:0}#root{background:var(--surface-card);width:100%;min-height:100vh;margin:0 auto}h1,h2{color:var(--heading-color);margin:0 0 .8rem;line-height:1.14}h1{font-size:clamp(1.95rem,4vw,3.1rem)}h2{font-size:clamp(1.4rem,2.6vw,2rem)}p{margin:0}.services-section{position:relative}.services-layout{grid-template-columns:minmax(260px,.9fr) minmax(0,1.5fr);align-items:start;gap:1rem;display:grid}.services-feature{border:1px solid color-mix(in srgb, var(--brand-green-dark) 30%, var(--border));background:radial-gradient(circle at 100% 0,#d7e7d9 0%,#fff0 55%),linear-gradient(145deg,#edf5ee 0%,#f9fcf9 100%);border-radius:1rem;padding:1.35rem;box-shadow:0 10px 24px #121e150f}.services-feature-label{letter-spacing:.08em;text-transform:uppercase;color:var(--brand-green-dark);background:#dbeadf;border-radius:999px;padding:.28rem .58rem;font-size:.76rem;font-weight:800;display:inline-block}.services-feature h3{color:var(--heading-color);margin:.85rem 0 .55rem;font-size:1.25rem}.services-feature p{color:color-mix(in srgb, var(--text-color) 92%, black)}.services-feature ul{gap:.55rem;margin:1rem 0 0;padding-left:1.15rem;display:grid}.service-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.service-card{border:1px solid var(--border);background:var(--surface-card);border-radius:.75rem;padding:1rem 1rem 1.05rem;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden;box-shadow:0 10px 30px #121e150d}.service-card:before{content:"";opacity:0;background:linear-gradient(140deg,#e9f6ecb3,#fff0);transition:opacity .3s;position:absolute;inset:0}.service-card:after{content:"";background:color-mix(in srgb, var(--brand-green-dark) 9%, transparent);pointer-events:none;border-radius:50%;width:150px;height:150px;position:absolute;inset:auto -22% -58% auto}.service-card:hover:before{opacity:1}.service-card:hover{border-color:color-mix(in srgb, var(--brand-green-dark) 22%, var(--border));box-shadow:0 14px 28px #121e151c}.service-number{letter-spacing:.1em;color:var(--brand-green-dark);margin:0 0 .35rem;font-size:.82rem;font-weight:800}.service-card h3{margin:0 0 .65rem;font-size:1.08rem}.service-card ul{gap:.45rem;margin:0;padding-left:1.15rem;display:grid}.service-card li{z-index:1;position:relative}@media (width<=900px){.services-layout,.service-groups{grid-template-columns:1fr}}.site{min-height:100vh;position:relative}.site-header{z-index:10;border-bottom:1px solid color-mix(in srgb, var(--border) 75%, white);background:color-mix(in srgb, var(--surface-card) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.2rem;display:flex;position:sticky;top:0}.brand{color:var(--heading-color);align-items:center;gap:.7rem;font-weight:700;text-decoration:none;display:flex}.brand img{object-fit:cover;border:1px solid color-mix(in srgb, var(--border) 65%, white);border-radius:50%;width:46px;height:46px}.site-header nav{flex-wrap:wrap;gap:.25rem;display:flex}.site-header nav a{color:var(--text-color);border:1px solid #0000;border-radius:999px;padding:.45rem .9rem;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s}.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--heading-color);background:var(--surface-muted)}.site-header nav a.active{color:var(--heading-color);background:color-mix(in srgb, var(--surface-muted) 72%, white);border-color:color-mix(in srgb, var(--brand-green-dark) 18%, var(--border))}.section{padding:4.4rem 1.6rem;scroll-margin-top:92px}main .section+.section{border-top:1px solid color-mix(in srgb, var(--border) 68%, white)}.hero{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:clamp(1.2rem,3vw,2.6rem);min-height:clamp(450px,62vh,620px);display:grid}.hero-copy p{max-width:58ch;color:color-mix(in srgb, var(--text-color) 88%, black)}.hero-copy h1{letter-spacing:-.02em;max-width:12ch;line-height:1.08}.eyebrow{text-transform:uppercase;letter-spacing:.09em;color:var(--brand-green-dark);margin-bottom:.6rem;font-size:.84rem;font-weight:700}.cta-group{flex-wrap:wrap;gap:.8rem;margin-top:1.5rem;display:flex}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.7rem 1.2rem;font-weight:700;text-decoration:none;transition:transform .18s,box-shadow .18s,background-color .18s,color .18s;display:inline-flex}.button:hover{transform:translateY(-1px);box-shadow:0 8px 20px #15291c29}.button:active{transform:translateY(0);box-shadow:0 4px 12px #15291c29}.button.primary{color:#fff;background:var(--brand-green-dark)}.button.secondary{color:var(--heading-color);background:var(--surface-muted);border-color:var(--border)}.hero-media{justify-content:center;display:flex}.hero-media-shell{position:relative}.hero-media img{border:1px solid color-mix(in srgb, var(--border) 60%, white);border-radius:1.15rem;width:min(100%,460px);box-shadow:0 14px 32px #1023191f}.hero-chip{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-card) 82%, #dfeee3);color:var(--heading-color);border-radius:999px;padding:.36rem .78rem;font-size:.8rem;font-weight:700;position:absolute;box-shadow:0 12px 26px #1023191a}.hero-chip-one{top:-.65rem;left:-.6rem}.hero-chip-two{bottom:.8rem;right:.75rem}.section-heading{margin-bottom:1.1rem}.work-gallery{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;align-items:start;gap:1rem;display:grid}.work-card{border:1px solid var(--border);background:var(--surface-card);border-radius:1rem;grid-column:span 6;margin:0;overflow:hidden;box-shadow:0 10px 28px #10231914}.work-card:first-child,.work-card:nth-child(4){grid-column:span 7}.work-card:nth-child(2),.work-card:nth-child(3){grid-column:span 5}.work-card img{aspect-ratio:auto;object-fit:contain;width:100%;display:block}.work-card figcaption{color:color-mix(in srgb, var(--text-color) 90%, black);padding:.9rem 1rem 1rem;font-size:.97rem}.contact p{max-width:62ch}.contact-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.contact-links a{color:var(--heading-color);border:1px solid color-mix(in srgb, var(--border) 80%, white);background:color-mix(in srgb, var(--surface-muted) 45%, white);border-radius:.9rem;padding:.85rem 1rem;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s}.contact-links a:hover{border-color:color-mix(in srgb, var(--brand-green-dark) 26%, var(--border));transform:translateY(-2px);box-shadow:0 10px 22px #1023191a}.contact-label{text-transform:uppercase;letter-spacing:.08em;color:var(--brand-green-dark);margin-bottom:.15rem;font-size:.78rem;font-weight:700;display:block}.contact-value{font-size:1.08rem;font-weight:800;display:block}.site-footer{border-top:1px solid color-mix(in srgb, var(--border) 68%, white);text-align:center;background:color-mix(in srgb, var(--surface-muted) 55%, white);padding:1.3rem 1.2rem 1.8rem}.site-footer p{margin:.2rem 0}@media (width<=900px){.site-header{flex-direction:column;align-items:flex-start}.hero{grid-template-columns:1fr;gap:1.7rem;min-height:auto}.work-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.work-card,.work-card:first-child,.work-card:nth-child(2),.work-card:nth-child(3),.work-card:nth-child(4){grid-column:auto}.hero-chip-one{top:-.6rem;left:.65rem}.hero-chip-two{bottom:.55rem;right:.6rem}.contact-links{grid-template-columns:1fr}}@media (width<=620px){.brand span{display:none}.section{padding:3rem 1rem 2.7rem}.site-header nav a{padding:.4rem .65rem;font-size:.92rem}.hero-chip{font-size:.72rem}.work-gallery{grid-template-columns:1fr}.hero-copy h1{font-size:clamp(1.9rem,9vw,2.55rem)}}
