:root{
  --color-cream:#F8F1E2;
  --color-tan:#EFDFBB;
  --color-ink:#221C15;
  --color-ink-soft:#5B5348;
  --color-saffron:#E2600F;
  --color-saffron-dark:#e38431;
  --color-white:#FFFFFF;
  --font-display:'Oswald', sans-serif;
  --font-body:'Work Sans', sans-serif;
}

*{box-sizing:border-box;}
body{
  font-family:var(--font-body);
  color:var(--color-ink);
  background:var(--color-white);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.font-display{
  font-family:var(--font-display);
  text-transform:uppercase;
  letter-spacing:.03em;
}
a{text-decoration:none;}

::selection{background:var(--color-saffron);color:#fff;}

/* ---------- Signature swirl accent ---------- */
.swirl-accent{
  width:64px;height:28px;
  display:inline-block;
  margin-bottom:14px;
}
.swirl-accent svg{width:100%;height:100%;}

.eyebrow-block{text-align:center;margin-bottom:32px;}
.eyebrow-block h2{
  font-size:2.1rem;
  letter-spacing:.04em;
  color:var(--color-saffron-dark);
  margin-bottom:6px;
}

/* ---------- Navbar ---------- */
html{scroll-behavior:smooth;}
.site-nav{
  background:var(--color-white);
  padding:1rem 0;
/*  border-bottom:1px solid rgba(0,0,0,.06);*/
  z-index:1030;
}
.nav-flex{
  position:relative;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  column-gap:1rem;
}
.nav-left{display:flex;align-items:center;flex: 1;}
.brand-logo{
  /*position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:2;*/
  text-align: center;
    flex: 1;
}
.social-cluster{
	display:flex;align-items:center;flex: 1;
    justify-content: flex-end;
}

.nav-left .navbar-nav{flex-direction:row;}
.site-nav .nav-link{
  color:var(--color-ink);
  font-weight:500;
  font-size:.8rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:8px 12px!important;
  transition:color .2s ease;
  cursor:pointer;
  font-family: var(--font-display);
}
.site-nav .nav-link:hover,
.site-nav .nav-link.active{color:var(--color-saffron);}
.brand-logo img{height:60px;}

.social-cluster a{
  font-size:1.15rem;
  margin-left:.7rem;
  transition:transform .2s ease, opacity .2s ease;
  display:inline-block;
  opacity:.92;
}
.social-cluster a:hover{transform:translateY(-2px);opacity:1;}
.icon-linkedin{color:#0A66C2;}
.icon-facebook{color:#1877F2;}
.icon-instagram{color:#D62976;}
.icon-youtube{color:#FF0000;}
.icon-telegram{color:#26A5E4;}

.navbar-toggler{
  border:none;box-shadow:none !important;
  padding:.25rem .4rem;
  font-size:1.3rem;color:var(--color-ink);
}

.mobile-nav-collapse{
  flex:1 0 100%;
  order:5;
  border-top:1px solid rgba(0,0,0,.06);
  margin-top:.7rem;
}
.mobile-nav-collapse .navbar-nav{gap:.15rem;padding-top:.6rem;}
.mobile-nav-collapse .nav-link{
  padding:.6rem .2rem !important;
  border-bottom:1px solid rgba(0,0,0,.05);
}

/* offset anchored sections so the sticky nav doesn't cover the heading */
section[id]{scroll-margin-top:60px;}

/* ---------- Hero grid ---------- */
.hero-wrap{padding:20px 0 10px;}
.hero-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  grid-template-rows:repeat(2, 260px);
  gap:6px;
}
.hero-cell{
  position:relative;
  overflow:hidden;
  border-radius:2px;
  cursor:pointer;
}
.hero-cell img{
  width:100%;height:100%;object-fit:cover;
  display:block;
  transition:transform .6s ease;
}
.hero-cell:hover img{transform:scale(1.08);}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(20,15,8,0) 40%, rgba(20,15,8,.78) 100%);
  display:flex;align-items:flex-end;justify-content:flex-start;
  padding:18px;
  opacity:0;
  transition:opacity .35s ease;
}
.hero-cell:hover .hero-overlay{opacity:1;}
.hero-overlay .hero-text{
  color:#fff;
}
.hero-overlay .hero-text small{
  display:block;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.68rem;
  color:var(--color-saffron);
  margin-bottom:2px;
}
.hero-overlay .hero-text span{
  font-family:var(--font-display);
  font-size:1.2rem;
}
.hero-cell .zoom-hint{
  position:absolute;top:14px;right:14px;
  width:32px;height:32px;border-radius:50%;
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.5);
  color:#fff;display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .3s ease;
  backdrop-filter:blur(2px);
}
.hero-cell:hover .zoom-hint{opacity:1;}

@media (max-width:767px){
  .hero-grid{grid-template-columns:1fr;grid-template-rows:auto;}
  .hero-cell{height:220px;}
  .hero-cell:nth-child(1),.hero-cell:nth-child(2),.hero-cell:nth-child(3),
  .hero-cell:nth-child(4),.hero-cell:nth-child(5){grid-column:1;grid-row:auto;}
  .hero-overlay{opacity:1;}
}

/* ---------- Services ---------- */
.services-section{
  background:var(--color-tan);
  padding:80px 0;
  position:relative;
}
.service-card{
  position:relative;
  height:210px;
  border-radius:2px;
  overflow:hidden;
}
.service-card img{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(1.02);
  transition:transform .5s ease;
}
.service-card:hover img{transform:scale(1.06);}
.service-card .svc-scrim{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(20,15,8,.08) 0%, rgba(20,15,8,.72) 100%);
}
.service-card .svc-label{
  position:absolute;left:0;right:0;bottom:0;
  padding:18px 20px;
  color:#fff;
}
.service-card .svc-label small{
  display:block;color:var(--color-saffron);
  text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;margin-bottom:4px;
}
.service-card .svc-label span{
  font-family:var(--font-display);font-size:1.3rem;
}

/* ---------- About ---------- */
.about-section{padding:60px 0;}
.about-quote{
  font-weight:600;
  font-size:1.6rem;
  line-height:1.4;
  text-transform: uppercase;
}
.about-body p{
  color:var(--color-ink-soft);
  font-size:.98rem;
  line-height:1.85;
}
.about-image{
  margin-top:44px;
  border-radius:2px;
  overflow:hidden;
}
.about-image img{width:100%;display:block;height:auto;max-height:460px;object-fit:cover;}

/* ---------- Clients ---------- */
.clients-section{
  background:var(--color-tan);
  padding:60px 0;
}
.clients-quote{
  font-weight:600;
  font-size:1.35rem;
  text-align:center;
  margin-bottom:10px;
}
.clients-sub{
  text-align:center;color:var(--color-ink-soft);
  margin:0 auto 46px;
  font-size:.94rem;line-height:1.8;
}
.client-logo{
  background:var(--color-white);
  display:flex;align-items:center;justify-content:center;
  border-radius:2px;
  color:var(--color-ink-soft);
  font-weight:600;letter-spacing:.06em;
  transition:box-shadow .25s ease, transform .25s ease;
}
.client-logo:hover{
  box-shadow:0 12px 26px rgba(34,28,21,.12);
  transform:translateY(-4px);
}

/* ---------- Connect ---------- */
.connect-section{padding:60px 0 50px;}
.connect-form{max-width:640px;margin:0 auto;}
.connect-form label{
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.72rem;
  font-weight:700;
  color:var(--color-ink);
  margin-bottom:6px;
}
.connect-form .form-control{
  border:1px solid #DED2B8;
  border-radius:2px;
  padding:.75rem .9rem;
  background:var(--color-cream);
}
.connect-form .form-control:focus{
  border-color:var(--color-saffron);
  box-shadow:0 0 0 .18rem rgba(226,96,15,.15);
  background:#fff;
}
.btn-saffron{
  background:var(--color-saffron);
  color:#fff;border:none;
  padding:.75rem 2.4rem;
  letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:700;
  border-radius:2px;
  transition:background .2s ease;
}
.btn-saffron:hover{background:var(--color-saffron-dark);color:#fff;}
.form-success{
  display:none;
  color:var(--color-saffron-dark);
  font-weight:600;margin-top:14px;
}

/* ---------- Footer ---------- */
.site-footer{
  padding:30px 0;
  text-align:center;
  border-top:1px solid rgba(0,0,0,.06);
}
.site-footer .social-cluster{margin-bottom:10px;}
.site-footer .social-cluster a{color:var(--color-ink);}
.site-footer p{
  font-size:.78rem;color:var(--color-ink-soft);
  letter-spacing:.03em;margin:0;
}

/* ---------- Responsive tuning ---------- */
@media (max-width:991px){
  .brand-logo img{height:50px;}
  .site-nav .navbar-nav{padding-top:.5rem;}
  .site-nav .nav-link{padding:.55rem 0 !important;}
  .social-cluster{margin-top:.5rem;}
  .hero-grid{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3, 170px);}
}
@media (max-width:767px){
  .eyebrow-block h2{font-size:1.65rem;}
  .services-section,.about-section,.clients-section{padding:56px 0;}
  .connect-section{padding:56px 0 46px;}
  .about-quote{font-size:1.3rem;}
  .about-body p{font-size:.92rem;line-height:1.75;}
  .service-card{height:170px;}
  .client-logo{height:100px;}
  .about-image img{max-height:280px;}
  .lightbox-modal .carousel-item img{max-height:56vh;}
  .nav-left{display:none;}
}
@media (max-width:575px){
  .hero-grid{grid-template-columns:1fr;grid-template-rows:auto;gap:8px;}
  .hero-cell{grid-column:1;grid-row:auto;height:200px;}
  .hero-wrap{padding:18px 0 4px;}
  .hero-wrap .container-fluid{padding-left:12px;padding-right:12px;}
  .service-card .svc-label span{font-size:1.1rem;}
  .connect-form .btn-saffron{width:100%;}
  .brand-logo img{height:44px;}
}

/* ---------- Lightbox modal ---------- */
.lightbox-modal .modal-content{
  background:#0f0c08;
  border:none;border-radius:2px;
}
.lightbox-modal .btn-close{filter:invert(1);opacity:.85;}
.lightbox-modal .carousel-item img{
  width:100%;
  max-height:78vh;
  object-fit:contain;
  background:#0f0c08;
}
.lightbox-modal .carousel-caption{
  bottom:-6px;
  position:static;
  padding:14px 0 4px;
  color:#f4ead9;
}
.lightbox-modal .carousel-caption small{
  color:var(--color-saffron);
  text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;
}
.lightbox-modal .carousel-control-prev-icon,
.lightbox-modal .carousel-control-next-icon{
  background-color:rgba(226,96,15,.85);
  border-radius:50%;padding:14px;
}
