:root{--color-bg: #f7f7f3;--color-surface: #ffffff;--color-surface-alt: #f1f2ec;--color-text: #182226;--color-muted: #5b686d;--color-border: #d8ddd7;--color-accent: #244f4a;--color-accent-strong: #1b3e3a;--font-body: "Aptos", "Segoe UI", Arial, sans-serif;--font-heading: "Aptos Display", "Aptos", "Segoe UI", Arial, sans-serif;--space-1: .5rem;--space-2: .75rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2.5rem;--space-6: 4.5rem;--radius: .35rem;--shadow: 0 12px 24px rgba(24, 34, 38, .04);--max-width: 70rem}*,*:before,*:after{box-sizing:border-box}html{font-size:16px}body{margin:0;font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);line-height:1.6}img{display:block;max-width:100%;height:auto;border-radius:var(--radius)}a{color:var(--color-accent-strong);text-decoration:none;transition:color .2s ease}a:hover{text-decoration:underline}h1,h2,h3,p,ul{margin-top:0}h1,h2,h3{font-family:var(--font-heading);line-height:1.2}h1{font-size:clamp(2.4rem,5vw,4rem);letter-spacing:-.03em}h2{font-size:clamp(1.6rem,3vw,2.2rem)}h3{font-size:1.1rem}.container{width:min(calc(100% - 2.5rem),var(--max-width));margin:0 auto}.narrow{max-width:44rem}.section,.page-hero,.hero,.cta-band{padding:var(--space-6) 0}.section-alt,.page-hero,.cta-band{background:var(--color-surface-alt)}.section-alt{position:relative;overflow:hidden}.section-alt:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 84% 20%,transparent 0,transparent 38px,rgba(36,79,74,.1) 38px,rgba(36,79,74,.1) 40px,transparent 40px,transparent 78px,rgba(36,79,74,.072) 78px,rgba(36,79,74,.072) 80px,transparent 80px,transparent 118px,rgba(36,79,74,.048) 118px,rgba(36,79,74,.048) 120px,transparent 120px),radial-gradient(circle at 14% 78%,transparent 0,transparent 30px,rgba(91,104,109,.082) 30px,rgba(91,104,109,.082) 32px,transparent 32px,transparent 62px,rgba(91,104,109,.058) 62px,rgba(91,104,109,.058) 64px,transparent 64px,transparent 94px,rgba(91,104,109,.04) 94px,rgba(91,104,109,.04) 96px,transparent 96px),linear-gradient(180deg,#ffffff12,#fff0);background-repeat:no-repeat;opacity:.9}.section-alt>*{position:relative;z-index:1}.site-header{position:sticky;top:0;z-index:10;background:#f7f7f3f5;border-bottom:1px solid var(--color-border);backdrop-filter:blur(8px)}.header-inner,.footer-grid,.hero-grid,.split-grid,.contact-grid{display:grid;gap:var(--space-4)}.header-inner{align-items:center;padding:.72rem 0}.header-cta{display:grid;justify-items:end;gap:.5rem}.brand{display:inline-flex;align-items:center;gap:0;color:var(--color-text)}.brand img,.brand-mark-fallback{width:5.85rem;height:5.85rem}.brand img{object-fit:contain}.nav-list,.simple-list,.trust-strip{list-style:none;padding:0;margin:0}.nav-list{display:flex;flex-wrap:wrap;gap:.85rem}.button-row{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:2.875rem;padding:.75rem 1.25rem;border-radius:999px;border:1px solid var(--color-accent);font-weight:600;cursor:pointer;text-decoration:none;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.button-primary{background:var(--color-accent);color:#fff}.button-secondary{background:transparent;color:var(--color-accent-strong)}.button:hover{text-decoration:none}.hero-grid>:first-child{max-width:none}.hero h1{max-width:none;font-size:clamp(1.4rem,2.8vw,2.2rem);line-height:1.14}.hero h1+.lead{margin-top:1.2rem}.lead,.section-heading p,.muted{color:var(--color-muted)}.hero .lead{max-width:34rem;color:#182226d1}.cta-support{margin-top:.75rem;margin-bottom:0;color:var(--color-muted);font-size:.9rem;line-height:1.35}.card-grid{display:grid;gap:var(--space-4)}.card,.testimonial-card,.contact-form,.success-message{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow)}.card,.testimonial-card,.contact-form,.success-message{padding:var(--space-4)}.hero-image{padding:0;align-self:start;background:transparent;border:0;box-shadow:none}.hero-visual{min-height:100%;align-self:center}.hero-development-image{width:100%;aspect-ratio:16 / 10;object-fit:cover;border-radius:calc(var(--radius) + .05rem)}.about-grid{align-items:start}.about-image-card{display:grid;place-items:center}.about-headshot{width:min(100%,14rem)}.simple-list li,.trust-strip li{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.trust-strip{display:grid;gap:var(--space-2)}.testimonial-quote{font-size:1.05rem}.testimonial-meta{margin-bottom:0;color:var(--color-muted);font-weight:600}.contact-form{display:grid;gap:var(--space-3)}.contact-form label{display:grid;gap:var(--space-1);font-weight:600}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:.85rem .95rem;border:1px solid var(--color-border);border-radius:.35rem;font:inherit;color:var(--color-text);background:#fff}.contact-form textarea{resize:vertical}.success-message{margin-bottom:var(--space-3);color:var(--color-accent-strong)}.site-footer{padding:var(--space-5) 0;border-top:1px solid var(--color-border);background:var(--color-surface)}.footer-title{font-weight:700}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:48rem){.header-inner{grid-template-columns:auto 1fr auto}.hero-grid,.split-grid,.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.hero-grid{align-items:center;gap:1.75rem}.footer-grid{grid-template-columns:1.5fr 1fr}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trust-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.trust-strip li{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);background:var(--color-surface)}}@media(max-width:60rem){.brand img,.brand-mark-fallback{width:5.2rem;height:5.2rem}}@media(max-width:47.99rem){.site-header{position:static}.header-cta{justify-items:start}.brand img,.brand-mark-fallback{width:4.6rem;height:4.6rem}.hero h1{max-width:none}.hero .lead{max-width:32rem}}
