.px-hero .page-hero-grid{align-items:center}.px-hero h1{max-width:13ch}.px-hero .lede{max-width:33em}.px-hero .hero-kicker{margin-bottom:18px;color:var(--ink-2)}.px-hero .fig-frame{aspect-ratio:4 / 3}.js .px-hero .hero-copy>*{animation:px-rise .9s var(--ease) both;animation-delay:calc(var(--i, 0) * .1s + .05s)}.js .px-hero .fig{animation:px-rise 1s var(--ease) .2s both}@keyframes px-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.phase-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;list-style:none;margin:28px 0 0;padding:0;font-size:.92rem;color:var(--ink-2)}.phase-strip li{position:relative;display:flex;align-items:center;gap:9px;padding:6px 12px;border:1px solid var(--rule);background:var(--paper-3)}.phase-strip li .anno{color:var(--ink);font-weight:700;letter-spacing:.06em}.phase-strip .gate{border-color:var(--control);color:var(--ink)}.phase-strip .gate-mark{width:9px;height:9px;background:var(--control);transform:rotate(45deg)}.life-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:start}.life-lede{margin-top:18px;font-size:1.125rem;color:var(--ink-2);max-width:34em}.factors{list-style:none;margin:34px 0 0;padding:0;counter-reset:f}.factors li{counter-increment:f;display:grid;grid-template-columns:48px minmax(0,1fr);gap:4px 16px;padding:20px 0 22px;border-top:1px solid var(--rule)}.factors li:last-child{border-bottom:1px solid var(--rule)}.factors li:before{content:counter(f,decimal-leading-zero);grid-row:span 2;padding-top:4px;font-size:.85rem;font-weight:700;font-stretch:80%;letter-spacing:.08em;color:var(--ink-3)}.factors h3{font-size:1.25rem}.factors p{color:var(--ink-2);max-width:36em}.venn-fig{margin:0}.venn-fig .sheet{box-shadow:0 24px 50px -40px #18222e80}.dc-note{margin-top:24px;padding:24px 26px 26px;background:var(--ink);color:var(--paper);border-left:4px solid var(--ink-3)}.dc-note .anno{color:#c9d3cf;margin-bottom:8px}.dc-note p{color:#c9d3cf}@media (max-width: 900px){.life-grid{grid-template-columns:1fr}.life-side{max-width:600px}}.venn{stroke-width:1.6}.venn .core{fill:var(--ink);stroke:none}.venn .v-name{fill:var(--ink);font-size:14px;font-weight:650;font-stretch:100%}.venn .v-sub{fill:var(--ink-3);font-size:11.5px;font-weight:500}.venn .v-core{fill:var(--paper);font-size:11px;font-weight:700;font-stretch:78%;letter-spacing:.14em;text-transform:uppercase}.venn.anim-on .core{animation:px-breathe 4.5s ease-in-out infinite}@keyframes px-breathe{50%{opacity:.82}}.tl{--p: 1;--pad: 92px;--nx: 22px;--node: 44px;--sp: clamp(40px, 5vw, 68px);position:relative;padding-left:var(--pad)}.js .tl{--p: 0}.tl-spine{position:absolute;left:calc(var(--nx) - 1px);top:calc(var(--node) / 2);bottom:calc(var(--node) / 2);width:2px;background:#c3cdc9}.tl-fill{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ink);transform-origin:50% 0;transform:scaleY(var(--p))}.tl-tip{position:absolute;left:50%;top:calc(var(--p) * 100%);width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--paper-2);border:3px solid var(--ink);box-shadow:0 0 0 4px #18222e14}.tl-node{position:absolute;z-index:1;top:0;left:calc(var(--nx) - var(--node) / 2 - var(--pad));display:grid;place-items:center;width:var(--node);height:var(--node);background:var(--paper-2);border:2px solid #b5c1bc;border-radius:50%;color:var(--ink-3);font-size:1.05rem;font-weight:700;font-stretch:110%;transition:background-color .45s,border-color .45s,color .45s,transform .55s cubic-bezier(.3,1.6,.5,1)}.on>.tl-node{background:var(--ink);border-color:var(--ink);color:var(--paper);transform:scale(1.08)}:root:not(.js) [data-step]>.tl-node{background:var(--ink);border-color:var(--ink);color:var(--paper)}.tl-phase{position:relative;padding-bottom:var(--sp)}.tl-phase>.tl-node,.tl-phase-b>.tl-node{border-radius:4px}.tl-phase .anno{color:var(--ink-3)}.tl-phase-title{margin:6px 0 12px;font-size:clamp(1.6rem,1.2vw + 1.1rem,2.2rem);font-stretch:112%;letter-spacing:-.01em}.tl-phase p:not(.anno){color:var(--ink-2);font-size:1.08rem;max-width:38em}.tl-phase-b{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,4vw,64px);align-items:start;padding:var(--sp) 0}.tl-phase-b>.tl-node{top:calc(var(--sp) - 2px)}.tl-photo{justify-self:end;width:100%;max-width:560px}.tl-steps{list-style:none;margin:0;padding:0}.tl-step{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,4vw,64px);align-items:start;padding:var(--sp) 0;border-top:1px dashed #c3cdc9}.tl-step>.tl-node{top:calc(var(--sp) - 6px)}.tl-copy .anno{color:var(--ink-3);margin-bottom:8px}.tl-copy h3{font-size:clamp(1.35rem,.6vw + 1.1rem,1.7rem);font-stretch:110%;margin-bottom:12px}.tl-copy p:not(.anno){color:var(--ink-2);max-width:34em}.tl-step.on .tl-copy .anno{color:var(--ink)}.tl-fig{justify-self:end;width:100%;max-width:480px;margin:0;background:var(--paper-3);border:1px solid var(--rule);box-shadow:0 22px 44px -36px #18222e8c;transition:transform .5s var(--ease),box-shadow .5s}.tl-step.on .tl-fig{box-shadow:0 26px 50px -34px #18222e99}.tl-cap{padding:8px 12px;border-top:1px solid var(--rule);color:var(--ink-2)}.tl-gate{position:relative;margin-top:var(--sp);padding:clamp(20px,3vw,32px);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,5fr);gap:clamp(20px,3vw,40px);align-items:center;background:var(--paper-3);border:1.5px solid var(--control);box-shadow:inset 5px 0 0 var(--control)}.tl-gate:before{content:"";position:absolute;top:50%;left:calc(var(--nx) - var(--pad) - 1.5px);width:calc(var(--pad) - var(--nx));border-top:1.5px dashed var(--control)}.tl-gate>.tl-node{top:50%;width:36px;height:36px;margin-top:-18px;left:calc(var(--nx) - 18px - var(--pad) - 1.5px);border-radius:3px;border-color:var(--control);background:var(--paper-2);transform:rotate(45deg)}.tl-gate>.tl-node:before{content:"";width:10px;height:10px;background:var(--control);transition:background-color .4s}.tl-gate.on>.tl-node{background:var(--control);border-color:var(--control);transform:rotate(45deg) scale(1.12)}.tl-gate.on>.tl-node:before{background:#fff}.gate-copy .anno{color:var(--control);margin-bottom:8px}.gate-copy h3{font-size:clamp(1.35rem,.8vw + 1.05rem,1.85rem);font-stretch:110%;margin-bottom:10px}.gate-copy p:not(.anno){color:var(--ink-2)}.gate-svg{width:100%;height:auto;background:#fff;stroke-width:1.3}.gate-svg .thin{stroke:var(--ink-3);stroke-width:.9}.gate-svg .sig{stroke:var(--ink);stroke-width:1.6}.gate-svg .stamp{transform-box:fill-box;transform-origin:center}.gate-svg .stamp rect{fill:#0e857612;stroke:var(--control);stroke-width:2.4}.gate-svg .stamp .inner{fill:none;stroke-width:1}.gate-svg .stamp-t{fill:var(--control);font-size:15px;font-weight:800;font-stretch:80%;letter-spacing:.18em;text-transform:uppercase}.js .tl-gate:not(.on) .stamp{opacity:0}.tl-gate.on .stamp{animation:px-stamp .55s cubic-bezier(.3,1.4,.5,1) both}@keyframes px-stamp{0%{opacity:0;transform:scale(1.8)}to{opacity:1;transform:none}}.tl-end{position:relative;display:flex;align-items:flex-end;min-height:calc(var(--sp) + var(--node))}.tl-end>.tl-node{top:auto;bottom:0;border-radius:4px}.tl-end>.tl-node:before{content:"";width:12px;height:7px;margin-top:-4px;border-left:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(-45deg)}.tl-end p{display:flex;align-items:center;min-height:var(--node);color:var(--ink-2);font-size:1.08rem}.tl-end p b{color:var(--ink)}.tl-end p span{display:block;padding:6px 0}@media (max-width: 860px){.tl{--pad: 54px;--nx: 17px;--node: 34px}.tl-node{font-size:.9rem}.tl-step,.tl-phase-b,.tl-gate{grid-template-columns:1fr}.tl-fig,.tl-photo{justify-self:start;max-width:520px}.tl-gate>.tl-node{width:28px;height:28px;margin-top:-14px;left:calc(var(--nx) - 14px - var(--pad) - 1.5px)}.tl-gate:before{display:none}.tl-gate>.tl-node{top:40px}}.pdwg{width:100%;height:auto;stroke-width:1.4;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:12px 12px}.pdwg .thin{stroke:var(--ink-2);stroke-width:.9}.pdwg .tx{fill:var(--ink-2);font-size:11.5px;font-weight:500}.pdwg .small{font-size:9.5px}.pdwg .tl-l{stroke:var(--ink-3);stroke-width:1}.pdwg .rule{stroke:var(--ink-3);stroke-width:.8;stroke-dasharray:2 3}.pdwg .tick{stroke:var(--ink);stroke-width:2.2}.pdwg .bub rect{fill:var(--paper-3)}.pdwg .clip{fill:var(--paper-2)}.pdwg .scrib{stroke:var(--ink-2);stroke-width:1.3;stroke-dasharray:140;stroke-dashoffset:0}.pdwg .site{stroke:var(--ink-3);stroke-width:1;stroke-dasharray:6 4}.pdwg .tree{fill:var(--paper-2);stroke:var(--ink-3);stroke-width:1}.pdwg .wall2{stroke-width:3}.pdwg .ov-int{stroke:var(--ink-3);stroke-width:.9;fill:none}.pdwg .ov-hvac{stroke:var(--ink-2);stroke-width:1;stroke-dasharray:5 3}.pdwg .ov-elec{stroke:var(--ink-2);stroke-width:1.3;stroke-dasharray:8 3 2 3}.pdwg .mark{stroke:var(--ink);stroke-width:1.6;fill:#18222e0f;stroke-dasharray:3 2}.pdwg .mag{transform:translate(134px,66px)}.pdwg .mag .lens{fill:#ffffff73;stroke:var(--ink);stroke-width:2}.pdwg .mag .handle{stroke:var(--ink);stroke-width:4}.pdwg .bars path{stroke:var(--ink-3);stroke-width:5;stroke-linecap:butt}.pdwg .chosen{stroke-width:2.6}.pdwg .badge{fill:var(--ink);stroke:none}.pdwg .badge-t{stroke:#fff;stroke-width:2}.pdwg .scan{stroke:var(--ink-2);stroke-width:1;stroke-dasharray:3 3;opacity:0}.pdwg .lyr{color:var(--c);stroke:currentColor;stroke-width:1.6}.pdwg .solid{fill:currentColor;stroke:none}.pdwg .soft{fill:currentColor;fill-opacity:.12;stroke:currentColor;stroke-opacity:.5;stroke-width:.8}.pdwg .zone{fill:currentColor;fill-opacity:.08;stroke-dasharray:1.5 3.5;stroke-width:1.6}.pdwg .axis{stroke:var(--ink-3);stroke-width:1}.pdwg .lyr .tx{fill:var(--ink-2);stroke:none}.pdwg .grow{fill:currentColor;fill-opacity:.85;stroke:none}.pdwg .seg{fill:var(--c);fill-opacity:.9;stroke:var(--paper-3);stroke-width:1}.js .pdwg .grow{transform:scaleX(0);transform-box:fill-box;transform-origin:0 50%}.js .pdwg.in .grow{transform:none;transition:transform 1s var(--ease);transition-delay:var(--d, .5s)}.pdwg .budget{stroke:var(--ink);stroke-width:1.6;stroke-dasharray:4 3}.pdwg .laser{transform:translate(200px,58px)}.pdwg .laser .lz{fill:var(--ink);stroke:none}.pdwg .laser .lz-ring{fill:none;stroke:var(--ink);stroke-width:1.2}.pdwg .sh{fill:var(--paper-3);stroke:var(--ink-2);stroke-width:1.1;filter:drop-shadow(0 4px 6px rgba(24,34,46,.14))}.pdwg .sh.top{fill:#fff}.pdwg .run{stroke-dasharray:4 3;stroke-width:1.1}.pdwg .sq{fill:var(--c);stroke:none}.pdwg .wire{stroke:var(--ink-3);stroke-width:1.1;stroke-dasharray:4 4}.pdwg .doc{fill:#fff;stroke:var(--ink);stroke-width:1.3}.pdwg .env{opacity:0}.pdwg .sweep{fill:#18222e0d;stroke:none;opacity:0}.pdwg .grid{stroke:var(--ink-3);stroke-width:1}.pdwg .ok{stroke:var(--ink);stroke-width:2.4}.pdwg .no{stroke:var(--ink-3);stroke-width:1.8}.pdwg .price{stroke:var(--ink-2);stroke-width:7;stroke-linecap:butt}.pdwg .rec{stroke-width:2.6}.pdwg .cond{stroke:var(--ink-3);stroke-width:1.4;stroke-dasharray:6 3}.pdwg .beam{fill:currentColor;fill-opacity:.14;stroke:none}.pdwg .ring{fill:none;stroke:var(--ink);stroke-width:1.1;stroke-dasharray:3 2}.pdwg .scanr{opacity:0}.pdwg .scanr circle{fill:none;stroke:var(--ink);stroke-width:1.6}.pdwg.anim-on .b1{animation:px-talk 5s ease-in-out infinite}.pdwg.anim-on .b2{animation:px-talk 5s ease-in-out -2.5s infinite}.pdwg.anim-on .scrib{animation:px-write 4s ease-in-out infinite}.pdwg.anim-on .mag{animation:px-mag 9s ease-in-out infinite}.pdwg.anim-on .scan{animation:px-scan 3.6s ease-in-out infinite}.pdwg.anim-on .budget{animation:px-dash 1.4s linear infinite}.pdwg.anim-on .laser{animation:px-laser 8s ease-in-out infinite}.pdwg.anim-on .lz-ring{animation:px-ring 1.6s ease-out infinite;transform-box:fill-box;transform-origin:center}.pdwg.anim-on .front{animation:px-slide 7s ease-in-out infinite}.pdwg.anim-on .run{animation:px-dash 1.2s linear infinite}.pdwg.anim-on .e1{animation:px-send1 4.5s ease-in-out infinite}.pdwg.anim-on .e2{animation:px-send2 4.5s ease-in-out -.4s infinite}.pdwg.anim-on .e3{animation:px-send3 4.5s ease-in-out -.8s infinite}.pdwg.anim-on .wire{animation:px-dash 1.4s linear infinite}.pdwg.anim-on .sweep{animation:px-sweep 6s steps(1) infinite}.pdwg.anim-on .scanr{animation:px-check 7.5s ease-in-out infinite}@keyframes px-talk{0%,to{opacity:1}50%{opacity:.35}}@keyframes px-write{0%{stroke-dashoffset:140}55%,to{stroke-dashoffset:0}}@keyframes px-mag{0%,to{transform:translate(134px,66px)}25%{transform:translate(92px,160px)}50%{transform:translate(214px,150px)}75%{transform:translate(180px,96px)}}@keyframes px-scan{0%{opacity:0;transform:translateY(52px)}15%{opacity:1}85%{opacity:1}to{opacity:0;transform:translateY(200px)}}@keyframes px-dash{to{stroke-dashoffset:-14}}@keyframes px-laser{0%,to{transform:translate(200px,58px)}20%{transform:translate(226px,124px)}40%{transform:translate(100px,122px)}60%{transform:translate(186px,82px)}80%{transform:translate(82px,60px)}}@keyframes px-ring{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.8)}}@keyframes px-slide{0%,30%,to{transform:none}45%,75%{transform:translate(34px,6px)}}@keyframes px-send1{0%{opacity:0;transform:translate(130px,124px)}15%{opacity:1}80%{opacity:1;transform:translate(250px,61px)}to{opacity:0;transform:translate(250px,61px)}}@keyframes px-send2{0%{opacity:0;transform:translate(130px,128px)}15%{opacity:1}80%{opacity:1;transform:translate(250px,128px)}to{opacity:0;transform:translate(250px,128px)}}@keyframes px-send3{0%{opacity:0;transform:translate(130px,132px)}15%{opacity:1}80%{opacity:1;transform:translate(250px,195px)}to{opacity:0;transform:translate(250px,195px)}}@keyframes px-sweep{0%{opacity:1;transform:none}25%{opacity:1;transform:translateY(34px)}50%{opacity:1;transform:translateY(68px)}75%{opacity:1;transform:translateY(102px)}}@keyframes px-check{0%,to{opacity:0;transform:translate(62px,40px)}6%{opacity:1}20%{transform:translate(120px,40px)}40%{transform:translate(180px,42px)}60%{transform:translate(242px,50px)}80%{opacity:1;transform:translate(248px,118px)}92%{opacity:0;transform:translate(248px,118px)}}.when-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"head fig" "pick fig";gap:28px clamp(32px,5vw,72px);align-items:start}.when-head{grid-area:head}.when-head p:not(.eyebrow){margin-top:18px;color:var(--ink-2);font-size:1.125rem;max-width:36em}.when-fig{grid-area:fig;margin:0;position:sticky;top:calc(var(--header-h) + 32px)}.when-fig .sheet{box-shadow:0 24px 50px -40px #18222e80}.stage-pick{grid-area:pick;display:grid;border-top:2px solid var(--ink)}.stage-pick button{position:relative;display:grid;gap:3px;width:100%;padding:14px 16px 16px 20px;text-align:left;background:transparent;color:var(--ink-2);border:0;border-bottom:1px solid var(--rule);font:inherit;cursor:pointer;transition:background-color .25s}.stage-pick button:before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:4px;background:var(--ink);transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease)}.stage-pick button:hover{background:#f7f9f8b3}.stage-pick button[aria-pressed=true]{background:var(--paper-3);color:var(--ink)}.stage-pick button[aria-pressed=true]:before{transform:scaleY(1)}.stage-pick b{font-size:1.12rem;font-weight:650;font-stretch:106%;color:var(--ink)}.stage-pick .sp{font-size:.96rem;line-height:1.5}@media (max-width: 900px){.when-grid{grid-template-columns:1fr;grid-template-areas:"head" "fig" "pick"}.when-fig{position:static}}.cost{stroke-width:1.4}.cost .band{fill:#18222e0b;stroke:none}.cost .band-t{fill:var(--ink-2);paint-order:stroke;stroke:#f1f3f2;stroke-width:5px;stroke-linejoin:round}.cost .gridl{stroke:var(--rule);stroke-width:.8;stroke-dasharray:2 4}.cost .tick-m{stroke:var(--ink-2)}.cost .ax{fill:var(--ink-3)}.cost .stg{fill:var(--ink-3);transition:fill .4s}.cost[data-state=concept] .s-concept,.cost[data-state=design] .s-design,.cost[data-state=construction] .s-construction,.cost[data-state=existing] .s-existing{fill:var(--ink)}.cost .c-cost{stroke:var(--ink);stroke-width:3}.cost .c-free{stroke:var(--ink-3);stroke-width:2}.cost .l-cost{fill:var(--ink)}.cost .l-free{fill:var(--ink-3)}.cost .lead{stroke:var(--ink-3);stroke-width:.8;stroke-dasharray:2 3}.cost .drop{stroke:var(--ink-2);stroke-width:1;stroke-dasharray:3 3}.cost .mk,.cost .mk-x{transition:transform .9s var(--ease),opacity .6s}.js .cost:not(.in) .mk,.js .cost:not(.in) .mk-x{opacity:0}.cost .mk-cost circle{fill:var(--ink);stroke:var(--paper-3);stroke-width:2}.cost .mk-cost .halo{fill:none;stroke:var(--ink);stroke-width:1.4;opacity:0;transform-box:fill-box;transform-origin:center}.cost .mk-free circle{fill:var(--paper-3);stroke:var(--ink-3);stroke-width:2.4}.cost .mk-x{transform:translate(140px)}.cost .mk-cost{transform:translate(140px,249.1px)}.cost .mk-free{transform:translate(140px,61.6px)}.cost[data-state=design] .mk-x{transform:translate(285px)}.cost[data-state=design] .mk-cost{transform:translate(285px,223px)}.cost[data-state=design] .mk-free{transform:translate(285px,131.1px)}.cost[data-state=construction] .mk-x{transform:translate(430px)}.cost[data-state=construction] .mk-cost{transform:translate(430px,160px)}.cost[data-state=construction] .mk-free{transform:translate(430px,201.8px)}.cost[data-state=existing] .mk-x{transform:translate(575px)}.cost[data-state=existing] .mk-cost{transform:translate(575px,64.5px)}.cost[data-state=existing] .mk-free{transform:translate(575px,240.4px)}.cost.anim-on .halo{animation:px-halo 2s ease-out infinite}@keyframes px-halo{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(3.2)}}@media (max-width: 640px){.pdwg .t-anno,.pdwg .tx{font-size:13px;letter-spacing:.06em}.pdwg .small{font-size:11px}.cost .t-anno{font-size:17px;letter-spacing:.05em}.gate-svg .t-anno{font-size:13px;letter-spacing:.06em}.when-fig .sheet,.when-fig .title-block,.venn-fig .sheet,.venn-fig .title-block{margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter));border-left:0;border-right:0}.when-fig .sheet{padding:6px 4px}}.cta-actions a[href="/process/"]{display:none}
