body{font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased}button,input,optgroup,select,textarea,.tooltip,.popover,.dropdown-menu,.btn{font-family:var(--font-sans)}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--font-sans);font-weight:700;line-height:var(--lh-tight);color:inherit;margin:0 0 var(--space-3)}h1,.h1{font-size:var(--fs-h1)}h2,.h2{font-size:var(--fs-h2)}h3,.h3{font-size:var(--fs-h3)}h4,.h4,h5,.h5,h6,.h6{font-size:var(--fs-body)}p{margin:0 0 var(--space-4)}p:last-child{margin-bottom:0}strong,b{font-weight:700}small,.small{font-size:var(--fs-small)}a{color:var(--brand);text-decoration:none}a:hover{color:var(--brand-dark);text-decoration:none}p a,li a,dd a,td a,blockquote a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}p a:hover,li a:hover,dd a:hover,td a:hover,blockquote a:hover{text-decoration-thickness:2px}ol,ul{margin:0 0 var(--space-4);padding-left:1.4em}.prose>:is(p,ul,ol,blockquote){max-width:var(--measure)}.prose li+li,.work-single-content li+li{margin-top:var(--space-1)}blockquote{margin:0 0 var(--space-5);padding:var(--space-4)var(--space-5);background:var(--surface-subtle)}code{color:var(--brand-dark)}hr{border:0;border-top:1px solid var(--line);margin:var(--space-6)0}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}img[width][height]{height:auto}img{max-width:100%}html{scroll-padding-top:calc(50px + var(--space-6))}.skip-link{position:fixed;top:var(--space-2);left:var(--space-2);z-index:30;padding:var(--space-2)var(--space-4);border-radius:var(--radius);background:var(--brand);color:#fff;font-size:var(--fs-ui);text-decoration:none;transform:translateY(-200%)}.skip-link:focus{color:#fff;transform:none}.top-bar{--header-compact:0;position:fixed;top:0;z-index:10;width:100%;padding:calc(var(--space-5) * (1 - var(--header-compact)))0;background:var(--surface);border-bottom:1px solid color-mix(in srgb,var(--line) calc(var(--header-compact) * 100%),transparent);transition:padding .35s ease-out,border-color .35s ease-out}.navbar{padding:0;border:0}.navbar.bg-light{background:var(--surface)!important}.navbar-logo{width:auto;height:50px}.navbar .nav-link{padding:var(--space-1)var(--space-3);color:var(--ink-muted)!important;font-size:var(--fs-ui);letter-spacing:.03em;text-transform:uppercase;text-decoration:none;transition:color .2s}.navbar .nav-link:hover,.navbar .nav-link:focus-visible{color:var(--brand)!important}.navbar .nav-item:last-child .nav-link{padding-right:0}.navbar .is-current>.nav-link,.dropdown-item[aria-current]{text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:1.5px;text-underline-offset:8px}.navbar .navbar-toggler{display:none;place-items:center;width:44px;height:44px;padding:0;border:0;color:var(--brand);font-size:28px}.navbar-toggler .bi-x-lg,.navbar-toggler[aria-expanded=true] .bi-list{display:none}.navbar-toggler[aria-expanded=true] .bi-x-lg{display:block;font-size:22px}@media(max-width:991.98px){.navbar .navbar-toggler{display:grid}.top-bar:has(.navbar-collapse.show,.navbar-collapse.collapsing){border-bottom-color:var(--line);box-shadow:var(--shadow)}.navbar-collapse{max-height:calc(100vh - 80px);margin-top:var(--space-3);overflow-y:auto}.navbar-nav .nav-item{border-top:1px solid var(--line)}.navbar .navbar-nav .nav-link,.navbar .nav-item:last-child .nav-link{display:flex;align-items:center;min-height:44px;padding:var(--space-2)var(--space-3)}.navbar .is-current>.nav-link,.dropdown-item[aria-current]{text-decoration:none;box-shadow:inset 2px 0 0 var(--brand)}.navbar .dropdown-menu{margin:0;padding:0 0 var(--space-2);border:0;box-shadow:none}.navbar .dropdown-item{display:flex;align-items:center;min-height:40px;padding:var(--space-2)var(--space-6)}}.dropdown-menu{min-width:12rem;margin-top:0;padding:var(--space-2)0;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.dropdown-item{padding:var(--space-2)var(--space-4);color:var(--ink-muted);font-size:var(--fs-ui);letter-spacing:.03em;text-transform:uppercase;text-decoration:none}.dropdown-item:hover,.dropdown-item:focus{color:var(--brand);background:0 0}@media(min-width:992px){.dropdown-menu{display:block;visibility:hidden;opacity:0;transform:translateY(-4px);transition:opacity .2s,transform .2s,visibility .2s}.dropdown:hover .dropdown-menu,.dropdown-menu.show{visibility:visible;opacity:1;transform:none}}#hero-area{position:relative;padding:200px 0;background-position:50%;background-size:cover;background-attachment:fixed;color:var(--ink)}#hero-area::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.6)}#hero-area .block{position:relative}#hero-area h1{margin-bottom:var(--space-4);font-size:var(--fs-hero);line-height:1;letter-spacing:.02em;text-transform:uppercase}#hero-area h1 span{display:inline-block}#rotating-banner-text{min-height:1.6em;margin:var(--space-5)0 0;font-size:22px;font-weight:400;line-height:1.6;opacity:0;transition:opacity 1s ease-in-out}#rotating-banner-text.fade-in{opacity:1}@media(max-width:767.98px){#hero-area{padding:140px 0 100px;background-attachment:scroll}#rotating-banner-text{font-size:18px}}.global-page-header{position:relative;padding:120px 0 var(--space-5);background:var(--brand);color:#fff;text-align:center}.global-page-header h1{margin-bottom:var(--space-2);font-size:var(--fs-h1)}.global-page-header .portfolio-meta,.global-page-header .breadcrumb{display:block;margin:0;padding:0;background:0 0;font-size:var(--fs-body)}.global-page-header a,.global-page-header .breadcrumb .active{color:#fff;text-decoration:none}.global-page-header a:hover{text-decoration:underline}.breadcrumb .list-inline-item:not(:last-child)::after{content:'/';margin-left:var(--space-3);opacity:.7}.prev-page,.next-page{position:absolute;top:calc(50% + 47.5px);transform:translateY(-50%);color:#fff;transition:opacity .2s}.prev-page{left:var(--space-4)}.next-page{right:var(--space-4)}.prev-page:hover,.next-page:hover{opacity:.75}@media(max-width:575.98px){.global-page-header h1{font-size:30px}.global-page-header .block{padding:0 var(--space-6)}.prev-page svg,.next-page svg{height:18px}.prev-page{left:var(--space-1)}.next-page{right:var(--space-1)}}#works{padding:var(--space-6)0 var(--space-7)}.work-single,.page-section,#contact-section,#cpacs-section,#collaboration-section,.single-post,#blog-full-width,.media-section,.terminology{padding:var(--space-8)0}.section-block+.section-block{margin-top:var(--space-7)}.section-block>h2{margin-bottom:var(--space-4)}@media(min-width:992px) and (min-height:760px){.work-single-sidebar{position:sticky;top:100px}}.work-single-sidebar>h2{margin-bottom:var(--space-3);font-size:var(--fs-h3)}.work-single-sidebar>h2:not(:first-child){margin-top:var(--space-6)}@media(max-width:991.98px){.work-single-sidebar{margin-top:var(--space-7)}}#footer{padding:var(--space-5)0;border-top:1px solid var(--line);background:var(--surface);color:var(--ink-muted);font-size:var(--fs-small);text-align:center}#footer .copyright+.copyright{margin-top:var(--space-1)}#footer a{color:var(--brand)}.scroll-to-top-btn{position:fixed;right:var(--space-5);bottom:var(--space-5);z-index:20;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:var(--brand);color:#fff;font-size:var(--fs-h3);cursor:pointer;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(var(--space-2));transition:opacity .15s,transform .15s,visibility 0s .15s,background-color .15s}.scroll-to-top-btn.is-visible,.scroll-to-top-btn:focus-visible{opacity:1;visibility:visible;transform:none;transition:opacity .15s,transform .15s,background-color .15s}.scroll-to-top-btn:hover{background:var(--brand-dark)}@media(max-width:575.98px){.scroll-to-top-btn{right:var(--space-4);bottom:var(--space-4)}}.btn,.btn-collab{border-radius:var(--radius)}.btn-primary,.btn-details{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-4);border:1px solid var(--brand);background:var(--brand);color:#fff;font-size:var(--fs-ui);line-height:1.4;text-decoration:none;cursor:pointer}.btn-primary:hover,.btn-primary:focus,.btn-details:hover{border-color:var(--brand-dark);background:var(--brand-dark);color:#fff;text-decoration:none}.btn-secondary,.btn-collab{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-4);border:1px solid var(--brand);background:var(--surface);color:var(--brand);font-size:var(--fs-ui);line-height:1.4;text-decoration:none;cursor:pointer}.btn-secondary:hover,.btn-secondary:focus,.btn-collab:hover{border-color:var(--brand);background:var(--brand);color:#fff;text-decoration:none}.btn-secondary:disabled,.btn-secondary.disabled{border-color:var(--line-strong);background:var(--surface);color:var(--ink-muted)}.btn-secondary:not(:disabled):not(.disabled):active{border-color:var(--brand-dark);background:var(--brand-dark)}p+.btn-collab,p+.btn-primary{margin-top:var(--space-2)}.btn-link{padding:0;border:0;background:0 0;color:var(--brand);font-size:var(--fs-ui);text-decoration:none;cursor:pointer}.btn-link:hover{color:var(--brand-dark);text-decoration:underline}.tag,.highlight-callout-tag,.collab-feature-tag,.task-card-tag,.sidebar-note{display:inline-block;color:var(--ink-muted);font-size:var(--fs-small);font-weight:400}.sidebar-note{margin-left:var(--space-2)}.highlight-callout-tag,.collab-feature-tag{display:block;margin-bottom:var(--space-2)}.task-card-tag{margin-top:var(--space-3)}.badge-info,.recommended-badge{margin-left:var(--space-2);padding:2px var(--space-2);border-radius:var(--radius);background:var(--surface-subtle);color:var(--brand-dark);font-size:var(--fs-small);font-weight:400}.spec-table{width:100%;margin:0;border-collapse:collapse;font-size:var(--fs-ui);line-height:1.4}.spec-table th,.spec-table td{padding:6px var(--space-2)6px 0;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}.spec-table tr>:last-child{padding-right:0}.spec-table tbody th{font-weight:400;color:var(--ink-muted)}.spec-table td{font-variant-numeric:tabular-nums}.spec-table-kv td:last-child,.spec-table-kv thead th:last-child,.spec-table-num td,.spec-table-num thead th:not(:first-child){text-align:right}.spec-table thead th{border-bottom:1px solid var(--line-strong);color:var(--ink-muted);font-size:var(--fs-small);font-weight:400}.spec-table td.wrap{white-space:normal}.table-scroll{overflow-x:auto}.quartet{margin:0;font-size:var(--fs-ui)}.quartet-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:32px;padding:0 var(--space-3)}.quartet-row:nth-child(odd){background:var(--surface-subtle)}.quartet dt{min-width:0;overflow:hidden;color:var(--ink-muted);font-weight:400;white-space:nowrap;text-overflow:ellipsis}.quartet dd{margin:0;color:var(--ink);font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.spec-unit{color:var(--ink-muted);font-size:var(--fs-small);font-weight:400}.quartet-card{overflow:hidden;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.quartet-card-head{margin:0;padding:var(--space-2)var(--space-3);border-bottom:2px solid var(--brand);color:var(--brand-dark);font-size:var(--fs-ui);font-weight:700}.spec-groups{columns:2 300px;column-gap:var(--space-7)}.spec-group{break-inside:avoid;margin-bottom:var(--space-6)}.spec-group h3{margin:0 0 var(--space-1);padding-bottom:var(--space-2);border-bottom:2px solid var(--brand);color:var(--brand-dark);font-size:var(--fs-ui)}.spec-list{margin:0}.spec-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:6px var(--space-1);border-bottom:1px solid var(--line);font-size:var(--fs-ui);line-height:1.4}.spec-row:hover{background:var(--surface-subtle)}.spec-row dt{color:var(--ink-muted);font-weight:400}.spec-row dd{margin:0;color:var(--ink);font-weight:700;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.custom-greybox,.panel{margin-bottom:var(--space-6);padding:var(--space-5);background:var(--surface-subtle)}.custom-greybox p+p{margin-top:var(--space-3)}.highlight-callout{margin-bottom:var(--space-6);padding:var(--space-5);border-left:3px solid var(--highlight);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.highlight-callout p{margin-bottom:var(--space-3)}.page-lead{margin-bottom:var(--space-6)}.portfolio-items{margin-top:var(--space-5)}.portfolio-item figure{margin-bottom:var(--space-6);background:var(--surface);box-shadow:var(--shadow)}.portfolio-item .img-wrapper{position:relative;overflow:hidden}.portfolio-item .img-wrapper img{transition:transform .4s ease}.portfolio-item figure:hover .img-wrapper img{transform:scale(1.04)}.portfolio-item figcaption{padding:var(--space-4)var(--space-5)var(--space-2)}.portfolio-item figcaption h2{margin:0;font-size:var(--fs-h3)}.portfolio-item figcaption h2 a{color:var(--brand);text-decoration:none}.portfolio-item figcaption p{margin:var(--space-1)0 0;color:var(--ink-muted);font-size:var(--fs-ui)}.portfolio-item .quartet{margin:var(--space-2)0 0;padding-bottom:var(--space-3)}.portfolio-item .quartet-row{padding:0 var(--space-5)}.image-container{position:absolute;right:var(--space-3);bottom:var(--space-3);padding:var(--space-1);border-radius:var(--radius);background:var(--highlight)}.overlay-img{width:45px;height:25px}.portfolio-flag{position:absolute;top:var(--space-3);left:0;z-index:5;padding:var(--space-1)var(--space-3);background:var(--highlight);color:var(--ink);font-size:var(--fs-small);font-weight:700;text-decoration:none}a.portfolio-flag:hover{background:var(--brand);color:#fff;text-decoration:none}.filter-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)var(--space-5);margin-bottom:var(--space-5)}.filter-active-count{min-width:1.5em;padding:0 5px;border-radius:var(--radius);background:var(--brand);color:#fff;font-size:var(--fs-small);line-height:1.5;text-align:center}.filter-open:hover .filter-active-count{background:#fff;color:var(--brand)}.filter-active-count[hidden]{display:none}.dialog.filter-dialog{width:min(760px,calc(100vw - 2 * var(--space-4)))}.filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-4)var(--space-6)}.chip-group{min-width:0;margin:0;padding:0;border:0}.chip-group legend{width:auto;margin-bottom:var(--space-2);color:var(--ink-muted);font-size:var(--fs-small)}.chip-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip{position:relative;margin:0;cursor:pointer}.chip input{position:absolute;opacity:0;pointer-events:none}.chip>span{display:inline-flex;align-items:center;gap:var(--space-2);padding:5px var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:var(--fs-ui);line-height:1.3;transition:background-color .12s,border-color .12s,color .12s}.chip-count{color:var(--ink-muted);font-size:var(--fs-small);font-variant-numeric:tabular-nums}.chip:hover>span{border-color:var(--brand);color:var(--brand)}.chip input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}.chip input:checked+span{border-color:var(--brand);background:var(--brand);color:#fff}.chip input:checked+span .chip-count{color:rgba(255,255,255,.8)}.chip.is-empty>span{border-style:dashed;color:var(--ink-muted)}.filter-result{display:flex;align-items:baseline;gap:var(--space-3);margin:0;color:var(--ink-muted);font-size:var(--fs-ui);font-variant-numeric:tabular-nums}.filter-reset,.filter-reset-inline{padding:0;border:0;background:0 0;color:var(--brand);font-size:var(--fs-ui);text-decoration:none;cursor:pointer}.filter-reset-inline{text-decoration:underline}.filter-reset[hidden]{display:none}.filter-reset:hover,.filter-reset-inline:hover{color:var(--brand-dark)}.filter-reset:hover{text-decoration:underline}.filter-ranges{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-5)var(--space-6);margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--line)}.range-head{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--fs-small)}.range-label{color:var(--ink)}.range-values{color:var(--ink-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.range-filter.is-active .range-values{color:var(--brand);font-weight:700}.range-track{--thumb:16px;position:relative;height:28px;margin:0 calc(var(--thumb)/2)}.range-track::before,.range-fill{content:"";position:absolute;top:50%;height:3px;margin-top:-1.5px;border-radius:2px}.range-track::before{left:0;right:0;background:var(--line)}.range-fill{background:var(--line-strong)}.range-filter.is-active .range-fill{background:var(--brand)}.range-tick{position:absolute;top:50%;width:1px;height:7px;margin-top:-12px;background:var(--model)}.range-input{position:absolute;top:0;left:calc(var(--thumb)/-2);width:calc(100% + var(--thumb));height:100%;margin:0;background:0 0;pointer-events:none;-webkit-appearance:none;appearance:none}.range-input::-webkit-slider-runnable-track{background:0 0}.range-input::-moz-range-track{background:0 0}.range-input::-webkit-slider-thumb{width:var(--thumb);height:var(--thumb);border:2px solid var(--brand);border-radius:50%;background:var(--surface);pointer-events:auto;cursor:grab;-webkit-appearance:none}.range-input::-moz-range-thumb{width:var(--thumb);height:var(--thumb);box-sizing:border-box;border:2px solid var(--brand);border-radius:50%;background:var(--surface);pointer-events:auto;cursor:grab}.range-input:focus{outline:none}.range-input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--brand)}.range-input:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--brand)}.filter-empty{padding:var(--space-6)0;color:var(--ink-muted);text-align:center}.filter-empty[hidden]{display:none}@media(max-width:575.98px){.filter-chips{flex-direction:column;gap:var(--space-4)}.filter-result{order:-1;width:100%;margin-left:0}.dialog.filter-dialog{width:100vw;max-width:none;height:100%;max-height:none;margin:0;border-radius:0}.filter-dialog .dialog-inner{height:100%}.filter-dialog .dialog-body{flex:1}}@media(prefers-reduced-motion:reduce){.chip>span{transition:none}}.dialog{width:min(520px,calc(100vw - 2 * var(--space-4)));max-height:calc(100vh - 2 * var(--space-6));padding:0;border:0;border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.dialog::backdrop{background:rgba(0,0,0,.45)}body:has(.dialog[open]){overflow:hidden}.dialog-inner{display:flex;flex-direction:column;max-height:inherit;margin:0}.dialog-head,.dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4)var(--space-5)}.dialog-head{border-bottom:1px solid var(--line)}.dialog-head h2{margin:0;color:var(--brand);font-size:var(--fs-h3)}.dialog-close{padding:var(--space-1)var(--space-2);border:0;background:0 0;color:var(--ink-muted);font-size:var(--fs-body);line-height:1;cursor:pointer}.dialog-close:hover{color:var(--brand)}.dialog-body{overflow-y:auto;padding:var(--space-5)}.dialog-body>:last-child{margin-bottom:0}.dialog-foot{border-top:1px solid var(--line);background:var(--surface-subtle)}.file-notice-title{display:flex;align-items:center;gap:var(--space-2)}.file-notice-address{font-weight:700}.file-notice-keyword{padding:0 var(--space-1);border:1px solid var(--line-strong);border-radius:var(--radius);font-weight:700;white-space:nowrap}.modal-content{border:0;border-radius:var(--radius)}.modal-header,.modal-footer{border-color:var(--line)}.form-control{padding:6px var(--space-2);border:1px solid var(--line-strong);border-radius:var(--radius);font-size:var(--fs-ui);color:var(--ink)}.form-control:focus{border-color:var(--brand);box-shadow:none;outline:2px solid var(--brand);outline-offset:0}.downloads{margin-top:var(--space-5)}.download-main{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3)var(--space-4);border:1px solid var(--brand);border-radius:var(--radius);background:var(--brand);color:#fff;font-weight:700;text-decoration:none!important;transition:background-color .15s}.download-main:hover,.download-main:focus-visible{border-color:var(--brand-dark);background:var(--brand-dark);color:#fff}.download-main i{font-size:18px}.download-main-size{margin-left:auto;font-size:var(--fs-small);font-weight:400;opacity:.85}.download-main.is-closed{border-color:var(--line-strong);background:var(--surface);color:var(--ink-muted)}.download-secondary{display:inline-block;margin-top:var(--space-3);font-size:var(--fs-ui)}.download-secondary.is-closed{color:var(--ink-muted)}.download-more{margin-top:var(--space-5);border-top:1px solid var(--line)}.download-more summary{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3)0;color:var(--brand-dark);font-size:var(--fs-ui);font-weight:700;list-style:none;cursor:pointer}.download-more summary::-webkit-details-marker{display:none}.download-more summary::after{content:"";width:8px;height:8px;margin-right:4px;border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:rotate(45deg);transition:transform .2s}.download-more[open] summary::after{transform:rotate(-135deg)}.download-note{margin:0 0 var(--space-3);color:var(--ink-muted);font-size:var(--fs-small);line-height:1.4}.download-list{margin:0;padding:0;list-style:none}.download-list li{margin:0}.download-list li+li{border-top:1px solid var(--line)}.download-row{display:grid;grid-template-columns:48px minmax(0,1fr)auto;align-items:center;gap:var(--space-3);padding:7px var(--space-2);color:var(--ink);font-size:var(--fs-small);line-height:1.3;text-decoration:none!important;transition:background-color .15s}.dl-format{padding:2px 0;border:1.5px solid var(--brand);border-radius:var(--radius);color:var(--brand);font-size:11px;font-weight:700;letter-spacing:.04em;text-align:center;transition:background-color .15s,color .15s}.dl-purpose{color:var(--ink-muted)}.dl-size{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.dl-size i{color:var(--brand);font-size:15px}.download-row:hover,.download-row:focus-visible{background:var(--surface-subtle);color:var(--ink)}.download-row:hover .dl-format,.download-row:focus-visible .dl-format{background:var(--brand);color:#fff}.download-row.is-closed .dl-format{border-color:var(--line-strong);color:var(--ink-muted)}.download-row.is-closed .dl-size,.download-row.is-closed .dl-size i{color:var(--ink-muted)}.download-row.is-closed:hover .dl-format{background:var(--ink-muted);border-color:var(--ink-muted);color:#fff}.pros-cons{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-6)}.pros-cons h2{font-size:var(--fs-h3)}.pros-cons ul{margin:0;padding:0;list-style:none}.pros-cons li{display:grid;grid-template-columns:20px 1fr;gap:var(--space-3);padding:var(--space-3)0;border-top:1px solid var(--line);margin:0}.pros-cons li i{color:var(--brand);line-height:var(--lh-body)}.reference+.reference{margin-top:var(--space-5)}.reference h3{margin-bottom:var(--space-1);color:var(--brand);font-size:var(--fs-body)}.reference p{margin:0}.reference-links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);margin-top:var(--space-1)}.carousel-hangar .carousel-control-prev,.carousel-hangar .carousel-control-next{width:10%;opacity:1}.carousel-hangar .carousel-control-prev-icon,.carousel-hangar .carousel-control-next-icon{width:34px;height:34px;border-radius:50%;background-color:rgba(43,48,52,.22);background-size:36% 36%;opacity:.7;transition:background-color .2s,opacity .2s}.carousel-hangar:hover .carousel-control-prev-icon,.carousel-hangar:hover .carousel-control-next-icon,.carousel-hangar .carousel-control-prev:focus-visible .carousel-control-prev-icon,.carousel-hangar .carousel-control-next:focus-visible .carousel-control-next-icon{background-color:rgba(43,48,52,.4);opacity:1}.carousel-hangar .carousel-control-prev:hover .carousel-control-prev-icon,.carousel-hangar .carousel-control-next:hover .carousel-control-next-icon{background-color:rgba(43,48,52,.6)}.carousel-hangar .carousel-indicators{position:static;margin:var(--space-3)0 0;padding:0}.carousel-hangar .carousel-indicators li{box-sizing:content-box;flex:none;width:24px;height:3px;margin:0 3px;padding:6px 0;border:0;background-clip:content-box;background-color:var(--line-strong);opacity:1;cursor:pointer}.carousel-hangar .carousel-indicators li.active{background-color:var(--brand)}#threeJSViewer{display:block;width:100%;aspect-ratio:730/450;border:0}.media-license{margin:var(--space-2)0 0;color:var(--ink-muted);font-size:var(--fs-small)}.media-item+.media-item{margin-top:var(--space-8)}.media-item-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1)var(--space-4);margin-bottom:var(--space-4)}.media-item-head h2{margin:0;font-size:var(--fs-h2)}.media-item-head .scientific-title-link{font-size:var(--fs-ui)}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:0;padding:0;list-style:none}.media-tile{position:relative;display:grid;aspect-ratio:16/9}.media-tile:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}.media-enlarge{position:relative;overflow:hidden;border:1px solid var(--line);background:var(--surface);cursor:zoom-in}.media-enlarge:hover{border-color:var(--brand)}.media-enlarge img[width][height]{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}.media-tile:first-child .media-enlarge img{object-fit:cover}.media-download{position:absolute;right:var(--space-2);bottom:var(--space-2);display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius);background:var(--surface);color:var(--brand);box-shadow:var(--shadow);font-size:var(--fs-body);text-decoration:none}.media-download:hover,.media-download:focus-visible{background:var(--brand);color:#fff}@media(max-width:575.98px){.media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.media-tile:first-child{grid-row:auto;aspect-ratio:16/9}.media-download{right:var(--space-1);bottom:var(--space-1);width:32px;height:32px}}.lightbox{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:var(--space-6)var(--space-8);border:0;background:0 0;color:#fff}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox::backdrop{background:rgba(0,0,0,.88)}body:has(.lightbox[open]){overflow:hidden}.lightbox-stage{display:flex;flex-direction:column;max-width:100%;margin:0}.lightbox-stage img{display:block;max-width:100%;max-height:calc(100vh - 2 * var(--space-6) - 64px);background:var(--surface);object-fit:contain}.lightbox-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)var(--space-4);padding-top:var(--space-3);font-size:var(--fs-ui)}.lightbox-count{color:rgba(255,255,255,.7);font-variant-numeric:tabular-nums}.lightbox-download{margin-left:auto}.lightbox-btn{position:fixed;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:var(--fs-h3);cursor:pointer}.lightbox-btn:hover{background:rgba(255,255,255,.28)}.lightbox-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}.lightbox-btn[hidden]{display:none}.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%)}.lightbox-prev{left:var(--space-3)}.lightbox-next{right:var(--space-3)}.lightbox-close{top:var(--space-3);right:var(--space-3)}@media(max-width:575.98px){.lightbox{padding:var(--space-8)var(--space-2)}.lightbox-prev,.lightbox-next{top:auto;bottom:var(--space-3);transform:none}}.submit-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6)}.submit-status{color:var(--ink-muted)}.submit-errors{margin-top:var(--space-5);color:#b00020}.submit-form .card{margin-bottom:var(--space-4);border-color:var(--line);border-radius:var(--radius)}.navbar-toggler,.breadcrumb,.card,.alert{border-radius:var(--radius)}.bg-light{background-color:var(--surface-subtle)!important}.form-control:disabled,.form-control[readonly]{background-color:var(--surface-subtle)}.quartet-card .quartet dt{overflow:visible;white-space:normal}.quartet-card .quartet dd{max-width:62%;white-space:normal;text-align:right}.quartet-card .quartet-row{padding-top:5px;padding-bottom:5px}.quartet-card-text .quartet-row{align-items:baseline}.quartet-card-text .quartet dd{flex:0 0 62%;max-width:none;font-weight:400;text-align:left}.portfolio-item{display:flex}.portfolio-item figure{display:flex;flex-direction:column;width:100%}.portfolio-item figcaption{flex:1 0 auto}.viz{--viz-oem:var(--data-1);--viz-fuel:var(--data-2);--viz-payload:var(--data-3);--viz-text:var(--ink);--viz-muted:var(--ink-muted);--viz-grid:var(--line);--viz-axis:var(--line-strong);--viz-track:var(--surface-subtle);--viz-surface:var(--surface);margin:0;color:var(--viz-text);font-size:var(--fs-ui)}.viz-oem{background:var(--viz-oem)}.viz-fuel{background:var(--viz-fuel)}.viz-payload{background:var(--viz-payload)}.viz-caption{color:var(--viz-muted);margin-bottom:8px}.viz-muted{color:var(--viz-muted)}.viz-legend{display:flex;flex-wrap:wrap;gap:4px 18px;margin-bottom:10px}.viz-key{display:inline-flex;align-items:center;gap:6px}.viz-swatch{width:12px;height:12px;border-radius:var(--radius)}.viz-linekey{width:18px;height:2px;border-radius:1px}.viz-diamond{width:8px;height:8px;transform:rotate(45deg);margin:0 2px}.viz-tooltip{position:absolute;top:0;left:0;z-index:1000;max-width:280px;padding:6px 9px;background:var(--tooltip);color:#fff;font-size:var(--fs-small);line-height:1.4;border-radius:var(--radius);pointer-events:none}.viz-table{margin-top:10px}.viz-table summary{color:var(--viz-muted);cursor:pointer}.pr-plot{width:100%;min-height:260px}.pr-svg{display:block;overflow:visible}.viz-grid line{stroke:var(--viz-grid);stroke-width:1}.viz-grid .viz-axis{stroke:var(--viz-axis)}.viz-tick{fill:var(--viz-muted);font-size:12px;font-variant-numeric:tabular-nums}.viz-axis-title{fill:var(--viz-muted);font-size:var(--fs-small)}.pr-area{fill:var(--viz-oem);opacity:.07}.pr-line{fill:none;stroke:var(--viz-oem);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.pr-dot,.pr-hover-dot{fill:var(--viz-oem);stroke:var(--viz-surface);stroke-width:2}.pr-study,.pr-hover-study{fill:var(--viz-fuel);stroke:var(--viz-surface);stroke-width:2}.pr-hover line{stroke:var(--viz-axis);stroke-width:1}.viz-fill-oem{fill:var(--viz-oem)}.viz-fill-fuel{fill:var(--viz-fuel)}.viz-fill-payload{fill:var(--viz-payload)}.mb-layout{display:grid;grid-template-columns:minmax(0,380px)minmax(0,1fr);gap:24px;align-items:center}@media(max-width:767.98px){.mb-layout{grid-template-columns:minmax(0,1fr)}}.mb-plot{display:flex;justify-content:center;min-height:200px}.mb-svg{display:block}.mb-wedge{stroke:var(--viz-surface);stroke-width:2;stroke-linejoin:round;transition:opacity .15s}.mb-label-in{fill:#fff;font-size:12px;pointer-events:none}.mb-label-in.mb-label-dark{fill:var(--viz-text)}.mb-center-label{fill:var(--viz-muted);font-size:12px}.mb-center-value{fill:var(--viz-text);font-size:var(--fs-body);font-weight:500}.mb-wedge.is-clickable,.mb-center.is-clickable{cursor:pointer}.mb-wedge:hover{filter:brightness(1.12)saturate(1.1)}.mb-center{pointer-events:none}.mb-center.is-clickable .mb-center-hit{pointer-events:all}.mb-center-hit{fill:transparent}.mb-center-hint{fill:var(--viz-muted);font-size:12px}.mb-back,.mb-group{width:100%;border:0;background:0 0;font:inherit;color:inherit;text-align:left;cursor:pointer}.mb-back{margin-bottom:6px;padding:2px 4px;color:var(--viz-oem)}.mb-group:hover,.mb-group:focus-visible,.mb-back:hover,.mb-back:focus-visible{background:var(--viz-track)}.mb-hint{margin:10px 4px 0;font-size:var(--fs-small)}.mb-group,.mb-item{display:grid;grid-template-columns:12px minmax(0,1fr)auto;align-items:center;gap:8px;padding:2px 4px;border-radius:var(--radius)}.mb-group{font-weight:500;padding-top:5px;padding-bottom:5px}.mb-group[aria-expanded=true]{margin-bottom:4px;cursor:default}.mb-item .mb-label{padding-left:8px}.mb-value{font-variant-numeric:tabular-nums;white-space:nowrap}.mb-list [hidden]{display:none}.collab-intro{margin-bottom:var(--space-7)}.collab-intro h2{margin-bottom:var(--space-4)}.collab-heading{margin-bottom:var(--space-5)}.collab-card,.address{height:100%;padding:var(--space-5);border-top:3px solid var(--brand);background:var(--surface-subtle)}.collab-card h3{margin-bottom:var(--space-2);color:var(--brand-dark)}.collab-card p{font-size:var(--fs-ui)}.collab-card-link{font-size:var(--fs-ui);font-weight:700}.collab-feature{margin:var(--space-6)0 var(--space-2);padding:var(--space-6);background:var(--surface-subtle)}.collab-feature h2{margin-bottom:var(--space-4);font-size:var(--fs-h2);color:var(--brand-dark)}.collab-feature-note{color:var(--ink-muted);font-size:var(--fs-ui)}.collab-feature-image{margin-top:var(--space-5)}@media(min-width:992px){.collab-feature-image{margin-top:0}}.collab-contact{margin-top:var(--space-7);padding-top:var(--space-6);border-top:1px solid var(--line)}.contact-text h2{margin-bottom:var(--space-4)}.contact-block{margin-top:var(--space-7);padding-top:var(--space-6);border-top:1px solid var(--line)}.address-details{margin-top:var(--space-5)}.address{display:flex;gap:var(--space-4);align-items:flex-start;margin:0;font-size:var(--fs-ui)}.address i{color:var(--brand);font-size:var(--fs-h2);line-height:1}.address .address-lines{margin:0}.address-mail .address-lines a{font-size:var(--fs-h3);font-weight:700}.contact-footnote{margin-top:var(--space-5);color:var(--ink-muted);font-size:var(--fs-small)}.cpacs-image{margin-bottom:var(--space-6)}#mdo-benchmark-section .mdo-block+.mdo-block{margin-top:var(--space-7)}#mdo-benchmark-section .mdo-block h2{margin-bottom:var(--space-4)}.mdo-targets{margin:0;padding:0;list-style:none}.mdo-target{display:flex;align-items:flex-start;margin:0;padding:var(--space-4)0;border-bottom:1px solid var(--line)}.mdo-target:first-child{padding-top:2px}.mdo-target:last-child{border-bottom:0;padding-bottom:0}.mdo-target-mark{flex:none;width:28px;height:28px;margin-right:var(--space-4);color:var(--brand)}.mdo-reference+.mdo-reference{margin-top:var(--space-5)}.mdo-reference h3{margin-bottom:var(--space-1);color:var(--brand);font-size:var(--fs-body)}.mdo-reference p{margin:0}.mdo-reference-doi{overflow-wrap:anywhere}.task-card{display:block;height:100%;color:inherit;text-decoration:none}.task-card:hover{color:inherit;text-decoration:none}.task-card-inner{position:relative;height:100%;padding:var(--space-5);border-left:3px solid var(--brand);background:var(--surface-subtle);transition:background-color .15s}.task-card:hover .task-card-inner{background:var(--line)}.task-card-lead .task-card-inner{background:var(--surface-subtle)}.task-card h3{margin-bottom:var(--space-2);padding-right:var(--space-6);color:var(--brand-dark)}.task-card p{margin:0;color:var(--ink-muted);font-size:var(--fs-ui)}.task-card-arrow{position:absolute;top:var(--space-5);right:var(--space-5);color:var(--brand)}.sidebar-model-list{display:flex;flex-direction:column;gap:var(--space-1)}.sidebar-model-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2)var(--space-3);border-left:3px solid var(--brand);background:var(--surface-subtle);color:var(--ink);font-size:var(--fs-ui);text-decoration:none;transition:background-color .15s}.sidebar-model-item:hover{background:var(--line);color:var(--brand-dark);text-decoration:none}.terminology-lead{margin-bottom:var(--space-5)}.terminology-tools{margin-bottom:var(--space-6)}.terminology-tools[hidden],.terminology-empty[hidden],.term-group[hidden],.term-row[hidden]{display:none}.terminology-filter{width:100%;max-width:380px;padding:var(--space-2)var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:var(--fs-body);-webkit-appearance:none;appearance:none}.terminology-filter:focus{border-color:var(--brand);outline:2px solid var(--brand);outline-offset:2px}.terminology-empty{margin-bottom:var(--space-6);color:var(--ink-muted)}.term-group+.term-group{margin-top:var(--space-7)}.term-group h2{margin-bottom:var(--space-1);color:var(--brand-dark)}.term-group>p{margin:var(--space-3)0 var(--space-4)}.term-list{margin:0}.term-row{display:grid;grid-template-columns:210px minmax(0,1fr);gap:0 var(--space-6);padding:var(--space-3)0;border-top:1px solid var(--line)}.term-row dt{font-weight:700;color:var(--brand-dark)}.term-row dd{margin:0}.terminology .part{color:var(--brand);letter-spacing:.04em}.term-group-decoder .decoder-code{margin-bottom:var(--space-5);font-size:clamp(26px,5vw,40px);line-height:var(--lh-tight)}.term-group-decoder .decoder-code .sep{padding:0 .06em;color:var(--line-strong)}.term-group-decoder .decoder-code .part-joined{margin-left:.05em}@media(max-width:767.98px){.term-row{grid-template-columns:minmax(0,1fr);gap:var(--space-1)0}}