:root{--ground:#fff;--surface:#f1f3f4;--illustration-ground:#e4eae9;--ink:#182024;--secondary:#4e5c62;--accent:#00685f;--accent-hover:#004e47;--on-accent:#fff;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--text:1.125rem;--small:1rem;--heading:clamp(2rem, 4vw, 3.75rem);--subheading:clamp(1.35rem, 2vw, 1.75rem);--gutter:clamp(1.25rem, 4.4vw, 4rem);--section-space:clamp(4rem, 8vw, 7rem);--space-md:1.5rem;--space-lg:2.5rem;--space-xl:4rem;--duration:.2s;--ease:cubic-bezier(.2,.65,.3,1);font-family:var(--font);color:var(--ink);background:var(--ground);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0}a{color:inherit;text-underline-offset:.3em}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:var(--on-accent)}h1,h2,h3,p,dl,dd,figure{margin:0}h1,h2{letter-spacing:-.055em;font-weight:500}h2{font-size:var(--heading);text-wrap:balance;line-height:1.08}h3{font-size:var(--small);font-weight:500}p,dd{font-size:var(--text);line-height:1.6}.frame>*,.work-layout>*,.services>*,.about>*,.contact-main>*{min-width:0}.frame{width:min(100%,1440px);padding-inline:var(--gutter);margin-inline:auto}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--ground);z-index:5;padding:1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{justify-content:space-between;align-items:center;gap:var(--space-lg);min-height:108px;display:flex}.wordmark{letter-spacing:-.035em;align-items:center;min-height:44px;font-size:1.35rem;font-weight:600;text-decoration:none;display:inline-flex}.wordmark-detail{font-size:var(--small);letter-spacing:0;color:var(--secondary);margin-left:1rem;font-weight:400;display:inline-block}nav{gap:2rem;display:flex}nav a{min-height:44px;transition:color var(--duration) var(--ease);align-items:center;text-decoration:none;display:inline-flex}nav a:hover,nav a:focus-visible{color:var(--accent)}nav a:active{color:var(--accent-hover)}.menu-toggle{display:none}.hero{align-items:end;column-gap:var(--space-lg);padding-top:clamp(3rem,7vw,6rem);padding-bottom:var(--space-lg);grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);display:grid}h1{letter-spacing:-.065em;font-size:clamp(3.5rem,9.8vw,8.75rem);line-height:.94}.hero-bottom{padding-bottom:.3rem}.hero-copy{max-width:390px}.hero-copy p{text-wrap:pretty;line-height:1.65}.button{background:var(--accent);min-height:54px;color:var(--on-accent);transition:background-color var(--duration) var(--ease), transform var(--duration) var(--ease);justify-content:space-between;align-items:center;gap:2rem;margin-top:2rem;padding:.85rem 1.4rem;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent-hover);transform:translateY(-2px)}.button:active{transform:translateY(0)}.text-link{min-height:44px;font-size:var(--small);align-items:center;gap:1rem;margin-top:.75rem;text-decoration:none;display:inline-flex}.text-link span,.button span,.footer-bottom a span{transition:transform var(--duration) var(--ease)}.text-link:hover span,.button:hover span{transform:translate(3px,-3px)}.hero-context{font-size:var(--small);color:var(--secondary);grid-column:1/-1;margin-top:clamp(3rem,6vw,5rem)}.hero-context span{margin-inline:.75rem}.work-section{padding-block:var(--section-space);background:var(--surface)}.work-layout{gap:var(--space-xl);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:end;display:grid}.work-intro h2{max-width:30ch;font-size:clamp(1.4rem,3.3vw,3rem)}.project-summary{justify-self:end;max-width:370px}.project-status{font-size:var(--small);color:var(--secondary);margin-top:1rem}.project-showcase{margin-top:var(--space-lg);background:var(--ink);padding:clamp(1rem,3vw,2.5rem)}.capability-selector{flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;display:flex}.capability-selector button{min-height:48px;color:var(--ground);cursor:pointer;transition:background-color var(--duration) var(--ease), color var(--duration) var(--ease);background:0 0;border:0;flex:auto;padding:.7rem 1rem}.capability-selector button:hover{background:var(--secondary)}.capability-selector button[aria-pressed=true]{background:var(--ground);color:var(--ink)}.capability-selector button:focus-visible{outline-color:var(--ground)}.capability-selector button:active{opacity:.8}.capability-detail{grid-template-columns:minmax(0,1fr) minmax(0,3fr);align-items:center;gap:2rem;display:grid}.capability-copy{color:var(--ground);min-width:0}.capability-copy h3{font-size:var(--subheading);letter-spacing:-.025em;margin-bottom:1rem}.capability-copy p{font-size:var(--small)}.project-visual{min-width:0}.project-visual img{width:100%;height:auto;display:block}figcaption{color:var(--ground);margin-top:1rem;font-size:.875rem;line-height:1.5}.demo-workspace{color:var(--ink);background:var(--ground);font-size:.875rem}.demo-topbar{background:var(--illustration-ground);justify-content:space-between;gap:1rem;padding:1.1rem 1.5rem;display:flex}.demo-topbar span:last-child{color:var(--accent)}.demo-body{grid-template-columns:150px minmax(0,1fr);min-height:330px;display:grid}.demo-rail{background:var(--surface);color:var(--secondary);flex-direction:column;gap:1.5rem;padding:2rem 1rem;display:flex}.demo-rail strong{color:var(--ink);font-weight:500}.demo-content{animation:settle .24s var(--ease);min-width:0;padding:2rem 1.5rem 1rem}.demo-heading{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.demo-heading p{letter-spacing:-.035em;font-size:1.35rem;font-weight:500}.demo-heading span{color:var(--secondary);font-size:.75rem}.demo-note{color:var(--secondary);margin-block:.3rem 1.5rem;font-size:.875rem}.demo-workspace table{border-collapse:collapse;table-layout:fixed;width:100%}.demo-workspace th,.demo-workspace td{text-align:left;overflow-wrap:anywhere;border-bottom:1px solid var(--illustration-ground);padding:1rem .4rem;line-height:1.4}.demo-workspace th{color:var(--secondary);font-size:.75rem;font-weight:400}.demo-workspace td:first-child{font-weight:500}.demo-workspace td:last-child,.demo-workspace th:last-child{text-align:right;font-variant-numeric:tabular-nums}.demo-bottom{color:var(--secondary);justify-content:space-between;gap:1rem;padding-top:1.5rem;font-size:.75rem;display:flex}.services{gap:var(--space-xl);padding-block:var(--section-space);grid-template-columns:1fr 1fr;display:grid}.section-intro p{max-width:360px;margin-top:var(--space-md)}.service-list{gap:2rem;display:grid}.service-list>div{background:var(--surface);padding:1.5rem}dt{font-size:var(--subheading);letter-spacing:-.03em;margin-bottom:.5rem}dd{max-width:440px}.about{gap:var(--space-xl);padding-block:var(--space-lg) var(--section-space);grid-template-columns:1fr 1.2fr;display:grid}.about h2{align-self:start}.about-copy{max-width:620px}.about-copy p{letter-spacing:-.03em;text-wrap:pretty;font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.4}.contact{background:var(--accent-hover);color:var(--ground);padding-block:var(--section-space) var(--space-md)}.contact-main{align-items:end;gap:var(--space-xl);grid-template-columns:1.5fr 1fr;display:grid}.contact-main h2{margin-bottom:1.5rem;font-size:clamp(2.5rem,6vw,6rem)}.contact-details{justify-self:end;max-width:360px}.contact-details h3{margin-bottom:1rem}.contact-details p{font-size:var(--small)}.contact a:focus-visible{outline-color:var(--ground)}.contact .text-link:hover{text-decoration:underline}.contact-action{background:var(--ground);color:var(--accent-hover);justify-content:space-between;min-height:52px;padding:.85rem 1.25rem}.contact-action:hover{background:var(--illustration-ground)}.contact-action:active{opacity:.85}.contact-links{flex-wrap:wrap;column-gap:1rem;display:flex}.footer-bottom{margin-top:var(--space-xl);justify-content:space-between;align-items:center;gap:1rem;font-size:.875rem;display:flex}.footer-bottom a{align-items:center;gap:1rem;min-height:44px;text-decoration:none;display:inline-flex}.footer-bottom a:hover span{transform:translateY(-3px)}@keyframes settle{0%{opacity:.65;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (width<=1100px){.demo-rail{display:none}.demo-body{grid-template-columns:minmax(0,1fr)}.hero{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}h1{font-size:clamp(3.5rem,9vw,7rem)}.capability-detail{grid-template-columns:minmax(0,1fr) minmax(0,2.5fr);gap:1.5rem}}@media (width<=800px){.capability-selector{scrollbar-width:thin;scrollbar-color:var(--secondary) var(--ink);flex-wrap:nowrap;max-width:100%;padding:.5rem;scroll-padding-inline:.5rem;overflow-x:auto}.capability-selector button{white-space:nowrap;flex:none}.hero{grid-template-columns:1fr;gap:2rem}h1{font-size:clamp(3.5rem,12vw,6rem)}.hero-copy{max-width:530px}.hero-context{margin-top:0}.hero-note{margin-left:1rem;display:inline-block}.hero-bottom{flex-wrap:wrap;align-items:end;gap:1rem;display:flex}.work-layout{grid-template-columns:1fr;gap:1.5rem}.work-intro h2{max-width:35ch;font-size:clamp(1.4rem,4vw,2rem)}.project-summary{justify-self:start;max-width:560px}.capability-detail{grid-template-columns:1fr}.capability-copy{min-height:110px}.capability-copy p{max-width:60ch}.capability-copy h3{margin-bottom:.5rem}.services,.about{gap:2rem}.contact-main{grid-template-columns:1fr 1fr;gap:2rem}}@media (width<=600px){.site-header{flex-wrap:wrap;gap:0;min-height:88px}.wordmark{flex-direction:column;justify-content:center;align-items:start}.wordmark-detail{margin:.15rem 0 0;font-size:.875rem;display:block}.menu-toggle{min-height:48px;color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:1rem;padding:.5rem 0 .5rem 1rem;display:flex}nav{gap:.5rem;width:100%;padding-block:.5rem 1rem;display:none}nav.is-open{flex-direction:column;display:flex}nav a{background:var(--surface);padding-inline:1rem}nav a:hover{background:var(--illustration-ground)}.hero{padding-top:2.5rem}.hero-note{margin-left:0}.hero-context{overflow-wrap:anywhere;font-size:.875rem}.button{gap:1rem;max-width:100%}.hero-context span{margin-inline:.25rem}.services,.about,.contact-main{grid-template-columns:1fr}.service-list>div{padding:1.25rem}.about{padding-top:0}.project-showcase{padding:1rem}.capability-selector{gap:.25rem;margin-bottom:1.5rem}.capability-selector button{padding:.65rem .6rem;font-size:.875rem}.capability-copy{min-height:145px}.demo-topbar{padding:1rem .75rem;font-size:.75rem}.demo-content{padding:1.25rem .75rem 1rem}.demo-heading{flex-direction:column;gap:.25rem}.demo-heading p{font-size:1.2rem}.demo-body{min-height:350px}.demo-workspace table{font-size:.875rem}.demo-workspace th,.demo-workspace td{vertical-align:top;padding:1rem .25rem}.demo-workspace th:first-child{width:38%}.demo-workspace th:nth-child(2){width:36%}.demo-topbar,.demo-bottom{flex-wrap:wrap;gap:.5rem}.demo-bottom{font-size:.75rem}.contact-details{justify-self:start}.footer-bottom{flex-wrap:wrap;margin-top:2rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.button:hover,.text-link:hover span,.button:hover span,.footer-bottom a:hover span{transform:none}}
