:root {
  --gray: #474747;
  --black: #000;
  --white: #fff;
  --light-blue: #486fa4;
  --dark-blue: #0e2e67;
  --orange: #f16f1d;
  --sky-blue: #009ce5;
}

html {
  scroll-behavior: smooth;
  box-sizing: border-box;
}

body {
  overflow-x: hidden;
  margin: 0%;
}

p {
  font-family: "Inter", sans-serif;
  line-height: 24px;
}

a:hover {
    color: unset;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Raleway", sans-serif;
  margin: 0px;
}

ul {
  margin: 0px !important;
  padding-left: 0px !important;
}

li {
  list-style: none;
}

a,
a:hover,
button,
button:hover,
i,
h1,
h2,
h3,
h4,
h5,
h6,
li {
  text-decoration: none !important;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

i {
  transition: unset;
}

:focus {
  outline: 0px !important;
}

body::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: #f5f5f5;
}

body::-webkit-scrollbar {
  width: 10px;
  background-color: #f5f5f5;
}

body::-webkit-scrollbar-thumb {
  background-color: var(--dark-blue);
  background-image: -webkit-linear-gradient(
    45deg,
    rgba(255, 255, 255, 0.2) 25%,
    transparent 25%,
    transparent 50%,
    rgba(255, 255, 255, 0.2) 50%,
    rgba(255, 255, 255, 0.2) 75%,
    transparent 75%,
    transparent
  );
}

img {
  max-width: 100%;
  width: auto;
  height: auto;
}

/* BOOTSTRAP CSS START  */

.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
  width: 100%;
  padding-right: var(--bs-gutter-x, 0.75rem);
  padding-left: var(--bs-gutter-x, 0.75rem);
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container,
  .container-sm {
    max-width: 540px;
  }
}

@media (min-width: 768px) {
  .container,
  .container-md,
  .container-sm {
    max-width: 720px;
  }
}

@media (min-width: 992px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm {
    max-width: 960px;
  }
}

@media (min-width: 1200px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl {
    max-width: 1170px;
  }
}

@media (min-width: 1920px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
    max-width: 1320px;
  }
}

/* BOOTSTRAP CSS END  */

/* GLOBAL CSS START HERE  */

.section {
  position: relative;
  padding: 60px 0;
  overflow: hidden;
}

.dark-blue {
  background-color: var(--dark-blue);
}

.sky-blue {
  background: var(--sky-blue);
}

.orange {
  background-color: var(--orange);
}

.clr-orange {
  color: var(--orange);
}

.clr-blue {
  color: var(--dark-blue);
}

.head {
  position: relative;
  padding-bottom: 10px;
  margin: 0 auto 50px;
}

.head::before {
  position: absolute;
  content: "";
  background-color: var(--orange);
  width: 80px;
  height: 6px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.head h2 {
  padding-bottom: 10px;
  color: var(--dark-blue);
}

.head h2,
.head h2 span {
  font-size: 30px;
  font-weight: 800;
}

.head h2 span {
  color: var(--orange);
}

.head h4 {
  font-size: 22px;
  color: #00a2fd;
  font-weight: 600;
  padding-bottom: 10px;
}

.head p {
  color: #333333;
  font-size: 16px;
}

.head p a {
  text-decoration: underline !important;
  color: var(--orange);
}

a.main-cta {
  font-family: "Inter", sans-serif;
  border-radius: 8px;
  padding: 15px 20px;
  display: flex;
  align-items: center;
  font-size: 18px;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  letter-spacing: 1px;
  text-align: center;
  justify-content: center;
  cursor: pointer;
  border: 2px solid transparent;
  transition: all 0.3s;
  position: relative;
  transition: all 0.3s ease-in-out;
  z-index: 1;
  overflow: hidden;
}

a.main-cta.btn--orange {
  border: 2px solid #e76817;
  box-shadow: 8px 8px 30px #f47a1e8a;
  background: linear-gradient(#f99250, #f2701d),
    linear-gradient(#f2701d, #f99250);
}

a.main-cta.btn--orange i {
  border-radius: 5px;
  margin: 0 10px;
  display: flex;
  justify-self: center;
  padding: 10px;
  align-items: center;
  border: 2px solid #f2701d;
  background: linear-gradient(#f2701d, #f99250),
    linear-gradient(#f99250, #f2701d);
}

a.main-cta.btn--blue {
  border: 2px solid #01122f;
  background: linear-gradient(#09275c, #0e2e67),
    linear-gradient(#0e2e67d6, #0e2e6763);
  box-shadow: 15px 15px 40px #0e2e678a !important;
}

a.main-cta.btn--blue i {
  border-radius: 5px;
  margin: 0 10px;
  display: flex;
  justify-self: center;
  padding: 10px;
  align-items: center;
  border: 2px solid #09275c;
  background: linear-gradient(#09275c, #01122f),
    linear-gradient(#01122f, #01122f);
}

a.main-cta.btn--orange:hover {
  border-color: #01122f;
  box-shadow: 15px 15px 40px #0e2e678a !important;
}

a.main-cta.btn--orange:before {
  position: absolute;
  content: "";
  width: 100%;
  top: 0;
  left: 0;
  transition: all 0.3s ease-in-out;
  height: 0;
  z-index: -1;
  background: linear-gradient(#09275c, #0e2e67),
    linear-gradient(#0e2e67d6, #0e2e6763);
}

a.main-cta.btn--orange:hover:before {
  height: 100%;
}

a.main-cta.btn--blue:hover {
  border-color: #e76817;
  box-shadow: 8px 8px 30px #f47a1e8a !important;
}

a.main-cta.btn--blue:before {
  position: absolute;
  content: "";
  width: 100%;
  top: 0;
  left: 0;
  transition: all 0.3s ease-in-out;
  height: 0;
  z-index: -1;
  background: linear-gradient(#f2701d, #f99250),
    linear-gradient(#f99250, #f2701d);
}

a.main-cta.btn--blue:hover:before {
  height: 100%;
}

a.main-cta.btn--blue:hover i {
  border: 2px solid #e76817;
  box-shadow: 8px 8px 30px #f47a1e8a;
  background: linear-gradient(#f99250, #f2701d),
    linear-gradient(#f2701d, #f99250);
}

a.main-cta.btn--orange:hover i {
  background: linear-gradient(#09275c, #01122f),
    linear-gradient(#01122f, #01122f);
  border: 2px solid #01122f;
  box-shadow: 15px 15px 40px #0e2e678a !important;
}

a.main-cta.btn--white {
  border: 2px solid transparent;
  color: var(--dark-blue);
  background: linear-gradient(#fff, #ccc), linear-gradient(#fff, #0e2e6763);
  box-shadow: 15px 15px 40px #0e2e678a !important;
}

a.main-cta.btn--white i {
  border-radius: 5px;
  margin: 0 10px;
  display: flex;
  justify-self: center;
  padding: 10px;
  align-items: center;
  border: 2px solid #fff;
  color: var(--dark-blue);
  font-weight: 700;
  box-shadow: 0 0 20px #0e2e678a !important;
  background: linear-gradient(#fff, #fff), linear-gradient(#fff, #fff);
}

a.main-cta.btn--white:hover {
  border-color: #e76817;
  box-shadow: 15px 15px 40px #0e2e678a !important;
  color: var(--white);
}

a.main-cta.btn--white:before {
  position: absolute;
  content: "";
  width: 100%;
  top: 0;
  left: 0;
  transition: all 0.3s ease-in-out;
  height: 0;
  z-index: -1;
  background: linear-gradient(#f2701d, #f99250),
    linear-gradient(#f99250, #f2701d);
}

a.main-cta.btn--white:hover:before {
  height: 100%;
}

a.main-cta.btn--white:hover i {
  border: 2px solid #e76817;
  color: var(--white);
  background: linear-gradient(#f99250, #f2701d),
    linear-gradient(#f2701d, #f99250);
}

.row.footer-icon-row {
  margin-bottom: 0 !important;
}

/* GLOBAL CSS END HERE  */
/* SECTION ONE CSS START HERE */

section.s1 {
    position: relative;
    background-image: url('/img/global/coverBanner.webp');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    padding: 40px 0;
    overflow: hidden;
}

.s1 .topRow .col-right {
    display: flex;
    justify-content: center;
    align-items: flex-end;

}

@media (min-width:1200px) {
    .s1 .topRow .col-left {
        padding-right: 5rem;
    }

    .s1 .topRow {
        align-items: center;
    }

    .s1 .topRow .col-right {
        min-height: 550px;
    }
}

.s1 .topRow p.sub-heading {
    color: #526d9d;
    letter-spacing: 2px;
    font-weight: bold;
    font-style: italic;
    margin: 0 0 10px;
}

.s1 .topRow h1 {
    font-size: 3.8rem;
    font-weight: 800;
    color: var(--dark-blue);
    line-height: 50px;
    padding-bottom: 15px;
}

.s1 .topRow h3 {
   background: linear-gradient(90deg, #276CD8 0%, #C556B0 100%);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   font-family: Inter;
   font-weight: 500;
   font-size: 22px;
   line-height: 100%;
   letter-spacing: 20%;
   text-transform: uppercase;
   margin-bottom: 20px;
}

span.highlight {
    background: url('/img/seo-service-for-plumber/heading-line.svg');
    background-repeat: no-repeat;
    background-position: 2px 80%;
    color: #0e2e67 !important;
}

.s1 .topRow p.sub-txt {
    font-weight: 500;
}

.s1 .topRow h1 span {
    color: var(--orange);
}

.s1 .topRow p.sub-text {
    color: var(--dark-blue);
}

.s1 .coverBtns {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.5rem;
    margin: 2rem 0 0;
}

.s1 .coverBtns a {
    display: inline-block;
    font-family: 'Inter', sans-serif;
    font-weight: 500;
}


.s1 .coverBtns .talk-chat {
    background: var(--orange);
    color: var(--white);
    padding: 16px 40px;
    border-radius: 8px;
    border: 2px solid transparent;
    Box-shadow: 0 10px 20px #f47a1e8a;
        font-weight: 600;
}

.s1 .coverBtns .talk-chat:hover {
    background: transparent;
    color: var(--orange);
    border-color: var(--orange);
}

.s1 .coverBtns .talk-phone {
    position: relative;
    color: var(--dark-blue);
    font-size: 18px;
    font-weight: 600;
    display: flex;
    align-items: center;
    grid-gap: 15px;
    text-decoration: underline !important;
    text-underline-offset: 2px;
    padding-left: 45px;
}

.s1 .coverBtns .talk-phone:before {
    position: absolute;
    content: '\f095';
    font-family: 'FontAwesome';
    left: 0px;
    width: 35px;
    height: 35px;
    background: var(--dark-blue);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.s1 .coverBtns .talk-phone:hover {
    color: var(--orange);
}

.s1 .coverBtns .talk-phone:hover:before {
    background: var(--orange);
}

.homeBanner .coverBtns-responsive {
    display: none;
}

.coverImg {
    display: none;
}

@media (min-width: 1200px) {
    .coverImg {
        display: block;
        position: absolute;
        top: 1rem;
    }
}

.hero-stats  .bottomRow {
    position: relative;
    text-align: center;
    /* margin: 1rem 0 0; */
}

.hero-stats  .bottomRow .statsRow {
    display: flex;
    align-items: center;
    justify-content: space-around;

}

.hero-stats  .bottomRow .statsBox h2 {
    position: relative;
    font-family: 'Inter', sans-serif;
    font-size: 51px;
    font-weight: 800 !important;
    font-weight: revert;
    color: var(--dark-blue);
    display: inline-block;
}

.hero-stats  .bottomRow .statsBox .count:before {
    position: absolute;
}



.hero-stats  .bottomRow .statsBox p {
    font-weight: 500;
    color: var(--dark-blue);
}

.s1 ul.partners {
    display: flex;
    grid-gap: 20px;
    width: 100%;
    margin: 20px auto !important; ;
    justify-content: start;
    align-items: start;
}

ul.partners img {
    filter: grayscale(1);
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

ul.partners img:hover {
    filter: grayscale(0);
}

.s1 .Form-box {
    width: 100%;
    background: var(--white);
    border-radius: 10px;
    position: relative;
    padding: 30px 20px;
    box-shadow: 10px 0 15px rgb(14 46 103 / 20%);
}

@media screen and (min-width: 1366px) {
    .s1 .Form-box {
        max-width: 65%;
    }
}

.s1 .Form-box:before {
    position: absolute;
    content: '';
    background: var(--orange);
    width: 30%;
    height: 5px;
    left: 0;
    top: 0;
    right: 0;
    margin: 0 auto;
}

.s1 .Form-box .form-group {
    position: relative;
    margin-bottom: 15px
}

.s1 .Form-box .form-group i {
    position: absolute;
    font-size: 14px;
    color: #f47a1e;
    left: 15px;
    top: 18px;
}

.s1 .Form-box .form-control {
    padding: 10px 10px 10px 40px;
    background-color: #f3f7fa;
    font-size: 14px;
    color: #a9a9a9;
    border: 1px solid #ccc;
    box-shadow: none;
    border-radius: 50px;
}

.s1 .Form-box .form-control:focus {
    border-color: var(--orange);
}

@media (max-width:767px) {
    .s1 .Form-box {
        width: 100%;
        padding: 20px;
        height: auto
    }

    .s1 .Form-box h2 {
        font-size: 24px;
        padding-top: 0;
        padding-bottom: 15px
    }
}

.s1 textarea#Details1 {
    border-radius: 20px;
    height: 80px;
    resize: none;
}

.s1 .Form-box .form-control::placeholder {
    font-size: 14px;
    font-weight: 500;
    font-family: 'Poppins', sans-serif;
    color: #9daac1;
}

.s1 .button-box button {
    background: var(--orange);
    color: var(--white);
    padding: 12px 50px;
    border-radius: 50px;
    display: inline-block;
    Box-shadow: 0px 0px 10px #f47a1e8a;
}

.s1 .button-box button i {
    font-size: 14px;
    padding-left: 5px;
}

.s1 .button-box {
    text-align: center;
    margin-top: 24px;
}

.s1 .button-box button:hover {
    background: var(--dark-blue);
    box-shadow: unset;
}


.statsBox.divider {
    position: relative;
}

.statsBox.divider:after {
    content: "";
    width: 1px;
    height: 100%;
    position: absolute;
    right: -50px;
    background: #BDC8E1;
    top: 0;
}

/* SECTION ONE CSS END HERE */


/* SECTION TWO CSS START HERE */

.partnersAarea ul.partners li img {
  max-width: 100%;
  padding: 5px;
  text-align: center;
  margin: 0 auto;
}

ul.partners .slick-arrow {
  background: var(--dark-blue);
  color: var(--white);
  width: 35px;
  height: 35px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 500;
  position: absolute;
  top: 50%;
  z-index: 99;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

ul.partners .prev--arrow.slick-arrow {
  left: -60px;
}

ul.partners .next--arrow.slick-arrow {
  right: -60px;
}

ul.partners .slick-arrow:hover {
  background: var(--orange);
}

.slick-arrow.slick-disabled {
  opacity: 0.5;
  cursor: no-drop;
}

ul.partners ul.slick-dots {
  display: flex;
  align-items: center;
  justify-content: center;
}

ul.partners ul.slick-dots li {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--dark-blue);
  opacity: 0.5;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s ease-in-out;
}

ul.partners .slick-dots li button {
  margin: 0 auto;
  background: var(--white);
  border-radius: 50%;
  width: 0;
  height: 0;
  padding: 0;
  transition: all 0.3s ease-in-out;
}

ul.partners ul.slick-dots li.slick-active {
  opacity: 1;
}

.channelSlider .slick-list {
  padding-bottom: 20px;
}

/* PARTNERS WITHOUT SLIDER START  */

.homeBanner.s-1 ul.partners {
  position: relative;
  z-index: 9;
  display: flex;
  gap: 1rem;
  justify-content: center;
  align-items: center;
  width: 90%;
  margin: 0 auto !important;
}

.homeBanner.s-1 ul.partners img {
  filter: grayscale(1);
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.homeBanner.s-1 ul.partners img:hover {
  filter: grayscale(0);
}

/* SECTION TWO CSS END HERE */


    /* ==========================================================================
   Dentist SEO New York – main content (Search Berg)
   Everything is scoped under .dseo so it can drop into the existing site
   without touching the header/footer styles.
   Desktop values follow the 1366px Figma frame (1110px content width).
   ========================================================================== */

.dseo {
  --dseo-navy: #0e2e67;
  --dseo-orange: #f2701e;
  --dseo-ink: #21243a;
  --dseo-gray: #7b7b7b;
  --dseo-blue: #1c6eff;
  --dseo-glass: rgba(11, 37, 83, 0.5);
  --dseo-glass-border: #629aff;
  --dseo-gutter: 24px;

  --dseo-font-head: "Raleway", sans-serif;
  --dseo-font-body: "Inter", sans-serif;
  --dseo-font-num: "Bebas Neue", sans-serif;
  --dseo-font-alt: "Poppins", sans-serif;

  display: block;
  overflow-x: clip;
  font-family: var(--dseo-font-body);
  font-size: 16px;
  line-height: 24px;
  color: var(--dseo-navy);
  -webkit-font-smoothing: antialiased;
}

/* Resets use :where() so they carry zero specificity and never beat component classes */
:where(.dseo) *,
:where(.dseo) *::before,
:where(.dseo) *::after { box-sizing: border-box; }

:where(.dseo) :where(h1, h2, h3, h4, p, ul, ol, figure, blockquote) { margin: 0; padding: 0; }
:where(.dseo) :where(ul, ol) { list-style: none; }
:where(.dseo) img { max-width: 100%; display: block; }
:where(.dseo) a { color: inherit; }
:where(.dseo) button { font: inherit; color: inherit; }

/* ---------- Utilities ---------- */
.dseo-container {
  width: 100%;
  max-width: calc(1110px + 2 * var(--dseo-gutter));
  margin: 0 auto;
  padding: 0 var(--dseo-gutter);
}
.dseo-text-center { text-align: center; }
.dseo-text-orange { color: var(--dseo-orange); }
.dseo-text-trustpilot { color: #00b67a; }
.dseo-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.dseo-copy p + p { margin-top: 24px; }

/* Visible marker for copy that is missing from the Figma file */
.dseo-placeholder {
  display: inline-block;
  padding: 8px 14px;
  border: 1px dashed var(--dseo-orange);
  border-radius: 6px;
  background: #fff7ef;
  color: #b4530d;
  font-size: 14px;
  line-height: 20px;
}

/* ---------- Headings ---------- */
.dseo-title {
  font-family: var(--dseo-font-head);
  font-weight: 800;
  font-size: 50px;
  line-height: 1.18;
  color: var(--dseo-navy);
}
.dseo-title--light { color: #fff; }
.dseo-title--capitalize { text-transform: capitalize; }

/* Orange marker bar that sits behind a word (drawn as a background so it
   always follows the word, whatever the line breaks are). */
.dseo-hl {
  background-image: linear-gradient(var(--dseo-orange), var(--dseo-orange));
  background-repeat: no-repeat;
  background-size: 100% var(--dseo-hl-size, 10px);
  background-position: 0 calc(100% - var(--dseo-hl-offset, 7px));
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

/* ---------- Buttons ---------- */
.dseo-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 60px;
  padding: 0 24px;
  border: 0;
  border-radius: 5px;
  font-family: var(--dseo-font-body);
  font-weight: 600;
  font-size: 16px;
  line-height: 32px;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: transform .2s ease, filter .2s ease, background-color .2s ease, color .2s ease;
}
.dseo-btn:hover { transform: translateY(-2px); filter: brightness(1.05);     color: white;}
.dseo-btn:focus-visible { outline: 3px solid var(--dseo-blue); outline-offset: 3px; }

.dseo-btn--orange { background: var(--dseo-orange); color: #fff; }
.dseo-btn--hero {
  width: 235px;
  border-radius: 6px;
  line-height: 18px;
  letter-spacing: -0.0625px;
  box-shadow: 0 15px 30px rgba(248, 118, 36, 0.5);
}
.dseo-btn--wide {
  width: 420px;
  max-width: 100%;
  height: 70px;
  border-radius: 6px;
  font-size: 18px;
  line-height: 18px;
  letter-spacing: -0.07px;
  box-shadow: 0 15px 30px rgba(242, 112, 30, 0.5);
}

/* "Start a live chat" – text left, icon tile right */
.dseo-btn--chat {
  width: 220px;
  justify-content: space-between;
  padding: 0 11px 0 26px;
}
.dseo-btn__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  font-size: 20px;
}
.dseo-btn--chat-navy {
  border: 2px solid var(--dseo-navy);
  padding: 0 9px 0 24px;
  background: transparent;
  color: var(--dseo-navy);
}
.dseo-btn--chat-navy .dseo-btn__icon { background: var(--dseo-navy); color: #fff; }
.dseo-btn--chat-orange {
  background: var(--dseo-orange);
  color: #fff;
  box-shadow: 0 25px 40px rgba(242, 112, 30, 0.28);
}
.dseo-btn--chat-orange .dseo-btn__icon { background: #fff; color: var(--dseo-orange); }

.dseo-btn--phone {
  width: 220px;
  border: 2px solid var(--dseo-navy);
  border-radius: 6px;
  background: transparent;
  color: var(--dseo-navy);
  font-weight: 700;

}
.dseo-btn--phone:hover {
    color: var(--dseo-navy);
    background: white;
}
.dseo-btn--phone-light { border-color: #fff; color: #fff; }

.dseo-btn--gradient {
  background: linear-gradient(90deg, #276cd8 0%, #c556b0 100%);
  color: #fff;
  box-shadow: 0 25px 40px rgba(188, 87, 178, 0.35);
}
.dseo-btn--consult { width: 282px; box-shadow: 0 25px 40px rgba(44, 30, 242, 0.28); }
.dseo-btn--poppins { width: 220px; font-family: var(--dseo-font-alt); font-weight: 500; }
.dseo-btn--white { background: #fff; color: var(--dseo-navy); }

.dseo-btn--white:hover { background: #fff; color: var(--dseo-navy) !important; }

.dseo-btn-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 26px;
}

/* ==========================================================================
   1. HERO
   ========================================================================== */
.dseo-hero {
  position: relative;
  overflow: hidden;
  background: #eef3ff;
}
.dseo-hero__inner {
  display: grid;
  grid-template-columns: 570px 1fr;
  align-items: start;
}
.dseo-hero__content { padding: 78px 0 40px; }

.dseo-hero__title {
  font-family: var(--dseo-font-head);
  font-weight: 800;
  font-size: 70px;
  line-height: 81px;
  color: var(--dseo-navy);
  --dseo-hl-size: 11px;
  --dseo-hl-offset: 11px;
}
.dseo-hero__accent {
  background: linear-gradient(180deg, #fff 0%, #f96000 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.dseo-hero__lead {
  margin-top: 30px;
  font-weight: 500;
  font-size: 20px;
  line-height: 24px;
}
.dseo-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  margin-top: 29px;
}
.dseo-hero__badges {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px 12.5px;
  margin-top: 26px;
}
.dseo-hero__badges img {
  width: auto;
  height: 55.4px;
  mix-blend-mode: luminosity;
}

/* Right column: photo cluster + form */
.dseo-hero__visual {
  justify-self: center;
  width: 436px;
  max-width: 100%;
  margin-top: 14px;
}
.dseo-hero__media {
  position: relative;
  aspect-ratio: 436 / 304;
}
.dseo-hero__deco {
  position: absolute;
  height: auto;
  max-width: none;
  pointer-events: none;
}
/* Positions are % of the 436×304 media box (Figma coordinates) */
.dseo-hero__deco--line   { left: 88.42%;  top: 24.01%; width: 35.55%; }
.dseo-hero__deco--plane  { left: 114.68%; top: 1.32%;  width: 20.41%; }
.dseo-hero__deco--blob1  { left: -31.65%; top: 13.16%; width: 81.65%; }
.dseo-hero__deco--blob2  { left: 72.48%;  top: 0;      width: 40.14%; }
.dseo-hero__deco--dots1  { left: 1.38%;   top: 7.9%;   width: 15.83%; }
.dseo-hero__deco--dots2  { left: 89.68%;  top: 64.14%; width: 10.32%; }
.dseo-hero__deco--badge1 { left: 8.26%;   top: 13.16%; width: 22.25%; }
.dseo-hero__deco--badge2 { left: 82.11%;  top: 33.22%; width: 15.37%; }

/* 390px circle mask over the 450×300 photo */
.dseo-hero__photo {
  position: absolute;
  left: 5.27%;
  top: 7.9%;
  width: 89.45%;
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
}
.dseo-hero__photo img {
  position: absolute;
  left: -12.05%;
  top: -5.13%;
  width: 115.38%;
  height: 76.92%;
  max-width: none;
  object-fit: cover;
}

/* Lead form */
.dseo-form {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 14px;
  margin-top: -5.96%; /* form overlaps the photo by 26px at 436px wide */
  padding: 29px 22px 28px;
  background: #fff;
  border-radius: 10px 10px 0 0;
  box-shadow: 30px 30px 70px rgba(255, 255, 255, 0.4);
}
.dseo-form__field {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 54px;
  padding: 0 18px;
  border-radius: 5px;
  background: #f3f3f3;
  cursor: text;
  transition: background-color .2s ease, box-shadow .2s ease;
}
.dseo-form__field:focus-within {
  background: #fff;
  box-shadow: inset 0 0 0 2px #ff7802;
}
.dseo-form__icon { flex: 0 0 20px; width: 20px; height: 20px; }
.dseo-form__field input {
  flex: 1;
  min-width: 0;
  height: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  font-family: var(--dseo-font-body);
  font-weight: 500;
  font-size: 14px;
  color: #1d262d;
}
.dseo-form__field input::placeholder { color: #a1a1a1; opacity: 1; }
.dseo-form__submit {
  height: 54px;
  border: 0;
  border-radius: 5px;
  background: var(--dseo-navy);
  color: #fff;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 0.32px;
  cursor: pointer;
  transition: background-color .2s ease;
}
.dseo-form__submit:hover { background: #163f8a; }
.dseo-form__submit:focus-visible { outline: 3px solid #ff7802; outline-offset: 2px; }

/* ==========================================================================
   2. INTRO
   ========================================================================== */
.dseo-intro { padding: 102px 0 90px; }
.dseo-intro__copy {
  max-width: 952px;
  margin: 18px auto 0;
}
.dseo-intro__question {
  margin-top: 59px;
  font-weight: 700;
  font-size: 30px;
  line-height: 24px;
}
.dseo-intro .dseo-btn--wide { margin-top: 25px; }

/* ==========================================================================
   3. WHY TRUST
   ========================================================================== */
.dseo-trust {
  padding: 115px 0 134px;
  background: var(--dseo-navy) url("/img/seo-dentists-ny/trust-bg.png") center / cover no-repeat;
  color: #fff;
}
.dseo-trust__inner {
  display: grid;
  grid-template-columns: 564px 460px;
  justify-content: space-between;
  align-items: start;
}
.dseo-trust__content .dseo-title { max-width: 561px; }
.dseo-trust__content { --dseo-hl-offset: 7px; }
.dseo-trust__accent {
  background: linear-gradient(90deg, #ffb07f 0%, #ff6300 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.dseo-trust__lead { max-width: 553px; margin-top: 8px; }

.dseo-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px 10px;
  margin-top: 42px;
}
.dseo-stat {
  display: flex;
  flex-direction: column;
  min-height: 142px;
  padding: 24px 15px;
  border: 0.76px solid var(--dseo-glass-border);
  border-radius: 15.2px;
  background: var(--dseo-glass);
  -webkit-backdrop-filter: blur(7.6px);
  backdrop-filter: blur(7.6px);
  transition: background-color .25s ease;
}
.dseo-stat__value {
  font-family: var(--dseo-font-num);
  font-size: 50px;
  line-height: 60px;
  text-transform: uppercase;
  transition: color .25s ease;
}
.dseo-stat__label {
  max-width: 133px;
  margin-top: -2px;
  font-size: 14px;
  line-height: 20px;
  transition: color .25s ease;
}
.dseo-stat:hover { background: #fff; }
.dseo-stat:hover .dseo-stat__value { color: var(--dseo-orange); }
.dseo-stat:hover .dseo-stat__label { color: var(--dseo-navy); }

/* 460×529 rounded crop over the 965×643 photo (Figma mask) */
.dseo-trust__media {
  position: relative;
  width: 460px;
  max-width: 100%;
  aspect-ratio: 460 / 529;
  border-radius: 20px;
  overflow: hidden;
}
.dseo-trust__media img {
  position: absolute;
  left: -55%;
  top: -19.47%;
  width: 182.61%;
  height: 121.55%;
  max-width: none;
  object-fit: cover;
}

/* ==========================================================================
   4. FEATURED TESTIMONIAL
   ========================================================================== */
.dseo-feature-review { padding-top: 76px; }
.dseo-testimonial {
  margin-top: 70px;
  padding: 0 63px 57px;
  border: 1px solid #7a90b3;
  border-radius: 20px;
  background: #f7faff;
  text-align: center;
}
.dseo-testimonial__author {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: -70px;
}
.dseo-testimonial__avatar-wrap {
  position: relative;
  width: 130px;
  height: 137.6px;
}
/* Exported with its 5px white ring (140px), centred on the 130px slot */
.dseo-testimonial__avatar {
  width: 140px;
  height: 140px;
  max-width: none;
  margin: -5px;
  border-radius: 50%;
}
.dseo-testimonial__logo {
  position: absolute;
  left: 50%;
  top: 107px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 123px;
  height: 30.6px;
  border-radius: 19.84px;
  background: #fff;
  transform: translateX(-50%);
}
.dseo-testimonial__logo img { width: 92.2px; height: 20.5px; }
.dseo-testimonial__name {
  margin-top: 15px;
  font-weight: 700;
  font-size: 16px;
  line-height: 16px;
  color: #000;
}
.dseo-testimonial__role {
  margin-top: 4px;
  font-size: 14px;
  line-height: 14px;
  color: #000;
  opacity: .5;
}
.dseo-testimonial__quote {
  max-width: 984px;
  margin: 39px auto 0;
  font-style: italic;
  font-size: 26px;
  line-height: 42px;
}

/* ==========================================================================
   5. CTA
   ========================================================================== */
.dseo-cta { padding: 76px 0 110px; }
.dseo-cta__title { max-width: 829px; margin: 0 auto; }
.dseo-cta__copy { max-width: 796px; margin: 24px auto 0; }
.dseo-cta__kicker {
  margin-top: 39px;
  font-weight: 600;
  font-size: 20px;
  line-height: 24px;
  text-transform: uppercase;
}
.dseo-cta__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px 31px;
  margin-top: 79px;
}
.dseo-cta__or {
  font-weight: 700;
  font-size: 20px;
  line-height: 32px;
  text-transform: uppercase;
}
.dseo-cta__call { line-height: 32px; }
.dseo-cta__call a {
  font-weight: 700;
  font-size: 20px;
  text-decoration: none;
  white-space: nowrap;
}
.dseo-cta__call a:hover { color: var(--dseo-orange); }

/* ==========================================================================
   6. WHAT IS DENTIST SEO
   ========================================================================== */
.dseo-whatis {
  padding: 97px 0 103px;
  /* Cream panel with the faint grid, exported from the Figma background group */
  background: #fff7f0 url("/img/seo-dentists-ny/whatis-bg.png") center top / 1366px auto repeat;
}
.dseo-whatis__title { max-width: 930px; margin: 0 auto; --dseo-hl-offset: 6px; }
.dseo-whatis__copy { margin-top: 25px; }
.dseo-whatis__tagline { margin-top: 40px; }
.dseo-whatis__tagline span {
  display: inline-block;
  padding: 6px 36px;
  background: url("/img/seo-dentists-ny/whatis-brush.png") center / 100% 100% no-repeat;
  font-weight: 700;
  font-style: italic;
  font-size: 22px;
  line-height: 24px;
  color: #fff;
}

.dseo-benefits {
  display: grid;
  grid-template-columns: 180px repeat(4, 170px);
  justify-content: center;
  gap: 40px 60px;
  margin-top: 73px;
  color: var(--dseo-ink);
}
.dseo-benefit__title {
  font-weight: 700;
  font-size: 20px;
  line-height: 26px;
}
.dseo-benefit__text {
  margin-top: 12px;
  font-size: 14px;
  line-height: 22px;
}
.dseo-benefit:first-child .dseo-benefit__text { margin-top: 15px; }

.dseo-whatis__cta-text {
  max-width: 1033px;
  margin: 73px auto 0;
  font-weight: 700;
  font-size: 26px;
  line-height: 36px;
}
.dseo-whatis .dseo-btn-row { margin-top: 34px; }

/* ---------- Iceberg separator ---------- */
.dseo-separator {
  position: relative;
  z-index: 1;
  height: clamp(121px, 8.858vw, 200px);
  background: url("/img/seo-dentists-ny/separator-iceberg.png") center / cover no-repeat;
}
.dseo-separator--after-whatis { margin-top: -39px; }
.dseo-separator--after-boroughs { margin-top: -41px; }

/* ==========================================================================
   7. GAME PLAN (tabs)
   ========================================================================== */
.dseo-plan { padding: 52px 0 122px; }
.dseo-plan__title { max-width: 908px; margin: 0 auto; }

.dseo-plan__steps {
  --dseo-step: 1;            /* zero-based index of the active step (set by JS) */
  position: relative;
  margin-top: 44px;
}
.dseo-plan__scroller { scrollbar-width: none; }
.dseo-plan__scroller::-webkit-scrollbar { display: none; }
.dseo-plan__track {
  position: relative;
  width: 1305px;
  margin: 0 auto;
}

/* Numbered timeline */
.dseo-plan__timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(8, 150px);
  column-gap: 15px;
  padding: 0;
}
.dseo-plan__timeline::before,
.dseo-plan__timeline::after {
  content: "";
  position: absolute;
  top: 15px;
  height: 1px;
}
.dseo-plan__timeline::before { left: 82px; right: 75px; background: #eaf0f4; }
.dseo-plan__timeline::after {
  left: calc(var(--dseo-step) * 165px);
  width: 150px;
  background: #8eb6ff;
  transition: left .35s ease;
}
.dseo-plan__timeline li {
  position: relative;
  z-index: 1;
  justify-self: center;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 1px solid #d6e1e9;
  border-radius: 50%;
  background: #f3f7fa;
  font-weight: 500;
  font-size: 12px;
  line-height: 16px;
  color: #a3b2be;
  transition: background-color .3s ease, border-color .3s ease, color .3s ease;
}
.dseo-plan__timeline li.is-active {
  border-color: var(--dseo-blue);
  background: var(--dseo-blue);
  color: #fff;
}

/* Step cards (tabs) */
.dseo-plan__tabs {
  display: grid;
  grid-template-columns: repeat(8, 150px);
  column-gap: 15px;
  margin-top: 69px;
}
.dseo-step {
  display: flex;
  flex-direction: column;
  height: 174px;
  padding: 23px 19px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: #fff;
  box-shadow: 10px 10px 40px #d3e7f5;
  text-align: left;
  cursor: pointer;
  transition: border-color .25s ease, box-shadow .25s ease;
}
.dseo-step__label {
  font-weight: 500;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--dseo-gray);
}
.dseo-step__title {
  margin-top: 16px;
  font-weight: 500;
  font-size: 16px;
  line-height: 22px;
  text-transform: capitalize;
  color: var(--dseo-navy);
  opacity: .4;
  transition: opacity .25s ease;
}
.dseo-step:hover .dseo-step__title { opacity: .75; }
.dseo-step.is-active { border-color: var(--dseo-blue); box-shadow: none; }
.dseo-step.is-active .dseo-step__title { opacity: 1; }
.dseo-step:focus-visible { outline: 2px solid var(--dseo-blue); outline-offset: 3px; }

/* Connector (path is computed in JS) */
.dseo-plan__connector {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
  fill: none;
  stroke: var(--dseo-blue);
  stroke-width: 1;
}
.dseo-plan__connector circle { fill: var(--dseo-blue); stroke: none; }

/* Panel */
.dseo-plan__panel {
  margin-top: 93px;
  padding: 39px 35px 39px;
  border: 1px solid var(--dseo-blue);
  border-radius: 20px;
  background: #fff;
  text-align: center;
}
.dseo-plan__panel[hidden] { display: none; }
.dseo-plan__panel-label {
  font-weight: 500;
  font-size: 20px;
  line-height: 24px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--dseo-gray);
}
.dseo-plan__panel-title {
  margin-top: 9px;
  font-weight: 700;
  font-size: 30px;
  line-height: 36px;
  text-transform: capitalize;
  color: var(--dseo-ink);
}
.dseo-plan__panel-text { max-width: 1040px; margin: 14px auto 0; }
.dseo-plan__features {
  display: grid;
  grid-template-columns: 293px 248px 248px;
  justify-content: center;
  column-gap: 81px;
  row-gap: 32px;
  margin-top: 55px !important;
}
ul.dseo-plan__features.col4 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
}
.dseo-plan__features h4 { font-size: 20px; line-height: 24px; }
.dseo-plan__features p { max-width: 248px; margin: 15px auto 0; }
.dseo-plan__example {
  max-width: 1009px;
  margin: 59px auto 0;
  padding: 34px 31px 33px;
  border-radius: 20px;
  background: #f7f9fa;
  text-align: left;
}
.dseo-plan__example-title { font-weight: 700; font-size: 26px; line-height: 24px; }
.dseo-plan__example-title + p { margin-top: 17px; }

/* ==========================================================================
   8. BOROUGHS
   ========================================================================== */
.dseo-boroughs {
  padding: 90px 0 120px;
  background: var(--dseo-navy);
  color: #fff;
}
.dseo-boroughs__title { max-width: 896px; margin: 0 auto; }
.dseo-boroughs__copy { max-width: 895px; margin: 33px auto 0; }
.dseo-boroughs__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 30px;
  margin-top: 52px;
}
.dseo-borough {
  min-height: 324px;
  padding: 24px 26px 26px;
  border: 0.76px solid var(--dseo-glass-border);
  border-radius: 15.2px;
  background: var(--dseo-glass);
  -webkit-backdrop-filter: blur(7.6px);
  backdrop-filter: blur(7.6px);
  transition: background-color .25s ease, color .25s ease;
}
.dseo-borough--wide {
  grid-column: 1 / -1;
  min-height: 200px;
  padding-top: 35px;
}
.dseo-borough__name {
  font-weight: 800;
  font-size: 40px;
  line-height: 48px;
  text-transform: uppercase;
  transition: color .25s ease;
}
.dseo-borough__text {
  max-width: 470px;
  margin-top: 23px;
  font-size: 14px;
  line-height: 20px;
}
.dseo-borough--wide .dseo-borough__text { max-width: 1040px; }
.dseo-borough__text p + p { margin-top: 20px; }
.dseo-borough:hover { background: #fff; color: #000; }
.dseo-borough:hover .dseo-borough__name { color: var(--dseo-orange); }

/* ==========================================================================
   9. REVIEWS SLIDER
   ========================================================================== */
.dseo-reviews { padding: 57px 0 137px; }
.dseo-reviews__slider { position: relative; margin-top: 77px; }
.dseo-reviews__track {
  display: flex;
  gap: 30px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.dseo-reviews__track::-webkit-scrollbar { display: none; }

.dseo-review {
  flex: 0 0 calc((100% - 60px) / 3);
  min-height: 307px;
  padding: 21px;
  border: 1px solid #a1a1a1;
  border-radius: 10px;
  background: #fff;
  scroll-snap-align: start;
}
.dseo-review__head { display: flex; align-items: flex-start; gap: 11px; }
.dseo-review__avatar { flex: 0 0 59px; width: 59px; height: 59px; border-radius: 50%; object-fit: cover; }
.dseo-review__name {
  margin-top: 7px;
  font-weight: 700;
  font-size: 18px;
  line-height: 18px;
  color: var(--dseo-ink);
}
.dseo-review__stars { width: 114px; height: 21px; margin-top: 7px; }
.dseo-review__title {
  margin-top: 22px;
  font-weight: 700;
  font-size: 16px;
  line-height: 19px;
}
.dseo-review__text {
  margin-top: 10px;
  font-style: italic;
  font-size: 14px;
  line-height: 24px;
  color: var(--dseo-ink);
}

.dseo-reviews__controls {
  display: flex;
  justify-content: center;
  margin-top: 28px;
}
.dseo-reviews__arrow {
  position: absolute;
  top: 129px;
  width: 47.4px;
  height: 47.4px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: none;
  cursor: pointer;
  transition: transform .2s ease;
}
.dseo-reviews__arrow img { width: 100%; height: 100%; }
.dseo-reviews__arrow--prev { left: -68px; }
.dseo-reviews__arrow--next { right: -66.4px; }
.dseo-reviews__arrow:not([disabled]):hover { transform: scale(1.06); }
.dseo-reviews__arrow[disabled] { cursor: default; }
.dseo-reviews__arrow:focus-visible { outline: 2px solid var(--dseo-orange); outline-offset: 3px; }

.dseo-reviews__dots { display: flex; gap: 12px; }
.dseo-reviews__dot {
  width: 16px;
  height: 16px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #e9e9e9;
  cursor: pointer;
  transition: background-color .2s ease;
}
.dseo-reviews__dot.is-active { background: var(--dseo-orange); }
.dseo-reviews__dot:focus-visible { outline: 2px solid var(--dseo-orange); outline-offset: 2px; }

/* ==========================================================================
   10. CLOSING CTA
   ========================================================================== */
.dseo-closing {
  padding: 82px 0;
  background: linear-gradient(180deg, var(--dseo-navy) 0%, #1c5ccd 100%);
  color: #fff;
}
.dseo-closing__copy {
  max-width: 1048px;
  margin: 37px auto 0;
  font-size: 18px;
  line-height: 30px;
}
.dseo-closing__copy p + p { margin-top: 30px; }
.dseo-closing__kicker {
  max-width: 761px;
  margin: 62px auto 0;
  font-weight: 700;
  font-size: 24px;
  line-height: 30px;
}
.dseo-closing .dseo-btn-row { margin-top: 37px; }

/* ==========================================================================
   11. FAQ ACCORDION
   ========================================================================== */
.dseo-faq { padding: 109px 0 121px; }
.dseo-faq__title { --dseo-hl-offset: 6px; }
.dseo-faq__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 1109px;
  margin: 73px auto 0;
}
.dseo-faq__item {
  border: 1px solid transparent;
  border-radius: 6px;
  background: #f3f8ff;
  transition: background-color .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.dseo-faq__item.is-open {
  margin-bottom: 11px;
  border-color: #316bd6;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 0 40px rgba(49, 107, 214, 0.3);
}
.dseo-faq__heading { font-size: inherit; }
.dseo-faq__question {
  position: relative;
  display: block;
  width: 100%;
  min-height: 68px;
  padding: 21px 64px 21px 37px;
  border: 0;
  background: none;
  text-align: left;
  font-weight: 700;
  font-size: 20px;
  line-height: 26px;
  color: #000;
  cursor: pointer;
}
.dseo-faq__item.is-open .dseo-faq__question { min-height: 0; padding: 31px 64px 0 27px; }
.dseo-faq__question:focus-visible { outline: 2px solid #316bd6; outline-offset: -4px; border-radius: 6px; }

.dseo-faq__icon {
  position: absolute;
  right: 17px;
  top: 19px;
  display: flex;
  justify-content: center;
  align-items: flex-end;     /* closed: triangle points down, sits low */
  width: 26px;
  height: 26px;
  padding: 2px 0;
}
.dseo-faq__item.is-open .dseo-faq__icon { align-items: flex-start; }
.dseo-faq__icon img { width: 20px; height: 18px; }
.dseo-faq__icon-open { display: none; }
.dseo-faq__item.is-open .dseo-faq__icon-open { display: block; }
.dseo-faq__item.is-open .dseo-faq__icon-closed { display: none; }

.dseo-faq__answer {
  padding: 16px 90px 37px 27px;
  line-height: 22px;
  color: #1b1b1b;
}
.dseo-faq__answer[hidden] { display: none; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

/* Step cards row (1305px) no longer fits: make it swipeable */
@media (max-width: 1339px) {
  .dseo-plan__scroller {
    overflow-x: auto;
    padding: 0 var(--dseo-gutter) 50px;
    margin-bottom: -50px;
    scroll-snap-type: x proximity;
  }
  .dseo-plan__track { margin: 0; }
  .dseo-step { scroll-snap-align: center; }
}

/* Review arrows move below the cards when there's no side room */
@media (max-width: 1279px) {
  .dseo-reviews__controls { align-items: center; gap: 24px; }
  .dseo-reviews__arrow { position: static; flex: 0 0 auto; }
}

@media (max-width: 1199px) {
  .dseo-hero__inner { grid-template-columns: minmax(0, 1fr) 436px; column-gap: 40px; }
  .dseo-hero__title { font-size: 58px; line-height: 68px; --dseo-hl-size: 9px; --dseo-hl-offset: 10px; }

  .dseo-trust__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 400px); column-gap: 40px; }

  .dseo-benefits { grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: 32px; }
}

@media (max-width: 991px) {
  .dseo-title { font-size: 42px; }

  /* Hero stacks */
  .dseo-hero__inner { grid-template-columns: minmax(0, 1fr); }
  .dseo-hero__content { padding: 56px 0 0; }
  .dseo-hero__title { font-size: 54px; line-height: 64px; }
  .dseo-hero__visual { margin-top: 48px; }

  .dseo-intro { padding: 80px 0 72px; }

  .dseo-trust { padding: 80px 0; }
  .dseo-trust__inner { grid-template-columns: minmax(0, 1fr); }
  .dseo-trust__content .dseo-title,
  .dseo-trust__lead { max-width: none; }
  .dseo-trust__media { justify-self: center; margin-top: 48px; }

  .dseo-whatis { padding: 80px 0; }
  .dseo-benefits {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 40px 32px;
    margin-top: 56px;
  }
  /* 3 + 2 layout */
  .dseo-benefit { grid-column: span 2; }
  .dseo-benefit:nth-child(4) { grid-column: 2 / span 2; }
  .dseo-benefit:nth-child(5) { grid-column: 4 / span 2; }
  .dseo-whatis__cta-text { margin-top: 56px; font-size: 24px; line-height: 34px; }

  .dseo-plan__features { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 32px; }

  .dseo-boroughs { padding: 80px 0 100px; }

  .dseo-review { flex-basis: calc((100% - 30px) / 2); }

  .dseo-closing__kicker { margin-top: 48px; }

  .dseo-faq { padding: 88px 0 100px; }
}

@media (max-width: 767px) {
  .dseo { --dseo-gutter: 16px; }
  .dseo-title { font-size: 32px; }
  .dseo-hl { --dseo-hl-size: 7px; --dseo-hl-offset: 4px; }

  /* Hero */
  .dseo-hero__content { padding-top: 40px; }
  .dseo-hero__title { font-size: 40px; line-height: 48px; --dseo-hl-size: 7px; --dseo-hl-offset: 6px; }
  .dseo-hero__lead { margin-top: 20px; font-size: 18px; }
  .dseo-hero__actions { flex-direction: column; }
  .dseo-hero__actions .dseo-btn { width: 100%; }
  .dseo-hero__badges { gap: 10px; }
  .dseo-hero__badges img { height: 44px; }
  .dseo-hero__visual { margin-top: 36px; }
  .dseo-form { padding: 20px 16px; }

  .dseo-btn-row { flex-direction: column; align-items: center; gap: 16px; }
  .dseo-btn-row .dseo-btn { width: 100%; max-width: 320px; }

  /* Intro */
  .dseo-intro { padding: 64px 0; }
  .dseo-intro__question { margin-top: 40px; font-size: 24px; line-height: 32px; }

  /* Trust */
  .dseo-trust { padding: 64px 0; }
  .dseo-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 32px; }
  .dseo-stat { min-height: 128px; }
  .dseo-stat__value { font-size: 44px; line-height: 54px; }
  .dseo-trust__media { margin-top: 40px; }

  /* Testimonial */
  .dseo-feature-review { padding-top: 56px; }
  .dseo-testimonial { padding: 0 20px 36px; }
  .dseo-testimonial__quote { margin-top: 28px; font-size: 19px; line-height: 30px; }

  /* CTA */
  .dseo-cta { padding: 56px 0 72px; }
  .dseo-cta__kicker { margin-top: 28px; font-size: 17px; }
  .dseo-cta__actions { flex-direction: column; gap: 14px; margin-top: 40px; }
  .dseo-btn--consult { width: 100%; max-width: 320px; }

  /* What is */
  .dseo-whatis { padding: 64px 0 72px; }
  .dseo-whatis__tagline span { padding: 8px 20px; font-size: 18px; }
  .dseo-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; margin-top: 44px; }
  .dseo-benefit,
  .dseo-benefit:nth-child(4),
  .dseo-benefit:nth-child(5) { grid-column: auto; }
  .dseo-benefit:nth-child(5) { grid-column: 1 / -1; max-width: 260px; justify-self: center; }
  .dseo-whatis__cta-text { margin-top: 44px; font-size: 20px; line-height: 30px; }

  /* Plan */
  .dseo-plan { padding: 40px 0 72px; }
  .dseo-plan__steps { margin-top: 32px; }
  .dseo-plan__tabs { margin-top: 48px; }
  .dseo-plan__panel { margin-top: 64px; padding: 28px 18px; }
  .dseo-plan__panel-label { font-size: 16px; }
  .dseo-plan__panel-title { font-size: 22px; line-height: 30px; }
  .dseo-plan__features, ul.dseo-plan__features.col4 { grid-template-columns: 1fr; margin-top: 32px; }
  .dseo-plan__example { margin-top: 32px; padding: 24px 20px; }
  .dseo-plan__example-title { font-size: 22px; }

  /* Boroughs */
  .dseo-boroughs { padding: 64px 0 88px; }
  .dseo-boroughs__grid { grid-template-columns: 1fr; margin-top: 36px; }
  .dseo-borough,
  .dseo-borough--wide { min-height: 0; padding: 22px 20px 26px; }
  .dseo-borough__name { font-size: 30px; line-height: 38px; }
  .dseo-borough__text { margin-top: 16px; }

  /* Reviews */
  .dseo-reviews { padding: 48px 0 80px; }
  .dseo-reviews__slider { margin-top: 40px; }
  .dseo-reviews__track { gap: 16px; }
  .dseo-review { flex-basis: 100%; min-height: 0; }

  /* Closing */
  .dseo-closing { padding: 64px 0; }
  .dseo-closing__copy { margin-top: 28px; font-size: 16px; line-height: 26px; }
  .dseo-closing__copy p + p { margin-top: 20px; }
  .dseo-closing__kicker { margin-top: 36px; font-size: 20px; line-height: 28px; }

  /* FAQ */
  .dseo-faq { padding: 64px 0 80px; }
  .dseo-faq__list { margin-top: 40px; }
  .dseo-faq__question,
  .dseo-faq__item.is-open .dseo-faq__question { font-size: 17px; line-height: 24px; padding-left: 18px; padding-right: 52px; }
  .dseo-faq__question { padding-top: 18px; padding-bottom: 18px; min-height: 60px; }
  .dseo-faq__item.is-open .dseo-faq__question { padding-top: 22px; }
  .dseo-faq__icon { right: 12px; top: 17px; }
  .dseo-faq__answer { padding: 12px 18px 24px; font-size: 15px; }
}

@media (max-width: 479px) {
  .dseo-title { font-size: 28px; }
  .dseo-hero__title { font-size: 34px; line-height: 42px; }
  .dseo-stat { padding: 18px 12px; }
  .dseo-stat__value { font-size: 38px; line-height: 46px; }
  .dseo-benefits { grid-template-columns: 1fr; }
  .dseo-benefit:nth-child(5) { max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
  .dseo *, .dseo *::before, .dseo *::after { transition: none !important; scroll-behavior: auto !important; }
}

/* MEDIA QUERY CSS START HERE  */

@media only screen and (max-width: 1300px) {
  .homeBanner.s1 img.bannerImg {
    position: unset;
  }

  .homeBanner.s1 .coverTextWrap h5 br {
    display: none;
  }

  .homeBanner.s-1 .topRow h1 {
    font-size: 40px;
    line-height: 50px;
  }

  .homeBanner.s-1 .Form-box {
    max-width: 100%;
  }

  .homeBanner.s-1 .bannerImg {
    display: none;
  }

  section.hireExperts .heading h4 br {
    display: none;
  }

  section.hireExperts .col-right img {
    max-width: unset;
    margin: unset;
    width: 100%;
  }

  .quality-row {
    padding: 100px 30px 50px 30px;
  }

  section.dentistService2 .colRight {
    padding-left: calc(var(--bs-gutter-x) / 2);
  }

  section.getStarted .colLeft h4 span {
    font-size: 40px;
  }

  section.getStarted .contact-box a {
    font-size: 60px;
  }

  .head h2 br,
  .head h2 span br {
    display: none;
  }

  .bottom-form {
    padding: 40px 20px;
  }

  section.hireExperts .heading p.sub-text br {
    display: none;
  }
}

@media only screen and (max-width: 991px) {
  .homeBanner.s-1 .topRow p br {
    display: none;
  }

  .homeBanner.s-1 .coverBtns {
    margin: 2rem 0 0;
  }

  .homeBanner.s-1 .col-right {
    margin: 3rem 0 0;
  }

  .homeBanner.s-1 .bottomRow .statsBox h2 {
    font-size: 36px;
  }

  .homeBanner.s-1 .bottomRow ul.partners {
    width: 100%;
  }

  .homeBanner.s-1 .bottomRow .statsBox p {
    font-size: 14px;
  }

  .SBreviews--wrapper {
    max-width: 100%;
  }

  section.hireExperts .heading h2,
  section.hireExperts .heading h2 span {
    font-size: 30px;
  }

  section.hireExperts .heading h4 {
    font-size: 20px;
  }

  section.dentistService p.sub-text {
    padding: 0;
  }

  .head p br {
    display: none;
  }

  section.getStarted .heading h2 {
    font-size: 30px;
  }

  section.getStarted .colLeft h4 br {
    display: none;
  }

  section.getStarted .contact-box {
    padding: 20px 0 0;
    text-align: center;
  }

  section.getStarted .colLeft img.tu-left-arrow {
    display: none;
  }

  .videoSection .colRight {
    text-align: center;
  }

  section.designFAQS .head h2,
  section.designFAQS .head h2 span {
    font-size: 30px;
  }
}

@media only screen and (max-width: 767px) {
  .homeBanner.s1 .coverTextWrap > h1 {
    font-size: 20px;
    line-height: 30px;
  }

  .homeBanner.s-1 .topRow h1 {
    font-size: 22px;
    line-height: 30px;
    padding-bottom: 10px;
  }

  .homeBanner.s-1 .coverBtns .divBtn a.talk-chat {
    position: unset;
  }

  .homeBanner .coverBtns {
    justify-content: center;
  }

  .homeBanner .col-right {
    margin: 2rem 0 0;
  }

  .homeBanner.s-1 .bottomRow .statsRow {
    display: grid;
    grid-template-columns: auto auto;
  }

  .homeBanner.s-1 .bottomRow .statsBox h2 {
    font-size: 24px;
  }

  .homeBanner.s-1 .bottomRow .statsRow p {
    font-size: 13px;
  }

  .homeBanner.s-1 .bottomRow ul.partners {
    flex-wrap: wrap;
    grid-gap: 10px;
    justify-content: space-around;
  }

  .homeBanner.s-1 ul.partners li {
    flex: 0 0 calc(25% - 10px);
  }

  img.tooth {
    display: none;
  }

  .homeBanner.s1 .coverTextWrap .sub-text {
    font-size: 14px;
    margin-bottom: 0;
  }

  .homeBanner.s1 .coverTextWrap .sub-text br {
    display: none;
  }

  .homeBanner.s1 .coverTextWrap h5 {
    font-size: 18px;
    padding: 15px 0 0;
  }

  p,
  li {
    font-size: 14px;
    line-height: 20px;
  }

  .homeBanner.s1 .coverBtn {
    flex-direction: column;
    grid-row-gap: 15px;
    text-align: center;
  }

  .homeBanner.s1 .coverBtn > a {
    font-size: 14px;
    padding: 12px 20px;
  }

  .homeBanner.s1 .homeBanner.s1 {
    padding: 40px 0;
  }

  .homeBanner.s1 img.wave {
    display: none;
  }

  .section {
    padding: 40px 0;
  }

  section.partnersAarea.section.s2 {
    padding-bottom: 70px;
  }

  .head h2,
  .head h2 span {
    font-size: 20px;
  }

  .head p {
    font-size: 14px;
  }

  .SBreviews--wrapper h4 {
    font-size: 14px;
    padding: 20px 0;
  }

  .SBreviews--wrapper .row {
    grid-gap: 15px;
  }

  section.hireExperts .heading h2,
  section.hireExperts .heading h2 span {
    font-size: 20px;
  }

  section.hireExperts .heading h4 {
    font-size: 16px;
  }

  section.hireExperts .heading {
    margin-bottom: 0;
  }

  section.hireExperts .col-left {
    padding: 30px 20px;
  }

  .quality-row .head h2 {
    font-size: 20px;
  }

  .quality-row p {
    font-size: 14px;
    line-height: 20px;
  }

  .quality-row {
    padding: 50px 10px 50px;
  }

  .quality-row .section--cta a.main-cta {
    font-size: 14px;
    padding: 12px 0px;
  }

  .quality-row .section--cta .row {
    grid-gap: 20px;
  }

  section.dentistService p.sub-text {
    padding: 0 15px;
  }

  .serviceTabContent h2 {
    font-size: 20px;
  }

  .serviceTabContent {
    padding: 25px 0 0;
  }

  a.getStarted {
    font-size: 14px;
    padding: 12px 0px;
    width: 100%;
  }

  section.getStarted:before {
    display: none;
  }

  section.getStarted .heading h2 {
    font-size: 20px;
  }

  section.getStarted .colLeft {
    padding-right: calc(var(--bs-gutter-x) / 2);
    padding-left: calc(var(--bs-gutter-x) / 2);
  }

  section.getStarted .colLeft h4,
  section.getStarted .colLeft h4 span {
    font-size: 26px;
    line-height: 34px;
  }

  section.getStarted .colLeft {
    padding: 20px;
    border-radius: 0;
  }

  section.getStarted .contact-box h4 {
    font-size: 30px;
  }

  section.getStarted .contact-box a {
    font-size: 36px;
  }

  .videoSection p {
    font-size: 14px;
    line-height: 20px;
  }

  ul#accordian {
    overflow: unset;
    max-height: unset;
    padding: 0 !important;
  }

  ul#accordian li {
    padding: 25px 0;
    box-shadow: unset;
  }

  ul#accordian li.active {
    box-shadow: unset;
    background: none;
    border-radius: 0;
  }

  ul#accordian h4 {
    font-size: 14px;
  }

  ul#accordian h4 i {
    font-size: 16px;
  }

  section.section.ny-contact.diamond {
    padding-bottom: 70px;
  }

  .bottom-form {
    padding: 20px 15px;
  }

  .bottom-form h2 {
    font-size: 20px;
  }

  .bottom-form h2 br {
    display: none;
  }

  .mini-contact-area {
    flex-direction: column;
    text-align: center;
    grid-gap: 20px;
  }

  .partners-logo-row .slick-slide img {
    margin: 0 auto;
  }
  .s12 .div-img {
    display: none;
  }

  .s12 .row {
    grid-row-gap: 1.5rem;
  }

  .tabs-wrap {
    padding: 2rem 1rem;
  }

  .tabs-wrap ul.tabs-list .tab-nav {
    max-width: 100%;
    font-size: 0.875rem;
  }

  .tabs-wrap ul.tabs-list .tab-nav > span {
    font-size: 1.5rem;
  }

  .tabs-wrap .tab-content {
    text-align: center;
    margin-top: 2rem;
  }

  .tabs-wrap .tab-content h3 {
    font-size: 1.25rem;
  }

  .tabs-wrap a.main-cta {
    width: 100%;
  }
  .gmb-tool-slider {
    margin: 0 0 1.5rem;
  }
  .gmb-slider-item img {
    box-shadow: unset;
  }
  #gmb-slider ul.slick-dots {
    left: 0;
    right: 0;
    margin: 0 auto !important;
    width: max-content;
  }

  #gmb-slider ul.slick-dots li {
    background: #c1c6d1;
    border-radius: 50px;
    width: 14px;
    height: 14px;
  }

  #gmb-slider ul.slick-dots li.slick-active {
    background: var(--orange);
    width: 70px;
  }

  #gmb-slider ul.slick-dots button {
    display: none;
  }

  .slick-arrow-wrap,
  #gmb-slider ul.slick-dots {
    bottom: -8%;
  }
}
