:root{--dark:#2f373d;--dark2:#262e34;--gold:#c79b53;--soft:#f5f3ef;--black:#172025;--text:#697075;--navH:104px;--arrowH:78px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--black);background:#fff;}a{text-decoration:none}img{width:100%;display:block;object-fit:cover}.page-loader{position:fixed;inset:0;background:#fff;z-index:9999;display:grid;place-items:center;transition:.5s}.page-loader.hide{opacity:0;visibility:hidden}.page-loader span{width:40px;height:40px;border:3px solid #eee;border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.scroll-line{position:fixed;top:0;left:0;height:3px;background:var(--gold);z-index:10000;width:0}.wide{max-width:1380px}.narrow{max-width:1160px}.section{padding:115px 0}
/* SECTION 1 HEADER LIKE KITCHOR */
.site-header{height:var(--navH);position:absolute;top:0;left:0;width:100%;z-index:99;display:grid;grid-template-columns:60% 40%;background:transparent}.header-dark{background:var(--dark);height:var(--navH);display:grid;grid-template-columns:260px 1fr;align-items:center;padding-left:48px}.header-white{background:#fff;height:var(--navH);display:flex;align-items:center;justify-content:flex-end;gap:24px;padding:0 46px 0 35px}.navbar-brand{width:100%;margin-right:0}.navbar-brand span{color:var(--gold);font-size:31px;margin-right:7px}.navbar-collapse{justify-content:center}.navbar-nav{display:flex;align-items:center;gap:30px;justify-content:center;flex-direction:row;padding:0;margin:0;list-style:none}.nav-link{color:#fff!important;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.02em;padding:42px 0!important;position:relative}.nav-link:after{content:"";position:absolute;left:0;bottom:31px;width:0;height:2px;background:var(--gold);transition:.35s}.nav-link:hover:after,
.nav-link.active:after{width:100%}.navbar-toggler{display:none;border:0;box-shadow:none!important;background:transparent}.navbar-toggler i{display:block;width:26px;height:2px;background:#fff;margin:5px 0}
/* SECTION 1 HERO */
.hero{height:100vh;min-height:760px;display:grid;grid-template-columns:50% 50%;padding-top:var(--navH);position:relative;background:#fff}.hero-copy{background:var(--dark);color:#fff;padding:17vh 70px 80px 11.6vw;position:relative;overflow:hidden;height:calc(100vh - var(--navH) - var(--arrowH));min-height:575px;align-self:start}.line-grid{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px);background-size:74px 74px;opacity:.26}.line-grid:after{content:"";position:absolute;inset:6% -8% 0 0;background:linear-gradient(30deg,transparent 0 18%,rgba(255,255,255,.08) 18.2% 18.6%,transparent 18.8% 100%),linear-gradient(150deg,transparent 0 31%,rgba(255,255,255,.075) 31.2% 31.5%,transparent 31.7% 100%),linear-gradient(90deg,transparent 0 51%,rgba(255,255,255,.06) 51.2% 51.45%,transparent 51.6% 100%);opacity:.5}.eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:800;margin:0 0 14px;color:#fff;position:relative;z-index:2}.gold{color:var(--gold)!important}h1{margin:0;font-weight:800;letter-spacing:-.058em;line-height:1.05}h2{color:var(--black);font-weight:800;letter-spacing:-.058em;line-height:1.05}h3,
h4{margin:0;color:var(--black);font-weight:800;letter-spacing:-.058em;line-height:1.05}h1{font-size:72px;color:#fff;max-width:600px;margin-bottom:28px;position:relative;z-index:2}h2{font-size:42px;margin:0 0 20px}h3{font-size:31px}.hero-text{max-width:470px;color:#d2d8db;margin:0;position:relative;z-index:2;font-size:18px;line-height:1.7}.pill{height:46px;border-radius:35px;padding:0 28px;display:inline-flex;align-items:center;justify-content:center;font-size:20px;text-transform:uppercase;font-weight:800;letter-spacing:.1em;margin-top:30px;transition:.35s;position:relative;z-index:2}.gold2{background:#c79b53;color:#ffffff}
.gold2:hover{background:#ffffff;color:#172025}
.dark:hover{transform:translateY(-4px);background:var(--gold);color:#fff}.dark{background:var(--dark);color:#fff}.hero-slider{position:relative;height:calc(100vh - var(--navH));min-height:656px;overflow:visible;background:#eee}.hero-slider .slide{position:absolute;inset:0;opacity:0;transform:scale(1.04);transition:opacity .8s ease,transform 1.6s ease;overflow:hidden}.hero-slider .slide.active{opacity:1;transform:scale(1)}.hero-slider img{height:100%;object-position:center center}.slider-nav{position:absolute;left:-50vw;bottom:0;width:calc(50vw + 152px);height:var(--arrowH);background:#fff;display:flex;justify-content:flex-end;align-items:center;z-index:10}.slider-nav button{width:76px;height:var(--arrowH);border:0;background:#fff;color: var(--dark);font-size:30px;transition:.3s}.slider-nav button:hover{background:var(--gold);color:#fff}.slider-count{position:absolute;right:70px;bottom:28px;background:rgba(255,255,255,.9);padding:10px 16px;display:flex;gap:9px;align-items:center;font-size:11px;font-weight:800;color:#222;z-index:5}.slider-count em{width:32px;height:1px;background:var(--gold)}
.image-large{height:468px}.muted{color:var(--text);margin:0}.big{font-size:16px;max-width:540px}.icon-row{display:grid;grid-template-columns:repeat(3,1fr);}.icon-row i{display:block;color:var(--gold);font-size:26px;font-style:normal;margin-bottom:6px}.icon-row b,
.icon-row small{display:block}.icon-row small{color:#777}.split-visual{padding:60px 0 95px}.small-wide{height:166px}.image-tall{height:430px}.under-line{color:var(--text);max-width:620px;border-bottom:1px solid var(--gold);padding:24px 0 28px;margin:0}.ba-slider{height:505px;position:relative;overflow:hidden;background:#ddd;cursor:ew-resize;user-select:none}.ba-slider img{height:100%;max-width:none;width:100%;object-fit:cover}.ba-base{position:absolute;inset:0}.ba-top{position:absolute;inset:0;width:50%;overflow:hidden;border-right:2px solid #fff}.ba-top img{width:1050px}.ba-handle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:#fff;border:0;box-shadow:0 16px 34px rgba(0,0,0,.18);z-index:4;color:var(--gold);font-size:20px;font-weight:800}.ba-label{position:absolute;top:22px;z-index:3;background:#fff;color:#222;padding:8px 15px;border-radius:30px;font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:.1em}.before-label{left:22px}.after-label{right:22px}.process{text-align:center}.center{max-width:560px;margin:0 auto}.step{text-align:left;min-height:260px;background:#f5f4f1;padding:40px 28px;transition:.35s}.step em{font-style:normal;font-size:48px;line-height:1;color:#e2ded6;font-weight:800}.step h4{font-size:18px;margin:12px 0 14px;letter-spacing:-.035em}.step p{color:#747a80;font-size:13px;min-height:46px}.step a{font-size:11px;text-transform:uppercase;font-weight:800;color:var(--gold);letter-spacing:.08em}.step:hover{background:var(--dark);transform:translateY(-8px)}.step:hover h4,
.step:hover p{color:#fff}.info-panel{background:#fff;padding:74px 70px}.panel-img{height:100%;min-height:430px}.mini{display:flex;gap:18px;border-top:1px solid #e9e3d8;padding:18px 0}.mini b{color:var(--gold)}.stat-panel{background:#f4f3f0;padding:74px 70px}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:32px}.stats div{display:flex;align-items:center;gap:12px}.stats strong{font-size:34px;color:var(--gold);line-height:1}.stats small{text-transform:uppercase;font-size:11px;color:#777;font-weight:800}.brands h3{font-size:28px;line-height:1.28;max-width:600px;margin:0 auto 42px}.brands h3 span{color:var(--gold); font-size: 2em;}.brand-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;color:#3b4449;opacity:.75; }.bg-soft{background:var(--soft)}.quote{padding:75px}.quote-text{font-size:17px;color:#5e656a;max-width:520px}.client{display:flex;align-items:center;gap:14px;margin-top:30px}.client img{width:48px;height:48px;border-radius:50%}.client b,
.client small{display:block}.client small{color:#777}.big-post img{height:350px}.big-post span,
.side-post span{font-size:11px;color:var(--gold);text-transform:uppercase;font-weight:800;letter-spacing:.08em;display:block;margin:18px 0 7px}.big-post h4,
.side-post h4{font-size:20px;letter-spacing:-.035em}.side-post{display:grid;grid-template-columns:190px 1fr;gap:24px;margin-bottom:28px}.side-post img{height:155px}.site-footer{background:var(--dark);position:relative;color:#cdd4d8;padding-top:90px;overflow:hidden}.footer-bg{position:absolute;inset:5;background:linear-gradient(rgba(36,44,49,.9),rgba(36,44,49,.94)),url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1600&q=85') center/cover;opacity:.95}.footer-top{position:relative;z-index:2;padding-bottom:70px}.footer-top h2{color:#fff;font-size:36px;max-width:580px;margin:0 auto}.footer-bottom{position:relative;z-index:2;display:grid;grid-template-columns:1.55fr 1fr 1fr 1.2fr;gap:38px;border-top:1px solid rgba(255,255,255,.12);padding:50px 0 70px}.footer-bottom h4,
.footer-bottom h5{color:#fff}.reveal-up{opacity:0;transform:translateY(44px);transition:1.55s cubic-bezier(.22,.85,.22,1)}.reveal-left,
.reveal-img{opacity:0;transition:1.55s cubic-bezier(.22,.85,.22,1)}.reveal-left{transform:translateX(-44px)}.reveal-img{transform:scale(.96);overflow:hidden}.is-visible{opacity:1;transform:none}.reveal-img img,
.big-post img,
.side-post img{transition:1.2s cubic-bezier(.22,.85,.22,1)}.reveal-img:hover img,
.big-post:hover img,
.side-post:hover img{transform:scale(1.045)}

/* SECTION 2 ABOUT REFINEMENT */
.about{padding-top:86px;padding-bottom:108px;}

.about .row{--bs-gutter-x:5.8rem;}

.about h2{font-size:56px;line-height:.98;max-width:600px;margin-bottom:28px;}
.about .big{font-size:19px;line-height:1.7;max-width:620px;}
.icon-row{gap:42px;margin-top:48px;}
.icon-row>div{min-width:0;}
.icon-row b{font-size:18px;line-height:1.25;margin-top:12px;color:var(--black);letter-spacing:-.03em;}
.icon-row small{font-size:13px;margin-top:3px;}


/* ===============================
   UPDATE V2 - section rhythm + second visual section
   =============================== */
.section{
  padding-top:98px;
  padding-bottom:98px;
}

/* SECTION AFTER ABOUT: bigger visuals, stronger typography, raised composition */
.split-visual{
  padding-top:42px;
  padding-bottom:50px;
}
.split-visual .narrow{
  max-width:1280px;
}
.split-visual .row{
  --bs-gutter-x:5.4rem;
  transform:translateY(-34px);
}
.split-visual .small-wide{
  height:225px;
}
.split-visual .image-tall{
  height:575px;
}
.split-visual .eyebrow{
  font-size:12px;
  letter-spacing:.26em;
  margin-bottom:17px;
}
.split-visual h3{
  font-size:45px;
  line-height:1.02;
  max-width:560px;
  letter-spacing:-.06em;
}
.split-visual .under-line{
  font-size:18px;
  line-height:1.55;
  max-width:760px;
  padding-top:28px;
  padding-bottom:33px;
}

/* make following sections share the same premium vertical breathing */
.projects{
  padding-bottom:70px;
}.brands,
.testimonial,
.news{
  padding-top:63px;
  padding-bottom:70px;
}

.projects{padding-top:63px;}


/* ===============================
   UPDATE V3 - larger 25 years stamp + consult section refinement
   =============================== */
/* Next section: bigger image, raised soft background, centered text block */

.consult .narrow{
  max-width:1320px;
}

.consult-text{
  padding-right:52px;
}


.consult-img img{
  margin-right:-150px;
}


/* ===============================
   UPDATE V4 - Consult section as normal container row col-6 / col-6
   =============================== */
.consult{
  padding-top:83px;
  padding-bottom:105px;
  background:#fff;
}

.consult-panel{
  position:relative;
  transform:none;
}

.consult-text{
  height:100%;
  display:flex;
  flex-direction:column;
}
.consult-text h2{
  font-size:54px;
  line-height:1.03;
  max-width:500px;
  margin-bottom:28px;
}
.consult-text .muted{
  font-size:18px;
  line-height:1.68;
  max-width:500px;
}
.consult-img{
  box-shadow:none;
}
.consult-img img{
  margin:0;
}


/* ===============================
   UPDATE V5 - edge images responsive
   الصورة الشمال واصلة لأول الشاشة + صورة السيكشن اليمين واصلة لآخر الشاشة
   =============================== */
body{overflow-x:hidden;}

/* About section: left image flush to viewport left while text stays in Bootstrap container rhythm */
.about{overflow:hidden;}
.about .wide{
  max-width:1320px;
  padding-left:12px;
  padding-right:12px;
}
.about .image-large{
  width:calc(50vw + 100%);
  max-width:none;
  margin-left:calc(-50vw + 50%);
  height:590px;
  object-fit:cover;
}

/* Consult section: keep container > row > col-6, but let right image touch viewport right */
.consult{overflow:hidden;}
.consult .consult-container{
  max-width:1280px;
  padding-left:12px;
  padding-right:12px;
}
.consult-panel{
  background:var(--soft);
  min-height:570px;
  overflow:visible;
}
.consult-panel .row{min-height:570px;}
.consult-text{
  padding:88px 82px 88px 86px;
  min-height:570px;
  justify-content:center;
}
.consult-img{
  width:calc(50vw + 50%);
  margin-right:calc(-50vw + 50%);
  height:700px;
  transform:translateY(42px);
  margin-left:0;
}
.consult-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}


/* ===============================
   UPDATE V6 - Flush-left About image + Kitchor style process cards
   =============================== */

/* image in the first content section touches the viewport left on large screens */


.about .col-lg-6.reveal-img{
  overflow:visible;
}
.about .col-lg-5{
  position:relative;
  z-index:3;
}

/* right image in consultation stays flush to viewport right on large screens */


/* Process section closer to Kitchor screenshot */
.process{
  padding-top:102px;
  padding-bottom:95px;
  background:#fff;
}

.process .eyebrow{
  margin-bottom:24px;
  letter-spacing:.34em;
}
.process h2{
  font-size:48px;
  line-height:1.08;
  max-width:850px;
  margin:0 auto 50px;
}
.process .center{
  font-size:16px;
  line-height:1.7;
  max-width:660px;
  margin-top:-24px;
  margin-bottom:34px;
}
.process-grid{
  --bs-gutter-x:2rem;
}
.step.step-card{
  position:relative;
  padding:0;
  background:#f4f3f1;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  transform:none;
  transition:background .45s ease, transform .45s ease, box-shadow .45s ease;
}
.step.step-card:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(28,35,41,.72),rgba(28,35,41,.82)),var(--step-img);
  background-size:cover;
  background-position:center;
  opacity:0;
  transform:scale(1.08);
  transition:opacity .45s ease, transform .85s ease;
  z-index:0;
}
.step.step-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.08) 100%);
  opacity:0;
  transition:.45s;
  z-index:1;
}
.step.step-card em{
  position:absolute;
  top:46px;
  left:34px;
  font-size:92px;
  line-height:.8;
  letter-spacing:-.08em;
  -webkit-text-stroke:1px #dedbd5;
  color:transparent;
  font-weight:900;
  z-index:2;
  transition:.45s ease;
}
.step-card .step-content{
  position:relative;
  z-index:3;
  padding:0 34px 44px;
  width:100%;
}
.step-card h4{
  font-size:21px;
  line-height:1.14;
  letter-spacing:-.045em;
  margin:0 0 22px;
  color:#172025;
}
.step-card p{
  font-size:15px;
  line-height:1.75;
  color:#697075;
  min-height:88px;
  margin-bottom:34px;
}
.step-card a{
  color:#172025;
  font-size:13px;
  letter-spacing:.05em;
  font-weight:900;
}
.step-card:hover,
.step-card.active{
  background:#172025;
  transform:translateY(-8px);
  box-shadow:0 28px 45px rgba(24,30,34,.14);
}
.step-card:hover:before,
.step-card.active:before{
  opacity:1;
  transform:scale(1);
}
.step-card:hover:after,
.step-card.active:after{
  opacity:1;
}
.step-card:hover em,
.step-card.active em{
  -webkit-text-stroke-color:rgba(255,255,255,.28);
  color:transparent;
}
.step-card:hover h4,
.step-card:hover p,
.step-card:hover a,
.step-card.active h4,
.step-card.active p,
.step-card.active a{
  color:#fff;
}


/* === Steps section update: first card is default only, but returns normal when another card is hovered === */


.process-grid:hover .step-card.active:not(:hover){
  background:#f4f3f1;
  transform:none;
  box-shadow:none;
}
.process-grid:hover .step-card.active:not(:hover):before,
.process-grid:hover .step-card.active:not(:hover):after{
  opacity:0;
  transform:scale(1.08);
}
.process-grid:hover .step-card.active:not(:hover) em{
  -webkit-text-stroke-color:#dedbd5;
  color:transparent;
}

.process-grid:hover .step-card.active:not(:hover) h4{
  color:#172025;
}
.process-grid:hover .step-card.active:not(:hover) p{
  color:#697075;
}
.process-grid:hover .step-card.active:not(:hover) a{
  color:#172025;
}

/* Better horizontal rhythm to match the reference */
.process .narrow{
  max-width:1260px;
}
.process-grid{
  margin-left:auto;
  margin-right:auto;
}
.step.step-card{
  min-height:405px;
}

/* === Offer section update === */
.split-visual .offer-content{
  position:relative;
  padding-right:34px;
}
.split-visual .offer-price{
  font-size:60px;
  line-height:.9;
  font-weight:900;
  color:#cf9445;
  letter-spacing:-.065em;
  margin:22px 0 12px;
}
.split-visual .offer-service{
  font-size:34px;
  line-height:1.08;
  font-weight:850;
  color:#172025;
  letter-spacing:-.045em;
  margin:0 0 22px;
}
.split-visual .offer-text{
  max-width:440px;
  font-size:17px;
  line-height:1.7;
  color:#586066;
  margin:0 0 28px;
}
.split-visual .offer-btn{
  margin-bottom:10px;
  background-color:#172025;
}
.split-visual .offer-btn:hover{
  margin-bottom:10px;
  background-color:#cf9445;
}


/* === Floating Offer Tab: hidden on hero, fixed after hero === */
.floating-offer{
  position:fixed;
  color:#fff;
  text-decoration:none;
  overflow:hidden;
  z-index:99999;
  transform:translateX(-110%);
  transition:transform .45s ease, width .35s ease, background .35s ease, box-shadow .35s ease;
  display:flex;
  align-items:center;
  justify-content:center;
}

.floating-offer-main{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  font-size:13px;
  font-weight:850;
  letter-spacing:3px;
  text-transform:uppercase;
  transition:transform .35s ease;
}
.floating-offer-price{
  position:absolute;
  left:100%;
  white-space:nowrap;
  font-size:24px;
  font-weight:900;
  letter-spacing:-.04em;
  word-spacing:8px;
  padding-right:12px;
  box-sizing:border-box;
  transition:left .35s ease;
}
.floating-offer:hover{
  width:205px;
  background:#2f363c;
  color:#fff;
}
.floating-offer:hover .floating-offer-main{
  transform:translateX(-45px) rotate(180deg);
}
.floating-offer:hover .floating-offer-price{
  left:72px;
}


/* ===============================
   UPDATE V10 - Duo section corner intersection + offer tab starts after hero
   =============================== */

.duo-section:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:165px;
  bottom:165px;
  background:#f4f3f0;
  z-index:0;
}
.duo-section .wide{
  z-index:2;
}






/* No visual gap: the bottom-left image top-right corner meets the top-right image bottom-left corner */
.duo-section .row > .col-lg-7 .panel-img,
.duo-section .row > .col-lg-6:nth-of-type(3) .panel-img{
  margin:0;
}







/* =====================================================
   FINAL FIX - Kitchor style duo-section + dashed offer tab
   ===================================================== */

/* Floating offer: keep hidden on hero, then fixed with inner dashed border */
.floating-offer{
  left:0;
  top:180px;
  width:78px;
  height:235px;
  background:#cf9445;
  border:0;
  box-shadow:0 18px 40px rgba(0,0,0,.18);
}
.floating-offer::before{
  content:"";
  position:absolute;
  inset:9px;
  border:1px dashed rgba(255,255,255,.72);
  pointer-events:none;
  transition:.35s ease;
}
.floating-offer:hover::before{
  inset:10px;
  border-color:rgba(255,255,255,.45);
}
.floating-offer.show{
  transform:translateX(0);
}

/* Exact duo layout: two pictures touch at one center corner */
.duo-section{
  background:#fff !important;
  padding:110px 0 120px !important;
  overflow:hidden;
  position:relative;
}
.duo-section::before{
  display:none !important;
}
.duo-section .wide{
  width:min(100%, 1320px) !important;
  max-width:1320px !important;
  margin:0 auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  position:relative;
}
.duo-section .row{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows:auto auto !important;
  grid-template-areas:
    "info topimg"
    "bottomimg stat" !important;
  margin:0 !important;
}
.duo-section .row > *{
  width:auto !important;
  max-width:none !important;
}
.duo-section .info-panel{
  grid-area:info !important;
  background:#f4f3f0 !important;
  min-height:520px !important;
  padding:110px 7.2vw 78px max(70px, calc((100vw - 1320px) / 2 + 72px)) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  position:relative;
  z-index:2;
}
.duo-section .row > .col-lg-7{
  grid-area:topimg !important;
  background:transparent !important;
  align-self:stretch !important;
  display:flex !important;
  align-items:flex-start !important;
  position:relative;
  z-index:3;
}
.duo-section .row > .col-lg-6:nth-of-type(3){
  grid-area:bottomimg !important;
  background:transparent !important;
  align-self:stretch !important;
  display:flex !important;
  align-items:flex-start !important;
  position:relative;
  z-index:3;
}
.duo-section .stat-panel{
  grid-area:stat !important;
  background:#f4f3f0 !important;
  min-height:520px !important;
  padding:78px max(70px, calc((100vw - 1320px) / 2 + 72px)) 95px 7.2vw !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  position:relative;
  z-index:2;
}
.duo-section .panel-img{
  height:450px !important;
  min-height:450px !important;
  object-fit:cover !important;
  margin:0 !important;
}
/* Top image is pushed down; its bottom-left corner meets the bottom image top-right corner */
.duo-section .row > .col-lg-7 .panel-img,
.duo-section .row > .col-lg-6:nth-of-type(3) .panel-img{
  object-position:center center;
}

.duo-section h2{
  font-size:46px !important;
  line-height:1.05 !important;
  letter-spacing:-.045em;
  max-width:460px;
  margin-bottom:28px;
}
.duo-section .muted{
  font-size:15.5px !important;
  line-height:1.72 !important;
  max-width:100%;
}
.duo-section .mini{
  max-width:520px;
  padding:22px 0 !important;
}
.duo-section .stats{
  max-width:500px;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:28px 34px;
}
.duo-section .stats div{
  align-items:center;
}
.duo-section .stats strong{
  font-size:34px;
}


/* =====================================================
   UPDATE - Duo rows tight + text px-3 inside color panel
   ===================================================== */
.duo-section{
  padding-top:70px !important;
  padding-bottom:77px !important;
}
.duo-section .row{
  gap:0 !important;
  row-gap:0 !important;
  column-gap:0 !important;
  align-items:stretch !important;
}
.duo-section .row > *{
  margin:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.duo-section .info-panel,
.duo-section .stat-panel{
  padding-left:2rem !important;
  padding-right:2rem !important;
}
.duo-section .info-panel{
  padding-top:80px !important;
  padding-bottom:30px !important;
}
.duo-section .stat-panel{
  padding-top:78px !important;
  padding-bottom:70px !important;
}
.duo-section .panel-img{
  display:block !important;
  width:100% !important;
  margin-bottom:0 !important;
}
/* keep the corner touch: top image bottom-left meets lower image top-right */
.duo-section .row > .col-lg-7 .panel-img{
  margin-top:70px !important;
  margin-bottom:0 !important;
}
.duo-section .row > .col-lg-6:nth-of-type(3) .panel-img{
  margin-top:0 !important;
  margin-bottom:0 !important;
}


/* =====================================================
   PRE FOOTER SECTIONS - Service Areas + FAQs
   ===================================================== */
.service-areas{
  background:#fff;
  padding-top:70px !important;
  padding-bottom:70px !important;
}
.areas-card{
  background:var(--soft);
  min-height:430px;
  position:relative;
  overflow:hidden;
}
.areas-card:before{
  content:"";
  position:absolute;
  right:8%;
  top:30px;
  width:200px;
  height:180px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 210'%3E%3Cpath fill='%23c79b53' fill-opacity='.32' d='M205 0C209 34 223 48 257 52C223 56 209 70 205 104C201 70 187 56 153 52C187 48 201 34 205 0Z'/%3E%3Cpath fill='%23c79b53' fill-opacity='.18' d='M85 70C89 96 104 111 130 115C104 119 89 134 85 160C81 134 66 119 40 115C66 111 81 96 85 70Z'/%3E%3Cpath fill='%23c79b53' fill-opacity='.48' d='M195 140C198 153 207 162 220 165C207 168 198 177 195 190C192 177 183 168 170 165C183 162 192 153 195 140Z'/%3E%3C/svg%3E") center/contain no-repeat;
  pointer-events:none;
}
.areas-copy{
  padding:76px 64px;
  position:relative;
  z-index:2;
}
.areas-copy h2{
  font-size:48px;
  line-height:1.05;
  max-width:430px;
  margin-bottom:26px;
}
.areas-copy .muted{
  font-size:17px;
  line-height:1.72;
  max-width:430px;
}
.areas-list{
  padding:58px 58px 58px 18px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  position:relative;
  z-index:2;
}
.areas-list a{
  background:#fff;
  color:#172025;
  min-height:74px;
  padding:0 26px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-weight:800;
  letter-spacing:-.02em;
  transition:.35s ease;
  border-left:3px solid transparent;
}
.areas-list a:after{
  content:"→";
  color:var(--gold);
  font-weight:900;
  transition:.35s ease;
}
.areas-list a:hover{
  background:var(--dark);
  color:#fff;
  border-left-color:var(--gold);
  transform:translateX(8px);
}
.areas-list a:hover:after{
  transform:translateX(5px);
}

.faq-section{
  padding-top:80px !important;
  padding-bottom:130px !important;
}
.faq-section h2{
  font-size:52px;
  line-height:1.04;
  max-width:440px;
  margin-bottom:24px;
}
.faq-section .muted{
  font-size:17px;
  line-height:1.75;
  max-width:390px;
}

.k-faq .accordion-item{
  border:0;
  border-bottom:1px solid #e7e1d8;
  background:transparent;
}
.k-faq .accordion-button{
  padding:28px 0;
  background:transparent;
  box-shadow:none;
  color:#172025;
  font-size:21px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:-.035em;
}
.k-faq .accordion-button:not(.collapsed){
  color:var(--gold);
}
.k-faq .accordion-button:after{
  width:38px;
  height:38px;
  border-radius:50%;
  background:none;
  content:"+";
  display:grid;
  place-items:center;
  font-size:26px;
  font-weight:300;
  color:#172025;
  transform:none;
  border:1px solid #ddd6cc;
  line-height:1;
}
.k-faq .accordion-button:not(.collapsed):after{
  content:"−";
  background:var(--gold);
  border-color:var(--gold);
  color:#fff;
}
.k-faq .accordion-body{
  padding:0 70px 30px 0;
  color:#697075;
  font-size:16px;
  line-height:1.75;
}


/*==============================
FAQ Full Width Image Layout Update
==============================*/


.faq-tall-image{
  height:100%;
  position:relative;
  overflow:hidden;
}
.faq-tall-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .7s ease;
}
.faq-tall-image:hover img{
  transform:scale(1.04);
}
.faq-image-note{
  position:absolute;
  left:38px;
  bottom:38px;
  width:160px;
  height:160px;
  border:1.5px dashed rgba(255,255,255,.9);
  background:rgba(207,148,69,.94);
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.faq-image-note span{
  font-size:15px;
  font-weight:700;
  letter-spacing:.1em;
}
.faq-image-note strong{
  font-size:34px;
  line-height:1;
  margin-top:10px;
  letter-spacing:-.05em;
}
.faq-content-wrap{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.faq-content-wrap h2{
  font-size:58px;
  line-height:1.02;
  max-width:610px;
  margin-bottom:24px;
  letter-spacing:-.055em;
}
.faq-content-wrap > .muted{
  font-size:17px;
  line-height:1.75;
  max-width:560px;
  margin-bottom:34px;
}

.faq-content-wrap .k-faq .accordion-item{
  border:0 !important;
  border-bottom:1px solid #dcd5cb !important;
  background:transparent !important;
  border-radius:0 !important;
}
.faq-content-wrap .k-faq .accordion-button{
  background:transparent !important;
  box-shadow:none !important;
  color:#172025;
  font-size:23px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:-.035em;
  border:0 !important;
}
.faq-content-wrap .k-faq .accordion-button:not(.collapsed){
  color:#172025;
}
.faq-content-wrap .k-faq .accordion-button:after{
  border:0 !important;
  border-radius:0;
  font-weight:300;
}
.faq-content-wrap .k-faq .accordion-button:not(.collapsed):after{
  background:none !important;
}
.faq-content-wrap .k-faq .accordion-body{
  color:#697075;
  font-size:16px;
  line-height:1.75;
}


/*==============================
FAQ layout refine - image 1/3, content 2/3
==============================*/



.faq-layout{
  min-height:720px;
  align-items:stretch !important;
}
.faq-layout > [class*="col-"]{
  display:flex;
}
.faq-tall-image,
.faq-content-wrap{
  width:100%;
}
.faq-tall-image{
  min-height:720px;
}
.faq-content-wrap{
  min-height:720px;
  padding:105px 8vw 105px 80px;
}
.faq-content-wrap .k-faq{
  width:100%;
  max-width:920px;
}
.faq-content-wrap .k-faq .accordion-button{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
  padding:28px 0;
}
.faq-content-wrap .k-faq .accordion-button:after{
  content:"+";
  flex:0 0 auto;
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  font-size:32px;
  line-height:1;
  color:#cf9445;
  background:none !important;
  transform:none !important;
}
.faq-content-wrap .k-faq .accordion-button:not(.collapsed):after{
  content:"−";
  color:#cf9445;
}
.faq-content-wrap .k-faq .accordion-body{
  padding:0 72px 28px 0;
}


/* ===============================
   FINAL FAQ FIX - side by side + working accordion visual state
   =============================== */
.faq-section{
  width:100%;
  background:#f4f3f1 !important;
  padding:0 !important;
  overflow:hidden;
}
.faq-section.px-5{padding-left:3rem!important;padding-right:3rem!important;}
.faq-section .container-fluid{
  width:100%;
  max-width:100%;
  padding-left:0 !important;
  padding-right:0 !important;
}
.faq-section .faq-layout{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  min-height:720px;
  margin:0 !important;
  gap:0 !important;
}
.faq-section .faq-layout > .col-md-4,
.faq-section .faq-layout > .col-md-8{
  display:block !important;
  padding-left:0 !important;
  padding-right:0 !important;
  margin:0 !important;
}
.faq-section .faq-layout > .col-md-4{
  flex:0 0 33.333333% !important;
  max-width:33.333333% !important;
  width:33.333333% !important;
}
.faq-section .faq-layout > .col-md-8{
  flex:0 0 66.666667% !important;
  max-width:66.666667% !important;
  width:66.666667% !important;
}
.faq-section .faq-tall-image{
  width:100%;
  height:100%;
  min-height:720px;
  position:relative;
  overflow:hidden;
}
.faq-section .faq-tall-image img{
  width:100%;
  height:100%;
  min-height:720px;
  display:block;
  object-fit:cover;
}
.faq-section .faq-content-wrap{
  width:100%;
  min-height:720px;
  padding:105px 9vw 105px 72px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.faq-section .faq-content-wrap h2{
  max-width:720px;
  font-size:58px;
  line-height:1.02;
  margin-bottom:24px;
}
.faq-section .faq-content-wrap > .muted{
  max-width:610px;
  margin-bottom:42px;
}
.faq-section .k-faq{
  width:100%;
  max-width:980px;
}
.faq-section .k-faq .accordion-item{
  border:0 !important;
  border-bottom:1px solid #d9d1c6 !important;
  background:transparent !important;
  border-radius:0 !important;
}
.faq-section .k-faq .accordion-button{
  width:100%;
  min-height:86px;
  padding:25px 0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  color:#172025 !important;
  font-size:22px;
  line-height:1.25;
  font-weight:850;
  text-align:left;
  cursor:pointer;
}
.faq-section .k-faq .accordion-button::after{
  content:"+" !important;
  flex:0 0 32px;
  width:32px !important;
  height:32px !important;
  margin-left:auto !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  background:none !important;
  border:0 !important;
  color:#cf9445 !important;
  font-size:32px;
  font-weight:300;
  line-height:1;
  transform:none !important;
}
.faq-section .k-faq .accordion-button:not(.collapsed)::after{
  content:"−" !important;
}
.faq-section .k-faq .accordion-collapse.collapse{
  display:none !important;
}
.faq-section .k-faq .accordion-collapse.collapse.show{
  display:block !important;
}
.faq-section .k-faq .accordion-body{
  padding:0 72px 30px 0 !important;
  color:#697075;
  font-size:16px;
  line-height:1.75;
}


/* Footer business data update */
.footer-contact-grid{
  grid-template-columns:1.45fr 1.25fr 1fr 1fr;
  align-items:start;
}
.footer-brand h4{
  font-size:24px;
  line-height:1.2;
  margin-bottom:18px;
}
.footer-brand p{
  max-width:360px;
  line-height:1.75;
}
.footer-site-link{
  text-decoration:none;
  transition:.3s ease;
}.footer-info-card a{
  color:#fff;
  text-decoration:none;
  transition:.3s ease;
}
.footer-site-link{
  display:inline-block;
  margin-top:12px;
  color:#996e35;
}
.footer-site-link:hover,
.footer-info-card a:hover{
  color:#cf9445;
}
.footer-info-card{
  position:relative;
  padding-left:22px;
}
.footer-info-card::before{
  content:"";
  position:absolute;
  left:0;
  top:4px;
  width:2px;
  height:calc(100% - 8px);
  background:rgba(207,148,69,.55);
}
.footer-info-card h5{
  margin-bottom:20px;
  font-size:15px;
  text-transform:uppercase;
  letter-spacing:2px;
}
.footer-info-card p{
  margin:0 0 20px;
  color:#d4dadd;
  line-height:1.7;
}
.footer-info-card p span,
.footer-info-card p > i{
  display:inline-block;
  color:#cf9445;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:1.7px;
  margin:0 7px 5px 0;
}
.footer-info-card em{
  color:#cf9445;
  font-style:normal;
  margin:0 6px;
}
.footer-mini-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:13px 19px;
  background:#cf9445;
  color:#fff !important;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.5px;
  text-transform:uppercase;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.footer-mini-btn:hover{
  background:#fff;
  color:#232a2f !important;
}


/* PROJECT NAV DROPDOWN */
.project-dropdown{position:relative}.project-dropdown .dropdown-toggle{cursor:pointer}
.project-dropdown.is-open .dropdown-toggle:before{transform:translateY(-2px) rotate(180deg)}.project-dropdown .dropdown-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);display:block;min-width:220px;margin:0;padding:10px 0;list-style:none;background:#fff;box-shadow:0 18px 45px rgba(23,32,37,.18);border:1px solid rgba(199,155,83,.22);opacity:0;visibility:hidden;pointer-events:none;transition:.25s;z-index:200}.project-dropdown.is-open .dropdown-menu,
.project-dropdown:hover .dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}.project-dropdown .dropdown-item{display:block;padding:11px 18px;color:#242b30;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.04em;white-space:nowrap;transition:.25s}.project-dropdown .dropdown-item:hover,
.project-dropdown .dropdown-item:focus{background:var(--gold);color:#fff}
/* PROCESS BOOTSTRAP CLEANUP */
.services-subtitle{margin-bottom:30px}.process-note{line-height:1.7;margin-top:30px}
.step-img-carpet{--step-img:url('../../img/carpet-cleaning-service.webp')}
.step-img-stain{--step-img:url('../../img/stain-removing-service.webp')}
.step-img-rug{--step-img:url('../../img/lewisvilleTX-rug-cleaning-service.webp')}
.step-img-upholstery{--step-img:url('../../img/lewisvilleTX-uploustery-Cleaning-BG.webp')}
.step-img-Tile-grout{--step-img:url('../../img/lewisvilleTX-tile-cleaning-service.webp')}
.step-img-airDuct{--step-img:url('../../img/airDuct-claning-service.webp')}
.step-img-airVent{--step-img:url('../../img/lewisvilleTX-air-vent-cleaning-service.webp')}
.step-img-dryerVent{--step-img:url('../../img/lewisvilleTX-dryer-vent-cleaning-service.webp')}
/* Reversed consult section */
.consult-reverse .consult-panel{background:linear-gradient(90deg,transparent 0 112px,var(--soft) 112px 100%);box-shadow:18px 0 0 var(--soft);}
.consult-reverse .consult-img{margin-left:calc(-50vw + 50%);margin-right:0;}
.consult-reverse .consult-text{padding-left:54px;padding-right:82px;}


.duo-copy-gap{margin-top:16px;}

.brand-grid b{display:flex;flex-direction:column;align-items:center;gap:12px;}
.brand-icon-svg{width:85px;height:85px;display:block;color:#252c31;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;margin-top: 100px;transition:transform .35s ease,filter .35s ease;transform-origin:center;}
.brand-grid b:hover .brand-icon-svg{transform:translateY(-8px) rotate(-3deg);filter:drop-shadow(0 12px 14px rgba(0,0,0,.16));}
.brand-icon-svg .brand-icon-accent{stroke:var(--gold);stroke-width:3;transition:stroke-width .35s ease;}
.brand-grid b:hover .brand-icon-accent{stroke-width:4;animation:brandIconPulse .75s ease;}
.icon-row .about-icon-svg{width:62px;height:62px;display:block;color:#252c31;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;margin:0 0 8px;transition:transform .35s ease,filter .35s ease;transform-origin:center;}
.icon-row .about-icon-accent{stroke:var(--gold);stroke-width:3;transition:stroke-width .35s ease;}
.icon-row>div:hover .about-icon-svg{transform:translateY(-8px) rotate(-3deg);filter:drop-shadow(0 12px 14px rgba(0,0,0,.16));}
.icon-row>div:hover .about-icon-accent{stroke-width:4;animation:brandIconPulse .75s ease;}
.about .reveal-up.is-visible .icon-row .about-icon-svg{animation:brandIconIntro 1.15s cubic-bezier(.22,.85,.22,1) both;}
.about .reveal-up.is-visible .icon-row>div:nth-child(2) .about-icon-svg{animation-delay:.14s;}
.about .reveal-up.is-visible .icon-row>div:nth-child(3) .about-icon-svg{animation-delay:.28s;}

.brands .reveal-up.is-visible .brand-icon-svg{animation:brandIconIntro 1.15s cubic-bezier(.22,.85,.22,1) both;}
.brands .reveal-up.is-visible .brand-grid b:nth-child(2) .brand-icon-svg{animation-delay:.14s;}
.brands .reveal-up.is-visible .brand-grid b:nth-child(3) .brand-icon-svg{animation-delay:.28s;}
.brands .reveal-up.is-visible .brand-grid b:nth-child(4) .brand-icon-svg{animation-delay:.42s;}
.brands .reveal-up.is-visible .brand-grid b:nth-child(5) .brand-icon-svg{animation-delay:.56s;}
@keyframes brandIconIntro{0%{opacity:0;transform:translateY(24px) scale(.82) rotate(-8deg);}65%{opacity:1;transform:translateY(-6px) scale(1.06) rotate(3deg);}100%{opacity:1;transform:translateY(0) scale(1) rotate(0);}}
@keyframes brandIconPulse{0%,100%{opacity:1;}50%{opacity:.55;}}
.broom-list{list-style:none;padding-left:0;margin:18px 0 22px;}
.broom-list li{display:flex;align-items:flex-start;gap:10px;margin-bottom:9px;}
.broom-list i{color:#c79b53;font-size:14px;line-height:1.8;}

.footer-email-label{font-size:11px!important;text-transform:none!important;letter-spacing:0!important;}
.footer-site-link{font-size:18px!important;text-transform:none!important;letter-spacing:0!important;font-weight:500;word-break:break-word;}
#obfuscatedEmail,
#obfuscatedEmail a{font-size:14px!important;text-transform:none!important;letter-spacing:0!important;font-weight:500;word-break:break-word;}
#obfuscatedEmail{display:inline;margin:0;}
.delay-1{
  transition-delay: 0.12s;
}
.reveal-card{
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.7s ease, transform 0.7s ease;
  margin-left: -20px;
}
.footer-top .reveal-card{opacity:1;transform:none;margin-left:0;margin-right: 0;}
/* FORM STYLE FROM FRISCO SOURCE */
.contact-card{
  padding:34px 24px;
  background:rgba(47,55,61,.96);
  border:1px solid rgba(199,155,83,.28);
  box-shadow:0 24px 70px rgba(0,0,0,.26);
}
.contact-card input,
.contact-card select,
.contact-card textarea{
  width:100%;
  margin-bottom:5px;
  padding:0 15px;
  border:1px solid rgba(255,255,255,.20);
  outline:none;
  transition:.25s ease;
  background:rgba(255,255,255,.96);
  color:var(--dark);
  border-radius:0;
  box-shadow:none;
}
.contact-card input,
.contact-card select{
  height:48px;
}
.contact-card textarea{
  min-height:90px;
  padding-top:14px;
  resize:vertical;
}
.contact-card input::placeholder,
.contact-card textarea::placeholder{
  color:rgba(47,55,61,.70);
}
.contact-card input:focus,
.contact-card select:focus,
.contact-card textarea:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 4px rgba(199,155,83,.12);
}
form.CUS input.subject{display:none;}
.contact-card button{
  width:100%;
  height:50px;
  border:0;
  background:var(--gold);
  color:#fff;
  text-transform:uppercase;
  letter-spacing:1.3px;
  font-size:12px;
  font-weight:800;
  transition:.3s ease;
}
.contact-card button:hover{
  background:#fff;
  color:var(--dark);
}
.footer-form-wrap.reveal-card{
  margin-left: 0;
}
.carpet-tips-section .row{
  align-items: stretch;
}

.carpet-tips-intro{
  height: 100%;
  display: flex;
  flex-direction: column;
}

.carpet-tips-intro img{
    width:100%;
    height:520px;
    object-fit:cover;
    display:block;
}

.carpet-tips-intro > span{
  display: inline-block;
  color: #236a68;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.carpet-tips-list .side-post span{
  display:block;
  align-self:center;
  text-align:center;
  color:#c79b53;
  font-size:48px;
  font-weight:900;
  line-height:.9;
  letter-spacing:1.6px;
  text-transform:uppercase;
  padding:18px 12px;
  margin-bottom:0;
  background:linear-gradient(rgba(47,55,61,.12),rgba(167, 175, 182, 0.1)) 32% 28%/78px 78px no-repeat;
}

.carpet-tips-intro h4{
    font-size:30px;
    line-height:1.28;
    font-weight:600;
    margin-bottom:16px;
}

.carpet-tips-intro p{
  font-size: 16px;
  line-height: 1.5;
  max-width:95%;
  margin-bottom: 0;
}

.carpet-tips-list{
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.carpet-tips-list .side-post{
  display: grid;
  grid-template-columns: 185px 1fr;
  align-items: stretch;
  gap: 24px;
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid rgba(47, 54, 60, .16);
}

.carpet-tips-list .side-post:last-child{
  padding-bottom: 0;
  border-bottom: 0;
}

.carpet-tips-list .side-post div{
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.carpet-tips-list .side-post h4{
    font-size:18px;
    line-height:1.35;
    font-weight:600;
    margin-bottom:8px;
}
.carpet-tips-list .side-post p{
  font-size: 13px;
  line-height: 1.65;
  margin-bottom: 0;
}


.footer-form-wrap{
  width:100%;
  flex:0 0 100%;
  max-width:100%;
  margin:38px auto 0!important;
}
.footer-form-wrap .contact-card{width:100%;}
.footer-form-wrap .contact-card fieldset{width:100%;min-width:0;margin:0;}


footer #year{color: rgb(133, 133, 133);}

.header-socials{display:flex;align-items:center;justify-content:flex-end;gap:12px;}
.header-socials a{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(47,55,61,.18);border-radius:50%;color:var(--dark);font-size:15px;transition:.3s ease;}
.header-socials .data-link,.mobile-nav-socials .data-link{color:var(--gold);}
.header-socials a:hover{background:var(--gold);border-color:var(--gold);color:#fff;transform:translateY(-3px);}

.mobile-nav-socials{display:none;}

.project-dropdown .dropdown-toggle::after{
  display:block;
  margin:0;
  vertical-align:0;
  border:0;
}


.back-to-top{position:fixed;right:20px;bottom:92px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:0;border-radius:4px;background:var(--gold);color:#fff;font-size:17px;box-shadow:0 12px 28px rgba(0,0,0,.22);z-index:99998;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);transition:.3s ease;}
.back-to-top.show{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
.back-to-top:hover{background:var(--dark);color:#fff;transform:translateY(-3px);}


.brands h3 span{background: linear-gradient(rgba(47,55,61,.12),rgba(167, 175, 182, 0.1)) -20% 80%/160px 160px no-repeat}

.stain-contact-banner{
  padding:clamp(72px,8vw,120px) 24px;
  background:linear-gradient(rgba(47,55,61,.8),rgba(47,55,61,.92)),url('../../img/many-carpets-materials-BG.webp') center/cover no-repeat;
  color:#eef1f2;
  text-align:center;
}
.stain-contact-banner h2{max-width:900px;margin:0 auto 24px;color:#fff;font-size:clamp(34px,4.2vw,56px);}
.stain-contact-banner p{max-width:980px;margin:0 auto 16px;font-size:17px;line-height:1.8;}
.stain-contact-banner p:last-child{margin-bottom:0;}

/* Responsive styles */
@media (min-width:1200px){
.about .col-lg-6{width:53%;}.about .col-lg-5{width:47%;margin-left:0%;}
}

@media (max-width:1199px){
.site-header{grid-template-columns:100%;position:fixed}.header-dark{padding:0 24px;}.navbar-brand{color:var(--dark)!important}.navbar-toggler{display:block}.header-white{display:none}.navbar-collapse{position:absolute;left:0;right:0;padding:12px 24px 24px;display:none!important}.navbar-collapse.show{display:block!important}.navbar-nav{display:block}.nav-link{padding:13px 0!important}.nav-link:after{bottom:7px}.hero{grid-template-columns:1fr;height:auto;min-height:auto}.hero-copy{height:auto;min-height:auto;padding:110px 28px 72px}.hero-slider{height:430px;min-height:430px}.slider-nav{left:0;width:152px;height:68px}.slider-nav button{height:68px}h1{font-size:45px}h2{font-size:34px}.section{padding:78px 0}.icon-row,
.brand-grid,
.footer-bottom{grid-template-columns:1fr}.image-large,
.image-tall,
.panel-img{height:330px;min-height:330px}.ba-slider{height:360px}.info-panel,
.stat-panel,
.quote{padding:45px 28px}.side-post{grid-template-columns:1fr}.side-post img{height:240px}
.about{padding-top:78px}.about h2{font-size:38px}.about .big{font-size:16px}.icon-row{gap:22px;margin-top:32px}
.section,
.projects,
.brands,
.testimonial,
  .news{
    padding-top:62px;
    padding-bottom:62px;
  }
  .split-visual{
    padding-top:42px;
    padding-bottom:33.5px;
  }
  .split-visual .row{transform:none;--bs-gutter-x:1.5rem;}
  .split-visual .small-wide{height:185px;}
  .split-visual .image-tall{height:410px;}
  .split-visual h3{font-size:34px;}
  .split-visual .under-line{font-size:16px;}
  

  .consult-text{
    padding-right:0;
  }
  
  .consult-img img{
    height:390px;
    margin:35px 0 0;
  }
.consult{
    padding-top:62px;
    padding-bottom:62px;
    background:#fff;
  }
  
  
  
  .consult-text h2{font-size:38px;}
.about .wide,
.consult .consult-container{
    max-width:960px;
    padding-left:24px;
    padding-right:24px;
  }
  .about .image-large{
    width:100%;
    margin-left:0;
    height:420px;
  }
  .consult-panel,
.consult-panel .row{min-height:auto;}
  .consult-text{
    min-height:auto;
    padding:56px 38px 36px;
  }
  .consult-img{
    width:100%;
    margin:0 38px 50px;
    height:410px;
    transform:none;
  }
.process{
    padding-top:96px;
    padding-bottom:96px;
  }
  .process h2{
    font-size:38px;
    margin-bottom:42px;
  }
  .process .center{
    margin-top:-20px;
  }
  .step.step-card{
    min-height:360px;
  }
.split-visual .offer-price{font-size:68px;}
  .split-visual .offer-service{font-size:30px;}
.duo-section:before{
    top:90px;
    bottom:90px;
  }
  .duo-section .row{
    display:block;
  }
  
  
  
.duo-section{padding:85px 0 !important;}
  .duo-section .wide{max-width:960px !important;}
  .duo-section .info-panel,
.duo-section .stat-panel{
    min-height:460px !important;
    padding:60px 42px !important;
  }
  .duo-section .panel-img{
    height:390px !important;
    min-height:390px !important;
  }
  .duo-section .row > .col-lg-7 .panel-img{
    margin-top:70px !important;
  }
  .duo-section h2{font-size:36px !important;}
.faq-content-wrap{
    padding:85px 55px;
  }
  .faq-content-wrap h2{
    font-size:48px;
  }
.footer-contact-grid{
    grid-template-columns:1fr 1fr;
  }
.project-dropdown .dropdown-menu{position:static;transform:none;min-width:0;width:100%;margin:0 0 8px;padding:4px 0 6px;background:#f6f3ed;box-shadow:none;border:0;display:none;opacity:1;visibility:visible;pointer-events:auto}.project-dropdown.is-open .dropdown-menu{display:block;transform:none}.project-dropdown:hover .dropdown-menu{transform:none}.project-dropdown .dropdown-item{padding:10px 16px;white-space:normal;color:#242b30}.project-dropdown .dropdown-toggle:before{float:right;margin-top:7px}
.consult-reverse .consult-panel{background:var(--soft);box-shadow:none;}.consult-reverse .consult-img{width:100%;margin:0 38px 50px;}.consult-reverse .consult-text{padding:56px 38px 36px;}
.icon-row .about-icon-svg{width:54px;height:54px;}
.site-header{width:100%;height:auto;background:var(--dark);}
  .header-dark{width:100%;height:auto;min-height:78px;position:relative;grid-template-columns:1fr auto;padding-left:20px;padding-right:20px;background:var(--dark);}
  .navbar-brand{width:40%;max-width:none;margin:0;}
  .navbar-brand img{width:100%;height:auto;max-height:none;object-fit:contain;object-position:left center;}
  .navbar-toggler{align-self:center;margin-left:auto;margin-right:0;padding:8px 0;color:#fff;}
  .navbar-toggler i{background:#fff;}
  .navbar-collapse{top:100%;width:100%;max-height:calc(100vh - 78px);overflow-y:auto;background:var(--dark);box-shadow:0 18px 35px rgba(23,32,37,.16);}
  .navbar-nav{width:100%;gap:0;align-items:stretch;}
  .navbar-nav li,
.nav-link{width:100%;}
  .nav-link{color:#fff!important;}
  .header-socials{display:none;}
  .mobile-nav-socials{display:flex;align-items:center;gap:12px;margin-top:12px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);}
  .mobile-nav-socials a{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.3);border-radius:50%;color:#fff;font-size:15px;transition:.3s ease;}
  .mobile-nav-socials a:hover{background:var(--gold);border-color:var(--gold);color:#fff;transform:translateY(-3px);}
  .hero{padding-top:max(78px,12.99vw);}
.carpet-tips-intro img{
    height: 400px;
  }

  .carpet-tips-list .side-post{
    grid-template-columns: 150px 1fr;
    gap: 20px;
  }

  .carpet-tips-list .side-post h4{
    font-size: 19px;
  }
}

@media (max-width:575px){
h1{font-size:38px}.hero-text{font-size:14px}.ba-slider{height:300px}.step{min-height:auto}.stats{grid-template-columns:1fr}.small-wide{height:150px}
.duo-section:before{
    top:60px;
    bottom:60px;
  }
  
  
  
.duo-section{padding:55px 0 !important;}
  .duo-section .wide{padding-left:12px !important;padding-right:12px !important;}
  .duo-section .info-panel,
.duo-section .stat-panel{padding:45px 24px !important;}
  .duo-section .panel-img,
.duo-section .row > .col-lg-7 .panel-img,
.duo-section .row > .col-lg-6:nth-of-type(3) .panel-img{
    height:300px !important;
    min-height:300px !important;
  }
  .duo-section h2{font-size:31px !important;}
  .duo-section .stats{grid-template-columns:1fr;}
.areas-copy,
.areas-list{
    padding-left:24px;
    padding-right:24px;
  }
  .areas-copy h2,
.faq-section h2{
    font-size:32px;
  }
  .areas-list a{
    min-height:64px;
  }
  .k-faq .accordion-button{
    padding:23px 0;
    font-size:17px;
  }
  .k-faq .accordion-body{
    padding-right:0;
  }
.faq-tall-image{
    height:360px;
  }
  .faq-image-note{
    left:24px;
    bottom:24px;
    width:125px;
    height:125px;
  }
  .faq-image-note strong{
    font-size:26px;
  }
  .faq-content-wrap{
    padding:60px 24px 70px;
  }
  .faq-content-wrap h2{
    font-size:32px;
  }
  .faq-content-wrap .k-faq .accordion-button{
    font-size:17px;
    padding:24px 0;
  }
  .faq-content-wrap .k-faq .accordion-body{
    padding-right:0;
  }
.header-dark{padding-left:14px;padding-right:14px;}
  .navbar-brand{width:55%;}
  .navbar-collapse{padding-left:14px;padding-right:14px;}
  .hero{padding-top:max(78px,17.86vw);}
  .back-to-top{right:18px;bottom:88px;width:44px;height:44px;}
.carpet-tips-section .text-center h2{
    font-size: 32px;
    
  }
 .contact-card{
    padding: 25px 16px;
  }
  .carpet-tips-intro img{
    height: 280px;
  }

  .carpet-tips-list .side-post{
    grid-template-columns: 1fr;
  }

  .carpet-tips-list .side-post div{
    padding-top: 4px;
  }
}

@media (max-width:767px){
.about .wide,
.consult .consult-container{
    padding-left:16px;
    padding-right:16px;
  }
  .about .image-large{height:340px;}
  .consult-text{padding:44px 26px 30px;}
  .consult-text h2{font-size:34px;}
  .consult-img{
    height:320px;
    margin:0 0 40px;
  }
  .consult-img img{
    height:100%;
    margin:0;
  }
.process{
    padding-top:50px;
    padding-bottom:50px;
  }
  .process h2{
    font-size:32px;
  }
  .process-grid{
    --bs-gutter-y:1.3rem;
  }
  .step.step-card{
    min-height:330px;
  }
  .step.step-card em{
    font-size:78px;
    top:34px;
    left:28px;
  }
  .step-card .step-content{
    padding:0 28px 36px;
  }
.split-visual .offer-price{font-size:50px;letter-spacing:-.045em;}
  .split-visual .offer-service{font-size:25px;}
  .split-visual .offer-text{font-size:15px;}
.floating-offer{display:none;}
.faq-layout,
.faq-layout > [class*="col-"]{
    display:block;
    min-height:auto;
  }
  .faq-tall-image{
    height:380px;
    min-height:380px;
  }
  .faq-content-wrap{
    min-height:auto;
    padding:62px 24px 72px;
  }
  .faq-content-wrap h2{
    font-size:34px;
  }
  .faq-content-wrap .k-faq .accordion-button{
    font-size:17px;
    gap:18px;
    padding:23px 0;
  }
  .faq-content-wrap .k-faq .accordion-button:after{
    width:26px;
    height:26px;
    font-size:28px;
  }
  .faq-content-wrap .k-faq .accordion-body{
    padding:0 0 24px 0;
  }
.faq-section .faq-layout{
    display:block !important;
    flex-wrap:wrap !important;
  }
  .faq-section .faq-layout > .col-md-4,
.faq-section .faq-layout > .col-md-8{
    width:100% !important;
    max-width:100% !important;
    flex:0 0 100% !important;
  }
  .faq-section .faq-tall-image,
.faq-section .faq-tall-image img{
    height:380px;
    min-height:380px;
  }
  .faq-section .faq-content-wrap{
    min-height:auto;
    padding:60px 24px 72px;
  }
  .faq-section .faq-content-wrap h2{
    font-size:34px;
  }
  .faq-section .faq-content-wrap > .muted{
    margin-bottom:28px;
  }
  .faq-section .k-faq .accordion-button{
    min-height:auto;
    padding:22px 0 !important;
    font-size:17px;
    gap:18px;
  }
  .faq-section .k-faq .accordion-button::after{
    flex-basis:26px;
    width:26px !important;
    height:26px !important;
    font-size:28px;
  }
  .faq-section .k-faq .accordion-body{
    padding:0 0 24px 0 !important;
  }
.footer-contact-grid{
    grid-template-columns:1fr;
    gap:30px;
  }
  .footer-info-card{
    padding-left:18px;
  }
  .footer-brand h4{
    font-size:21px;
  }
  .footer-top h2{
    font-size:30px;
  }
.consult-reverse .consult-img{margin:0 0 40px;}.consult-reverse .consult-text{padding:44px 26px 30px;}
.navbar-collapse{padding:10px 18px 20px;}
.carpet-tips-intro img{
    height: 340px;
  }

  .carpet-tips-intro h4{
    font-size: 28px;
  }

  .carpet-tips-list .side-post{
    grid-template-columns: 135px 1fr;
    gap: 16px;
  }

  .carpet-tips-list .side-post h4{
    font-size: 17px;
  }

  .carpet-tips-list .side-post p{
    font-size: 13px;
  }
}

@media (min-width:1321px){
.about .wide{
    max-width:1320px;
    padding-left:12px;
    padding-right:12px;
  }
  .about .image-large{
    width:calc(100% + ((100vw - 1320px) / 2) + 12px);
    margin-left:calc(((1320px - 100vw) / 2) - 12px);
    max-width:none;
    height:700px;
  }
.consult-img{
    width:calc(100% + ((100vw - 1280px) / 2) + 12px);
    margin-right:calc(((1280px - 100vw) / 2) - 12px);
  }
.consult-reverse .consult-img{width:calc(100% + ((100vw - 1280px) / 2) + 12px);margin-left:calc(((1280px - 100vw) / 2) - 12px);margin-right:0;}
}

@media (min-width:1200px) and (max-width:1320px){
.about .image-large{
    width:calc(100% + 12px);
    margin-left:-12px;
    height:580px;
  }
.consult-img{
    width:calc(100% + 12px);
    margin-right:-12px;
  }
.consult-reverse .consult-img{width:calc(100% + 12px);margin-left:-12px;margin-right:0;}
}

@media (min-width:992px){
.process-grid{
    display:flex;
    flex-wrap:nowrap;
    gap:32px;
  }
  .process-grid > [class*="col-"]{
    flex:0 0 calc(25% - 24px);
    max-width:calc(25% - 24px);
    padding-left:0;
    padding-right:0;
  }
.footer-form-wrap{
    width:65%;
    flex:0 0 65%;
    max-width:65%;
  }

}

@media (max-width:991px){
.floating-offer{
    width:62px;
    height:180px;
    top:150px;
  }
  .floating-offer:hover{width:168px;}
  .floating-offer-price{font-size:20px;}
  .floating-offer:hover .floating-offer-main{transform:translateX(-38px) rotate(180deg);}
  .floating-offer:hover .floating-offer-price{left:58px;}
.duo-section{padding:49px 0 !important;}
  .duo-section .wide{
    max-width:720px !important;
    padding-left:15px !important;
    padding-right:15px !important;
  }
  .duo-section .row{
    display:block !important;
  }
  .duo-section .info-panel,
.duo-section .stat-panel{
    min-height:auto !important;
    padding:58px 34px !important;
  }
  .duo-section .panel-img{
    height:400px !important;
    min-height:400px !important;
    margin-top:0 !important;
  }.duo-section .row > .col-lg-7 .panel-img{
    height:400px !important;
    min-height:400px !important;
  }.duo-section .row > .col-lg-6:nth-of-type(3) .panel-img{
    height:400px !important;
    min-height:400px !important;
    margin-top:0 !important;
  }
  .duo-section h2{font-size:36px !important;}
  .duo-section{
    padding-top:49px !important;
    padding-bottom:49px !important;
  }
  .duo-section .info-panel,
.duo-section .stat-panel{
    padding-left:1rem !important;
    padding-right:1rem !important;
    padding-top:55px !important;
    padding-bottom:55px !important;
  }
  .duo-section .row > .col-lg-7 .panel-img{
    margin-top:0 !important;
  }
.service-areas{
    padding-top:60px !important;
    padding-bottom:35px !important;
  }
  .areas-copy{
    padding:56px 34px 24px;
  }
  .areas-copy h2,
.faq-section h2{
    font-size:38px;
  }
  .areas-list{
    padding:30px 34px 56px;
    grid-template-columns:1fr;
  }
  .faq-section{
    padding-top:46px !important;
    padding-bottom:67px !important;
  }

  .k-faq .accordion-button{
    font-size:18px;
  }
.faq-layout,
.faq-tall-image,
.faq-content-wrap{
    min-height:auto;
  }
  .faq-tall-image{
    height:460px;
  }
  .faq-content-wrap{
    padding:75px 38px 85px;
  }
  .faq-content-wrap h2{
    font-size:40px;
  }
  .faq-content-wrap .k-faq .accordion-button{
    font-size:19px;
  }
.faq-section .faq-layout{
    min-height:auto;
  }
  .faq-section .faq-content-wrap{
    padding:80px 5px 90px;
  }
  .faq-section .faq-content-wrap h2{
    font-size:44px;
  }
  .faq-section .k-faq .accordion-button{
    font-size:19px;
  }
.carpet-tips-section .row{
    row-gap: 55px;
  }

  .carpet-tips-intro img{
    height: 420px;
  }

  .carpet-tips-list{
    gap: 28px;
  }

  .carpet-tips-list .side-post{
    grid-template-columns: 220px 1fr;
  }
}

@media (max-width:1399px){
.duo-section .wide{max-width:1140px !important;}
  .duo-section .info-panel{padding-left:30px !important;padding-right:30px !important;}
  .duo-section .stat-panel{padding-right:30px !important;padding-left:30px !important;}
  .duo-section h2{font-size:42px !important;}
}

@media (min-width:1200px) and (max-width:1399px){
.site-header{grid-template-columns:74% 26%;}
  .header-dark{grid-template-columns:210px minmax(0,1fr);padding-left:28px;}
  .navbar-brand{width:100%;max-width:210px;}
  .navbar-nav{gap:22px;}
  .header-white{padding-left:28px;padding-right:28px;}
}
