/* Sidebar directory: default desktop state is COLLAPSED (76px).
   Mobile default is CLOSED off-canvas. This is independent of contact PR #10. */
:root{--tm-rail:76px;--tm-open:298px}
.site-body-grid{display:flex;align-items:stretch;min-height:70vh}
.site-body-content{flex:1;min-width:0}
.tm-sidebar{position:sticky;top:0;height:100dvh;flex:0 0 var(--tm-rail);width:var(--tm-rail);overflow:hidden;align-self:flex-start;background:linear-gradient(180deg,#111c14,#0b130e);border-right:1px solid #34462d;z-index:31;transition:width .22s,flex-basis .22s;color:#f4f7ee}
.site-body-grid.sidebar-is-expanded .tm-sidebar{width:var(--tm-open);flex-basis:var(--tm-open)}
.tm-sidebar-scroll{height:100%;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#4a6844 #101a13}
.tm-sidebar-top{height:77px;flex:0 0 77px;display:flex;align-items:center;gap:10px;padding:17px;border-bottom:1px solid #2b3c2d}
.tm-sidebar-toggle,.tm-sidebar-header-toggle{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border:1px solid #526d45;background:#1b2b1d;color:var(--lime);border-radius:5px;cursor:pointer}
.tm-sidebar-toggle:hover,.tm-sidebar-header-toggle:hover{background:#2b422a}
.tm-sidebar-toggle svg,.tm-sidebar-header-toggle svg,.tm-sidebar-icon svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tm-sidebar-title{font-size:11px;font-weight:900;letter-spacing:.12em;white-space:nowrap;color:#e7f0e2}
.tm-sidebar-search-wrap{padding:14px 13px 8px}
.tm-sidebar-search{width:100%;height:42px;border:1px solid #47603e;background:#142217;color:#f4fbef;padding:0 12px;font-size:12px;border-radius:4px}
.tm-sidebar-search::placeholder{color:#a0b09b}
.tm-sidebar-section{font-size:9px;letter-spacing:.16em;font-weight:850;color:#93a98c;margin:23px 0 8px;padding:0 27px;white-space:nowrap}
.tm-sidebar-links{display:grid;gap:3px;padding:0 11px}
.tm-sidebar-link,.tm-sidebar-group>summary{display:flex;align-items:center;gap:17px;min-height:49px;padding:0 15px;border:1px solid transparent;border-radius:5px;color:#c4d1c1;font-size:12px;font-weight:750;letter-spacing:.02em;white-space:nowrap;cursor:pointer}
.tm-sidebar-link:hover,.tm-sidebar-group>summary:hover{color:var(--lime);background:#213322}
.tm-sidebar-link[aria-current="page"],.tm-sidebar-link.is-current{color:var(--lime);background:#273e26;border-color:#526b42}
.tm-sidebar-icon{display:grid;place-items:center;flex:0 0 22px;color:#9ec680}
.tm-sidebar-text{white-space:nowrap}
.tm-sidebar-group{padding:9px 0 0;margin:8px 11px 3px;border-top:1px solid #27392a}
.tm-sidebar-group>summary{list-style:none;outline-offset:-2px;padding:0 15px}
.tm-sidebar-group>summary::-webkit-details-marker{display:none}
.tm-sidebar-group>summary::marker{content:""}
.tm-sidebar-arrow{margin-left:auto;color:#acbc9c}
.tm-sidebar-group[open] .tm-sidebar-arrow{transform:rotate(180deg)}
.tm-sidebar-subnav{display:grid;gap:3px;padding:4px 5px 9px 46px}
.tm-sidebar-subnav .tm-sidebar-link{min-height:37px;padding:0 10px;border-left:1px solid #3e5636;border-radius:0;font-size:11px;letter-spacing:0}
.tm-sidebar-subnav .tm-sidebar-link[aria-current="page"]{background:#263a23;border-left:2px solid var(--lime);border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}
.tm-sidebar-planned{color:#8b9e87;font-size:11px;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px}
.tm-sidebar-planned small{font-size:9px;color:#bdd58e;border:1px solid #4c6542;padding:3px 5px}
.tm-sidebar-empty{display:none;padding:12px 18px;color:#a8bca4;font-size:12px;line-height:1.5}
.tm-sidebar-empty.is-visible{display:block}
.tm-sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:10px;border-top:1px solid #2d402e;padding:14px 10px;min-height:101px}
.tm-sidebar-bottom img{width:43px;max-height:65px;object-fit:contain;flex:0 0 43px}
.tm-sidebar-footnote strong{color:var(--lime);font-size:10px;letter-spacing:.06em;white-space:nowrap}
.tm-sidebar-footnote p{font-size:10px;color:#9aaa95;line-height:1.5;white-space:nowrap;margin:5px 0 0}
.tm-sidebar-link[hidden]{display:none!important}
.tm-sidebar-scrim{display:none}

/* One shared, non-interactive popup for collapsed desktop rail icons.
   Mounted under body to avoid the rail's overflow and scroll clipping. */
.tm-sidebar-tooltip{
 position:fixed;
 z-index:200;
 pointer-events:none;
 width:max-content;
 max-width:min(240px,calc(100vw - 24px));
 padding:11px 15px;
 color:#f3f8eb;
 background:#1b2b1d;
 border:1px solid #658d50;
 border-radius:5px;
 box-shadow:0 10px 30px #0009,0 0 0 1px #a8ed4212 inset;
 font-size:12px;
 line-height:1.25;
 font-weight:750;
 letter-spacing:.03em;
 white-space:normal;
}
.tm-sidebar-tooltip[hidden]{display:none!important}
.tm-sidebar-tooltip::before{
 content:"";
 position:absolute;
 width:8px;
 height:8px;
 left:-5px;
 top:calc(50% - 4px);
 background:#1b2b1d;
 border-left:1px solid #658d50;
 border-bottom:1px solid #658d50;
 transform:rotate(45deg);
}
/* Desktop: the sidebar rail already provides the directory toggle. */
.tm-sidebar-header-toggle{display:none;flex:0 0 42px}
.nav--unified>.logo{margin-right:auto}
.nav--unified .nav-links--unified{margin-left:auto}
.tm-sidebar-toggle:focus-visible,.tm-sidebar-header-toggle:focus-visible,.tm-sidebar-link:focus-visible,.tm-sidebar-group summary:focus-visible,.tm-sidebar-search:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
/* In a collapsed rail, no hidden text, search inputs or nested links may take focus. */
.site-body-grid:not(.sidebar-is-expanded) .tm-sidebar-section{height:13px;margin:13px 0 4px}
.site-body-grid:not(.sidebar-is-expanded) .tm-sidebar-title,
.site-body-grid:not(.sidebar-is-expanded) .tm-sidebar-search-wrap,
.site-body-grid:not(.sidebar-is-expanded) .tm-sidebar-text,
.site-body-grid:not(.sidebar-is-expanded) .tm-sidebar-arrow,
.site-body-grid:not(.sidebar-is-expanded) .tm-sidebar-subnav,
.site-body-grid:not(.sidebar-is-expanded) .tm-sidebar-planned,
.site-body-grid:not(.sidebar-is-expanded) .tm-sidebar-footnote,
.site-body-grid:not(.sidebar-is-expanded) .tm-sidebar-empty{display:none}
.site-body-grid:not(.sidebar-is-expanded) .tm-sidebar-bottom{justify-content:center;padding:14px 3px}
.site-body-grid:not(.sidebar-is-expanded) .tm-sidebar-bottom img{width:50px;max-height:64px;flex-basis:50px}
.site-body-grid:not(.sidebar-is-expanded) .tm-sidebar-section{color:transparent}
@media(min-width:851px) and (max-width:1370px){
 .site-body-grid.sidebar-is-expanded .hero-grid{grid-template-columns:1fr}
 .site-body-grid.sidebar-is-expanded .hero-copy{padding-bottom:22px}
 .site-body-grid.sidebar-is-expanded .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .site-body-grid.sidebar-is-expanded .interior-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .site-body-grid.sidebar-is-expanded .services-overview-grid{grid-template-columns:1fr}
}
@media(max-width:850px){
 /* Mobile: the off-canvas rail is inaccessible while closed, so retain the header opener. */
 .tm-sidebar-header-toggle{display:grid}
 .site-body-grid{display:block}
 .tm-sidebar{position:fixed;top:0;bottom:0;left:0;height:100dvh;width:min(332px,87vw)!important;max-width:100vw;flex-basis:auto!important;transform:translateX(-105%);z-index:110;box-shadow:25px 0 55px #0009;transition:transform .22s}
 .site-body-grid.sidebar-drawer-open .tm-sidebar{transform:translateX(0)}
 .tm-sidebar-scrim{display:block;position:fixed;inset:0;background:#050b07b8;border:0;z-index:105;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s}
 .site-body-grid.sidebar-drawer-open .tm-sidebar-scrim{opacity:1;visibility:visible;pointer-events:auto}
 body.tm-sidebar-modal-open{overflow:hidden}
 .site-body-grid .tm-sidebar-title,.site-body-grid .tm-sidebar-search-wrap,.site-body-grid .tm-sidebar-text,.site-body-grid .tm-sidebar-arrow,.site-body-grid .tm-sidebar-subnav,.site-body-grid .tm-sidebar-planned,.site-body-grid .tm-sidebar-footnote{display:revert}
 .site-body-grid:not(.sidebar-is-expanded) .tm-sidebar-title{display:block}
 .site-body-grid:not(.sidebar-is-expanded) .tm-sidebar-search-wrap{display:block}
 .site-body-grid:not(.sidebar-is-expanded) .tm-sidebar-text{display:inline}
 .site-body-grid:not(.sidebar-is-expanded) .tm-sidebar-arrow{display:inline}
 .site-body-grid:not(.sidebar-is-expanded) .tm-sidebar-subnav{display:grid}
 .site-body-grid:not(.sidebar-is-expanded) .tm-sidebar-planned{display:flex}
 .site-body-grid:not(.sidebar-is-expanded) .tm-sidebar-footnote{display:block}
 .site-body-grid .tm-sidebar-empty{display:none}
 .site-body-grid .tm-sidebar-empty.is-visible{display:block}
 .site-body-grid:not(.sidebar-is-expanded) .tm-sidebar-section{color:#93a98c;margin:23px 0 8px}
 .site-body-grid:not(.sidebar-is-expanded) .tm-sidebar-bottom{justify-content:flex-start;padding:14px 10px}
 .site-body-grid:not(.sidebar-is-expanded) .tm-sidebar-bottom img{width:43px;flex-basis:43px}
}
@media(max-width:520px){.nav--unified .tm-sidebar-header-toggle{margin-right:4px;flex-basis:40px;width:40px;height:40px}.nav--unified>.logo{margin-right:auto}}
@media(prefers-reduced-motion:reduce){.tm-sidebar,.tm-sidebar-scrim{transition:none!important}}
