:root {
  --set3-bg:#0a0a0a;
  --set3-bg-2:#121212;
  --set3-bg-3:#1c1c1c;
  --set3-card:#1a1a1a;
  --set3-text:#f1f1f1;
  --set3-muted:#b9b9b9;
  --set3-brand:#ffc107;
  --set3-brand-2:#ff9800;
  --set3-accent:#2ecc71;
  --set3-border:#2a2a2a;
  --set3-shadow:0 18px 45px rgba(0,0,0,.35);
}
html,body{background:var(--set3-bg);color:var(--set3-text);}
body{font-family:'Lato',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;padding-bottom:0;}
h1,h2,h3,h4,h5{font-family:'Playfair Display',Georgia,'Times New Roman',serif;color:#fff;}
a{color:inherit;}
.text-brand{color:var(--set3-brand)!important;}
.text-muted,.muted{color:var(--set3-muted)!important;}
.site-navbar{background:var(--set3-bg-2)!important;border-bottom:1px solid var(--set3-border);}
.site-navbar .nav-link{color:var(--set3-text)!important;}
.site-navbar .nav-link:hover,.site-navbar .nav-link.active-top{color:var(--set3-brand)!important;}
.site-navbar .nav-link.active-top{font-weight:700;position:relative;}
.site-navbar .nav-link.active-top::after{content:"";position:absolute;left:50%;bottom:-4px;transform:translateX(-50%);width:18px;height:2px;border-radius:999px;background:var(--set3-brand);}
.navbar-toggler{display:none!important;}
.btn-light,.btn-brand{background:linear-gradient(90deg,var(--set3-brand),var(--set3-brand-2));border:none;color:#000!important;font-weight:700;box-shadow:0 10px 24px rgba(255,193,7,.22);}
.btn-light:hover,.btn-brand:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(255,193,7,.32);}
.btn-outline-light{border-color:rgba(255,193,7,.75);color:#f7f7f7;}
.btn-outline-light:hover,.btn-outline-light.active{background:var(--set3-brand);border-color:var(--set3-brand);color:#000!important;}
.section{padding:70px 0;}
.section-title{text-align:center;margin-bottom:28px;}
.card-dark,.project-card,.testimonial,.form-control,.form-select,textarea{background:var(--set3-card);color:var(--set3-text);border:1px solid var(--set3-border);}
.card-dark{border-radius:16px;box-shadow:var(--set3-shadow);}
.project-card{border-radius:16px;overflow:hidden;transition:transform .25s ease,border-color .25s ease;}
.project-card:hover{transform:translateY(-4px);border-color:rgba(255,193,7,.45);}
.project-card img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .3s ease;}
.project-card:hover img{transform:scale(1.04);}
.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .68rem;border-radius:999px;font-size:.78rem;background:#1f1f1f;border:1px solid var(--set3-border);color:#f8f8f8;}
.hero-carousel .carousel-item{height:70vh;min-height:360px;background-size:cover;background-position:center;position:relative;}
.hero-carousel .carousel-item::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.66),rgba(0,0,0,.35));}
.hero-carousel .carousel-caption{z-index:1;bottom:22%;}
.hero-carousel h1,.hero-carousel p{text-shadow:1px 1px 8px rgba(0,0,0,.75);}
.page-hero{position:relative;min-height:42vh;display:grid;place-items:center;text-align:center;background:linear-gradient(0deg,rgba(0,0,0,.62),rgba(0,0,0,.62)),var(--hero-bg, url('https://www.set3.design/v2/images/whoarewemain.webp')) center/cover no-repeat;border-bottom:1px solid var(--set3-border);}
.cta{background:linear-gradient(rgba(0,0,0,.63),rgba(0,0,0,.63)),url('https://www.set3.design/v2/images/set3design_feature6.webp') center/cover no-repeat;color:#fff;padding:80px 20px;text-align:center;border-top:1px solid var(--set3-border);}
.site-footer{background:#000;color:#fff;padding:45px 0;border-top:1px solid var(--set3-border);}
.footer-logo{font-size:1.5rem;font-weight:800;color:var(--set3-accent);}
.lucide-icon{width:26px;height:26px;stroke-width:1.8;color:var(--set3-brand);}
.gallery-main img,.single-gallery img{border-radius:14px;border:1px solid var(--set3-border);}
.single-gallery img{aspect-ratio:4/3;object-fit:cover;width:100%;}
.meta-list li{border-bottom:1px solid var(--set3-border);padding:.7rem 0;}
.form-control:focus,.form-select:focus{background:#1c1c1c;color:#fff;border-color:var(--set3-brand);box-shadow:none;}
.form-control::placeholder,textarea::placeholder{color:rgba(255,255,255,.58);}
.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}
.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:1030;background:#050505;border-top:1px solid #1f2937;padding:.35rem .5rem;transform:translateY(0);transition:transform .25s ease-out,box-shadow .25s ease-out;box-shadow:0 -4px 10px rgba(0,0,0,.35);}
.mobile-bottom-nav.nav-hidden{transform:translateY(100%);box-shadow:none;}
.mobile-bottom-nav .nav{gap:.15rem;}.mobile-bottom-nav .nav>li{flex:1 1 0;}
.mobile-bottom-nav a{color:#d1d5db;text-decoration:none;font-size:.75rem;}
.mobile-bottom-nav a:hover,.mobile-bottom-nav a:focus,.mobile-bottom-nav a.active-bottom{color:#facc15;font-weight:600;}
.mobile-nav-inner{min-height:3.1rem;display:flex;align-items:center;}.mobile-nav-icon i{width:18px;height:18px;stroke-width:2;display:block;margin:0 auto 2px;}.mobile-nav-label{line-height:1.1;font-size:.7rem;}
@media (min-width:768px){.mobile-bottom-nav{display:none;}}
@media (max-width:767px){body{padding-bottom:3.5rem}.hero-carousel .carousel-caption{bottom:16%;}.hero-carousel .carousel-item{height:62vh}.section{padding:48px 0}.site-navbar .navbar-nav{display:none!important;}}

/* Who We Are parity with V2 */
.breadcrumbs a{color:var(--set3-muted);text-decoration:none}.breadcrumbs a:hover{color:var(--set3-brand)}
.check-list li::marker{color:var(--set3-brand)}
.section-subtitle{color:var(--set3-muted)}
.service-snapshot-list li{color:var(--set3-text);font-weight:600}
.timeline{position:relative;padding-left:10px;border-left:2px dashed var(--set3-border)}
.timeline .item{position:relative;margin-bottom:22px;padding-left:14px}.timeline .dot{position:absolute;left:-18px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--set3-brand);box-shadow:0 0 0 4px rgba(255,193,7,.12)}
.team-card img{object-fit:cover;border:1px solid var(--set3-border)}
.testimonials-band{background:#111;border-top:1px solid var(--set3-border);border-bottom:1px solid var(--set3-border)}
.testimonial-indicators{position:static;margin:2rem 0 0}.testimonial-indicators [data-bs-target]{background-color:var(--set3-border);width:10px;height:10px;border-radius:50%;opacity:.7}.testimonial-indicators .active{background-color:var(--set3-brand);opacity:1;transform:scale(1.2)}
.testimonial-control{width:5%;opacity:.75}.testimonial-control:hover{opacity:1}.testimonial-control .carousel-control-prev-icon,.testimonial-control .carousel-control-next-icon{width:48px;height:48px;border-radius:50%;border:1px solid var(--set3-border);background-color:rgba(255,255,255,.08);backdrop-filter:blur(4px)}
.set3-accordion .accordion-button{background:var(--set3-card);color:var(--set3-text);border:1px solid var(--set3-border);box-shadow:none}.set3-accordion .accordion-button:not(.collapsed){color:#000;background:var(--set3-brand)}.set3-accordion .accordion-body{background:var(--set3-card);color:var(--set3-text);border-left:1px solid var(--set3-border);border-right:1px solid var(--set3-border);border-bottom:1px solid var(--set3-border)}
@media (max-width:767px){.team-card{align-items:flex-start!important}.testimonial-control{display:none}}

/* Single portfolio parity with V2 portfolio-single.php */
.set3-project-single .btn-sm.btn-outline-light{border-color:rgba(255,193,7,.75);}
.set3-project-carousel{background:#050505;border-radius:8px;overflow:hidden;border:1px solid var(--set3-border);}
.set3-project-carousel .carousel-inner{background:#000;}
.set3-project-carousel .carousel-inner img,
.set3-project-single .img-fluid{width:100%;height:auto;object-fit:contain;border-radius:6px;background-color:#000;}
.set3-project-single .portfolio-summary{color:#d8d8d8;font-size:1.05rem;line-height:1.75;}
.set3-project-single .meta li{padding:.35rem 0;border-bottom:1px solid #222;}
.set3-project-single .project-actions .btn{display:inline-flex;align-items:center;gap:.35rem;}
.project-testimonial{background-color:#1c1c1c;padding:20px;border-radius:8px;max-width:700px;margin:auto;}
.project-testimonial .lucide-icon{width:48px;height:48px;}
.lazy-blur{filter:blur(20px);transform:scale(1.02);transition:filter .6s ease,transform .6s ease,opacity .5s ease;opacity:.7;background-color:#000;}
.lazy-blur.loaded{filter:blur(0);transform:scale(1);opacity:1;}
@media (min-width:992px){.set3-project-carousel .carousel-inner img{max-height:550px;}}
@media (max-width:991px){.set3-project-carousel .carousel-inner img{max-height:400px;}}
@media (max-width:576px){.set3-project-carousel .carousel-inner img{max-height:280px;}.set3-project-single .project-actions .btn{width:100%;justify-content:center;}}

/* v1.0.5 mobile polish + PWA-ready viewport handling */
html{overflow-x:hidden;scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{overflow-x:hidden;min-height:100svh;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);}
img,svg,video,iframe{max-width:100%;}
:focus-visible{outline:2px solid var(--set3-brand);outline-offset:3px;border-radius:8px;}
.site-navbar{backdrop-filter:saturate(140%) blur(10px);}
.site-navbar .navbar-brand img{width:40px;height:40px;object-fit:contain;}
.btn,.nav-link,.mobile-bottom-nav a{touch-action:manipulation;-webkit-tap-highlight-color:rgba(255,193,7,.18);}
.btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;}
.hero-carousel h1,.page-hero h1,.set3-project-single h1{font-size:clamp(2rem,7vw,4.2rem);line-height:1.05;}
.hero-carousel p,.page-hero .lead{font-size:clamp(1rem,3.4vw,1.25rem);}
.project-card .p-4,.card-dark.p-4{padding:clamp(1rem,4vw,1.5rem)!important;}
.portfolio-summary{overflow-wrap:anywhere;}

.mobile-bottom-nav{padding-bottom:calc(.35rem + env(safe-area-inset-bottom));}
.mobile-nav-inner{min-height:3.35rem;}
.mobile-bottom-nav a{min-height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:14px;padding:.25rem .15rem!important;}
.mobile-bottom-nav a.active-bottom{background:rgba(250,204,21,.10);}
.mobile-nav-label{font-size:clamp(.62rem,2.7vw,.72rem);}

.set3-install-app-btn{border-color:rgba(255,193,7,.75);}
.set3-install-app-btn:not(.d-none){display:inline-flex!important;}

@media (max-width:991px){
  .container,.container-fluid{--bs-gutter-x:1.25rem;}
  .site-navbar{position:sticky;top:0;}
  .site-navbar .container-fluid{min-height:58px;}
  .hero-carousel .carousel-item{height:64svh;min-height:430px;background-position:center;}
  .hero-carousel .carousel-caption{right:8%;left:8%;bottom:17%;}
  .page-hero{min-height:46svh;padding:72px 18px;}
  .section{padding:54px 0;}
  .cta{padding:64px 18px;}
  .footer-logo{font-size:1.35rem;}
  .site-footer{padding-bottom:calc(92px + env(safe-area-inset-bottom));}
  .portfolio .col-md-6{margin-bottom:.25rem;}
}

@media (max-width:767px){
  body{padding-bottom:calc(4.1rem + env(safe-area-inset-bottom));}
  h2.section-title,.section-title{font-size:clamp(1.85rem,8vw,2.35rem);margin-bottom:20px;}
  .hero-carousel .carousel-item{height:70svh;min-height:460px;}
  .hero-carousel .carousel-caption{bottom:14%;}
  .hero-carousel .carousel-caption .btn{width:100%;max-width:320px;}
  header.container.py-5{padding-top:2.25rem!important;padding-bottom:2rem!important;}
  header.container .text-lg-end .btn, .page-contact .btn{width:100%;}
  .d-flex.flex-wrap.gap-2.mb-4 .btn{flex:1 1 calc(50% - .5rem);font-size:.92rem;padding:.65rem .5rem;}
  .project-card img{aspect-ratio:1/1;}
  .project-card h5{font-size:1.12rem;line-height:1.3;}
  .set3-project-single{padding-top:2rem!important;}
  .set3-project-single .meta li{align-items:flex-start!important;flex-direction:column;padding:.65rem 0;}
  .set3-project-carousel{border-radius:14px;}
  .set3-project-carousel .carousel-control-prev,
  .set3-project-carousel .carousel-control-next{width:14%;}
  .project-testimonial{padding:18px 16px;}
  .card-dark form .row.g-3{--bs-gutter-y:.85rem;}
  .form-control,.form-select,textarea{font-size:16px;min-height:46px;}
  textarea.form-control{min-height:150px;}
  .site-footer .row>div{text-align:center;}
  .site-footer ul li{justify-content:center;}
}

@media (max-width:420px){
  .container,.container-fluid{--bs-gutter-x:1rem;}
  .hero-carousel .carousel-item{min-height:430px;}
  .mobile-bottom-nav{padding-left:.25rem;padding-right:.25rem;}
  .mobile-nav-icon i{width:17px;height:17px;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important;}
  .lazy-blur{filter:none!important;transform:none!important;opacity:1!important;}
}

/* v1.0.6 homepage builder support */
.set3-home-services .set3-service-card{transition:transform .25s ease,border-color .25s ease;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012)),var(--set3-card)}
.set3-home-services .set3-service-card:hover{transform:translateY(-4px);border-color:rgba(255,193,7,.42)}
.set3-home-cta{background-size:cover;background-position:center;background-repeat:no-repeat}.set3-home-cta .muted{max-width:760px;margin-left:auto;margin-right:auto}
@media(max-width:767px){.set3-home-services .card-dark{text-align:left!important}.set3-home-services .lucide-icon{display:block;margin-left:0}.hero-carousel .btn{width:auto;max-width:100%;white-space:normal}.hero-carousel .carousel-caption{left:8%;right:8%}}

/* Set3 Theme v1.1.0 — services, conversion and before/after polish */
.service-card{position:relative;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;}
.service-card:hover{transform:translateY(-4px);border-color:rgba(255,193,7,.45);box-shadow:0 22px 48px rgba(0,0,0,.42);}
.service-card-image img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .35s ease;}
.service-card:hover .service-card-image img{transform:scale(1.04);}
.service-icon-pill{width:52px;height:52px;display:inline-grid;place-items:center;border-radius:16px;background:rgba(255,193,7,.12);border:1px solid rgba(255,193,7,.25);}
.service-icon-pill .lucide-icon{width:28px;height:28px;}
.set3-home-services .section-title{text-align:left;}
.set3-home-services .set3-service-card{transition:transform .25s ease,border-color .25s ease;}
.set3-home-services .set3-service-card:hover{transform:translateY(-4px);border-color:rgba(255,193,7,.45);}
.service-archive-hero,.service-single-hero{min-height:50vh;}
.service-content{font-size:1.06rem;line-height:1.8;}
.service-content p:last-child{margin-bottom:0;}
.service-checklist li{margin-bottom:.7rem;color:var(--set3-text);}
.service-checklist li::marker{color:var(--set3-brand);}
.set3-service-aside{z-index:1;}
.conversion-band{background:linear-gradient(145deg,rgba(255,193,7,.10),rgba(28,28,28,.96));border-color:rgba(255,193,7,.22);}

.ba-slider{position:relative;max-width:980px;margin:0 auto;overflow:hidden;border-radius:18px;border:1px solid var(--set3-border);box-shadow:var(--set3-shadow);background:#000;--ba-position:50%;}
.ba-slider>img,.ba-after img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;}
.ba-after{position:absolute;top:0;left:0;bottom:0;width:50%;overflow:hidden;border-right:2px solid var(--set3-brand);}
.ba-after img{height:100%;max-width:none;width:100%;}
.ba-slider input[type="range"]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:4;}
.ba-slider::after{content:"";position:absolute;top:50%;left:var(--ba-position);transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:var(--set3-brand);box-shadow:0 8px 24px rgba(0,0,0,.45);z-index:3;pointer-events:none;}
.ba-slider::before{content:"↔";position:absolute;top:50%;left:var(--ba-position);transform:translate(-50%,-50%);z-index:4;color:#000;font-weight:900;pointer-events:none;}
.ba-label{position:absolute;top:16px;z-index:2;padding:.35rem .65rem;border-radius:999px;background:rgba(0,0,0,.65);border:1px solid rgba(255,255,255,.16);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;}
.ba-label-before{left:16px;}.ba-label-after{right:16px;}

@media (max-width:767px){
  .set3-home-services .section-title{text-align:center;}
  .service-archive-hero,.service-single-hero{min-height:58vh;}
  .service-card-image img{aspect-ratio:16/10;}
  .ba-slider>img,.ba-after img{aspect-ratio:4/3;}
  .ba-slider::after{width:36px;height:36px;}
}

/* Portfolio YouTube project video */
.set3-project-video .set3-video-frame {
  background: #050505;
  border: 1px solid rgba(255,255,255,.12);
}
.set3-project-video iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
@media (max-width: 767px) {
  .set3-project-video .card-dark {
    padding: 1.15rem !important;
  }
}
