@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap');

/* Foundation. Content is visible without motion or JavaScript. */
:root{font-family:'DM Sans','Noto Sans KR',sans-serif;font-synthesis:none;color-scheme:light;--header-height:78px;--index-height:64px;--paper:#f3f3f3;--ink:#171717;--muted:#5f5f5f;--line:#cdcdcd;--contrast:#f4f4f4;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 22px)}body{margin:0}h1,h2,h3,h4,p,figure{margin:0}button,input{font:inherit}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%}::selection{background:#222222;color:#ffffff}a:focus-visible,button:focus-visible,[tabindex='0']:focus-visible{outline:2px solid currentColor;outline-offset:5px}button{touch-action:manipulation}a,button{scroll-margin-block:100px}p{word-break:keep-all;overflow-wrap:break-word}button:disabled{cursor:default}.wrap{max-width:1800px;margin-inline:auto;padding-inline:4.3%}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;padding:15px;background:#111111;color:#ffffff}.skip-link:focus{top:15px}.noscript-note{background:#dddddd;padding:20px;text-align:center;font-size:1rem;line-height:1.8}.reading-progress{position:fixed;z-index:50;inset:0 0 auto;height:2px;background:#171717;transform:scaleX(0);transform-origin:left}.eyebrow,.micro{font-size:.75rem;letter-spacing:1.1px;line-height:1.8;font-weight:400}.micro{color:#ababab}

/* Masthead and hero foundations; art direction lives in studio.css. */
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.wordmark{display:inline-flex;align-items:center;gap:14px;flex-shrink:0;font-weight:700}.brand-monogram{position:relative;display:grid;place-items:center;line-height:1}.brand-monogram::before{content:'';position:absolute;inset:0;border:1px solid currentColor;transition:transform .5s var(--ease)}.wordmark:hover .brand-monogram::before{transform:scale(1.1,1.06)}.wordmark-label{line-height:1.6}.site-header nav{display:flex;align-items:center}.site-header nav a{position:relative;padding-block:10px;white-space:nowrap}.site-header nav a>span{font-size:.75rem;margin-left:6px;color:var(--muted)}.site-header nav a:not(.nav-contact)::after{content:'';position:absolute;inset:auto 0 2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}.site-header nav a:hover::after,.site-header nav a[aria-current]::after{transform:scaleX(1)}.nav-contact{display:flex;align-items:center}.site-header nav .nav-contact>span{font-size:1.25rem;color:var(--ink)}.hero-topline{display:flex;justify-content:space-between;align-items:center;gap:12px}.slash{margin:0 12px;color:#909090}.hero-display{display:flex;font-family:'DM Sans',sans-serif}.type-mask{display:block;overflow:hidden;padding-bottom:.05em;margin-bottom:-.05em;white-space:nowrap;flex-shrink:0}.type-word{display:block}.hero-intro,.hero-grid>*{min-width:0}.hero-description{color:var(--muted)}.hero-action{font-weight:500}.action-disc{display:grid;place-items:center;flex-shrink:0;border:1px solid;border-radius:50%;transition:transform .5s var(--ease)}.hero-action:hover .action-disc{transform:translateY(4px)}.hero-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;line-height:1.7}.hero-footer a{display:flex;align-items:center;gap:25px}.hero-footer a>span{font-size:24px}.showcase-heading,.showcase-pagination{display:flex;align-items:center;justify-content:space-between}.stage-index{font-variant-numeric:tabular-nums}.showcase-pagination button{display:grid;place-items:center;padding:0;background:none;border-radius:50%;font-size:18px;transition:background .25s}.showcase-pagination button:hover{background:#ffffff14}.evidence-stage{display:flex;flex-direction:column;min-width:0}.showcase-open{display:block;width:100%;background:none;border:0;padding:0;text-align:left;touch-action:pan-y}.showcase-art{position:relative;display:flex;align-items:center;justify-content:center}.showcase-art::before{content:'';position:absolute;pointer-events:none}.showcase-art img{position:relative;z-index:1;display:block;user-select:none;-webkit-user-drag:none;transition:transform .7s var(--ease)}.showcase-open:hover .showcase-art img{transform:scale(1.035)}.preview-caption{position:absolute;z-index:2;line-height:1.7}.preview-cursor{position:absolute;z-index:3;left:var(--cursor-x,50%);top:var(--cursor-y,50%);display:grid;align-content:center;line-height:1.7;text-align:center;border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.7);pointer-events:none;transition:opacity .2s,transform .4s var(--ease)}.showcase-caption{display:flex;justify-content:space-between;gap:20px}.showcase-caption small,.showcase-caption strong{display:block}.showcase-arrow{transition:transform .4s var(--ease)}.showcase-open:hover .showcase-arrow{transform:rotate(45deg)}.evidence-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.evidence-tabs button{border:0;background:none;text-align:left;white-space:nowrap}.evidence-tabs::after{content:'';position:absolute;left:0;top:-1px;width:var(--tab-width,0);transform:translateX(var(--tab-left,0));transition:transform .55s var(--ease),width .55s var(--ease);pointer-events:none}.optimization-preview{position:relative;z-index:1;display:flex;flex-direction:column;text-align:left}.preview-stat{display:flex;align-items:baseline;line-height:1.1;letter-spacing:-.07em}.preview-stat>span{font-size:.34em;margin-left:6px}.preview-stat>i{font-size:.6em;margin-left:auto;font-style:normal}.preview-stat-label{margin-top:5px;line-height:1.7}.preview-comparison{display:flex;flex-direction:column;gap:13px;margin-top:18px}.preview-run>span:first-child{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.75rem;line-height:1.7}.preview-run b{font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap}.preview-run-line{display:block;height:4px;margin-top:7px}.preview-run-line>i{display:block;height:100%}.preview-run.final b{font-weight:600}

/* The selected work is arranged as four distinct editorial chapters. */
.work-section{padding-block:104px 110px}.work-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:42px}.work-heading h2{font-size:clamp(3.2rem,7.6vw,8rem);font-weight:500;letter-spacing:-.065em;line-height:1.1;margin-top:19px}.work-count{display:inline-block;font-size:.24em;letter-spacing:-.03em;vertical-align:top;margin:10px 0 0 15px}.work-heading>p{font-size:1rem;line-height:1.9;color:var(--muted);padding-bottom:6px}.project-index{position:sticky;top:var(--header-height);z-index:12;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line);background:rgb(244 244 244 / 96%);backdrop-filter:blur(18px);margin-bottom:65px}.project-index a{position:relative;display:flex;align-items:center;gap:15px;padding:20px 10px 20px 0;min-height:63px;color:#616161;font-size:.875rem;line-height:1.6}.project-index a>span{font-size:.75rem;font-variant-numeric:tabular-nums}.project-index strong{font-weight:400}.project-index a::after{content:'';position:absolute;left:0;bottom:-1px;width:100%;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}.project-index a[aria-current]{color:#111111}.project-index a[aria-current] strong{font-weight:600}.project-index a[aria-current]::after{transform:scaleX(var(--chapter-progress,1))}.project-index a:hover{color:#111111}[data-chapter]{scroll-margin-top:calc(var(--index-height) + 22px)}.feature-project{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;align-items:start}.feature-project>*,.optimization-project>*,.secondary-open>*,.approach-layout>*,.contact-main>*{min-width:0}.project-narrative{position:sticky;top:calc(var(--header-height) + var(--index-height) + 25px);padding-top:10px}.project-meta{display:flex;align-items:center;gap:18px;font-size:.75rem;letter-spacing:1px;line-height:1.8}.project-meta>span{font-size:1.15rem;font-weight:400;letter-spacing:-.05em;line-height:1.3}.project-narrative>h3{font-size:clamp(5rem,10.5vw,10rem);font-weight:500;letter-spacing:-.075em;line-height:1.04;margin-top:24px}.project-narrative>h3>span{color:#848484}.project-narrative>h4{font-size:clamp(1.45rem,2.4vw,2.25rem);line-height:1.6;letter-spacing:-.045em;font-weight:500;margin-top:27px}.project-description{font-size:1rem;line-height:1.95;color:var(--muted);margin-top:22px;max-width:480px}.decision{display:flex;gap:18px;border-top:1px solid var(--line);padding-top:20px;margin-top:30px}.decision>span{font-size:.75rem;color:var(--muted);white-space:nowrap;line-height:2}.decision p{font-size:.9375rem;line-height:1.9}.technology{font-size:.75rem;color:var(--muted);letter-spacing:.3px;margin-top:23px;line-height:1.9}.project-cta{position:relative;display:flex;align-items:center;justify-content:space-between;gap:30px;width:100%;padding:18px 0 14px;background:none;border:0;border-bottom:1px solid #acacac;font-size:.875rem;margin-top:16px;text-align:left}.project-cta::after{content:'';position:absolute;inset:auto 0 -1px;height:1px;background:currentColor;transform:scaleX(.1);transform-origin:left;transition:transform .55s var(--ease)}.project-cta:hover::after,.project-cta:focus-visible::after{transform:scaleX(1)}.project-cta>span{font-size:25px;transition:transform .45s var(--ease)}.project-cta:hover>span{transform:translate(4px,-4px)}

/* Reny: a readable, directly controllable explanation of the recorded system. */
.diagram-stage{background:#e7e7e7;border:1px solid #d0d0d0;padding:30px 35px 25px}.diagram-caption{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:.75rem;letter-spacing:1px;color:#515151;margin-bottom:16px}.flow-replay{display:flex;align-items:center;gap:7px;min-height:44px;white-space:nowrap;border:0;padding:0;background:none;font-size:.875rem;letter-spacing:0;color:var(--ink)}.replay-symbol{font-size:24px;transition:transform .5s var(--ease)}.flow-replay:hover .replay-symbol{transform:rotate(-90deg)}.flow-controls{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid #bebebe}.flow-controls button{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;min-height:50px;font-size:.75rem;background:none;border:0;padding:13px 4px;color:#646464}.flow-controls button span{font-size:.875rem}.flow-controls button::after{content:'';position:absolute;inset:auto 0 -1px;height:2px;background:#222222;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}.flow-controls button[aria-pressed='true']{font-weight:600;color:#111111}.flow-controls button[aria-pressed='true']::after{transform:scaleX(1)}.flow-insight{padding:20px 0;min-height:108px}.flow-insight>span{font-size:.75rem;letter-spacing:1px;color:#606060;display:block}.flow-insight>p{font-size:.875rem;line-height:1.9;margin-top:9px;color:#424242}.flow-node{position:relative;outline:1px solid transparent;outline-offset:4px;transition:outline-color .35s,transform .45s var(--ease)}.flow-node.is-current{outline-color:#333333;transform:translateY(-2px)}.diagram-input{max-width:92%;margin:auto;padding:15px 20px;background:#f8f8f8;border:1px solid #cbcbcb}.diagram-input .micro{color:#656565}.diagram-input p{font-size:1rem;margin-top:8px;line-height:1.8}.diagram-line{height:26px;width:1px;background:#b9b9b9;margin:auto;position:relative}.diagram-line::before{content:'';position:absolute;inset:0;background:#333333;transform:scaleY(0);transform-origin:top;transition:transform .5s var(--ease)}.diagram-line::after{content:'';position:absolute;bottom:0;left:-2px;width:5px;height:5px;background:#adadad;border-radius:50%}.diagram-line.is-complete::before{transform:scaleY(1)}.diagram-line.is-complete::after{background:#333333}.diagram-model{max-width:76%;margin:auto;background:#232323;color:white;padding:19px 22px;text-align:center;display:flex;flex-direction:column;gap:8px;border:1px solid #222222}.diagram-model strong{font-size:2rem;font-weight:400;letter-spacing:-.055em;line-height:1.2}.diagram-model>span:last-child{color:#c8c8c8;font-size:.875rem}.tool-options{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:8px}.tool-options>div{display:flex;flex-direction:column;gap:8px;padding:16px 12px;background:#f7f7f7;border:1px solid #cbcbcb}.tool-options span{font-size:.75rem;color:#636363}.tool-options strong{font-size:.9375rem;font-weight:500}.tool-options .selected-tool{background:#dadada;border-color:#8f8f8f}.diagram-output{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:17px 20px;background:#f7f7f7;border:1px solid #bcbcbc}.diagram-output .micro{color:#646464}.diagram-output code{display:block;margin-top:8px;font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:500;letter-spacing:-.02em}.output-mark{font-size:2rem;color:#707070}.flow-bottom{margin-top:25px;padding-top:16px;border-top:1px solid #bebebe}.flow-bottom p{font-size:.75rem;line-height:1.8;color:#606060}

/* A full-width change of pace for the optimization experiments. */
.optimization-project{position:relative;display:grid;grid-template-columns:.86fr 1.14fr;gap:10%;align-items:center;margin:110px -4.705% 0;padding:84px 4.3%;background:#1b1b1b;color:#f3f3f3}.optimization-copy>h3{font-size:clamp(2rem,3.4vw,3.5rem);font-weight:500;line-height:1.5;letter-spacing:-.06em;margin-top:26px}.optimization-copy>h3>span{color:#a5a5a5}.optimization-copy .project-meta{color:#b1b1b1}.optimization-copy .project-description{color:#b6b6b6}.optimization-result{margin-top:35px}.optimization-result>strong{display:block;font-size:clamp(5rem,10.5vw,10.5rem);font-weight:400;letter-spacing:-.075em;line-height:1.1;white-space:nowrap}.optimization-result>strong>span{font-size:.28em;letter-spacing:-.03em;margin-left:8px}.optimization-result>p{font-size:.875rem;line-height:1.9;margin-top:13px;color:#dddddd}.optimization-result>p>span{font-size:.875rem;color:#a2a2a2}.score-summary{font-size:.875rem;color:#b0b0b0;line-height:1.9;margin-top:16px}.score-summary strong{display:block;font-size:1.55rem;color:#eeeeee;font-weight:400;letter-spacing:-.02em}.light-cta{border-color:#656565;color:#f3f3f3;margin-top:23px}.benchmark-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;border-bottom:1px solid #4b4b4b;padding-bottom:24px}.benchmark-heading h4{font-size:1.4rem;font-weight:500;margin-top:10px;line-height:1.7;letter-spacing:-.04em}.metric-switch{display:flex;border:1px solid #636363;padding:3px;gap:2px}.metric-switch button{padding:10px 12px;border:0;background:none;color:#bcbcbc;font-size:.875rem;white-space:nowrap}.metric-switch button[aria-pressed='true']{background:#e8e8e8;color:#161616}.benchmark-chart{margin-top:25px;min-height:345px}.benchmark-row{padding:15px 0}.benchmark-row>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.875rem;line-height:1.8;color:#b8b8b8}.benchmark-row strong{font-weight:400;font-variant-numeric:tabular-nums;color:#d5d5d5;white-space:nowrap}.bar-track{height:5px;margin-top:11px;background:#373737}.bar-track>span{display:block;height:100%;width:var(--value);transform-origin:left;background:#8b8b8b;transition:width .65s var(--ease)}.benchmark-row.selected>div:first-child,.benchmark-row.selected strong{color:#f8f8f8;font-weight:500}.benchmark-row.selected .bar-track{height:8px}.benchmark-row.selected .bar-track>span{background:#ebebeb}.benchmark-row em{display:inline-block;font-size:.75rem;font-style:normal;border:1px solid #7e7e7e;padding:0 5px;margin-left:7px;white-space:nowrap}.benchmark-context{font-size:.75rem;color:#b2b2b2;line-height:1.8;margin-top:16px}.benchmark-decision{display:flex;align-items:center;gap:25px;border-top:1px solid #4d4d4d;padding-top:22px;margin-top:28px}.benchmark-decision>span{font-size:.75rem;letter-spacing:1px;line-height:1.8;max-width:85px;color:#b9b9b9}.benchmark-decision p{font-size:.9375rem;line-height:1.9;color:#e0e0e0}

/* Evidence first: images retain their original scientific colours. */
.secondary-projects{margin-top:95px}.secondary-project+.secondary-project{margin-top:85px}.secondary-open{display:grid;grid-template-columns:1.12fr .88fr;gap:0 8%;align-items:center}.secondary-top{grid-column:1/-1;border-top:1px solid var(--line);padding:25px 0 35px}.secondary-body{padding-block:12px}.project-subject{font-size:1.1rem;font-weight:500;line-height:1.7}.project-subject>span{display:block;font-size:.75rem;color:var(--muted);font-weight:400;margin-top:5px}.secondary-body h3{font-size:clamp(1.6rem,2.6vw,2.6rem);font-weight:500;line-height:1.6;letter-spacing:-.055em;margin-top:23px}.secondary-body>p:not(.project-subject){font-size:1rem;color:var(--muted);line-height:1.95;margin-top:22px}.secondary-decision{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding-top:18px;margin-top:26px;border-top:1px solid var(--line);font-size:.875rem;line-height:1.9}.secondary-decision>span{font-size:.75rem;color:var(--muted)}.secondary-decision i{font-style:normal;margin-inline:4px}.case-invitation{display:flex;align-items:center;justify-content:space-between;gap:25px;border:0;border-bottom:1px solid #909090;padding:19px 0 14px;margin-top:14px;width:100%;text-align:left;background:none;font-size:.875rem}.case-invitation>span{font-size:25px;transition:transform .45s var(--ease)}.case-invitation:hover>span{transform:translate(5px,-5px)}.xai-inspector{background:#e4e4e4;border:1px solid #d1d1d1;padding:22px}.inspector-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.75rem;color:#5d5d5d;letter-spacing:.5px;line-height:1.7}.xai-view{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1.38;margin:20px auto;width:100%;overflow:hidden;background:#f8f8f8}.xai-image-track{position:relative;width:100%;flex-shrink:0;transition:width .65s var(--ease),transform .65s var(--ease)}.xai-image-track img{display:block;width:100%;height:auto;max-width:none}.xai-view[data-selected]:not([data-selected='all']){width:76%;aspect-ratio:1.01}.xai-view[data-selected]:not([data-selected='all']) .xai-image-track{position:absolute;width:300%;left:0;transform:translateX(calc(var(--model-index) * -33.333333%))}.xai-view-controls{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid #b6b6b6}.xai-view-controls button{padding:15px 5px;border:0;background:none;font-size:.8125rem;color:#5f5f5f;min-height:48px}.xai-view-controls button[aria-pressed='true']{background:#232323;color:#f6f6f6}.inspector-note{font-size:.8125rem;line-height:1.8;color:#5c5c5c;margin-top:15px}.vision-inspector{background:#e4e4e4;padding:22px;border:1px solid #d0d0d0}.road-image-link{position:relative;display:block;margin-top:21px;overflow:hidden;background:#cecece}.road-image-link img{display:block;width:100%;height:auto;transition:transform .8s var(--ease)}.road-image-link:hover img{transform:scale(1.045)}.image-expand{position:absolute;right:12px;bottom:12px;padding:9px 12px;background:#1b1b1bdd;color:white;font-size:.75rem}.vision-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:18px}.vision-caption strong{font-size:2.4rem;font-weight:400;letter-spacing:-.06em;white-space:nowrap}.vision-caption strong>span{font-size:.75rem;letter-spacing:0;margin-left:4px}.vision-caption p{font-size:.8125rem;color:#595959;line-height:1.9}.secondary-project#detection-work .secondary-open{grid-template-columns:.88fr 1.12fr}#detection-work .vision-inspector{grid-column:2;grid-row:2}#detection-work .secondary-body{grid-column:1;grid-row:2}

/* Quiet reading, then a large personal sign-off. */
.approach-section{background:#e6e6e6;padding-block:96px}.approach-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%}.approach-intro{position:sticky;top:calc(var(--header-height) + 32px);align-self:start}.approach-intro h2{font-size:clamp(1.9rem,3.45vw,3.6rem);font-weight:500;letter-spacing:-.06em;line-height:1.5;margin-top:27px}.intro-body,.about-direction{font-size:1rem;line-height:1.95;color:#5b5b5b;margin-top:27px}.about-direction{margin-top:18px}.primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;border:1px solid #737373;padding:16px 20px;margin-top:28px;font-size:.875rem;min-height:52px;transition:color .3s,background .3s}.primary-link>span{font-size:20px}.primary-link:hover{background:#222222;color:#ffffff}.principle{display:flex;gap:24px;border-top:1px solid #b1b1b1;padding:30px 0 34px}.principle-number{font-size:.75rem;color:#5f5f5f;line-height:2.6}.principle h3{font-size:1.35rem;font-weight:500;letter-spacing:-.035em;line-height:1.6;margin-bottom:15px}.principle p{font-size:1rem;color:#5c5c5c;line-height:1.95}.principle-project{display:inline-flex;align-items:center;gap:24px;border-bottom:1px solid #8d8d8d;padding-bottom:6px;margin-top:20px;font-size:.875rem}.principle-project>span{font-size:20px}.capabilities-section{padding-block:100px}.section-head h2{font-size:clamp(1.9rem,3.3vw,3.4rem);font-weight:500;letter-spacing:-.055em;line-height:1.5;margin-top:20px}.capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5%;margin-top:45px}.capability-item{border-top:1px solid #797979;padding-top:25px}.capability-item h3{font-size:1.7rem;font-weight:500;letter-spacing:-.04em;line-height:1.5}.capability-item p{font-size:1rem;color:var(--muted);line-height:2;margin-top:18px}.experience-list{margin-top:65px}.experience-list>div{display:grid;grid-template-columns:180px 1fr;gap:25px;padding-block:23px;border-top:1px solid var(--line)}.experience-list>div:last-child{border-bottom:1px solid var(--line)}.experience-label{font-size:.875rem;color:var(--muted);line-height:1.9}.experience-list p{display:flex;justify-content:space-between;gap:20px;font-size:1rem;line-height:1.9}.experience-list p>span{color:var(--muted);font-size:.875rem}.contact-section{max-width:none;padding-block:92px 70px;background:#1b1b1b;color:#f0f0f0}.contact-kicker{display:flex;justify-content:space-between;align-items:center;gap:25px;color:#b0b0b0;font-size:.75rem;letter-spacing:1px;line-height:1.8}.contact-main{display:grid;grid-template-columns:1.4fr 1fr;gap:8%;align-items:end;margin-top:47px}.contact-main h2{font-size:clamp(2.2rem,4.3vw,4.5rem);font-weight:500;letter-spacing:-.055em;line-height:1.5}.contact-main h2>span{color:#a4a4a4}.contact-detail>p{font-size:1rem;color:#b4b4b4;line-height:1.9}.contact-email-block{margin-top:27px;border-top:1px solid #595959;padding-top:20px}.contact-label{font-size:.75rem;letter-spacing:1.2px;color:#afafaf;line-height:1.8}.contact-email{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #6e6e6e;padding:12px 0;font-size:clamp(1.1rem,2vw,1.8rem);line-height:1.6}.contact-email>span:first-child{min-width:0;overflow-wrap:anywhere}.contact-email>span:last-child{font-size:26px}.contact-email::after{content:'';position:absolute;inset:auto 0 -1px;height:1px;background:#eeeeee;transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}.contact-email:hover::after{transform:scaleX(1)}.simple-footer{max-width:none;background:#1b1b1b;color:#efefef;overflow:hidden;padding-block:0 30px}.footer-signature{display:flex;align-items:baseline;gap:.21em;border-bottom:1px solid #4e4e4e;padding-bottom:30px;font-size:clamp(3rem,9.9vw,11rem);line-height:1.1;font-weight:500;letter-spacing:-.065em;white-space:nowrap}.footer-arrow{margin-left:auto;font-size:.8em;font-weight:400}.footer-meta{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:26px;font-size:.75rem;letter-spacing:.5px;line-height:1.8;color:#b2b2b2}.footer-meta p>span{margin-left:25px;color:#9c9c9c;letter-spacing:0}.footer-meta>a{flex-shrink:0}.footer-meta>a>span{font-size:23px;margin-left:15px}

/* Native full-screen case studies preserve history, focus and keyboard escape. */
.case-is-open{overflow:hidden}#case-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;border:0;padding:0;overscroll-behavior:contain;background:var(--paper);color:var(--ink)}#case-dialog::backdrop{background:#11111199}.case-toolbar{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:76px;padding:15px 4.3%;background:rgb(244 244 244 / 96%);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.case-brand{font-size:.75rem;line-height:1.7;letter-spacing:1px}.case-close{display:flex;align-items:center;gap:22px;border:1px solid #949494;background:none;padding:7px 16px;font-size:.875rem;min-height:44px}.case-close>span{font-size:24px}.case-wrap{max-width:1250px;margin:auto;padding:54px 6% 75px}.case-eyebrow{display:flex;align-items:center;gap:13px;flex-wrap:wrap;font-size:.75rem;line-height:1.8;letter-spacing:1px;color:var(--muted)}.case-eyebrow>span+span{border-left:1px solid var(--line);padding-left:13px}.case-wrap h2{font-size:clamp(3rem,8vw,7rem);line-height:1.18;font-weight:500;letter-spacing:-.07em;margin-top:25px}.case-lead{font-size:clamp(1.35rem,2.75vw,2.35rem);font-weight:500;line-height:1.6;letter-spacing:-.045em;margin-top:14px}.case-summary{max-width:750px;font-size:1.0625rem;line-height:1.95;color:var(--muted);margin-top:25px}.case-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-block:25px;margin:35px 0 0;border-block:1px solid var(--line)}.case-meta dt{font-size:.75rem;color:var(--muted);line-height:1.8;margin-bottom:8px}.case-meta dd{font-size:.875rem;line-height:1.9;margin:0}.case-outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-block:28px 34px;border-bottom:1px solid var(--line)}.case-outcomes>div{display:flex;flex-direction:column;gap:10px}.case-outcomes strong{font-size:2.5rem;line-height:1.3;font-weight:400;letter-spacing:-.05em}.case-outcomes span{font-size:.8125rem;color:var(--muted);line-height:1.8}.case-index{display:flex;position:sticky;top:76px;z-index:3;background:rgb(244 244 244 / 96%);backdrop-filter:blur(14px);overflow-x:auto;margin-top:20px;border-block:1px solid var(--line)}.case-index button{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:18px 16px;font-size:.875rem;white-space:nowrap;min-height:54px}.case-index button:first-child{padding-left:0}.case-index button[aria-current]{color:var(--ink);border-bottom-color:var(--ink);font-weight:500}.case-body{margin-top:12px}.case-block{display:grid;grid-template-columns:180px minmax(0,1fr);gap:35px;padding-block:44px;border-bottom:1px solid var(--line);scroll-margin-top:152px}.case-block>h3{font-size:.9375rem;font-weight:500;line-height:1.8}.case-block>h3>span{display:block;font-size:.75rem;letter-spacing:.6px;color:var(--muted);margin-top:6px}.case-block h4{font-size:1.5rem;font-weight:500;letter-spacing:-.045em;line-height:1.6;margin-bottom:18px;word-break:keep-all}.case-block p,.case-block li{font-size:1rem;line-height:1.95;color:var(--muted)}.case-block ul{padding-left:22px;margin:20px 0 0}.case-block li+li{margin-top:10px}.case-flow{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:25px}.flow-step{background:#e4e4e4;padding:12px 14px;font-size:.875rem;line-height:1.7}.flow-arrow{color:#7e7e7e}.tradeoff{border-left:2px solid #8c8c8c;background:#e8e8e8;padding:20px 22px;margin-top:25px}.tradeoff>strong{display:block;font-size:.875rem;font-weight:500;margin-bottom:7px}.tradeoff p{font-size:.9375rem}.case-evidence{margin-top:27px;padding:17px;background:#ffffff;border:1px solid var(--line)}.case-evidence img{display:block;width:100%;height:auto}.case-evidence figcaption{font-size:.75rem;line-height:1.8;margin-top:14px;color:var(--muted)}.portrait-evidence{max-width:540px}.source-evidence{margin-top:25px}.source-evidence summary{cursor:pointer;padding-block:10px;font-size:.875rem;line-height:1.8}.result-table-scroll{overflow-x:auto;margin-top:25px}.result-table{width:100%;border-collapse:collapse;font-size:.875rem;font-variant-numeric:tabular-nums}.result-table caption{text-align:left;caption-side:bottom;font-size:.75rem;line-height:1.8;color:var(--muted);padding-top:15px}.result-table th,.result-table td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--line);padding:14px 12px;line-height:1.7}.result-table thead th{background:#e6e6e6;font-size:.8125rem;font-weight:500}.result-table tbody th{font-weight:400}.result-table .final-result{background:#e1e1e1;font-weight:500}.result-table .final-result th{border-left:3px solid #333333}.case-next{display:flex;align-items:center;justify-content:space-between;gap:25px;width:100%;padding:30px 0;background:none;border:0;border-top:1px solid #515151;margin-top:30px;text-align:left}.case-next>span:first-child{font-size:.8125rem;color:var(--muted)}.case-next strong{display:block;margin-top:10px;font-size:1.7rem;font-weight:500;line-height:1.6;letter-spacing:-.035em;color:var(--ink);word-break:keep-all}.case-next>span:last-child{font-size:40px}

@media(hover:hover) and (pointer:fine){.showcase-art:hover .preview-cursor{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(min-width:1800px){.optimization-project{margin-inline:-4.705%}.contact-section,.simple-footer{padding-inline:max(4.3%,calc((100vw - 1645px)/2))}}
@media(max-width:1100px){.feature-project{gap:5%}.diagram-stage{padding:25px}.optimization-project{gap:6%;padding-block:65px}.secondary-open{gap:0 5%}.secondary-body h3{font-size:1.8rem}.case-block{grid-template-columns:150px minmax(0,1fr);gap:25px}.case-outcomes strong{font-size:2rem}.contact-main{gap:5%}.vision-caption{flex-wrap:wrap;gap:8px}.experience-list p{display:block}.experience-list p>span{display:block;margin-top:5px}}
@media(max-width:850px){.project-index a{gap:9px;font-size:.8125rem}.index-extra{display:none}.project-narrative>h4{font-size:1.55rem}.diagram-stage{padding:22px}.diagram-caption{gap:10px;letter-spacing:0}.tool-options{gap:5px}.tool-options>div{padding:13px 9px}.tool-options strong{font-size:.8125rem}.diagram-output{padding:15px 12px}.diagram-output code{font-size:.9375rem}.diagram-input{max-width:100%}.benchmark-row em{display:block;width:max-content;margin:5px 0 0}.secondary-body h3{font-size:1.55rem}.secondary-decision{font-size:.8125rem;gap:6px}.xai-inspector,.vision-inspector{padding:17px}.inspector-heading{letter-spacing:0}.inspector-heading>span:last-child{display:none}.xai-view-controls button{font-size:.75rem}.approach-layout{gap:7%}.principle{gap:15px}.principle h3{font-size:1.2rem}.capability-item h3{font-size:1.45rem}.contact-main{grid-template-columns:1.15fr 1fr}.contact-main h2{font-size:2.05rem}}
@media(max-width:720px){:root{--header-height:68px}.work-section{padding-block:68px}.work-heading{display:block;margin-bottom:30px}.work-heading h2{font-size:clamp(2.6rem,10.5vw,4.8rem);margin-top:17px}.work-count{margin-top:6px;margin-left:12px}.work-heading>p{font-size:.9375rem;margin-top:20px}.work-heading>p br{display:none}.project-index{margin-bottom:35px}.project-index a{padding:17px 4px;display:block;min-height:68px;font-size:.8125rem}.project-index a>span{display:block;margin-bottom:5px}.project-index strong{white-space:nowrap}.feature-project{grid-template-columns:1fr;gap:35px}.project-narrative{position:static;padding:0}.project-narrative>h3{font-size:5.5rem;margin-top:18px}.project-narrative>h4{font-size:1.8rem;margin-top:22px}.project-description{font-size:1rem;margin-top:20px;max-width:none}.project-cta{margin-top:17px}.diagram-stage{padding:25px 22px}.flow-insight{min-height:108px}.diagram-caption{font-size:.75rem}.diagram-input{max-width:92%}.diagram-model{max-width:76%}.diagram-model strong{font-size:1.85rem}.tool-options strong{font-size:.875rem}.tool-options>div{padding:15px 10px}.diagram-output{padding:16px}.diagram-output code{font-size:1rem}.optimization-project{grid-template-columns:1fr;gap:42px;margin:65px -5.556% 0;padding:45px 5%;min-height:0}.optimization-copy>h3{font-size:2.15rem;margin-top:22px}.optimization-result{margin-top:28px}.optimization-result>strong{font-size:6.5rem}.optimization-result>p{margin-top:10px}.score-summary strong{font-size:1.5rem}.benchmark-heading h4{font-size:1.35rem}.benchmark-chart{min-height:330px}.benchmark-row{padding:13px 0}.benchmark-row em{display:inline-block;margin:0 0 0 6px}.benchmark-context{font-size:.75rem}.secondary-projects{margin-top:65px}.secondary-project+.secondary-project{margin-top:58px}.secondary-open,.secondary-project#detection-work .secondary-open{grid-template-columns:1fr;gap:0}.secondary-top{padding:22px 0 27px}.secondary-body{padding-top:28px}.secondary-body h3{font-size:1.85rem;line-height:1.55;margin-top:20px}.secondary-body>p:not(.project-subject){margin-top:20px}.project-subject{display:flex;align-items:baseline;justify-content:space-between;gap:15px}.project-subject>span{margin:0}.secondary-decision{font-size:.875rem}.xai-inspector,.vision-inspector{padding:20px}.inspector-heading>span:last-child{display:block}.xai-view{aspect-ratio:1.4;max-height:390px}.xai-view-controls button{font-size:.8125rem}.xai-view[data-selected]:not([data-selected='all']){width:75%;max-height:none}.vision-caption{flex-wrap:nowrap;gap:15px}.vision-caption strong{font-size:2.2rem}.vision-caption p{font-size:.75rem}#detection-work .vision-inspector,#detection-work .secondary-body{grid-column:1;grid-row:auto}.approach-section{padding-block:65px}.approach-layout{grid-template-columns:1fr;gap:45px}.approach-intro{position:static}.approach-intro h2{font-size:2rem;line-height:1.55}.principle{gap:20px;padding-block:28px}.principle h3{font-size:1.25rem}.capabilities-section{padding-block:68px}.section-head h2{font-size:1.85rem}.capability-grid{grid-template-columns:1fr;gap:32px;margin-top:35px}.capability-item h3{font-size:1.6rem}.capability-item p{margin-top:14px}.experience-list{margin-top:45px}.experience-list>div{grid-template-columns:82px minmax(0,1fr);gap:17px;padding-block:19px}.experience-label{font-size:.8125rem}.experience-list p{font-size:.9375rem}.experience-list p>span{font-size:.8125rem}.contact-section{padding-block:60px 48px}.contact-kicker>span{display:none}.contact-main{grid-template-columns:1fr;gap:32px;margin-top:28px}.contact-main h2{font-size:clamp(1.9rem,7.7vw,3.3rem)}.contact-email{font-size:1.35rem}.contact-email-block{margin-top:23px}.footer-signature{font-size:9.7vw;gap:.18em;padding-bottom:22px}.footer-arrow{display:none}.footer-meta{gap:18px;align-items:flex-start;padding-top:22px}.footer-meta p>span{display:block;margin:8px 0 0}.footer-meta>a>span{margin-left:5px}.case-toolbar{min-height:70px;padding:12px 5%;gap:15px}.case-brand{max-width:64%;font-size:.75rem;letter-spacing:.4px}.case-close{padding:7px 12px;gap:12px}.case-wrap{padding:35px 6% 45px}.case-wrap h2{font-size:3.2rem;margin-top:22px}.case-lead{font-size:1.4rem}.case-summary{font-size:1rem;margin-top:20px}.case-meta{grid-template-columns:1fr;gap:18px;padding-block:22px;margin-top:28px}.case-meta>div{display:grid;grid-template-columns:76px 1fr;gap:15px}.case-meta dt{margin:0;line-height:2}.case-outcomes{grid-template-columns:1fr;gap:0;padding:0}.case-outcomes>div{display:grid;grid-template-columns:145px 1fr;align-items:center;gap:16px;padding:19px 0;border-bottom:1px solid var(--line)}.case-outcomes>div:last-child{border:0}.case-outcomes strong{font-size:1.7rem}.case-outcomes span{font-size:.8125rem}.case-index{top:70px;margin-top:22px}.case-index button{font-size:.8125rem;padding:16px 13px;min-height:53px}.case-block{grid-template-columns:1fr;gap:20px;padding-block:30px;scroll-margin-top:140px}.case-block>h3>span{display:inline;margin-left:12px}.case-block h4{font-size:1.35rem}.case-evidence{padding:12px}.case-next strong{font-size:1.3rem}.case-next>span:last-child{font-size:30px}}
@media(max-width:380px){.work-heading h2{font-size:2.6rem}.work-count{margin-left:8px}.project-index a{font-size:.75rem}.project-narrative>h3{font-size:4.8rem}.project-narrative>h4{font-size:1.55rem}.diagram-stage{padding:20px 15px}.flow-replay{font-size:.75rem;gap:5px}.flow-controls button{gap:6px}.flow-controls button span{font-size:.8125rem}.diagram-input{max-width:100%}.diagram-model{max-width:82%}.tool-options strong{font-size:.8125rem}.tool-options>div{padding:12px 8px}.diagram-output code{font-size:.875rem}.optimization-copy>h3{font-size:1.9rem}.optimization-result>strong{font-size:5.2rem}.benchmark-row>div:first-child{font-size:.8125rem}.benchmark-row em{display:block;margin:3px 0 0;width:max-content}.benchmark-heading h4{font-size:1.2rem}.metric-switch button{font-size:.8125rem;padding:9px 11px}.secondary-body h3{font-size:1.55rem}.secondary-decision{font-size:.8125rem}.project-subject{display:block}.project-subject>span{margin-top:4px}.xai-inspector,.vision-inspector{padding:15px}.vision-caption{display:block}.vision-caption p{margin-top:8px}.inspector-heading{font-size:.75rem;gap:8px}.contact-main h2{font-size:1.8rem}.contact-email{font-size:1.15rem}.footer-meta{font-size:.75rem}.footer-meta>a{max-width:82px}.case-wrap h2{font-size:2.7rem}.case-outcomes>div{grid-template-columns:125px 1fr}.case-outcomes strong{font-size:1.45rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.type-word{transform:none!important}.flow-node.is-current{transform:none}.showcase-open:hover .showcase-art img,.road-image-link:hover img{transform:none}.preview-cursor{display:none}.project-index a[aria-current]::after{transform:scaleX(1)}}
