
/* =========================================================
RESET / ELEMENTOR PROTECTION
========================================================= */

.dis-final-cta-v2,
.dis-final-cta-v2 *,
.dis-final-cta-v2 *::before,
.dis-final-cta-v2 *::after {
    box-sizing: border-box;
}

.dis-final-cta-v2 {
    --dark: #151a1d;
    --dark-soft: #22282c;
    --gold: #d1a04a;
    --gold-light: #e2b65f;

    position: relative;

    width: 100%;

    margin: 0;
    padding: 0;

    overflow: hidden;

    background: #151a1d;

    color: #ffffff;

    font-family: "Montserrat", Arial, sans-serif;

    isolation: isolate;
}


/* =========================================================
FONT AWESOME FIX
========================================================= */

.dis-final-cta-v2 .fa-solid,
.dis-final-cta-v2 .fas {
    font-family: "Font Awesome 6 Free";

    font-style: normal;
    font-variant: normal;

    font-weight: 900;

    line-height: 1;

    text-rendering: auto;

    -webkit-font-smoothing: antialiased;
}


/* =========================================================
BACKGROUND IMAGE
========================================================= */

.dis-final-cta-v2__bg {
    position: absolute;

    inset: 0;

    z-index: 0;

    background-image:
        url("https://www.dentalimplantsidaho.com/wp-content/uploads/2026/04/850-Home.jpg");

    background-size: cover;

    background-position: center center;

    background-repeat: no-repeat;

    transform: scale(1.025);
}


/* =========================================================
DARK OVERLAY
========================================================= */

.dis-final-cta-v2__overlay {
    position: absolute;

    inset: 0;

    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(8,11,13,0.95) 0%,
            rgba(8,11,13,0.91) 38%,
            rgba(8,11,13,0.75) 69%,
            rgba(8,11,13,0.60) 100%
        );
}


/* =========================================================
BACKGROUND ART
========================================================= */

.dis-final-cta-v2__art {
    position: absolute;

    inset: 0;

    z-index: 2;

    pointer-events: none;

    overflow: hidden;
}


.dis-final-cta-v2__art-line {
    position: absolute;

    display: block;

    height: 1px;

    background: rgba(220,175,96,0.18);
}


.dis-final-cta-v2__art-line--left {
    top: 142px;
    left: 0;

    width: 13%;
}


.dis-final-cta-v2__art-line--right {
    right: 0;
    bottom: 115px;

    width: 17%;
}


.dis-final-cta-v2__art-ring {
    position: absolute;

    right: -270px;
    top: -320px;

    width: 680px;
    height: 680px;

    border:
        1px solid rgba(220,175,96,0.10);

    border-radius: 50%;
}


.dis-final-cta-v2__art-ring::after {
    content: "";

    position: absolute;

    inset: 100px;

    border:
        1px solid rgba(220,175,96,0.06);

    border-radius: 50%;
}


/* =========================================================
1400PX CONTAINER
========================================================= */

.dis-final-cta-v2__container {
    position: relative;

    z-index: 3;

    width: calc(100% - 64px);

    max-width: 1400px;

    margin: 0 auto;

    padding: 120px 0 125px;
}


/* =========================================================
LAYOUT
========================================================= */

.dis-final-cta-v2__layout {
    display: grid;

    grid-template-columns:
        minmax(0,1.25fr)
        minmax(340px,0.75fr);

    align-items: center;

    gap: 85px;

    width: 100%;

    margin: 0;
    padding: 0;
}


/* =========================================================
CONTENT
========================================================= */

.dis-final-cta-v2__content {
    width: 100%;

    max-width: 850px;

    margin: 0;
    padding: 0;
}


/* =========================================================
ACCENT
========================================================= */

.dis-final-cta-v2__accent {
    display: flex;

    align-items: center;

    gap: 9px;

    width: 100%;

    margin: 0 0 23px;
}


.dis-final-cta-v2__accent span {
    display: block;

    height: 2px;

    background: #d1a04a;
}


.dis-final-cta-v2__accent span:first-child {
    width: 78px;
}


.dis-final-cta-v2__accent span:last-child {
    width: 24px;
}


.dis-final-cta-v2__accent i {
    display: block;

    width: 8px;
    height: 8px;

    border: 1px solid #d1a04a;

    transform: rotate(45deg);
}


/* =========================================================
HEADING
========================================================= */

.dis-final-cta-v2 .dis-final-cta-v2__title,
.dis-final-cta-v2 h2.dis-final-cta-v2__title {
    width: 100%;

    margin: 0;
    padding: 0;

    color: #ffffff;

    font-family: "Oswald", Arial, sans-serif;

    font-size:
        clamp(54px, 5vw, 78px);

    font-weight: 600;

    font-style: normal;

    line-height: 1.03;

    letter-spacing: -0.8px;

    text-align: left;

    text-transform: none;

    text-decoration: none;
}


/* =========================================================
GOLD RULE
========================================================= */

.dis-final-cta-v2__rule {
    display: flex;

    align-items: center;

    gap: 8px;

    width: 100%;

    margin: 27px 0 25px;
}


.dis-final-cta-v2__rule span {
    display: block;

    width: 88px;
    height: 2px;

    background: #d1a04a;
}


.dis-final-cta-v2__rule i {
    display: block;

    width: 7px;
    height: 7px;

    border:
        1px solid #d1a04a;

    transform:
        rotate(45deg);
}


/* =========================================================
BODY COPY
========================================================= */

.dis-final-cta-v2 .dis-final-cta-v2__text,
.dis-final-cta-v2 p.dis-final-cta-v2__text {
    width: 100%;

    max-width: 790px;

    margin: 0;
    padding: 0;

    color:
        rgba(255,255,255,0.82);

    font-family:
        "Montserrat", Arial, sans-serif;

    font-size: 18px;

    font-weight: 400;

    font-style: normal;

    line-height: 1.76;

    letter-spacing: 0;

    text-align: left;

    text-transform: none;
}


/* =========================================================
CONTACT LINE
========================================================= */

.dis-final-cta-v2 .dis-final-cta-v2__contact-line,
.dis-final-cta-v2 p.dis-final-cta-v2__contact-line {
    width: 100%;

    margin: 22px 0 0;

    padding: 0;

    color: #ffffff;

    font-family:
        "Montserrat", Arial, sans-serif;

    font-size: 17px;

    font-weight: 600;

    line-height: 1.55;

    letter-spacing: 0;
}


/* =========================================================
BUTTON AREA
========================================================= */

.dis-final-cta-v2__actions {
    display: flex;

    align-items: stretch;

    flex-wrap: wrap;

    gap: 14px;

    width: 100%;

    margin: 37px 0 0;
}


/* =========================================================
BUTTON BASE
========================================================= */

.dis-final-cta-v2 .dis-final-cta-v2__button,
.dis-final-cta-v2 .dis-final-cta-v2__button:link,
.dis-final-cta-v2 .dis-final-cta-v2__button:visited {
    display: inline-flex;

    align-items: stretch;

    min-height: 62px;

    margin: 0;

    padding: 0;

    overflow: hidden;

    border-radius: 0;

    font-family:
        "Montserrat", Arial, sans-serif;

    font-size: 15px;

    font-weight: 700;

    line-height: 1.2;

    letter-spacing: 0.1px;

    text-decoration: none;

    transition:
        transform 240ms ease,
        background-color 240ms ease,
        border-color 240ms ease,
        color 240ms ease;
}


/* =========================================================
GOLD BUTTON
========================================================= */

.dis-final-cta-v2__button--gold {
    background:
        #d1a04a;

    border:
        1px solid #d1a04a;

    color:
        #1b2023;
}


.dis-final-cta-v2__button--gold:hover {
    background:
        #e1b45f;

    border-color:
        #e1b45f;

    color:
        #1b2023;

    transform:
        translateY(-2px);
}


/* =========================================================
OUTLINE BUTTON
========================================================= */

.dis-final-cta-v2__button--outline {
    background:
        rgba(255,255,255,0.045);

    border:
        1px solid rgba(255,255,255,0.28);

    color:
        #ffffff;

    backdrop-filter:
        blur(5px);

    -webkit-backdrop-filter:
        blur(5px);
}


.dis-final-cta-v2__button--outline:hover {
    background:
        #ffffff;

    border-color:
        #ffffff;

    color:
        #20262a;

    transform:
        translateY(-2px);
}


/* =========================================================
BUTTON ICON
========================================================= */

.dis-final-cta-v2__button-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    flex: 0 0 58px;

    width: 58px;

    min-height: 60px;

    border-right:
        1px solid rgba(31,36,39,0.16);
}


.dis-final-cta-v2__button--outline
.dis-final-cta-v2__button-icon {
    border-right-color:
        rgba(255,255,255,0.18);
}


.dis-final-cta-v2__button-icon i {
    font-size: 16px;
}


.dis-final-cta-v2__button--gold
.dis-final-cta-v2__button-icon i {
    color: #1c2124;
}


.dis-final-cta-v2__button--outline
.dis-final-cta-v2__button-icon i {
    color: #e0b35e;
}


.dis-final-cta-v2__button--outline:hover
.dis-final-cta-v2__button-icon {
    border-right-color:
        rgba(31,36,39,0.15);
}


.dis-final-cta-v2__button--outline:hover
.dis-final-cta-v2__button-icon i {
    color: #b67f2d;
}


/* =========================================================
BUTTON TEXT
========================================================= */

.dis-final-cta-v2__button-text {
    display: flex;

    align-items: center;

    padding: 0 20px;

    color: inherit;

    white-space: nowrap;
}


/* =========================================================
ARROW
========================================================= */

.dis-final-cta-v2__button-arrow {
    display: flex;

    align-items: center;
    justify-content: center;

    flex: 0 0 42px;

    width: 42px;

    padding-right: 15px;
}


.dis-final-cta-v2__button-arrow svg {
    display: block;

    width: 17px;
    height: 17px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.7;

    stroke-linecap: round;

    stroke-linejoin: round;

    transition:
        transform 220ms ease;
}


.dis-final-cta-v2__button:hover
.dis-final-cta-v2__button-arrow svg {
    transform:
        translateX(3px);
}


/* =========================================================
RIGHT VISUAL
========================================================= */

.dis-final-cta-v2__visual {
    display: flex;

    align-items: center;
    justify-content: flex-end;

    width: 100%;

    margin: 0;
    padding: 0;
}


/* =========================================================
VISUAL CARD
========================================================= */

.dis-final-cta-v2__visual-card {
    position: relative;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 370px;
    height: 405px;

    margin: 0;

    padding: 45px;

    overflow: hidden;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,0.085),
            rgba(255,255,255,0.02)
        );

    border:
        1px solid rgba(255,255,255,0.21);

    backdrop-filter:
        blur(8px);

    -webkit-backdrop-filter:
        blur(8px);

    box-shadow:
        0 35px 80px rgba(0,0,0,0.20);
}


/* =========================================================
RINGS
========================================================= */

.dis-final-cta-v2__ring {
    position: absolute;

    z-index: 1;

    display: block;

    top: 50%;
    left: 50%;

    border-radius: 50%;

    transform:
        translate(-50%,-56%);
}


.dis-final-cta-v2__ring--outer {
    width: 285px;
    height: 285px;

    border:
        1px solid rgba(219,174,95,0.20);
}


.dis-final-cta-v2__ring--inner {
    width: 215px;
    height: 215px;

    border:
        1px solid rgba(219,174,95,0.11);
}


/* =========================================================
CROSS HAIRS
========================================================= */

.dis-final-cta-v2__cross {
    position: absolute;

    z-index: 1;

    display: block;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(219,174,95,0.17),
            transparent
        );
}


.dis-final-cta-v2__cross--h {
    top: 46%;
    left: 42px;

    width:
        calc(100% - 84px);

    height: 1px;
}


.dis-final-cta-v2__cross--v {
    top: 48px;
    left: 50%;

    width: 1px;
    height:
        calc(100% - 96px);

    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(219,174,95,0.14),
            transparent
        );
}


/* =========================================================
IMPLANT IMAGE
========================================================= */

.dis-final-cta-v2__implant {
    position: relative;

    z-index: 3;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

    margin: 0;

    padding: 0;
}


.dis-final-cta-v2__implant img {
    display: block;

    width: auto;
    height: auto;

    max-width: 96%;

    max-height: 235px;

    margin: 0;
    padding: 0;

    object-fit: contain;

    border: 0;
    border-radius: 0;

    filter:
        drop-shadow(
            0 22px 28px rgba(0,0,0,0.28)
        );

    transform:
        translateY(-11px);

    transition:
        transform 700ms cubic-bezier(.2,.75,.25,1);
}


.dis-final-cta-v2__visual-card:hover
.dis-final-cta-v2__implant img {
    transform:
        translateY(-15px)
        scale(1.045);
}


/* =========================================================
GOLD CORNERS
========================================================= */

.dis-final-cta-v2__corner {
    position: absolute;

    z-index: 6;

    width: 76px;
    height: 76px;

    pointer-events: none;
}


.dis-final-cta-v2__corner--tl {
    top: 25px;
    left: 25px;

    border-top:
        2px solid #d1a04a;

    border-left:
        2px solid #d1a04a;
}


.dis-final-cta-v2__corner--br {
    right: 25px;
    bottom: 25px;

    border-right:
        2px solid #d1a04a;

    border-bottom:
        2px solid #d1a04a;
}


/* =========================================================
VISUAL FOOTER
========================================================= */

.dis-final-cta-v2__visual-footer {
    position: absolute;

    z-index: 6;

    left: 43px;
    right: 43px;
    bottom: 33px;

    display: flex;

    align-items: center;

    gap: 10px;
}


.dis-final-cta-v2__visual-lines {
    display: flex;

    align-items: center;

    gap: 8px;
}


.dis-final-cta-v2__visual-lines span {
    display: block;

    height: 1px;

    background:
        #ddb05c;
}


.dis-final-cta-v2__visual-lines span:nth-child(1) {
    width: 68px;
}


.dis-final-cta-v2__visual-lines span:nth-child(2) {
    width: 27px;
}


.dis-final-cta-v2__visual-lines span:nth-child(3) {
    width: 10px;
}


.dis-final-cta-v2__visual-diamond {
    display: block;

    width: 9px;
    height: 9px;

    margin-left: auto;

    border:
        1px solid #ddb05c;

    transform:
        rotate(45deg);
}


/* =========================================================
1200
========================================================= */

@media (max-width: 1200px) {

    .dis-final-cta-v2__container {
        width:
            calc(100% - 48px);

        padding:
            104px 0 110px;
    }


    .dis-final-cta-v2__layout {
        grid-template-columns:
            minmax(0,1.2fr)
            minmax(300px,0.8fr);

        gap: 55px;
    }


    .dis-final-cta-v2__visual-card {
        width: 320px;
        height: 360px;

        padding: 38px;
    }


    .dis-final-cta-v2__ring--outer {
        width: 245px;
        height: 245px;
    }


    .dis-final-cta-v2__ring--inner {
        width: 185px;
        height: 185px;
    }


    .dis-final-cta-v2__implant img {
        max-height:
            200px;
    }

}


/* =========================================================
TABLET
========================================================= */

@media (max-width: 950px) {

    .dis-final-cta-v2__container {
        width:
            calc(100% - 40px);

        padding:
            88px 0 94px;
    }


    .dis-final-cta-v2__layout {
        grid-template-columns:
            1fr;

        gap: 0;
    }


    .dis-final-cta-v2__content {
        max-width:
            850px;
    }


    .dis-final-cta-v2__visual {
        display:
            none;
    }


    .dis-final-cta-v2__overlay {
        background:
            linear-gradient(
                90deg,
                rgba(8,11,13,0.94) 0%,
                rgba(8,11,13,0.83) 70%,
                rgba(8,11,13,0.76) 100%
            );
    }

}


/* =========================================================
MOBILE
========================================================= */

@media (max-width: 767px) {

    .dis-final-cta-v2__container {
        width:
            calc(100% - 36px);

        padding:
            72px 0 76px;
    }


    .dis-final-cta-v2__bg {
        background-position:
            61% center;
    }


    .dis-final-cta-v2__overlay {
        background:
            rgba(9,12,14,0.85);
    }


    .dis-final-cta-v2__accent {
        margin-bottom:
            18px;
    }


    .dis-final-cta-v2__accent span:first-child {
        width: 54px;
    }


    .dis-final-cta-v2__accent span:last-child {
        width: 18px;
    }


    .dis-final-cta-v2
    .dis-final-cta-v2__title,
    .dis-final-cta-v2
    h2.dis-final-cta-v2__title {
        font-size:
            44px;

        line-height:
            1.06;
    }


    .dis-final-cta-v2__rule {
        margin:
            22px 0 21px;
    }


    .dis-final-cta-v2
    .dis-final-cta-v2__text,
    .dis-final-cta-v2
    p.dis-final-cta-v2__text {
        font-size:
            16.5px;

        line-height:
            1.7;
    }


    .dis-final-cta-v2
    .dis-final-cta-v2__contact-line,
    .dis-final-cta-v2
    p.dis-final-cta-v2__contact-line {
        margin-top:
            18px;

        font-size:
            16px;

        line-height:
            1.55;
    }


    /* BUTTONS */

    .dis-final-cta-v2__actions {
        flex-direction:
            column;

        align-items:
            stretch;

        margin-top:
            30px;
    }


    .dis-final-cta-v2
    .dis-final-cta-v2__button {
        width:
            100%;

        min-height:
            60px;
    }


    .dis-final-cta-v2__button-icon {
        flex-basis:
            56px;

        width:
            56px;
    }


    .dis-final-cta-v2__button-text {
        flex:
            1 1 auto;

        padding:
            0 15px;

        white-space:
            normal;
    }

}


/* =========================================================
SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

    .dis-final-cta-v2__container {
        width:
            calc(100% - 30px);
    }


    .dis-final-cta-v2
    .dis-final-cta-v2__title,
    .dis-final-cta-v2
    h2.dis-final-cta-v2__title {
        font-size:
            39px;
    }


    .dis-final-cta-v2
    .dis-final-cta-v2__text,
    .dis-final-cta-v2
    p.dis-final-cta-v2__text {
        font-size:
            16px;
    }


    .dis-final-cta-v2__button-text {
        font-size:
            14px;
    }

}


/* =========================================================
REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .dis-final-cta-v2__button,
    .dis-final-cta-v2__button-arrow svg,
    .dis-final-cta-v2__implant img {
        transition:
            none;
    }


    .dis-final-cta-v2__visual-card:hover
    .dis-final-cta-v2__implant img {
        transform:
            translateY(-11px);
    }

}



/* Client feedback 06: meaningful real-patient visual in place of an implant icon. */
.dis-final-cta-v2 .dis-final-cta-v2__visual-card {
  padding: 0;
  border: 1px solid rgba(226,181,92,.68);
  background: #252d30;
  overflow: hidden;
}
.dis-final-cta-v2 .dis-final-cta-v2__visual-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  background: linear-gradient(180deg,rgba(9,12,14,.02) 52%,rgba(9,12,14,.37) 100%);
}
.dis-final-cta-v2 .dis-final-cta-v2__ring,
.dis-final-cta-v2 .dis-final-cta-v2__cross { display: none; }
.dis-final-cta-v2 .dis-final-cta-v2__implant {
  position: absolute;
  inset: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.dis-final-cta-v2 .dis-final-cta-v2__implant img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  padding: 0;
  object-fit: cover;
  object-position: center 30%;
  transform: none;
  filter: none;
  transition: transform .7s ease;
}
.dis-final-cta-v2 .dis-final-cta-v2__visual-card:hover .dis-final-cta-v2__implant img {
  transform: scale(1.035);
}
.dis-final-cta-v2 .dis-final-cta-v2__visual-card .dis-final-cta-v2__corner,
.dis-final-cta-v2 .dis-final-cta-v2__visual-footer { z-index: 7; }
/* Show the patient photo on smaller screens too; previously this was hidden. */
@media (max-width: 950px) {
  .dis-final-cta-v2 .dis-final-cta-v2__visual {
    display: flex;
    justify-content: flex-start;
    width: 100%;
    margin-top: 32px;
  }
  .dis-final-cta-v2 .dis-final-cta-v2__visual-card {
    width: min(100%, 410px);
    height: 350px;
  }
}
@media (max-width: 420px) {
  .dis-final-cta-v2 .dis-final-cta-v2__visual-card { height: 310px; }
}
@media (prefers-reduced-motion: reduce) {
  .dis-final-cta-v2 .dis-final-cta-v2__implant img { transition: none; }
}
