:root{--bg: #ffffff;--text: #1f2428;--muted: #5f666c;--line: #dfe3e6;--accent: #4f636f;--max: 1100px}html.dark{--bg: #111111;--text: #ededed;--muted: #999999;--line: #333333;--accent: #8eb3c7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:IBM Plex Sans,Inter,"Source Sans 3",sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background-color .3s ease,color .3s ease}::selection{background:var(--accent);color:#fff}.container{width:min(92vw,var(--max));margin:0 auto}.site-header{position:sticky;top:0;z-index:40;border-bottom:1px solid var(--line);background:#fffffff2;backdrop-filter:blur(10px);transition:background-color .3s ease,border-color .3s ease}html.dark .site-header{background:#111111f2}.site-header-inner{padding:1.55rem 0 1.35rem;transition:padding .24s ease;display:flex;justify-content:space-between;align-items:center}.site-brand{display:inline-flex;align-items:center;gap:1rem;text-decoration:none}.site-brand-mark{width:3.35rem;height:3.35rem;flex:0 0 auto;display:block;transition:width .24s ease,height .24s ease,filter .3s ease}html.dark .site-brand-mark{filter:invert(.9) hue-rotate(180deg)}.site-brand-name{color:#5a6670;text-transform:uppercase;font-size:.98rem;font-weight:700;letter-spacing:.08em;white-space:nowrap;transition:font-size .24s ease,letter-spacing .24s ease}.site-header.is-collapsed .site-header-inner{padding:.9rem 0}.site-header.is-collapsed .site-brand-mark{width:2.15rem;height:2.15rem}.site-header.is-collapsed .site-brand-name{font-size:.9rem;letter-spacing:.06em}.brand-mark-link{display:inline-flex;align-items:center;min-height:2.15rem;padding-left:2.75rem;white-space:nowrap;background:url(/brand/greylayer-mark.svg) left center / 2rem 2rem no-repeat}.brand{padding:1rem 0;letter-spacing:.04em;font-size:.88rem;color:var(--muted);text-transform:uppercase;font-weight:500}.section{padding:4.5rem 0;border-bottom:1px solid var(--line)}.hero{padding:7rem 0 6rem}.eyebrow{text-transform:uppercase;font-size:.76rem;letter-spacing:.12em;color:var(--muted);margin:0 0 1rem}h1,h2,h3{margin:0;line-height:1.25;font-weight:500}h1{max-width:14ch;font-size:clamp(2rem,4.5vw,3.4rem)}h2{font-size:clamp(1.35rem,2.5vw,1.9rem)}h3{font-size:1.02rem}p{margin:0 0 1rem;max-width:72ch;color:var(--muted)}.lead{margin-top:1.6rem;font-size:clamp(1.05rem,2.1vw,1.24rem);color:var(--text);max-width:65ch}.button{display:inline-block;margin-top:1rem;padding:.72rem 1.15rem;border:1px solid var(--accent);color:var(--accent);text-decoration:none;font-weight:500;letter-spacing:.01em;transition:background .2s ease,color .2s ease}.button:hover,.button:focus-visible{background:var(--accent);color:#fff}.section-grid{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,2fr);gap:2rem 4rem;align-items:start}.service-list{display:grid;grid-template-columns:1fr;gap:.8rem}.service-card{border:1px solid var(--line);padding:1rem 1rem .9rem}.service-card p{margin-top:.42rem;margin-bottom:0}.contact a{color:var(--text);text-decoration:none;border-bottom:1px solid var(--line)}.contact a:hover,.contact a:focus-visible{border-color:var(--accent)}.theme-toggle{background:transparent;border:1px solid var(--line);color:var(--text);display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;cursor:pointer;padding:0;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.theme-toggle:hover,.theme-toggle:focus-visible{border-color:var(--accent);color:var(--accent)}.theme-toggle svg{width:1.15rem;height:1.15rem;fill:currentColor}@media(max-width:780px){.site-header-inner{padding:1.15rem 0 1rem}.site-brand{gap:.72rem}.site-brand-mark{width:2.7rem;height:2.7rem}.site-brand-name{font-size:.84rem;letter-spacing:.07em}.site-header.is-collapsed .site-header-inner{padding:.72rem 0}.site-header.is-collapsed .site-brand-mark{width:1.85rem;height:1.85rem}.site-header.is-collapsed .site-brand-name{font-size:.76rem}.brand-mark-link{min-height:1.95rem;padding-left:2.4rem;background-size:1.72rem 1.72rem}.hero{padding-top:4.4rem}.section{padding:3.5rem 0}.section-grid{grid-template-columns:1fr;gap:1.2rem}}
