@font-face{font-family:Delight;src:url('/fonts/Delight/Delight-VF.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:Humane;src:url('/fonts/Humane/Humane-VF.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{--blue:#004eff;--blue-hover:#003ecc;--lime:#91fa2e;--paper:#fcfdff;--mist:#edf3ff;--ink:#101827;--night:#091426;--muted:#526074;--line:#dbe0e8;--gutter:clamp(22px,3.2vw,64px);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Delight,Arial,sans-serif;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}button,a,summary{-webkit-tap-highlight-color:transparent}button{font:inherit}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button{border:0;background:none}h1,h2,h3,p{margin:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px}::selection{background:var(--lime);color:var(--ink)}.section-pad{padding-inline:var(--gutter)}.mono{font:11px/1.45 Delight,Arial,sans-serif;text-transform:uppercase;letter-spacing:.085em;font-weight:400}.header-note,.engagement-heading h2{font-family:Delight,Arial,sans-serif}.blue{color:var(--blue)}.lime{color:var(--lime)}.line{display:block;overflow:clip;padding-bottom:.085em;margin-bottom:-.085em}.line>span{display:block;will-change:transform}.skip-link{position:fixed;top:10px;left:10px;background:var(--lime);padding:14px;z-index:120;transform:translateY(-160%)}.skip-link:focus{transform:none}.status-dot{display:inline-block;flex-shrink:0;width:7px;height:7px;border-radius:100%;background:var(--blue)}
.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);position:absolute;inset:0 0 auto;z-index:10}.brand{width:122px;flex-shrink:0}.header-note{font-size:12px;color:var(--muted);margin-right:auto;margin-left:8vw}.header-actions{display:flex;gap:40px;align-items:center;font-size:13px}.talk-link{display:flex;gap:16px;align-items:center}.talk-link span{font-size:22px}.menu-trigger{display:flex;align-items:center;gap:15px;padding:12px 0 12px 10px}.menu-trigger i{width:22px;display:grid;gap:5px}.menu-trigger b{height:1px;background:var(--ink);width:100%}.hero{padding-top:155px;padding-bottom:55px}.hero-kicker{display:flex;align-items:center;gap:10px;margin-bottom:35px}.hero h1{font-size:clamp(48px,7.6vw,148px);font-weight:520;line-height:1.04;letter-spacing:0}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;padding-top:38px}.hero-bottom p{font-size:clamp(16px,1.4vw,23px);line-height:1.4;letter-spacing:0}.round-link{display:flex;align-items:center;gap:25px;font-size:15px}.circle-arrow{display:grid;place-items:center;width:60px;height:60px;border:1px solid var(--line);border-radius:50%;font-size:25px;transition:background .2s,color .2s,transform .3s}.round-link:hover .circle-arrow{background:var(--blue);border-color:var(--blue);color:white;transform:rotate(-35deg)}
.work{padding-top:65px;padding-bottom:100px}.section-top{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:20px 0 35px}.section-top h2{font-weight:500}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px 24px}.project{display:block;min-width:0}.project-wide{grid-column:1/-1}.project-art{position:relative;overflow:hidden;aspect-ratio:1.16;background:var(--mist);isolation:isolate}.project-wide .project-art{aspect-ratio:1.96}.project-art:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px #00000005;pointer-events:none}.concept-tag{position:absolute;top:25px;right:25px;z-index:4;font-size:10px}.project-brand{position:absolute;top:25px;left:28px;z-index:3;font-size:clamp(21px,2.6vw,38px);letter-spacing:0;font-weight:600;display:flex;align-items:center;gap:12px}.project-brand>span{font-size:28px}.project-scene{position:absolute;inset:0;z-index:-1;background-size:cover;background-position:center;transition:transform .65s var(--ease)}.project:hover .project-scene{transform:scale(1.025)}.project-caption{display:flex;justify-content:space-between;align-items:flex-start;padding-top:22px;gap:20px}.project-caption h3{font-size:clamp(19px,2.05vw,32px);line-height:1.18;letter-spacing:0;font-weight:500}.project-caption p{font-size:12px;margin-top:10px;color:var(--muted)}.project-caption p span{margin-left:5px}.project-arrow{font-size:29px;line-height:1;transition:transform .2s}.project:hover .project-arrow{transform:translate(3px,-3px)}.concept-note{font-size:12px;line-height:1.5;color:var(--muted);margin-top:40px}.buildflow-art{background:var(--blue);color:white}.buildflow-scene{background:linear-gradient(135deg,#024ce8,#004eff 70%)}.architecture{position:absolute;bottom:-10%;left:-4%;height:86%;width:50%;transform:skewY(-14deg);display:flex;gap:6%;opacity:.45}.architecture i{width:17%;background:repeating-linear-gradient(0deg,#edf3ff 0 8%,#8daffa 8% 10%,#0045d9 10% 17%);box-shadow:18px 7px 0 #001f92}.architecture i:nth-child(2){height:115%;align-self:flex-end}.architecture i:nth-child(4){height:85%;align-self:flex-end}.product-ui{color:var(--ink);background:#f8fafd;border:1px solid #e1e6ef;border-radius:10px;box-shadow:0 35px 80px #001a6466;position:absolute;font-family:Delight,Arial,sans-serif}.procurement-ui{width:62%;right:5%;top:24%;transform:rotate(-3deg);transition:transform .6s var(--ease)}.project:hover .procurement-ui{transform:rotate(-1.5deg) translateY(-5px)}.ui-top{height:50px;display:flex;align-items:center;padding:0 19px;border-bottom:1px solid #e1e6ef;gap:30px;font-size:9px}.ui-top>b{color:var(--blue);font-size:17px;letter-spacing:0}.ui-top>span{color:#6b7686}.ui-top>i{margin-left:auto;font-style:normal;background:var(--mist);padding:7px;border-radius:50%}.ui-body{display:flex}.ui-sidebar{width:22%;padding:25px 13px;display:flex;flex-direction:column;gap:17px;font-size:9px;border-right:1px solid #e1e6ef}.ui-sidebar strong{font-size:8px;color:#6b7686;font-weight:400}.ui-sidebar span{padding-left:9px}.ui-sidebar .selected{padding:9px;background:var(--blue);color:white;border-radius:4px}.ui-sidebar small{font-size:7px;margin-top:auto}.ui-main{padding:25px;width:78%}.ui-greeting{display:flex;justify-content:space-between;align-items:center}.ui-greeting small{font-size:7px;letter-spacing:.09em;color:#697588}.ui-greeting h3{font-size:25px;font-weight:500;letter-spacing:0;margin-top:6px}.ui-plus{color:var(--blue);font-size:24px}.ui-stats{display:flex;gap:8px;margin-top:22px}.ui-stats>div{padding:14px 12px;border:1px solid #e1e6ef;border-radius:5px;width:33.333%;background:white}.ui-stats small{font-size:8px;color:#697588;display:block}.ui-stats b{font-size:28px;font-weight:500;display:block;margin-top:7px}.ui-stats b span{font-size:13px}.ui-table{margin-top:22px;font-size:9px}.ui-table>div{padding:12px 0;border-bottom:1px solid #e1e6ef;display:flex;align-items:center;gap:10px}.ui-table b{font-size:11px;font-weight:500}.ui-table span:first-child{width:43%}.ui-table small{font-size:8px;color:#6b7686}.ui-table>div:first-child span{margin-left:auto;color:#526074;font-size:8px}.ui-table em{font-style:normal;margin-left:auto;font-size:7px;background:#e6f6d9;color:#314b21;border-radius:3px;padding:4px 6px}.ui-table .pending{background:#f9edcf;color:#765913}.ui-bottom{display:flex;gap:6px;align-items:center;font-size:8px;color:#697588;padding-top:20px}.ui-bottom .status-dot{width:4px;height:4px}
.northledger-art{background:#111e35;color:white}.northledger-scene{background:radial-gradient(ellipse at 0 100%,#355078,transparent 75%)}.ledger-ui{position:absolute;top:26%;left:11%;width:78%;transform:rotate(-4deg)}.ledger-heading{display:flex;justify-content:space-between;align-items:center;font-size:clamp(19px,2.2vw,33px);letter-spacing:0;line-height:1.12;margin-bottom:24px}.ledger-heading i{font-size:45px;font-style:normal;color:var(--lime)}.ledger-card{background:#fcfdff;color:var(--ink);border-radius:7px;padding:25px;box-shadow:0 25px 50px #050b1855}.ui-label{font-size:8px;letter-spacing:.1em;color:var(--muted)}.ledger-card strong{display:block;font-size:clamp(26px,3vw,45px);font-weight:500;letter-spacing:0;margin:7px 0 23px}.ledger-card strong span{color:#a0aabc;font-size:.55em}.ledger-chart{display:flex;gap:6px;height:85px;align-items:flex-end}.ledger-chart i{flex:1;background:#dce6ff;height:35%;border-radius:3px 3px 0 0}.ledger-chart i:nth-child(2n){height:47%}.ledger-chart i:nth-child(n+5){height:60%}.ledger-chart i:nth-child(n+7){height:72%}.ledger-chart i:nth-child(n+9){height:84%;background:var(--blue)}.ledger-chart i:last-child{height:100%;background:var(--blue)}.ledger-foot{display:flex;justify-content:space-between;margin-top:15px;font-size:8px}.ledger-foot span:last-child{color:#426021}.wattline-art{background:#e2ece7;color:#15251e}.wattline-scene{background:repeating-linear-gradient(120deg,transparent 0 50px,#71897b12 50px 51px)}.energy-ui{position:absolute;top:30%;width:76%;left:12%;background:#fcfdffeF;box-shadow:0 20px 80px #2a4c4a1a;border:1px solid white;padding:28px;border-radius:7px;transform:rotate(4deg)}.energy-top{display:flex;justify-content:space-between;font-size:10px}.energy-top i{font-size:8px;color:#526d43;font-style:normal;background:#e4f5d8;padding:4px 7px;border-radius:10px}.energy-number{font-size:clamp(34px,4vw,60px);letter-spacing:0;margin-top:20px}.energy-number small{font-size:14px;letter-spacing:0}.energy-ui p{font-size:9px;color:#61776b;margin-top:4px}.energy-chart{display:block;width:100%;margin-top:28px}.energy-bottom{display:flex;justify-content:space-between;font-size:7px;color:#61776b;margin-top:8px}
.approach{background:var(--night);color:var(--paper);padding-top:42px;padding-bottom:60px}.approach-top{display:flex;align-items:center;justify-content:space-between;color:#b7c4dd}.approach-top img{width:45px;filter:invert(1)}.approach h2{font-size:clamp(65px,11.2vw,190px);font-weight:500;line-height:.99;letter-spacing:0;padding:90px 0 65px}.approach-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:60px}.approach-bottom>.mono{color:#b7c4dd}.approach-bottom p{max-width:470px;width:45%;font-size:clamp(20px,2vw,29px);line-height:1.35;letter-spacing:0}.engagements{padding-block:125px}.engagement-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:65px}.engagement-heading h2{font-size:clamp(38px,5.6vw,86px);font-weight:500;letter-spacing:0}.engagement-heading p{font-size:15px;line-height:1.45;color:var(--muted)}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:25px;padding:25px 0;user-select:none}summary::-webkit-details-marker{display:none}.engagement-name{font-size:clamp(33px,4.65vw,74px);line-height:1.2;font-weight:450;letter-spacing:0;width:45%}.engagement-preview{font-size:14px;color:var(--muted);margin-left:auto}.disclosure-icon{display:grid;place-items:center;font-size:28px;border:1px solid var(--line);border-radius:50%;height:44px;width:44px;margin-left:30px;flex-shrink:0;transition:transform .25s,background .25s}summary:hover .disclosure-icon,details[open] .disclosure-icon{background:var(--blue);border-color:var(--blue);color:white}details[open] .disclosure-icon{transform:rotate(45deg)}.engagement-content{padding:5px 8% 36px 45%;font-size:16px;line-height:1.5}.engagement-content h3{font-size:12px;letter-spacing:.025em;font-weight:500;margin-bottom:12px;color:var(--blue)}.engagement-content p{max-width:470px}.engagement-content ul{display:flex;gap:10px;flex-wrap:wrap;list-style:none;padding:0;margin:22px 0;font-size:11px;color:var(--muted)}.engagement-content li{padding:7px 10px;background:var(--mist)}.engagement-content>a{display:inline-flex;gap:30px;align-items:center;border-bottom:1px solid var(--ink);padding:4px 0;font-size:13px}
.contact{background:var(--blue);color:white;padding-top:38px}.contact-top{display:flex;justify-content:space-between;align-items:center}.contact-top .status-dot{background:var(--lime)}.contact h2{font-size:clamp(65px,12.4vw,210px);font-weight:500;letter-spacing:0;line-height:1.02;padding:75px 0 60px}.contact-bottom{display:flex;justify-content:space-between;align-items:center;padding-bottom:80px}.contact-bottom p{font-size:clamp(17px,2vw,29px);letter-spacing:0}.contact-cta{display:flex;align-items:center;justify-content:space-between;gap:65px;padding:23px 30px;border-radius:2px;color:var(--ink);background:var(--lime);font-size:clamp(20px,2.4vw,34px);letter-spacing:0;transition:background .2s,transform .2s}.contact-cta:hover{background:#b0ff70;transform:translateY(-3px)}.contact-cta span{font-size:36px}footer{border-top:1px solid #ffffff40;display:flex;justify-content:space-between;align-items:center;padding-block:30px;gap:20px}footer img{filter:invert(1);width:130px}footer>.mono{font-size:10px}footer a:focus-visible,.contact a:focus-visible{outline-color:var(--lime)}
dialog{border:0;padding:0;max-width:none;max-height:none;margin:0}dialog::backdrop{background:#09142688}dialog:not([open]){display:none}.menu-dialog{position:fixed;inset:0;width:100%;height:100dvh;background:var(--blue);color:white;overflow:auto}.menu-header{height:92px;padding:0 var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:25px}.menu-header .brand img{filter:invert(1)}.menu-header>.mono{margin-right:auto;margin-left:8vw}.menu-close,.case-close{display:flex;align-items:center;gap:25px;font-size:13px;padding:15px 0 15px 15px}.menu-close span,.case-close span{font-size:28px;font-weight:300;line-height:1}.menu-links{display:grid;grid-template-columns:1fr 1fr;column-gap:8%;padding:50px var(--gutter) 60px;min-height:calc(100dvh - 175px);align-content:center;grid-auto-flow:column;grid-template-rows:repeat(3,auto)}.menu-link-group>a{display:flex;align-items:flex-start;gap:12px;width:max-content;max-width:100%;font:400 clamp(66px,8vw,155px)/1.12 Humane,Impact,sans-serif;text-transform:uppercase;letter-spacing:0;transition:color .18s}.menu-links a small{font:10px/2 Delight,Arial,sans-serif;letter-spacing:0;padding-top:10px;opacity:.65}.menu-link-group>a:hover{color:var(--lime)}.menu-link-group>a:focus-visible,.menu-dialog button:focus-visible,.menu-dialog a:focus-visible{outline-color:var(--lime)}.menu-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px var(--gutter);border-top:1px solid #ffffff30;margin-inline:var(--gutter);padding-inline:0}.intro{position:fixed;inset:0;background:var(--blue);z-index:100;display:grid;place-items:center;pointer-events:none}.intro[hidden]{display:none}.intro img{width:clamp(240px,45vw,820px);filter:invert(1)}.cursor-label{position:fixed;top:0;left:0;pointer-events:none;z-index:90;opacity:0;background:var(--lime);color:var(--ink);padding:12px 17px;border-radius:30px;font-size:11px;font-weight:500;white-space:nowrap;transition:opacity .12s;transform:translate(-200px,-200px)}.case-dialog{background:var(--paper);color:var(--ink);inset:0;width:100%;height:100dvh;overflow:auto;overscroll-behavior:contain}.case-top{position:sticky;top:0;z-index:2;padding:10px var(--gutter);display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--line)}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
@media(min-width:1800px){.procurement-ui{max-width:1050px}.ui-main{padding:35px}.ui-greeting h3{font-size:36px}.ui-stats b{font-size:40px}.ui-table>div{padding:18px 0}.ui-sidebar{font-size:13px}.ui-top{height:60px}.ledger-card{padding:40px}.ledger-chart{height:130px}.energy-ui{padding:40px}}
@media(max-width:900px){.header-note{display:none}.hero{padding-top:145px}.hero h1{font-size:7.8vw}.project-grid{gap:38px 18px}.project-caption p span{display:block;margin:5px 0 0}.project-wide .project-art{aspect-ratio:1.5}.procurement-ui{width:76%;right:-2%;top:28%}.project-art:not(.buildflow-art){aspect-ratio:.85}.project-brand{left:20px;top:21px;font-size:25px}.concept-tag{top:auto;bottom:17px;right:18px;font-size:8px}.ledger-ui{top:25%;left:8%;width:84%}.ledger-card{padding:19px}.ledger-heading{font-size:26px}.ledger-chart{height:75px}.energy-ui{left:7%;width:86%;padding:20px;top:31%}.energy-number{font-size:40px}.engagement-preview{max-width:230px;font-size:12px}.disclosure-icon{margin-left:10px}.menu-links{column-gap:5%}.menu-link-group>a{font-size:9vw}.menu-header>.mono{display:none}.approach-bottom{gap:35px}.approach-bottom p{width:50%}.engagement-content{padding-left:40%}}
@media(max-width:600px){html{scroll-padding-top:25px}.site-header,.menu-header{height:80px}.brand{width:104px}.header-actions{gap:22px;font-size:12px}.talk-link{gap:8px}.talk-link span{font-size:20px}.menu-trigger{gap:10px}.menu-trigger i{width:18px}.hero{padding-top:137px;padding-bottom:30px}.hero-kicker{font-size:8px;letter-spacing:.055em;margin-bottom:29px}.hero h1{font-size:8.15vw;line-height:1.12;letter-spacing:0}.hero-bottom{padding-top:37px;align-items:flex-start;gap:27px;flex-direction:column}.hero-bottom p{font-size:16px;line-height:1.45}.round-link{gap:18px;font-size:13px}.circle-arrow{height:44px;width:44px;font-size:21px}.work{padding-top:37px;padding-bottom:58px}.section-top{padding:18px 0 23px}.section-top .mono{font-size:9px}.section-top>span{display:none}.project-grid{grid-template-columns:1fr;gap:35px}.project-wide{grid-column:auto}.project-wide .project-art{aspect-ratio:.94}.project-art:not(.buildflow-art){aspect-ratio:1.06}.project-brand{left:20px;top:20px;font-size:27px}.concept-tag{font-size:8px}.procurement-ui{width:110%;right:-31%;top:32%;border-radius:6px;transform:rotate(-5deg)}.ui-top{height:35px;padding:0 12px;gap:20px}.ui-top>b{font-size:13px}.ui-top>span{font-size:6px}.ui-top>i{font-size:6px;padding:5px}.ui-main{padding:15px}.ui-sidebar{font-size:7px;gap:13px;padding:15px 8px}.ui-sidebar strong{font-size:6px}.ui-sidebar .selected{padding:6px}.ui-sidebar small{font-size:5px}.ui-greeting h3{font-size:20px}.ui-greeting small{font-size:5px}.ui-stats{margin-top:14px;gap:5px}.ui-stats>div{padding:10px 7px}.ui-stats small{font-size:5px}.ui-stats b{font-size:22px}.ui-stats b span{font-size:10px}.ui-table{font-size:6px;margin-top:14px}.ui-table>div{padding:8px 0}.ui-table b{font-size:8px}.ui-table small,.ui-table>div:first-child span{font-size:5px}.ui-table em{font-size:5px;padding:3px 4px}.ui-bottom{font-size:6px;padding-top:12px}.architecture{width:65%;opacity:.6}.project-caption{padding-top:16px}.project-caption h3{font-size:23px}.project-caption p{font-size:11px;margin-top:8px}.project-caption p span{display:inline;margin-left:4px}.project-arrow{font-size:25px}.concept-note{font-size:10px;margin-top:30px;max-width:290px}.ledger-ui{width:77%;left:11.5%;top:26%}.ledger-heading{font-size:24px;margin-bottom:18px}.ledger-card{padding:20px}.ledger-card strong{font-size:33px;margin-bottom:17px}.ledger-chart{height:65px}.ledger-foot{font-size:6px}.energy-ui{top:31%;left:11%;width:78%;padding:20px}.energy-number{font-size:40px;margin-top:12px}.energy-chart{margin-top:20px}.energy-top{font-size:8px}.energy-ui p{font-size:7px}.energy-top i{font-size:6px}.approach{padding-top:26px;padding-bottom:36px}.approach-top{font-size:9px}.approach-top img{width:34px}.approach h2{font-size:15.7vw;padding:60px 0 45px}.approach-bottom{flex-direction:column;align-items:flex-start;gap:25px}.approach-bottom>.mono{font-size:9px;order:2}.approach-bottom p{font-size:22px;width:100%;max-width:345px}.engagements{padding-block:68px}.engagement-heading{display:block;margin-bottom:35px}.engagement-heading h2{font-size:42px}.engagement-heading p{font-size:13px;margin-top:17px}.engagement-heading p br{display:none}.engagement-preview{display:none}summary{padding:21px 0;justify-content:space-between}.engagement-name{font-size:39px;width:auto}.disclosure-icon{height:34px;width:34px;font-size:23px}.engagement-content{padding:0 8px 27px 0;font-size:15px}.engagement-content h3{font-size:11px}.engagement-content ul{gap:7px;margin:17px 0}.engagement-content li{font-size:10px}.contact{padding-top:25px}.contact-top{font-size:8px;letter-spacing:.04em}.contact h2{font-size:17vw;padding:58px 0 34px;line-height:1.02}.contact-bottom{flex-direction:column;align-items:flex-start;gap:30px;padding-bottom:60px}.contact-bottom p{font-size:19px}.contact-cta{font-size:26px;padding:19px 23px;width:100%;gap:40px}.contact-cta span{font-size:30px}footer{flex-wrap:wrap;padding-block:24px;row-gap:26px}footer img{width:112px}footer>.mono{order:3;width:100%;font-size:8px}footer>a.mono{font-size:9px}.menu-links{display:flex;flex-direction:column;gap:6px;justify-content:center;padding-top:30px;padding-bottom:40px;min-height:calc(100dvh - 157px)}.menu-link-group>a{font-size:clamp(56px,16.5vw,94px);line-height:1.12}.menu-link-group>a small{font-size:9px;padding-top:6px}.menu-footer{font-size:8px;padding-block:23px}.menu-close{font-size:12px}.cursor-label{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.line>span{transform:none!important}.intro,.cursor-label{display:none!important}}

/* Final type, imagery and navigation system. Miniature interface art is decorative. */
html{scrollbar-gutter:stable;scroll-padding-top:110px}.mono{font-size:.75rem}.site-header{position:fixed;background:var(--paper);transition:box-shadow .2s}.site-header.is-scrolled{box-shadow:0 1px 0 var(--line)}.header-actions{font-size:.875rem}.header-note{font-size:.75rem}.hero{padding-top:172px}.hero h1{font-size:clamp(48px,8.7vw,166px)}.hero-bottom p{font-size:clamp(1rem,1.4vw,1.5rem)}.section-top .mono{font-size:.75rem}.project-caption p,.concept-note{font-size:.75rem}.project-scene{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}.project-scene.buildflow-scene{object-position:left center}.concept-tag{background:#091426d9;color:#fff;padding:6px 9px;font-size:.75rem}.northledger-art .project-brand{font-weight:500}.wattline-art .project-brand{background:#fcfdffdf;padding:3px 10px;margin:-3px -10px}.menu-link-group>a{overflow:hidden;padding-bottom:.05em}.menu-link-group>a>span{display:block}.menu-links a small{font-size:.75rem}.menu-footer{font-size:.75rem}.menu-dialog{z-index:50}.menu-close,.case-close{font-size:.875rem;min-height:44px}.engagement-preview{font-size:.875rem}.engagement-content h3,.engagement-content>a{font-size:.875rem}.engagement-content li{font-size:.75rem}.approach-top,.approach-bottom>.mono{font-size:.75rem}.contact{padding-top:0}.contact a:focus-visible{outline-color:var(--lime)}footer>.mono,footer>a.mono{font-size:.75rem}.case-dialog{z-index:60}.case-close{gap:25px}.case-heading{padding-top:65px;padding-bottom:55px}.case-heading>.mono{color:var(--muted)}.case-heading h2{font-size:clamp(44px,7.2vw,110px);font-weight:500;letter-spacing:0;line-height:1.07;margin-block:30px}.case-scope{font-size:14px;color:var(--muted);line-height:1.6}.case-visual .project-art{aspect-ratio:1.96}.case-visual .concept-tag{display:none}.case-visual .ledger-ui{width:42%;left:50%;top:17%}.case-visual .ledger-heading{font-size:36px}.case-visual .ledger-chart{height:120px}.case-visual .energy-ui{width:40%;left:52%;top:20%}.case-visual .energy-number{font-size:60px}.case-visual .energy-chart{margin-top:32px}.case-prose{padding-top:70px}.case-copy{display:grid;grid-template-columns:1fr 1.6fr;gap:40px;border-top:1px solid var(--line);padding:35px 0 55px}.case-copy h3{font-size:16px;font-weight:500}.case-copy p{font-size:clamp(20px,2.2vw,33px);line-height:1.4;letter-spacing:0;max-width:800px}.case-workflow{margin-block:20px 75px}.case-workflow h3{font-weight:400;color:var(--muted);margin-bottom:30px}.case-workflow ol{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:0;background:var(--mist)}.case-workflow li{padding:28px;border-right:1px solid #d8e1f1}.case-workflow li:last-child{border:0}.case-workflow li>.mono{color:var(--blue)}.case-workflow h4{font-size:28px;letter-spacing:0;font-weight:500;margin:35px 0 12px}.case-workflow li p{font-size:16px;line-height:1.45;color:var(--muted)}.case-outcome{background:var(--night);color:var(--paper);padding:50px;margin-bottom:65px}.case-outcome>.mono{color:#b7c4dd}.case-outcome h3{font-size:clamp(38px,5vw,80px);letter-spacing:0;font-weight:500;line-height:1.1;color:var(--lime);margin:35px 0}.case-outcome p:last-child{font-size:16px;line-height:1.5;max-width:590px;color:#b7c4dd}.next-concept{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;padding:30px 0 55px;font-size:clamp(34px,5vw,75px);letter-spacing:0}.next-concept small{display:block;color:var(--muted);margin-bottom:15px}.next-concept:hover{color:var(--blue)}.next-concept>span:last-child{transition:transform .2s}.next-concept:hover>span:last-child{transform:translate(6px,-6px)}
@media(max-width:900px){.hero h1{font-size:8.7vw}.case-visual .project-art{aspect-ratio:1.4}.case-visual .ledger-ui{width:57%;left:36%;top:19%}.case-visual .energy-ui{width:57%;left:36%;top:20%}.case-workflow ol{grid-template-columns:1fr 1fr}.case-workflow li:nth-child(2){border-right:0}.case-workflow li:nth-child(-n+2){border-bottom:1px solid #d8e1f1}.case-visual .ledger-heading{font-size:26px}.case-visual .ledger-chart{height:85px}.case-visual .energy-number{font-size:40px}.menu-link-group>a{font-size:8.7vw}.engagement-preview{max-width:240px}}
@media(max-width:600px){html{scroll-padding-top:96px}.hero{padding-top:141px}.hero h1{font-size:clamp(30px,9.1vw,56px)}.header-actions{font-size:.75rem}.header-actions .talk-link{gap:7px}.menu-trigger{padding-left:0}.project-caption p,.concept-note{font-size:.75rem}.project-caption p span{display:block;margin:4px 0 0}.concept-note{max-width:320px}.project-art .concept-tag{font-size:.75rem;right:14px;bottom:14px}.engagement-preview{display:none}.engagement-content h3,.engagement-content>a{font-size:.875rem}.engagement-content li{font-size:.75rem}.engagement-name{font-size:2.45rem}.contact h2{padding-top:58px}.menu-link-group>a{font-size:clamp(54px,16vw,94px)}.menu-links a small{font-size:.75rem}.menu-footer{font-size:.75rem;letter-spacing:.03em}.menu-links{min-height:calc(100dvh - 156px)}footer>.mono,footer>a.mono{font-size:.75rem}.approach-top,.approach-bottom>.mono{font-size:.75rem;letter-spacing:.035em}.case-top>.mono{font-size:.65rem;letter-spacing:.035em}.case-heading{padding-top:40px;padding-bottom:35px}.case-heading h2{font-size:43px;margin-block:23px}.case-scope{font-size:.75rem}.case-visual .project-art{aspect-ratio:.95}.case-visual .ledger-ui{width:80%;left:10%;top:24%}.case-visual .ledger-heading{font-size:25px}.case-visual .ledger-chart{height:70px}.case-visual .energy-ui{width:80%;left:10%;top:28%}.case-visual .energy-number{font-size:44px}.case-prose{padding-top:40px}.case-copy{grid-template-columns:1fr;gap:20px;padding:23px 0 35px}.case-copy p{font-size:22px}.case-copy h3{font-size:.875rem}.case-workflow{margin-block:8px 40px}.case-workflow h3{font-size:.7rem}.case-workflow ol{grid-template-columns:1fr}.case-workflow li{padding:24px;border-right:0;border-bottom:1px solid #d8e1f1!important}.case-workflow li:last-child{border-bottom:0!important}.case-workflow h4{font-size:30px;margin:15px 0 9px}.case-workflow li p{font-size:16px}.case-outcome{padding:26px;margin-bottom:35px}.case-outcome h3{font-size:37px;margin:25px 0}.case-outcome p:last-child{font-size:15px}.case-outcome>.mono{font-size:.7rem}.next-concept{padding:24px 0 40px}.next-concept small{font-size:.75rem}}
@media(max-height:600px) and (min-width:601px){.menu-links{padding-block:15px;min-height:calc(100dvh - 155px)}.menu-link-group>a{font-size:clamp(54px,10vh,90px)}.menu-header{height:75px}.menu-footer{padding-block:18px}}
@media(max-width:600px){.engagement-name{font-size:min(2.45rem,11vw);min-width:0}.menu-footer{flex-wrap:wrap;row-gap:8px}.header-actions{min-width:0}.talk-link{min-width:0}}

/* Lucide 1.46.0. Directional hover motion adapted from pqoqubbw/icons (MIT). */
.icon{display:inline-block;vertical-align:middle;width:1.25rem;height:1.25rem;flex-shrink:0;overflow:visible;pointer-events:none}.icon-motion{transform-box:view-box;transform-origin:center}.icon-arrow-up-right .icon-motion{transform-origin:100% 0%}.talk-link>span,.project-arrow,.contact-cta>span,.next-concept>span:last-child,.menu-close>span,.case-close>span{display:inline-flex;align-items:center;justify-content:center}.talk-link .icon{width:20px;height:20px}.menu-trigger>.icon{width:22px;height:22px;stroke-width:1.5}.circle-arrow .icon{width:23px;height:23px}.project-arrow .icon{width:29px;height:29px;stroke-width:1.5}.project-brand .icon{width:29px;height:29px}.ledger-heading .icon{width:37px;height:37px}.contact-cta .icon{width:36px;height:36px;stroke-width:1.5}.next-concept .icon{width:55px;height:55px;stroke-width:1.25}.menu-close .icon,.case-close .icon{width:23px;height:23px;stroke-width:1.5}.disclosure-icon .icon{width:21px;height:21px;stroke-width:1.6}.menu-links small .icon{width:22px;height:22px}.approach-bottom>.mono .icon{width:16px;height:16px;margin-inline:5px}.engagement-content>a .icon,footer .icon{width:18px;height:18px}.ui-table .icon{width:10px;height:10px}.ui-plus .icon{width:20px;height:20px}.ledger-foot .icon{width:10px;height:10px}.energy-top .icon-circle{width:5px;height:5px;fill:currentColor;stroke:none}.menu-trigger:hover>.icon .icon-motion{transform:scaleX(.8)}.menu-trigger>.icon .icon-motion,.menu-close .icon,.case-close .icon{transition:transform .2s var(--ease)}.menu-close:hover .icon,.case-close:hover .icon{transform:rotate(90deg)}.round-link:hover .circle-arrow{transform:none}.project:hover .project-arrow,.next-concept:hover>span:last-child{transform:none}
@keyframes icon-northeast{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-3px,3px) scale(.86)}}
@keyframes icon-down{0%,100%{transform:translateY(0)}45%{transform:translateY(4px)}75%{transform:translateY(-1px)}}
@keyframes icon-up{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){a:hover .icon-arrow-up-right .icon-motion,button:hover .icon-arrow-up-right .icon-motion{animation:icon-northeast .48s ease-in-out 1}.round-link:hover .icon-down .icon-motion,.round-link:hover .icon-arrow-down .icon-motion{animation:icon-down .48s ease-in-out 1}footer a:hover .icon-arrow-up .icon-motion{animation:icon-up .45s ease-in-out 1}}
@media(prefers-reduced-motion:no-preference){a:focus-visible .icon-arrow-up-right .icon-motion,button:focus-visible .icon-arrow-up-right .icon-motion{animation:icon-northeast .48s ease-in-out 1}.round-link:focus-visible .icon-arrow-down .icon-motion{animation:icon-down .48s ease-in-out 1}}
@media(max-width:600px){.talk-link .icon{width:17px;height:17px}.menu-trigger>.icon{width:19px;height:19px}.project-arrow .icon{width:25px;height:25px}.contact-cta .icon{width:30px;height:30px}.next-concept .icon{width:35px;height:35px}.disclosure-icon .icon{width:19px;height:19px}.ui-plus .icon{width:15px;height:15px}.ui-table .icon{width:7px;height:7px}.ledger-foot .icon{width:7px;height:7px}}
/* Natural sidebearings are retained across the site. */
body,.product-ui{font-family:Delight,Arial,sans-serif;font-kerning:normal}
.site-header .header-note{font-family:Delight,Arial,sans-serif;font-size:clamp(13px,1vw,16px);letter-spacing:.015em}
.hero h1,.approach h2,.contact h2,.case-heading h2,.project-caption h3{font-family:Delight,Arial,sans-serif;letter-spacing:.005em}
.hero-bottom p,.approach-bottom p,.contact-bottom p,.case-copy p{letter-spacing:.01em}
.project-brand,.ledger-heading,.ui-top>b,.ui-greeting h3,.case-workflow h4,.case-outcome h3,.next-concept,.contact-cta{letter-spacing:0}
.ledger-card strong,.energy-number,.ui-stats b{letter-spacing:0;font-variant-numeric:lining-nums tabular-nums}
.mono{font-family:Delight,Arial,sans-serif;font-weight:400;font-size:14px;line-height:1.4;letter-spacing:.09em}
.section-top .mono,.case-top>.mono,.approach-top,.approach-bottom>.mono,footer>.mono,footer>a.mono,.reel-label,.concept-tag{font-size:14px}

/* Native scrolling with a narrow branded rail. Release the root gutter for
   fullscreen dialogs; compensate the page underneath to prevent layout shifts. */
html:has(dialog[open]){scrollbar-gutter:auto;overflow:hidden}
body:has(dialog[open]){padding-right:var(--scrollbar-offset,0px)}
body:has(dialog[open])>.site-header{right:var(--scrollbar-offset,0px)}
html,dialog{scrollbar-width:thin;scrollbar-color:var(--blue) var(--mist)}
@supports selector(::-webkit-scrollbar){html,dialog{scrollbar-width:auto;scrollbar-color:auto}}
html::-webkit-scrollbar,dialog::-webkit-scrollbar{width:8px;height:8px}
html::-webkit-scrollbar-button,dialog::-webkit-scrollbar-button{display:none;width:0;height:0}
html::-webkit-scrollbar-track,dialog::-webkit-scrollbar-track{background:var(--mist)}
html::-webkit-scrollbar-thumb,dialog::-webkit-scrollbar-thumb{
  background:var(--blue);border:2px solid var(--mist);border-radius:8px;
}
html::-webkit-scrollbar-thumb:hover,dialog::-webkit-scrollbar-thumb:hover{background:var(--blue-hover)}
.menu-dialog,.case-dialog{width:100vw;max-width:100vw}
.menu-dialog{scrollbar-color:var(--lime) var(--blue);overscroll-behavior:contain}
.menu-dialog::-webkit-scrollbar-track{background:var(--blue)}
.menu-dialog::-webkit-scrollbar-thumb{background:var(--lime);border-color:var(--blue)}
.menu-dialog::-webkit-scrollbar-thumb:hover{background:white}
@supports selector(::-webkit-scrollbar){.menu-dialog{scrollbar-color:auto}}
