:root{--bg: #f5f5f5;--bg-card: #ffffff;--section-capabilities: #f1f1f1;--section-past-work: #e6e6e6;--section-sweet-spot: #dbdbdb;--border: rgba(55, 55, 55, .18);--border-subtle: rgba(55, 55, 55, .12);--text: #2b2b2b;--text-muted: #5a5a5a;--ink: #14191f;--accent: #4a4a4a;--accent-hover: #383838;--warm: #a35f3f;--warm-hover: #8b4e32;--on-warm: #fffdf9;--eyebrow: #666666;--footer-bg: #efefef;--max: 68rem;--space: clamp(1rem, 3vw, 1.5rem);--radius: 12px;font-family:DM Sans,system-ui,-apple-system,sans-serif;line-height:1.6;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;padding:.75rem 1rem;background:var(--warm);color:var(--on-warm);font-weight:600;border-radius:0 0 var(--radius) 0}.skip-link:focus{left:0}.container{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--space)}.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--border-subtle);background:#f5f5f5f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4rem}.brand{font-weight:700;font-size:1.05rem;letter-spacing:-.02em;color:var(--accent);text-decoration:none}.brand:hover{color:var(--accent-hover)}.header-contact{position:relative}button.header-cta{background:none;border:none;cursor:pointer;font-family:inherit;padding:0;font-size:.9375rem;font-weight:600;color:var(--warm);text-decoration:none}button.header-cta:hover{color:var(--warm-hover)}.contact-panel{position:absolute;top:calc(100% + .5rem);right:0;z-index:60;min-width:15rem;max-width:min(18rem,calc(100vw - 2 * var(--space)));padding:1rem 1.15rem 1.1rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);box-shadow:0 12px 32px #14191f1a;text-align:left}.contact-panel-name{margin:0;font-size:1rem;font-weight:700;color:var(--ink);line-height:1.3}.contact-panel-company{margin:.35rem 0 0;font-size:.875rem;font-weight:600;color:var(--accent);line-height:1.35}.contact-panel-legal{font-weight:500;color:var(--text-muted)}.contact-panel-phone{margin:.75rem 0 0;font-size:.9375rem;font-weight:500;color:var(--text);letter-spacing:.02em}.contact-panel-email{display:inline-block;margin-top:.4rem;font-size:.9375rem;font-weight:600;color:var(--warm);text-decoration:none;word-break:break-all}.contact-panel-email:hover{color:var(--warm-hover);text-decoration:underline}.hero-anchor{height:0;overflow:hidden}.hero{padding-block:clamp(3rem,10vw,5.25rem);background:var(--bg-card)}.section-services{background:var(--section-capabilities)}.section-work{background:var(--section-past-work)}.work-blurb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem;max-width:52rem}.work-blurb{white-space:pre-line}.hero-inner{max-width:42rem}.eyebrow{margin:0 0 1rem;font-size:.8125rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--eyebrow)}.hero-title{margin:0 0 1.25rem;font-size:clamp(2rem,5vw,2.75rem);font-weight:700;line-height:1.15;letter-spacing:-.03em;color:var(--ink)}.hero-lede{margin:0 0 2rem;font-size:1.125rem;color:var(--text-muted);line-height:1.65}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.hero-note{margin:0;font-size:.875rem;color:var(--text-muted);max-width:36rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1.25rem;font-family:inherit;font-size:.9375rem;font-weight:600;text-decoration:none;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .1s ease}.btn:active{transform:scale(.98)}.btn-primary{background:var(--warm);color:var(--on-warm)}.btn-primary:hover{background:var(--warm-hover);color:var(--on-warm)}.btn-lg{padding:.85rem 1.75rem;font-size:1rem}main{flex:1}.section{padding-block:clamp(2.5rem,6.5vw,3.75rem)}.section--compact{padding-block:clamp(1.25rem,3.25vw,1.875rem)}.section-alt{background:var(--section-sweet-spot)}.section-panel{margin:0}.section-panel-summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;cursor:pointer;list-style:none;padding:0;-webkit-user-select:none;user-select:none}.section-panel-summary::-webkit-details-marker{display:none}.section-panel-summary::marker{display:none;content:""}.section-panel-summary:focus{outline:none}.section-panel-summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.section-panel-chevron{display:flex;flex-shrink:0;color:var(--accent);transition:transform .2s ease}.section-panel-chevron svg{display:block}details[open] .section-panel-chevron{transform:rotate(180deg)}.section-panel-body{padding-top:1.1rem;margin-top:.35rem;border-top:1px solid var(--border-subtle)}.section-title{margin:0 0 1rem;font-size:clamp(1.5rem,3vw,1.875rem);font-weight:700;letter-spacing:-.02em;color:var(--ink)}.section-title.section-panel-title{margin:0;line-height:1.2;flex:1;text-align:left}.section-panel-heading-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem}.section-panel-heading-sep{color:var(--border);font-weight:500;opacity:.85}.section-panel-heading-sub{font-size:clamp(1rem,2.4vw,1.2rem);font-weight:500;color:var(--text-muted);letter-spacing:-.01em;line-height:1.25}.section-intro{margin:0 0 2rem;font-size:1.0625rem;color:var(--text-muted);max-width:48rem}.card-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}@media (min-width: 640px){.card-list{grid-template-columns:repeat(2,1fr)}}.card{margin:0;padding:1.25rem 1.35rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);font-size:.9375rem;color:var(--text);line-height:1.6;box-shadow:0 1px 3px #14191f0d}.section-contact{padding-block:clamp(3rem,8vw,4.5rem);background:#f7f7f7}.contact-inner{text-align:center;max-width:40rem;margin-inline:auto}.contact-body{margin:0 0 1.75rem;font-size:1.0625rem;color:var(--text-muted)}.site-footer{border-top:1px solid var(--border-subtle);padding-block:1.35rem;background:var(--footer-bg)}.footer-inner p{margin:0;font-size:.8125rem;color:var(--text-muted);text-align:center}
