:root{color-scheme:dark;--bg:#0b1418;--panel:#101d23;--fg:#d5dfe2;--muted:#94a6af;--line:#2a3a42;--copper:#d58972;--accent:#d6af9b;font-family:Inter,"Segoe UI",Arial,sans-serif;font-synthesis:none;background:var(--bg);color:var(--fg);font-size:15px;line-height:1.5}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button,a,input,summary,select,textarea{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{background:none;border:1px solid var(--line)}[hidden]{display:none!important}a:hover{color:var(--accent)}button:hover{border-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;letter-spacing:-.035em;line-height:1.1}h2{font-size:42px}h1 span,h2>span,.brand span,.dot{color:var(--copper)}.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}.mono{font:10px/1.5 Consolas,monospace;letter-spacing:.1em;color:var(--muted)}.skip{position:fixed;top:-80px;left:20px;z-index:99;background:var(--bg);padding:14px}.skip:focus{top:10px}
.nav{position:sticky;top:0;z-index:20;background:rgba(11,20,24,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav-inner{width:min(1200px,calc(100% - 96px));margin:auto;height:72px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:25px;letter-spacing:-1.5px;white-space:nowrap}.nav nav{display:flex;align-items:center;gap:32px;font-size:13px;color:var(--muted)}.nav a[aria-current]{color:var(--accent)}.nav-contact{border:1px solid var(--line);border-radius:999px;padding:7px 16px;color:var(--fg)}.menu-toggle{display:none}
.hero{padding-top:88px;text-align:center}.hero h1{font-size:clamp(45px,6vw,80px);line-height:1.05;letter-spacing:-.045em}.hero-line{font-size:15px;color:var(--muted);margin-top:24px}.model-scene{height:354px;position:relative;margin:48px auto 0;isolation:isolate;overflow:hidden}.scene-grid{position:absolute;inset:-80px -30px;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:52px 52px;opacity:.25;transform:perspective(600px) rotateX(55deg);transform-origin:center 75%;mask-image:linear-gradient(transparent,#000 25%,#000 70%,transparent)}.connectors{position:absolute;inset:0;width:100%;height:100%;opacity:.7}.signal{stroke-dasharray:5 650;animation:signal 9s linear infinite}.signal.second{animation-delay:-4.5s}@keyframes signal{to{stroke-dashoffset:-655}}.scene-col{position:absolute;top:54px;width:195px;display:grid;gap:16px;text-align:left}.scene-col.inputs{left:9%}.scene-col.outputs{right:9%}.scene-caption{margin-bottom:3px}.scene-col>span:not(.scene-caption){display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:var(--bg);font-size:12px}.scene-col i{font:10px Consolas,monospace;color:var(--copper);font-style:normal}.model-core{position:absolute;left:calc(50% - 140px);top:4px;width:280px}.model-core svg{width:100%;display:block}.model-core>span{display:block;margin-top:8px}.scene-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line)}.discipline-links{display:grid;grid-template-columns:repeat(4,1fr);text-align:left;padding:24px 0;gap:32px}.discipline-links a{font-size:14px;display:flex;justify-content:space-between}.discipline-links a span{color:var(--copper)}
.work{padding-top:100px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.model-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.model-card{border:1px solid var(--line);border-radius:16px;padding:28px 32px 20px;overflow:hidden;transition:background .25s,border-color .25s;display:block}.model-card:hover{background:var(--panel);border-color:#627078;color:var(--fg)}.card-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.card-title h3{font-size:20px;letter-spacing:-.025em}.card-title>span{color:var(--copper)}.chart{height:150px;margin:32px 0 20px;display:flex;align-items:center}.chart svg{width:100%;height:100%;overflow:visible}.chart-bars{display:flex;align-items:end;justify-content:space-between;gap:22px;padding:0 24px;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to top,transparent 0,transparent 49px,#24363e 50px)}.chart-bars>span{width:12%;height:var(--h);background:#314b57;border:1px solid #4b6670;border-bottom:0;border-radius:3px 3px 0 0}.chart-bars>span:nth-last-child(-n+2){background:#8b5f50;border-color:var(--copper)}.reverse>span{background:#705044;border-color:#a4715c}.reverse>span:nth-last-child(-n+2){background:#314b57;border-color:#4b6670}.card-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.under-grid{display:flex;justify-content:space-between;margin-top:18px;font-size:12px;color:var(--muted)}.under-grid>a{color:var(--accent)}
.method{height:1000px;margin-top:40px;position:relative}.method-sticky{position:sticky;top:72px;height:540px;display:flex;align-items:center;justify-content:center;overflow:hidden}.method-words{display:flex;gap:36px;align-items:center;z-index:1}.method-words>span{font-size:clamp(48px,7vw,100px);font-weight:400;letter-spacing:-.06em;will-change:transform,opacity}.method-rule{position:absolute;top:50%;left:0;width:100%;height:1px;background:var(--line)}.method-words>span{background:var(--bg);padding:0 8px}.method-index{position:absolute;bottom:85px;left:0;right:0;text-align:center}.method-index span{margin:0 18px;color:#40545d}.software{padding:16px 0 80px}.software>a{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:42px 0;gap:24px}.software-line{color:var(--muted);font-size:18px}.software-arrow{font-size:38px;color:var(--copper)}.footer{display:flex;align-items:center;gap:32px;flex-wrap:wrap;padding-top:24px;padding-bottom:32px;font-size:12px;color:var(--muted)}.footer .brand{margin-right:auto;color:var(--fg)}.motion-toggle{font-size:11px;border:0;padding:8px 0;color:var(--muted)}
dialog{width:calc(100vw - 64px);max-width:1500px;height:calc(100dvh - 64px);max-height:none;background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:16px;padding:0}dialog::backdrop{background:rgba(0,0,0,.8)}.dialog-bar{height:66px;padding:0 24px;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line)}.dialog-bar h2{font-size:20px;margin-right:auto}.dialog-bar a,.dialog-bar button{font-size:13px}.dialog-bar button{border:0;padding:10px}#model-frame{height:calc(100% - 66px)}#model-frame iframe{width:100%;height:100%;border:0;display:block}body:has(dialog[open]){overflow:hidden}
.catalogue{padding-top:54px;min-height:calc(100vh - 180px)}.catalogue-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:42px}.catalogue-title h1{font-size:58px}.catalogue-title>button{border-radius:999px;padding:8px 16px;font-size:12px;color:var(--muted)}#selection-count{color:var(--accent);margin-left:12px}.catalogue-layout{display:grid;grid-template-columns:232px minmax(0,1fr);gap:64px;padding-bottom:80px}.filters{position:sticky;top:104px;align-self:start}.filters label{display:grid;gap:8px;font-size:12px;color:var(--muted)}input,select,textarea{width:100%;min-width:0;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:13px}input::placeholder{color:var(--muted)}.practice-filters{display:grid;gap:4px;margin:25px 0}.practice-filters button{text-align:left;border:0;padding:9px 12px;color:var(--muted);border-radius:8px;font-size:13px}.practice-filters button[aria-pressed=true]{color:var(--accent);background:var(--panel)}.practice-filters button[aria-pressed=true]::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--copper);margin-right:10px}.more-filters{border-top:1px solid var(--line);padding:16px 0;font-size:12px}.more-filters summary{list-style:none;color:var(--muted);display:flex;justify-content:space-between}.more-filters summary::-webkit-details-marker{display:none}.more-filters label{margin-top:14px}#reset{border:0;font-size:12px;color:var(--accent);padding:8px 0}.config-link{display:block;border-top:1px solid var(--line);padding-top:20px;margin-top:8px;color:var(--accent);font-size:13px}.result-heading{height:42px;display:flex;align-items:flex-start;justify-content:space-between;font-size:12px;color:var(--muted);gap:20px}.service{border-top:1px solid var(--line);scroll-margin-top:95px}.service:last-child{border-bottom:1px solid var(--line)}.service>summary{display:grid;grid-template-columns:minmax(0,1fr) 95px 16px;align-items:center;gap:24px;list-style:none;padding:25px 0}.service>summary::-webkit-details-marker{display:none}.service-name{font-size:19px;letter-spacing:-.025em;line-height:1.35}.service-type{font-size:11px;color:var(--muted)}.service-plus{font-size:20px;color:var(--copper);transition:transform .2s}.service[open] .service-plus{transform:rotate(45deg)}.service[open] .service-name{color:var(--accent)}.service-detail{padding:0 0 28px}.service-scope{font-size:14px;color:var(--fg);max-width:650px;margin-bottom:28px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.detail-grid h3,.components h3{font:10px Consolas,monospace;letter-spacing:.1em;color:var(--accent);margin-bottom:10px;text-transform:uppercase}.detail-grid p,.components p{font-size:13px;line-height:1.7;color:var(--muted)}.components{margin-top:24px;font-size:12px;color:var(--muted)}.components summary{margin-bottom:12px}.service-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:25px}.pill{display:inline-flex;align-items:center;justify-content:center;padding:8px 15px;border:1px solid var(--line);border-radius:999px;font-size:12px;background:transparent}.service-actions .pill{color:var(--accent)}.example-link{font-size:12px;color:var(--accent)}#more{display:block;margin:32px auto 0}#empty{padding:48px 0}#empty p{margin-bottom:20px}#selection{padding:24px;border:1px solid var(--line);border-radius:16px;margin-bottom:32px;background:var(--panel)}.selection-head{display:flex;justify-content:space-between;align-items:center}.selection-head h2{font-size:24px}#selected-list{padding-left:20px;font-size:13px;color:var(--muted)}#selected-list li{padding:7px 0}#selected-list button{border:0;color:var(--accent);margin-left:12px}#selection label{font-size:12px;color:var(--muted);display:block;margin-bottom:8px}
html.motion-paused .signal{animation-play-state:paused}html.motion-paused [data-parallax]{translate:none!important}html.motion-paused .method{height:540px}html.motion-paused .method-sticky{position:relative;top:0}html.motion-paused .method-words>span{opacity:1!important;transform:none!important}
@media(min-width:1500px){.hero{padding-top:104px}}
@media(max-width:1000px){.wrap,.nav-inner{width:calc(100% - 56px)}.scene-col{width:165px}.scene-col.inputs{left:2%}.scene-col.outputs{right:2%}.nav nav{gap:20px}.catalogue-layout{grid-template-columns:210px minmax(0,1fr);gap:36px}.model-core{width:250px;left:calc(50% - 125px);top:18px}.service>summary{gap:16px}.method-words{gap:16px}}
@media(max-width:700px){.wrap,.nav-inner{width:calc(100% - 40px)}.nav-inner{height:64px}.menu-toggle{display:flex;gap:18px;border:0;padding:10px 0;font-size:13px}.nav nav{display:none;position:absolute;top:64px;left:0;right:0;padding:24px;background:var(--bg);border-bottom:1px solid var(--line)}.nav nav.open{display:grid;gap:24px}.nav-contact{justify-self:start}.hero{padding-top:54px}.hero h1{font-size:clamp(38px,8.9vw,60px)}.hero-line{font-size:12px;margin-top:20px}.model-scene{height:290px;margin-top:24px}.scene-col{top:86px;gap:12px}.scene-col.inputs{left:0}.scene-col.outputs{right:0}.scene-col>span:not(.scene-caption){font-size:9px;padding:8px 7px}.scene-col i{display:none}.scene-caption{font-size:8px}.model-core>span{letter-spacing:.04em}.connectors{opacity:.35}.scene-bottom .mono{font-size:8px}.discipline-links{grid-template-columns:1fr 1fr;gap:20px 30px;padding-top:22px}.discipline-links a{font-size:12px}.work{padding-top:62px}.section-title{margin-bottom:24px}h2{font-size:34px}.model-grid{grid-template-columns:1fr;gap:16px}.model-card{padding:24px}.card-title h3{font-size:19px}.chart{height:130px;margin-top:24px}.under-grid{font-size:10px;gap:20px}.method{height:760px;margin-top:20px}.method-sticky{top:64px;height:460px}.method-words{flex-direction:column;gap:10px}.method-words>span{font-size:68px;line-height:1.1}.method-index{bottom:35px}.software{padding-bottom:38px}.software>a{grid-template-columns:1fr auto;padding:30px 0}.software-line{font-size:14px;grid-row:2}.software-arrow{grid-column:2;grid-row:1/3}.footer{gap:20px 24px;padding-top:20px}.footer .brand{width:100%}.footer>a:not(.brand){font-size:12px}.footer>span{font-size:10px}.motion-toggle{font-size:10px}.catalogue{padding-top:34px}.catalogue-title{margin-bottom:28px}.catalogue-title h1{font-size:44px}.catalogue-layout{grid-template-columns:1fr;gap:30px}.filters{position:static}.practice-filters{display:flex;overflow-x:auto;margin:16px 0;padding-bottom:6px;gap:6px}.practice-filters button{white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:12px}.more-filters{padding-bottom:0}.config-link{display:none}.result-heading .mono{font-size:8px}.service>summary{grid-template-columns:1fr 16px;padding:22px 0;gap:7px 16px}.service-name{font-size:18px}.service-type{grid-row:2;font-size:10px}.service-plus{grid-column:2;grid-row:1/3}.detail-grid{grid-template-columns:1fr;gap:22px}dialog{width:calc(100vw - 16px);height:calc(100dvh - 24px);border-radius:10px}.dialog-bar{padding:0 14px;gap:12px}.dialog-bar h2{font-size:15px}.dialog-bar a{font-size:10px}.dialog-bar button{font-size:12px}}
.catalogue-layout>*{min-width:0}
@media(max-width:700px){.model-core{width:32%;left:34%;top:78px}.model-core>span{font-size:6px}.scene-col{width:30%}.practice-filters{scrollbar-width:thin;scrollbar-color:var(--line) transparent}.filters input,.filters select,#notes{font-size:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}[data-parallax]{translate:none!important}.method{height:540px}.method-sticky{position:relative;top:0}.method-words>span{opacity:1!important;transform:none!important}}
