
:root{--ink:#0d2b24;--ink2:#173f34;--accent:#f9db5a;--accent2:#e6c43f;--mint:#fff7d0;--paper:#f7f7f2;--line:#dfe4dc;--text:#46534f;--white:#fff;--radius:18px;--shadow:0 22px 60px rgba(13,43,36,.10);--max:1360px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}p{margin:0 0 1.1rem;color:var(--text)}h1,h2,h3,h4{margin:0 0 1rem;line-height:1.05;letter-spacing:-.035em}h1{font-size:clamp(3.35rem,7vw,6.8rem)}h2{font-size:clamp(2.2rem,4vw,4.2rem)}h3{font-size:1.35rem}.container-wide{width:min(var(--max),calc(100% - 48px));margin:auto}.container{width:min(960px,calc(100% - 48px));margin:auto}.content-narrow{max-width:900px}.section{padding:110px 0}.soft-section{background:var(--paper)}.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:20px}.eyebrow:before{content:"";width:8px;height:8px;background:var(--accent);border-radius:50%}.eyebrow.light{color:#f9db5a}.eyebrow.light:before{background:#f9db5a}.lead{font-size:1.28rem;line-height:1.6;color:#26383b}.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:50px;padding:0 22px;border-radius:999px;font-weight:750;border:1px solid transparent;transition:.25s ease;cursor:pointer}.btn span{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%}.btn-dark{background:var(--ink);color:white}.btn-dark span{background:var(--accent)}.btn-dark:hover{background:var(--accent)}.btn-accent{background:var(--accent);color:white}.btn-accent span{background:var(--ink)}.btn-accent:hover{background:var(--accent2)}.btn-light{background:white;color:var(--ink)}.btn-light span{background:var(--accent);color:white}.btn-ghost{border-color:rgba(255,255,255,.45);color:white}.btn-ghost:hover{background:white;color:var(--ink)}.btn.wide{width:100%}.text-link{display:inline-flex;gap:12px;align-items:center;font-weight:800;color:var(--ink);margin-top:12px}.text-link span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ink);color:white;font-size:.78rem}.text-link:hover{color:var(--accent)}.section-head{max-width:900px;margin-bottom:48px}.section-head.split{max-width:none;display:grid;grid-template-columns:1.05fr .75fr;gap:80px;align-items:end}.section-head.split>div:last-child,.section-head.split>p{padding-bottom:8px}.section-head.centered{text-align:center;margin:0 auto 60px;max-width:900px}.section-head.centered h2{color:white}.section-head p{font-size:1.05rem}
/* header */
.site-header{position:absolute;top:0;left:0;right:0;z-index:50;padding:28px 34px;transition:.25s}.nav-shell{max-width:1450px;margin:auto;height:66px;padding:0 18px 0 22px;display:flex;align-items:center;gap:32px;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 8px 30px rgba(0,0,0,.06)}.brand{display:flex;align-items:center;margin-right:auto}.brand img{height:43px;width:auto}.main-nav ul{display:flex;gap:25px;list-style:none;margin:0;padding:0}.main-nav a{font-size:.91rem;font-weight:700}.main-nav a:hover{color:var(--accent)}.nav-cta{display:inline-flex;gap:10px;align-items:center;font-size:.9rem;font-weight:800}.nav-cta span{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:white}.menu-toggle{display:none;border:0;background:none;width:42px;height:42px;padding:9px}.menu-toggle span{display:block;height:2px;background:var(--ink);margin:6px 0}.site-header.sticky{position:fixed;padding-top:10px}.site-header.sticky .nav-shell{box-shadow:0 12px 34px rgba(0,0,0,.12)}
/* home hero */
.home-hero{margin:14px 14px 0;min-height:870px;border-radius:18px;background:var(--ink);position:relative;overflow:hidden;display:flex;align-items:stretch}.hero-media{position:absolute;inset:0;background-image:linear-gradient(103deg,rgba(5,27,30,.78) 0%,rgba(5,27,30,.58) 40%,rgba(5,27,30,.18) 66%,rgba(5,27,30,.26) 100%),url('../images/site/hero-main.webp');background-size:cover;background-position:center center}.hero-glow{position:absolute;width:520px;height:520px;border-radius:50%;background:var(--accent);filter:blur(110px);opacity:.48}.hero-glow-a{right:-240px;top:-80px}.hero-glow-b{left:-250px;bottom:-270px}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 370px;gap:60px;align-items:end;padding:195px 0 65px}.hero-copy{align-self:center;max-width:930px}.hero-copy h1{max-width:820px;color:white;margin-bottom:28px}.hero-copy>p{max-width:730px;color:#d5dfde;font-size:1.13rem}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.hero-glass{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(10px);border-radius:14px;padding:31px;color:white}.hero-glass p{color:#e1e9e8;font-size:1.04rem}.hero-glass strong{display:block;font-size:.84rem;line-height:1.5}.glass-icon{font-size:1.5rem;margin-bottom:38px}
/* cards */
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-grid.full{grid-template-columns:repeat(2,1fr)}.service-card{min-height:390px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px;display:flex;flex-direction:column;transition:.3s ease;position:relative;overflow:hidden}.service-card:after{content:"";position:absolute;width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.16);right:-80px;bottom:-100px}.service-top{display:flex;justify-content:space-between;align-items:flex-start}.service-icon{width:78px;height:78px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:2rem;background:var(--paper)}.service-no{font-size:.8rem;font-weight:800;opacity:.45}.service-card h3{font-size:1.48rem;margin-top:auto;max-width:280px}.service-card p{min-height:78px}.service-card .text-link{margin-top:14px}.service-card:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-3px);box-shadow:var(--shadow)}.service-card:hover h3,.service-card:hover h3 a,.service-card:hover p,.service-card:hover .text-link{color:white}.service-card:hover .service-icon{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.3)}.service-card:hover .text-link span{background:var(--ink)}.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.area-grid.full{grid-template-columns:repeat(4,1fr)}.area-card{border-top:1px solid var(--line);padding:28px 2px 16px;min-height:260px}.area-card h3{font-size:1.6rem}.area-mark{font-size:.72rem;font-weight:800;color:var(--accent);margin-bottom:50px}.area-card p{min-height:75px}
/* about band */
.about-band{background:var(--ink);margin:0 14px;border-radius:18px;color:white}.about-band-grid{display:grid;grid-template-columns:.82fr 1fr;gap:70px;align-items:center}.about-visual{border-radius:12px;overflow:hidden;background:#173f34}.about-visual img{display:block;width:100%}.about-copy h2{color:white}.about-copy>p{color:#c7d3d2;font-size:1.08rem}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:40px 0}.mini-grid>div{border-top:1px solid rgba(255,255,255,.18);padding-top:18px}.mini-grid b{color:#f9db5a}.mini-grid h3{color:white;margin:.5rem 0}.mini-grid p{color:#b9c7c5;font-size:.93rem}.process-section{background:#102f28;margin:14px;border-radius:18px;position:relative;overflow:hidden}.process-section:before{content:"";position:absolute;inset:auto -140px -270px auto;width:520px;height:520px;border-radius:50%;background:var(--accent);filter:blur(120px);opacity:.35}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative}.process-grid article{min-height:310px;padding:34px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.025)}.process-grid span{display:block;color:#f9db5a;font-weight:800;margin-bottom:85px}.process-grid h3{font-size:1.7rem;color:white}.process-grid p{color:#aebfbd}.faq-home{background:var(--paper)}.faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.faq-intro{position:sticky;top:130px;align-self:start}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;border:0;background:transparent;display:flex;justify-content:space-between;gap:25px;text-align:left;padding:25px 0;font:inherit;font-size:1.13rem;font-weight:750;color:var(--ink);cursor:pointer}.faq-question b{font-size:1.4rem;color:var(--accent)}.faq-answer{display:grid;grid-template-rows:0fr;transition:.3s}.faq-answer>p{overflow:hidden;margin:0}.faq-item.open .faq-answer{grid-template-rows:1fr;padding-bottom:24px}.faq-item.open .faq-question b{transform:rotate(45deg)}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.post-grid.two{grid-template-columns:repeat(2,1fr)}.post-card{background:var(--paper);border-radius:12px;padding:32px;min-height:300px;display:flex;flex-direction:column}.post-card>span{font-size:.78rem;color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.post-card h3{font-size:1.55rem;margin:45px 0 15px}.post-card.large h2{font-size:2rem;margin:60px 0 18px}.post-card .text-link{margin-top:auto}
/* inner */
.inner .site-header{position:absolute}.inner-hero{margin:14px 14px 0;border-radius:18px;min-height:560px;background:var(--ink);position:relative;overflow:hidden;display:flex;align-items:flex-end}.inner-hero-bg{position:absolute;inset:0;background:linear-gradient(100deg,rgba(5,27,30,.95) 0%,rgba(5,27,30,.84) 42%,rgba(5,27,30,.46) 70%,rgba(5,27,30,.30) 100%),url('../images/site/team-header.webp') center 42%/cover}.inner-hero-bg:after{content:"";position:absolute;width:460px;height:460px;right:-200px;bottom:-180px;background:var(--accent);border-radius:50%;filter:blur(100px);opacity:.45}.inner-hero-content{position:relative;z-index:2;padding-bottom:72px}.inner-hero h1{color:white;max-width:1050px;font-size:clamp(3.1rem,6vw,6.2rem)}.inner-hero p{max-width:850px;color:#c6d3d1;font-size:1.08rem}.breadcrumbs{display:flex;align-items:center;gap:10px;color:#aabbb9;font-size:.82rem;margin-bottom:65px}.breadcrumbs b{font-size:.75rem}.breadcrumbs span{color:white}.two-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.statement-card{padding:55px;border:1px solid var(--line);border-radius:16px;background:white}.statement-card.dark{background:var(--ink);color:white;border-color:var(--ink)}.statement-card.dark h2{color:white}.statement-card.dark p{color:#b8c7c5}.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.value-grid article{background:white;padding:35px;min-height:300px}.value-grid b{color:var(--accent)}.value-grid h3{margin-top:70px}.about-scope{background:var(--ink);color:white}.scope-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.scope-grid h2{color:white}.scope-grid p{color:#b8c6c4}.scope-list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.16)}.scope-list li{display:grid;grid-template-columns:.65fr 1.35fr;gap:30px;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.16)}.scope-list span{color:#b9c7c6}.dark-cta,.coverage-band{background:var(--ink);color:white;margin:0 14px;border-radius:18px}.cta-grid{display:grid;grid-template-columns:1fr auto;gap:80px;align-items:center}.cta-grid h2,.coverage-band h2{color:white}.cta-grid p,.coverage-band p{color:#b8c7c5;max-width:900px}.service-detail-layout{display:grid;grid-template-columns:1fr 370px;gap:80px}.detail-content h2{font-size:2.4rem;margin-top:50px}.detail-content h2:first-of-type{margin-top:0}.detail-content p{font-size:1.04rem}.check-list{list-style:none;padding:0;margin:25px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-list li{padding:15px 18px 15px 44px;background:var(--paper);border-radius:8px;position:relative}.check-list li:before{content:"✓";position:absolute;left:16px;color:var(--accent);font-weight:900}.local-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.local-links a{padding:8px 12px;border:1px solid var(--line);border-radius:999px;font-size:.85rem;font-weight:700}.local-links a:hover{border-color:var(--accent);color:var(--accent)}.detail-side{display:flex;flex-direction:column;gap:18px}.side-box{padding:30px;border-radius:14px;background:var(--ink);color:white;position:sticky;top:120px}.side-box.soft{background:var(--paper);color:var(--ink);position:static}.side-box h3{color:inherit}.side-box ul{padding-left:18px}.side-box li{margin:8px 0;color:#bdcac8}.side-box.soft li{color:var(--text)}.side-link{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-weight:700}.location-intro{display:grid;grid-template-columns:1fr 420px;gap:80px}.location-panel{background:var(--paper);border-radius:14px;padding:32px}.location-panel>span{color:var(--accent);font-weight:800;text-transform:uppercase;font-size:.78rem;letter-spacing:.12em}.location-panel ul{list-style:none;padding:0;margin:25px 0 0}.location-panel li{border-top:1px solid var(--line)}.location-panel a{display:block;padding:13px 0;font-weight:700}.inline-cta{margin-top:50px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px}.faq-page-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:80px}.article{max-width:860px}.article-meta{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:800;margin-bottom:30px}.article h2{font-size:2rem;margin-top:46px}.article-note{padding:22px 24px;background:var(--mint);border-left:4px solid var(--accent);margin-top:45px}.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}.contact-facts{margin-top:45px;border-top:1px solid var(--line)}.contact-facts>div{padding:20px 0;border-bottom:1px solid var(--line)}.contact-facts span{display:block;color:var(--accent);font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.contact-facts strong{display:block;margin-top:7px}.contact-placeholder strong{color:#7a898b}.quote-form{background:var(--paper);padding:38px;border-radius:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{font-size:.82rem;font-weight:800}.form-grid label.full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;margin-top:8px;border:1px solid #cad5d3;background:white;border-radius:8px;padding:15px;font:inherit;color:var(--ink);outline:none}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--accent)}.quote-form .btn{margin-top:20px}.form-note{font-size:.82rem;margin-top:18px}.legal-content h2{font-size:1.8rem;margin-top:42px}.legal-content h2:first-child{margin-top:0}.error-page{min-height:100vh;display:grid;place-items:center;text-align:center;padding:160px 0 80px}.error-page h1{font-size:5rem}
/* footer */
.site-footer{background:#08231d;color:white;margin:14px;border-radius:18px;overflow:hidden}.footer-cta{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center;padding-top:85px;padding-bottom:65px;border-bottom:1px solid rgba(255,255,255,.12)}.footer-cta h2{color:white;max-width:920px}.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr .8fr;gap:60px;padding-top:70px;padding-bottom:70px}.footer-about img{height:52px;width:auto;margin-bottom:28px}.footer-about p{color:#aebfbd;max-width:340px}.coverage-tag{color:#f9db5a;font-size:.8rem;font-weight:700;max-width:320px}.footer-grid h3{font-size:1rem;letter-spacing:0;color:white;margin-bottom:22px}.footer-grid ul{list-style:none;margin:0;padding:0}.footer-grid li{margin:10px 0}.footer-grid a{color:#b8c7c5;font-size:.92rem}.footer-grid a:hover{color:white}.footer-bottom{display:flex;justify-content:space-between;gap:30px;padding-top:25px;padding-bottom:25px;border-top:1px solid rgba(255,255,255,.12)}.footer-bottom p{margin:0;color:#849795;font-size:.82rem}.footer-credit{display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}.footer-credit .credit-heart{color:#9cff57;font-size:1rem;line-height:1;filter:drop-shadow(0 0 5px rgba(156,255,87,.25))}.footer-credit a{color:#b8c7c5;font-weight:700}.footer-credit a:hover{color:#f9db5a}.back-top{position:fixed;right:24px;bottom:24px;width:45px;height:45px;border:0;border-radius:50%;background:var(--accent);color:white;font-size:1.2rem;cursor:pointer;opacity:0;pointer-events:none;transition:.2s;z-index:90}.back-top.show{opacity:1;pointer-events:auto}.reveal{transition:transform .5s ease,opacity .5s ease}
@media(max-width:1100px){.main-nav{display:none;position:absolute;left:34px;right:34px;top:104px;background:white;border-radius:12px;padding:20px;box-shadow:var(--shadow)}.main-nav.open{display:block}.main-nav ul{flex-direction:column;gap:0}.main-nav a{display:block;padding:12px}.menu-toggle{display:block}.nav-cta{display:none}.hero-grid{grid-template-columns:1fr;padding-top:180px}.hero-glass{margin-left:auto}.service-grid,.area-grid.full{grid-template-columns:repeat(2,1fr)}.about-band-grid,.faq-layout,.scope-grid,.service-detail-layout,.location-intro,.faq-page-grid,.contact-layout{grid-template-columns:1fr}.faq-intro,.side-box{position:static}.value-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2}.area-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.container-wide,.container{width:min(100% - 28px,var(--max))}.section{padding:75px 0}.site-header{padding:20px 14px}.nav-shell{height:60px}.main-nav{left:14px;right:14px;top:88px}.home-hero,.inner-hero,.about-band,.process-section,.dark-cta,.coverage-band,.site-footer{margin-left:6px;margin-right:6px}.home-hero{min-height:790px}.hero-grid{padding-top:145px;padding-bottom:30px}.hero-copy h1{font-size:clamp(3rem,15vw,4.4rem)}.hero-glass{max-width:none}.section-head.split,.cta-grid,.footer-cta{grid-template-columns:1fr;gap:25px}.service-grid,.service-grid.full,.area-grid,.area-grid.full,.post-grid,.post-grid.two,.process-grid,.two-card-grid,.value-grid,.footer-grid{grid-template-columns:1fr}.service-card{min-height:340px}.about-band-grid{gap:35px}.mini-grid{grid-template-columns:1fr}.process-grid article{min-height:250px}.process-grid span{margin-bottom:45px}.scope-list li{grid-template-columns:1fr;gap:8px}.check-list{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.quote-form{padding:24px}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column}.inner-hero{min-height:500px}.inner-hero-content{padding-bottom:45px}.breadcrumbs{margin-bottom:45px;flex-wrap:wrap}.statement-card{padding:32px}.inline-cta{align-items:flex-start;flex-direction:column}.area-card p{min-height:auto}}

/* ===== T.WISE V2 NAV / LOADER / GALLERY ===== */
/* Bexon-style preloader restored for the static build */
.tj-preloader{position:fixed;inset:0;width:100%;height:100%;background:var(--ink);z-index:100000000;color:#fdfdf9;user-select:none;display:block;opacity:1;visibility:visible;transition:opacity .55s ease,visibility .55s ease}.tj-preloader.is-loaded{opacity:0;visibility:hidden;pointer-events:none}.tj-preloader-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.tj-preloader-ball-wrap{gap:10px;position:relative;display:flex;align-items:center;justify-content:center}.tj-preloader-ball-inner-wrap{position:absolute;width:10px;height:100%;top:50%;left:-30px;transform:translate(-100%,-50%);z-index:2}.tj-preloader-ball-shadow{position:absolute;width:16px;height:4px;left:50%;transform:translateX(-50%);background:#f9db5a;bottom:0;border-radius:50%;filter:blur(12px);box-shadow:0 4px 20px #f9db5a;animation:tj-shadow-blur 1s linear infinite}.tj-preloader-ball-inner{position:absolute;width:8px;height:8px;border-radius:50%;background:#f9db5a;animation:tj-bounce-anim 1s linear infinite;box-shadow:0 0 12px #fdfdf9}.tj-preloader-ball{position:absolute;width:14px;height:14px;bottom:50%;left:50%;transform:translate(-50%,50%);border-radius:50%;background:rgba(249,219,90,.12);box-shadow:0 0 20px #f9db5a;filter:blur(10px)}.tj-preloader-text{font-size:20px;position:relative;font-weight:750;letter-spacing:.035em;transition:.3s}.tj-preloader.is-loaded .tj-preloader-text{opacity:0;transform:translateY(-10px)}#tj-weave-anim span{position:relative;display:inline-block;animation:tj-weave-anim 1.15s ease infinite;animation-delay:calc(var(--i) * .05s);transform-origin:100% 50%;transform-style:preserve-3d}
@keyframes tj-shadow-blur{0%{filter:blur(12px);transform:translateX(-50%) scale(.6);opacity:.4}30%{filter:blur(2px);transform:translate(-50%,-.5rem) scale(1);opacity:1}100%{filter:blur(12px);transform:translateX(-50%) scale(.6);opacity:.4}}
@keyframes tj-bounce-anim{0%,100%{transform:translateY(calc(-50% - 1rem)) scaleX(1.4)}20%{transform:translateY(calc(-50% - .2rem)) scale(.9,1.4)}30%{transform:translateY(calc(-50% + 1rem)) scale(1.5,.3)}48%{transform:translateY(calc(-50% - .2rem)) scale(.9,1.4)}75%{transform:translateY(calc(-50% - .7rem)) scale(.98,1.1)}}
@keyframes tj-weave-anim{0%{transform:translate3d(0,0,0) scale(1) rotateY(0)}12%{transform:translate3d(2px,-2px,2px) scale(1.16) rotateY(6deg)}24%,100%{transform:translate3d(0,0,0) scale(1) rotateY(0)}}

/* Compact top navigation with dropdowns */
.main-nav>ul{display:flex;align-items:center;gap:19px;list-style:none;margin:0;padding:0}.main-nav>ul>li{position:relative}.nav-parent{display:flex;align-items:center;gap:2px}.dropdown-toggle{border:0;background:transparent;width:24px;height:28px;padding:0;display:grid;place-items:center;color:var(--ink);cursor:pointer;font:inherit}.dropdown-toggle span{display:block;transition:transform .2s ease}.has-dropdown:hover>.nav-parent .dropdown-toggle span,.has-dropdown:focus-within>.nav-parent .dropdown-toggle span,.has-dropdown.open>.nav-parent .dropdown-toggle span{transform:rotate(180deg)}.main-nav .submenu{position:absolute;top:calc(100% + 18px);left:-18px;min-width:255px;display:grid!important;grid-template-columns:1fr;gap:2px!important;padding:12px!important;margin:0!important;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 50px rgba(7,27,30,.14);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,visibility .2s;z-index:80}.main-nav .submenu-wide{min-width:570px;grid-template-columns:repeat(2,minmax(245px,1fr))}.main-nav .submenu li{list-style:none}.main-nav .submenu a{display:block;padding:10px 12px;border-radius:8px;font-size:.84rem;line-height:1.35;color:var(--ink)}.main-nav .submenu a:hover{background:var(--paper);color:var(--accent)}.has-dropdown:hover>.submenu,.has-dropdown:focus-within>.submenu,.has-dropdown.open>.submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}

/* Keep breadcrumbs below the floating navigation instead of allowing tall headings to push them above it */
.inner-hero{display:block;align-items:initial}.inner-hero-content{min-height:560px;padding-top:154px;padding-bottom:72px;display:flex;flex-direction:column;justify-content:flex-end}.breadcrumbs{margin-bottom:38px}

/* Project gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-preview{grid-template-columns:repeat(3,1fr)}.gallery-item{position:relative;aspect-ratio:4/3;border:0;border-radius:14px;padding:0;overflow:hidden;background:#0d2b24;cursor:zoom-in;text-align:left;color:white}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease,filter .35s ease}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(4,20,22,.88) 0%,rgba(4,20,22,.12) 58%,rgba(4,20,22,.04) 100%);transition:.3s}.gallery-item:hover img{transform:scale(1.045)}.gallery-overlay{position:absolute;left:24px;right:22px;bottom:22px;z-index:2;display:grid;grid-template-columns:1fr auto;align-items:end;gap:4px 16px}.gallery-overlay small{grid-column:1/-1;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:800;color:#f9db5a}.gallery-overlay strong{font-size:1.22rem;line-height:1.12}.gallery-overlay i{font-style:normal;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent);font-weight:800}.gallery-home{background:#fff}.gallery-lightbox{position:fixed;inset:0;background:rgba(3,15,17,.94);z-index:100000001;display:none;align-items:center;justify-content:center;padding:46px}.gallery-lightbox.open{display:flex}.gallery-lightbox figure{margin:0;max-width:min(1200px,94vw);max-height:90vh;display:flex;flex-direction:column;gap:14px}.gallery-lightbox img{display:block;max-width:100%;max-height:78vh;border-radius:12px;box-shadow:0 28px 80px rgba(0,0,0,.35)}.gallery-lightbox figcaption{color:#fff;font-weight:700}.gallery-lightbox-close{position:absolute;right:28px;top:22px;width:48px;height:48px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:1.7rem;cursor:pointer}

@media(max-width:1100px){.main-nav{max-height:calc(100vh - 125px);overflow:auto}.main-nav>ul{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav-parent{justify-content:space-between}.nav-parent>a{flex:1}.dropdown-toggle{width:44px;height:44px}.main-nav .submenu,.main-nav .submenu-wide{position:static;min-width:0;display:none!important;grid-template-columns:1fr;opacity:1;visibility:visible;pointer-events:auto;transform:none;box-shadow:none;border:0;border-left:2px solid var(--accent);border-radius:0;background:var(--paper);margin:0 0 8px 12px!important;padding:6px 10px!important}.has-dropdown.open>.submenu{display:grid!important}.main-nav .submenu a{padding:9px 11px}.gallery-grid,.gallery-preview{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.tj-preloader-text{font-size:15px}.tj-preloader-ball-inner-wrap{left:-18px}.inner-hero-content{min-height:500px;padding-top:125px;padding-bottom:45px}.breadcrumbs{margin-bottom:28px}.gallery-grid,.gallery-preview{grid-template-columns:1fr}.gallery-item{aspect-ratio:1.2/1}.gallery-lightbox{padding:22px}.gallery-lightbox-close{right:14px;top:14px}}
/* Hover bridge keeps desktop dropdowns open while the pointer travels from the menu label to the dropdown panel. */
@media(min-width:1101px){.main-nav>ul>li.has-dropdown:after{content:"";position:absolute;left:-8px;right:-8px;top:100%;height:22px}}


/* ===== T.WISE V3 BRAND PALETTE =====
   Deep safety/energy green + electrical yellow #f9db5a.
   --accent-deep is used for small text on light backgrounds for better readability. */
:root{--accent-deep:#8c7000;--green-deep:#0d2b24;--green-mid:#173f34;--yellow:#f9db5a}
.eyebrow{color:var(--accent-deep)}.eyebrow:before{background:var(--yellow)}.eyebrow.light{color:var(--yellow)}.eyebrow.light:before{background:var(--yellow)}
.main-nav a:hover,.main-nav .submenu a:hover,.text-link:hover{color:var(--accent-deep)}
.nav-cta span,.btn-dark span,.btn-light span,.gallery-overlay i,.back-top{background:var(--yellow);color:var(--green-deep)}
.btn-dark:hover{background:var(--yellow);color:var(--green-deep)}
.btn-accent{background:var(--yellow);color:var(--green-deep)}.btn-accent span{background:var(--green-deep);color:#fff}.btn-accent:hover{background:var(--accent2);color:var(--green-deep)}
.service-card:hover{background:var(--yellow);border-color:var(--yellow)}
.service-card:hover h3,.service-card:hover h3 a,.service-card:hover p,.service-card:hover .text-link{color:var(--green-deep)}
.service-card:hover .service-icon{background:rgba(13,43,36,.08);border-color:rgba(13,43,36,.18)}
.service-card:hover .text-link span{background:var(--green-deep);color:#fff}
.area-mark,.faq-question b,.post-card>span,.value-grid b,.check-list li:before,.location-panel>span,.article-meta,.contact-facts span{color:var(--accent-deep)}
.local-links a:hover{border-color:var(--yellow);color:var(--green-deep);background:#fff9d9}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(249,219,90,.22)}
.process-grid span,.mini-grid b,.gallery-overlay small{color:var(--yellow)}
.article-note{background:#fff8d8;border-left-color:var(--yellow)}
.hero-glow,.process-section:before,.inner-hero-bg:after{background:var(--yellow)}
.tj-preloader-ball-shadow{background:var(--yellow);box-shadow:0 4px 20px rgba(249,219,90,.72)}
.tj-preloader-ball-inner{background:var(--yellow);box-shadow:0 0 14px rgba(249,219,90,.8)}
.tj-preloader-ball{background:rgba(249,219,90,.12);box-shadow:0 0 22px rgba(249,219,90,.72)}
.main-nav .submenu,.main-nav .submenu-wide{box-shadow:0 20px 50px rgba(13,43,36,.16)}
@media(max-width:1100px){.main-nav .submenu,.main-nav .submenu-wide{border-left-color:var(--yellow)}}

/* ===== T.WISE V4 HEADER REFINEMENT ===== */
/* Cleaner, more deliberate desktop navigation inspired by the original Bexon header. */
@media (min-width:1101px){
  .site-header{padding:24px 34px}
  .nav-shell{
    max-width:1450px;
    height:72px;
    padding:0 10px 0 24px;
    gap:28px;
    border-radius:10px;
  }
  .brand{flex:0 0 auto}
  .brand img{height:44px}

  .main-nav{display:flex;align-items:center;height:100%;margin-left:auto}
  .main-nav>ul{
    height:100%;
    display:flex;
    align-items:center;
    gap:30px;
  }
  .main-nav>ul>li{height:100%;display:flex;align-items:center}
  .main-nav>ul>li>a,
  .main-nav .nav-main-link{
    display:inline-flex;
    align-items:center;
    height:100%;
    padding:0;
    color:var(--ink);
    font-size:14px;
    font-weight:750;
    line-height:1;
    letter-spacing:-.012em;
    white-space:nowrap;
    transition:color .2s ease;
  }
  .nav-parent{height:100%;display:flex;align-items:center;gap:7px}

  /* Replace the text-like dropdown glyph with a small consistent chevron. */
  .dropdown-toggle{
    width:12px;
    height:18px;
    min-width:12px;
    padding:0;
    margin:0;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .dropdown-toggle span{
    width:6px;
    height:6px;
    font-size:0;
    border-right:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor;
    transform:rotate(45deg) translateY(-1px);
    transform-origin:center;
    transition:transform .2s ease,color .2s ease;
  }
  .has-dropdown:hover>.nav-parent .dropdown-toggle span,
  .has-dropdown:focus-within>.nav-parent .dropdown-toggle span,
  .has-dropdown.open>.nav-parent .dropdown-toggle span{
    transform:rotate(225deg) translate(-1px,-1px);
  }
  .main-nav>ul>li:hover>a,
  .main-nav>ul>li:hover>.nav-parent>a,
  .main-nav>ul>li:hover>.nav-parent .dropdown-toggle{
    color:var(--accent-deep);
  }

  /* Keep dropdown panels visually attached to the tidier menu. */
  .main-nav .submenu{top:calc(100% + 12px)}
  .main-nav>ul>li.has-dropdown:after{height:16px}

  /* Bexon-style CTA: filled pill with a separate circular arrow control. */
  .nav-cta{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-height:48px;
    padding:5px 5px 5px 22px;
    border-radius:999px;
    background:var(--yellow);
    color:var(--green-deep);
    font-size:14px;
    font-weight:800;
    line-height:1;
    letter-spacing:-.01em;
    white-space:nowrap;
    box-shadow:0 7px 18px rgba(13,43,36,.10);
    transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
  }
  .nav-cta span{
    width:38px;
    height:38px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:var(--green-deep);
    color:var(--yellow);
    font-size:17px;
    line-height:1;
    transition:transform .25s ease,background .25s ease,color .25s ease;
  }
  .nav-cta:hover{
    color:var(--green-deep);
    background:#ffe476;
    transform:translateY(-1px);
    box-shadow:0 10px 24px rgba(13,43,36,.14);
  }
  .nav-cta:hover span{transform:rotate(45deg);background:var(--green-mid);color:var(--yellow)}

  .site-header.sticky{padding-top:10px}
  .site-header.sticky .nav-shell{height:68px}
}

/* Keep mobile menu clean and make its chevrons match desktop. */
@media (max-width:1100px){
  .nav-parent{gap:8px}
  .dropdown-toggle span{
    width:7px;
    height:7px;
    font-size:0;
    border-right:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor;
    transform:rotate(45deg) translateY(-1px);
    transform-origin:center;
  }
  .has-dropdown.open>.nav-parent .dropdown-toggle span{transform:rotate(225deg) translate(-1px,-1px)}
  .main-nav>ul>li>a,.main-nav .nav-main-link{font-weight:750;letter-spacing:-.01em}
}


/* ===== T.WISE V7 GENERATED WEBSITE PHOTOGRAPHY ===== */
.about-visual img{aspect-ratio:4/3;object-fit:cover;object-position:center;min-height:520px}
.visual-capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:38px 0 52px}
.visual-card{position:relative;min-height:330px;border-radius:14px;overflow:hidden;background:var(--green-deep);color:#fff}
.visual-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.visual-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(6,29,24,.88) 0%,rgba(6,29,24,.10) 64%)}
.visual-card:hover img{transform:scale(1.035)}
.visual-card-caption{position:absolute;z-index:2;left:26px;right:26px;bottom:24px}
.visual-card-caption span{display:block;color:var(--yellow);font-size:.69rem;text-transform:uppercase;letter-spacing:.13em;font-weight:850;margin-bottom:6px}
.visual-card-caption strong{font-size:1.25rem;line-height:1.2}
.detail-feature-image,.content-feature-image,.contact-feature-image,.article-feature-image{margin:34px 0 44px;border-radius:14px;overflow:hidden;background:var(--paper);box-shadow:0 18px 45px rgba(13,43,36,.08)}
.detail-feature-image img,.content-feature-image img,.contact-feature-image img,.article-feature-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.detail-feature-image figcaption,.content-feature-image figcaption,.article-feature-image figcaption{padding:12px 16px;font-size:.78rem;color:#66746f;background:#fff;border-top:1px solid var(--line)}
.contact-feature-image{margin:28px 0 34px}.contact-feature-image img{aspect-ratio:4/3}
.post-card.has-image{padding:0;overflow:hidden}.post-card.has-image .post-card-image{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.post-card.has-image .post-card-body{padding:28px 32px 32px;display:flex;flex-direction:column;flex:1}.post-card.has-image h2,.post-card.has-image h3{margin-top:30px}
.inner-hero-bg{background-position:center 42%}
@media(max-width:1100px){.visual-capabilities{grid-template-columns:repeat(2,1fr)}.visual-card:last-child{grid-column:1/-1;min-height:360px}.about-visual img{min-height:0}}
@media(max-width:760px){.visual-capabilities{grid-template-columns:1fr;margin:28px 0 38px}.visual-card,.visual-card:last-child{grid-column:auto;min-height:290px}.detail-feature-image,.content-feature-image,.article-feature-image{margin:26px 0 34px}.inner-hero-bg{background-position:58% 42%}}

/* v8: final company/contact + plumbing refinements */
.brand img{max-width:238px}.footer-about img{max-width:238px}
.footer-contact{display:grid;gap:5px;margin:18px 0 16px}.footer-contact a,.footer-contact p{margin:0;color:#b8c7c5;font-size:.82rem;line-height:1.45}.footer-contact a:hover{color:#f9db5a}
.contact-facts a{font-weight:800;color:var(--ink)}.contact-facts a:hover{color:var(--accent-deep)}
@media(max-width:760px){.brand img{max-width:205px;height:auto}.footer-about img{max-width:225px}}

/* ===== V10 PRELOADER FAILSAFE =====
   Static-file safety: the loader must never trap the page if external JS is
   delayed/blocked when opened directly with file:// on Windows. */
.tj-preloader{
  animation:twise-preloader-failsafe .5s ease 2.15s forwards;
}
.tj-preloader.is-loaded{
  animation:none;
}
@keyframes twise-preloader-failsafe{
  to{opacity:0;visibility:hidden;pointer-events:none}
}
@media (prefers-reduced-motion:reduce){
  .tj-preloader{animation:twise-preloader-failsafe .01s linear .35s forwards}
}


/* ===== V12 CONTACT ACTIONS + FLOATING WHATSAPP ===== */
.form-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:20px}.form-actions .btn{margin-top:0}.form-actions .btn span{font-size:.92rem}.form-note{font-size:.82rem;margin-top:14px;color:#516462}.floating-whatsapp{position:fixed;right:24px;bottom:78px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff;box-shadow:0 14px 34px rgba(0,0,0,.18);z-index:91;transition:transform .2s ease,box-shadow .2s ease}.floating-whatsapp:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 18px 38px rgba(0,0,0,.22)}.floating-whatsapp svg{width:28px;height:28px;display:block}.floating-whatsapp-label{position:fixed;right:91px;bottom:91px;background:#0d2b24;color:#fff;padding:8px 12px;border-radius:999px;font-size:.78rem;font-weight:800;z-index:91;box-shadow:0 10px 28px rgba(0,0,0,.15);opacity:0;transform:translateX(10px);pointer-events:none;transition:.2s}.floating-whatsapp:hover + .floating-whatsapp-label{opacity:1;transform:translateX(0)}@media(max-width:760px){.form-actions{flex-direction:column;align-items:stretch}.form-actions .btn{width:100%}.floating-whatsapp{right:16px;bottom:76px;width:54px;height:54px}.floating-whatsapp-label{display:none}}


/* ===== V13 BRAND ICON + WHATSAPP POLISH ===== */
/* Use the supplied T.Wise artwork in the brand lockup. */
.brand img{height:48px;max-width:255px;width:auto}.footer-about img{height:56px;max-width:255px;width:auto}
/* Match the floating WhatsApp button to the back-to-top button exactly. */
.floating-whatsapp{right:24px;bottom:78px;width:45px;height:45px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;padding:0}
.floating-whatsapp svg{width:23px;height:27px;display:block}
.floating-whatsapp-label{right:80px;bottom:83px}
@media(max-width:760px){.brand img{height:44px;max-width:225px}.floating-whatsapp{right:24px;bottom:78px;width:45px;height:45px}.floating-whatsapp svg{width:23px;height:27px}}
