*{margin:0;padding:0;box-sizing:border-box}
:root{--gd:#1a3d1f;--gm:#2d6a35;--gb:#3d8b45;--gl:#a8c89e;--sand:#e8d5a3;--sandl:#f5edd8;--off:#f9f7f2}
html{scroll-behavior:smooth}
body{font-family:'Barlow',sans-serif;background:var(--off);color:#111;overflow-x:hidden}
nav{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(26,61,31,0.97);backdrop-filter:blur(10px);height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 48px}
.nav-left{display:flex;align-items:center;gap:12px;cursor:pointer;text-decoration:none}
.nav-logo-img{width:44px;height:44px;object-fit:contain}
.nav-wm{font-family:'Bebas Neue',sans-serif;font-size:26px;color:#fff;letter-spacing:2px}
.nav-wm span{color:var(--sand)}
.nav-links{display:flex;gap:28px;list-style:none;align-items:center}
.nav-links a{color:rgba(255,255,255,0.75);text-decoration:none;font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;transition:color .2s;cursor:pointer}
.nav-links a:hover{color:var(--sand)}
.nav-q{display:inline-block;background:var(--sand);color:var(--gd);border:none;padding:10px 24px;font-family:'Barlow',sans-serif;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:all .2s;text-decoration:none}
.nav-q:hover{background:#fff}
#hero{height:100vh;position:relative;overflow:hidden;display:flex;align-items:center}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center top;filter:brightness(.35)}
.hero-ov{position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,61,31,.88) 0%,rgba(0,0,0,.25) 100%)}
.hero-c{position:relative;z-index:2;padding:0 60px;max-width:780px}
.badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.07);border:1px solid rgba(168,200,158,.3);color:var(--gl);font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;padding:9px 20px;margin-bottom:30px}
.badge::before{content:'';width:6px;height:6px;background:var(--gb);border-radius:50%;display:inline-block}
h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(78px,11vw,128px);line-height:.88;color:#fff;margin-bottom:16px}
h1 .a{color:var(--sand)}
.hero-sub{font-size:18px;color:rgba(255,255,255,.62);line-height:1.65;max-width:500px;margin-bottom:44px}
.hbtns{display:flex;gap:16px;flex-wrap:wrap}
.btn-sand{display:inline-block;background:var(--sand);color:var(--gd);padding:17px 40px;font-family:'Barlow',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;border:none;cursor:pointer;transition:all .2s;text-decoration:none}
.btn-sand:hover{background:#fff}
.btn-gh{display:inline-block;background:transparent;color:#fff;padding:16px 38px;font-family:'Barlow',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;border:1px solid rgba(255,255,255,.35);cursor:pointer;transition:all .2s;text-decoration:none}
.btn-gh:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.hstats{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.38);border-top:1px solid rgba(255,255,255,.07);display:grid;grid-template-columns:repeat(4,1fr)}
.hs{padding:18px 0;text-align:center;border-right:1px solid rgba(255,255,255,.07)}
.hs:last-child{border:none}
.hs-n{font-family:'Bebas Neue',sans-serif;font-size:32px;color:var(--sand);display:block;line-height:1}
.hs-l{font-size:10px;color:rgba(255,255,255,.42);letter-spacing:2px;text-transform:uppercase;margin-top:3px}
.sec{padding:100px 60px;scroll-margin-top:80px}
.st{font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--gb);margin-bottom:14px}
.sh{font-family:'Bebas Neue',sans-serif;font-size:clamp(50px,5.5vw,74px);line-height:.93;color:var(--gd);margin-bottom:24px}
.sh .lt{color:var(--gb)}.sh .wh{color:#fff}.sh .sd{color:var(--sand)}
#about{background:#fff;display:grid;grid-template-columns:55% 1fr;gap:80px;align-items:center}
.ap{font-size:17px;color:#555;line-height:1.8;margin-bottom:18px}
.ar{background:var(--gd);padding:48px 44px;position:relative;overflow:hidden}
.ar::after{content:'TSL';font-family:'Bebas Neue',sans-serif;font-size:160px;color:rgba(255,255,255,.03);position:absolute;bottom:-20px;right:-10px;line-height:1}
.tc{border:1px solid rgba(255,255,255,.1);padding:24px;margin-bottom:16px;position:relative;z-index:1}
.tr{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gl);font-weight:600;margin-bottom:6px}
.tn{font-family:'Barlow Condensed',sans-serif;font-size:24px;color:#fff;font-weight:700}
.td{font-size:13px;color:rgba(255,255,255,.42);margin-top:7px;line-height:1.55}
#services{background:var(--off)}
.sg{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:56px}
.sv{background:#fff;padding:44px 36px;position:relative;overflow:hidden;transition:background .35s;display:block;text-decoration:none}
.sv::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gb);transform:scaleY(0);transform-origin:bottom;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.sv:hover{background:var(--gd)}
.sv:hover::before{transform:scaleY(1)}
.sv:hover .svt,.sv:hover .svb{color:rgba(255,255,255,.88)}
.sv:hover .svb{color:rgba(255,255,255,.52)}
.sv:hover .svl{color:rgba(255,255,255,.38);border-color:rgba(255,255,255,.07)}
.sv:hover .svn{color:rgba(255,255,255,.04)}
.sv:hover .lm{color:var(--sand)}
.svn{font-family:'Bebas Neue',sans-serif;font-size:90px;color:rgba(0,0,0,.04);position:absolute;top:10px;right:18px;line-height:1;transition:color .35s}
.svi{width:50px;height:50px;background:var(--sandl);display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:26px}
.svt{font-family:'Barlow Condensed',sans-serif;font-size:30px;font-weight:700;color:var(--gd);margin-bottom:12px;transition:color .35s}
.svb{font-size:15px;color:#666;line-height:1.7;transition:color .35s}
.svul{list-style:none;margin-top:18px}
.svl{font-size:13px;color:#888;padding:5px 0;border-top:1px solid rgba(0,0,0,.06);transition:all .35s}
.svl::before{content:'\2192  ';color:var(--gb)}
.lm{display:inline-block;margin-top:20px;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gb);transition:color .35s}
#process{background:var(--gd)}
.pg{display:grid;grid-template-columns:repeat(4,1fr);margin-top:60px;position:relative}
.pg::before{content:'';position:absolute;top:27px;left:12.5%;right:12.5%;height:1px;background:rgba(255,255,255,.1)}
.ps{text-align:center;padding:0 20px}
.psn{width:54px;height:54px;background:var(--gb);display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:24px;color:#fff;margin:0 auto 22px;position:relative;z-index:1}
.pst{font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:700;color:#fff;margin-bottom:10px}
.psb{font-size:14px;color:rgba(255,255,255,.43);line-height:1.6}
#gallery{background:#111;padding:80px 60px;scroll-margin-top:80px}
.gg{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:52px}
.gc{overflow:hidden;position:relative;cursor:pointer;aspect-ratio:4/3}
.gc img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.gc:hover img{transform:scale(1.06)}
.gco{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,61,31,.78) 0%,transparent 55%);opacity:0;transition:opacity .3s}
.gc:hover .gco{opacity:1}
.gcl{position:absolute;bottom:16px;left:20px;right:20px;font-size:12px;color:#fff;font-weight:600;letter-spacing:1px;text-transform:uppercase;transform:translateY(8px);transition:transform .3s;opacity:0}
.gc:hover .gcl{transform:translateY(0);opacity:1}
#areas{background:#fff}
.areas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:52px}
.area-card{background:var(--off);padding:32px 30px;text-decoration:none;position:relative;overflow:hidden;transition:background .3s;display:block}
.area-card:hover{background:var(--gd)}
.area-card:hover .area-n,.area-card:hover .area-d{color:#fff}
.area-card:hover .area-go{color:var(--sand)}
.area-n{font-family:'Barlow Condensed',sans-serif;font-size:26px;font-weight:700;color:var(--gd);transition:color .3s}
.area-d{font-size:14px;color:#777;line-height:1.6;margin-top:8px;transition:color .3s}
.area-go{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gb);margin-top:16px;display:inline-block;transition:color .3s}
#contact{background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.cib{margin-bottom:30px}
.cl{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gb);font-weight:600;margin-bottom:7px}
.cv{font-size:18px;color:var(--gd);font-weight:500}
.cv a{color:var(--gd);text-decoration:none}
.cv a:hover{color:var(--gb)}
.sr{display:flex;gap:12px;margin-top:32px}
.sb{display:flex;align-items:center;gap:8px;padding:10px 22px;border:1px solid rgba(0,0,0,.14);font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;color:var(--gd);transition:all .2s;cursor:pointer}
.sb:hover{background:var(--gd);color:#fff;border-color:var(--gd)}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.fg{margin-bottom:14px}
.fg label{display:block;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#999;font-weight:600;margin-bottom:7px}
.fg input,.fg textarea,.fg select{width:100%;background:var(--off);border:1px solid #e2dfd7;padding:13px 15px;font-family:'Barlow',sans-serif;font-size:15px;color:#111;outline:none;transition:border-color .2s;border-radius:0;appearance:none;-webkit-appearance:none}
.fg input:focus,.fg textarea:focus,.fg select:focus{border-color:var(--gb)}
.fg textarea{min-height:120px;resize:vertical}
.fsub{background:var(--gd);color:#fff;border:none;padding:16px;font-family:'Barlow',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;cursor:pointer;width:100%;transition:background .2s;margin-top:6px}
.fsub:hover{background:var(--gb)}
.fok{display:none;background:#f0f7f0;border:1px solid var(--gl);padding:20px;text-align:center;color:var(--gm);font-size:14px;margin-top:14px}
.qhero{padding:56px 60px 0;background:var(--gd)}
.qbody{max-width:760px;margin:0 auto;padding:56px 40px;background:var(--gd)}
.qwrap{background:var(--gd);min-height:100vh;padding-top:68px}
.qcard{background:#fff;padding:52px}
.qh{font-family:'Bebas Neue',sans-serif;font-size:clamp(44px,5vw,66px);color:#fff;margin-bottom:8px;line-height:.95}
.qsub{font-size:16px;color:rgba(255,255,255,.48);padding-bottom:44px}
.subhero{position:relative;padding:170px 60px 90px;background:var(--gd);overflow:hidden}
.subhero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.3)}
.subhero-ov{position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,61,31,.92) 0%,rgba(0,0,0,.3) 100%)}
.subhero-c{position:relative;z-index:2;max-width:860px}
.subhero h1{font-size:clamp(52px,7vw,92px)}
.crumb{position:relative;z-index:2;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:26px}
.crumb a{color:rgba(255,255,255,.65);text-decoration:none}
.crumb a:hover{color:var(--sand)}
.content{background:#fff;padding:90px 60px}
.cwrap{max-width:1100px;margin:0 auto}
.two-col{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:start}
.lead-p{font-size:18px;color:#444;line-height:1.85;margin-bottom:20px}
.body-p{font-size:16px;color:#555;line-height:1.8;margin-bottom:18px}
.body-p a{color:var(--gm);font-weight:600}
.h2s{font-family:'Bebas Neue',sans-serif;font-size:clamp(38px,4vw,54px);line-height:.95;color:var(--gd);margin-bottom:22px}
.h2s .lt{color:var(--gb)}
.side-card{background:var(--gd);padding:40px 36px}
.side-card .sct{font-family:'Barlow Condensed',sans-serif;font-size:24px;font-weight:700;color:#fff;margin-bottom:18px}
.side-card p{font-size:14px;color:rgba(255,255,255,.55);line-height:1.7;margin-bottom:22px}
.side-list{list-style:none;margin-bottom:26px}
.side-list li{font-size:14px;color:rgba(255,255,255,.75);padding:9px 0;border-top:1px solid rgba(255,255,255,.1)}
.side-list li::before{content:'\2713  ';color:var(--sand);font-weight:700}
.chk-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:36px}
.chk{background:var(--off);padding:22px 24px;border-left:3px solid var(--gb)}
.chk-t{font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:700;color:var(--gd)}
.chk-d{font-size:14px;color:#666;line-height:1.6;margin-top:6px}
.gstrip{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:40px}
.gstrip .gc{aspect-ratio:4/3}
.faq{background:var(--off);padding:90px 60px}
.faq details{background:#fff;margin-bottom:10px;border-left:3px solid var(--gb)}
.faq summary{cursor:pointer;padding:22px 26px;font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:700;color:var(--gd);list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:26px;top:50%;transform:translateY(-50%);font-size:24px;color:var(--gb);font-weight:400}
.faq details[open] summary::after{content:'\2013'}
.faq .fa{padding:0 26px 24px;font-size:15px;color:#555;line-height:1.8}
.faq .fa a{color:var(--gm);font-weight:600}
.cta-band{background:var(--gd);text-align:center;padding:90px 24px}
.cta-band .h2s{color:#fff}
.cta-band .h2s .sd{color:var(--sand)}
.cta-band p{font-size:16px;color:rgba(255,255,255,.5);max-width:520px;margin:0 auto 36px;line-height:1.7}
.cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.ftr{background:var(--gd);border-top:1px solid rgba(255,255,255,.06);padding:64px 60px 0}
.ftr-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px;max-width:1200px;margin:0 auto;padding-bottom:48px}
.ftr-brand{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.ftr-brand img{width:36px;height:36px;object-fit:contain}
.fw{font-family:'Bebas Neue',sans-serif;font-size:22px;color:#fff;letter-spacing:2px}
.fw span{color:var(--sand)}
.ftr-tag{font-size:13px;color:rgba(255,255,255,.4);line-height:1.7;max-width:300px}
.ftr-h{font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--gl);margin-bottom:18px}
.ftr-links{list-style:none}
.ftr-links li{margin-bottom:10px}
.ftr-links a{color:rgba(255,255,255,.55);text-decoration:none;font-size:14px;transition:color .2s}
.ftr-links a:hover{color:var(--sand)}
.ftr-bar{border-top:1px solid rgba(255,255,255,.07);padding:22px 0;display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;flex-wrap:wrap;gap:10px}
.fc{font-size:11px;color:rgba(255,255,255,.25);letter-spacing:1px}
.fc a{color:rgba(255,255,255,.4);text-decoration:none}
.fade{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}
.fade.in{opacity:1;transform:none}
@media(max-width:900px){
  nav{padding:0 20px}
  .nav-links{display:none}
  .sec{padding:60px 24px}
  #about,#contact{grid-template-columns:1fr;gap:40px}
  .sg{grid-template-columns:1fr}
  .pg{grid-template-columns:1fr 1fr;gap:32px}
  .pg::before{display:none}
  .gg{grid-template-columns:1fr 1fr}
  .gc:first-child{grid-column:span 2}
  .fr{grid-template-columns:1fr}
  #gallery{padding:60px 24px}
  .qhero{padding:40px 24px 0}
  .qbody{padding:36px 16px}
  .qcard{padding:28px 20px}
  #hero{height:auto;min-height:100svh;padding-top:68px;padding-bottom:0}
  .hero-c{padding:100px 24px 60px}
  h1{font-size:58px}
  .hero-sub{font-size:15px}
  .hbtns{flex-direction:column;gap:12px}
  .btn-sand,.btn-gh{width:100%;text-align:center;padding:16px 24px}
  .hstats{display:none}
  .subhero{padding:120px 24px 60px}
  .subhero h1{font-size:48px}
  .content,.faq{padding:60px 24px}
  .two-col{grid-template-columns:1fr;gap:40px}
  .chk-grid{grid-template-columns:1fr}
  .gstrip{grid-template-columns:1fr 1fr}
  .areas-grid{grid-template-columns:1fr}
  .ftr{padding:48px 24px 0}
  .ftr-grid{grid-template-columns:1fr;gap:36px}
  .ftr-bar{flex-direction:column;text-align:center}
  .cta-btns .btn-sand,.cta-btns .btn-gh{width:100%}
}
