:root{--ink:#18211f;--ink-soft:#3a4541;--steel:#5c6661;--rule:#b7bbb4;--rule-strong:#8d948c;--paper:#f1efe7;--paper-deep:#e6e3d7;--panel:#f7f5ef;--citron:#c8d600;--citron-ink:#1f2400;--danger:#8b2e1f;--danger-bg:#f5e6e2;--focus:#1a4d8c;--radius:2px;--header-h:4.25rem;--space:clamp(1rem, 3vw, 2rem);--max:72rem;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Segoe UI,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,sans-serif;line-height:1.5}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:320px;margin:0}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}h1,h2,h3,h4,p{margin:0}ul,ol{margin:0;padding:0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:var(--paper);padding:.5rem .75rem;text-decoration:none;position:absolute;top:-3rem;left:1rem}.skip-link:focus{top:.75rem}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.site-shell{flex-direction:column;min-height:100vh;display:flex}.site-header{z-index:40;background:color-mix(in srgb, var(--paper) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule);position:sticky;top:0}.header-inner{max-width:calc(var(--max) + 12vw);min-height:var(--header-h);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:.85rem 6vw;display:flex}.brand{gap:.1rem;min-width:0;text-decoration:none;display:grid}.brand strong{letter-spacing:.18em;font-size:1rem;font-weight:700}.brand span{letter-spacing:.12em;text-transform:uppercase;color:var(--steel);font-size:.68rem}.desktop-nav{gap:1.75rem;display:none}.desktop-nav a{color:var(--ink-soft);border-bottom:1px solid #0000;padding-bottom:.15rem;font-size:.92rem;text-decoration:none}.desktop-nav a:hover,.desktop-nav a:focus-visible{color:var(--ink);border-bottom-color:var(--citron)}.header-actions{align-items:center;gap:.75rem;display:flex}.header-cta{display:none}.menu-toggle{border:1px solid var(--rule-strong);background:var(--panel);cursor:pointer;border-radius:var(--radius);justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:inline-flex}.menu-icon{gap:6px;width:1.1rem;display:grid}.menu-icon span{background:var(--ink);height:1.5px;transition:transform .2s,opacity .2s;display:block}.menu-toggle[aria-expanded=true] .menu-icon span:first-child{transform:translateY(3.75px)rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon span:last-child{transform:translateY(-3.75px)rotate(-45deg)}.mobile-menu{border-top:1px solid var(--rule);background:var(--panel);padding:1rem 6vw 1.25rem}.mobile-menu[hidden]{display:none}.mobile-menu nav{gap:.75rem;display:grid}.mobile-menu a{border-bottom:1px solid var(--rule);padding:.65rem 0;font-size:1.05rem;text-decoration:none}.mobile-menu .btn{justify-content:center;width:100%;margin-top:.5rem}.btn{border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;min-height:2.75rem;padding:.65rem 1.15rem;text-decoration:none;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.btn-primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-primary:hover{background:#0f1614}.btn-ghost{border-color:var(--rule-strong);color:var(--ink);background:0 0}.btn-ghost:hover{border-color:var(--ink);background:var(--paper-deep)}.btn-text{border:0;border-bottom:1px solid var(--citron);min-height:auto;color:var(--ink);border-radius:0;width:fit-content;padding:0;font-size:.92rem;font-weight:600}.btn-text:hover{border-bottom-width:2px}.hero{max-width:calc(var(--max) + 12vw);gap:2.5rem;width:100%;margin:0 auto;padding:clamp(2.5rem,8vw,5.5rem) 6vw;display:grid}.hero-copy{gap:1.25rem;min-width:0;max-width:40rem;display:grid}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--steel);align-items:center;gap:.75rem;font-size:.72rem;font-weight:600;display:flex}.eyebrow .rule{background:var(--citron);flex-shrink:0;width:1.75rem;height:1px;display:inline-block}.hero h1{letter-spacing:-.045em;max-width:11ch;font-size:clamp(2.6rem,9vw,5.75rem);font-weight:700;line-height:.95}.hero-body{color:var(--ink-soft);max-width:38rem;font-size:clamp(1.02rem,2.2vw,1.18rem);line-height:1.65}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:.35rem;display:flex}.hero-availability{color:var(--steel);border-top:1px solid var(--rule);gap:.35rem;margin-top:.5rem;padding-top:1rem;font-size:.92rem;display:grid}.coord{letter-spacing:.08em;color:var(--ink);font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,Consolas,monospace;font-size:.72rem}.hero-panel{min-width:0}.hero-schematic{border:1px solid var(--rule-strong);background:linear-gradient(180deg, var(--panel), var(--paper-deep));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--citron) 18%, transparent);gap:1rem;padding:1.25rem;display:grid;position:relative}.schematic-label{letter-spacing:.14em;color:var(--steel);font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,Consolas,monospace;font-size:.68rem}.schematic-grid{background:var(--rule);border:1px solid var(--rule);grid-template-columns:1fr 1fr;gap:1px;display:grid}.schematic-grid .cell{background:var(--paper);gap:.35rem;min-width:0;padding:.85rem .9rem;display:grid}.schematic-grid .cell.span{grid-column:1/-1}.schematic-grid .cell span{letter-spacing:.1em;text-transform:uppercase;color:var(--steel);font-size:.65rem}.schematic-grid .cell strong{letter-spacing:.02em;word-break:break-word;font-size:.95rem;font-weight:650}.schematic-bar{background:linear-gradient(90deg, var(--citron) 0%, var(--citron) 28%, var(--rule) 28%, var(--rule) 100%);height:4px}.services,.approach,.close{width:100%;max-width:calc(var(--max) + 12vw);margin:0 auto;padding:clamp(3rem,8vw,5.5rem) 6vw}.services{border-top:1px solid var(--rule)}.section-intro{gap:.9rem;min-width:0;max-width:40rem;margin-bottom:2rem;display:grid}.section-intro h2,.close h2{letter-spacing:-.03em;overflow-wrap:anywhere;max-width:18ch;font-size:clamp(1.85rem,4.8vw,3.4rem);line-height:1.05}.lede{color:var(--ink-soft);max-width:40rem;font-size:1.05rem;line-height:1.65}.filter-bar{border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.filter-btn{border:1px solid var(--rule-strong);cursor:pointer;border-radius:var(--radius);min-height:2.5rem;color:var(--ink-soft);background:0 0;padding:.45rem .9rem;font-size:.9rem;transition:background-color .15s,border-color .15s,color .15s}.filter-btn:hover{border-color:var(--ink);color:var(--ink)}.filter-btn.is-active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.service-count{letter-spacing:.04em;color:var(--steel);margin-left:auto;font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,Consolas,monospace;font-size:.78rem}.service-grid{background:var(--rule-strong);border:1px solid var(--rule-strong);grid-template-columns:1fr;gap:1px;display:grid}.service-card{background:var(--panel);grid-template-rows:auto 1fr;min-width:0;display:grid}.service-card.is-selected{box-shadow:inset 3px 0 0 var(--citron)}.card-media{aspect-ratio:16/10;background:var(--paper-deep);border-bottom:1px solid var(--rule);min-width:0;overflow:hidden}.card-media img{object-fit:cover;width:100%;height:100%}.media-fallback{background:repeating-linear-gradient(-45deg, transparent, transparent 8px, color-mix(in srgb, var(--rule) 55%, transparent) 8px, color-mix(in srgb, var(--rule) 55%, transparent) 9px), var(--paper-deep);border-left:3px solid var(--citron);align-content:center;gap:.4rem;width:100%;height:100%;min-height:10rem;padding:1.25rem;display:grid}.fallback-code{letter-spacing:.12em;color:var(--steel);font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,Consolas,monospace;font-size:.7rem}.fallback-title{font-size:1.05rem;font-weight:700}.fallback-note{color:var(--ink-soft);font-size:.88rem}.card-body{align-content:start;gap:.75rem;min-width:0;padding:1.25rem;display:grid}.discipline-tag{letter-spacing:.12em;text-transform:uppercase;color:var(--steel);font-size:.68rem;font-weight:650}.card-body h3{letter-spacing:-.015em;overflow-wrap:anywhere;font-size:1.15rem;line-height:1.25}.card-body>p:not(.discipline-tag){color:var(--ink-soft);font-size:.96rem;line-height:1.55}.service-detail{border:1px solid var(--rule-strong);background:var(--paper);min-width:0;margin-top:1.25rem}.service-detail.has-selection{border-top:3px solid var(--citron)}.detail-empty{color:var(--steel);padding:1.5rem;font-size:.98rem}.detail-inner{gap:1rem;min-width:0;padding:clamp(1.25rem,3vw,2rem);display:grid}.detail-meta{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;display:flex}.detail-inner h3{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:clamp(1.25rem,3vw,1.85rem);line-height:1.2}.detail-description{color:var(--ink-soft);max-width:52rem;line-height:1.65}.detail-grid{border-top:1px solid var(--rule);gap:1.25rem;margin-top:.5rem;padding-top:1rem;display:grid}.detail-grid h4{letter-spacing:.12em;text-transform:uppercase;color:var(--steel);margin-bottom:.65rem;font-size:.72rem}.detail-grid ul{gap:.45rem;list-style:none;display:grid}.detail-grid li{color:var(--ink-soft);padding-left:1rem;line-height:1.45;position:relative}.detail-grid li:before{content:"";background:var(--citron);width:.4rem;height:1px;position:absolute;top:.55em;left:0}.detail-grid p{color:var(--ink-soft);line-height:1.55}.approach{border-top:1px solid var(--rule)}.principles{background:var(--rule);border:1px solid var(--rule);gap:1px;list-style:none;display:grid}.principles li{background:var(--panel);gap:.55rem;min-width:0;padding:1.35rem 1.25rem;display:grid}.principle-number{letter-spacing:.1em;color:var(--citron-ink);background:color-mix(in srgb, var(--citron) 55%, white);width:fit-content;padding:.2rem .45rem;font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,Consolas,monospace;font-size:.75rem;font-weight:700}.principles h3{letter-spacing:-.015em;font-size:1.15rem}.principles p{color:var(--ink-soft);line-height:1.55}.close{border-top:1px solid var(--rule);background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--paper-deep) 70%, transparent));justify-items:start;gap:1rem;display:grid}.site-footer{border-top:1px solid var(--rule);max-width:calc(var(--max) + 12vw);margin-top:auto;width:100%;color:var(--steel);gap:.55rem;margin-inline:auto;padding:1.75rem 6vw 2.5rem;font-size:.92rem;display:grid}.footer-brand{color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;display:flex}.footer-brand strong{letter-spacing:.16em;font-size:.9rem}.footer-note{color:var(--steel);font-size:.82rem}.dialog-root{z-index:80;place-items:end center;padding:0;display:grid;position:fixed;inset:0}.dialog-backdrop{background:color-mix(in srgb, var(--ink) 48%, transparent);position:absolute;inset:0}.dialog{z-index:1;background:var(--paper);border:1px solid var(--rule-strong);width:min(100%,32rem);max-height:min(92vh,40rem);box-shadow:0 -12px 40px color-mix(in srgb, var(--ink) 18%, transparent);border-bottom:0;padding:1.25rem 1.25rem 1.5rem;position:relative;overflow:auto}.dialog-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.dialog-header h2{letter-spacing:-.02em;font-size:1.35rem;line-height:1.2}.dialog-close{border:1px solid var(--rule);background:var(--panel);cursor:pointer;border-radius:var(--radius);flex-shrink:0;width:2.5rem;height:2.5rem;font-size:1.4rem;line-height:1}.dialog-intro{color:var(--ink-soft);margin-bottom:1.25rem;font-size:.95rem;line-height:1.5}.scope-form{gap:1rem;display:grid}.field{gap:.4rem;display:grid}.field label{font-size:.88rem;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--rule-strong);background:var(--panel);border-radius:var(--radius);width:100%;min-height:2.75rem;padding:.6rem .75rem}.field textarea{resize:vertical;min-height:7rem}.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:var(--danger);background:var(--danger-bg)}.field-error{color:var(--danger);font-size:.85rem}.form-success{border:1px solid color-mix(in srgb, var(--citron) 50%, var(--rule));background:color-mix(in srgb, var(--citron) 18%, var(--panel));padding:1.25rem;font-weight:600;line-height:1.5}.scope-form .btn-primary{width:100%}@media (width>=768px){.desktop-nav{display:flex}.header-cta{display:inline-flex}.menu-toggle{display:none}.mobile-menu{display:none!important}.hero{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:end;gap:3rem}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:1.2fr 1fr;gap:2rem}.principles{grid-template-columns:repeat(3,minmax(0,1fr))}.dialog-root{place-items:center;padding:1.5rem}.dialog{border-bottom:1px solid var(--rule-strong);max-height:min(88vh,42rem);padding:1.5rem 1.5rem 1.75rem}}@media (width>=1100px){.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero h1{max-width:10ch}}@media (width>=1440px){.header-inner,.hero,.services,.approach,.close,.site-footer{padding-left:max(6vw, calc((100vw - var(--max)) / 2));padding-right:max(6vw, calc((100vw - var(--max)) / 2))}.hero,.services,.approach,.close,.site-footer{max-width:none}}@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}}
