*,*::before,*::after{box-sizing:border-box}html:focus-within{scroll-behavior:smooth}html,body{min-height:100%}body{margin:0;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}a{text-decoration:none;color:inherit}ul[role='list'],ol[role='list']{list-style:none}:root{--bg: #0b0f10;--text: #eaeaea;--muted: #a8b0b6;--panel: #141a1c;--panel-edge: rgba(255, 255, 255, 0.10);--accent-1: #09b53d;--accent-2: #6cf;--maxw: 1080px;--font-size-body: 1rem;--line-height-body: 1.6;--container-inline-gutter: 1rem;--edge-border: 1px;--rail-gutter: clamp(0.8rem, 2.2vw, 1rem);--section-pad-y: clamp(1.25rem, 4vw, 2rem)}html{scroll-behavior:smooth}:where(section[id]){scroll-margin-top:80px}html,body{min-height:100%}body{color:var(--text);font-family:'Hubot Sans', ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;font-size:var(--font-size-body);line-height:var(--line-height-body);background:radial-gradient(circle at center, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0.06) 20%, transparent 100%),radial-gradient(circle at 25% 30%, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.05) 40%, transparent 70%),radial-gradient(circle at 75% 40%, rgba(255,255,255,0.15) 0%, rgba(255,255,255,0.04) 35%, transparent 70%),var(--bg);background-blend-mode:screen, screen, screen, normal;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}template,[hidden]{display:none !important}.container{width:min(calc(100% - 2 * var(--container-inline-gutter)), var(--maxw));margin-inline:auto}main{flex:1 0 auto;display:block}:where(section){padding:var(--section-pad-y) 0}.edge-width{width:calc(100% - 2 * var(--edge-border))}h1,h2,h3{color:var(--text);letter-spacing:.2px;text-shadow:0 1px 2px rgba(0,0,0,0.45),0 0 1px rgba(0,0,0,0.25);margin:.8em 0 .4em}h4,h5,h6{color:var(--text);text-shadow:0 1px 2px rgba(0,0,0,0.45),0 0 1px rgba(0,0,0,0.25)}h2{font-size:clamp(1.25rem, 2.2vw, 1.75rem);line-height:1.2;margin:0 0 0.5rem 0}p{margin:0.4em 0;font-size:inherit;line-height:inherit}ul,ol,li{font-size:inherit;line-height:inherit}a{color:var(--text);text-underline-offset:2px}a:hover{filter:brightness(1.08)}.muted{color:var(--muted)}.muted a{color:inherit}.drop-shadow,.panel-surface,.panel-surface--flat{box-shadow:0 12px 24px rgba(0,0,0,0.28),0 3px 8px rgba(0,0,0,0.2)}.bg-engineering{position:relative;background:linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01)),var(--panel);overflow:hidden}.bg-engineering::before{--grid-gap: 24px;content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 1px 1px, rgba(255,255,255,0.055) 1px, transparent 1.5px),repeating-linear-gradient(0deg, rgba(255,255,255,0.045) 0, rgba(255,255,255,0.045) 1px, transparent 1px, transparent var(--grid-gap)),repeating-linear-gradient(90deg, rgba(255,255,255,0.045) 0, rgba(255,255,255,0.045) 1px, transparent 1px, transparent var(--grid-gap)),repeating-linear-gradient(0deg, color-mix(in oklab, var(--accent-2) 28%, transparent) 0, color-mix(in oklab, var(--accent-2) 28%, transparent) 1px, transparent 1px, transparent calc(var(--grid-gap) * 5)),repeating-linear-gradient(90deg, color-mix(in oklab, var(--accent-2) 22%, transparent) 0, color-mix(in oklab, var(--accent-2) 22%, transparent) 1px, transparent 1px, transparent calc(var(--grid-gap) * 5)),radial-gradient(80% 55% at 72% -10%, color-mix(in oklab, var(--accent-2) 16%, transparent), transparent 60%),radial-gradient(60% 40% at 18% 0%, color-mix(in oklab, #9278ff 12%, transparent), transparent 60%);background-size:var(--grid-gap) var(--grid-gap),auto,auto,auto,auto,auto,auto;opacity:0.28;-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--rail-gutter), #000 calc(100% - var(--rail-gutter)), transparent);mask-image:linear-gradient(to right, transparent, #000 var(--rail-gutter), #000 calc(100% - var(--rail-gutter)), transparent)}.border-panel,.panel-surface,.panel-surface--flat{border:1px solid var(--panel-edge)}.panel-surface,.panel-surface--flat{position:relative;background:var(--panel);overflow:hidden}.panel-surface--lit{position:relative;background:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02)),var(--panel);overflow:hidden}.panel-surface--lit::before{content:"";position:absolute;inset:-40% -20% auto -20%;height:220%;background:radial-gradient(var(--lit-a-w, 64%) var(--lit-a-h, 42%) at var(--lit-a-x, 28%) var(--lit-a-y, 8%), rgba(146, 120, 255, var(--lit-a-alpha, 0.36)), transparent 60%),radial-gradient(var(--lit-b-w, 46%) var(--lit-b-h, 34%) at var(--lit-b-x, 68%) var(--lit-b-y, 2%), rgba(72, 197, 255, var(--lit-b-alpha, 0.28)), transparent 60%);filter:blur(var(--lit-blur, 36px));pointer-events:none}:where(button, a.button){color:var(--text);background:var(--accent-1);background:linear-gradient(180deg, color-mix(in oklab, var(--accent-1) 94%, #fff), color-mix(in oklab, var(--accent-1) 88%, #000));border:1px solid var(--panel-edge);border-radius:6px;padding:.55rem .9rem;font-weight:600;cursor:pointer;transition:transform 120ms ease, box-shadow 120ms ease, background 120ms ease, filter 120ms ease}:where(button, a.button):hover{transform:translateY(-1px)}:where(button, a.button):active{transform:translateY(0);filter:brightness(0.98)}:where(a, button, input, select, textarea):focus-visible{outline:2px solid var(--accent-1);outline-offset:2px;box-shadow:0 0 0 4px color-mix(in oklab, var(--accent-1) 35%, transparent)}.pt-tab,.pill-btn{appearance:none;border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.03);color:inherit;padding:0.5rem 0.75rem;border-radius:999px;font:inherit;line-height:1;white-space:nowrap;cursor:pointer;transition:border-color .2s ease, background-color .2s ease, transform .06s ease, filter .2s ease;text-decoration:none}.pt-tab:hover,.pill-btn:hover{filter:brightness(1.05)}.pt-tab:active,.pill-btn:active{transform:translateY(1px)}.pt-tab[aria-selected="true"],.pt-tab.is-active,.pill-btn[aria-selected="true"],.pill-btn.active{background:transparent;border-color:var(--accent-1);border-width:2px}.printout{display:block;max-width:100%;box-sizing:border-box;background:#fff;padding:10px 10px 14px;border:1px solid rgba(0,0,0,0.15);border-radius:2px;box-shadow:0 18px 34px rgba(0,0,0,0.38),0 6px 14px rgba(0,0,0,0.28);transform:rotate(var(--angle, 1.25deg));transform-origin:center}.visually-hidden{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);white-space:nowrap;border:0;padding:0;margin:-1px}.quote{position:relative}.quote::before{content:"\201C";display:inline-block;color:var(--accent-1);font-size:2.4em;line-height:0;margin-right:0.15em;transform:translateY(0.18em)}.quote::after{content:"\201D";display:inline-block;color:var(--accent-1);font-size:1.1em;line-height:1;margin-left:0.15em;transform:translateY(0.05em)}.mini-quote{position:relative;quotes:"\201C" "\201D" "\2018" "\2019"}.mini-quote::before,.mini-quote::after{color:var(--accent-1)}.mini-quote::before{content:open-quote}.mini-quote::after{content:close-quote}.mini-quote q::before,.mini-quote q::after{color:var(--accent-1)}.btn-pill,:where(#flexible, #project-types) .fp-arrow-link{display:inline-flex;align-items:center;gap:0.6rem;color:var(--text);background:linear-gradient(180deg, color-mix(in oklab, var(--btn-accent, var(--accent-1)) 94%, #fff), color-mix(in oklab, var(--btn-accent, var(--accent-1)) 88%, #000));border:1px solid var(--panel-edge);padding:0.65rem 1rem;border-radius:999px;text-decoration:none;box-shadow:0 0 0 7px var(--panel),0 0 0 8px var(--panel-edge),0 6px 16px rgba(0,0,0,0.35),0 2px 6px rgba(0,0,0,0.28);transition:transform 120ms ease, box-shadow 120ms ease, filter 120ms ease;position:relative;z-index:0}.btn-pill:hover,:where(#flexible, #project-types) .fp-arrow-link:hover{transform:translateY(-1px)}.btn-pill:active,:where(#flexible, #project-types) .fp-arrow-link:active{transform:translateY(0);filter:brightness(0.98)}.btn--accent-1{--btn-accent: var(--accent-1)}.btn--accent-2{--btn-accent: var(--accent-2)}.btn--accent-1,.btn--accent-2{color:#fff;font-weight:600;letter-spacing:0.01em;text-shadow:0 1px 2px rgba(0,0,0,0.45),0 0 1px rgba(0,0,0,0.25)}.btn--accent-1 svg,.btn--accent-2 svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,0.45)) drop-shadow(0 0 1px rgba(0,0,0,0.25));transition:transform 120ms ease, filter 120ms ease}.btn--accent-2{text-shadow:0 1px 3px rgba(0,0,0,0.55),0 0 2px rgba(0,0,0,0.35)}.btn--accent-2 svg{filter:drop-shadow(0 1px 3px rgba(0,0,0,0.55)) drop-shadow(0 0 2px rgba(0,0,0,0.35))}.btn--accent-1:hover svg,.btn--accent-2:hover svg{transform:translateX(3px)}.onshape-actions .btn-pill,.onshape-actions :where(#flexible, #project-types) .fp-arrow-link,:where(#flexible, #project-types) .onshape-actions .fp-arrow-link{box-shadow:0 6px 16px rgba(0,0,0,0.35),0 2px 6px rgba(0,0,0,0.28)}#site-header{position:sticky;top:0;z-index:10;background:transparent;transition:background-color 180ms ease}#site-header .container{width:100%;max-width:none;padding-inline:1rem;position:relative}.header-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:0.9rem 0}.brand{display:inline-flex;align-items:center;gap:0.6rem}.logo{display:block;height:36px;width:auto;max-width:100%}#main-nav{display:flex;align-items:center}#main-nav ul{display:flex;align-items:center;gap:1.25rem;padding:0;margin:0;list-style:none;font-size:.95rem}#main-nav a{padding:0.25rem 0.4rem;border-radius:8px;color:var(--text);opacity:0.9;text-decoration:none;text-underline-offset:4px;transition:opacity 150ms ease}#main-nav a:hover,#main-nav a:focus-visible{background:transparent;opacity:1;text-decoration:underline;text-decoration-color:var(--accent-2);text-decoration-thickness:2px}.social-link{justify-self:end;display:inline-flex;border-radius:999px}.social-link:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(255,255,255,0.4);border-radius:999px}.nav-toggle{display:none;align-items:center;justify-content:center;width:40px;height:36px;border-radius:8px;border:1px solid rgba(255,255,255,0.35);background:rgba(255,255,255,0.06);color:var(--text);cursor:pointer;position:relative;top:0.5px;line-height:0}.nav-toggle .bars,.nav-toggle .bars::before,.nav-toggle .bars::after{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;transition:transform 180ms ease, opacity 180ms ease, background 180ms ease;transform-origin:center}.nav-toggle .bars{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.nav-toggle .bars::before,.nav-toggle .bars::after{content:"";position:absolute;left:0}.nav-toggle .bars::before{top:-6px}.nav-toggle .bars::after{top:6px}@media (max-width: 860px){.nav-toggle{display:inline-flex}#main-nav{position:absolute;top:100%;left:0;right:0;display:block;background:transparent;overflow:hidden;max-height:0;transition:max-height 200ms ease;visibility:hidden;pointer-events:none}#main-nav.open{background:var(--panel);visibility:visible;pointer-events:auto}#main-nav ul{display:grid;grid-template-columns:1fr;gap:0.25rem;padding:0.6rem 1rem 1rem;align-items:start}#main-nav a{display:block;padding:0.5rem 0.6rem}}@media (min-width: 861px){#main-nav{position:static;max-height:none !important;overflow:visible}}.nav-toggle[aria-expanded="true"] .bars{background:transparent}.nav-toggle[aria-expanded="true"] .bars::before{transform:rotate(45deg);top:0}.nav-toggle[aria-expanded="true"] .bars::after{transform:rotate(-45deg);top:0}#main-nav.open.border-panel,#main-nav.open.panel-surface,#main-nav.open.panel-surface--flat{border-top:0}#hero{padding:clamp(1rem, 3.5vw, 3rem) 0 2rem;text-align:center}#hero-title{font-size:clamp(2rem, calc(3.6vw + 1rem), 3.4rem);line-height:1.15;margin:0.8rem 0 0;letter-spacing:0.2px;font-weight:700}.hero-accent{color:var(--accent-1)}@media (max-width: 700px){#hero-title{font-size:clamp(2.6rem, calc(3.6vw + 1rem), 3.4rem)}#hero-title .title-part{display:block}}#hero-title .slot-viewport{display:block;position:relative;overflow:hidden;height:1.10em;line-height:1.10;width:max-content;margin:clamp(0.075em, 0.4vw, 0.175em) auto 0;border-radius:0.175em;padding:0 0.6ch;background:var(--page-bg, transparent);box-shadow:inset 0 12px 20px rgba(0,0,0,0.14),inset 0 -12px 20px rgba(0,0,0,0.14),inset 0 0 0 1px var(--panel-edge)}#hero-title .slot-reel{display:flex;flex-direction:column;align-items:center;will-change:transform;transform:translateY(0);transition:transform var(--slot-speed, 600ms) cubic-bezier(0.22, 0.8, 0.18, 1)}#hero-title .slot-item{display:block;height:1.10em;line-height:1.10;white-space:nowrap;width:max-content;color:var(--accent-1)}.hero-emph{font-weight:600}#hero-subtitle{max-width:60ch;margin:1.4rem auto 2rem;color:var(--muted);text-align:center;text-wrap:balance}#hero .cta{margin:1.6rem auto 3rem}#hero-figure{width:100%;margin:0 auto;border:1px solid var(--panel-edge);border-radius:12px 12px 0 0;position:relative;overflow:hidden;aspect-ratio:16/9}#hero-figure>.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-slide{opacity:0;transition:opacity var(--fade, 900ms) ease-in-out;will-change:opacity;z-index:0}#hero-figure:not(.js-ready)>.hero-slide:first-child{opacity:1}.hero-slide.active{opacity:1;z-index:1}@media (max-width: 700px){#hero-subtitle{margin:1rem auto 1rem}#hero .cta{margin:1.1rem auto 1.8rem}}#intro{position:relative;z-index:1;scroll-margin-top:80px;margin-top:clamp(-36px, -8vw, -56px);padding:0 0 clamp(0.5rem, 2.5vw, 1rem)}#intro.panel-surface,#intro.panel-surface--flat{border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;box-shadow:none}#intro-grid{display:grid;grid-template-columns:1fr;grid-auto-rows:auto;gap:0;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}#intro-grid.panel-surface--lit{background:var(--panel)}#intro-grid.panel-surface--lit::before{display:none}#intro-text{display:grid;gap:0.5rem}#intro-text p{margin:0}.intro-cell{padding:1rem var(--rail-gutter) 0.9rem}#intro-lhs .intro-lhs-top{border-bottom-left-radius:0;border-bottom-right-radius:0}@media (min-width: 900px){#intro-rhs{border-bottom-left-radius:0;border-bottom-right-radius:0}#intro-lhs .intro-lhs-top{border-bottom-right-radius:0;border-bottom-left-radius:0}}#intro-rhs,#intro-lhs .intro-lhs-top{padding-top:clamp(0.5rem, 3vw, 1rem)}#intro-rhs.border-panel,#intro-rhs.panel-surface,#intro-rhs.panel-surface--flat{border-top:0}#intro-lhs .intro-lhs-top.border-panel,#intro-lhs .intro-lhs-top.panel-surface,#intro-lhs .intro-lhs-top.panel-surface--flat{border-top:0}.intro-cta-bar{grid-column:1 / -1;background:linear-gradient(180deg, color-mix(in oklab, var(--accent-2) 94%, #fff), color-mix(in oklab, var(--accent-2) 88%, #000));border-top:0;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem;padding:0}.intro-cta-link{display:flex;align-items:center;justify-content:center;gap:0.6rem;padding:0.8rem 1rem;color:#fff;text-decoration:none;font-weight:600;letter-spacing:0.01em;text-shadow:0 1px 3px rgba(0,0,0,0.55),0 0 2px rgba(0,0,0,0.35)}.intro-cta-link svg{filter:drop-shadow(0 1px 3px rgba(0,0,0,0.55)) drop-shadow(0 0 2px rgba(0,0,0,0.35));transition:transform 120ms ease, filter 120ms ease}.intro-cta-link:hover svg{transform:translateX(3px)}#intro-tiles .intro-list{width:100%;border-collapse:separate;border-spacing:0}#intro-tiles .intro-list td{border:0;padding:0.1rem 0;vertical-align:middle}#intro-tiles .intro-list tr+tr td{border-top:1px solid var(--panel-edge);padding-top:0.5rem}#intro-tiles .intro-list .text-col{border-left:1px solid var(--panel-edge);padding-left:0.6rem}#intro-tiles .intro-list .tick-col{width:1.4em;text-align:center;color:var(--accent-1);font-weight:800;line-height:1;padding-right:0.4rem}#intro-tiles .intro-list .tick-col>.tick-icon,#intro-tiles .intro-list .tick-col>.lucide{display:inline-block;width:1.05em;height:1.05em;vertical-align:middle;transform:translateY(0)}#intro-tiles .intro-list .tick-col>.lucide{stroke-width:2.25}@media (min-width: 900px){#intro{margin-top:-56px}#intro-grid{grid-template-columns:1fr minmax(300px, 420px);grid-template-rows:auto;align-items:stretch}#intro-lhs{grid-column:2;grid-row:1;display:grid;grid-template-rows:auto;height:100%}#intro-rhs{grid-column:1;grid-row:1;height:100%}#intro-tiles{display:flex;flex-direction:column;justify-content:center;height:100%}#intro-lhs .intro-cell{border-left:0}}:where(#flexible, #project-types){padding:clamp(0.35rem, 1.2vw, 0.75rem) 0 var(--section-pad-y)}:where(#flexible, #project-types).panel-surface,.panel-surface--flat:where(#flexible, #project-types){border-top:0;border-top-left-radius:0;border-top-right-radius:0;margin-top:0}:where(#flexible, #project-types) .pt-header{padding-top:clamp(1rem, 2.6vw, 1.4rem);padding-bottom:clamp(0.35rem, 1.2vw, 0.7rem)}:where(#flexible, #project-types) .pt-header{padding-inline:var(--rail-gutter)}:where(#flexible, #project-types) .pt-subtitle{opacity:0.9;max-width:60ch;margin:0}:where(#flexible, #project-types) .pt-tablist{display:flex;gap:0.5rem;padding:0.75rem var(--rail-gutter);border-top:1px solid var(--panel-edge);border-bottom:1px solid var(--panel-edge);flex-wrap:wrap;background:rgba(255,255,255,0.02)}:where(#flexible, #project-types) .pt-panels{padding-top:clamp(0.5rem, 2.2vw, 1rem);padding-bottom:clamp(1.2rem, 3vw, 2rem);padding-inline:var(--rail-gutter)}:where(#flexible, #project-types) .pt-cta-bar{background:linear-gradient(180deg, color-mix(in oklab, var(--accent-1) 94%, #fff), color-mix(in oklab, var(--accent-1) 88%, #000));border-top:0;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem;padding:0}:where(#flexible, #project-types) .pt-cta-link{display:flex;align-items:center;justify-content:center;gap:0.6rem;padding:0.8rem 1rem;color:#fff;text-decoration:none;font-weight:600;letter-spacing:0.01em;text-shadow:0 1px 3px rgba(0,0,0,0.55),0 0 2px rgba(0,0,0,0.35)}:where(#flexible, #project-types) .pt-cta-link svg{filter:drop-shadow(0 1px 3px rgba(0,0,0,0.55)) drop-shadow(0 0 2px rgba(0,0,0,0.35));transition:transform 120ms ease, filter 120ms ease}:where(#flexible, #project-types) .pt-cta-link:hover svg{transform:translateX(3px)}:where(#flexible, #project-types) .pt-scales{display:grid;grid-template-columns:1fr;gap:0.6rem;padding:clamp(0.6rem, 2vw, 0.9rem) 0 clamp(0.6rem, 2vw, 0.9rem);border-top:1px dashed var(--panel-edge);border-bottom:1px dashed var(--panel-edge);margin-bottom:clamp(0.4rem, 1.6vw, 0.8rem)}@media (min-width: 760px){:where(#flexible, #project-types) .pt-scales{grid-template-columns:repeat(2, 1fr)}}:where(#flexible, #project-types) .pt-scale{display:grid;grid-template-columns:auto minmax(0, 1fr) auto;grid-template-areas:"label mid text";align-items:center;gap:0.6rem;padding:0.5rem 0.6rem;border-radius:0.6rem;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08)}:where(#flexible, #project-types) .pt-scale-label{grid-area:label}:where(#flexible, #project-types) .pt-scale-text{grid-area:text}:where(#flexible, #project-types) .pt-scale .pt-scale-dots,:where(#flexible, #project-types) .pt-scale .pt-scale-toggle{grid-area:mid}:where(#flexible, #project-types) .pt-scale-label{opacity:0.8;font-size:0.9em}:where(#flexible, #project-types) .pt-scale-text{opacity:0.9;font-size:0.95em}:where(#flexible, #project-types) .pt-scale.time .pt-scale-dots{display:inline-flex;gap:0.4rem;flex-wrap:nowrap;flex:0 0 auto}:where(#flexible, #project-types) .pt-scale.time .dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto;background:rgba(255,255,255,0.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,0.18)}:where(#flexible, #project-types) .pt-scale.time[data-level="1"] .dot:nth-child(-n+1),:where(#flexible, #project-types) .pt-scale.time[data-level="2"] .dot:nth-child(-n+2),:where(#flexible, #project-types) .pt-scale.time[data-level="3"] .dot:nth-child(-n+3){background:var(--accent-2);box-shadow:none}:where(#flexible, #project-types) .pt-scale-toggle{display:inline-flex;flex-wrap:wrap;gap:0.25rem;max-width:100%}@media (max-width: 420px){:where(#flexible, #project-types) .pt-scale.time{grid-template-columns:auto 1fr;grid-template-areas:"label mid" "text text"}:where(#flexible, #project-types) .pt-scale.time .pt-scale-text{margin-top:0.15rem}}:where(#flexible, #project-types) .pt-scale .opt{padding:0.15rem 0.45rem;border-radius:999px;font-size:0.85em;border:1px solid rgba(255,255,255,0.18);background:rgba(255,255,255,0.04);opacity:0.7}:where(#flexible, #project-types) .pt-scale.stages .opt{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:1.6rem;padding:0;border-radius:999px;font-weight:700;font-size:0.85em;text-shadow:0 1px 2px rgba(0,0,0,0.45),0 0 1px rgba(0,0,0,0.25);color:#e6e6e6;background:linear-gradient(180deg, color-mix(in oklab, var(--muted) 90%, #fff), color-mix(in oklab, var(--muted) 86%, #000));border:1px solid color-mix(in oklab, var(--muted) 50%, var(--panel-edge));opacity:1}:where(#flexible, #project-types) .pt-scale.stages .opt.is-on{color:#fff;background:linear-gradient(180deg, color-mix(in oklab, var(--accent-2) 94%, #fff), color-mix(in oklab, var(--accent-2) 88%, #000));border:1px solid var(--panel-edge);opacity:1}:where(#flexible, #project-types) .pt-panel{outline:none}:where(#flexible, #project-types) .pt-grid{display:grid;grid-template-columns:1fr;column-gap:0;row-gap:0;border-top:1px solid var(--panel-edge)}@media (min-width: 900px){:where(#flexible, #project-types) .pt-grid{grid-template-columns:1fr 1fr}}:where(#flexible, #project-types) .pt-col{padding:clamp(0.9rem, 2.2vw, 1.1rem)}:where(#flexible, #project-types) .pt-grid>.pt-col+.pt-col{border-top:1px solid var(--panel-edge)}@media (min-width: 900px){:where(#flexible, #project-types) .pt-grid>.pt-col+.pt-col{border-top:0;border-left:1px solid var(--panel-edge)}}:where(#flexible, #project-types) .pt-list{margin:0.25rem 0 1rem;padding-left:1.1rem}:where(#flexible, #project-types) .pt-list li{margin:0.25rem 0}:where(#flexible, #project-types) .pt-list li::marker{color:var(--accent-1)}:where(#flexible, #project-types) .pt-chars .pt-char-head{font-weight:600}:where(#flexible, #project-types) .pt-chars .pt-char-desc{opacity:0.95}:where(#flexible, #project-types) .pt-chars{list-style:disc}:where(#flexible, #project-types) .ff-box{position:relative;overflow:hidden;border-radius:1rem;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:0;background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01))}:where(#flexible, #project-types) .ff-box.ff-after-top-cta{border-top:0;border-top-left-radius:0;border-top-right-radius:0}:where(#flexible, #project-types) .pt-header{display:grid;grid-template-columns:1fr;grid-template-areas:"title" "subtitle" "scales" "cta";gap:0.6rem;align-items:start;position:relative;z-index:0}:where(#flexible, #project-types) .pt-header>h2{grid-area:title;margin:0}:where(#flexible, #project-types) .pt-header>.pt-left{grid-area:left}:where(#flexible, #project-types) .pt-header>.pt-subtitle{grid-area:subtitle}:where(#flexible, #project-types) .pt-header>.fp-cta{grid-area:cta;justify-self:stretch;align-self:stretch}:where(#flexible, #project-types) :where(#flexible, #project-types) .pt-header>.pt-tablist{grid-area:cta;padding:0;border:0;background:none;justify-content:flex-start;align-self:start}:where(#flexible, #project-types) body.ff-page :where(#flexible, #project-types) .pt-header>.pt-tablist{grid-area:pills}@media (min-width: 900px){:where(#flexible, #project-types) .pt-header{grid-template-columns:1fr 1fr;grid-template-areas:"title cta" "subtitle cta"}:where(#flexible, #project-types) .pt-header>.fp-cta{justify-self:stretch;align-self:stretch}:where(#flexible, #project-types) body.ff-page :where(#flexible, #project-types) .pt-header{grid-template-columns:3fr 2fr;grid-template-areas:"title title" "left  pills";column-gap:clamp(12px, 2vw, 24px);padding-right:0}:where(#flexible, #project-types) body.ff-page :where(#flexible, #project-types) .pt-header>.pt-tablist{grid-area:pills;justify-self:stretch;align-self:start}:where(#flexible, #project-types) body.ff-page :where(#flexible, #project-types) .pt-header>.pt-left{grid-area:left;align-self:stretch}}:where(#flexible, #project-types) .fp-cta{position:relative;z-index:0}:where(#flexible, #project-types) .fp-cta::before{content:"";position:absolute;top:-16px;right:-16px;bottom:-16px;left:0;background-image:url("/assets/images/node_loop_background.png");background-repeat:repeat;background-position:right 0 top -128px;background-size:512px 512px;opacity:0.18;pointer-events:none;z-index:-1;-webkit-mask-image:linear-gradient(to right, transparent 0, #000 36px, #000 calc(100% - 8px), transparent 100%),linear-gradient(to bottom, transparent 0, #000 8px, #000 calc(100% - 8px), transparent 100%);mask-image:linear-gradient(to right, transparent 0, #000 36px, #000 calc(100% - 8px), transparent 100%),linear-gradient(to bottom, transparent 0, #000 8px, #000 calc(100% - 8px), transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}:where(#flexible, #project-types) .fp-cta{display:flex;margin:0;justify-content:flex-start;align-items:center}@media (max-width: 899px){:where(#flexible, #project-types) .pt-header>.fp-cta{margin-top:0.6rem}}@media (min-width: 900px){:where(#flexible, #project-types) .fp-cta{justify-content:center}}:where(#flexible, #project-types) .fp-arrow{display:block;transition:transform 120ms ease}:where(#flexible, #project-types) .fp-arrow-link:hover .fp-arrow{transform:translateX(3px)}:where(#flexible, #project-types) .ff-accordion{margin-top:1rem;display:grid;gap:0.6rem}:where(#flexible, #project-types) .ff-accordion details{border:1px solid var(--panel-edge);border-radius:0.6rem;background:color-mix(in oklab, var(--panel) 92%, #000);overflow:hidden;position:relative;transition:background-color 140ms ease, border-color 140ms ease, opacity 140ms ease, filter 140ms ease}:where(#flexible, #project-types) .ff-accordion summary{cursor:pointer;list-style:none;padding:0.8rem 1rem;display:flex;align-items:center;gap:0.6rem;user-select:none}:where(#flexible, #project-types) .ff-accordion summary::-webkit-details-marker{display:none}:where(#flexible, #project-types) .ff-accordion summary::after{content:'\25BC';margin-left:auto;font-size:0.9em;transform:rotate(0deg);transition:transform 120ms ease}:where(#flexible, #project-types) .ff-accordion details[open] summary::after{transform:rotate(-180deg)}:where(#flexible, #project-types) .ff-step{display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:0.85em;color:#fff;background:linear-gradient(180deg, color-mix(in oklab, var(--accent-2) 94%, #fff), color-mix(in oklab, var(--accent-2) 88%, #000));border:1px solid var(--panel-edge);width:2.1rem;height:1.6rem;border-radius:999px;text-shadow:0 1px 2px rgba(0,0,0,0.45),0 0 1px rgba(0,0,0,0.25)}:where(#flexible, #project-types) .ff-accordion .ff-panel{padding:0 1rem 0.9rem}body.ff-page :where(#flexible, #project-types) .ff-box{flex:1 1 auto;display:flex;flex-direction:column;min-height:100%;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem;border-bottom:1px solid var(--panel-edge)}body.ff-page :where(#flexible, #project-types) .ff-body{flex:1 1 auto}body.ff-page :where(#flexible, #project-types){padding:var(--section-pad-y) 0}:where(#flexible, #project-types) .ff-body{padding-inline:var(--rail-gutter);padding-bottom:clamp(1rem, 3vw, 1.5rem)}body.ff-page :where(#flexible, #project-types) .pt-header{--ff-artw: clamp(220px, 27vw, 330px);--ff-imgw: clamp(180px, 24vw, 320px)}@media (min-width: 900px){body.ff-page :where(#flexible, #project-types) .pt-header{grid-template-columns:3fr 2fr;grid-template-areas:"title title" "left pills";column-gap:clamp(12px, 2vw, 24px);padding-right:0}body.ff-page :where(#flexible, #project-types) .pt-header .ff-robot{grid-area:art;position:static;justify-self:center;align-self:center;width:var(--ff-imgw);height:auto;object-fit:contain;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,0.45)) drop-shadow(0 0 1px rgba(0,0,0,0.25));transform:translateX(-12%)}body.ff-page :where(#flexible, #project-types) .pt-header .pt-left .pt-subtitle{max-width:42ch}body.ff-page :where(#flexible, #project-types) .pt-header>.pt-tablist{display:flex;flex-wrap:wrap;gap:0.5rem;padding:0.6rem 0.75rem;border:1px solid var(--panel-edge);border-radius:0.6rem 0 0 0.6rem;background:rgba(255,255,255,0.02)}body.ff-page :where(#flexible, #project-types) .pt-header .pt-left{display:flex;flex-direction:column;align-self:stretch}body.ff-page :where(#flexible, #project-types) .pt-header .pt-left [data-ff-pt-scales]{margin-top:auto}body.ff-page :where(#flexible, #project-types) .pt-header .pt-left [data-ff-pt-scales] .pt-scales{border:0;padding:0;margin:0;grid-template-columns:1fr;background:none}body.ff-page :where(#flexible, #project-types) .pt-header>.pt-tablist{align-self:stretch;margin-right:calc(-1 * var(--edge-border))}}@media (min-width: 900px){body:not(.ff-page) :where(#flexible, #project-types) .pt-header{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(12px, 2vw, 24px)}body:not(.ff-page) :where(#flexible, #project-types) .pt-header>h2{grid-column:1;grid-row:1}body:not(.ff-page) :where(#flexible, #project-types) .pt-header>.pt-subtitle{grid-column:1;grid-row:2}body:not(.ff-page) :where(#flexible, #project-types) .pt-header>.pt-tablist{grid-column:2;grid-row:1 / span 2;align-self:start;justify-self:stretch}}@media (min-width: 900px) and (max-width: 1200px){body.ff-page :where(#flexible, #project-types) .pt-header{column-gap:clamp(16px, 3vw, 28px)}body.ff-page :where(#flexible, #project-types) .pt-header .pt-subtitle{max-width:42ch}}@media (max-width: 899px){body.ff-page :where(#flexible, #project-types) .pt-header .ff-robot{position:absolute;left:50%;top:0.2rem;transform:translateX(-50%);width:clamp(220px, 78vw, 420px);height:auto;opacity:0.08;filter:none;pointer-events:none}body.ff-page :where(#flexible, #project-types) .pt-header>h2,body.ff-page :where(#flexible, #project-types) .pt-header>.pt-subtitle{position:relative;z-index:1}body.ff-page :where(#flexible, #project-types) .pt-header{grid-template-columns:1fr;grid-template-areas:"title" "left" "pills"}}:where(#flexible, #project-types) .ff-accordion details.is-off{opacity:0.5}:where(#flexible, #project-types) .ff-accordion details.is-off:hover{opacity:0.65}:where(#flexible, #project-types) .ff-accordion details.is-off summary{filter:saturate(0.7)}:where(#flexible, #project-types) .ff-accordion details.is-off .ff-step{color:#e6e6e6;background:linear-gradient(180deg, color-mix(in oklab, var(--muted) 90%, #fff), color-mix(in oklab, var(--muted) 86%, #000));border-color:color-mix(in oklab, var(--muted) 50%, var(--panel-edge))}:where(#flexible, #project-types) .ff-accordion details:not(.is-off){background:color-mix(in oklab, var(--panel) 88%, #000);border-color:color-mix(in oklab, var(--accent-2) 35%, var(--panel-edge))}:where(#flexible, #project-types) .ff-accordion details:not(.is-off)::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent-2);opacity:0.9}:where(#flexible, #project-types) .ff-accordion details:not(.is-off):hover{background:color-mix(in oklab, var(--panel) 84%, #000);border-color:color-mix(in oklab, var(--accent-2) 50%, var(--panel-edge))}body.ff-page :where(#flexible, #project-types) .pt-scales{border-top:0;border-bottom:0}body.ff-page :where(#flexible, #project-types) .ff-accordion{margin-bottom:clamp(0.2rem, 0.8vw, 0.6rem)}body.ff-page :where(#flexible, #project-types) .pt-panels{padding-top:0}#onshape-header{display:grid;grid-template-columns:1fr;grid-template-areas:'headings';align-items:center;gap:clamp(0.6rem, 1.6vw, 1rem)}.onshape-headings{grid-area:headings}.onshape-headings{display:grid;gap:0.35rem}#modern-cad .onshape-headings>h2{margin:0 0 0.25rem}#modern-cad .onshape-headings>p{margin:0}#modern-cad h2{text-align:inherit}#onshape-stage{margin-top:clamp(0.2rem, 0.8vw, 0.6rem);padding-top:clamp(0.2rem, 0.8vw, 0.5rem);padding-bottom:clamp(1rem, 3vw, 2rem);padding-inline:0;display:flex;flex-direction:column;gap:0.9rem}@media (min-width: 900px){#onshape-stage{display:grid;grid-template-columns:minmax(460px, 48%) 1fr;grid-template-areas:'figure copy';align-items:start;column-gap:2rem;row-gap:1rem}#onshape-header{grid-template-columns:1fr;grid-template-areas:'headings'}}#onshape-copy{text-align:left}#onshape-copy .onshape-intro{margin:clamp(1.2rem, 3.2vw, 1.8rem) 0 0;padding-left:0.6rem;border-left:3px solid var(--accent-2);font-weight:400}#onshape-copy .onshape-intro .cad-tool{color:inherit;font-weight:600}#onshape-copy .mc-list-table{width:100%;border-collapse:separate;border-spacing:0}#onshape-copy .mc-list-table td{border:0;padding:0.1rem 0;vertical-align:middle}#onshape-copy .mc-list-table tr+tr td{border-top:1px solid var(--panel-edge);padding-top:0.5rem}#onshape-copy .mc-list-table .text-col{border-left:1px solid var(--panel-edge);padding-left:0.6rem}#onshape-copy .mc-list-table .tick-col{width:1.4em;text-align:center;color:var(--accent-1);font-weight:800;line-height:1;padding-right:0.4rem}#onshape-copy .mc-list-table .tick-col>.tick-icon,#onshape-copy .mc-list-table .tick-col>.lucide{display:inline-block;width:1.05em;height:1.05em;transform:none}#onshape-visual{position:relative;text-align:center;width:100%;max-width:100%;margin:0;border-radius:6px;overflow:hidden}@media (min-width: 900px){#onshape-visual{grid-area:figure;width:100%;max-width:640px}#onshape-copy{grid-area:copy}}#onshape-visual img{display:block;width:100%;height:auto;border:0;border-radius:0;background:transparent;position:relative;z-index:0}#onshape-copy a.button{display:inline-block;width:100%;margin-top:0.8rem;text-align:center}#modern-cad{padding-top:var(--section-pad-y)}#modern-cad #onshape-header{margin-bottom:clamp(0.4rem, 1.4vw, 0.8rem)}#modern-cad>.container{padding-inline:0}#modern-cad .mc-box{position:relative;overflow:visible;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem;border-top-left-radius:1rem;border-top-right-radius:1rem;background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01)),var(--panel)}#modern-cad .mc-box.border-panel,#modern-cad .mc-box.panel-surface,#modern-cad .mc-box.panel-surface--flat{border-bottom:0}@media (max-width: 899px){#modern-cad .mc-box{width:calc(100% - 2 * var(--edge-border));margin-inline:auto}}#modern-cad .mc-box>#onshape-header{padding-inline:var(--rail-gutter);padding-top:clamp(1rem, 2.6vw, 1.4rem);padding-bottom:clamp(0.35rem, 1.2vw, 0.7rem)}#modern-cad .mc-box>#onshape-stage{padding-bottom:clamp(1.2rem, 3vw, 2rem);padding-inline:var(--rail-gutter)}.mc-cta-bar{background:linear-gradient(180deg, color-mix(in oklab, var(--accent-1) 94%, #fff), color-mix(in oklab, var(--accent-1) 88%, #000));border-top:0;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem;padding:0}.mc-cta-link{display:flex;align-items:center;justify-content:center;gap:0.6rem;padding:0.8rem 1rem;color:#fff;text-decoration:none;font-weight:600;letter-spacing:0.01em;text-shadow:0 1px 3px rgba(0,0,0,0.55),0 0 2px rgba(0,0,0,0.35)}.mc-cta-link svg{filter:drop-shadow(0 1px 3px rgba(0,0,0,0.55)) drop-shadow(0 0 2px rgba(0,0,0,0.35));transition:transform 120ms ease, filter 120ms ease}.mc-cta-link:hover svg{transform:translateX(3px)}.contact{padding:clamp(3rem, 6vw, 6rem) 0;border-block:1px solid rgba(255,255,255,0.2)}.contact-grid{display:grid;gap:1.6rem;align-items:start;max-width:980px;margin-inline:auto}.contact-content{display:grid;gap:1rem}.contact-text h1{font-size:clamp(1.9rem, calc(3.3vw + 0.95rem), 3.2rem);line-height:1.15;margin:0.4rem 0 0.6rem;font-weight:700}.contact-text h2{margin-bottom:0.8rem}.contact-text p{color:var(--muted)}.contact-media{justify-self:center}.contact-image{display:block;width:min(320px, 100%);aspect-ratio:1/1;object-fit:cover;border-radius:9999px}.contact-cta .cta{margin:1rem 0 0;width:100%}.contact-cta .social-links{display:flex;gap:1.2rem;margin-top:0.8rem}.contact-cta .social-links a{color:var(--text);opacity:0.85;border-bottom:1px solid transparent;transition:border-color 0.2s ease, opacity 0.2s ease}.contact-cta .social-links a:hover{opacity:1;border-color:var(--text)}@media (max-width: 899px){.contact{text-align:center}.contact-grid{justify-items:center}.contact-text,.contact-cta{text-align:center}.contact-cta .cta{margin:1rem auto 0}.contact-cta .social-links{justify-content:center}.contact-image{margin-inline:auto}}@media (min-width: 900px){.contact-grid{grid-template-columns:minmax(380px, 520px) auto;gap:2rem 3rem;justify-content:center}.contact-media{justify-self:end}}.cta{display:grid;grid-template-columns:1fr;gap:0.6rem;width:min(720px, 100%);margin:3rem auto 3rem;background:rgba(255,255,255,0.07);padding:0.5rem;border-radius:10px;text-align:left}.cta input,.cta textarea{border:none;background:white;border-radius:6px;padding:0.9rem 1.1rem;min-width:0;color:#111}.cta button{padding:0.9rem 1.1rem}.cta button{color:#fff;font-weight:600;letter-spacing:0.01em;text-shadow:0 1px 2px rgba(0,0,0,0.45),0 0 1px rgba(0,0,0,0.25)}.cta button svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,0.45)) drop-shadow(0 0 1px rgba(0,0,0,0.25));transition:transform 120ms ease, filter 120ms ease}.cta :where(input, textarea):focus{outline:none;box-shadow:0 0 0 3px var(--ring)}@media (min-width: 600px){.cta{grid-template-columns:1fr auto;align-items:center}}@media (max-width: 700px){.cta{margin:0.8rem auto 1.8rem}}.cta-extra{grid-column:1 / -1;display:none;gap:0.6rem}.cta.is-active .cta-extra{display:grid}@media (max-width: 599px){.cta{grid-auto-flow:row}.cta.is-active #project{order:1}.cta.is-active .cta-extra{order:2}.cta.is-active button{order:3}}.cta-footnote{margin:-0.1rem 0 0.1rem;color:var(--muted);font-size:0.9em;text-align:left;justify-self:start}.cta textarea{resize:vertical;min-height:120px}.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.hp-field{opacity:0;pointer-events:none}.cta-modal{position:fixed;inset:0;display:none;z-index:999}.cta-modal.open{display:block}.cta-modal-backdrop{position:absolute;inset:0;background:radial-gradient(80% 60% at 50% 10%, rgba(0,0,0,0.55), rgba(0,0,0,0.66));backdrop-filter:saturate(120%) blur(2px)}.cta-modal-dialog{position:relative;width:min(560px, calc(100% - 2rem));margin:12vh auto 0;background:linear-gradient(180deg, rgba(255,255,255,0.04), transparent),var(--panel);border-radius:14px;padding:1rem 1rem 0.9rem;color:var(--text);text-align:left;border:1px solid color-mix(in oklab, var(--panel-edge) 90%, transparent);box-shadow:0 24px 48px rgba(0,0,0,0.45),0 6px 16px rgba(0,0,0,0.35)}.cta-modal.open .cta-modal-dialog{animation:ctaModalIn 200ms ease-out}@keyframes ctaModalIn{from{opacity:0;transform:translateY(-8px) scale(0.985)}to{opacity:1;transform:translateY(0) scale(1)}}.cta-modal-header{display:grid;grid-template-columns:auto 1px 1fr 1px auto;gap:0.9rem;align-items:center}.cta-modal-divider{width:1px;height:100%;background:color-mix(in oklab, #fff 16%, transparent);align-self:stretch}.cta-modal-glyph{--glyph-bg: color-mix(in oklab, var(--accent-2) 22%, transparent);display:grid;place-items:center;width:44px;height:44px;border-radius:999px;background:var(--glyph-bg);border:1px solid color-mix(in oklab, var(--panel-edge) 60%, transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,0.06);color:#fff;position:relative}.cta-modal-glyph::before{content:"\2139";display:block;font-size:24px;line-height:1;transform:translateY(1px)}.cta-modal-dialog.success .cta-modal-glyph{--glyph-bg: color-mix(in oklab, var(--accent-1) 22%, transparent);color:#fff}.cta-modal-dialog.success .cta-modal-glyph::before{content:"\2713"}.cta-modal-dialog.error .cta-modal-glyph{--glyph-bg: color-mix(in oklab, #ff6b6b 18%, transparent);color:#fff}.cta-modal-dialog.error .cta-modal-glyph::before{content:"\26A0"}.cta-modal-dialog.info .cta-modal-glyph{--glyph-bg: color-mix(in oklab, var(--accent-2) 22%, transparent);color:#fff}.cta-modal-dialog h3{margin:0 0 .25rem;color:#fff}.cta-modal-dialog p{margin:0 0 .6rem;color:#fff}.cta-modal-text{align-self:center}.cta-modal-close{justify-self:end;align-self:center;margin:0}body.modal-open{overflow:hidden}.cta-modal-spinner{position:absolute;inset:8px;border:3px solid rgba(255,255,255,0.28);border-top-color:#fff;border-right-color:#fff;border-radius:50%;animation:ctaSpin .9s linear infinite;display:none}.cta-modal-dialog.loading .cta-modal-spinner{display:block}.cta-modal-dialog.loading .cta-modal-glyph::before{opacity:0}.cta-modal-dialog.loading .cta-modal-close{visibility:hidden}@keyframes ctaSpin{to{transform:rotate(360deg)}}.xp-section{--xp-card: color-mix(in srgb, #000 80%, #fff 20%);--xp-thermo-track: color-mix(in srgb, var(--text) 10%, transparent);--xp-thermo-fill: #4ade80;--xp-thermo-fill-2: #22c55e;color:var(--text)}#experience{scroll-margin-top:80px}#experience>.container{padding-inline:var(--rail-gutter)}.xp-header{display:grid;gap:.3rem;margin-bottom:.5rem}.xp-colheads{margin-top:.35rem;display:grid;grid-template-columns:1fr minmax(160px, 260px) 1.5fr;gap:1rem;font-size:.9rem;color:var(--muted);border-bottom:1px solid var(--panel-edge);padding-bottom:.25rem}.xp-group{margin-top:.4rem}.xp-group+.xp-group{margin-top:.3rem}.xp-group-title{margin:.25rem 0 .2rem 0;font-size:1.05rem;font-weight:600;border-left:3px solid var(--accent-2);padding-left:.5rem}.xp-group summary::-webkit-details-marker{display:none}.xp-group .xp-group-title{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:.35rem}.xp-group .xp-group-title::before{content:"+";color:var(--accent-2);display:inline-block;width:1em;margin-right:.1rem;font-weight:800;line-height:1}.xp-group[open]>.xp-group-title::before{content:"\2013"}.xp-rows{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}.xp-row{display:grid;align-items:center;grid-template-columns:1fr minmax(160px, 260px) 1.5fr;gap:.8rem;padding:.25rem .2rem;border-bottom:1px dashed var(--panel-edge)}.xp-row:last-child{border-bottom:0}.xp-skill{font-weight:550}.xp-note{font-size:.9em;color:var(--muted)}.xp-thermo{--h: 16px;--bulb: 14px;--tube-h: 9px;--level: 50%;--mix-green: var(--level);--mix-blue: calc(100% - var(--level));--fill-color: color-mix(in oklab, var(--accent-1) var(--mix-green), var(--accent-2) var(--mix-blue));position:relative;display:inline-block;height:var(--h);width:100%;padding-left:calc(var(--bulb) + 4px)}.xp-thermo::before{content:"";position:absolute;left:0;top:50%;width:var(--bulb);height:var(--bulb);border-radius:999px;transform:translateY(-50%);border:2px solid var(--panel-edge);background:var(--xp-thermo-track);box-shadow:inset 0 0 0 2px color-mix(in srgb, #000 20%, transparent)}.xp-thermo .tube{position:absolute;left:calc(var(--bulb) - 4px);right:0;top:50%;height:var(--tube-h);transform:translateY(-50%);border-radius:999px;border:2px solid var(--panel-edge);background:var(--xp-thermo-track);overflow:hidden}.xp-thermo .fill{position:absolute;inset:0 auto 0 0;width:var(--level);background:var(--xp-thermo-fill);background:linear-gradient(90deg, var(--fill-color) 0%, color-mix(in oklab, var(--fill-color) 88%, #000) 100%)}.xp-thermo .tube{background-image:linear-gradient(90deg, color-mix(in srgb, var(--text) 8%, transparent) 1px, transparent 1px);background-size:20% 100%}.xp-legend{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.5rem;font-size:.9rem;color:var(--muted)}.xp-legend i{display:inline-block;width:.65em;height:.65em;border-radius:50%;background:var(--xp-thermo-fill);margin-right:.35em}.xp-legend .dot-l{background:color-mix(in oklab, var(--accent-1) 20%, var(--accent-2) 80%)}.xp-legend .dot-c{background:color-mix(in oklab, var(--accent-1) 55%, var(--accent-2) 45%)}.xp-legend .dot-e{background:color-mix(in oklab, var(--accent-1) 90%, var(--accent-2) 10%)}@media (max-width: 720px){.xp-colheads{display:none}.xp-row{grid-template-columns:1fr;gap:.2rem;padding:.35rem 0}.xp-note{opacity:.85}}.about{padding-top:clamp(0.5rem, 2vw, 1rem);padding-bottom:clamp(2rem, 5vw, 4rem)}.about-ribbon{--ribbon-fade: clamp(10px, 2.5vw, 40px);display:flex;align-items:center;gap:clamp(0.35rem, 0.9vw, 0.55rem);margin-top:1rem;padding-block:0.25rem;padding-right:0.6rem;padding-left:calc(var(--ribbon-fade) + 0.6rem);border:1px solid var(--panel-edge);background:rgba(255,255,255,0.06);-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--ribbon-fade), #000 calc(100% - var(--ribbon-fade)), transparent);mask-image:linear-gradient(to right, transparent, #000 var(--ribbon-fade), #000 calc(100% - var(--ribbon-fade)), transparent)}.about-ribbon .marquee{flex:1 1 auto;min-width:0}.about-ribbon .marquee{-webkit-mask-image:none;mask-image:none}.about-ribbon-label{display:inline-flex;align-items:center;white-space:nowrap;color:var(--muted);font-weight:600;line-height:1;font-size:0.95em;transform:translateY(-2px)}.about-ribbon-label::after{content:"\2192";display:inline-block;margin-left:0.45rem;color:var(--accent-2);font-weight:700;line-height:1;transform:translateY(0.5px)}.about-ribbon .pill-btn{padding:0.38rem 0.6rem;font-size:0.95em;transform:translateY(0.5px)}@media (max-width: 700px){.about-ribbon{flex-direction:column;align-items:stretch;gap:0.5rem;padding-top:10px;padding-bottom:5px;padding-left:0.6rem}.about-ribbon-label{white-space:normal;transform:translateY(-1px);align-self:center;text-align:center}.about-ribbon-label::after{content:"\2193";transform:translateY(0)}.about-ribbon .pill-btn{transform:none}}.marquee{--marquee-fade: clamp(16px, 3vw, 48px);position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--marquee-fade), #000 calc(100% - var(--marquee-fade)), transparent);mask-image:linear-gradient(to right, transparent, #000 var(--marquee-fade), #000 calc(100% - var(--marquee-fade)), transparent)}.marquee-track{display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap;animation-name:marquee-scroll;animation-timing-function:linear;animation-iteration-count:infinite;animation-duration:var(--marquee-duration, 30s);will-change:transform}@keyframes marquee-scroll{from{transform:translateX(0)}to{transform:translateX(calc(var(--marquee-shift, 50%) * -1))}}@media (prefers-reduced-motion: reduce){.marquee:not([data-allow-motion]) .marquee-track{animation:none;transform:none}}.about-chips{margin:1rem 0 1.25rem 0;padding:0;list-style:none}.about-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 900px){.about-grid{grid-template-columns:1.2fr .8fr;gap:1.25rem}}.about-table{display:grid;grid-template-columns:1fr;padding-inline:var(--rail-gutter);margin-top:0;padding-top:clamp(0.25rem, 1.5vw, 0.75rem)}.about-cell{padding:clamp(0.9rem, 2vw, 1.1rem) 0}.about-table>.about-cell+.about-cell{border-top:1px solid var(--panel-edge)}@media (min-width: 900px){.about-table{grid-template-columns:1.2fr .8fr}.about-table>.about-cell+.about-cell{border-top:0;border-left:1px solid var(--panel-edge);padding-left:clamp(0.9rem, 2vw, 1.1rem)}.about-table>.about-cell:first-child{padding-right:clamp(0.9rem, 2vw, 1.1rem)}}.about-h{margin:0 0 .5rem}.about-item{border-top:1px dashed rgba(255,255,255,0.2);padding-top:.65rem;margin-top:.65rem}.about-item summary{cursor:pointer;list-style:none;font-weight:600;margin-bottom:.35rem;display:inline-flex;align-items:center;gap:0.35rem;flex-wrap:wrap;color:var(--muted)}.about-item summary::-webkit-details-marker{display:none}.about-item summary::before{content:"+";color:var(--accent-2);display:inline-block;width:1em;margin-right:.35rem;font-weight:800;line-height:1;font-style:normal}.about-item[open]>summary::before{content:"\2013"}.about-item summary strong{font-style:normal;color:var(--text)}.about-item p{margin:0 0 .2rem;color:inherit}.about-item[open]>p{padding:0.35rem 0 0.3rem calc(1em + .35rem)}.about-list{margin:0 0 .75rem 0;padding-left:1.1rem}.about-list li{margin:.25rem 0;position:relative}.about-list li{padding-left:.6rem}.about-list li::before{content:"\2022";position:absolute;left:0;top:0.1em;line-height:1;color:var(--accent-2);font-weight:800}.about-cta-bar{margin-top:0;background:linear-gradient(180deg, color-mix(in oklab, var(--accent-2) 94%, #fff), color-mix(in oklab, var(--accent-2) 88%, #000));border-top:0;border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem;padding:0}.about-cta-link{display:flex;align-items:center;justify-content:center;gap:0.6rem;padding:0.8rem 1rem;color:#fff;text-decoration:none;font-weight:600;letter-spacing:0.01em;text-shadow:0 1px 3px rgba(0,0,0,0.55),0 0 2px rgba(0,0,0,0.35)}.about-cta-link svg{filter:drop-shadow(0 1px 3px rgba(0,0,0,0.55)) drop-shadow(0 0 2px rgba(0,0,0,0.35));transition:transform 120ms ease, filter 120ms ease}.about-cta-link:hover svg{transform:translateX(3px)}.site-footer{padding:0;min-height:calc(36px + 2 * 0.9rem);color:#a6a8bd;text-align:left;font-size:0.95rem;display:flex;align-items:center;border-left:0;border-right:0;border-bottom:0}.site-footer .container{display:flex;align-items:center;padding-inline:1rem}.site-footer.drop-shadow,.site-footer.panel-surface,.site-footer.panel-surface--flat{box-shadow:0 -12px 24px rgba(0,0,0,0.28),0 -3px 8px rgba(0,0,0,0.2),0 -1px 2px rgba(0,0,0,0.35)}.print-accent{color:var(--accent-1)}.print-layout #hero-title{font-size:clamp(1.6rem, 4.2vw, 2.2rem)}.print-layout #hero-subtitle{margin:1rem auto 1.6rem}.print-layout .about-ribbon{display:none !important}.print-layout #site-header{position:static !important;top:auto !important;background:var(--panel) !important;box-shadow:none !important}.print-layout .nav-toggle{display:none !important}.print-layout #main-nav{position:static !important;max-height:none !important;overflow:visible !important;visibility:visible !important;pointer-events:auto !important}.print-layout .bg-engineering::before{opacity:0 !important}.print-layout .panel-surface--lit::before{opacity:0 !important}.print-layout .drop-shadow,.print-layout .panel-surface,.print-layout .panel-surface--flat{box-shadow:none !important}.print-layout .mc-cta-bar,.print-layout .pt-cta-bar{display:block !important}
