@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/fonts/eb-garamond-latin-ext-wght-normal.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:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/fonts/eb-garamond-latin-wght-normal.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:EB Garamond Variable;font-style:italic;font-display:swap;font-weight:400 800;src:url(/fonts/eb-garamond-latin-ext-wght-italic.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:EB Garamond Variable;font-style:italic;font-display:swap;font-weight:400 800;src:url(/fonts/eb-garamond-latin-wght-italic.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}:root{--bg-color:#f9f8f6;--bg-alt:#fff;--text-main:#2a3026;--primary-olive:#5b6b45;--light-sage:#e3e5df;--accent-gold:#b39b6d;--accent-gold-dark:#6f5d37;--font-main:"EB Garamond Variable", "EB Garamond", Georgia, serif;--container-width:1100px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{background-color:var(--bg-color);width:100%;color:var(--text-main);font-family:var(--font-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1.15rem;line-height:1.8;overflow-x:hidden}a{color:var(--primary-olive);text-underline-offset:.18em;text-decoration-thickness:.08em;transition:color .2s}a:hover{color:var(--accent-gold-dark)}a:focus-visible,button:focus-visible,#leaflet-map:focus-visible{outline:3px solid var(--accent-gold-dark);outline-offset:4px;border-radius:2px}button{font:inherit}.skip-link{z-index:2000;background:var(--text-main);color:var(--bg-alt);border-radius:4px;padding:.65rem 1rem;font-weight:600;transition:transform .2s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.container{width:100%;max-width:var(--container-width);margin:0 auto;padding:0 2rem}.icon{vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.5px;flex-shrink:0;width:20px;height:20px;margin-top:-2px;margin-right:10px;display:inline-block}.site-nav{z-index:1000;border-bottom:1px solid var(--light-sage);-webkit-backdrop-filter:blur(12px);background-color:#f9f8f6f2;width:100%;padding:1.2rem 0;transition:box-shadow .3s;position:fixed;top:0}.site-nav.scrolled{box-shadow:0 4px 20px #0000000d}.nav-list{justify-content:center;gap:4rem;list-style:none;display:flex}.nav-list a{color:var(--text-main);letter-spacing:.1em;text-transform:uppercase;font-size:1.05rem;font-weight:500;text-decoration:none}.nav-list a:hover{color:var(--accent-gold-dark)}section{padding:8rem 0;scroll-margin-top:80px}h2{border-bottom:1px solid var(--light-sage);color:var(--primary-olive);margin-bottom:2rem;padding-bottom:.5rem;font-size:2.5rem;font-weight:500;line-height:1.2;display:inline-block}header{border-bottom:1px solid var(--light-sage);background-color:var(--bg-color);justify-content:center;align-items:center;min-height:100svh;padding:6rem 0 2rem;display:flex;position:relative;overflow:hidden}.cityscape-wrapper{z-index:0;pointer-events:none;display:block;position:absolute;inset:0;overflow:hidden}.cityscape-image{opacity:.13;width:max(100%,1000px);max-width:none;height:auto;margin:0 auto;display:block;position:absolute;bottom:0;left:0;right:0}.header-content{z-index:1;justify-content:center;align-items:center;gap:5rem;width:100%;display:flex;position:relative}.logo-container{border:1px solid var(--accent-gold);background-color:var(--bg-color);border-radius:50%;flex-shrink:0;width:260px;height:260px;padding:15px;position:relative;box-shadow:0 10px 30px #0000000d}.logo-container:before{z-index:-1;border:1px dashed var(--light-sage);content:"";border-radius:50%;position:absolute;inset:-10px}.logo-container picture{display:contents}.logo-container img{object-fit:contain;border-radius:50%;width:100%;height:100%}.header-text{width:100%;max-width:600px}h1{color:var(--primary-olive);letter-spacing:.02em;margin-bottom:1rem;font-size:3.5rem;font-weight:500;line-height:1.1}.tagline{color:var(--accent-gold-dark);margin-bottom:2.5rem;font-size:1.6rem;font-style:italic}.about-grid{grid-template-columns:1fr 1.5fr;align-items:center;gap:5rem;display:grid}.photo-wrapper{position:relative}.photo-wrapper picture{display:block}.photo-wrapper img{aspect-ratio:3/4;object-fit:cover;border-radius:2px;width:100%;height:auto;display:block;box-shadow:0 15px 40px #2a302614}.about-text p+p{margin-top:1.5rem}.services-wrapper{border-top:1px solid var(--light-sage);border-bottom:1px solid var(--light-sage);background-color:var(--bg-alt)}.services-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem;margin-top:3rem;display:grid}.service-item{border-left:2px solid var(--light-sage);background:var(--bg-color);border-radius:4px;padding:1.5rem;transition:transform .3s,border-color .3s,box-shadow .3s}.service-item:hover{border-left-color:var(--accent-gold);transform:translateY(-5px);box-shadow:0 10px 25px #0000000a}.service-item h3{color:var(--text-main);margin-bottom:.8rem;font-size:1.4rem;font-weight:600;line-height:1.3}.reach-grid{grid-template-columns:1fr 1.2fr;align-items:center;gap:6rem;display:grid}.contact-info p.subtitle{margin-bottom:2rem}.contact-info ul{list-style:none}.contact-info li{border:1px solid var(--light-sage);background:var(--bg-alt);border-radius:6px;align-items:flex-start;margin-bottom:1.5rem;padding:1.2rem;display:flex;box-shadow:0 4px 15px #00000005}.contact-info li .icon{width:24px;height:24px;color:var(--primary-olive);margin-top:4px}.contact-info strong{color:var(--text-main);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.2rem;font-size:.95rem;font-weight:600;display:block}.contact-info a{color:var(--primary-olive);overflow-wrap:anywhere;font-size:1.25rem;font-weight:500}.btn{border:1px solid var(--primary-olive);background-color:var(--primary-olive);width:100%;color:var(--bg-alt);letter-spacing:.05em;text-align:center;border-radius:4px;justify-content:center;align-items:center;margin-top:1rem;padding:1rem 2.5rem;font-size:1.1rem;font-weight:500;text-decoration:none;transition:background-color .2s,color .2s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 15px #5b6b4533}.contact-info .btn{color:var(--bg-alt)}.contact-info .btn:hover{box-shadow:none;color:var(--primary-olive);background-color:#0000}.btn .icon{width:22px;height:22px;margin-top:0}.map-container-wrapper{border:1px solid var(--light-sage);background-color:var(--bg-alt);border-radius:8px;width:100%;height:100%;min-height:450px;padding:1rem;position:relative;overflow:hidden;box-shadow:inset 0 0 50px #00000005}#leaflet-map{z-index:1;border-radius:4px;width:100%;height:100%;min-height:416px}.map-placeholder{z-index:2;background:radial-gradient(circle at 75% 25%, #b39b6d29, transparent 36%), linear-gradient(145deg, #f2f3ef, var(--bg-color));text-align:center;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;padding:2.5rem;transition:opacity .25s,visibility .25s;display:flex;position:absolute;inset:1rem}.map-eyebrow{color:var(--accent-gold-dark);letter-spacing:.12em;text-transform:uppercase;font-size:.95rem;font-weight:600}.map-title{color:var(--primary-olive);margin:.15rem 0 .65rem;font-size:2rem;font-weight:500;line-height:1.15}.map-load-button{border:1px solid var(--primary-olive);background:var(--primary-olive);min-width:12rem;color:var(--bg-alt);cursor:pointer;border-radius:4px;padding:.7rem 1.2rem;font-weight:600;transition:background-color .2s,color .2s}.map-load-button:hover:not(:disabled){color:var(--primary-olive);background:0 0}.map-load-button:disabled{cursor:progress;opacity:.75}.map-placeholder>a{font-size:1rem}.map-container-wrapper.is-loaded .map-placeholder{visibility:hidden;opacity:0;pointer-events:none}.custom-map-pin svg{filter:drop-shadow(0 4px 6px #0000004d)}.leaflet-popup-content-wrapper{border:1px solid var(--accent-gold);background-color:var(--bg-color);color:var(--text-main);font-family:var(--font-main);border-radius:4px;font-size:1.05rem;box-shadow:0 10px 25px #0000001a}.leaflet-popup-tip{border:1px solid var(--accent-gold);background-color:var(--bg-color)}footer{border-top:1px solid var(--light-sage);color:var(--text-main);text-align:center;padding:3rem 2rem;font-size:.95rem}.js .fade-in{opacity:0;transition:opacity .7s ease-out,transform .7s ease-out;transform:translateY(30px)}.js .fade-in.is-visible{opacity:1;transform:translateY(0)}.delay-1{transition-delay:80ms}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}.delay-4{transition-delay:.32s}@media (width<=900px){.header-content{text-align:center;flex-direction:column;gap:3rem}.about-grid,.reach-grid{grid-template-columns:1fr;gap:4rem}.photo-wrapper{max-width:450px;margin:0 auto}section{padding:6rem 0}.map-container-wrapper{min-height:350px}#leaflet-map{min-height:316px}}@media (width<=600px){h1{font-size:2.5rem}.tagline{font-size:1.3rem}.nav-list{flex-wrap:wrap;justify-content:space-evenly;gap:1rem}.logo-container{width:200px;height:200px}.services-grid{grid-template-columns:1fr}.container{padding:0 1.5rem}.contact-info li{flex-direction:column;gap:.5rem;padding:1rem}.contact-info li .icon{display:none}.map-placeholder{padding:1.5rem}}@media (width<=360px){h1{font-size:2.1rem}.logo-container{width:160px;height:160px}.contact-info a{font-size:1.1rem}.nav-list a{font-size:.9rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important}.js .fade-in{opacity:1;transform:none}}
