:root{--ac:#4F6B3A;--ac-hover:#3E552D;--ac-light:#B9CFA0;}
html,body{margin:0;padding:0;background:#EEEEEE;overflow-x:clip;}
body{font-family:'Instrument Sans',system-ui,sans-serif;color:#1E1C1B;-webkit-font-smoothing:antialiased;}
*{box-sizing:border-box;}
a{color:#2F6F6A;text-decoration:none;}
a:not([class]):hover{color:#1E1C1B;}
input,textarea,button,select{font-family:inherit;}
summary::marker{color:var(--ac);}
[hidden]{display:none!important;}
.page{min-height:100vh;display:flex;flex-direction:column;background:#EEEEEE;}
main{flex:1;}

/* Header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:transparent;transition:background .25s;}
.site-header.scrolled,.site-header.open{background:rgba(43,40,38,.97);}
.header-inner{max-width:1320px;margin:0 auto;padding:18px clamp(20px,4vw,48px);display:flex;align-items:center;justify-content:space-between;gap:24px;}
.brand{display:flex;align-items:center;gap:14px;color:#fff;}
.brand:hover{color:#fff;}
.brand img{width:46px;height:46px;display:block;}
.brand-text{display:flex;flex-direction:column;font-family:'Michroma',sans-serif;font-size:13px;line-height:1.25;letter-spacing:.08em;color:#fff;}
.nav-desktop{display:flex;align-items:center;gap:34px;}
.nav-link{font-size:15px;font-weight:500;color:#fff;opacity:.78;border-bottom:1.5px solid transparent;padding:4px 0;}
.nav-link:hover{color:#fff;}
.nav-link[aria-current="page"]{opacity:1;border-bottom-color:var(--ac-light);}
.nav-sep{width:1px;height:26px;background:rgba(255,255,255,.3);margin-left:30px;}
.nav-fb{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:#fff;margin-left:-6px;}
.nav-fb:hover{color:#fff;opacity:.75;}
.header-actions{display:flex;align-items:center;gap:12px;}
.header-phone{font-size:15px;font-weight:600;color:#fff;padding:12px 4px;display:flex;align-items:center;gap:9px;white-space:nowrap;}
.header-phone:hover{color:#fff;}
.btn-contact{background:var(--ac);color:#fff;font-size:14px;font-weight:600;padding:13px 20px;border-radius:2px;display:flex;align-items:center;gap:9px;white-space:nowrap;}
.btn-contact:hover{background:var(--ac-hover);color:#fff;}
.menu-btn{display:none;width:46px;height:46px;background:transparent;border:1px solid rgba(255,255,255,.4);color:#fff;font-size:20px;cursor:pointer;border-radius:2px;}
.mobile-nav{display:none;flex-direction:column;background:#2B2826;padding:8px clamp(20px,4vw,48px) 24px;}
.site-header.open .mobile-nav{display:flex;}
.mobile-nav a{font-family:'League Spartan',sans-serif;font-size:26px;font-weight:700;color:#fff;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);}
.mobile-nav a.mobile-call{font-family:inherit;color:var(--ac-light);font-size:18px;font-weight:600;padding:18px 0 0;border-bottom:0;}
@media (max-width:1179.98px){.nav-desktop,.header-phone{display:none;}.menu-btn{display:block;}}
@media (min-width:1180px){.site-header.open .mobile-nav{display:none;}}

/* Buttons (colour + hover only; sizing is inline) */
.btn-ac{background:var(--ac);color:#fff;}
.btn-ac:hover{background:var(--ac-hover);color:#fff;}
.btn-ghost{background:rgba(255,255,255,.08);color:#fff;}
.btn-outline-l{background:transparent;color:#fff;}
.btn-ghost:hover,.btn-outline-l:hover{background:#fff;color:#1E1C1B;}
.btn-dark{background:#1E1C1B;color:#fff;}
.btn-dark:hover{background:var(--ac);color:#fff;}
.btn-outline-d{background:transparent;color:#1E1C1B;}
.btn-outline-d:hover{background:#1E1C1B;color:#fff;}
.link-line{font-weight:600;font-size:16px;color:#1E1C1B;border-bottom:1.5px solid var(--ac);padding-bottom:4px;}
.link-line:hover{color:#1E1C1B;}
.link-line.light{color:#fff;border-bottom-color:var(--ac-light);}

/* Home */
.svc-card{display:flex;flex-direction:column;color:#1E1C1B;background:#fff;transition:background .25s ease,color .25s ease;}
.svc-card:hover{background:var(--ac);color:#fff;}
.svc-card p{color:#5A5550;transition:color .25s ease;}
.svc-card:hover p{color:rgba(255,255,255,.9);}
.shade{position:absolute;inset:0;opacity:0;transition:opacity .3s ease;}
.svc-card:hover .shade,.tile:hover .shade{opacity:1;}
.tile-label{background:rgba(28,26,25,.85);transition:background .25s ease;}
.tile:hover .tile-label{background:var(--ac);}
.area-li{color:#1E1C1B;border-bottom:1px solid #D2D2D2;transition:color .2s ease,border-color .2s ease;}
.area-li:hover{color:var(--ac);border-bottom-color:var(--ac);}
.t-track{scrollbar-width:none;}
.t-track::-webkit-scrollbar{display:none;}
.t-arrow{background:#fff;border:1px solid #CCCCCC;color:#1E1C1B;}
.t-arrow:hover{background:#1E1C1B;color:#fff;border-color:#1E1C1B;}

/* Services */
.chip-l{color:#fff;background:transparent;}
.chip-l:hover{background:#fff;color:#1E1C1B;}
.svc-article{scroll-margin-top:90px;}

/* Gallery */
.filter-btn{border:1px solid #CCCCCC;background:transparent;color:#1E1C1B;}
.filter-btn.active{border-color:#1E1C1B;background:#1E1C1B;color:#fff;}
.gallery-cols{columns:3;column-gap:14px;}
@media (max-width:999.98px){.gallery-cols{columns:2;}}
@media (max-width:599.98px){.gallery-cols{columns:1;}}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(20,18,17,.94);display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,64px);}

/* Contact */
.field-label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;min-width:0;}
.field{width:100%;font-size:17px;padding:15px 16px;border:1px solid #CCCCCC;background:#F7F7F7;border-radius:10px;outline-color:var(--ac);box-sizing:border-box;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.submit-btn{background:var(--ac);color:#fff;}
.submit-btn:hover{background:var(--ac-hover);}
.contact-big{color:#1E1C1B;}
.contact-big:hover{color:var(--ac);}
.contact-soc{color:var(--ac);}
.contact-soc:hover{color:#1E1C1B;}

/* Footer */
.foot-link{color:rgba(255,255,255,.78);}
.foot-link:hover{color:#fff;}
.foot-contact{color:#fff;}
.foot-contact:hover{color:#fff;opacity:.75;}
.foot-fb{color:#fff;background:transparent;}
.foot-fb:hover{color:#fff;background:rgba(255,255,255,.1);}
.qd{color:inherit;opacity:.55;transition:opacity .2s;}
.qd:hover{color:inherit;opacity:.9;}
