:root{--ink:#18211f;--ink-secondary:#5a6660;--paper:#f1efe7;--paper-alt:#eae7de;--rule:#b7bbb4;--rule-light:#d4d6d2;--citron:#bfb032;--citron-dim:#a89a28;--citron-pale:#eeebb3;--overlay:#18211f8c;--font:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;color:var(--ink);background:var(--paper);font-family:var(--font);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}img{max-width:100%;height:auto;display:block}:focus-visible{outline:2px solid var(--citron);outline-offset:2px}.site-header{z-index:100;background:var(--paper);border-bottom:1px solid var(--rule);align-items:center;gap:2rem;padding:.75rem 4vw;display:flex;position:sticky;top:0}.brand{flex-direction:column;flex-shrink:0;gap:0;line-height:1.1;text-decoration:none;display:flex}.brand strong{letter-spacing:.14em;font-size:1rem;font-weight:700}.brand span{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-secondary);font-size:.65rem}.header-nav{gap:1.5rem;margin-left:auto;display:flex}.header-nav a{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-secondary);padding:.25rem 0;font-size:.8rem;text-decoration:none;transition:color .2s;position:relative}.header-nav a:hover{color:var(--ink)}.header-actions{align-items:center;gap:1rem;display:flex}.mobile-toggle{border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:3px;padding:.4rem .55rem;line-height:1;display:none}.mobile-toggle svg{display:block}.btn{letter-spacing:.03em;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;padding:.6rem 1.4rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.btn-primary{background:var(--citron);color:var(--ink);border-color:var(--citron)}.btn-primary:hover{background:var(--citron-dim);border-color:var(--citron-dim)}.btn-secondary{color:var(--ink);border-color:var(--ink);background:0 0}.btn-secondary:hover{background:var(--ink);color:var(--paper)}.mobile-menu-overlay{z-index:200;background:var(--overlay);display:none;position:fixed;inset:0}.mobile-menu-overlay.open{justify-content:flex-end;display:flex}.mobile-menu{background:var(--paper);flex-direction:column;gap:1.5rem;width:min(85vw,320px);height:100%;padding:1.5rem;animation:.25s ease-out slideInRight;display:flex;overflow-y:auto}.mobile-menu-header{justify-content:space-between;align-items:center;display:flex}.mobile-menu-close{border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:3px;padding:.35rem .5rem;line-height:1}.mobile-menu-nav{flex-direction:column;gap:.25rem;display:flex}.mobile-menu-nav a{border-bottom:1px solid var(--rule-light);color:var(--ink);letter-spacing:.02em;padding:.65rem 0;font-size:1rem;text-decoration:none}.mobile-menu-actions{flex-direction:column;gap:.75rem;margin-top:auto;display:flex}.hero{align-content:center;gap:0;max-width:74rem;min-height:55vh;padding:4rem 4vw 5rem;display:grid}.hero .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-secondary);margin:0 0 .75rem;font-size:.72rem}.hero h1{letter-spacing:-.06em;max-width:14ch;margin:0 0 .5em;font-size:clamp(2.75rem,8vw,6.5rem);font-weight:700;line-height:.92}.hero-body{max-width:42rem;color:var(--ink-secondary);margin:0 0 2rem;font-size:1.1rem;line-height:1.65}.hero-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.hero-availability{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-secondary);border-top:1px solid var(--rule-light);max-width:28rem;margin-top:2.5rem;padding-top:1.5rem;font-size:.72rem}.services{border-top:1px solid var(--rule);padding:5rem 4vw 4rem}.services-header{max-width:74rem;margin:0 auto}.services .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-secondary);margin:0 0 .5rem;font-size:.72rem}.services h2{letter-spacing:-.04em;max-width:20ch;margin:0 0 .5em;font-size:clamp(2rem,5vw,4rem);font-weight:700;line-height:1}.services-intro{max-width:40rem;color:var(--ink-secondary);margin:0 0 2.5rem;font-size:1rem;line-height:1.6}.filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.filter-btn{border:1px solid var(--rule);cursor:pointer;letter-spacing:.03em;background:0 0;border-radius:3px;padding:.4rem 1rem;font-size:.78rem;font-weight:500;transition:background .15s,border-color .15s,color .15s}.filter-btn:hover{border-color:var(--ink);color:var(--ink)}.filter-btn[aria-pressed=true]{background:var(--citron);border-color:var(--citron);color:var(--ink);font-weight:600}.service-count{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-secondary);margin:0 0 1.5rem;font-size:.75rem}.service-grid-wrap{max-width:74rem}.service-grid{background:var(--rule);border:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.service-card{background:var(--paper);flex-direction:column;gap:.6rem;min-width:0;padding:1.5rem;transition:background .15s;display:flex}.service-card--selected{background:var(--paper-alt)}.card-discipline{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-secondary);margin:0;font-size:.65rem}.card-title{letter-spacing:-.01em;overflow-wrap:break-word;margin:0;font-size:1.1rem;font-weight:600;line-height:1.25}.card-summary{color:var(--ink-secondary);flex:1;margin:0;font-size:.88rem;line-height:1.55}.card-action{border:1px solid var(--rule);cursor:pointer;letter-spacing:.04em;text-transform:uppercase;background:0 0;border-radius:3px;align-self:flex-start;margin-top:.25rem;padding:.35rem .9rem;font-size:.72rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.card-action:hover{border-color:var(--ink);color:var(--ink)}.service-card--selected .card-action{background:var(--citron);border-color:var(--citron);color:var(--ink)}.service-detail{border:1px solid var(--rule);background:var(--paper-alt);max-width:74rem;margin-top:1px;overflow:hidden}.detail-inner{grid-template-columns:280px 1fr;gap:0;display:grid}.detail-image-wrap{background:var(--paper);border-right:1px solid var(--rule);justify-content:center;align-items:center;min-height:200px;padding:2rem;display:flex}.detail-image{object-fit:contain;max-width:100%;max-height:220px}.detail-content{flex-direction:column;gap:1rem;padding:2rem;display:flex}.detail-title{letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:600;line-height:1.3}.detail-description{color:var(--ink-secondary);margin:0;font-size:.92rem;line-height:1.65}.detail-deliverables{color:var(--ink-secondary);margin:0;padding:0 0 0 1.25rem;font-size:.85rem;line-height:1.7}.detail-deliverables li{margin-bottom:.15rem}.detail-response{letter-spacing:.03em;color:var(--ink-secondary);border-top:1px solid var(--rule-light);margin:0;padding-top:.75rem;font-size:.78rem;font-style:italic}.media-fallback{text-align:center;background:var(--paper);border:1px dashed var(--rule);flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:180px;padding:2.5rem 1.5rem;display:flex}.media-fallback-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-secondary);margin:0 0 .5rem;font-size:.65rem}.media-fallback-title{max-width:20ch;color:var(--ink);font-size:.85rem;font-weight:500;line-height:1.4}.approach{border-top:1px solid var(--rule);padding:5rem 4vw}.approach-inner{max-width:74rem}.approach .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-secondary);margin:0 0 .5rem;font-size:.72rem}.approach h2{letter-spacing:-.04em;max-width:22ch;margin:0 0 3rem;font-size:clamp(2rem,5vw,4rem);font-weight:700;line-height:1}.principles{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;display:grid}.principle{flex-direction:column;gap:.5rem;display:flex}.principle-number{font-family:var(--font-mono);letter-spacing:.05em;color:var(--citron);font-size:.75rem;font-weight:600}.principle-title{letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:600;line-height:1.3}.principle-body{color:var(--ink-secondary);margin:0;font-size:.88rem;line-height:1.6}.close{border-top:1px solid var(--rule);padding:5rem 4vw}.close-inner{max-width:48rem}.close .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-secondary);margin:0 0 .5rem;font-size:.72rem}.close h2{letter-spacing:-.03em;max-width:20ch;margin:0 0 .75em;font-size:clamp(1.75rem,4vw,3rem);font-weight:700;line-height:1.05}.close-body{color:var(--ink-secondary);max-width:38rem;margin:0 0 2rem;font-size:1rem;line-height:1.6}.site-footer{border-top:1px solid var(--rule);letter-spacing:.04em;color:var(--ink-secondary);flex-wrap:wrap;gap:.5rem 2rem;padding:2rem 4vw;font-size:.72rem;display:flex}.footer-line,.footer-region{margin:0}.footer-note{border-top:1px solid var(--rule-light);width:100%;margin:.5rem 0 0;padding-top:.75rem}.scope-dialog{background:var(--paper);border:none;border-radius:4px;width:calc(100vw - 2rem);max-width:34rem;max-height:90vh;margin:0;padding:0;overflow-y:auto;box-shadow:0 24px 80px #00000040}.scope-dialog::backdrop{background:var(--overlay)}.dialog-inner{padding:2rem}.dialog-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;display:flex}.dialog-header h2{letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:700}.dialog-close{border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:3px;flex-shrink:0;padding:.3rem .5rem;line-height:1}.dialog-intro{color:var(--ink-secondary);margin:0 0 1.75rem;font-size:.88rem;line-height:1.55}.scope-form{flex-direction:column;gap:1.25rem;display:flex}.form-field{flex-direction:column;gap:.3rem;display:flex}.form-label{letter-spacing:.03em;font-size:.78rem;font-weight:600}.form-input,.form-select,.form-textarea{border:1px solid var(--rule);background:var(--paper);border-radius:3px;padding:.55rem .75rem;font-size:.9rem;transition:border-color .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--citron);box-shadow:0 0 0 2px var(--citron-pale);outline:none}.form-textarea{resize:vertical;min-height:100px}.form-error{color:#a33;margin-top:.1rem;font-size:.75rem}.form-submit{margin-top:.5rem}.form-success{padding:1.5rem 0;font-size:1rem;line-height:1.6}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@media (width<=900px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-inner{grid-template-columns:1fr}.detail-image-wrap{border-right:none;border-bottom:1px solid var(--rule)}.principles{grid-template-columns:1fr 1fr;gap:2rem}}@media (width<=760px){.header-nav,.header-actions .btn{display:none}.mobile-toggle{display:block}.hero{min-height:auto;padding:3rem 4vw 3.5rem}.hero h1{font-size:clamp(2.25rem,10vw,3.5rem)}.hero-body{font-size:1rem}.services{padding:3.5rem 4vw}.services h2{font-size:clamp(1.6rem,6vw,2.5rem)}.service-grid{grid-template-columns:1fr}.service-detail{margin-top:1px}.detail-inner{grid-template-columns:1fr}.detail-image-wrap{border-right:none;border-bottom:1px solid var(--rule);padding:1.5rem}.approach{padding:3.5rem 4vw}.approach h2{font-size:clamp(1.6rem,6vw,2.5rem)}.principles{grid-template-columns:1fr;gap:1.75rem}.close{padding:3.5rem 4vw}.close h2{font-size:clamp(1.4rem,5vw,2rem)}.scope-dialog{width:calc(100vw - 1rem);max-width:100%}.dialog-inner{padding:1.5rem}}@media (width>=1200px){.hero{padding:6rem 6vw 7rem}.services{padding:6rem 6vw 5rem}.approach,.close{padding:6rem 6vw}.site-footer{padding:2.5rem 6vw}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.mobile-menu{animation:none}}
