.topbar{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-3);padding-bottom:var(--space-3)}.topbar__mark{display:inline-flex;align-items:baseline;color:var(--ink);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}.topbar__mark:hover{color:var(--gold)}.topbar__name{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:1.25rem;letter-spacing:-.01em;line-height:1}.topbar__name em{font-style:italic;font-weight:400;color:var(--gold);padding:0 .1em;transition:color var(--dur-fast) var(--ease-out)}.topbar__mark:hover .topbar__name em{color:var(--ink)}@media(max-width:520px){.topbar__name{font-size:1.0625rem}}.lang-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.18em;text-transform:uppercase}.lang-toggle a{color:var(--mute);padding:.25em .5em;border-radius:2px;transition:color var(--dur-fast) var(--ease-out)}.lang-toggle a:hover{color:var(--ink)}.lang-toggle a.active{color:var(--gold);font-weight:500}.lang-toggle__sep{color:var(--rule)}.hero{position:relative;overflow:hidden;scroll-margin-top:var(--topbar-height);--mx: 50%;--my: 30%}.hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(680px circle at var(--mx) var(--my),rgba(200,165,88,.1) 0%,rgba(200,165,88,.055) 25%,rgba(200,165,88,.02) 55%,rgba(200,165,88,.005) 80%,transparent 100%);z-index:0;transition:opacity var(--dur-fast) var(--ease-out)}.hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:var(--space-6);padding:var(--space-10) var(--pad-x-mobile)}@media(min-width:900px){.hero__inner{grid-template-columns:minmax(0,.95fr) minmax(0,1.4fr);align-items:center;gap:var(--space-4);padding:var(--space-5) var(--pad-x-mobile) var(--space-6);min-height:clamp(470px,58vh,650px)}}.hero__kicker{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:.5em;margin-bottom:var(--space-3)}.hero__title{font-family:var(--font-display);font-weight:300;font-style:italic;font-size:clamp(2.25rem,6vw,4.75rem);line-height:.98;color:var(--ink);letter-spacing:-.02em;margin-bottom:var(--space-3)}.hero__title .line{display:block;overflow:hidden}.hero__title em{font-style:italic;color:var(--gold);font-weight:400}.hero__sub{font-family:var(--font-display);font-size:1rem;line-height:1.55;color:var(--ink);opacity:.92;max-width:46ch;margin-bottom:var(--space-8)}.hero__sub b{font-weight:500;color:var(--gold)}.hero__creds{display:grid;grid-template-columns:repeat(3,auto);gap:var(--space-5);font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.08em;color:var(--gold-2);text-transform:uppercase}.hero__creds div{display:flex;flex-direction:column;gap:.25em}.hero__creds b{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:1.75rem;letter-spacing:-.01em;color:var(--gold);text-transform:none}.hero__img{position:relative;margin:0;display:flex;align-items:flex-end;justify-content:center;min-height:320px}.hero__img-glow{position:absolute;left:50%;bottom:4%;transform:translate(-50%);width:85%;aspect-ratio:1 / 1;background:radial-gradient(circle at center,rgba(200,165,88,.28) 0%,rgba(200,165,88,.15) 20%,rgba(200,165,88,.06) 40%,rgba(200,165,88,.02) 60%,rgba(200,165,88,.005) 80%,transparent 100%);filter:blur(8px);pointer-events:none;z-index:0}.hero__img img{position:relative;z-index:1;width:100%;max-width:100%;height:auto;filter:drop-shadow(0 18px 36px rgba(0,0,0,.45)) drop-shadow(0 0 24px rgba(200,165,88,.1));-webkit-mask-image:linear-gradient(to bottom,black 0%,black 70%,rgba(0,0,0,.85) 80%,rgba(0,0,0,.5) 90%,transparent 100%);mask-image:linear-gradient(to bottom,black 0%,black 70%,rgba(0,0,0,.85) 80%,rgba(0,0,0,.5) 90%,transparent 100%)}@media(min-width:900px){.hero__img{align-self:stretch;margin-bottom:calc(-1 * var(--space-6))}.hero__img img{width:100%;max-width:100%}}@media(max-width:899px){.hero__inner{padding-left:var(--space-4);padding-right:var(--space-4)}.hero__img{min-height:260px;padding:var(--space-2) 0 0;margin-bottom:calc(-1 * var(--space-3))}}.section{position:relative;padding:var(--space-16) 0;border-top:1px solid var(--rule);scroll-margin-top:var(--topbar-height)}.section--alt{background:var(--bg-2)}.section__inner{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media(min-width:900px){.section__inner{grid-template-columns:200px 1fr}}.section__rail{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2);position:sticky;top:calc(var(--topbar-height) + var(--space-3));align-self:start;display:flex;flex-direction:column;gap:.5em;z-index:5}.section__num{font-size:1.1rem;color:var(--gold);font-weight:500}@media(max-width:899px){.section__rail{flex-direction:row;align-items:center;width:fit-content;gap:.6em;padding:.5em .95em;background:color-mix(in oklab,var(--bg) 78%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--rule);border-radius:999px;top:calc(var(--topbar-height) + var(--space-2))}.section__num{font-size:var(--fs-mono)}}.section__title{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:var(--fs-section);line-height:1.05;color:var(--ink);letter-spacing:-.01em;margin-bottom:var(--space-6)}.section__title em{color:var(--gold);font-style:italic}.about__body{display:flex;flex-direction:column;gap:var(--space-4);max-width:64ch}.about__body p{font-size:1.0625rem;line-height:1.65;color:var(--ink);opacity:.92}.tl{position:relative;list-style:none;margin:var(--space-8) 0 0;padding:0;display:grid;gap:0;--rail-x: 182px}@media(max-width:720px){.tl{--rail-x: 14px}}.tl__fill{position:absolute;left:var(--rail-x);width:2px;height:0;background:linear-gradient(to bottom,transparent 0%,rgba(200,165,88,.55) 8%,var(--gold) 28%,var(--gold) 80%,rgba(200,165,88,.6) 100%);transform:translate(-50%);pointer-events:none;z-index:1;box-shadow:0 0 10px #c8a55873}.tl__playhead{position:absolute;left:var(--rail-x);width:14px;height:14px;border-radius:50%;background:var(--gold);transform:translate(-50%,-50%);box-shadow:0 0 0 1px #c8a55866,0 0 16px #c8a558b3,0 0 36px #c8a55852;z-index:3;opacity:0;transition:opacity .35s var(--ease-out)}.tl__playhead--active{opacity:1}.tl__row .tl__year{transition:color .4s var(--ease-out)}.tl__row--passed .tl__year,.tl__row--current .tl__year{color:var(--gold)}.tl__dot{transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.tl__row--passed:not(.tl__row--current) .tl__dot{background:var(--gold);border-color:var(--gold)}.tl__row{display:grid;grid-template-columns:140px 36px 1fr;align-items:start;column-gap:var(--space-3);padding:var(--space-6) 0;position:relative}html.js .tl__row{opacity:0;transform:translateY(24px)}.tl__year{display:flex;align-items:baseline;justify-content:flex-end;font-family:var(--font-display);font-style:italic;font-weight:300;font-size:clamp(2.25rem,5vw,3.25rem);line-height:1;letter-spacing:-.02em;color:var(--ink);padding-top:.1em}.tl__year-suffix{font-size:.4em;margin-left:.05em;vertical-align:super;opacity:.85}.tl__rail{position:relative;width:100%;align-self:stretch;display:flex;justify-content:center}.tl__rail:before{content:"";position:absolute;top:0;bottom:-100%;left:50%;width:1px;background:var(--rule);transform:translate(-.5px)}.tl__row:last-child .tl__rail:before{bottom:50%}.tl__dot{position:absolute;top:.95rem;left:50%;transform:translate(-50%);width:12px;height:12px;border-radius:50%;background:var(--bg);border:1.5px solid var(--gold-2);box-sizing:border-box;z-index:1}.tl__row--current .tl__dot{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 4px #c8a55826}.tl__rail{perspective:600px}.tl__oscar-wrap{position:absolute;top:50%;left:50%;width:34px;height:88px;transform:translate(-50%,-50%) scale(0) rotateY(0);transform-origin:50% 50%;transform-style:preserve-3d;opacity:0;pointer-events:none;z-index:2;transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}.tl__oscar{width:100%;height:100%;filter:drop-shadow(0 0 12px rgba(200,165,88,.55)) drop-shadow(0 6px 14px rgba(0,0,0,.55));backface-visibility:visible}@keyframes oscar-emerge{0%{transform:translate(-50%,-50%) scale(0) rotateY(0);opacity:0}20%{transform:translate(-50%,-50%) scale(.7) rotateY(120deg);opacity:1}55%{transform:translate(-50%,-50%) scale(1.08) rotateY(280deg);opacity:1}80%{transform:translate(-50%,-50%) scale(.97) rotateY(360deg);opacity:1}to{transform:translate(-50%,-50%) scale(1) rotateY(360deg);opacity:1}}.tl__row--current.tl__row--passed .tl__oscar-wrap{opacity:1;transform:translate(-50%,-50%) scale(1) rotateY(360deg);animation:oscar-emerge 1.4s var(--ease-out)}.tl__row--current.tl__row--passed .tl__dot{opacity:.25;transform:translate(-50%) scale(.65);transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}@media(prefers-reduced-motion:reduce){.tl__oscar-wrap{transition:opacity .2s linear;animation:none}.tl__row--current.tl__row--passed .tl__oscar-wrap{transform:translate(-50%,-50%) scale(1) rotateY(0)}}.tl__copy{padding-top:.25rem;max-width:60ch}.tl__title{font-family:var(--font-display);font-weight:500;font-style:normal;font-size:1.375rem;line-height:1.2;letter-spacing:-.005em;color:var(--ink);margin-bottom:var(--space-2)}.tl__title em,.tl__row--current .tl__title,.tl__row--current .tl__title em{font-style:italic;font-weight:400;color:var(--gold)}.tl__body{font-size:.95rem;line-height:1.6;color:var(--ink);opacity:.7}.tl__body em{font-style:italic;color:var(--gold);opacity:1}.tl__body .hl{color:var(--gold);opacity:1}@media(max-width:720px){.tl__row{grid-template-columns:28px 1fr;column-gap:var(--space-3);padding:var(--space-4) 0}.tl__year{grid-column:2;justify-content:flex-start;font-size:1.75rem;margin-bottom:var(--space-1)}.tl__rail{grid-row:1 / span 2;grid-column:1}.tl__copy{grid-column:2}.tl__dot{top:.5rem}}.inventions{display:grid;gap:var(--space-6)}.invention{border-top:1px solid var(--rule);padding-top:var(--space-4);display:grid;gap:var(--space-2)}.invention__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3)}.invention__name{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:2rem;color:var(--ink);letter-spacing:-.01em}.invention__year{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.18em;color:var(--gold)}.invention__principle{font-size:1.0625rem;line-height:1.6;max-width:60ch;color:var(--ink);opacity:.92}.invention__award{font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:.5em;margin-top:.5em}.invention__award:before{content:"★"}.patents__intro{font-family:var(--font-display);font-size:1rem;line-height:1.55;color:var(--ink);opacity:.85;max-width:60ch;margin-bottom:var(--space-3)}.patents__legend{display:inline-flex;align-items:center;gap:.55em;font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2);margin-bottom:var(--space-8)}.patents__legend .patent-id__dot{width:.5em;height:.5em}.patents__families{display:grid;gap:var(--space-6)}@media(min-width:720px){.patents__families{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6) var(--space-8)}}.patent-family{display:grid;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--rule)}.patent-family__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.65em}.patent-family__title{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:1.125rem;line-height:1.3;color:var(--ink);letter-spacing:-.005em}.patent-family__note{font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2);white-space:nowrap}.patent-family__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4em .65em}.patent-id{display:inline-flex;align-items:center;gap:.4em;padding:.25em .55em;border:1px solid var(--rule);border-radius:2px;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.04em;color:var(--mute);background:transparent;white-space:nowrap}.patent-id.is-active{color:var(--ink);border-color:#c8a55859}.patent-id__code{display:inline-block}.patent-id__dot{width:.4em;height:.4em;border-radius:50%;background:var(--gold);box-shadow:0 0 0 2px #c8a5582e;flex-shrink:0}.practice__list{list-style:none;padding:0;margin:0;border-top:1px solid var(--rule)}.practice__item{border-bottom:1px solid var(--rule)}.practice__link{display:grid;grid-template-columns:48px minmax(0,1.05fr) minmax(0,1.35fr) 160px 28px;align-items:start;gap:var(--space-4);padding:var(--space-5) var(--space-2);color:inherit;text-decoration:none;transition:background var(--dur-fast) var(--ease-out);position:relative}.practice__link:hover{background:#c8a5580a}.practice__link:hover .practice__arrow{color:var(--gold);transform:translate(4px)}.practice__link:hover .practice__entry-title{color:var(--gold)}.practice__link:hover .practice__entry-title em{color:var(--ink)}.practice__num{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.18em;color:var(--gold-2);padding-top:.55em}.practice__entry-title{font-family:var(--font-display);font-weight:500;font-size:clamp(1.5rem,2.6vw,2.25rem);line-height:1.1;letter-spacing:-.01em;color:var(--ink);transition:color var(--dur-fast) var(--ease-out)}.practice__entry-title em{font-style:italic;font-weight:400;color:var(--gold);transition:color var(--dur-fast) var(--ease-out)}.practice__entry-body{font-size:.95rem;line-height:1.55;color:var(--ink);opacity:.75;padding-top:.4em}.practice__entry-tag{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2);text-align:right;white-space:nowrap;padding-top:.55em}.practice__arrow{font-family:var(--font-mono);font-size:1.4rem;line-height:1;color:var(--gold-2);padding-top:.35em;transition:color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}@media(max-width:900px){.practice__link{grid-template-columns:36px 1fr 24px;gap:var(--space-2) var(--space-3);padding:var(--space-4) 0}.practice__num{grid-row:1;grid-column:1;padding-top:.3em}.practice__entry-title{grid-row:1;grid-column:2}.practice__arrow{grid-row:1;grid-column:3;padding-top:.45em;align-self:start;text-align:right}.practice__entry-body{grid-row:2;grid-column:2 / span 2;padding-top:.4em}.practice__entry-tag{grid-row:3;grid-column:2 / span 2;text-align:left;padding-top:.45em}}.contact{display:grid;gap:var(--space-3);max-width:64ch}.contact__letter{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:clamp(1.25rem,2.4vw,1.75rem);line-height:1.45;letter-spacing:-.005em;color:var(--ink);max-width:52ch}.contact__signature{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:1.125rem;color:var(--gold);margin-top:var(--space-1);margin-bottom:var(--space-4);padding-left:.2em}.contact__cta{display:inline-flex;align-items:baseline;gap:.7em;font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(1.5rem,3vw,2.25rem);letter-spacing:-.01em;color:var(--gold);text-decoration:none;padding:var(--space-2) 0;border-bottom:1px solid var(--gold-2);width:fit-content;transition:color var(--dur-fast) var(--ease-out),border-bottom-color var(--dur-fast) var(--ease-out)}.contact__cta:hover{color:var(--ink);border-bottom-color:var(--ink)}.contact__cta:hover .contact__cta-arrow{transform:translate(6px)}.contact__cta-arrow{display:inline-block;font-family:var(--font-mono);font-size:.85em;transition:transform var(--dur-fast) var(--ease-out)}.contact__meta{margin-top:var(--space-4);display:flex;flex-wrap:wrap;align-items:center;gap:.7em;font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2)}.contact__meta-sep{color:var(--rule)}.contact__meta a{color:var(--gold-2);text-decoration:none;border-bottom:1px solid transparent;transition:color var(--dur-fast) var(--ease-out),border-bottom-color var(--dur-fast) var(--ease-out)}.contact__meta a:hover{color:var(--ink);border-bottom-color:var(--rule)}
