:root,:host{--fa-font-solid: normal 900 1em/1 "Font Awesome 7 Free";--fa-font-regular: normal 400 1em/1 "Font Awesome 7 Free";--fa-font-light: normal 300 1em/1 "Font Awesome 7 Pro";--fa-font-thin: normal 100 1em/1 "Font Awesome 7 Pro";--fa-font-duotone: normal 900 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-light: normal 300 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 7 Duotone";--fa-font-brands: normal 400 1em/1 "Font Awesome 7 Brands";--fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-light: normal 300 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-slab-regular: normal 400 1em/1 "Font Awesome 7 Slab";--fa-font-slab-press-regular: normal 400 1em/1 "Font Awesome 7 Slab Press";--fa-font-slab-duo-regular: normal 400 1em/1 "Font Awesome 7 Slab Duo";--fa-font-slab-press-duo-regular: normal 400 1em/1 "Font Awesome 7 Slab Press Duo";--fa-font-pixel-regular: normal 400 1em/1 "Font Awesome 7 Pixel";--fa-font-mosaic-solid: normal 900 1em/1 "Font Awesome 7 Mosaic";--fa-font-vellum-solid: normal 900 1em/1 "Font Awesome 7 Vellum";--fa-font-whiteboard-semibold: normal 600 1em/1 "Font Awesome 7 Whiteboard";--fa-font-thumbprint-light: normal 300 1em/1 "Font Awesome 7 Thumbprint";--fa-font-notdog-solid: normal 900 1em/1 "Font Awesome 7 Notdog";--fa-font-notdog-duo-solid: normal 900 1em/1 "Font Awesome 7 Notdog Duo";--fa-font-etch-solid: normal 900 1em/1 "Font Awesome 7 Etch";--fa-font-graphite-thin: normal 100 1em/1 "Font Awesome 7 Graphite";--fa-font-jelly-regular: normal 400 1em/1 "Font Awesome 7 Jelly";--fa-font-jelly-fill-regular: normal 400 1em/1 "Font Awesome 7 Jelly Fill";--fa-font-jelly-duo-regular: normal 400 1em/1 "Font Awesome 7 Jelly Duo";--fa-font-chisel-regular: normal 400 1em/1 "Font Awesome 7 Chisel";--fa-font-utility-semibold: normal 600 1em/1 "Font Awesome 7 Utility";--fa-font-utility-duo-semibold: normal 600 1em/1 "Font Awesome 7 Utility Duo";--fa-font-utility-fill-semibold: normal 600 1em/1 "Font Awesome 7 Utility Fill"}.svg-inline--fa{box-sizing:content-box;display:var(--fa-display, inline-block);height:1em;overflow:visible;vertical-align:-.125em;width:var(--fa-width, 1.25em)}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0em}.svg-inline--fa.fa-sm{vertical-align:-.0714285714em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left,.svg-inline--fa .fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin, .3em)}.svg-inline--fa.fa-pull-right,.svg-inline--fa .fa-pull-end{float:inline-end;margin-inline-start:var(--fa-pull-margin, .3em)}.svg-inline--fa.fa-li{width:var(--fa-li-width, 2em);inset-inline-start:calc(-1 * var(--fa-li-width, 2em));inset-block-start:.25em}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:var(--fa-width, 1.25em)}.fa-layers .svg-inline--fa{top:0;right:0;bottom:0;left:0;margin:auto;position:absolute;transform-origin:center center}.fa-layers-text{left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:center center}.fa-layers-counter{background-color:var(--fa-counter-background-color, #ff253a);border-radius:var(--fa-counter-border-radius, 1em);box-sizing:border-box;color:var(--fa-inverse, #fff);line-height:var(--fa-counter-line-height, 1);max-width:var(--fa-counter-max-width, 5em);min-width:var(--fa-counter-min-width, 1.5em);overflow:hidden;padding:var(--fa-counter-padding, .25em .5em);right:var(--fa-right, 0);text-overflow:ellipsis;top:var(--fa-top, 0);transform:scale(var(--fa-counter-scale, .25));transform-origin:top right}.fa-layers-bottom-right{bottom:var(--fa-bottom, 0);right:var(--fa-right, 0);top:auto;transform:scale(var(--fa-layers-scale, .25));transform-origin:bottom right}.fa-layers-bottom-left{bottom:var(--fa-bottom, 0);left:var(--fa-left, 0);right:auto;top:auto;transform:scale(var(--fa-layers-scale, .25));transform-origin:bottom left}.fa-layers-top-right{top:var(--fa-top, 0);right:var(--fa-right, 0);transform:scale(var(--fa-layers-scale, .25));transform-origin:top right}.fa-layers-top-left{left:var(--fa-left, 0);right:auto;top:var(--fa-top, 0);transform:scale(var(--fa-layers-scale, .25));transform-origin:top left}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:calc((6 / 10 - .375) * 1em)}.fa-xs{font-size:.75em;line-height:calc(1 / 12 * 1em);vertical-align:.125em}.fa-sm{font-size:.875em;line-height:calc(1 / 14 * 1em);vertical-align:calc((6 / 14 - .375) * 1em)}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:calc((6 / 20 - .375) * 1em)}.fa-xl{font-size:1.5em;line-height:calc(1 / 24 * 1em);vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-width-auto{--fa-width: auto}.fa-fw,.fa-width-fixed{--fa-width: 1.25em}.fa-canvas-square{padding-block:.125em;margin-block-end:-.125em}.fa-canvas-roomy{padding-block:.25em;padding-inline:.125em;margin-block-end:-.25em;box-sizing:content-box}.fa-ul{list-style-type:none;margin-inline-start:var(--fa-li-margin, 2.5em);padding-inline-start:0}.fa-ul>li{position:relative}.fa-li{inset-inline-start:calc(-1 * var(--fa-li-width, 2em));position:absolute;text-align:center;width:var(--fa-li-width, 2em);line-height:inherit}.fa-border{border-color:var(--fa-border-color, #eee);border-radius:var(--fa-border-radius, .1em);border-style:var(--fa-border-style, solid);border-width:var(--fa-border-width, .0625em);box-sizing:var(--fa-border-box-sizing, content-box);padding:var(--fa-border-padding, .1875em .25em)}.fa-pull-left,.fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin, .3em)}.fa-pull-right,.fa-pull-end{float:inline-end;margin-inline-start:var(--fa-pull-margin, .3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(.28, .84, .42, 1))}.fa-fade{animation-name:fa-fade;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-beat-fade{animation-name:fa-beat-fade;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1.5s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-flip-360{animation-name:fa-flip-360;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-shake{animation-name:fa-shake;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, .75s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-spin{animation-name:fa-spin;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 2s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-reverse{--fa-animation-direction: reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, steps(8))}.fa-spin-snap{animation-name:fa-spin-snap;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 3s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-snap-4{animation-name:fa-spin-snap-4;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 2.4s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-snap-8{animation-name:fa-spin-snap-8;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 4s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-buzz{animation-name:fa-buzz;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, .6s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-wag{animation-name:fa-wag;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, .9s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-out);transform-origin:bottom center}.fa-float{animation-name:fa-float;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 3s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out);will-change:transform}.fa-swing{animation-name:fa-swing;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1.2s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-out);transform-origin:top center}.fa-jello{animation-name:fa-jello;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, .9s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-out)}@media(prefers-reduced-motion:reduce){.fa-beat,.fa-bounce,.fa-fade,.fa-beat-fade,.fa-flip,.fa-flip-360,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse,.fa-buzz,.fa-float,.fa-jello,.fa-spin-snap,.fa-spin-snap-4,.fa-spin-snap-8,.fa-swing,.fa-wag{animation:none!important;transition:none!important}}@keyframes fa-beat{0%{transform:scale(1)}25%{transform:scale(calc(1.25 * var(--fa-beat-scale, 1.25)))}45%{transform:scale(calc(1.22 * var(--fa-beat-scale, 1.22)))}65%{transform:scale(calc(1.25 * var(--fa-beat-scale, 1.25)))}90%{transform:scale(1)}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0);animation-timing-function:var(--fa-animation-timing)}14%{transform:scale(var(--fa-bounce-start-scale-x, 1.06),var(--fa-bounce-start-scale-y, .94)) translateY(var(--fa-bounce-anticipation, 3px));animation-timing-function:cubic-bezier(.33,0,.66,.33)}32%{transform:scale(var(--fa-bounce-jump-scale-x, .94),var(--fa-bounce-jump-scale-y, 1.12)) translateY(calc(-1 * var(--fa-bounce-height, .5em)));animation-timing-function:cubic-bezier(.33,.66,.66,1)}52%{transform:scale(1) translateY(calc(-1 * var(--fa-bounce-height, .5em) * 1.1));animation-timing-function:cubic-bezier(.5,0,1,.5)}70%{transform:scale(var(--fa-bounce-land-scale-x, 1.06),var(--fa-bounce-land-scale-y, .92)) translateY(0);animation-timing-function:cubic-bezier(.33,.33,.66,1)}85%{transform:scale(.98,1.04) translateY(calc(-2px * var(--fa-bounce-rebound, 1)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{0%{opacity:1;transform:scale(1);animation-timing-function:cubic-bezier(.2,0,.4,1)}40%{opacity:var(--fa-fade-opacity, .4);transform:scale(.98);animation-timing-function:cubic-bezier(.4,0,.6,1)}to{opacity:1;transform:scale(1)}}@keyframes fa-beat-fade{0%{opacity:var(--fa-beat-fade-opacity, .4);transform:scale(1);animation-timing-function:cubic-bezier(.2,0,.4,1)}25%{opacity:calc(var(--fa-beat-fade-opacity, .4) + .4);transform:scale(var(--fa-beat-fade-scale, 1.28));animation-timing-function:cubic-bezier(.4,0,.6,1)}45%{opacity:1;transform:scale(var(--fa-beat-fade-scale, 1.25));animation-timing-function:cubic-bezier(.4,0,.2,1)}65%{opacity:calc(var(--fa-beat-fade-opacity, .4) + .4);transform:scale(var(--fa-beat-fade-scale, 1.28));animation-timing-function:cubic-bezier(.4,0,.6,1)}to{opacity:var(--fa-beat-fade-opacity, .4);transform:scale(1)}}@keyframes fa-flip{0%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),0);animation-timing-function:cubic-bezier(.2,0,.4,1)}8%{transform:perspective(2em) scale(var(--fa-flip-anticipation-scale, .95)) rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),0);animation-timing-function:cubic-bezier(.33,0,.66,.33)}35%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),calc(var(--fa-flip-angle, -360deg) * .6));animation-timing-function:linear}65%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),calc(var(--fa-flip-angle, -360deg) * .5));animation-timing-function:cubic-bezier(.33,.66,.66,1)}92%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),calc(var(--fa-flip-angle, -360deg) * var(--fa-flip-overshoot, 1.04)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -360deg))}}@keyframes fa-flip-360{0%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),0);animation-timing-function:cubic-bezier(.2,0,.4,1)}8%{transform:perspective(2em) scale(var(--fa-flip-anticipation-scale, .95)) rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),0);animation-timing-function:cubic-bezier(.33,0,.66,.33)}50%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),calc(var(--fa-flip-angle, -360deg) * .6));animation-timing-function:cubic-bezier(.33,.66,.66,1)}80%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),calc(var(--fa-flip-angle, -360deg) * var(--fa-flip-overshoot, 1.04)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -360deg))}}@keyframes fa-shake{0%{transform:rotate(0);animation-timing-function:cubic-bezier(.2,0,.8,1)}8%{transform:rotate(35deg) translate(1px);animation-timing-function:cubic-bezier(.3,0,.7,1)}20%{transform:rotate(-22deg) translate(-1px);animation-timing-function:cubic-bezier(.3,0,.7,1)}35%{transform:rotate(15deg) translate(1px);animation-timing-function:cubic-bezier(.3,0,.7,1)}50%{transform:rotate(-9deg);animation-timing-function:cubic-bezier(.4,0,.6,1)}65%{transform:rotate(5deg);animation-timing-function:cubic-bezier(.4,0,.6,1)}78%{transform:rotate(-3deg);animation-timing-function:cubic-bezier(.4,0,.6,1)}90%{transform:rotate(1deg);animation-timing-function:cubic-bezier(.4,0,.2,1)}to{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fa-spin-snap{0%{transform:rotate(0);animation-timing-function:cubic-bezier(0,0,.2,1)}12%{transform:rotate(60deg);animation-timing-function:cubic-bezier(.8,0,1,1)}16.67%{transform:rotate(60deg);animation-timing-function:cubic-bezier(0,0,.2,1)}28.67%{transform:rotate(120deg);animation-timing-function:cubic-bezier(.8,0,1,1)}33.33%{transform:rotate(120deg);animation-timing-function:cubic-bezier(0,0,.2,1)}45.33%{transform:rotate(180deg);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:rotate(180deg);animation-timing-function:cubic-bezier(0,0,.2,1)}62%{transform:rotate(240deg);animation-timing-function:cubic-bezier(.8,0,1,1)}66.67%{transform:rotate(240deg);animation-timing-function:cubic-bezier(0,0,.2,1)}78.67%{transform:rotate(300deg);animation-timing-function:cubic-bezier(.8,0,1,1)}83.33%{transform:rotate(300deg);animation-timing-function:cubic-bezier(0,0,.2,1)}95.33%{transform:rotate(360deg);animation-timing-function:cubic-bezier(.8,0,1,1)}to{transform:rotate(360deg)}}@keyframes fa-spin-snap-4{0%{transform:rotate(0);animation-timing-function:cubic-bezier(0,0,.2,1)}15%{transform:rotate(90deg);animation-timing-function:cubic-bezier(.8,0,1,1)}25%{transform:rotate(90deg);animation-timing-function:cubic-bezier(0,0,.2,1)}40%{transform:rotate(180deg);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:rotate(180deg);animation-timing-function:cubic-bezier(0,0,.2,1)}65%{transform:rotate(270deg);animation-timing-function:cubic-bezier(.8,0,1,1)}75%{transform:rotate(270deg);animation-timing-function:cubic-bezier(0,0,.2,1)}90%{transform:rotate(360deg);animation-timing-function:cubic-bezier(.8,0,1,1)}to{transform:rotate(360deg)}}@keyframes fa-spin-snap-8{0%{transform:rotate(0);animation-timing-function:cubic-bezier(0,0,.2,1)}9%{transform:rotate(45deg);animation-timing-function:cubic-bezier(.8,0,1,1)}12.5%{transform:rotate(45deg);animation-timing-function:cubic-bezier(0,0,.2,1)}21.5%{transform:rotate(90deg);animation-timing-function:cubic-bezier(.8,0,1,1)}25%{transform:rotate(90deg);animation-timing-function:cubic-bezier(0,0,.2,1)}34%{transform:rotate(135deg);animation-timing-function:cubic-bezier(.8,0,1,1)}37.5%{transform:rotate(135deg);animation-timing-function:cubic-bezier(0,0,.2,1)}46.5%{transform:rotate(180deg);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:rotate(180deg);animation-timing-function:cubic-bezier(0,0,.2,1)}59%{transform:rotate(225deg);animation-timing-function:cubic-bezier(.8,0,1,1)}62.5%{transform:rotate(225deg);animation-timing-function:cubic-bezier(0,0,.2,1)}71.5%{transform:rotate(270deg);animation-timing-function:cubic-bezier(.8,0,1,1)}75%{transform:rotate(270deg);animation-timing-function:cubic-bezier(0,0,.2,1)}84%{transform:rotate(315deg);animation-timing-function:cubic-bezier(.8,0,1,1)}87.5%{transform:rotate(315deg);animation-timing-function:cubic-bezier(0,0,.2,1)}96.5%{transform:rotate(360deg);animation-timing-function:cubic-bezier(.8,0,1,1)}to{transform:rotate(360deg)}}@keyframes fa-buzz{0%{transform:translate(0) rotate(0);animation-timing-function:cubic-bezier(.1,0,.9,1)}5%{transform:translate(var(--fa-buzz-distance, 4px)) rotate(.5deg)}10%{transform:translate(calc(-1 * var(--fa-buzz-distance, 4px))) rotate(-.5deg)}15%{transform:translate(var(--fa-buzz-distance, 4px)) rotate(.3deg)}20%{transform:translate(calc(-1 * var(--fa-buzz-distance, 4px))) rotate(-.3deg)}25%{transform:translate(calc(var(--fa-buzz-distance, 4px) * .7)) rotate(.2deg)}30%{transform:translate(calc(-1 * var(--fa-buzz-distance, 4px) * .7)) rotate(-.2deg)}35%{transform:translate(calc(var(--fa-buzz-distance, 4px) * .4)) rotate(.1deg)}40%{transform:translate(0) rotate(0)}to{transform:translate(0) rotate(0)}}@keyframes fa-wag{0%{transform:rotate(0);animation-timing-function:cubic-bezier(.2,0,.6,1)}12%{transform:rotate(var(--fa-wag-angle, 12deg));animation-timing-function:cubic-bezier(.4,0,.2,1)}24%{transform:rotate(2deg);animation-timing-function:cubic-bezier(.2,0,.6,1)}36%{transform:rotate(calc(var(--fa-wag-angle, 12deg) * .85));animation-timing-function:cubic-bezier(.4,0,.2,1)}48%{transform:rotate(1deg);animation-timing-function:cubic-bezier(.2,0,.6,1)}58%{transform:rotate(calc(var(--fa-wag-angle, 12deg) * .6));animation-timing-function:cubic-bezier(.4,0,.2,1)}68%{transform:rotate(0)}to{transform:rotate(0)}}@keyframes fa-float{0%{transform:translateY(0) translate(0) rotate(0) scale(var(--fa-float-squash-x, 1.02),var(--fa-float-squash-y, .98));animation-timing-function:cubic-bezier(.33,0,.66,.33)}15%{transform:translateY(calc(-.4 * var(--fa-float-height, 6px))) translate(var(--fa-float-drift, 1px)) rotate(var(--fa-float-tilt, 1deg)) scale(1);animation-timing-function:cubic-bezier(.33,.66,.66,1)}35%{transform:translateY(calc(-1 * var(--fa-float-height, 6px))) translate(0) rotate(0) scale(var(--fa-float-stretch-x, .98),var(--fa-float-stretch-y, 1.03));animation-timing-function:cubic-bezier(.5,0,.5,0)}50%{transform:translateY(calc(-.92 * var(--fa-float-height, 6px))) translate(calc(-.5 * var(--fa-float-drift, 1px))) rotate(calc(-.5 * var(--fa-float-tilt, 1deg))) scale(.995,1.01);animation-timing-function:cubic-bezier(.33,0,.66,.33)}70%{transform:translateY(calc(-.3 * var(--fa-float-height, 6px))) translate(calc(-1 * var(--fa-float-drift, 1px))) rotate(calc(-1 * var(--fa-float-tilt, 1deg))) scale(1);animation-timing-function:cubic-bezier(.33,.66,.66,1)}90%{transform:translateY(calc(.05 * var(--fa-float-height, 6px))) translate(0) rotate(0) scale(var(--fa-float-squash-x, 1.02),var(--fa-float-squash-y, .98));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:translateY(0) translate(0) rotate(0) scale(var(--fa-float-squash-x, 1.02),var(--fa-float-squash-y, .98))}}@keyframes fa-swing{0%{transform:rotate(0);animation-timing-function:cubic-bezier(.2,0,.8,1)}8%{transform:rotate(var(--fa-swing-angle, 22deg));animation-timing-function:cubic-bezier(.3,0,.7,1)}18%{transform:rotate(calc(-1 * var(--fa-swing-angle, 22deg) * .85));animation-timing-function:cubic-bezier(.3,0,.7,1)}28%{transform:rotate(calc(var(--fa-swing-angle, 22deg) * .65));animation-timing-function:cubic-bezier(.35,0,.65,1)}38%{transform:rotate(calc(-1 * var(--fa-swing-angle, 22deg) * .45));animation-timing-function:cubic-bezier(.4,0,.6,1)}48%{transform:rotate(calc(var(--fa-swing-angle, 22deg) * .25));animation-timing-function:cubic-bezier(.4,0,.6,1)}56%{transform:rotate(calc(-1 * var(--fa-swing-angle, 22deg) * .1));animation-timing-function:cubic-bezier(.4,0,.6,1)}64%{transform:rotate(0)}to{transform:rotate(0)}}@keyframes fa-jello{0%{transform:scale(1);animation-timing-function:cubic-bezier(.2,0,.8,1)}12%{transform:scale(var(--fa-jello-scale-x, 1.15),calc(2 - var(--fa-jello-scale-x, 1.15)));animation-timing-function:cubic-bezier(.3,0,.7,1)}24%{transform:scale(calc(2 - var(--fa-jello-scale-y, 1.12)),var(--fa-jello-scale-y, 1.12));animation-timing-function:cubic-bezier(.3,0,.7,1)}36%{transform:scale(calc(1 + (var(--fa-jello-scale-x, 1.15) - 1) * .5),calc(2 - (1 + (var(--fa-jello-scale-x, 1.15) - 1) * .5)));animation-timing-function:cubic-bezier(.4,0,.6,1)}48%{transform:scale(calc(2 - (1 + (var(--fa-jello-scale-y, 1.12) - 1) * .3)),calc(1 + (var(--fa-jello-scale-y, 1.12) - 1) * .3));animation-timing-function:cubic-bezier(.4,0,.6,1)}58%{transform:scale(1.02,.98);animation-timing-function:cubic-bezier(.4,0,.2,1)}68%{transform:scale(1)}to{transform:scale(1)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle, 0))}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color, currentColor);opacity:var(--fa-primary-opacity, 1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color, currentColor);opacity:var(--fa-secondary-opacity, .4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity, .4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity, 1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.svg-inline--fa.fa-inverse{fill:var(--fa-inverse, #fff)}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-inverse{color:var(--fa-inverse, #fff)}.svg-inline--fa.fa-stack-1x{--fa-width: 1.25em;height:1em;width:var(--fa-width)}.svg-inline--fa.fa-stack-2x{--fa-width: 2.5em;height:2em;width:var(--fa-width)}.fa-stack-1x,.fa-stack-2x{top:0;right:0;bottom:0;left:0;margin:auto;position:absolute;z-index:var(--fa-stack-z-index, auto)}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/fonts/dm-sans-variable.ttf) format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/manrope-variable.ttf) format("truetype")}:root{font-family:DM Sans,sans-serif;color:#243b32;background:#f9faf7;font-synthesis:none;font-weight:400;--green:#273e33;--ink:#26372e;--muted:#6c756d;--paper:#f9faf7;--line:#d8ded5;--lime:#d4dfb7;--display:"Manrope",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:wait;opacity:.6}img{display:block;width:100%;height:100%;object-fit:cover}button:focus-visible,a:focus-visible{outline:2px solid #71864b;outline-offset:6px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #758657;outline-offset:2px}::selection{background:#d4dfb7;color:#243b32}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display)}h2{font-weight:450;font-size:clamp(32px,3.3vw,52px);line-height:1.2;letter-spacing:-2px}.section-container{padding-left:6%;padding-right:6%;max-width:1760px;margin:auto}.section-marker{font-size:13px;font-weight:500;display:block;color:var(--muted);margin-bottom:24px}.text-link{display:inline-flex;align-items:center;gap:28px;padding:9px 0;border:0;border-bottom:1px solid #a8b2a4;background:transparent;font-size:13px;font-weight:500}.text-link svg{font-size:12px;transition:transform .2s}.text-link:hover svg{transform:translate(4px)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:52px;padding:16px 24px;font-size:13px;font-weight:500;border:1px solid transparent;transition:background .2s}.button svg{font-size:12px}.button-light{background:#f6f7f1;color:var(--ink)}.button-light:hover{background:var(--lime)}.button-dark{background:var(--green);color:#fff}.button-dark:hover{background:#3b5742}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;width:40px;height:40px}.skip-link{position:fixed;z-index:100;top:-70px;left:20px;padding:15px;background:#fff}.skip-link:focus{top:10px}.site-header{height:100px;background:var(--paper);position:relative;z-index:10}.header-inner{height:100%;max-width:1760px;padding:0 4%;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:14px}.brand-monogram{font-family:var(--display);font-weight:500;font-size:64px;letter-spacing:-8px;line-height:1;position:relative;padding-right:9px}.brand-dot{position:absolute;right:0;bottom:5px;width:7px;height:7px;background:#9bad7e}.brand-name{font-family:var(--display);font-size:16px;line-height:1.1;letter-spacing:-.3px;font-weight:600;border-left:1px solid #a4ae9c;padding-left:14px}.brand-description{display:block;font-size:8px;letter-spacing:.3px;margin-top:9px;font-weight:400}.navigation{display:flex;align-items:center;gap:37px;font-size:13px}.navigation>a{padding:12px 0}.navigation>a:hover{color:#78865f}.navigation .nav-contact{display:flex;align-items:center;gap:34px;border-bottom:1px solid #a3af96;padding:12px 0;margin-left:30px}.nav-contact svg{font-size:12px}.menu-button{display:none}.hero{position:relative;height:calc(100svh - 100px);min-height:620px;max-height:900px;color:#fff;overflow:hidden}.hero-image{position:absolute;top:0;right:0;bottom:0;left:0;object-position:center 48%;animation:hero-in .6s ease-out}.hero-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#13231abd,#13231a7a,#13231a0f 80%),linear-gradient(0deg,rgba(19,35,26,.65),transparent 35%)}.hero-content{position:absolute;top:18%;left:6%;right:6%}.hero-intro{display:flex;align-items:center;gap:11px;font-size:13px;margin-bottom:30px;color:#f3f5eb}.hero-intro>span{height:7px;width:7px;border-radius:50%;background:#d6dfb8}.hero h1{font-size:clamp(58px,6.1vw,94px);font-weight:450;line-height:1.08;letter-spacing:-4.5px;margin-bottom:25px}.hero-description{font-size:16px;line-height:1.7;color:#f0f2e9;font-weight:400}.hero .button{margin-top:33px}.hero-bottom{position:absolute;bottom:31px;left:6%;right:6%;display:flex;align-items:flex-end;justify-content:space-between}.hero-scroll{font-size:11px;display:flex;align-items:center;gap:16px;padding-bottom:10px}.hero-scroll:before{content:"";height:1px;width:34px;background:#d4dfb7}.hero-project{display:flex;align-items:center;gap:45px}.hero-project-type{font-size:10px;display:block;color:#e3e7dc;margin-bottom:8px}.hero-project>div>button{background:transparent;border:0;padding:0;color:#fff;font-size:14px;display:flex;gap:24px;align-items:center}.hero-project button svg{font-size:10px}.hero-count{font-size:13px}.hero-count>span{font-size:11px;color:#b7c0b3}.hero-arrows{display:flex;gap:5px}.hero-arrows button{color:#fff;border:1px solid #ffffff45;width:36px;height:36px;border-radius:50%}.hero-arrows button:hover{background:#ffffff20}.hero-photo-note{position:absolute;right:6%;top:24px;font-size:9px;color:#fff;background:#283e3360;padding:6px 9px}.intro{display:grid;grid-template-columns:1fr 2.4fr .85fr;gap:35px;padding-top:100px;padding-bottom:110px}.intro>.section-marker{padding-top:10px}.intro h2{font-size:clamp(32px,3.5vw,54px);margin-bottom:25px}.intro p{max-width:570px;font-size:15px;color:var(--muted);line-height:1.85}.intro .text-link{margin-top:28px}.intro-symbol{align-self:center;justify-self:end;position:relative;width:110px;height:160px;opacity:.65}.intro-symbol>span{position:absolute;bottom:0;border:1px solid #8f9c7c;width:60px;height:130px;border-radius:80px 80px 0 0}.intro-symbol>span:nth-child(2){left:26px;height:150px}.intro-symbol>span:nth-child(3){left:52px;height:170px}.projects-section{padding-top:25px;padding-bottom:95px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.section-heading .section-marker{margin-bottom:18px}.section-heading .text-link{margin-bottom:6px}.section-heading h2{font-size:clamp(30px,3vw,46px)}.project-toolbar{margin-top:38px;margin-bottom:30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.project-filters{display:flex;gap:30px}.project-filters button{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);font-size:12px;padding:15px 0 17px;display:flex;align-items:center;gap:8px;margin-bottom:-1px}.project-filters button.active{border-color:var(--green);color:var(--green)}.project-filters button>span{font-size:9px;color:#7b856f}.concept-note{font-size:11px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 28px}.project-card{padding:0;background:transparent;border:0;text-align:left;min-width:0}.project-image{position:relative;aspect-ratio:1.5;overflow:hidden;background:#e0e5db}.project-image img{transition:transform .5s ease}.project-card:hover img{transform:scale(1.035)}.project-tag{position:absolute;left:18px;top:18px;font-size:9px;padding:7px 11px;background:#f9faf7f0;color:#4b5947}.project-open{position:absolute;bottom:18px;right:18px;background:var(--paper);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;transition:background .2s}.project-card:hover .project-open{background:var(--lime)}.project-card-info{display:flex;justify-content:space-between;padding:18px 0 0;gap:20px}.project-card-info h3{font-size:20px;letter-spacing:-.5px;font-weight:500}.project-card-info p{font-size:11px;color:var(--muted);margin-top:7px}.project-card-info>span{font-size:10px;line-height:1.9;color:var(--muted);text-align:right}.project-card-3:last-child{grid-column:1/-1;display:grid;grid-template-columns:1.35fr 1fr;align-items:center;background:#eff2ea;gap:0}.project-card-3:last-child .project-image{aspect-ratio:1.8}.project-card-3:last-child .project-card-info{padding:35px 16%;display:block}.project-card-3:last-child .project-card-info h3{font-size:30px}.project-card-3:last-child .project-card-info p{font-size:12px}.project-card-3:last-child .project-card-info>span{display:block;text-align:left;margin-top:30px}.more-projects{margin-top:35px;display:flex;justify-content:center}.project-status{grid-column:1/-1;padding:60px 0;font-size:15px}.approach-section{display:grid;grid-template-columns:1fr 1fr;background:var(--green);color:var(--paper);max-width:1760px;margin:auto}.approach-image{position:relative;min-height:670px}.approach-image img{object-position:45% center}.approach-image>span{position:absolute;bottom:27px;left:10%;color:#fff;font-size:11px;text-shadow:0 1px 10px #333}.approach-content{padding:85px 13% 55px}.approach-content .section-marker{color:#b7c4a9;margin-bottom:30px}.approach-content h2{font-size:clamp(36px,3.7vw,56px);letter-spacing:-2.4px;line-height:1.22;margin-bottom:32px}.approach-content>p{font-size:13px;line-height:1.9;color:#d1dacb;max-width:440px;margin-top:15px}.approach-content .text-link{color:#fff;margin-top:27px;border-color:#83947b}.approach-signature{display:flex;align-items:center;gap:22px;margin-top:50px;padding-top:25px;border-top:1px solid #ffffff20;font-size:10px;color:#b5c3a9}.mini-monogram{font-size:30px;letter-spacing:-4px;color:#e4e9d9;font-family:var(--display)}.services-section{display:grid;grid-template-columns:.9fr 1.25fr;gap:13%;padding-top:115px;padding-bottom:100px}.services-intro h2{margin-bottom:25px}.services-intro p{font-size:14px;line-height:1.9;color:var(--muted);max-width:330px}.services-intro .text-link{margin-top:26px}.service{border-bottom:1px solid var(--line)}.service:first-child{border-top:1px solid var(--line)}.service h3 button{width:100%;text-align:left;background:none;border:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:27px 0;font-family:var(--display);font-size:20px;letter-spacing:-.6px;font-weight:500}.service h3 svg{font-size:12px;color:#6b795a}.service div p{font-size:13px;line-height:1.95;color:var(--muted);max-width:470px}.service div>span{display:block;font-size:10px;line-height:1.8;color:#5d6b50;margin:23px 0 30px}.process-section{border-top:1px solid var(--line);padding-top:50px;padding-bottom:100px}.process-top{display:flex;justify-content:space-between;margin-bottom:44px}.process-top p{font-family:var(--display);font-size:23px;letter-spacing:-.6px;line-height:1.4}.process-list{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7%;list-style:none;padding:0;margin:0}.process-list li>span{font-size:12px;color:#6f7c62;display:block;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:22px}.process-list h3{font-size:19px;font-weight:500;letter-spacing:-.5px;margin-bottom:13px}.process-list p{font-size:13px;line-height:1.85;color:var(--muted);max-width:310px}.contact-section{background:#edf0e6;padding:90px 0 95px}.contact-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:12%}.contact-copy h2{font-size:clamp(36px,3.7vw,57px);margin-bottom:28px}.contact-copy>p{font-size:14px;line-height:1.9;max-width:345px;color:var(--muted)}.contact-note{margin-top:72px;display:flex;gap:20px;align-items:center}.contact-line{width:30px;height:1px;background:#81936b}.contact-note p{font-size:13px;line-height:1.7;color:#5b6a51}.contact-form{padding-top:5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.contact-form label{font-size:11px;color:#4e5f45;display:block}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #bac4ad;color:var(--ink);background:transparent;border-radius:0;padding:14px 0 12px;font-size:13px;min-height:44px;outline-offset:4px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#8b9582}.contact-form>label{margin-top:23px}.contact-form textarea{resize:vertical;min-height:95px;line-height:1.8}.contact-form .consent{display:flex;gap:10px;align-items:flex-start;line-height:1.7;font-size:10px}.consent input{accent-color:var(--green);width:15px;height:15px;margin:2px 0 0;flex-shrink:0}.consent button{background:transparent;border:0;border-bottom:1px solid #96a188;font-size:inherit;padding:0;color:inherit}.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px}.form-bottom>span{font-size:9px;color:#69765f}.form-bottom .button{font-size:11px;gap:25px;min-height:48px;padding:15px 19px}.honeypot{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}.field-error{font-size:10px;color:#a0392e;display:block;margin-top:6px}.form-error{color:#9c3329;font-size:12px;margin-top:20px;line-height:1.7}[aria-invalid=true]{border-color:#ad4337!important}.form-success{align-self:center;padding:60px 30px;border:1px solid #c3ccb9}.success-icon{display:flex;align-items:center;justify-content:center;border:1px solid #8c9c7b;width:48px;height:48px;border-radius:50%;margin-bottom:25px}.form-success h3{font-size:27px;font-weight:500;letter-spacing:-1px}.form-success p{font-size:13px;margin:15px 0;line-height:1.7;color:var(--muted)}.site-footer{background:var(--green);color:var(--paper);max-width:none;padding-top:50px;padding-bottom:23px}.footer-main{display:flex;align-items:center;gap:55px;padding-bottom:45px}.brand-light .brand-name{border-color:#77896b}.brand-light .brand-dot{background:#c3d1a8}.footer-main>p{font-size:13px;color:#becbb3}.footer-top{margin-left:auto;border:1px solid #819276;border-radius:50%;height:40px;width:40px;display:flex;align-items:center;justify-content:center;font-size:13px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff26;padding-top:23px;gap:20px;font-size:9px;color:#b5c2ab}.footer-bottom button{background:transparent;border:0;color:inherit;font-size:inherit;padding:4px 0}.footer-bottom button:hover{text-decoration:underline}.modal{border:0;padding:0;max-width:1000px;width:calc(100% - 50px);max-height:90svh;background:var(--paper);color:var(--ink);overscroll-behavior:contain}.modal::backdrop{background:#14251ee0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-close{position:absolute;right:18px;top:18px;background:var(--paper);border-radius:50%;z-index:2;box-shadow:0 2px 15px #0001}.detail-gallery{position:relative;height:430px}.gallery-controls{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:15px;background:var(--paper);font-size:12px}.detail-body{padding:40px 55px 50px}.muted{color:var(--muted);font-size:11px}.detail-body h2{margin-top:12px;font-size:42px}.detail-meta{display:flex;gap:25px;font-size:12px;margin:20px 0 25px;color:var(--muted)}.detail-body>p{line-height:1.9;font-size:14px;max-width:720px}.detail-body h3{font-size:16px;font-weight:500;margin-top:25px}.material-list{list-style:none;display:flex;gap:10px;padding:0;margin:16px 0;flex-wrap:wrap}.material-list li{border:1px solid var(--line);padding:9px 13px;font-size:11px}.detail-body p.image-credit{font-size:10px;color:var(--muted);margin:25px 0}.detail-body .button{margin-top:6px}.privacy-modal{max-width:680px;padding:55px}.privacy-modal h2{font-size:33px;margin-bottom:25px;letter-spacing:-1.3px}.privacy-modal p{font-size:13px;line-height:1.9;color:#58664f;margin-bottom:18px}.privacy-modal h3{font-size:18px;margin:25px 0 14px}.privacy-modal .button{margin-top:10px}.privacy-modal .section-marker{margin-bottom:17px}@keyframes hero-in{0%{opacity:.5}to{opacity:1}}@media(min-width:1600px){.hero-content{top:20%}.hero h1{font-size:100px}}@media(max-width:1100px){.navigation{gap:25px}.navigation .nav-contact{margin-left:5px;gap:20px}.hero{min-height:610px;max-height:780px}.hero h1{font-size:76px}.intro{grid-template-columns:.8fr 2fr .5fr}.intro-symbol{transform:scale(.8);transform-origin:right center}.approach-image{min-height:630px}.approach-content{padding:65px 10% 45px}.approach-content h2{font-size:43px}.services-section,.contact-layout{gap:8%}.form-bottom{align-items:flex-start;flex-direction:column;gap:17px}.form-bottom .button{align-self:flex-end}.hero-project{gap:25px}}@media(max-width:760px){html{scroll-padding-top:25px}.section-container{padding-left:6%;padding-right:6%}.site-header{height:82px}.header-inner{padding:0 6%}.brand-monogram{font-size:51px;letter-spacing:-6px}.brand-dot{width:6px;height:6px}.brand-name{font-size:13px;padding-left:12px}.brand-description{font-size:7px;margin-top:7px}.brand{gap:12px}.menu-button{display:flex;font-size:19px}.navigation{display:none;position:absolute;left:0;right:0;top:82px;padding:22px 6% 30px;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 15px 20px #0001;font-size:16px}.navigation.is-open{display:flex;align-items:stretch;flex-direction:column;gap:6px}.navigation .nav-contact{margin-left:0;margin-top:10px;justify-content:space-between}.hero{height:calc(90svh - 82px);min-height:590px;max-height:780px}.hero-image{object-position:60% center}.hero-shade{background:linear-gradient(90deg,#13231ac4,#13231a30),linear-gradient(0deg,#13231ab0,transparent 60%)}.hero-content{top:16%}.hero-intro{font-size:11px;margin-bottom:26px}.hero h1{font-size:clamp(49px,10vw,75px);letter-spacing:-2.8px;margin-bottom:25px}.hero-description{font-size:14px}.hero .button{font-size:12px;min-height:49px;padding:15px 20px;margin-top:28px;gap:35px}.hero-scroll{display:none}.hero-bottom{bottom:25px}.hero-project{width:100%;justify-content:space-between;gap:15px}.hero-project>div>button{font-size:13px}.hero-count{margin-left:auto}.hero-project-type{font-size:9px}.hero-arrows{gap:8px}.hero-arrows button{height:32px;width:32px}.hero-photo-note{font-size:8px;top:16px}.intro{padding-top:64px;padding-bottom:65px;display:block;position:relative}.intro>.section-marker{padding-top:0;margin-bottom:23px}.intro h2{font-size:39px;letter-spacing:-1.7px}.intro p{font-size:14px;max-width:90%}.intro-symbol{display:none}.intro .text-link{margin-top:20px}.section-marker{font-size:12px;margin-bottom:22px}.projects-section{padding-top:10px;padding-bottom:60px}.section-heading h2{font-size:31px;letter-spacing:-1.5px}.desktop-all{display:none}.project-toolbar{margin-top:20px;margin-bottom:24px}.project-filters{gap:24px}.project-filters button{font-size:11px;padding:15px 0}.concept-note{display:none}.project-grid{grid-template-columns:1fr;gap:30px}.project-image{aspect-ratio:1.3}.project-card-info{padding-top:15px}.project-card-info h3{font-size:19px}.project-tag{top:13px;left:13px;font-size:8px}.project-open{height:34px;width:34px;right:13px;bottom:13px}.project-card-3:last-child{display:block;grid-column:auto;background:transparent}.project-card-3:last-child .project-image{aspect-ratio:1.3}.project-card-3:last-child .project-card-info{display:flex;padding:15px 0 0}.project-card-3:last-child .project-card-info h3{font-size:19px}.project-card-3:last-child .project-card-info p{font-size:11px}.project-card-3:last-child .project-card-info>span{margin:0;text-align:right}.more-projects{margin-top:25px}.approach-section{grid-template-columns:1fr}.approach-image{min-height:0;height:360px}.approach-image>span{left:6%;bottom:20px}.approach-content{padding:47px 6%}.approach-content h2{font-size:41px;line-height:1.2;letter-spacing:-1.7px;margin-bottom:25px}.approach-content>p{font-size:13px;max-width:100%}.approach-content .section-marker{margin-bottom:23px}.approach-signature{margin-top:36px;padding-top:20px}.services-section{display:block;padding-top:65px;padding-bottom:60px}.services-intro h2{font-size:39px}.services-intro p{max-width:100%}.services-intro .text-link{margin-top:19px}.service-list{margin-top:35px}.service h3 button{font-size:18px;padding:24px 0}.process-section{padding-top:37px;padding-bottom:58px}.process-top{display:block;margin-bottom:35px}.process-top p{font-size:26px;letter-spacing:-.7px}.process-top p br{display:none}.process-top .section-marker{margin-bottom:18px}.process-list{grid-template-columns:1fr;gap:25px}.process-list li{display:grid;grid-template-columns:35px 1fr;column-gap:17px;border-top:1px solid var(--line);padding-top:23px}.process-list li>span{grid-row:1/3;border:0;margin:0;padding:5px 0 0}.process-list h3{font-size:18px;margin-bottom:10px}.process-list p{max-width:none;font-size:12px}.contact-section{padding:55px 0 60px}.contact-layout{display:block}.contact-copy h2{font-size:40px;letter-spacing:-1.8px;margin-bottom:23px}.contact-copy>p{max-width:100%;font-size:13px}.contact-note{display:none}.contact-form{margin-top:37px}.form-grid{gap:22px 19px}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{font-size:12px}.contact-form label{font-size:10px}.form-bottom{gap:20px}.form-bottom .button{align-self:stretch;font-size:12px}.contact-form .consent{font-size:10px}.footer-main{flex-wrap:wrap;gap:27px;padding-bottom:32px}.footer-main>p{order:3;flex-basis:100%;font-size:12px}.footer-top{margin-left:auto}.site-footer{padding-top:35px;padding-bottom:22px}.footer-bottom{flex-wrap:wrap;gap:16px;font-size:9px;line-height:1.6;padding-top:20px}.footer-demo{order:3;width:100%;font-size:8px}.modal{width:calc(100% - 24px);max-height:94svh}.detail-gallery{height:280px}.detail-body{padding:30px 23px}.detail-body h2{font-size:33px;letter-spacing:-1.5px}.detail-body>p{font-size:13px}.detail-body .button{font-size:12px;padding:15px 18px;gap:22px}.privacy-modal{padding:40px 25px 30px}.privacy-modal h2{font-size:27px}.privacy-modal .section-marker{margin-top:20px}.privacy-modal p{font-size:12px}.form-success{margin-top:35px;padding:35px 22px}.form-success h3{font-size:26px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}main:focus{outline:none}.navigation>a.active{color:var(--green);box-shadow:inset 0 -1px var(--green)}.hero-project>div>a{display:flex;align-items:center;gap:24px;font-size:14px}.hero-project>div>a svg{font-size:10px}.footer-top{background:transparent;color:inherit;cursor:pointer}.footer-navigation{display:flex;gap:30px;font-size:12px;padding-bottom:30px;color:#d0d9c7}.footer-navigation a:hover{text-decoration:underline}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--muted);padding:26px 0 0;line-height:1.8}.breadcrumbs a:hover{color:var(--green);text-decoration:underline}.breadcrumbs [aria-current=page]{color:var(--ink)}.page-heading{padding-bottom:65px}.page-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:8%;padding-top:55px}.page-heading h1{font-size:clamp(42px,4.5vw,68px);font-weight:450;line-height:1.16;letter-spacing:-3px;max-width:790px}.page-heading-row>p{font-size:14px;line-height:1.9;color:var(--muted);max-width:350px;flex-shrink:0;flex-basis:31%;padding-bottom:5px}.page-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-top:60px;padding-bottom:65px;background:#edf0e6;max-width:none}.page-cta h2{font-size:clamp(29px,3vw,45px)}.page-cta .section-marker{margin-bottom:17px}.page-cta .button{flex-shrink:0}.home-projects .section-heading{margin-bottom:35px}.home-services{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:55px;padding-bottom:95px;border-top:1px solid var(--line)}.home-services>div:last-child{align-self:center;max-width:430px}.home-services p{font-size:15px;line-height:1.9;color:var(--muted)}.home-services .text-link{margin-top:22px}.about-principles{padding-top:95px;padding-bottom:100px;display:grid;grid-template-columns:1fr 1fr;gap:12%}.about-principles h2{max-width:340px}.about-principles article{padding:25px 0;border-bottom:1px solid var(--line)}.about-principles article:first-child{padding-top:0}.about-principles h3{font-size:21px;font-weight:500;letter-spacing:-.6px;margin-bottom:14px}.about-principles p{font-size:14px;line-height:1.85;color:var(--muted)}.services-page{background:#edf0e6}.services-page .services-section{padding-top:70px;padding-bottom:80px}.contact-page{padding-top:65px;padding-bottom:100px;min-height:670px;background:var(--paper)}.contact-copy h1{font-size:clamp(36px,3.7vw,57px);font-weight:450;line-height:1.2;letter-spacing:-2px;margin-bottom:28px}.projects-page{padding-top:0;min-height:440px}.projects-page .project-toolbar{margin-top:0}.project-filters a{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);font-size:12px;padding:15px 0 17px;display:flex;align-items:center;gap:8px;margin-bottom:-1px;white-space:nowrap}.project-filters a.active{border-color:var(--green);color:var(--green)}.project-filters a>span{font-size:9px;color:#7b856f}.project-filters a:hover{color:var(--green)}.project-image-count{position:absolute;bottom:20px;left:18px;padding:6px 9px;background:#f9faf7f0;color:#4b5947;font-size:9px}.project-detail-heading{padding-bottom:40px}.project-detail-title{padding-top:40px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.project-detail-title .section-marker{margin-bottom:15px}.project-detail-title h1{font-size:clamp(42px,5.1vw,78px);font-weight:450;letter-spacing:-3.3px;line-height:1.15}.detail-location{font-size:12px;color:var(--muted);line-height:1.9;text-align:right}.project-cover{max-width:1760px;margin:auto;height:min(70vw,700px);min-height:370px}.project-cover>button{display:block;border:0;padding:0;position:relative;width:100%;height:100%;background:#e1e5db}.project-cover>button>span{position:absolute;right:6%;bottom:30px;background:var(--paper);padding:16px 20px;font-size:11px;display:flex;align-items:center;gap:15px}.project-story{display:grid;grid-template-columns:1.35fr 1fr;gap:14%;padding-top:75px;padding-bottom:80px}.project-story h2{font-size:43px;letter-spacing:-1.7px;margin-bottom:28px}.project-story-copy>p{font-size:15px;color:var(--muted);line-height:1.95;max-width:590px}.project-story-copy>p.image-credit{font-size:11px;margin-top:24px;line-height:1.8;max-width:480px}.project-facts dl{margin:0 0 30px}.project-facts dl>div{display:flex;justify-content:space-between;gap:25px;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.project-facts dt{color:var(--muted)}.project-facts dd{margin:0;text-align:right}.project-facts dd a{border-bottom:1px solid #acb99f}.project-facts h3{font-size:14px;font-weight:500}.project-facts .material-list{margin-bottom:0}.project-facts .material-list li{font-size:10px}.project-gallery-section{padding-top:30px;padding-bottom:75px}.project-gallery-section .section-heading{margin-bottom:35px}.project-gallery-section h2{font-size:34px;letter-spacing:-1.3px}.gallery-total{font-size:11px;color:var(--muted);white-space:nowrap}.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:32px 25px}.project-gallery figure{margin:0;min-width:0}.project-gallery figure:nth-child(3n+1){grid-column:1/-1}.project-gallery figure>button{display:block;border:0;padding:0;width:100%;aspect-ratio:1.3;background:#e3e8de;position:relative;overflow:hidden}.project-gallery figure:nth-child(3n+1)>button{aspect-ratio:1.85}.project-gallery figure>button>img{transition:transform .35s ease}.project-gallery figure>button:hover>img{transform:scale(1.025)}.gallery-enlarge{position:absolute;bottom:20px;right:20px;border-radius:50%;width:39px;height:39px;display:flex;align-items:center;justify-content:center;background:var(--paper);font-size:12px}.project-gallery figcaption{display:flex;justify-content:space-between;gap:20px;padding-top:12px;font-size:10px;color:var(--muted)}.gallery-credit{font-size:10px;color:var(--muted);line-height:1.8;max-width:700px;margin-top:30px}.related-projects{padding-top:45px;padding-bottom:85px;border-top:1px solid var(--line)}.related-projects .section-heading{margin-bottom:35px}.detail-loading{min-height:55vh}.not-found{padding-top:90px;padding-bottom:120px;min-height:65vh}.not-found h1{font-size:clamp(35px,4vw,60px);font-weight:450;letter-spacing:-2px}.not-found p{font-size:14px;color:var(--muted);line-height:1.9;margin-top:22px;margin-bottom:28px}.lightbox{width:calc(100% - 50px);max-width:1500px;background:#18251e;color:#fff;max-height:96svh;overflow:auto}.lightbox .modal-close{right:15px;top:15px}.lightbox-stage{height:70svh;min-height:260px;position:relative;padding:25px 65px 0}.lightbox-stage>img{object-fit:contain}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);color:#fff;border:1px solid #ffffff40;border-radius:50%;width:36px;height:36px;background:#18251e80}.lightbox-prev{left:16px}.lightbox-next{right:16px}.lightbox-info{display:flex;justify-content:space-between;gap:20px;padding:22px 30px 16px;font-size:12px}.lightbox-info>span{color:#bdc8b8;white-space:nowrap}.lightbox-thumbnails{display:flex;gap:10px;padding:0 30px 25px;overflow-x:auto}.lightbox-thumbnails button{border:2px solid transparent;padding:0;background:none;opacity:.5;width:75px;height:53px;flex-shrink:0}.lightbox-thumbnails button[aria-pressed=true]{opacity:1;border-color:#d4dfb7}.lightbox-thumbnails button:hover{opacity:1}@media(max-width:1100px){.navigation{gap:22px}.navigation .nav-contact{gap:18px;margin-left:0}.page-heading h1{font-size:53px}.page-heading-row{gap:6%}.page-heading-row>p{font-size:13px;flex-basis:34%}.project-story{gap:9%}.page-cta h2{font-size:35px}}@media(max-width:760px){.navigation>a.active{box-shadow:none;font-weight:600}.navigation .nav-contact{margin-top:10px}.breadcrumbs{font-size:10px;gap:9px;padding-top:20px}.page-heading{padding-bottom:40px}.page-heading-row{display:block;padding-top:30px}.page-heading h1{font-size:39px;letter-spacing:-1.8px;max-width:540px}.page-heading-row>p{font-size:13px;line-height:1.85;max-width:100%;margin-top:24px;padding-bottom:0}.page-cta{display:block;padding-top:43px;padding-bottom:45px}.page-cta h2{font-size:31px;letter-spacing:-1.2px}.page-cta .button{margin-top:26px;font-size:12px;gap:40px}.page-cta .section-marker{margin-bottom:17px}.home-projects .section-heading{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:28px}.home-projects .section-heading .text-link{font-size:12px}.home-services{grid-template-columns:1fr;gap:25px;padding-top:40px;padding-bottom:50px}.home-services h2{font-size:36px}.home-services p{font-size:13px}.home-services>div:last-child{max-width:none}.about-principles{grid-template-columns:1fr;gap:30px;padding-top:50px;padding-bottom:50px}.about-principles h2{font-size:35px}.about-principles h3{font-size:19px}.about-principles p{font-size:13px}.services-page .services-section{padding-top:45px;padding-bottom:50px}.contact-page{padding-top:40px;padding-bottom:55px;min-height:0}.contact-copy h1{font-size:40px;letter-spacing:-1.8px;margin-bottom:23px}.footer-navigation{gap:24px;flex-wrap:wrap;font-size:11px;padding-bottom:25px}.project-filters{max-width:100%;overflow-x:auto}.project-filters a{font-size:11px;padding:15px 0}.projects-page .project-toolbar{margin-bottom:25px}.project-image-count{bottom:16px;left:13px;font-size:8px}.project-detail-heading{padding-bottom:25px}.project-detail-title{padding-top:30px;align-items:flex-end;gap:20px}.project-detail-title .section-marker{font-size:10px;margin-bottom:12px}.project-detail-title h1{font-size:39px;letter-spacing:-1.8px}.detail-location{font-size:10px;padding-bottom:3px}.project-cover{min-height:0;height:380px}.project-cover>button>span{bottom:20px;padding:13px 16px;font-size:10px;gap:13px}.project-story{display:block;padding-top:45px;padding-bottom:40px}.project-story h2{font-size:35px;letter-spacing:-1.4px;margin-bottom:23px}.project-story-copy>p{font-size:13px}.project-story-copy>p.image-credit{font-size:10px}.project-facts{margin-top:35px}.project-facts dl>div{font-size:11px}.project-gallery-section{padding-top:20px;padding-bottom:45px}.project-gallery-section h2{font-size:27px;letter-spacing:-1.1px}.project-gallery-section .section-heading{gap:18px;margin-bottom:25px}.gallery-total{font-size:10px}.project-gallery{grid-template-columns:1fr;gap:25px}.project-gallery figure:nth-child(3n+1){grid-column:auto}.project-gallery figure>button,.project-gallery figure:nth-child(3n+1)>button{aspect-ratio:1.25}.project-gallery figcaption{font-size:9px;padding-top:10px}.gallery-enlarge{height:32px;width:32px;bottom:13px;right:13px}.gallery-credit{font-size:9px;margin-top:23px}.related-projects{padding-top:35px;padding-bottom:50px}.related-projects .section-heading{flex-direction:column;align-items:flex-start;gap:15px;margin-bottom:25px}.related-projects h2{font-size:30px}.related-projects .text-link{font-size:11px}.lightbox{width:calc(100% - 16px)}.lightbox-stage{height:63svh;padding:45px 8px 0}.lightbox-prev,.lightbox-next{top:auto;bottom:15px;transform:none;background:#18251ebf;width:32px;height:32px}.lightbox-prev{left:17px}.lightbox-next{right:17px}.lightbox-info{padding:17px 17px 15px;font-size:10px;line-height:1.6}.lightbox-thumbnails{padding:0 17px 20px;gap:8px}.lightbox-thumbnails button{width:62px;height:45px}.not-found{padding-top:65px;padding-bottom:80px}.not-found h1{font-size:36px;letter-spacing:-1.6px}.not-found p{font-size:13px}.hero-project>div>a{font-size:13px}}
