@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-vietnamese-wdth-normal.rJmnGBSt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-ext-wdth-normal.7khWdh9v.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-wdth-normal.DY7AcnAa.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/public-sans-vietnamese-wght-normal.CtlIRbEm.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/public-sans-latin-ext-wght-normal.MQgHevqp.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/public-sans-latin-wght-normal.DdeTHZLK.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/public-sans-vietnamese-wght-italic.B7WYVnNy.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/public-sans-latin-ext-wght-italic.Dw_CFXJO.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/public-sans-latin-wght-italic.DGZ7iaiu.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--flag-blue:#162b49;--flag-mustard:#ebad21;--flag-bone:#f8f1e0;--flag-red:#c6202e;--page:var(--flag-bone);--surface:#fffdf8;--surface-muted:#eee4ce;--ink:var(--flag-blue);--muted:#526174;--line:#d7c9aa;--accent:var(--flag-blue);--accent-dark:var(--flag-blue);--accent-soft:#f0e1b9;--action:var(--flag-blue);--action-hover:var(--flag-mustard);--action-ink:#fff;--action-hover-ink:var(--flag-blue);--deep:var(--flag-blue);--hard-shadow:var(--flag-mustard);--contact-shadow:var(--flag-blue);--focus:var(--flag-red);--menu-shadow:#162b4929;--series-1:#2c5d9b;--series-2:#c6202e;--series-3:#178a62;--seq-1:#b7d3f6;--seq-2:#6da7ec;--seq-3:#2a78d6;--seq-4:#1c5cab;--seq-5:#0d366b;--map-base:#f1e8d3;--chart-grid:#e2d6bb;--kicker:var(--flag-red);--font-display:"Archivo Variable", "Archivo", "Arial Narrow", Arial, sans-serif;--font-body:"Public Sans Variable", "Public Sans", "Segoe UI", Helvetica, Arial, sans-serif;--shell:min(1180px, calc(100% - 2.5rem))}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--page:#10223a;--surface:#1d3859;--surface-muted:#284663;--ink:var(--flag-bone);--muted:#d5d4cd;--line:#5b7188;--accent:var(--flag-mustard);--accent-dark:var(--flag-blue);--accent-soft:#234260;--action:var(--flag-mustard);--action-hover:#f2bd3c;--action-ink:var(--flag-blue);--action-hover-ink:var(--flag-blue);--deep:#0d1c31;--hard-shadow:var(--flag-red);--contact-shadow:var(--flag-mustard);--focus:var(--flag-mustard);--menu-shadow:#00000052;--series-1:#5b8fd6;--series-2:#e2474f;--series-3:#2a9d74;--seq-1:#2d5684;--seq-2:#3f74b4;--seq-3:#5b8fd6;--seq-4:#8fb6ea;--seq-5:#cfe0f7;--map-base:#234061;--chart-grid:#2b4565;--kicker:#f27c82}}*{box-sizing:border-box}body{background:var(--page);color:var(--ink);font-family:var(--font-body);text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;margin:0;font-size:1rem;line-height:1.6}::selection{background:var(--flag-mustard);color:var(--flag-blue)}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:4px}img{max-width:100%;display:block}.ui-icon{flex:none;display:block}.shell{width:var(--shell);margin-inline:auto}section[id]{scroll-margin-top:5.5rem}.skip-link{z-index:100;background:var(--ink);color:var(--page);padding:.65rem .9rem;font-weight:700;position:absolute;top:.75rem;left:1.25rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:20;border-bottom:1px solid var(--line);background:var(--page);box-shadow:inset 0 -2px 0 var(--flag-mustard);position:sticky;top:0}.header-inner,.site-footer-inner{justify-content:space-between;align-items:center;gap:1.5rem;min-height:4.75rem;display:flex}.brand{color:var(--ink);font-family:var(--font-display);letter-spacing:-.015em;align-items:center;gap:.8rem;font-size:.95rem;font-weight:750;font-stretch:108%;text-decoration:none;display:inline-flex}.menu-toggle{display:none}.brand-mark{background:var(--ink);width:2.25rem;height:2.25rem;color:var(--page);letter-spacing:.08em;border-bottom:.35rem solid var(--flag-mustard);place-items:center;font-size:.72rem;display:grid}.primary-nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.25rem 1.25rem;font-size:.9rem;font-weight:650;display:flex}.primary-nav a,.footer-link{align-items:center;gap:.4rem;text-decoration:none;display:inline-flex}.primary-nav a{min-height:2.75rem}.primary-nav a:hover,.footer-link:hover,.text-link:hover{color:var(--accent)}.hero{--seal-h:clamp(15rem, 27vw, 23rem);--seal-w:calc(var(--seal-h) * .798);--stripe-h:calc(var(--seal-h) * .1064 + 4px)}.hero-field{background:var(--flag-blue);color:var(--flag-bone)}.hero-inner{padding-top:clamp(4rem,9vw,7.5rem);padding-right:calc(var(--seal-w) + 2.5rem);padding-bottom:clamp(3rem,6vw,4.5rem)}.hero-stripe{height:var(--stripe-h);background:var(--flag-mustard)}.hero-stripe-inner{height:100%;position:relative}.hero-seal{z-index:1;top:calc(var(--stripe-h) / 2 - var(--seal-h) * .399);width:var(--seal-w);height:var(--seal-h);position:absolute;right:0}.hero-facts{min-height:calc(var(--seal-h) * .548 + 2rem);padding-top:2.75rem;padding-right:calc(var(--seal-w) + 2.5rem);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:2rem clamp(2rem,5vw,4rem);padding-bottom:2.5rem;display:grid}.hero-photo{width:10rem;margin:0}.hero-photo img{aspect-ratio:1;border:2px solid var(--ink);width:100%;height:auto;box-shadow:.4rem .4rem 0 var(--hard-shadow);object-fit:cover;display:block}.hero-facts dl{gap:.85rem;margin:0;font-size:.9rem;display:grid}.hero-facts dl>div{border-bottom:1px solid var(--line);grid-template-columns:7.5rem 1fr;gap:1rem;padding-bottom:.85rem;display:grid}.hero-facts dt{font-weight:750}.hero-facts dd{color:var(--muted);margin:0}.eyebrow,.section-label,.work-status,.work-tech-label,.about-education-label{color:var(--accent);font-family:var(--font-display);letter-spacing:.09em;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:750;font-stretch:112%;line-height:1.4}.eyebrow{color:var(--flag-mustard);flex-wrap:wrap;align-items:center;gap:.35rem .6rem;display:flex}.eyebrow>span:not(.metadata-marker){white-space:nowrap}.metadata-marker{background:var(--flag-red);flex:none;width:.3rem;height:.3rem}h1,h2,h3{font-family:var(--font-display);font-stretch:108%}.hero h1{max-width:none;color:var(--flag-bone);letter-spacing:-.035em;text-wrap:balance;margin:1.25rem 0 1.75rem;font-size:clamp(2.75rem,5.6vw,5.25rem);font-weight:800;font-stretch:112%;line-height:.95}.hero h1>span{color:inherit;display:block}.hero h1 .hero-highlight{color:var(--flag-mustard)}.lede{color:#d9dde3;max-width:38rem;margin:0;font-size:clamp(1.08rem,1.6vw,1.25rem);line-height:1.55}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:2.25rem;display:flex}.button{border:2px solid var(--action);background:var(--action);min-height:3rem;color:var(--action-ink);justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.1rem;font-size:.9rem;font-weight:750;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.button:hover{border-color:var(--action-hover);background:var(--action-hover);color:var(--action-hover-ink)}.button-primary{box-shadow:.25rem .25rem 0 var(--hard-shadow)}.button-primary:active{box-shadow:none;transform:translate(.25rem,.25rem)}.button-secondary{border-color:var(--line);color:var(--ink);background:0 0}.button-secondary:hover{border-color:var(--flag-mustard);background:var(--accent-soft);color:var(--ink)}.hero-field .button-primary{border-color:var(--flag-mustard);background:var(--flag-mustard);color:var(--flag-blue);box-shadow:.25rem .25rem 0 var(--flag-red)}.hero-field .button-primary:hover{background:#f2bd3c;border-color:#f2bd3c}.hero-field .button-secondary{color:var(--flag-bone);border-color:#5b7188}.hero-field .button-secondary:hover{border-color:var(--flag-mustard);color:var(--flag-bone);background:#ebad211f}.hero-field a:focus-visible{outline-color:var(--flag-mustard)}.section{padding-top:clamp(4.5rem,8vw,6.5rem);padding-bottom:clamp(4.5rem,8vw,6.5rem)}.section-label{border-left:3px solid var(--flag-mustard);width:max-content;padding-left:.65rem;display:inline-block}.section-heading{grid-template-columns:minmax(12rem,.7fr) minmax(0,1.3fr);align-items:start;gap:2rem;margin-bottom:clamp(3rem,7vw,5rem);display:grid}.section-heading h2,.about-copy h2,.contact-copy h2{letter-spacing:-.03em;max-width:12ch;margin:0;font-size:clamp(2.15rem,4.5vw,4rem);font-weight:780;line-height:.98}.section-heading>div:last-child>p{max-width:32rem;color:var(--muted);margin:.15rem 0 0;font-size:1.05rem}.work-list{counter-reset:work}.work-item{counter-increment:work;grid-template-columns:5.5rem minmax(0,1fr);padding:2.25rem 0 2.5rem;display:grid}.work-item>*{grid-column:2;justify-self:start}.work-item:before{color:var(--flag-mustard);content:counter(work, decimal-leading-zero);font-family:var(--font-display);grid-area:1/1/span 4;font-size:2.75rem;font-weight:800;font-stretch:112%;line-height:.9}.work-item+.work-item{border-top:1px solid var(--line)}.work-meta{flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;display:flex}.work-status{color:var(--muted);font-size:.7rem}.work-status:before{background:var(--flag-red);content:"";border-radius:50%;width:.45rem;height:.45rem;margin-right:.45rem;display:inline-block}.work-item h3{letter-spacing:-.02em;margin:.7rem 0 .65rem;font-size:clamp(1.35rem,2.5vw,2rem);font-weight:780;line-height:1.1}.work-item p{max-width:48rem;color:var(--muted);margin:0}.work-tech{font-size:.85rem;color:var(--ink)!important;margin-top:1.1rem!important}.work-tech-label{color:var(--accent);margin-right:.5rem;font-size:.68rem}.work-detail{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 3rem;max-width:60rem;margin:0;display:grid}.work-detail dt{color:var(--accent);letter-spacing:.105em;text-transform:uppercase;margin-bottom:.3rem;font-size:.68rem;font-weight:800}.work-detail dd{color:var(--muted);margin:0}.text-link{min-height:2.75rem;color:var(--ink);text-decoration:underline;text-decoration-color:var(--flag-mustard);text-underline-offset:.3em;align-items:center;gap:.45rem;margin-top:.75rem;font-size:.9rem;font-weight:750;text-decoration-thickness:2px;display:inline-flex}.mendia-section{border-block:1px solid var(--line);background:var(--surface)}.project-grid{gap:2rem;display:grid}.project-card{border:2px solid var(--ink);background:var(--page);box-shadow:.5rem .5rem 0 var(--hard-shadow);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);display:grid}.project-card--text{grid-template-columns:minmax(0,1fr)}.project-shot{border-right:2px solid var(--ink);background:var(--flag-blue);margin:0}.project-shot picture{height:100%;display:block}.project-shot img{object-fit:cover;object-position:left top;width:100%;height:100%}.project-shot--map{background:#fffdf8;align-items:center;padding:clamp(1rem,3vw,2rem);display:flex}.project-shot--map picture{width:100%;height:auto}.project-shot--map img{object-fit:contain;height:auto}.feature-card{margin-bottom:clamp(2.5rem,5vw,3.5rem)}.feature-links{flex-wrap:wrap;gap:0 1.75rem;margin-top:auto;padding-top:1rem;display:flex}.project-card .feature-links .text-link{margin-top:0;padding-top:0}.project-body{flex-direction:column;align-items:flex-start;padding:clamp(1.5rem,3vw,2.25rem);display:flex}.project-card h3{letter-spacing:-.02em;margin:.7rem 0 .6rem;font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:780;line-height:1.1}.project-card p{color:var(--muted);margin:0}.project-card .text-link{margin-top:auto;padding-top:1rem}.project-kind{color:var(--muted);font-size:.78rem;font-weight:650}.mendia-link{margin-top:2rem}.note-list{margin:0 0 1rem;padding:0;list-style:none;display:grid}.note-item{padding:1.5rem 0}.note-item+.note-item{border-top:1px solid var(--line)}.note-item time{color:var(--muted);align-items:center;gap:.75rem;font-size:.8rem;font-weight:700;display:flex}.note-item h2,.note-item h3{letter-spacing:-.02em;margin:.4rem 0;font-size:clamp(1.25rem,2.2vw,1.6rem);font-weight:780;line-height:1.15}.note-item a{text-decoration:none}.note-item a .ui-icon{vertical-align:.05em;width:.7em;height:.7em;margin-left:.25em;display:inline-block}.note-source{color:var(--ink);font-weight:700}.note-item a:hover{text-decoration:underline;text-decoration-color:var(--flag-mustard);text-decoration-thickness:2px}.note-item p{max-width:44rem;color:var(--muted);margin:0}.draft-badge{background:var(--flag-red);color:#fff;letter-spacing:.08em;text-transform:uppercase;vertical-align:middle;padding:.1rem .45rem;font-size:.65rem;font-weight:800;display:inline-block}.capability-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 2rem;margin:2.25rem 0 0;padding:0;list-style:none;display:grid}.capability-list li{border-left:3px solid var(--flag-mustard);padding-left:.85rem}.capability-list strong{letter-spacing:-.01em;font-size:1rem;line-height:1.3;display:block}.capability-list span{color:var(--muted);margin-top:.25rem;font-size:.92rem;line-height:1.5;display:block}.about-principles{background:var(--deep);color:#fff;box-shadow:.5rem .5rem 0 var(--hard-shadow);padding:clamp(1.5rem,3vw,2.25rem)}.about-principles .section-label{color:var(--flag-mustard)}.about-principles h3{color:#fff;letter-spacing:-.025em;margin:.75rem 0 1.75rem;font-size:clamp(1.6rem,2.6vw,2.1rem);font-weight:780;line-height:1.02}.principles-list{counter-reset:principle;gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.principles-list li:before{border-bottom:3px solid var(--flag-mustard);color:var(--flag-mustard);content:counter(principle, decimal-leading-zero);counter-increment:principle;font-family:var(--font-display);margin-bottom:.75rem;padding-bottom:.6rem;font-size:1rem;font-weight:800;font-stretch:112%;display:block}.principles-list li{letter-spacing:-.01em;margin:0;font-size:clamp(1.1rem,2vw,1.35rem);font-weight:650;line-height:1.25}.about-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);align-items:start;gap:clamp(2.5rem,7vw,7rem);display:grid}.about-copy h2{margin-bottom:1.5rem}.about-copy>p{max-width:43rem;color:var(--muted);margin:0;font-size:1.08rem}.about-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin-top:2.5rem;display:grid}.about-education-label{color:var(--muted);font-size:.7rem}.about-education{margin:.7rem 0 0;padding:0;font-size:.95rem;font-weight:650;line-height:1.45;list-style:none}.about-education li+li{margin-top:.55rem}.contact-section{background:var(--accent-soft)}.contact-inner{grid-template-columns:minmax(0,1fr) minmax(17rem,.8fr);align-items:end;gap:clamp(2rem,7vw,7rem);padding-top:clamp(4rem,8vw,7rem);padding-bottom:clamp(4rem,8vw,7rem);display:grid}.contact-copy h2{margin-top:.9rem}.contact-copy p:last-child{max-width:36rem;color:var(--muted);margin:1.5rem 0 0}.contact-links{gap:.75rem;display:grid}.contact-link{border:2px solid var(--ink);background:var(--page);min-height:3.5rem;box-shadow:.35rem .35rem 0 var(--contact-shadow);justify-content:space-between;align-items:center;gap:1rem;padding:1rem;font-weight:750;text-decoration:none;display:flex}.contact-link:active{box-shadow:none;transform:translate(.35rem,.35rem)}.contact-link:hover{color:var(--accent)}.site-footer{border-top:.5rem solid var(--flag-mustard);background:var(--deep);color:#d5d4cd;font-size:.85rem}.site-footer-inner{min-height:5.5rem}.site-footer .footer-link{color:var(--flag-bone)}.site-footer .footer-link:hover{color:var(--flag-mustard)}.site-footer a:focus-visible{outline-color:var(--flag-mustard)}.site-footer p{margin:0}.footer-identity{flex-wrap:wrap;align-items:center;gap:.35rem .6rem;display:flex}.footer-identity span+span:before{background:var(--flag-red);content:"";width:.3rem;height:.3rem;margin:0 .6rem .05rem 0;display:inline-block}.footer-link{color:var(--ink);font-weight:700}.error-page{align-items:center;min-height:calc(100vh - 9.75rem);padding-block:5rem;display:grid}.error-page h1{letter-spacing:-.035em;max-width:10ch;margin:1rem 0;font-size:clamp(3rem,8vw,6rem);line-height:.95}.error-page p{max-width:28rem;color:var(--muted);margin:0 0 2rem}.footer-links{flex-wrap:wrap;align-items:center;gap:.25rem 1.5rem;display:flex}.footer-link{min-height:2.75rem}.page-title{letter-spacing:-.03em;text-wrap:balance;max-width:16ch;margin:0;font-size:clamp(2.4rem,5vw,4.25rem);font-weight:800;line-height:.98}.notes-page .section-heading p{max-width:32rem;color:var(--muted);margin:1.25rem 0 0;font-size:1.05rem}.notes-empty{color:var(--muted);font-size:1.05rem}.note-page{max-width:46rem;padding-block:clamp(3rem,7vw,5rem)}.note-header{border-bottom:2px solid var(--flag-mustard);margin-bottom:2.5rem;padding-bottom:2rem}.note-header .text-link{margin:0 0 1.5rem}.note-header .section-label{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.note-dek{color:var(--muted);margin:1.25rem 0 0;font-size:clamp(1.1rem,1.8vw,1.3rem);line-height:1.5}.note-updated{color:var(--muted);margin:.75rem 0 0;font-size:.85rem}.prose{font-size:1.08rem;line-height:1.7}.prose>*{margin-block:0 1.25rem}.prose h2{border-bottom:2px solid var(--flag-mustard);letter-spacing:-.02em;margin-top:2.75rem;padding-bottom:.4rem;font-size:1.6rem;font-weight:780;line-height:1.2}.prose h3{letter-spacing:-.015em;margin-top:2rem;font-size:1.25rem}.prose ul,.prose ol{padding-left:1.25rem}.prose li+li{margin-top:.4rem}.prose li::marker{color:var(--flag-red)}.prose a{text-decoration-color:var(--flag-mustard);text-underline-offset:.2em;text-decoration-thickness:2px}.prose blockquote{border-left:3px solid var(--flag-mustard);color:var(--muted);margin-inline:0;padding-left:1.25rem;font-size:1.15rem}.prose code{background:var(--surface-muted);padding:.1rem .3rem;font-size:.9em}.prose pre{background:var(--surface-muted);padding:1rem;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose img{height:auto}.chart{border:1px solid var(--line);background:var(--surface);margin:2.25rem 0;padding:1.25rem}.chart-caption{gap:.6rem;margin-bottom:1rem;display:grid}.chart-title{letter-spacing:-.015em;font-size:1rem;font-weight:750}.chart .chart-legend{color:var(--muted);flex-wrap:wrap;gap:.35rem 1.25rem;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.chart .chart-legend li{align-items:center;gap:.5rem;margin:0;display:inline-flex}.chart-key{background:currentColor;width:1rem;height:2px}.chart-key.chart-series-1{color:var(--series-1)}.chart-key.chart-series-2{color:var(--series-2)}.chart-frame{position:relative}.chart-svg{width:100%;height:auto;display:block;overflow:visible}.chart-grid line{stroke:var(--chart-grid);stroke-width:1px;vector-effect:non-scaling-stroke}.chart-grid text,.chart-end-label{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.chart-end-label{fill:var(--ink);font-weight:700}.chart-crosshair{display:none}.chart-crosshair[data-visible]{display:inline}.chart-crosshair line{stroke:var(--muted);stroke-width:1px;vector-effect:non-scaling-stroke}g.chart-series-1{color:var(--series-1)}g.chart-series-2{color:var(--series-2)}.chart-line{fill:none;stroke:currentColor;stroke-width:2px;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:currentColor;stroke:var(--surface);stroke-width:2px}.chart-dot[data-active]{r:6px}.chart-hits rect{fill:#0000;cursor:crosshair}.chart-tooltip{border:1px solid var(--ink);background:var(--page);min-width:12rem;box-shadow:.25rem .25rem 0 var(--hard-shadow);color:var(--ink);pointer-events:none;gap:.15rem;padding:.6rem .75rem;font-size:.8rem;line-height:1.4;display:grid;position:absolute;top:.5rem}.chart-tooltip[hidden]{display:none}.chart-source{color:var(--muted);margin:1rem 0 0;font-size:.8rem}.chart-table{margin-top:.75rem;font-size:.85rem}.chart-table summary{cursor:pointer;align-items:center;min-height:2.75rem;font-weight:700;display:flex}.chart-table table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.chart-table th,.chart-table td{border-bottom:1px solid var(--line);text-align:right;padding:.35rem .5rem}.chart-table th:first-child{text-align:left}.chart-table-scroll{max-height:28rem;overflow:auto}.chart-table thead th{background:var(--surface);position:sticky;top:0}.chart-note{color:var(--muted);margin:1rem 0 0;font-size:.85rem}.chart-dot-hover{display:none}.chart-dot-hover[data-active]{display:inline}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.bar-list{gap:.15rem;margin:0;padding:0;list-style:none;display:grid}.bar-row{grid-template-columns:minmax(8rem,15rem) minmax(0,1fr);align-items:center;gap:0 1rem;margin:0;font-size:.85rem;display:grid}.bar-label{text-align:right;overflow-wrap:anywhere;display:grid}.bar-note{color:var(--muted);font-size:.75rem}.bar-track{min-width:0}.bar-svg{width:100%;height:24px;display:block;overflow:visible}.chart-bar{fill:var(--series-1)}.chart-bar-value{fill:var(--ink);font-variant-numeric:tabular-nums;font-size:12px}.map-svg{overflow:hidden}.map-base{fill:var(--map-base);stroke:none}.map-outline{fill:none;stroke:var(--ink);stroke-opacity:.55;stroke-width:1px;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.map-shape,.map-cell{stroke:var(--surface);stroke-width:.5px;vector-effect:non-scaling-stroke}.map-shape[data-active],.map-cell[data-active]{stroke:var(--ink);stroke-width:2px}.map-district{fill:#0000}.map-labels text{fill:var(--ink);text-anchor:middle;paint-order:stroke;stroke:var(--surface);stroke-width:3px;pointer-events:none;font-size:14px;font-weight:800}.map-point{stroke:var(--surface);stroke-width:2px}.map-point[data-active]{r:6px}.map-cat-1{fill:var(--series-1);color:var(--series-1)}.map-cat-2{fill:var(--series-2);color:var(--series-2)}.map-cat-3{fill:var(--series-3);color:var(--series-3)}.map-seq-1{fill:var(--seq-1);color:var(--seq-1)}.map-seq-2{fill:var(--seq-2);color:var(--seq-2)}.map-seq-3{fill:var(--seq-3);color:var(--seq-3)}.map-seq-4{fill:var(--seq-4);color:var(--seq-4)}.map-seq-5{fill:var(--seq-5);color:var(--seq-5)}.map-seq-none{fill:#0000;color:#0000}.map-key{background:currentColor;border-radius:2px;width:.9rem;height:.9rem}.map-key.map-seq-none{border:1px solid var(--line)}.map-key.map-key-outline{border:2px solid var(--ink);background:var(--map-base)}.chart .map-legend[hidden]{display:none}.map-tooltip{min-width:10rem;max-width:18rem;top:0;left:0}.metric-picker{flex-wrap:wrap;gap:.4rem;display:flex}.metric-picker[hidden]{display:none}.metric-picker button{border:1px solid var(--line);background:var(--page);min-height:2.25rem;color:var(--ink);font:inherit;cursor:pointer;padding:.3rem .7rem;font-size:.8rem}.metric-picker button:hover{border-color:var(--ink)}.metric-picker button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--page);font-weight:700}.metric-picker button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.small-multiples{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem;margin:2.25rem 0;display:grid}.small-multiples .chart{margin:0;padding:.85rem}.small-multiples .chart-title{font-size:.9rem}.small-multiples .chart-source{margin-top:.5rem}.tulsa-page .section-heading p{max-width:34rem;color:var(--muted);margin:1.25rem 0 0;font-size:1.05rem}.tulsa-meta{color:var(--muted);margin:1rem 0 0;font-size:.9rem}.tulsa-disclaimer{border-left:3px solid var(--flag-mustard);background:var(--surface);max-width:46rem;color:var(--muted);margin:0 0 3rem;padding:1rem 1.25rem;font-size:.9rem}.tulsa-disclaimer p{margin:0}.tulsa-disclaimer p+p{margin-top:.5rem}.topic-list{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin:0 0 3rem;padding:0;list-style:none;display:grid}.topic-card{border:1px solid var(--line);background:var(--surface);align-content:start;gap:.6rem;height:100%;margin:0;padding:1.25rem;display:grid}.topic-card h2{letter-spacing:-.02em;margin:0;font-size:1.35rem}.topic-card p{color:var(--muted);margin:0;font-size:.95rem}.topic-card ul{margin:.25rem 0 0;padding-left:1.1rem;font-size:.9rem}.topic-nav{flex-wrap:wrap;gap:.5rem 1.25rem;margin:0 0 3rem;padding:0;font-size:.9rem;list-style:none;display:flex}.topic-nav a[aria-current=page]{font-weight:750;text-decoration-thickness:2px}.dataset{border-top:2px solid var(--flag-mustard);padding-top:2.5rem}.dataset+.dataset{margin-top:4rem}.dataset-header h2{letter-spacing:-.025em;margin:0;font-size:clamp(1.6rem,3vw,2.25rem);line-height:1.05}.dataset-header>p{max-width:46rem;color:var(--muted);margin:.75rem 0 0}.dataset-header>.dataset-alert{border-left:3px solid var(--kicker);background:var(--surface);max-width:46rem;color:var(--ink);margin:1rem 0 0;padding:.75rem 1rem;font-size:.9rem}.tulsa-about{max-width:46rem;margin:0 0 3rem}.tulsa-about h2{letter-spacing:-.02em;margin:2.5rem 0 .75rem;font-size:clamp(1.4rem,2.5vw,1.85rem)}.tulsa-about h3{margin:1.75rem 0 .5rem;font-size:1.1rem}.tulsa-about p,.tulsa-about li{line-height:1.6}.tulsa-about ol,.tulsa-about ul{padding-left:1.25rem}.tulsa-about li+li{margin-top:.5rem}.tulsa-intro{max-width:46rem;margin:0 0 2.5rem}.tulsa-intro p{margin:0 0 1rem;line-height:1.6}.dataset-facts{flex-wrap:wrap;gap:.35rem 1.75rem;margin:1.25rem 0 0;font-size:.85rem;display:flex}.dataset-facts div{display:grid}.dataset-facts dt{color:var(--muted)}.dataset-facts dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.dataset-link{margin:1rem 0 0;font-size:.9rem}@media (width<=760px){:root{--shell:calc(100% - 2rem)}section[id]{scroll-margin-top:4.75rem}.header-inner{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:4rem;padding-block:.5rem;display:grid;position:relative}.brand{white-space:nowrap;gap:.625rem;min-width:0;font-size:.86rem}.brand-mark{width:2rem;height:2rem;font-size:.65rem}.site-header[data-menu-ready] .menu-toggle{display:inline-flex}.menu-toggle{border:1px solid var(--line);background:var(--surface);min-width:5.25rem;min-height:3rem;color:var(--ink);font:inherit;justify-content:center;align-items:center;gap:.45rem;padding:.65rem .9rem;font-size:.8rem;font-weight:800;line-height:1}.menu-toggle[aria-expanded=true]{border-color:var(--ink);background:var(--ink);color:var(--page);box-shadow:0 .6rem 1.25rem var(--menu-shadow)}.menu-toggle[aria-expanded=true] .menu-icon-open,.menu-toggle:not([aria-expanded=true]) .menu-icon-close{display:none}.menu-toggle .ui-icon{width:1rem;height:1rem}.primary-nav{border:1px solid var(--line);background:var(--surface);width:100%;box-shadow:0 .75rem 1.5rem var(--menu-shadow);grid-column:1/-1;grid-template-columns:1fr;gap:.25rem;padding:.5rem;display:grid}.site-header[data-menu-ready] .primary-nav{z-index:2;margin:0;display:none;position:absolute;top:calc(100% + .5rem);left:0;right:0}.site-header[data-menu-ready][data-menu-open] .primary-nav{display:grid}.primary-nav a{justify-content:space-between;min-height:3.5rem;padding:.75rem 1rem}.primary-nav a:hover,.primary-nav a:focus-visible{background:var(--accent-soft);color:var(--ink)}.section-heading,.about-grid,.contact-inner{grid-template-columns:1fr}.hero{--seal-h:9.5rem}.hero-inner{padding-top:3rem;padding-right:0;padding-bottom:calc(var(--seal-h) * .399 + 1.25rem)}.hero h1{font-size:clamp(2.4rem,9vw,4rem)}.hero-facts{grid-template-columns:1fr;min-height:0;padding-top:1.75rem;padding-right:0}.hero-photo{width:7rem}.section{padding-block:4rem}.section-heading{gap:1.25rem;margin-bottom:2.75rem}.work-detail,.project-card,.capability-list,.principles-list{grid-template-columns:1fr}.work-item{grid-template-columns:3.5rem minmax(0,1fr)}.work-item:before{font-size:1.85rem}.project-shot{border-right:0;border-bottom:2px solid var(--ink)}.project-shot img{aspect-ratio:12/7}.note-page{padding-top:2.5rem}.chart{padding:1rem .75rem}.chart-grid text,.chart-end-label{font-size:22px}.chart-dot{r:7px}.chart-dot[data-active]{r:10px}.principles-list{gap:1rem}.about-details{grid-template-columns:1fr}.site-footer-inner{flex-wrap:wrap;align-items:flex-start;padding-block:1.25rem}}@media (width<=460px){.eyebrow{letter-spacing:.08em;font-size:.68rem}.hero h1{font-size:clamp(2.1rem,10.5vw,2.6rem)}.lede{font-size:1.05rem}.hero-actions{gap:.9rem;margin-top:1.75rem}.section,.contact-inner{padding-block:3.75rem}.section-heading{gap:1rem;margin-bottom:2.5rem}.button{width:100%;min-height:3.25rem}.site-footer-inner{gap:.75rem;min-height:auto;padding-block:1.25rem;display:grid}.footer-link{min-height:3rem}}@media (width<=560px){.bar-row{grid-template-columns:minmax(0,1fr);margin-bottom:.35rem}.bar-label{text-align:left}}
