:root{
  --tc-orange:#ff5b1f;
  --tc-orange-dark:#e1470f;
  --tc-black:#0e0e10;
  --tc-black-2:#17171a;
  --tc-gray:#5b5d66;
  --tc-light:#f6f6f8;
  --tc-white:#ffffff;
  --tc-radius:14px;
  --tc-shadow:0 10px 30px rgba(0,0,0,.08);
  --tc-shadow-lg:0 20px 50px rgba(0,0,0,.18);
  --font-head:'Poppins',sans-serif;
  --font-body:'Inter',sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:#26262b;
  background:var(--tc-white);
  margin:0;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,.font-head{font-family:var(--font-head);font-weight:700;letter-spacing:-.02em;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
.container-xl{max-width:1240px;margin:0 auto;padding:0 20px;}

.btn-tc{
  display:inline-flex;align-items:center;gap:8px;
  background:linear-gradient(135deg,var(--tc-orange),var(--tc-orange-dark));
  color:#fff;padding:13px 26px;border-radius:50px;font-weight:600;
  border:none;cursor:pointer;transition:.25s;box-shadow:0 8px 20px rgba(255,91,31,.35);
}
.btn-tc:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(255,91,31,.45);color:#fff;}
.btn-outline-tc{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;color:var(--tc-black);padding:12px 26px;border-radius:50px;
  font-weight:600;border:2px solid var(--tc-black);transition:.25s;
}
.btn-outline-tc:hover{background:var(--tc-black);color:#fff;}
.btn-white{
  display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--tc-black);
  padding:12px 26px;border-radius:50px;font-weight:600;border:none;transition:.25s;
}
.btn-white:hover{transform:translateY(-2px);}

/* ---------- TOPBAR ---------- */
.topbar{background:var(--tc-black);color:#c9c9cf;font-size:13.5px;padding:8px 0;}
.topbar a{color:#c9c9cf;}
.topbar a:hover{color:var(--tc-orange);}
.topbar .sep{opacity:.35;margin:0 10px;}

/* ---------- NAVBAR ---------- */
.tc-navbar{background:#fff;box-shadow:0 2px 18px rgba(0,0,0,.06);position:sticky;top:0;z-index:1000;}
.tc-navbar .navbar-brand img{height:52px;width:auto;border-radius:8px;}
.tc-navbar .nav-link{font-weight:600;color:#26262b !important;margin:0 6px;position:relative;padding:10px 4px !important;}
.tc-navbar .nav-link.active,.tc-navbar .nav-link:hover{color:var(--tc-orange) !important;}
.tc-navbar .nav-link.active::after{content:"";position:absolute;left:4px;right:4px;bottom:2px;height:3px;background:var(--tc-orange);border-radius:3px;}

/* ---------- HERO ---------- */
.hero{
  position:relative;background:radial-gradient(circle at 15% 20%,#1c1c20 0,var(--tc-black) 60%);
  color:#fff;padding:100px 0 130px;overflow:hidden;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,91,31,.18) 2px,transparent 2px);
  background-size:26px 26px;opacity:.5;
}
.hero .badge-tc{
  display:inline-block;background:rgba(255,91,31,.15);color:var(--tc-orange);
  border:1px solid rgba(255,91,31,.4);padding:7px 16px;border-radius:50px;font-weight:600;font-size:13px;
  margin-bottom:18px;letter-spacing:.03em;
}
.hero h1{font-size:clamp(2.1rem,4.4vw,3.6rem);line-height:1.12;margin-bottom:20px;}
.hero h1 .hero-slogan{color:var(--tc-orange);}
.hero h1 .hero-subtitle{
  display:block;font-family:var(--font-body);font-weight:600;color:#a8a8b0;
  font-size:clamp(.85rem,1.3vw,1.05rem);letter-spacing:.04em;margin-top:6px;text-transform:uppercase;
}
.hero p.lead{color:#c9c9cf;font-size:1.12rem;max-width:560px;margin-bottom:32px;}
.hero-stats{display:flex;gap:34px;margin-top:50px;flex-wrap:wrap;}
.hero-stats .stat b{font-size:1.9rem;color:var(--tc-orange);display:block;font-family:var(--font-head);}
.hero-stats .stat span{color:#a8a8b0;font-size:13.5px;}
.hero-visual{position:relative;z-index:2;}
.hero-visual img{border-radius:20px;box-shadow:var(--tc-shadow-lg);}

/* ---------- SECTION ---------- */
.section{padding:90px 0;}
.section-alt{background:var(--tc-light);}
.eyebrow{color:var(--tc-orange);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:13px;margin-bottom:10px;display:block;}
.section-title{font-size:clamp(1.7rem,3vw,2.4rem);margin-bottom:14px;}
.section-desc{color:var(--tc-gray);max-width:640px;font-size:1.02rem;}

/* ---------- SERVICE CARDS ---------- */
.svc-card{
  background:#fff;border-radius:var(--tc-radius);padding:32px 26px;box-shadow:var(--tc-shadow);
  height:100%;transition:.3s;border:1px solid #efeff1;position:relative;overflow:hidden;
}
.svc-card:hover{transform:translateY(-6px);box-shadow:var(--tc-shadow-lg);border-color:transparent;}
.svc-card .icon-wrap{
  width:58px;height:58px;border-radius:16px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--tc-orange),var(--tc-orange-dark));color:#fff;font-size:26px;margin-bottom:20px;
}
.svc-card h3{font-size:1.18rem;margin-bottom:10px;}
.svc-card p{color:var(--tc-gray);font-size:.95rem;margin-bottom:16px;}
.svc-card .svc-link{color:var(--tc-orange);font-weight:700;font-size:.9rem;}
.svc-card .svc-link i{transition:.25s;}
.svc-card:hover .svc-link i{transform:translateX(5px);}

.svc-cover{border-radius:var(--tc-radius);overflow:hidden;margin-bottom:18px;aspect-ratio:16/10;}
.svc-cover img{width:100%;height:100%;object-fit:cover;transition:.4s;}
.svc-card:hover .svc-cover img{transform:scale(1.06);}

/* ---------- WHY US ---------- */
.why-item{display:flex;gap:16px;margin-bottom:26px;}
.why-item .num{
  flex:0 0 46px;height:46px;border-radius:12px;background:var(--tc-black);color:var(--tc-orange);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--font-head);
}
.why-item h4{margin:0 0 4px;font-size:1.05rem;}
.why-item p{margin:0;color:var(--tc-gray);font-size:.94rem;}

/* ---------- GALLERY ---------- */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.gallery-grid .g-item{border-radius:12px;overflow:hidden;aspect-ratio:1/1;box-shadow:var(--tc-shadow);}
.gallery-grid .g-item img{width:100%;height:100%;object-fit:cover;transition:.4s;}
.gallery-grid .g-item:hover img{transform:scale(1.08);}
@media(max-width:768px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}

/* ---------- CTA ---------- */
.cta-band{background:linear-gradient(120deg,#111113,#1d1d21);color:#fff;border-radius:24px;padding:56px 40px;position:relative;overflow:hidden;}
.cta-band::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;background:radial-gradient(circle,rgba(255,91,31,.4),transparent 70%);}
.cta-band h2{margin-bottom:10px;}
.cta-band p{color:#c9c9cf;}

/* ---------- BLOG ---------- */
.blog-card{background:#fff;border-radius:var(--tc-radius);overflow:hidden;box-shadow:var(--tc-shadow);height:100%;transition:.3s;border:1px solid #efeff1;}
.blog-card:hover{transform:translateY(-6px);box-shadow:var(--tc-shadow-lg);}
.blog-card .cover{aspect-ratio:16/10;overflow:hidden;}
.blog-card .cover img{width:100%;height:100%;object-fit:cover;transition:.4s;}
.blog-card:hover .cover img{transform:scale(1.07);}
.blog-card .body{padding:22px;}
.blog-card .date{color:var(--tc-orange);font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
.blog-card h3{font-size:1.08rem;margin:8px 0 10px;}
.blog-card p{color:var(--tc-gray);font-size:.92rem;}
.blog-content{font-size:1.05rem;line-height:1.85;color:#33333a;}
.blog-content h2,.blog-content h3{margin-top:34px;margin-bottom:14px;}
.blog-content img{border-radius:14px;margin:20px 0;}
.blog-content p{margin-bottom:16px;}

/* ---------- FAQ ---------- */
.accordion-tc .accordion-item{border:none;border-radius:14px !important;overflow:hidden;margin-bottom:14px;box-shadow:var(--tc-shadow);}
.accordion-tc .accordion-button{font-weight:700;font-family:var(--font-head);padding:20px 24px;font-size:1rem;}
.accordion-tc .accordion-button:not(.collapsed){color:var(--tc-orange);background:#fff5f0;}
.accordion-tc .accordion-button:focus{box-shadow:none;}
.accordion-tc .accordion-body{padding:0 24px 22px;color:var(--tc-gray);}

/* ---------- FOOTER ---------- */
.tc-footer{background:var(--tc-black);color:#c9c9cf;padding:70px 0 0;}
.tc-footer h5{color:#fff;font-family:var(--font-head);margin-bottom:20px;font-size:1.05rem;}
.tc-footer a{color:#a8a8b0;}
.tc-footer a:hover{color:var(--tc-orange);}
.tc-footer .footer-list li{margin-bottom:10px;}
.tc-footer .social-ico{
  width:38px;height:38px;border-radius:10px;background:#1d1d21;display:inline-flex;align-items:center;justify-content:center;margin-right:8px;transition:.25s;
}
.tc-footer .social-ico:hover{background:var(--tc-orange);}
.tc-footer .foot-bottom{border-top:1px solid #232327;margin-top:50px;padding:22px 0;font-size:13px;color:#8a8a92;}

/* ---------- FLOATING BUTTONS ---------- */
.floating-actions{position:fixed;right:22px;bottom:22px;z-index:1200;display:flex;flex-direction:column;gap:14px;align-items:flex-end;}
.fab{
  width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:26px;box-shadow:0 10px 26px rgba(0,0,0,.28);transition:.25s;position:relative;
}
.fab:hover{transform:scale(1.08);color:#fff;}
.fab-whatsapp{background:#25D366;}
.fab-call{background:linear-gradient(135deg,var(--tc-orange),var(--tc-orange-dark));animation:pulse 2.2s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,91,31,.5);}70%{box-shadow:0 0 0 16px rgba(255,91,31,0);}100%{box-shadow:0 0 0 0 rgba(255,91,31,0);}}

/* ---------- BREADCRUMB / PAGE HEAD ---------- */
.page-head{background:var(--tc-black);color:#fff;padding:60px 0 50px;position:relative;overflow:hidden;}
.page-head::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,91,31,.15) 2px,transparent 2px);background-size:26px 26px;opacity:.5;}
.page-head h1{margin-bottom:10px;position:relative;}
.page-head .crumbs{color:#a8a8b0;font-size:14px;position:relative;}
.page-head .crumbs a{color:#a8a8b0;}
.page-head .crumbs a:hover{color:var(--tc-orange);}

.form-control-tc,.form-select-tc{
  border-radius:12px;border:1.5px solid #e5e5ea;padding:12px 16px;font-size:.95rem;
}
.form-control-tc:focus,.form-select-tc:focus{border-color:var(--tc-orange);box-shadow:0 0 0 3px rgba(255,91,31,.12);}

.contact-info-card{background:#fff;border-radius:var(--tc-radius);padding:28px;box-shadow:var(--tc-shadow);display:flex;gap:16px;align-items:flex-start;}
.contact-info-card .ic{width:48px;height:48px;border-radius:12px;background:#fff1ea;color:var(--tc-orange);display:flex;align-items:center;justify-content:center;font-size:20px;flex:0 0 48px;}

@media(max-width:991px){
  .hero{padding:70px 0 90px;text-align:center;}
  .hero-stats{justify-content:center;}
  .hero .lead{margin-left:auto;margin-right:auto;}
  .section{padding:60px 0;}
}
