@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-cyrillic-ext-wght-normal.d1990364.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-cyrillic-wght-normal.2ffcac4f.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-greek-wght-normal.6b69666c.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-vietnamese-wght-normal.383b32a0.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-latin-ext-wght-normal.f5cc7610.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-latin-wght-normal.fedf4c92.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-cyrillic-ext-400-normal.66a2e865.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-ext-400-normal.88f8fd5b.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-cyrillic-400-normal.651bc97e.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-400-normal.9533b520.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-vietnamese-400-normal.110e2a76.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-vietnamese-400-normal.7d495472.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-latin-ext-400-normal.9faee8e8.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-ext-400-normal.f14ffb91.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-latin-400-normal.06ac09dc.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-400-normal.e32cf7a4.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-cyrillic-ext-500-normal.60bbe6c8.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-ext-500-normal.994c9659.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-cyrillic-500-normal.2a0db536.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-500-normal.d2ac083e.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-vietnamese-500-normal.cd8df815.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-vietnamese-500-normal.e53d79b9.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-latin-ext-500-normal.5a49cbe3.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-ext-500-normal.f9f2cfdc.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-latin-500-normal.dece0821.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-500-normal.2258ff2f.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--paper:#f7f8f5;--paper-deep:#eef2ed;--ink:#172522;--green:#176b5b;--green-dark:#0f4f43;--slate:#53645e;--sage:#d4ded6;--white:#ffffff;--orange:#e46f44;--shell:min(1180px,calc(100vw - 48px))}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope Variable,Avenir Next,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}button,input{font:inherit}a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}:focus{outline:none;scroll-margin-top:92px}:focus-visible{outline:3px solid currentColor;outline-offset:4px}:target{scroll-margin-top:24px}h1,h2,h3{text-wrap:balance}.contact-intro{max-width:620px;margin:26px 0 0;color:white;font-size:1.05rem}.approach-heading h2{font-size:clamp(2rem,3.9vw,3.7rem)}.nav-list a{display:inline-flex;align-items:center;min-height:44px}::selection{background:#b9dbce;color:var(--ink)}.shell{width:var(--shell);margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:12px;left:12px;z-index:1000;padding:10px 16px;background:var(--ink);color:white;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{position:absolute;inset:0 0 auto;z-index:20;border-bottom:1px solid rgba(23,37,34,.1)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;font-size:.9rem;font-weight:500;text-decoration:none}.brand-emphasis{font-weight:800}.nav-list{display:flex;align-items:center;gap:clamp(20px,3vw,42px);list-style:none;margin:0;padding:0;font-size:.84rem;font-weight:650}.nav-list a{text-decoration:none}.nav-list a:not(.nav-contact):hover{text-decoration:underline}.nav-contact{padding:10px 17px;border:1px solid var(--ink)}.nav-contact:hover{background:var(--ink);color:var(--paper)}.hero{min-height:760px;padding:152px 0 28px;background:var(--paper-deep);overflow:hidden}.hero-layout{display:grid;grid-template-columns:minmax(0,.94fr) minmax(420px,1.06fr);align-items:center;min-height:550px;grid-gap:clamp(30px,5vw,84px);gap:clamp(30px,5vw,84px)}.hero-copy{position:relative;z-index:2}.data-label,.role-line{margin:0 0 24px;color:var(--green-dark);font-family:IBM Plex Mono,monospace;font-size:.75rem;font-weight:560;letter-spacing:.025em}.case-hero h1,.hero h1{max-width:800px;margin:0;font-size:clamp(3rem,5.1vw,5.35rem);line-height:.99;letter-spacing:-.062em;font-weight:650}.hero-intro{max-width:610px;margin:30px 0 0;color:var(--slate);font-size:clamp(1rem,1.5vw,1.22rem);line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:12px 21px;border:1px solid transparent;background:transparent;color:inherit;font-weight:700;font-size:.86rem;text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}.button.primary{background:var(--green);color:white}.button.primary:hover{background:var(--green-dark)}.button.secondary{border-color:var(--ink)}.button.secondary:hover{background:var(--ink);color:white}.hero-footnote{display:flex;align-items:center;gap:18px;color:var(--slate);font:.68rem IBM Plex Mono,monospace}.coordinate-line{width:70px;height:1px;background:var(--sage)}.section{padding:clamp(88px,10vw,148px) 0}.section-heading{margin-bottom:clamp(44px,7vw,78px)}.about-section h2,.case-overview h2,.contact-section h2,.section-heading h2{margin:0;font-size:clamp(2.25rem,4.5vw,4.4rem);line-height:1.06;letter-spacing:-.055em;font-weight:620}.split-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.65fr);grid-gap:60px;gap:60px;align-items:flex-end}.split-heading p{max-width:560px;margin:0 0 5px;color:var(--slate);font-size:1.05rem}.work-section{background:var(--paper)}.project-list{display:grid;grid-gap:90px;gap:90px}.project-card{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.58fr);grid-gap:clamp(32px,6vw,82px);gap:clamp(32px,6vw,82px);align-items:center}.project-card:nth-child(2n) .project-visual-link{order:2}.project-visual-link{text-decoration:none}.project-body h3{margin:0;font-size:clamp(1.85rem,3vw,3rem);line-height:1.1;letter-spacing:-.045em}.project-body h3 a{text-decoration:none}.project-body>p:not(.data-label){margin:22px 0;color:var(--slate)}.capability-list{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:25px 0 30px;padding:0}.capability-list li{padding:5px 9px;border:1px solid var(--sage);color:var(--green-dark);font:.7rem IBM Plex Mono,monospace}.case-link{font-size:.83rem;font-weight:750}.case-link span{display:inline-block;margin-left:7px;transition:transform .2s}.case-link:hover span{transform:translate(3px,-3px)}.project-visual{position:relative;min-height:390px;overflow:hidden;border:1px solid #c8d5cc;background:#e5ebe5;transition:transform .3s cubic-bezier(.2,.8,.2,1)}.project-visual-link:hover .project-visual{transform:translateY(-5px)}.gis-visual svg{position:absolute;inset:44px 0 0 54px;width:calc(100% - 54px);height:calc(100% - 44px)}.mini-toolbar{position:absolute;inset:0 0 auto;height:44px;display:flex;align-items:center;gap:7px;padding:0 15px;background:var(--ink)}.mini-toolbar i{width:7px;height:7px;border-radius:50%;background:#83948f}.mini-toolbar i:first-child{background:var(--orange)}.mini-sidebar{position:absolute;inset:44px auto 0 0;z-index:2;width:54px;display:flex;flex-direction:column;align-items:center;gap:17px;padding-top:21px;background:white}.mini-sidebar span{width:18px;height:3px;background:#aab9b1}.mini-sidebar span.active{width:28px;height:28px;border:1px solid var(--green);background:#d5e5dc}.mini-land{fill:#d3ddd5;stroke:#88a093;stroke-width:1.5}.mini-road{fill:none;stroke:white;stroke-width:15}.mini-radius{fill:rgba(23,107,91,.13);stroke:var(--green);stroke-width:2;stroke-dasharray:6 5}.mini-points circle{fill:var(--orange);stroke:white;stroke-width:3}.mini-result{position:absolute;right:24px;bottom:23px;display:flex;flex-direction:column;width:130px;padding:13px;background:var(--ink);color:white}.mini-result b{font-size:1.6rem;line-height:1}.mini-result span{color:#b6c4bd;font-size:.67rem}.operations-visual{padding:44px 28px 28px;background:#dce4df}.op-nav{position:absolute;inset:0 0 auto;height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;background:#23423b}.op-nav i{width:24px;height:7px;background:#b5cbc1}.op-nav span{width:74px;height:7px;background:#7f9b8e}.op-filter{height:62px;display:flex;align-items:center;gap:12px;padding:0 17px;background:white}.op-filter span{width:86px;height:24px;border:1px solid #cad6cf}.op-filter span:last-child{margin-left:auto;width:62px;background:var(--green);border-color:var(--green)}.op-layout{display:grid;grid-template-columns:.7fr 1.3fr;min-height:256px;margin-top:2px}.op-list{display:grid;grid-gap:2px;gap:2px;background:#cad6cf}.op-list i{display:block;background:#f7f8f5;border-left:3px solid transparent}.op-list i.selected{background:#e2eee8;border-left-color:var(--green)}.op-detail{display:flex;flex-direction:column;gap:17px;padding:26px;background:white}.op-detail span{width:48%;height:7px;background:#8ca097}.op-detail b{width:80%;height:12px;background:#233c36}.op-detail b+b{width:61%}.op-detail div{flex:1 1;margin-top:5px;background:repeating-linear-gradient(0deg,#edf1ee,#edf1ee 1px,transparent 0,transparent 22px)}.demo-section{background:#dce6df}.demo-shell{min-height:540px;background:white;border:1px solid #becdc3}.demo-preview,.insight-layout{display:grid;grid-template-columns:1.45fr .75fr;min-height:540px}.preview-map{position:relative;min-height:460px;overflow:hidden;background-color:#d9e3dc;background-image:linear-gradient(rgba(87,117,103,.14) 1px,transparent 0),linear-gradient(90deg,rgba(87,117,103,.14) 1px,transparent 0),radial-gradient(ellipse at 10% 80%,transparent 38%,#b7cabe 39%,transparent 40%),radial-gradient(ellipse at 80% 5%,transparent 35%,#b7cabe 36%,transparent 37%);background-size:42px 42px,42px 42px,100% 100%,100% 100%}.insight-controls,.preview-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,5vw,66px)}.insight-controls h3,.preview-copy h3{margin:0;font-size:clamp(2rem,3.7vw,3.25rem);line-height:1.08;letter-spacing:-.05em}.demo-help,.preview-copy>p:not(.data-label){color:var(--slate)}.preview-copy .button{align-self:flex-start;margin-top:18px}.preview-ring{position:absolute;left:42%;top:46%;width:min(260px,34vw);aspect-ratio:1;border:2px dashed var(--green);border-radius:50%;background:rgba(23,107,91,.11);transform:translate(-50%,-50%)}.preview-center,.preview-point{position:absolute;width:14px;height:14px;border:3px solid white;border-radius:50%;background:var(--orange);box-shadow:0 2px 8px rgba(23,37,34,.25)}.preview-center{left:42%;top:46%;width:20px;height:20px;background:var(--green);transform:translate(-50%,-50%)}.point-a{left:31%;top:35%}.point-b{left:51%;top:58%}.point-c{left:47%;top:27%}.map-loading{min-height:540px;display:grid;place-items:center;font-family:IBM Plex Mono,monospace}.map-panel{position:relative;min-height:540px}.map-container{position:absolute;inset:0}.map-container .maplibregl-canvas:focus-visible{outline:3px solid var(--orange);outline-offset:-5px}.map-status{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);z-index:2;padding:10px 14px;background:var(--ink);color:white;font-size:.8rem}.map-error{width:min(360px,80%)}.insight-controls{justify-content:flex-start;overflow-y:auto;max-height:620px;padding:42px}.insight-controls .data-label{margin-bottom:15px}.insight-controls h3{font-size:2.2rem}.demo-help{font-size:.83rem;line-height:1.55}.radius-options{display:flex;gap:7px;margin:18px 0;padding:0;border:0}.radius-options legend{width:100%;margin-bottom:8px;font-size:.75rem;font-weight:700}.radius-options label{position:relative;min-width:58px;min-height:40px;display:grid;place-items:center;border:1px solid var(--sage);font:.75rem IBM Plex Mono,monospace;cursor:pointer}.radius-options label.selected{border-color:var(--green);background:var(--green);color:white}.radius-options input{position:absolute;opacity:0}.radius-options label:has(input:focus-visible){outline:3px solid var(--orange);outline-offset:3px}.result-list{border-top:1px solid var(--sage)}.result-list>p{color:var(--slate);font-size:.82rem}.result-row{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid var(--sage);font-size:.78rem}.result-row b{font-family:IBM Plex Mono,monospace;font-weight:550}.text-button{align-self:flex-start;min-height:40px;margin-top:16px;padding:0;border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);font-weight:700;cursor:pointer}.maplibregl-ctrl-attrib{font-size:10px}.expertise-section{background:var(--ink);color:var(--paper)}.expertise-layout{display:grid;grid-template-columns:.8fr 1.2fr;grid-gap:clamp(50px,10vw,140px);gap:clamp(50px,10vw,140px)}.sticky-heading{align-self:start;position:-webkit-sticky;position:sticky;top:120px}.sticky-heading .data-label{color:#9ac0b1}.sticky-heading h2{font-size:clamp(2.5rem,4.4vw,4.2rem)}.expertise-list article{padding:0 0 45px;border-bottom:1px solid #3b4c47;margin-bottom:45px}.expertise-list article:last-child{margin-bottom:0}.expertise-list h3{margin:0 0 13px;font-size:clamp(1.6rem,2.4vw,2.4rem);letter-spacing:-.035em}.expertise-list p{max-width:560px;color:#b9c7c1}.expertise-list span{color:#8fb2a4;font:.72rem IBM Plex Mono,monospace}.about-section{background:var(--paper)}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;grid-gap:70px clamp(50px,10vw,140px);gap:70px clamp(50px,10vw,140px)}.experience-entry{padding-top:12px}.experience-meta{display:flex;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:1px solid var(--sage);color:var(--slate);font:.76rem IBM Plex Mono,monospace}.experience-meta strong{color:var(--ink)}.experience-entry h3{margin:25px 0 12px;font-size:1.9rem}.about-copy p,.experience-entry p{color:var(--slate)}.about-grid blockquote{margin:0;font-size:clamp(2rem,3.9vw,3.7rem);font-weight:580;line-height:1.12;letter-spacing:-.05em}.about-copy{font-size:1.05rem}.contact-section{padding:clamp(80px,10vw,130px) 0;background:var(--green);color:white}.contact-inner{display:grid;grid-template-columns:1.4fr .6fr;grid-gap:70px;gap:70px;align-items:flex-end}.contact-section .data-label{color:#c0dbd0}.contact-section h2{max-width:820px}.contact-actions{justify-self:end}.button.light{background:white;color:var(--green-dark)}.button.light:hover{background:var(--ink);color:white}.contact-actions p{margin:18px 0 0;text-align:center;font-size:.82rem}.site-footer{padding:28px 0;background:#0e1916;color:#aab9b3;font-size:.75rem}.footer-inner{display:flex;justify-content:space-between;gap:30px}.footer-inner p{margin:0}.footer-links{display:flex;gap:26px}.case-page{background:var(--paper)}.case-hero{padding:164px 0 88px;background:var(--paper-deep)}.case-hero-grid{display:grid;grid-template-columns:1.2fr .55fr;grid-gap:100px;gap:100px;align-items:flex-end}.back-link{display:inline-block;margin-bottom:55px;font-size:.82rem}.case-hero .role-line{margin-bottom:18px}.case-hero h1{font-size:clamp(3rem,6vw,6.3rem)}.case-intro{max-width:750px;margin:30px 0 0;color:var(--slate);font-size:1.15rem}.case-meta{margin:0}.case-meta div{padding:19px 0;border-top:1px solid var(--sage)}.case-meta dt{margin-bottom:7px;color:var(--green-dark);font:.7rem IBM Plex Mono,monospace}.case-meta dd{margin:0;color:var(--slate);font-size:.86rem}.case-art{margin-top:65px}.case-art .project-visual{min-height:min(660px,58vw)}.case-art .gis-visual svg{left:45px;width:calc(100% - 45px)}.case-content{padding:125px 0}.case-overview{display:grid;grid-template-columns:.35fr 1.3fr;grid-gap:80px;gap:80px;align-items:start}.case-overview h2{font-size:clamp(2.1rem,4.2vw,4rem)}.decision-list{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:0;gap:0;margin:120px 0;border-top:1px solid var(--sage);border-bottom:1px solid var(--sage)}.decision-list article{padding:38px 34px 38px 0}.decision-list article+article{padding-left:34px;border-left:1px solid var(--sage)}.decision-list h3{margin:0 0 18px;font-size:1.35rem;line-height:1.25}.decision-list p{color:var(--slate);font-size:.9rem}.case-outcome{display:grid;grid-template-columns:1fr 1fr;grid-gap:90px;gap:90px}.case-outcome>div{padding-top:30px;border-top:1px solid var(--ink)}.case-outcome blockquote,.case-outcome p:not(.data-label){margin:0;font-size:1.08rem}.case-outcome blockquote{font-size:1.45rem;line-height:1.5;letter-spacing:-.02em}.next-project{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-top:140px;padding-top:45px;border-top:1px solid var(--sage)}.next-project p{color:var(--slate);font-size:.8rem}.next-project a{max-width:640px;font-size:clamp(1.8rem,3.5vw,3.4rem);line-height:1.15;text-align:right;text-decoration:none;letter-spacing:-.04em}@media (max-width:900px){:root{--shell:min(100% - 36px,720px)}.hero{padding-top:130px}.hero-layout{gap:20px}.about-grid,.case-hero-grid,.case-overview,.contact-inner,.expertise-layout,.hero-layout,.project-card,.split-heading{grid-template-columns:1fr}.project-card{gap:34px}.project-card:nth-child(2n) .project-visual-link{order:0}.sticky-heading{position:static}.contact-actions{justify-self:start}.contact-actions p{text-align:left}.case-hero-grid{gap:55px}.case-meta{max-width:600px}.decision-list{grid-template-columns:1fr}.decision-list article,.decision-list article+article{padding:28px 0;border-left:0}.decision-list article+article{border-top:1px solid var(--sage)}.case-overview{gap:25px}}@media (max-width:680px){:root{--shell:calc(100% - 30px)}.header-inner{min-height:108px;flex-wrap:wrap;gap:4px;padding-block:12px}.brand{width:100%}.brand-name{display:inline}.nav-list{gap:22px;font-size:.8rem}.nav-contact{padding:8px 12px}.hero{min-height:0;padding-top:156px}.hero h1{font-size:clamp(2.4rem,10.5vw,4.1rem)}.hero-intro{margin-top:24px}.hero-footnote{margin-top:8px;flex-wrap:wrap}.hero-footnote .coordinate-line{flex:1 1}.section{padding:82px 0}.split-heading{gap:24px}.about-section h2,.section-heading h2{font-size:2.55rem}.project-list{gap:74px}.project-visual{min-height:300px}.project-body .data-label{margin-bottom:15px}.demo-preview,.insight-layout{grid-template-columns:1fr}.map-panel,.preview-map{min-height:390px}.insight-controls,.preview-copy{padding:30px 24px}.insight-controls{max-height:none}.demo-shell{min-height:0}.about-grid,.expertise-layout{gap:46px}.about-grid blockquote{padding-top:45px;border-top:1px solid var(--sage)}.experience-meta{flex-direction:column;gap:8px}.contact-inner{gap:45px}.footer-inner{align-items:flex-start}.footer-links{flex-direction:column;gap:7px;text-align:right}.case-hero{padding:125px 0 66px}.case-hero h1{font-size:3rem}.back-link{margin-bottom:40px}.case-art{margin-top:28px}.case-art .project-visual{min-height:320px}.case-content{padding:82px 0}.decision-list{margin:75px 0}.case-outcome{grid-template-columns:1fr;gap:54px}.next-project{display:block;margin-top:90px}.next-project a{display:block;margin-top:20px;text-align:left}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}