@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-latin-400-normal.3xdfs0-p_zi4c.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-400-normal.2lhng2ntocry9.woff)format("woff")}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-mono-latin-600-normal.30e0eqd5fxn92.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-600-normal.0d95tbzh5g6jj.woff)format("woff")}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-mono-latin-700-normal.2dfeoyem8ph0h.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-700-normal.1o1f7p2gb53xu.woff)format("woff")}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-latin-400-normal.1xf5nwxyfigak.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-400-normal.19i24--p24z3r.woff)format("woff")}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-latin-600-normal.2ovda_azncp9b.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-600-normal.2wn5p1s7u3utm.woff)format("woff")}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-sans-latin-700-normal.3cj1z__33gk9h.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-700-normal.43_h0be0oa3u4.woff)format("woff")}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-latin-ext-400-normal.2wkl6p2bjtdkj.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-400-normal.1d956-ol9h5w9.woff)format("woff")}
@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-thai-thai-400-normal.2vcybq-irdqrs.woff2)format("woff2"),url(../media/ibm-plex-sans-thai-thai-400-normal.03p84ch9rz841.woff)format("woff")}
@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-thai-thai-600-normal.213tq94-94uef.woff2)format("woff2"),url(../media/ibm-plex-sans-thai-thai-600-normal.1k51c4-fx5jlv.woff)format("woff")}
@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-sans-thai-thai-700-normal.3a42oep2ha52t.woff2)format("woff2"),url(../media/ibm-plex-sans-thai-thai-700-normal.3p2dhogalva30.woff)format("woff")}
*,:before,:after{box-sizing:border-box}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0;list-style:none}button,input,select,textarea{font:inherit;color:inherit}:root{--surface-primary:#fdfdfd;--surface-secondary:#f7f7f5;--surface-raised:#fff;--surface-inverse:#111;--text-primary:#0e0e0e;--text-secondary:#555;--text-inverse:#fdfdfd;--line-soft:#efeee9;--line-primary:#e9e8e4;--line-strong:#c9c8c2;--signal-primary:#c75543;--signal-information:#2155d6;--signal-positive:#26705b;--content-max:82rem;--content-readable:45rem;--gutter:clamp(1.25rem, 4vw, 4rem);--section-space:clamp(4.5rem, 9vw, 9rem);--space-1:.5rem;--space-2:.75rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--space-7:clamp(3rem, 6vw, 5rem);--space-8:clamp(4rem, 8vw, 7rem);--radius-small:.35rem;--radius-medium:.85rem;--shadow-offset:.45rem .45rem 0 #15202b;--motion-fast:.16s;--motion-base:.28s;--motion-ease:cubic-bezier(.16, 1, .3, 1);--font-sans:"IBM Plex Sans Thai", "IBM Plex Sans", sans-serif;--font-mono:"IBM Plex Mono", monospace}html{background:var(--surface-primary);color:var(--text-primary);scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--surface-primary);min-width:20rem;color:var(--text-primary);font-family:var(--font-sans);text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.55}:lang(th){line-height:1.7}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:.2em}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;background:0 0;border:0;padding:0}:focus-visible{outline:.2rem solid var(--signal-information);outline-offset:.2rem}::selection{background:var(--signal-information);color:#fff}.skip-link{z-index:100;background:var(--surface-inverse);color:var(--text-inverse);transition:transform var(--motion-fast) var(--motion-ease);padding:.65rem .9rem;font-weight:700;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:20;border-bottom:1px solid var(--line-primary);background:color-mix(in srgb, var(--surface-primary) 94%, transparent);position:relative}.site-header__inner,.site-footer,.page-shell{width:min(100%, var(--content-max));padding-inline:var(--gutter);margin-inline:auto}.site-header__inner{justify-content:space-between;align-items:center;gap:2rem;min-height:5rem;display:flex}.wordmark{color:var(--text-primary);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.85rem;font-size:.72rem;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.brand-mark{width:2.6rem;height:2.6rem;color:var(--text-primary);flex:none}.desktop-navigation{align-items:center;gap:1.25rem;display:flex}.desktop-navigation a,.menu-trigger{color:var(--text-primary);background:0 0;border:0;font-weight:800;text-decoration:none}.menu-trigger{min-width:2.75rem;min-height:2.75rem;padding-inline:.5rem}.desktop-navigation a{border-bottom:1px solid #0000;padding:.75rem 0}.desktop-navigation a:hover{border-bottom-color:var(--text-primary)}.mobile-navigation{display:none}.menu-dialog{z-index:50;background:var(--surface-inverse);color:var(--text-inverse);align-content:start;padding:1.25rem;display:grid;position:fixed;inset:0}.menu-dialog__header{border-bottom:1px solid #51606d;justify-content:space-between;align-items:center;padding-bottom:1.25rem;display:flex}.menu-dialog__header p{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.76rem}.menu-dialog button{color:inherit;background:0 0;border:1px solid;padding:.5rem .75rem}.menu-dialog nav{padding-top:2rem;display:grid}.menu-dialog nav a{border-bottom:1px solid #51606d;padding:1rem 0;font-size:clamp(1.75rem,9vw,3rem);font-weight:800;line-height:1;text-decoration:none}.page-shell{overflow:hidden}.eyebrow,.project-kicker,.section-index,.scope-label,.evidence-class,.artifact-label,.work-card__number,.system-node small{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:700}.hero{grid-template-columns:minmax(0,1fr) minmax(16rem,.42fr);align-content:center;align-items:start;gap:clamp(2rem,4vw,4.5rem);min-height:min(24rem,100svh - 12rem);padding-block:clamp(2.5rem,5vw,4rem);display:grid}.hero__copy{max-width:68rem}.eyebrow{color:var(--signal-primary);align-items:center;gap:.75rem;margin:0 0 2rem;display:flex}.eyebrow:before{content:"";background:currentColor;width:2.5rem;height:.15rem}.hero h1,.page-intro h1,.project-hero h1{letter-spacing:-.035em;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;margin:0;font-size:clamp(2.6rem,4.6vw,4.4rem);font-weight:700;line-height:1.04}.hero__aside{align-content:start;gap:1.25rem;display:grid}.hero__aside p{color:var(--text-secondary);margin:0;font-size:clamp(1rem,1.4vw,1.15rem)}.hero__aside p:first-child{color:var(--text-primary);font-size:clamp(1.15rem,1.7vw,1.4rem);font-weight:700}.pipeline-diagram{border-block:1px solid var(--line-primary);margin:0;padding-block:clamp(1.5rem,3vw,2.25rem)}.pipeline-diagram__track{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.pipeline-node{align-content:start;gap:.4rem;padding-right:1.75rem;display:grid;position:relative}.pipeline-node:not(:first-child){border-left:1px solid var(--line-primary);padding-left:clamp(1rem,2vw,1.75rem)}.pipeline-node:nth-child(2){border-left-color:var(--signal-primary)}.pipeline-node__index{color:var(--signal-primary);font-family:var(--font-mono);letter-spacing:.1em;font-size:.66rem;font-weight:700}.pipeline-node__label{font-family:var(--font-mono);letter-spacing:.12em;font-size:.82rem;font-weight:700}.pipeline-node__note{color:var(--text-secondary);font-size:.8rem}.pipeline-node__link{color:var(--signal-primary);font-weight:700;position:absolute;top:0;right:.5rem}.hero__actions{flex-wrap:wrap;gap:1rem 1.5rem;display:flex}.text-link{width:fit-content;color:var(--signal-information);border-bottom:1px solid;align-items:center;gap:.65rem;font-weight:800;text-decoration:none;display:inline-flex}.text-link--muted{color:var(--text-secondary)}.text-link:after{content:"↗";transition:transform var(--motion-fast) var(--motion-ease)}.text-link:hover:after{transform:translate(.15rem,-.15rem)}.work-showcase{border-top:1px solid var(--line-strong);padding-block:clamp(3rem,6vw,5rem)}.stat-strip{border-bottom:1px solid var(--line-primary);padding-block:clamp(2rem,4vw,3rem)}.stat-strip dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem clamp(1rem,3vw,2.5rem);margin:0;display:grid}.stat{align-content:start;gap:.5rem;display:grid}.stat:not(:first-child){border-left:1px solid var(--line-primary);padding-left:clamp(1rem,2vw,2rem)}.stat dt{letter-spacing:-.04em;font-size:clamp(2rem,4vw,3.25rem);font-weight:700;line-height:1}.stat dd{max-width:16rem;color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.4}.tech-marquee{border-bottom:1px solid var(--line-strong);gap:.75rem;padding-block:1.15rem;display:grid;overflow:hidden}.tech-marquee__label{color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:700}.tech-marquee__viewport{width:100%;display:flex;overflow:hidden}.tech-marquee__viewport:hover .tech-marquee__track{animation-play-state:paused}.tech-marquee__track{flex-shrink:0;gap:2rem;margin:0;padding-right:2rem;list-style:none;animation:42s linear infinite tech-marquee-scroll;display:flex}.tech-marquee__track li{color:var(--text-secondary);font-family:var(--font-mono);white-space:nowrap;font-size:.74rem}.tech-marquee__track li:before{color:var(--signal-primary);content:"+";margin-right:2rem}.tech-marquee__sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes tech-marquee-scroll{to{transform:translate(-100%)}}.section-heading{grid-template-columns:3.5rem minmax(0,1fr);gap:.35rem 1rem;margin-bottom:clamp(2.5rem,5vw,4.5rem);display:grid}.section-heading .section-index{padding-top:.5rem}.section-heading h2{letter-spacing:-.03em;margin:0;font-size:clamp(1.9rem,3.4vw,3.2rem);line-height:1.02}.section-heading p{max-width:42rem;color:var(--text-secondary);grid-column:2;margin:.5rem 0 0}.work-showcase__all{border-top:1px solid var(--line-primary);justify-content:space-between;align-items:center;gap:2rem;padding-top:clamp(2.5rem,5vw,4rem);display:flex}.work-showcase__all p{max-width:38rem;color:var(--text-secondary);margin:0}.project-index{border-block:1px solid var(--line-primary);justify-content:space-between;align-items:flex-start;gap:2rem;margin:-2rem 0 clamp(2.5rem,5vw,4.5rem);padding-block:1rem;display:flex}.project-index__label{color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;flex:none;padding-top:.55rem;font-size:.7rem;font-weight:600}.project-index__controls{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.project-index__button{color:var(--text-secondary);cursor:pointer;text-align:left;transition:border-color var(--motion-fast) var(--motion-ease), background var(--motion-fast) var(--motion-ease), color var(--motion-fast) var(--motion-ease), transform var(--motion-fast) var(--motion-ease);background:0 0;border:1px solid #0000;border-radius:999px;align-items:baseline;gap:.5rem;padding:.45rem .7rem;font-size:.78rem;line-height:1.2;display:inline-flex}.project-index__button>span:first-child{color:var(--signal-primary);font-family:var(--font-mono);font-size:.66rem}.project-index__button:hover,.project-index__button[aria-pressed=true]{border-color:var(--line-strong);background:var(--surface-raised);color:var(--text-primary);transform:translateY(-.1rem)}.project-entry{border-top:1px solid var(--line-primary);grid-template-columns:minmax(16rem,.7fr) minmax(0,1.3fr);gap:clamp(1.5rem,4vw,3.5rem);padding-block:clamp(2.5rem,4vw,4rem);display:grid;position:relative}.project-entry:nth-of-type(2n){grid-template-columns:minmax(0,1.22fr) minmax(17rem,.78fr)}.project-entry:nth-of-type(2n) .project-entry__content{order:2}.project-entry__content{flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.project-kicker{color:var(--signal-primary);margin:0 0 1.25rem}.project-entry h3,.work-card h2{letter-spacing:-.035em;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;margin:0;font-size:clamp(1.8rem,3vw,3.1rem);line-height:1.03}.project-entry__title{color:var(--text-secondary);margin:1rem 0 0;font-size:clamp(1.05rem,1.65vw,1.35rem);font-weight:600}.project-entry__summary{max-width:38rem;margin:2rem 0;font-size:1.05rem}.project-impact{border-block:1px solid var(--line-soft);max-width:38rem;margin:0 0 2rem;padding:1rem 0}.project-impact span{color:var(--signal-primary);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.45rem;font-size:.72rem;display:block}.project-impact p{color:var(--text-secondary);margin:0}.project-meta{flex-wrap:wrap;gap:.5rem;margin:0 0 2rem;padding:0;list-style:none;display:flex}.project-meta li,.scope-label,.evidence-class,.artifact-label{border:1px solid var(--line-strong);background:var(--surface-raised);width:fit-content;padding:.3rem .5rem}.scope-label{border-color:var(--signal-primary);color:var(--signal-primary);margin-bottom:1rem}.project-visual{border:1px solid var(--line-strong);border-radius:var(--radius-small);background:var(--surface-secondary);align-content:center;min-height:22rem;padding:clamp(1rem,3vw,2.25rem);display:grid;position:relative}.project-visual:after{content:none}.project-visual figure{margin:0}.project-visual img{border:1px solid #78736a;width:100%}.project-visual figcaption{color:var(--text-secondary);font-family:var(--font-mono);margin-top:.8rem;font-size:.7rem}[data-presentation=schema-led] .project-visual{background:var(--surface-inverse)}[data-presentation=schema-led] .project-visual:before{background:var(--signal-information);width:.65rem;height:.65rem;box-shadow:1rem 0 0 #d8b02d, 2rem 0 0 var(--signal-primary);content:"";position:absolute;top:1rem;left:1rem}[data-presentation=schema-led] figcaption{color:#cfd8df}[data-presentation=offline-instrument] .project-visual{background:#c7c2b8;place-items:center}[data-presentation=offline-instrument] figure{width:min(100%,31rem)}.system-flow{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:.65rem;display:grid}.system-node{border:1px solid var(--text-primary);background:var(--surface-raised);text-align:center;place-items:center;min-height:8rem;padding:1rem;display:grid}.system-node small{color:var(--signal-information)}.flow-arrow{color:var(--signal-primary);font-size:1.75rem;font-weight:900}.artifact-label{border-color:var(--signal-information);color:var(--signal-information);margin-bottom:1.25rem}.principles{margin-inline:calc(-1 * var(--gutter));background:var(--line-primary);grid-template-columns:repeat(3,1fr);gap:1px;padding:1px;display:grid}.principle{background:var(--surface-primary);padding:clamp(1.75rem,4vw,3rem)}.principle span{color:var(--signal-primary);font-family:var(--font-mono);font-size:.75rem}.principle h2{letter-spacing:-.035em;margin:2rem 0 1rem;font-size:clamp(1.5rem,3vw,2.75rem);line-height:1}.principle p{color:var(--text-secondary);margin:0}.working-method{padding-block:var(--section-space);border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(14rem,.35fr) minmax(0,.65fr);gap:clamp(2rem,7vw,7rem);display:grid}.working-method__heading h2{letter-spacing:-.03em;margin:.75rem 0 0;font-size:clamp(1.75rem,3vw,2.9rem);line-height:1.05}.working-method__copy{max-width:var(--content-readable);gap:1.25rem;display:grid}.working-method__copy p{color:var(--text-secondary);margin:0;font-size:clamp(1.05rem,1.5vw,1.22rem)}.capability-register{margin-bottom:var(--section-space);border-top:1px solid var(--line-strong)}.capability-register>.section-heading{margin:0;padding-block:clamp(2.5rem,5vw,4.5rem)}.capability-record{border-bottom:1px solid var(--line-primary);grid-template-columns:minmax(12rem,.3fr) minmax(0,.7fr);gap:clamp(1.5rem,4vw,3.5rem);padding-block:clamp(2.25rem,4vw,3.5rem);display:grid}.capability-record__title{align-content:start;align-self:start;gap:.5rem;display:grid;position:sticky;top:1.5rem}.capability-record__title h3{letter-spacing:-.02em;margin:0;font-size:clamp(1.35rem,2.2vw,1.9rem);line-height:1.1}.capability-record dl{margin:0}.capability-record dl>div{border-top:1px solid var(--line-primary);grid-template-columns:minmax(9rem,.28fr) minmax(0,.72fr);gap:1.5rem;padding-block:.95rem;display:grid}.capability-record dt{color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:600}.capability-record dd{margin:0;line-height:1.6}.capability-record dl>div:last-child dt,.capability-record dl>div:last-child dd{color:var(--signal-primary)}.process-register{padding-bottom:var(--section-space)}.process-register .section-heading{margin-bottom:clamp(2rem,4vw,3.5rem)}.process-register__steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.5rem,3vw,2.5rem);margin:0;padding:0;list-style:none;display:grid}.process-register__steps li{border-top:2px solid var(--line-strong);padding-top:1.75rem;position:relative}.process-register__steps li:first-child{border-top-color:var(--signal-primary)}.process-register__steps li:before{background:var(--surface-primary);border:2px solid var(--line-strong);content:"";border-radius:50%;width:.8rem;height:.8rem;position:absolute;top:-.45rem;left:0}.process-register__steps li:first-child:before{border-color:var(--signal-primary);background:var(--signal-primary)}.process-register__index{color:var(--signal-primary);font-family:var(--font-mono);letter-spacing:.1em;font-size:.7rem;font-weight:700}.process-register h3{letter-spacing:-.01em;margin:.85rem 0 .6rem;font-size:clamp(1rem,1.5vw,1.2rem)}.process-register p{color:var(--text-secondary);margin:0;font-size:.92rem}.page-intro{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1fr) minmax(16rem,.35fr);align-items:end;gap:3rem;padding-block:clamp(5rem,10vw,9rem);display:grid}.page-intro h1{font-size:clamp(2.75rem,7vw,5.5rem)}.page-intro__note{color:var(--text-secondary);margin:0;font-size:1.1rem}.work-list{padding-block:0 var(--section-space)}.work-card{border-bottom:1px solid var(--line-primary);grid-template-columns:3rem minmax(0,1fr) auto;align-items:start;gap:.75rem clamp(1.5rem,4vw,3.5rem);padding-block:clamp(2.25rem,4vw,3.5rem);display:grid}.work-card__number{color:var(--signal-primary);padding-top:.4rem}.work-card__main{max-width:46rem}.work-card h2{font-size:clamp(1.6rem,2.6vw,2.5rem)}.work-card h2 span{color:var(--text-secondary);letter-spacing:0;margin-top:.5rem;font-size:.92rem;font-weight:600;line-height:1.4;display:block}.work-card__summary{color:var(--text-secondary);margin:1rem 0 0}.work-card__details{border-top:1px solid var(--line-primary);flex-wrap:wrap;align-items:baseline;gap:.5rem 1.25rem;margin-top:1.25rem;padding-top:1rem;display:flex}.work-card__details p{color:var(--text-secondary);font-family:var(--font-mono);margin:0;font-size:.72rem}.work-card__details p:last-child{flex-basis:100%}.work-card__actions{justify-items:start;gap:.85rem;display:grid}.work-card__link{aspect-ratio:1;border:1px solid var(--text-primary);background:var(--surface-raised);width:3.5rem;transition:background var(--motion-fast) var(--motion-ease), color var(--motion-fast) var(--motion-ease), transform var(--motion-fast) var(--motion-ease);place-items:center;font-size:1.4rem;text-decoration:none;display:grid}.work-card__link:hover{background:var(--surface-inverse);color:var(--text-inverse);box-shadow:.2rem .2rem 0 var(--signal-primary);transform:translate(-.2rem,-.2rem)}.project-hero{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1.35fr) minmax(16rem,.6fr);gap:clamp(2rem,6vw,5rem);padding-block:clamp(3.5rem,7vw,6rem);display:grid}.project-lead-artifact{border-bottom:1px solid var(--line-primary);margin:0;padding-block:clamp(2rem,4vw,3rem)}.project-lead-artifact .zoomable-image{border:1px solid var(--line-strong);background:var(--surface-secondary)}.project-lead-artifact figcaption{color:var(--text-secondary);font-family:var(--font-mono);margin-top:.85rem;font-size:.72rem}.project-hero h1{overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;max-width:22ch;font-size:clamp(2.4rem,4.6vw,4.5rem)}.project-hero__aside{flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:1.5rem;display:flex}.project-hero__aside p{color:var(--text-secondary);margin:0;font-size:1.08rem}.project-body{border-bottom:1px solid var(--line-primary);grid-template-columns:8rem minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);padding-block:clamp(2.5rem,4vw,3.5rem);display:grid}.project-body__label{align-self:start;gap:.35rem;display:grid;position:sticky;top:1.5rem}.project-body__label .section-index{font-size:.66rem}.project-body__label h2{letter-spacing:-.01em;margin:0;font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.15}.project-body__content{max-width:58rem}.project-body__content>p:first-child{margin-top:0;font-size:clamp(1.15rem,1.8vw,1.5rem);line-height:1.4}.project-body__content h3{letter-spacing:.06em;text-transform:uppercase;margin:2.25rem 0 .85rem;font-size:.95rem}.detail-list,.evidence-list,.decision-list{margin:0;padding:0;list-style:none}.detail-list--tight li{padding-block:.5rem}.detail-list li,.decision-list li{border-top:1px solid var(--line-primary);padding:1rem 0 1rem 1.75rem;position:relative}.detail-list li:before,.decision-list li:before{color:var(--signal-primary);content:"→";font-weight:900;position:absolute;top:1rem;left:0}.decision-list strong{margin-bottom:.35rem;display:block}.evidence-list{gap:1rem;display:grid}.evidence-item{border:1px solid var(--line-primary);background:var(--surface-raised);grid-template-columns:minmax(8rem,.28fr) minmax(0,1fr);gap:1rem;padding:1.25rem;display:grid}.evidence-class{border-color:var(--signal-information);color:var(--signal-information);align-self:start}.evidence-item a{overflow-wrap:anywhere;font-weight:800}.evidence-item p{color:var(--text-secondary);font-family:var(--font-mono);margin:.35rem 0 0;font-size:.75rem}.artifact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.artifact-card{border:1px solid var(--line-primary);background:var(--surface-secondary);margin:0;padding:1rem}.artifact-card img{border:1px solid var(--line-strong);width:100%}.zoomable-image{cursor:zoom-in;width:100%;display:block;position:relative}.zoomable-image img{width:100%;height:auto;display:block}.zoomable-image__hint{background:var(--surface-inverse);color:var(--text-inverse);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;opacity:0;transition:opacity var(--motion-fast) var(--motion-ease);padding:.25rem .5rem;font-size:.62rem;position:absolute;bottom:.5rem;right:.5rem}.zoomable-image:hover .zoomable-image__hint,.zoomable-image:focus-visible .zoomable-image__hint{opacity:1}.image-dialog{border:1px solid var(--line-strong);background:var(--surface-raised);max-width:min(96vw,1600px);max-height:94vh;padding:0}.image-dialog::backdrop{background:#000000b3}.image-dialog img{width:100%;height:auto;display:block}.image-dialog form{background:var(--surface-raised);border-top:1px solid var(--line-primary);justify-content:flex-end;padding:.5rem;display:flex;position:sticky;bottom:0}.image-dialog button{border:1px solid var(--text-primary);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;padding:.4rem .8rem;font-size:.7rem}.artifact-card figcaption{color:var(--text-secondary);margin-top:.85rem;font-size:.82rem}.artifact-card--reconstructed{align-content:center;min-height:17rem;display:grid}.site-footer{border-top:1px solid var(--line-strong);margin-top:clamp(3rem,6vw,5rem)}.site-footer__row{flex-wrap:wrap;align-items:baseline;gap:.75rem 2rem;padding-block:1.4rem;display:flex}.site-footer__mark{color:var(--text-primary);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;margin-right:auto;font-size:.72rem;font-weight:700;text-decoration:none}.site-footer__links{flex-wrap:wrap;gap:.4rem 1rem;display:flex}.site-footer__links a,.site-footer__links>span{color:var(--text-secondary);font-size:.8rem;text-decoration:none}.site-footer__links a:hover{color:var(--text-primary)}.site-footer__base{border-top:1px solid var(--line-primary);color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.03em;flex-wrap:wrap;justify-content:space-between;gap:.35rem 2rem;padding-block:.9rem;font-size:.66rem;display:flex}.site-footer__base p{margin:0}.contact-register{border-top:1px solid var(--line-primary);display:grid}.contact-route{border-bottom:1px solid var(--line-primary);gap:.75rem;padding-block:clamp(2.5rem,5vw,4rem);display:grid}.contact-route h2{letter-spacing:-.03em;margin:0;font-size:clamp(1.6rem,2.6vw,2.6rem);line-height:1}.contact-route p{max-width:42rem;color:var(--text-secondary);margin:0}.contact-route__action{width:fit-content;color:var(--signal-information);border-bottom:1px solid;margin-top:.5rem;font-weight:800;text-decoration:none}.contact-route--pending .contact-route__action{color:var(--text-secondary);cursor:not-allowed;border-bottom-style:dashed}.contact-brief{padding-block:clamp(3rem,6vw,5rem)}.contact-brief .section-index{color:var(--text-secondary);display:block}.contact-brief h2{letter-spacing:-.03em;margin:.75rem 0 .5rem;font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.05}.contact-brief>p{color:var(--text-secondary);margin:0 0 1.5rem}.archive-register{padding-block:0 var(--section-space);border-top:1px solid var(--line-strong);display:grid}.archive-register__head{display:none}.archive-row{border-bottom:1px solid var(--line-primary);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:.75rem clamp(2rem,6vw,5rem);padding-block:clamp(2rem,4vw,3.25rem);display:grid}.archive-row__title{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.archive-row__index{color:var(--signal-primary);font-family:var(--font-mono);letter-spacing:.1em;font-size:.7rem;font-weight:700}.archive-row h2{letter-spacing:-.03em;margin:0;font-size:clamp(1.35rem,2.6vw,2.1rem);line-height:1.05}.archive-row>p{color:var(--text-secondary);margin:0}.archive-row__limitation{font-family:var(--font-mono);font-size:.78rem}.archive-row .source-link{grid-column:1/-1}.source-link{border-bottom:1px solid var(--line-strong);width:fit-content;color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;text-decoration:none}.source-link:hover{border-bottom-color:var(--text-primary);color:var(--text-primary)}.not-found-page{border-bottom:1px solid var(--line-primary);gap:1.5rem;padding-block:clamp(5rem,12vw,10rem);display:grid}.not-found-page h1{letter-spacing:-.045em;max-width:22ch;margin:0;font-size:clamp(2.5rem,6vw,5rem);line-height:1}.not-found-page p{max-width:46rem;color:var(--text-secondary);margin:0}.not-found-page nav{flex-wrap:wrap;gap:1rem 1.75rem;margin-top:1rem;display:flex}.project-next-nav{margin-inline:calc(-1 * var(--gutter));background:var(--line-primary);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:1px;display:grid}.project-next-nav a{padding:clamp(1.75rem, 4vw, 3rem) var(--gutter);background:var(--surface-primary);gap:.5rem;text-decoration:none;display:grid}.project-next-nav a:last-child:nth-child(odd){grid-column:1/-1}.project-next-nav span{color:var(--signal-primary);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:700}.project-next-nav strong{letter-spacing:-.02em;font-size:clamp(1.15rem,2vw,1.6rem);font-weight:700}.project-next-nav a:hover strong{border-bottom:1px solid}.project-cta__forward{flex-wrap:wrap;align-items:baseline;gap:1rem 2rem;padding-block:clamp(3rem,6vw,5rem);display:flex}.project-cta__forward p{letter-spacing:-.035em;margin:0;font-size:clamp(1.3rem,2.6vw,2.2rem);font-weight:800}@media (max-width:900px){.archive-row,.project-next-nav{grid-template-columns:1fr}.desktop-navigation{display:none}.mobile-navigation{display:block}.hero,.page-intro,.project-hero,.project-body,.project-entry,.project-entry:nth-of-type(2n),.working-method,.capability-record{grid-template-columns:1fr}.hero{align-items:start;min-height:auto}.hero__aside{max-width:35rem}.capability-record__title{position:static}.pipeline-diagram__track{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 0}.pipeline-node:nth-child(2){border-left-color:var(--line-primary)}.pipeline-node:nth-child(3){border-left:0;padding-left:0}.pipeline-node:nth-child(2) .pipeline-node__link{display:none}.stat-strip dl{grid-template-columns:1fr 1fr}.stat:nth-child(3){border-left:0;padding-left:0}.section-heading{grid-template-columns:3rem 1fr}.section-heading p{grid-column:2}.work-showcase__all{flex-direction:column;align-items:flex-start;gap:1rem}.capability-record dl>div{grid-template-columns:1fr;gap:.35rem}.project-index{flex-direction:column;align-items:stretch;gap:.75rem;margin-top:-1rem}.project-index__label{padding-top:0}.project-index__controls{scrollbar-width:thin;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:.25rem;overflow-x:auto}.project-index__button{flex:none}.project-entry:nth-of-type(2n) .project-entry__content{order:0}.project-visual{min-height:18rem}.system-flow{grid-template-columns:1fr}.flow-arrow{justify-self:center;transform:rotate(90deg)}.principles{grid-template-columns:1fr}.process-register__steps{grid-template-columns:1fr;gap:1.75rem}.process-register h3{margin-top:1rem}.principle{min-height:auto}.work-card{grid-template-columns:2.5rem minmax(0,1fr)}.work-card__actions{grid-column:2/-1;grid-auto-flow:column;justify-content:start;align-items:center;margin-top:1.25rem}.project-body__label{position:static}.artifact-grid{grid-template-columns:1fr}.project-cta__forward{flex-direction:column;align-items:flex-start}.site-footer__mark{flex-basis:100%;margin-right:0}}@media (max-width:440px){.wordmark span:last-child{display:none}.hero h1{font-size:clamp(2.2rem,10vw,3.1rem)}.page-intro h1{font-size:clamp(2.2rem,12vw,3rem)}.work-card{grid-template-columns:2rem minmax(0,1fr)}}.reveal{opacity:0;transition:opacity .5s var(--motion-ease), transform .5s var(--motion-ease);transform:translateY(8px)}.reveal.is-revealed{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transition:none;transform:none}.tech-marquee__viewport{flex-wrap:wrap}.tech-marquee__track{flex-wrap:wrap;gap:.4rem .75rem;animation:none;transform:none}.tech-marquee__track:last-child{display:none}.tech-marquee__track li:before{color:var(--line-strong);content:"·";margin-right:.75rem}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
