@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(../media/dm-sans-latin-ext-wght-normal.0hiocdn10l05a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(../media/dm-sans-latin-wght-normal.0tm8u-h63rec8.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/fraunces-vietnamese-wght-normal.0i7lhkw2ij3q1.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/fraunces-latin-ext-wght-normal.0t2awsxbm3c7a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/fraunces-latin-wght-normal.1v4l5w6-86t-v.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(../media/layers.3muxcl8sz6330.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(../media/layers-2x.23wrxu3xxu9-i.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(../media/marker-icon.1le94j_pe_ih1.png)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
:root{--forest:#18372b;--forest-deep:#0d211a;--moss:#667a43;--leaf:#9cb56b;--pollen:#e1b83e;--paper:#f4f5ef;--white:#fff;--ink:#19201c;--muted:#687069;--line:#d7dbd2;--blue:#4c7180;--danger:#a54b3d;--shadow:0 24px 60px #09191324}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);letter-spacing:0;margin:0;font-family:DM Sans Variable,Segoe UI,sans-serif;font-size:16px}button,input,textarea,select{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img{object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:0;font-family:Fraunces Variable,Georgia,serif;font-weight:480}h1 em,h2 em{font-weight:300}.site-header{z-index:30;color:#fff;border-bottom:1px solid #ffffff40;justify-content:space-between;align-items:center;width:100%;height:92px;padding:0 5vw;display:flex;position:absolute;top:0;left:0}.brand{align-items:center;gap:13px;max-width:240px;display:inline-flex}.brand-mark{border:1px solid;border-radius:50%;flex:0 0 42px;place-items:center;width:42px;height:42px;font-family:Fraunces Variable,serif;font-weight:650;display:grid}.brand-logo{background:#f2ead5;position:relative;overflow:hidden}.brand-logo img{object-fit:cover;transform:scale(1.72)}.brand-name{text-transform:uppercase;font-size:13px;line-height:1.15}.brand-name strong{opacity:.75;margin-top:3px;font-size:10px;font-weight:600;display:block}.site-nav{align-items:center;gap:27px;font-size:13px;display:flex}.site-nav>a:not(.header-cta){opacity:.88}.site-nav>a:hover{opacity:1}.header-cta{border:1px solid #ffffffb3;padding:13px 18px}.language-button,.menu-button{color:inherit;cursor:pointer;background:0 0;border:0}.language-menu{position:relative}.language-trigger{min-height:38px;color:inherit;cursor:pointer;background:#0d211a29;border:1px solid #ffffff59;border-radius:3px;align-items:center;gap:7px;padding:0 10px;display:flex}.language-trigger:hover,.language-trigger[aria-expanded=true]{background:#0d211a61;border-color:#ffffffbf}.language-code{font-size:10px;font-weight:750}.language-current{text-overflow:ellipsis;white-space:nowrap;max-width:74px;font-size:11px;overflow:hidden}.language-trigger svg:last-child{transition:transform .2s}.language-trigger svg.rotated{transform:rotate(180deg)}.language-options{z-index:50;width:210px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:4px;padding:7px;animation:.18s both language-in;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 45px #09191333}@keyframes language-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.language-options>p{color:var(--muted);text-transform:uppercase;margin:4px 8px 7px;font-size:9px;font-weight:750}.language-options button{width:100%;min-height:39px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:2px;grid-template-columns:31px 1fr 18px;align-items:center;gap:8px;padding:0 8px;display:grid}.language-options button:hover{background:#f1f3ee}.language-options button.active{color:var(--forest);background:#e8eee3}.language-options button>span{color:var(--muted);font-size:9px;font-weight:750}.language-options button>strong{font-size:12px;font-weight:580}.language-options button>svg{justify-self:end}.menu-button{place-items:center;width:44px;height:44px;display:none}.hero{--hero-shift:0px;color:#fff;background:var(--forest-deep);height:94vh;min-height:760px;max-height:980px;position:relative;overflow:hidden}.hero-media{transform:translateY(var(--hero-shift)) scale(1.04);will-change:transform;position:absolute;inset:-7%}.hero-media img{object-fit:cover;object-position:50% 58%}.hero-shade{background:#05140e7a;position:absolute;inset:0}.hero-content{z-index:3;width:min(920px,78vw);padding:26vh 0 0 8vw;position:relative}.eyebrow{color:var(--moss);text-transform:uppercase;margin-bottom:21px;font-size:12px;font-weight:700}.eyebrow.light{color:#ffffffb8}.hero h1{max-width:870px;margin-bottom:22px;font-size:76px;line-height:.98}.hero h1 em{color:#dbe7c7;display:block}.hero-copy{color:#ffffffd1;max-width:470px;font-size:20px;line-height:1.5}.hero-actions{align-items:center;gap:30px;margin-top:38px;display:flex}.button{cursor:pointer;border:0;justify-content:center;align-items:center;gap:11px;min-height:50px;padding:0 22px;font-size:14px;font-weight:650;display:inline-flex}.button-accent{background:var(--pollen);color:#1f261e}.button-dark{background:var(--forest-deep);color:#fff}.button-outline{border:1px solid var(--line);color:var(--ink);background:#fff}.text-link{border-bottom:1px solid;align-items:center;gap:9px;padding-bottom:6px;font-size:14px;font-weight:600;display:inline-flex}.text-link.light{color:#fff}.hero-index{opacity:.65;gap:22px;font-size:10px;display:flex;position:absolute;bottom:34px;right:5vw}.hero-leaf{z-index:2;border:1px solid #ffffff6b;border-radius:100% 0;position:absolute;transform:rotate(-20deg)}.hero-leaf-one{width:190px;height:92px;top:22%;right:8vw}.hero-leaf-two{width:90px;height:42px;bottom:17%;right:23vw;transform:rotate(38deg)}.intro-band{background:var(--white);grid-template-columns:.45fr .8fr 1.45fr .65fr;align-items:start;gap:4vw;padding:125px 7vw;display:grid}.section-index{color:var(--muted);text-transform:uppercase;font-size:11px}.intro-team-photo{aspect-ratio:3/4;width:100%;position:relative;overflow:hidden}.intro-team-photo:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #0d211a14}.intro-team-photo img{object-fit:cover;object-position:50% 45%;transition:transform .8s}.intro-team-photo:hover img{transform:scale(1.025)}.intro-copy h2,.section-heading h2,.project-copy h2,.area-copy h2{font-size:52px;line-height:1.08}.intro-copy>p{max-width:590px;color:var(--muted);margin:30px 0 0 auto;font-size:18px;line-height:1.65}.intro-proof{align-self:end;gap:18px;display:grid}.intro-proof span{border-top:1px solid var(--line);color:var(--muted);padding-top:14px;font-size:13px}.intro-proof strong{color:var(--forest);font-family:Fraunces Variable,serif;font-size:27px;font-weight:500;display:block}.services-section{padding:118px 7vw 130px}.section-heading{grid-template-columns:1.2fr .7fr;align-items:end;gap:10vw;margin-bottom:70px;display:grid}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted);line-height:1.7}.service-list{border-top:1px solid var(--line)}.service-row{border-bottom:1px solid var(--line);grid-template-columns:70px 1.3fr .85fr 52px;align-items:center;gap:30px;min-height:132px;transition:color .25s,padding .25s,background .25s;display:grid}.service-row:hover{color:#fff;background:var(--forest);padding:0 18px}.service-number{color:var(--muted);font-size:11px}.service-row:hover .service-number,.service-row:hover p{color:#ffffffa8}.service-row h3{margin:0;font-family:Fraunces Variable,serif;font-size:27px;font-weight:460}.service-row p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.service-row>a{border:1px solid var(--line);border-radius:50%;place-items:center;width:45px;height:45px;display:grid}.projects-section{color:#fff;background:var(--forest-deep);grid-template-columns:.78fr 1.22fr;min-height:780px;padding:110px 7vw;display:grid;overflow:hidden}.project-copy{align-self:center;max-width:440px}.project-copy h2{margin-bottom:28px}.project-copy>p{color:#ffffffab;line-height:1.7}.project-copy .text-link{margin-top:25px}.leaf-gallery{min-height:560px;position:relative}.leaf-photo{box-shadow:var(--shadow);border-radius:100% 0;position:absolute;overflow:hidden}.leaf-photo img{transition:transform .8s}.leaf-photo:hover img{transform:scale(1.04)}.leaf-photo-main{width:72%;height:78%;top:0;right:3%;transform:rotate(4deg)}.leaf-photo-main img{transform:rotate(-4deg)scale(1.12)}.leaf-photo-main:hover img{transform:rotate(-4deg)scale(1.16)}.leaf-photo-detail{border:9px solid var(--forest-deep);width:36%;height:46%;bottom:0;left:3%;transform:rotate(-18deg)}.leaf-photo-detail img{object-position:80% 70%;transform:rotate(18deg)scale(1.5)}.gallery-caption{color:#ffffffa6;font-size:11px;position:absolute;bottom:4px;right:0}.work-gallery{background:#ffffff1f;border-top:1px solid #ffffff26;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:80px;padding-top:34px;display:grid}.work-gallery figure{background:var(--forest-deep);min-width:0;margin:0}.work-gallery figure>div{aspect-ratio:4/5;position:relative;overflow:hidden}.work-gallery img{object-fit:cover;transition:transform .65s}.work-gallery figure:hover img{transform:scale(1.035)}.work-gallery figcaption{color:#ffffffad;background:var(--forest-deep);text-transform:uppercase;min-height:44px;padding:13px 2px 0;font-size:10px}.process-section{background:#fff;padding:120px 7vw}.section-heading.compact{grid-template-columns:1fr;margin-bottom:50px}.process-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.process-grid article{border-right:1px solid var(--line);min-height:260px;padding:30px 38px 25px 0}.process-grid article+article{padding-left:38px}.process-grid article:last-child{border-right:0}.process-grid span{color:var(--moss);font-size:12px}.process-grid h3{margin:63px 0 15px;font-family:Fraunces Variable,serif;font-size:24px;font-weight:480}.process-grid p{color:var(--muted);font-size:14px;line-height:1.6}.service-area{grid-template-columns:1fr 1fr;min-height:650px;display:grid}.area-map{isolation:isolate;background:#dfe6d7;min-height:560px;position:relative;overflow:hidden}.area-map-canvas,.area-map-loading{width:100%;height:100%;position:absolute;inset:0}.area-map .leaflet-tile-pane{filter:saturate(.62)contrast(.92)brightness(.96)}.area-map .leaflet-control-attribution{color:#5d665f;background:#fffc;margin:0 7px 6px 0;padding:3px 6px;font-size:8px}.area-map .leaflet-control-attribution svg{display:none!important}.area-origin-marker{background:0 0;border:0}.area-origin-marker>span{background:var(--forest);border:7px solid #ffffffdb;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 9px 30px #09191347}.area-origin-marker i{background:var(--pollen);border-radius:50%;width:7px;height:7px}.map-origin{z-index:500;color:#fff;background:var(--forest-deep);min-width:170px;box-shadow:var(--shadow);pointer-events:none;align-items:center;gap:9px;padding:11px 14px;display:flex;position:absolute;top:calc(50% + 48px);left:50%;transform:translate(-50%)}.map-origin>span{gap:2px;display:grid}.map-origin strong{font-size:12px}.map-origin small{color:#ffffff94;font-size:8px}.area-copy{background:#e7e2d5;padding:100px 9vw 90px 8vw}.area-copy>p{color:#60665f;line-height:1.65}.area-copy ul{margin:30px 0;padding:0;list-style:none}.area-copy li{align-items:center;gap:10px;margin:12px 0;font-size:14px;display:flex}.closing-cta{text-align:center;color:#fff;background:var(--blue);place-content:center;min-height:540px;display:grid}.closing-cta h2{margin-bottom:35px;font-size:65px;line-height:1}.closing-cta a{border-bottom:1px solid #fff;align-items:center;gap:14px;margin:auto;padding:14px 0;font-weight:650;display:inline-flex}.site-footer{color:#ffffffba;background:var(--forest-deep);grid-template-columns:1.3fr .7fr 1fr auto;align-items:center;gap:30px;padding:55px 6vw;font-size:12px;display:grid}.footer-brand{color:#fff}.site-footer div:nth-child(3){gap:20px;display:flex}@media (max-width:1000px){.site-nav{gap:16px}.site-nav>a:not(.header-cta){display:none}.hero h1{font-size:62px}.intro-band{grid-template-columns:.75fr 1.25fr}.intro-band .section-index{grid-column:1/-1}.intro-team-photo{grid-area:2/1/4}.intro-copy{grid-column:2}.intro-proof{grid-column:2;grid-template-columns:1fr 1fr}.service-row{grid-template-columns:55px 1.2fr .8fr 45px;gap:18px}.projects-section{grid-template-columns:1fr 1.35fr}}@media (max-width:760px){.site-header{height:74px;padding:0 20px}.brand{max-width:200px}.brand-mark{flex-basis:38px;width:38px;height:38px}.site-nav{display:none}.site-nav.is-open{width:100%;color:var(--ink);box-shadow:var(--shadow);background:#fff;flex-direction:column;align-items:stretch;padding:26px 20px;display:flex;position:absolute;top:74px;left:0}.site-nav.is-open>a:not(.header-cta){display:block}.site-nav.is-open .header-cta{text-align:center;color:#fff;background:var(--forest)}.site-nav.is-open .language-menu{color:var(--ink)}.site-nav.is-open .language-trigger{border-color:var(--line);background:#f5f6f2;justify-content:flex-start;width:100%}.site-nav.is-open .language-current{max-width:none}.site-nav.is-open .language-trigger svg:last-child{margin-left:auto}.site-nav.is-open .language-options{width:100%;box-shadow:none;margin-top:7px;position:static}.menu-button{display:grid}.hero{height:790px;max-height:none}.hero-content{width:auto;padding:190px 24px 0}.hero h1{font-size:50px}.hero-copy{font-size:17px}.hero-actions{flex-direction:column;align-items:flex-start;gap:22px}.hero-index{left:24px;right:auto}.hero-leaf-one{top:18%;right:-50px}.intro-band{grid-template-columns:1fr;padding:85px 24px}.intro-band .section-index,.intro-team-photo,.intro-copy{grid-area:auto/1}.intro-team-photo{aspect-ratio:4/5;width:min(100%,520px)}.intro-copy h2,.section-heading h2,.project-copy h2,.area-copy h2{font-size:40px}.intro-copy>p{margin-top:25px;font-size:16px}.intro-proof{grid-column:1}.services-section{padding:85px 24px}.section-heading{grid-template-columns:1fr;gap:25px;margin-bottom:45px}.service-row{grid-template-columns:34px 1fr 42px;gap:12px;padding:24px 0}.service-row:hover{padding:24px 12px}.service-row h3{font-size:22px}.service-row p{grid-column:2/4}.projects-section{grid-template-columns:1fr;min-height:960px;padding:80px 24px}.leaf-gallery{min-height:510px;margin-top:40px}.leaf-photo-main{width:85%;height:72%}.leaf-photo-detail{width:45%;height:40%}.work-gallery{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:55px}.work-gallery figure>div{aspect-ratio:1}.process-section{padding:80px 24px}.process-grid{grid-template-columns:1fr}.process-grid article,.process-grid article+article{border-right:0;border-bottom:1px solid var(--line);min-height:190px;padding:25px 0}.process-grid h3{margin-top:35px}.service-area{grid-template-columns:1fr}.area-map{min-height:420px}.area-copy{padding:70px 24px}.closing-cta{min-height:480px;padding:60px 24px}.closing-cta h2{font-size:48px}.site-footer{grid-template-columns:1fr;align-items:start;padding:50px 24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.hero-media{transform:scale(1.04)}}.booking-page{background:#fff;min-height:100vh}.booking-wizard{grid-template-columns:370px 1fr;min-height:100vh;display:grid}.booking-progress{color:#fff;background:var(--forest-deep);flex-direction:column;justify-content:space-between;height:100vh;padding:38px 48px;display:flex;position:sticky;top:0;overflow:hidden}.booking-progress:after{content:"";border:1px solid #ffffff29;border-radius:100% 0;width:260px;height:125px;position:absolute;bottom:8%;right:-95px;transform:rotate(-25deg)}.back-home{z-index:1;color:#ffffffb3;align-items:center;gap:6px;width:fit-content;font-size:13px;display:inline-flex;position:relative}.booking-progress h1{margin-bottom:21px;font-size:47px;line-height:1.03}.booking-progress>div>p:last-child{color:#ffffff9e;max-width:260px;font-size:14px;line-height:1.6}.booking-progress ol{z-index:1;gap:20px;margin:0;padding:0;list-style:none;display:grid;position:relative}.booking-progress li{color:#ffffff6b;align-items:center;gap:13px;font-size:13px;display:flex}.booking-progress li span{border:1px solid #ffffff47;border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;display:grid}.booking-progress li.active{color:#fff;font-weight:650}.booking-progress li.active span{color:var(--forest-deep);border-color:var(--pollen);background:var(--pollen)}.booking-progress li.done{color:#ffffffb8}.booking-progress li.done span{border-color:var(--leaf);color:var(--leaf)}.booking-progress>small{color:#ffffff80;align-items:center;gap:8px;display:flex}.booking-panel{flex-direction:column;width:min(920px,100%);min-height:100vh;margin:auto;padding:80px 70px 30px;display:flex}.mobile-progress{display:none}.form-step{flex:1;animation:.35s both step-in}@keyframes step-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.form-step h2{margin-bottom:13px;font-size:44px}.step-intro{max-width:630px;color:var(--muted);margin-bottom:35px;line-height:1.6}.service-picker{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:28px;display:grid}.service-picker button{text-align:left;min-height:74px;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:4px;grid-template-columns:28px 1fr 24px;align-items:center;padding:13px 15px;display:grid}.service-picker button:hover{border-color:var(--moss)}.service-picker button.selected{border-color:var(--forest);background:#edf1e8}.service-picker button>span{color:var(--muted);font-size:10px}.service-picker button strong{font-weight:620}.service-picker button i{color:#0000;border:1px solid #c8cec5;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.service-picker button.selected i{color:#fff;border-color:var(--forest);background:var(--forest)}.field{color:var(--ink);gap:8px;margin-bottom:22px;font-size:13px;font-weight:650;display:grid}.field span small,.field>small{color:var(--muted);margin-left:6px;font-weight:450}.field input,.field textarea{width:100%;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:3px;outline:0;padding:14px 15px}.field input:focus,.field textarea:focus{border-color:var(--moss);box-shadow:0 0 0 3px #667a431f}.field textarea{resize:vertical;min-height:96px}.address-search,.input-with-icon{border:1px solid var(--line);color:var(--muted);border-radius:3px;align-items:center;padding-left:14px;display:flex}.address-search:focus-within,.input-with-icon:focus-within{border-color:var(--moss);box-shadow:0 0 0 3px #667a431f}.address-search input,.input-with-icon input{border:0;box-shadow:none!important}.address-search button{color:#fff;background:var(--forest);cursor:pointer;border:0;flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid}.location-status{color:var(--muted);align-items:center;gap:7px;margin:-10px 0 14px;font-size:12px;display:flex}.booking-map,.map-loading{background:#dfe6d7;border-radius:4px;width:100%;height:360px}.map-loading{color:var(--muted);place-items:center;display:grid}.custom-map-marker span{background:var(--forest);border:8px solid #fff;border-radius:50% 50% 50% 0;width:34px;height:34px;display:block;transform:rotate(-45deg);box-shadow:0 5px 18px #0000004d}.coordinate-row{color:var(--muted);gap:18px;padding:11px 3px 0;font-size:11px;display:flex}.coordinate-row .area-ok{color:var(--forest);align-items:center;gap:4px;margin-left:auto;font-weight:650;display:flex}.date-grid{grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:28px;display:grid}.date-grid button{min-height:105px;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:4px;place-items:center;padding:10px;display:grid;position:relative}.date-grid button:hover,.date-grid button.selected{border-color:var(--forest)}.date-grid button.selected{color:#fff;background:var(--forest)}.date-grid button span,.date-grid button small{text-transform:capitalize;color:var(--muted)}.date-grid button.selected span,.date-grid button.selected small{color:#ffffffad}.date-grid button strong{margin:2px 0;font-family:Fraunces Variable,serif;font-size:27px;font-weight:500}.date-grid button svg{position:absolute;top:7px;right:7px}.date-step{max-width:820px}.calendar-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:13px;display:flex}.calendar-heading>div:first-child{gap:4px;display:grid}.calendar-heading span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700}.calendar-heading strong{font-size:14px}.calendar-heading>div:last-child{gap:5px;display:flex}.calendar-heading button{width:37px;height:37px;color:var(--forest);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:3px;place-items:center;display:grid}.availability-calendar{border:1px solid var(--line);border-radius:4px;overflow:hidden}.weekday-row,.availability-week{grid-template-columns:repeat(6,1fr);display:grid}.weekday-row{color:#6d756e;background:#f1f3ee;min-height:38px}.weekday-row span{border-right:1px solid var(--line);text-transform:capitalize;place-items:center;padding:5px;font-size:10px;font-weight:700;display:grid}.weekday-row span:last-child{border-right:0}.availability-week{border-top:1px solid var(--line)}.availability-day{text-align:left;min-width:0;min-height:88px;color:var(--ink);border:0;border-right:1px solid var(--line);cursor:pointer;background:#fff;align-content:center;padding:10px;display:grid;position:relative}.availability-day:last-child{border-right:0}.availability-day strong{font-family:Fraunces Variable,serif;font-size:23px;font-weight:520}.availability-day>span{color:var(--muted);text-transform:capitalize;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.availability-day small{color:var(--moss);text-transform:uppercase;margin-top:6px;font-size:8px;font-weight:700}.availability-day:hover:not(:disabled){box-shadow:inset 0 0 0 2px var(--moss)}.availability-day.limited{background:#f8f1d9}.availability-day.limited small{color:#7c6320}.availability-day.blocked{color:#91483c;cursor:not-allowed;background:#f6e5e1}.availability-day.blocked>span,.availability-day.blocked small{color:#a5655b}.availability-day.selected{color:#fff;background:var(--forest);box-shadow:inset 0 0 0 2px var(--forest)}.availability-day.selected>span,.availability-day.selected small{color:#ffffffb3}.availability-day>svg{position:absolute;top:9px;right:9px}.calendar-availability-legend{color:var(--muted);flex-wrap:wrap;gap:16px;margin:11px 0 20px;font-size:9px;display:flex}.calendar-availability-legend span{align-items:center;gap:6px;display:flex}.calendar-availability-legend i{border:1px solid var(--line);background:#fff;border-radius:2px;width:9px;height:9px}.calendar-availability-legend i.limited{background:#f8f1d9;border-color:#d7c783}.calendar-availability-legend i.blocked{background:#f6e5e1;border-color:#d8aaa2}.calendar-footer{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;display:flex}.load-dates{min-height:42px;color:var(--forest);border:1px solid var(--forest);cursor:pointer;background:#fff;border-radius:3px;align-items:center;gap:8px;padding:0 15px;font-size:11px;font-weight:700;display:inline-flex}.calendar-jump{width:220px;color:var(--ink);gap:6px;font-size:11px;font-weight:650;display:grid}.calendar-jump .input-with-icon{height:42px}.calendar-jump input{border:0;outline:0;min-width:0;padding:8px}.exceptional-date{color:#713e35;background:#f8e9e5;border:1px solid #dfb8b0;border-radius:3px;align-items:flex-start;gap:11px;margin:0 0 20px;padding:13px 15px;display:flex}.exceptional-date>div{gap:4px;display:grid}.exceptional-date strong{text-transform:capitalize;font-size:11px}.exceptional-date span{color:#8e625a;font-size:10px}.session-picker,.contact-picker{border:0;flex-wrap:wrap;gap:9px;margin:0 0 25px;padding:0;display:flex}.session-picker legend,.contact-picker legend{width:100%;margin-bottom:9px;font-size:13px;font-weight:650}.session-picker label{min-width:110px}.session-picker input,.contact-picker input{accent-color:var(--forest)}.session-picker label,.contact-picker label{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.session-picker label span{text-align:center;border:1px solid var(--line);border-radius:3px;min-width:105px;padding:11px 15px;display:block}.session-picker label:has(input:checked) span{border-color:var(--forest);background:#edf1e8}.session-picker input{opacity:0;position:absolute}.two-fields{grid-template-columns:1fr 1fr;gap:16px;display:grid}.upload-field{min-height:105px;color:var(--muted);cursor:pointer;background:#f8f9f6;border:1px dashed #adb5a9;border-radius:4px;justify-content:center;align-items:center;gap:14px;margin-bottom:12px;padding:16px;display:flex}.upload-field input{opacity:0;width:1px;height:1px;position:absolute}.upload-field span{gap:4px;display:grid}.upload-field strong{color:var(--ink);font-size:13px}.upload-field small{font-size:11px}.file-list{flex-wrap:wrap;gap:7px;margin-bottom:18px;display:flex}.file-list>span{border:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;border-radius:3px;align-items:center;gap:6px;max-width:240px;padding:7px 9px;font-size:11px;display:inline-flex;overflow:hidden}.file-list button{cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.consent{color:var(--muted);cursor:pointer;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;display:flex}.consent input{accent-color:var(--forest);margin-top:3px}.booking-controls{border-top:1px solid var(--line);justify-content:space-between;gap:15px;margin-top:25px;padding-top:28px;display:flex}.booking-controls button:disabled{cursor:not-allowed;opacity:.35}.booking-success{text-align:center;align-content:center;place-items:center;min-height:100vh;padding:35px;display:grid}.success-icon{color:#fff;background:var(--forest);border-radius:50%;place-items:center;width:64px;height:64px;margin-bottom:28px;display:grid}.booking-success h1{margin-bottom:18px;font-size:52px}.booking-success>p:not(.eyebrow){max-width:570px;color:var(--muted);line-height:1.65}.reference{border:1px solid var(--line);gap:6px;min-width:220px;margin:25px 0;padding:19px;display:grid}.reference span{color:var(--muted);text-transform:uppercase;font-size:11px}.reference strong{font-family:Fraunces Variable,serif;font-size:27px}.success-actions{gap:10px;display:flex}.booking-submit-error{color:var(--danger);flex:1;margin:0;font-size:12px}.customer-request-page{background:#f2f4ee;min-height:100vh}.customer-request-header{color:#fff;background:var(--forest-deep);justify-content:space-between;align-items:center;min-height:76px;padding:0 max(24px,6vw);display:flex}.customer-brand{align-items:center;gap:11px;display:flex}.customer-brand>span{border:1px solid #ffffffb3;border-radius:50%;place-items:center;width:40px;height:40px;font-family:Fraunces Variable,serif;font-weight:650;display:grid}.customer-brand strong{text-transform:uppercase;font-size:12px;display:grid}.customer-brand small{opacity:.65;font-size:9px;font-weight:500}.customer-request-header nav{align-items:center;gap:22px;font-size:12px;display:flex}.customer-request-header nav a{align-items:center;gap:7px;display:inline-flex}.customer-request-hero{color:#fff;background:var(--forest);justify-content:space-between;align-items:flex-end;min-height:260px;padding:64px max(24px,10vw) 48px;display:flex}.customer-request-hero h1{margin:7px 0 8px;font-size:clamp(38px,6vw,68px)}.customer-request-hero>div>p:last-child{color:#ffffffa6;letter-spacing:.08em;margin:0;font-weight:700}.request-state{min-width:180px;color:var(--forest-deep);background:#dce8cd;border-radius:4px;align-items:center;gap:10px;padding:13px 15px;display:flex}.request-state span{text-transform:uppercase;gap:2px;font-size:9px;display:grid}.request-state strong{text-transform:none;font-size:12px}.state-closed{background:#ead9d4}.state-completed{background:#d5e4da}.customer-request-content{width:min(1160px,100% - 40px);margin:0 auto;padding:42px 0 80px}.request-summary{border-bottom:1px solid var(--line);grid-template-columns:.8fr 1.15fr 1.4fr;margin-bottom:44px;display:grid}.request-fact{border-left:1px solid var(--line);grid-template-columns:28px 1fr;gap:12px;min-height:122px;padding:25px 28px;display:grid}.request-fact:first-child{border-left:0}.request-fact>svg{color:var(--moss)}.request-fact span{color:var(--muted);text-transform:uppercase;align-content:start;gap:6px;font-size:10px;font-weight:700;display:grid}.request-fact strong{color:var(--ink);text-transform:none;font-size:14px;line-height:1.45}.request-fact small{text-transform:none}.request-fact a{color:var(--forest);text-transform:none;align-items:center;gap:5px;display:inline-flex}.customer-request-grid{grid-template-columns:minmax(0,1fr) 390px;gap:64px;display:grid}.request-section{padding-top:8px}.request-section ul{border-top:1px solid var(--line);gap:0;margin:20px 0 35px;padding:0;list-style:none;display:grid}.request-section li{border-bottom:1px solid var(--line);padding:17px 0;font-family:Fraunces Variable,serif;font-size:23px}.request-details-label{margin-top:34px}.request-notes{max-width:680px;color:var(--muted);white-space:pre-wrap;line-height:1.7}.request-actions{background:var(--line);align-content:start;gap:1px;display:grid}.request-actions>div{background:#fff;padding:28px}.request-actions svg{color:var(--moss)}.request-actions h2{margin:12px 0 8px;font-family:DM Sans Variable,sans-serif;font-size:18px;font-weight:700}.request-actions p{color:var(--muted);font-size:13px;line-height:1.55}.request-actions label{margin:18px 0 10px;display:block}.request-actions input{border:1px solid var(--line);background:#fff;border-radius:3px;width:100%;min-height:46px;padding:0 12px}.request-actions .button{width:100%}.cancel-request>div{gap:8px;display:flex}.button-danger{color:#fff;border:1px solid var(--danger);background:var(--danger)}.text-danger{color:var(--danger);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:700}.request-actions>.request-feedback{color:var(--forest);background:#e4ecd9;margin:0;padding:15px 20px}@media (max-width:760px){.customer-request-header{min-height:66px}.customer-request-header nav a:first-child{display:none}.customer-request-hero{flex-direction:column;align-items:flex-start;gap:30px;min-height:300px;padding-top:45px}.request-state{width:100%}.request-summary{grid-template-columns:1fr}.request-fact{border-top:1px solid var(--line);border-left:0;min-height:95px;padding:20px 0}.customer-request-grid{grid-template-columns:1fr;gap:42px}}@media (max-width:900px){.booking-wizard{grid-template-columns:275px 1fr}.booking-progress{padding:32px 30px}.booking-panel{padding:65px 38px 28px}}@media (max-width:680px){.booking-wizard{display:block}.booking-progress{height:auto;padding:22px 20px;display:block;position:relative}.booking-progress>div,.booking-progress ol,.booking-progress>small{display:none}.booking-panel{min-height:100vh;padding:25px 20px 22px}.mobile-progress{color:var(--muted);gap:7px;margin-bottom:35px;font-size:11px;display:grid}.mobile-progress>div{background:var(--line);height:3px}.mobile-progress i{background:var(--forest);height:100%;transition:width .25s;display:block}.form-step h2{font-size:36px}.service-picker{grid-template-columns:1fr}.date-grid{grid-template-columns:repeat(2,1fr)}.date-step{max-width:none}.weekday-row span{overflow-wrap:anywhere;min-width:0;padding:4px 1px;font-size:8px}.availability-day{min-height:72px;padding:7px}.availability-day strong{font-size:20px}.availability-day>span{font-size:8px}.availability-day small{display:none}.availability-day>svg{width:11px;top:6px;right:6px}.calendar-footer{flex-direction:column;align-items:stretch}.calendar-jump{width:100%}.two-fields{grid-template-columns:1fr;gap:0}.booking-map,.map-loading{height:310px}.coordinate-row span:not(.area-ok){display:none}.booking-controls .button{min-width:0;padding:0 15px}.success-actions{flex-direction:column;width:100%}}.admin-shell{color:#20251f;background:#f2f4ef;min-height:100vh}.admin-sidebar{z-index:40;color:#ffffffbf;background:var(--forest-deep);flex-direction:column;width:246px;padding:25px 16px 18px;display:flex;position:fixed;inset:0 auto 0 0}.admin-brand{color:#fff;border-bottom:1px solid #ffffff1a;align-items:center;gap:11px;padding:0 8px 27px;display:flex}.admin-brand>span{border:1px solid #ffffffb3;border-radius:50%;place-items:center;width:38px;height:38px;font-family:Fraunces Variable,serif;font-weight:650;display:grid}.admin-brand strong,.admin-user strong{gap:3px;font-size:13px;display:grid}.admin-brand small,.admin-user small{color:#ffffff6b;text-transform:uppercase;font-size:9px;font-weight:500}.admin-brand button{color:#fff;background:0 0;border:0;margin-left:auto;display:none}.admin-sidebar nav{gap:5px;padding-top:24px;display:grid}.admin-sidebar nav button,.sidebar-bottom>button{width:100%;min-height:43px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:12px;padding:0 12px;display:flex}.admin-sidebar nav button:hover,.admin-sidebar nav button.active,.sidebar-bottom>button:hover{color:#fff;background:#ffffff17}.admin-sidebar nav button.active{box-shadow:inset 3px 0 var(--pollen)}.admin-sidebar nav button i{color:#1e281f;background:var(--pollen);border-radius:10px;place-items:center;min-width:22px;height:20px;margin-left:auto;font-size:10px;font-style:normal;font-weight:700;display:grid}.sidebar-bottom{gap:15px;margin-top:auto;display:grid}.admin-user{border-top:1px solid #ffffff1a;grid-template-columns:36px 1fr 18px;align-items:center;gap:10px;padding:16px 7px 0;display:grid}.admin-user>span{width:36px;height:36px;color:var(--forest-deep);background:var(--leaf);border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.admin-user>button{color:#ffffff94;cursor:pointer;background:0 0;border:0;place-items:center;width:30px;height:30px;padding:0;display:grid}.admin-user>button:hover{color:#fff}.admin-main{min-height:100vh;margin-left:246px}.admin-topbar{z-index:25;background:#fffffff5;border-bottom:1px solid #dfe2db;justify-content:space-between;align-items:center;height:70px;padding:0 34px;display:flex;position:sticky;top:0}.admin-menu{background:0 0;border:0;display:none}.global-search,.table-search{color:#8b918b;align-items:center;gap:9px;display:flex}.global-search input,.table-search input{background:0 0;border:0;outline:none;width:310px;font-size:13px}.global-search kbd{background:#f6f7f4;border:1px solid #d8dcd5;border-radius:3px;padding:3px 6px;font-size:10px}.topbar-actions{align-items:center;gap:8px;display:flex}.topbar-actions>a,.topbar-actions>button:not(.new-request){color:#586059;cursor:pointer;background:#fff;border:1px solid #e0e3dd;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:relative}.topbar-actions>button i{background:var(--danger);border:1px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:7px}.new-request,.admin-primary{color:#fff;background:var(--forest);cursor:pointer;border:0;border-radius:3px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 15px;font-size:12px;font-weight:650;display:inline-flex}.admin-content{padding:34px}.admin-page-title{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px;display:flex}.admin-page-title p{color:#7f867e;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:700}.admin-page-title h1{margin:0;font-family:DM Sans Variable,sans-serif;font-size:29px;font-weight:660}.stat-grid{grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px;display:grid}.stat-grid article{background:#fff;border:1px solid #dfe2db;border-radius:5px;grid-template-columns:1fr auto;padding:19px;display:grid;position:relative}.stat-grid p{color:#747c74;margin:0 0 15px;font-size:11px}.stat-grid strong{grid-column:1;font-size:27px}.stat-grid small{color:#838a83;grid-column:1;margin-top:5px;font-size:10px}.stat-icon{width:37px;height:37px;color:var(--forest);background:#e8eee3;border-radius:50%;grid-area:1/2/4;place-items:center;display:grid}.stat-1{color:var(--blue);background:#e6eef0}.stat-2{color:#6e5b23;background:#f4ebc9}.stat-3{color:#875348;background:#f1e5df}.dashboard-grid{grid-template-columns:1.25fr .75fr;gap:16px;margin-bottom:16px;display:grid}.admin-panel{background:#fff;border:1px solid #dfe2db;border-radius:5px}.panel-heading{border-bottom:1px solid #e6e9e3;justify-content:space-between;align-items:center;padding:19px 21px;display:flex}.panel-heading p{color:#818881;text-transform:uppercase;margin:0 0 4px;font-size:9px;font-weight:700}.panel-heading h2{margin:0;font-family:DM Sans Variable,sans-serif;font-size:15px;font-weight:680}.panel-heading button{color:var(--forest);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:10px;font-weight:650;display:flex}.visit-list article{border-bottom:1px solid #edf0eb;grid-template-columns:48px 4px 1fr auto 28px;align-items:center;gap:12px;min-height:67px;padding:8px 20px;display:grid}.visit-list time{color:#6d756e;font-size:11px}.visit-list>article>i{background:var(--moss);border-radius:2px;width:4px;height:34px}.visit-list i.yellow{background:var(--pollen)}.visit-list i.blue{background:var(--blue)}.visit-list div{gap:4px;display:grid}.visit-list strong,.request-panel strong{font-size:12px}.visit-list span,.request-panel small{color:#7a827b;font-size:10px}.visit-list>article>small{color:#546256;background:#edf1e9;border-radius:3px;padding:5px 8px;font-size:9px}.visit-list article:nth-child(2)>small{color:#6e5b23;background:#f6eccb}.visit-list button{color:#929892;background:0 0;border:0}.capacity{color:#6e766f;background:#f7f8f5;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:15px 20px;font-size:10px;display:grid}.capacity>div{grid-template-columns:repeat(4,1fr);gap:3px;display:grid}.capacity>div i{background:var(--forest);border-radius:3px;height:5px}.capacity>div i.free{background:#d8ddd5}.capacity strong{font-size:9px}.request-panel>article{border-bottom:1px solid #edf0eb;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;min-height:76px;padding:12px 19px;display:grid}.client-avatar{width:35px;height:35px;color:var(--forest);background:#e9eee4;border-radius:50%;place-items:center;font-size:10px;font-weight:700;display:grid}.request-panel article>div{gap:4px;display:grid}.request-panel article time{color:#747c74;font-size:10px}.request-panel article i{color:#6b5b29;grid-column:3;font-size:8px;font-style:normal}.forecast-strip>div:last-child{grid-template-columns:repeat(3,1fr);display:grid}.forecast-strip article{border-right:1px solid #e6e9e3;grid-template-columns:35px 1fr;gap:10px;min-height:112px;padding:19px 21px;display:grid}.forecast-strip article:last-child{border:0}.forecast-strip article>span{width:34px;height:34px;color:var(--forest);background:#e9eee4;border-radius:50%;place-items:center;display:grid}.forecast-strip article div{gap:3px;display:grid}.forecast-strip article strong{font-size:11px}.forecast-strip article small,.forecast-strip article p{color:#7e857e;font-size:9px}.forecast-strip article p{grid-column:1/3;margin:6px 0 0}.forecast-strip article>i{color:#9b4b40;grid-column:1/3;font-size:9px;font-style:normal}.admin-toolbar,.calendar-toolbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.segmented{background:#fff;border:1px solid #dfe2db;border-radius:4px;padding:3px;display:flex}.segmented button{color:#707770;cursor:pointer;background:0 0;border:0;border-radius:3px;min-height:31px;padding:0 12px;font-size:10px}.segmented button.active{color:var(--ink);background:#e9ede5;font-weight:650}.segmented span{margin-left:4px}.filter-button,.today-button,.icon-button{color:#515951;cursor:pointer;background:#fff;border:1px solid #dce0d9;border-radius:3px;align-items:center;gap:7px;min-height:38px;padding:0 12px;font-size:10px;display:inline-flex}.icon-button{place-items:center;width:38px;padding:0;display:grid}.title-actions{gap:6px;display:flex}.data-table{background:#fff;border:1px solid #dfe2db;border-radius:5px;overflow:hidden}.data-table .table-head,.data-table article{border-bottom:1px solid #e9ece7;align-items:center;min-height:63px;padding:0 18px;display:grid}.request-table .table-head,.request-table article{grid-template-columns:.65fr 1.5fr 1fr .8fr .9fr 30px}.clients-table .table-head,.clients-table article{grid-template-columns:1.5fr .65fr .9fr .5fr .9fr .75fr 28px}.data-table .table-head{color:#878e87;text-transform:uppercase;background:#f8f9f7;min-height:41px;font-size:9px;font-weight:700}.data-table article:last-child{border-bottom:0}.data-table article:hover{background:#fafbf8}.data-table article>strong,.data-table article b{font-size:11px}.data-table article>span:not(.client-name),.data-table article time{color:#666f67;font-size:10px}.data-table article>span{gap:4px;display:grid}.data-table article small{color:#8a918a;font-size:9px}.data-table article>button{color:#8b928b;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.status,.next-action{color:#586d4a;background:#e9f0e3;border-radius:3px;width:fit-content;padding:5px 8px;font-size:9px;font-style:normal}.status-inspección,.next-action{color:#6c5a21;background:#f5ebc9}.status-fecha-propuesta{color:#416371;background:#e4edf0}.client-name{grid-template-columns:32px 1fr;align-items:center;column-gap:9px}.client-name>i{width:32px;height:32px;color:var(--forest);background:#e7ece3;border-radius:50%;grid-row:1/3;place-items:center;font-size:9px;font-style:normal;font-weight:700;display:grid}.client-name small{grid-column:2}.table-search{background:#fff;border:1px solid #dce0d9;border-radius:3px;min-width:270px;min-height:38px;padding:0 12px}.table-search input{width:100%}.calendar-toolbar>strong{margin-right:auto;font-size:13px}.week-calendar{background:#fff;border:1px solid #dfe2db;border-radius:5px;grid-template-columns:repeat(5,1fr);min-height:570px;display:grid;overflow:hidden}.day-column{border-right:1px solid #e3e6e0}.day-column:last-child{border-right:0}.day-column.current{background:#fbfcf8}.day-column>header{border-bottom:1px solid #e3e6e0;align-items:center;gap:8px;height:64px;padding:0 14px;display:flex;position:relative}.day-column header span{color:#808780;font-size:10px}.day-column header strong{border-radius:50%;place-items:center;width:30px;height:30px;font-size:13px;display:grid}.day-column.current header strong{color:#fff;background:var(--forest)}.day-column header i{color:var(--forest);text-transform:uppercase;margin-left:auto;font-size:8px;font-style:normal;font-weight:700}.day-capacity{border-bottom:1px solid #edf0eb;align-items:center;gap:8px;padding:10px 12px;display:flex}.day-capacity>span{background:#e1e5de;border-radius:2px;flex:1;height:4px}.day-capacity span i{background:var(--moss);border-radius:2px;max-width:100%;height:100%;display:block}.day-capacity small{color:#899089;font-size:8px}.day-jobs{gap:8px;padding:12px;display:grid}.day-jobs article{border-left:3px solid var(--moss);background:#edf1e9;border-radius:3px;gap:6px;min-height:94px;padding:12px;display:grid}.day-column:nth-child(2n) .day-jobs article{border-color:var(--blue);background:#eaf0f1}.day-jobs article.unassigned{border-color:var(--pollen);background:#f7efd7}.day-jobs small,.day-jobs span{color:#697168;font-size:8px}.day-jobs strong{font-size:10px}.calendar-legend{color:#737b73;gap:18px;margin-top:12px;font-size:9px;display:flex}.calendar-legend span,.map-filters button{align-items:center;gap:6px;display:flex}.calendar-legend i,.map-filters i{border-radius:50%;width:8px;height:8px}.legend-green{background:var(--moss)}.legend-blue{background:var(--blue)}.legend-yellow{background:var(--pollen)}.map-layout{grid-template-columns:1.5fr .65fr;gap:15px;min-height:650px;display:grid}.map-panel,.map-side{background:#fff;border:1px solid #dfe2db;border-radius:5px;overflow:hidden}.map-panel{position:relative}.admin-map-canvas,.admin-map-loading{width:100%;height:100%;min-height:650px}.admin-map-loading{color:#747c74;background:#dfe6d7;place-items:center;display:grid}.map-filters{z-index:500;background:#fff;border-radius:4px;padding:4px;display:flex;position:absolute;top:15px;left:15px;box-shadow:0 5px 20px #11221921}.map-filters button{cursor:pointer;background:0 0;border:0;border-radius:3px;min-height:34px;padding:0 10px;font-size:9px}.map-filters button.active{background:#edf1e9}.map-side>article{border-bottom:1px solid #e7eae4;grid-template-columns:38px 1fr;gap:10px;padding:17px 18px;display:grid}.forecast-icon{width:36px;height:36px;color:var(--forest);background:#e8eee3;border-radius:50%;place-items:center;display:grid}.forecast-icon.overdue{color:#984a3f;background:#f2e4df}.map-side article>div{gap:4px;display:grid}.map-side article strong{font-size:11px}.map-side article small,.map-side article p{color:#777f77;margin:0;font-size:9px}.map-side article>i{color:#985044;grid-column:2;font-size:9px;font-style:normal}.map-side article>button{width:fit-content;color:var(--forest);cursor:pointer;background:#fff;border:1px solid #ccd3c8;border-radius:3px;grid-column:2;padding:6px 9px;font-size:9px;font-weight:650}.forecast-summary{color:var(--forest);background:#edf1e9;align-items:center;gap:10px;margin:18px;padding:14px;display:flex}.forecast-summary span{gap:3px;display:grid}.forecast-summary strong{font-size:10px}.forecast-summary small{color:#788078;font-size:8px}@media (max-width:1100px){.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.map-layout{grid-template-columns:1fr}.map-side{grid-template-columns:repeat(3,1fr);display:grid}.map-side .panel-heading,.map-side .forecast-summary{grid-column:1/-1}.map-side>article{border-right:1px solid #e7eae4}.request-table{overflow-x:auto}.request-table .table-head,.request-table article{min-width:780px}.clients-table{overflow-x:auto}.clients-table .table-head,.clients-table article{min-width:850px}}@media (max-width:800px){.admin-sidebar{transition:transform .25s;transform:translate(-100%);box-shadow:12px 0 40px #00000038}.admin-sidebar.open{transform:translate(0)}.admin-brand button{display:block}.admin-main{margin-left:0}.admin-topbar{height:62px;padding:0 16px}.admin-menu{place-items:center;display:grid}.global-search input{width:190px}.global-search kbd,.topbar-actions>a{display:none}.admin-content{padding:24px 16px}.forecast-strip>div:last-child{grid-template-columns:1fr}.forecast-strip article{border-bottom:1px solid #e6e9e3;border-right:0}.week-calendar{min-width:820px}.calendar-toolbar{flex-wrap:wrap}.calendar-toolbar>strong{width:100%}.week-calendar{overflow:visible}.admin-content:has(.week-calendar){overflow-x:auto}.map-side{grid-template-columns:1fr}.map-side .panel-heading,.map-side .forecast-summary{grid-column:1}}@media (max-width:540px){.global-search{display:none}.new-request{padding:0 10px;font-size:10px}.admin-page-title{flex-direction:column;align-items:flex-start}.admin-page-title h1{font-size:25px}.stat-grid{grid-template-columns:1fr 1fr;gap:8px}.stat-grid article{padding:14px}.stat-grid p{min-height:28px}.stat-grid strong{font-size:22px}.stat-icon{width:30px;height:30px}.visit-list article{grid-template-columns:42px 4px 1fr 24px;padding:8px 12px}.visit-list>article>small{display:none}.capacity{grid-template-columns:1fr}.request-panel>article{padding:10px 12px}.admin-toolbar{flex-direction:column;align-items:stretch}.admin-toolbar .segmented{overflow-x:auto}.table-search{min-width:0}.map-filters{left:8px;right:8px;overflow-x:auto}.admin-map-canvas,.admin-map-loading{min-height:520px}}.admin-login-page{background:#fff;grid-template-columns:1.15fr .85fr;min-height:100vh;display:grid}.login-image{background-color:var(--forest-deep);background-image:url(/images/garden-hero.png);background-position:50%;background-size:cover;min-height:100vh;box-shadow:inset 0 0 0 100vmax #05140e6b}.login-form{flex-direction:column;justify-content:center;width:min(430px,100% - 64px);margin:auto;display:flex}.login-brand{color:var(--forest);align-items:center;gap:11px;margin-bottom:70px;display:flex}.login-brand>span{border:1px solid;border-radius:50%;place-items:center;width:43px;height:43px;font-family:Fraunces Variable,serif;font-weight:700;display:grid}.login-brand strong{text-transform:uppercase;gap:2px;font-size:13px;display:grid}.login-brand small{color:var(--muted);font-size:9px}.login-heading{margin-bottom:36px}.login-heading>p{color:var(--moss);text-transform:uppercase;margin-bottom:9px;font-size:10px;font-weight:750}.login-heading h1{margin-bottom:12px;font-size:42px}.login-heading>span{color:var(--muted);line-height:1.6}.login-form>label{gap:8px;margin-bottom:18px;font-size:12px;font-weight:650;display:grid}.login-form>label>div{min-height:49px;color:var(--muted);border:1px solid var(--line);border-radius:3px;align-items:center;padding:0 13px;display:flex}.login-form>label>div:focus-within{border-color:var(--moss);box-shadow:0 0 0 3px #667a431f}.login-form input{background:0 0;border:0;outline:0;flex:1;min-width:0;padding:0 11px}.login-form label button{color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:5px;display:grid}.login-error{color:#833f35;background:#f8e9e5;border:1px solid #ddb2aa;border-radius:3px;margin:0 0 16px;padding:11px 13px;font-size:12px}.login-submit{color:#fff;background:var(--forest);cursor:pointer;border:0;border-radius:3px;justify-content:center;align-items:center;gap:9px;min-height:50px;margin-top:4px;font-weight:700;display:flex}.login-submit:disabled{opacity:.58;cursor:wait}.login-form>small{color:var(--muted);text-align:center;margin-top:20px;font-size:10px}@media (max-width:760px){.admin-login-page{grid-template-columns:1fr}.login-image{height:22vh;min-height:150px}.login-form{width:min(430px,100% - 40px);padding:45px 0 60px}.login-brand{margin-bottom:44px}.login-heading h1{font-size:36px}}
