p, h1, h2, h3, h4, h5{
	font-family: omnes-pro, sans-serif !important;
}

.hero-section {
    position: relative;
    min-height: 100vh;
    overflow: hidden;

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

    padding: 40px;
}

/* VIDEO */
.hero-video {
    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    z-index: 1;
}

/* DARK OVERLAY */
.hero-overlay {
    position: absolute;

    inset: 0;

    background: rgba(0, 0, 0, 0.45);

    z-index: 2;
}

/* CONTENT */
.hero-content {
    position: relative;
    z-index: 3;

    text-align: center;
    max-width: 1200px;
}

/* SUBTITLE */
.hero-subtitle {
    display: inline-block;

    color: white;
    font-size: 14px;
    letter-spacing: 3px;
    text-transform: uppercase;

    margin-bottom: 20px;
}

/* TITLE */
.hero-content h1 {
	color: #FFF;
	text-align: center;
	font-size: 42px;
	font-style: normal;
	font-weight: 400;
	line-height: 100%; /* 42px */
	letter-spacing: 13.44px;
	text-transform: uppercase;

    margin-bottom: 24px;
}

/* DESCRIPTION */
.hero-content p {
	color: #FFF;
	text-align: center;
	font-size: 22px;
	font-style: normal;
	font-weight: 300;
	line-height: 100%; /* 22px */
	letter-spacing: 7.04px;
	text-transform: uppercase;

    margin-bottom: 32px;
}

/* BUTTON */
.hero-button {
	border: none !important;
/*     border-radius: 5px; */
    width: 250px !important;
    background-color: #000 !important;
    color: #fff !important;
    padding: 14px 34px !important;
    cursor: pointer;
    letter-spacing: 4px;
    font-size: 12px;
    font-family: omnes-pro, sans-serif !important;
    transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}
.hero-button a{
	color: #fff !important;
}

.hero-button:hover {
   transform: translateY(-3px) scale(1.02);
    box-shadow: rgba(0, 0, 0, 0.18) 0px 12px 30px;
}

/* MOBILE */
@media (max-width: 768px) {

    .hero-content h1 {
        font-size: 42px;
    }

    .hero-content p {
        font-size: 18px;
    }

}

/* =========================================
   Expertise Section
   ========================================= */

.expertise-section {
  position: relative;
  overflow: hidden;
  background: #f7f6f4;
  padding: 80px 40px;
	cursor: default; 
}

.dot-bg-canvas {
  position: absolute;
  inset: 0;              /* top/right/bottom/left: 0 */
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}

/* Constrain content width and stack it above the canvas */
.expertise-inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 60px;
}

.expertise-text h2 {
  font-size: clamp(28px, 4vw, 48px);
	font-style: normal;
	font-weight: 300;
	line-height: 100%;
	text-transform: capitalize;
}

.expertise-text h2 strong {
  font-weight: 500;
}

.expertise-text p {
    margin: 0;
    max-width: 500px;
    overflow: hidden;
    color: #000;
    text-overflow: ellipsis;
    white-space: normal;
    font-family: Omnes;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 35px;
}

/* .expertise-media {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  aspect-ratio: 16 / 11;
}

.expertise-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
} */

/* Responsive */
@media (max-width: 768px) {
  .expertise-inner {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .expertise-section {
    padding: 60px 24px;
  }
}

/* =========================================================
   EXPERTISE SLIDER
========================================================= */

.expertise-slider {
    position: relative;

    width: 100%;
}

/* SLIDES WRAPPER */
.expertise-slides {
    position: relative;

    overflow: hidden;
}

/* SINGLE SLIDE */
.expertise-slide {
    position: absolute;

    inset: 0;

    opacity: 0;

    transition: opacity 0.8s ease;

    pointer-events: none;
}

/* ACTIVE */
.expertise-slide.active {
    position: relative;

    opacity: 1;

    pointer-events: auto;
}

/* IMAGE */
.expertise-slide img {
    width: 100%;
    display: block;
	height: 480px;
}

/* PAGINATION */
.expertise-pagination {
    display: flex;

    justify-content: center;
    align-items: center;
    gap: 18px;
    margin-top: 24px;
	position: relative;
    bottom: 50px;
}

/* DOT */
.expertise-dot {
    width: 10px;
    height: 10px;

    border-radius: 50%;
    border: none;
    background: #fff;
    cursor: pointer;
    transition: all 0.3s ease;
	padding: 0;
}

.expertise-dot.active {
    background: #B3B3B3;

    transform: scale(1.15);
}

/* =========================================================
   ADVANTAGE SECTION
========================================================= */

.advantage-section {
    background: #000;
    color: white;
    padding-bottom: 120px;
    overflow: hidden;
}

.advantage-banner {
    position: relative;
    height: 520px;
    padding: 30px;
    overflow: hidden;
}

.advantage-banner img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;
}

/* OVERLAY */
.advantage-overlay {
    position: absolute;
    inset: 0;

    background: rgba(0,0,0,0.28);
}

/* TITLE */
.advantage-banner h2 {
    position: absolute;

    top: 50%;
    left: 50%;

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

    z-index: 2;

    color: #FFF;
    text-align: center;
    font-size: 42px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
    letter-spacing: 13.44px;
    text-transform: uppercase;

    width: 100%;
}

.advantage-grid {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 60px;
    padding: 100px 80px 0;
	
	perspective: 1800px;
}


.advantage-card {

    position: relative;

    padding: 50px 15px;

    border-radius: 28px;

    text-align: center;

    overflow: hidden;

    border: 1px solid transparent;

    background: transparent;

    transition:
        transform 0.45s ease,
        background 0.45s ease,
        border 0.45s ease,
        box-shadow 0.45s ease;

    transform-style: preserve-3d;

    will-change: transform;

    perspective: 1200px;
}

.advantage-card::before {

    content: '';

    position: absolute;

    inset: 0;

    border-radius: inherit;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,0.12),
            rgba(255,255,255,0.03)
        );

    opacity: 0;

    transition: opacity 0.45s ease;

    pointer-events: none;
}

.advantage-card:hover {

    transform:
        perspective(1400px)
        rotateX(12deg)
        rotateY(-6deg)
        translateY(-14px)
        scale(1.03);
	
    background: rgba(255,255,255,0.04);

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

    box-shadow:
        0 20px 60px rgba(0,0,0,0.35),
        inset 0 1px 0 rgba(255,255,255,0.08);

    backdrop-filter: blur(10px);
}

.advantage-card:hover::before {
    opacity: 1;
}

.advantage-card h3,
.advantage-card p,
.advantage-icon-wrap {

    position: relative;

    z-index: 2;

    transform-style: preserve-3d;

    transition: transform 0.45s ease;
}

.advantage-card:hover .advantage-icon-wrap {
    transform: translateZ(90px);
}

.advantage-card:hover h3 {
    transform: translateZ(65px);
}
.advantage-card:hover p {
    transform: translateZ(45px);
}
.advantage-icon-wrap {
    margin-bottom: 32px;

    height: 100%;
    max-height: 95px;

    display: flex;
    justify-content: center;

    animation: saIconFloat 4s ease-in-out infinite;
}


.advantage-icon {
    width: 90px;

    transition:
        transform 0.45s ease,
        filter 0.45s ease;
}

.advantage-card:hover .advantage-icon {

    transform:
        translateY(-4px)
        scale(1.08);

    filter:
        drop-shadow(0 10px 20px rgba(255,255,255,0.15));
}

/* FLOATING ANIMATION */
@keyframes saIconFloat {

    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-10px);
    }

    100% {
        transform: translateY(0px);
    }

}

.advantage-card h3 {
    color: #FFF;
    text-align: center;
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: 121%;
    letter-spacing: 1.68px;

    transition:
        transform 0.4s ease,
        opacity 0.4s ease;
}

.advantage-card:hover h3 {
    transform: translateY(-2px);
}


.advantage-card p {
    overflow: hidden;

    color: #FFF;
    text-align: center;
    text-overflow: ellipsis;

    font-family: Omnes;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;

    transition:
        transform 0.4s ease,
        opacity 0.4s ease;
}

.advantage-card:hover p {

    transform: translateY(-2px);

    opacity: 0.92;
}

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

@media (max-width: 992px) {

    .advantage-grid {
        grid-template-columns: 1fr;

        padding: 80px 24px 0;
    }

    .advantage-banner {
        height: 360px;
    }

    .advantage-banner h2 {
        font-size: 30px;
        letter-spacing: 4px;
    }

}

/* =========================================================
   CONTACT CTA
========================================================= */

.contact-cta-section {
    position: relative;
    padding: 140px 80px;
    overflow: hidden;
}

.contact-cta-container {
    max-width: 1400px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 120px;
    align-items: center;
}

.contact-cta-content {
    position: relative;
    z-index: 2;
}

.contact-subtitle {
    display: block;

    color: #000;

    font-size: 48px;
    font-weight: 300;
    line-height: 0.9;

    letter-spacing: 2px;

    margin-bottom: 12px;
}

.contact-cta-content h2 {
    color: #000;
    font-family: Omnes;
    font-size: 64px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
    text-transform: uppercase;
}
/* =========================================================
   GRAVITY FORMS
========================================================= */

.contact-cta-form-wrap {
    width: 100%;
}

/* REMOVE ALL DEFAULT GF SPACING */
.gform_wrapper,
.gform_wrapper form,
.gform_wrapper .gform-body,
.gform_wrapper .gform_fields {
    margin: 0 !important;
    padding: 0 !important;
}

/* GRID */
.gform_wrapper .gform_fields {

    display: grid !important;

    grid-template-columns: repeat(2, 1fr);

    gap: 18px;
}

/* FULL WIDTH FIELDS */
.gform_wrapper .gfield--width-full,
.gform_wrapper .gfield.full-width {
    grid-column: span 2;
}

/* FIELD WRAPPER */
.gform_wrapper .gfield {
    margin: 0 !important;
    padding: 0 !important;
}

/* INPUTS */
.gform_wrapper input:not([type="submit"]),
.gform_wrapper textarea {
    width: 100% !important;
    border: none !important;
    background: #F4F4F4 !important;
    height: 50px;
    padding: 0 24px !important;
    font-size: 18px !important;
    color: #2F2F2F !important;
    outline: none !important;
    font-family: omnes-pro, sans-serif !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}

/* TEXTAREA */
.gform_wrapper textarea {

    height: 160px !important;

    padding-top: 24px !important;

    resize: none !important;
}

/* FOCUS */
.gform_wrapper input:focus,
.gform_wrapper textarea:focus {

    background: white !important;

    transform: translateY(-2px);

    box-shadow:
        0 10px 30px rgba(0,0,0,0.08);
}

/* PLACEHOLDER */
.gform_wrapper ::placeholder {
    color: rgba(0,0,0,0.5);
}

/* LABELS */
.gform_wrapper label {
    display: none !important;
}

/* BUTTON WRAPPER */
.gform_wrapper .gform_footer {
    margin-top: 24px !important;
    padding: 0 !important;
}

/* BUTTON */
.gform_wrapper .gform_button {

    border: none !important;
    /* border-radius: 5px; */
    width: 250px !important;
    background-color: #000 !important;
    color: #fff !important;
    padding: 14px 34px !important;
    cursor: pointer;
    letter-spacing: 4px;
    font-size: 12px;
    font-family: omnes-pro, sans-serif !important;
	    text-transform: uppercase;
    transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}

/* BUTTON HOVER */
.gform_wrapper .gform_button:hover {

    transform:
        translateY(-3px)
        scale(1.01);

    box-shadow:
        0 14px 30px rgba(0,0,0,0.15);
}

/* VALIDATION */
.gform_wrapper .validation_message {
    font-size: 13px;
    margin-top: 8px;
    color: #d63636;
}

/* HIDE RECAPTCHA BADGE */
.grecaptcha-badge {
    opacity: 0 !important;
    pointer-events: none !important;
}

/* MOBILE */
@media (max-width: 768px) {

    .gform_wrapper .gform_fields {

        grid-template-columns: 1fr;
    }

    .gform_wrapper .gfield--width-full,
    .gform_wrapper .gfield.full-width {

        grid-column: span 1;
    }

    .gform_wrapper textarea {

        height: 220px !important;
    }

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

@media (max-width: 992px) {

    .contact-cta-section {
        padding: 100px 24px;
    }

    .contact-cta-container {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .contact-cta-content h2 {
        font-size: 48px;
    }

    .contact-subtitle {
        font-size: 32px;
    }

    .form-row {
        grid-template-columns: 1fr;
    }
}
/* =========================================================
   THANK YOU PAGE
========================================================= */

.thank-you-hero {

    position: relative;

    min-height: 100vh;

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

    overflow: hidden;
}

.thank-you-bg {

    position: absolute;

    inset: 0;

    z-index: 1;
}
.thank-you-bg img {

    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;
}

.thank-you-hero .hero-overlay {

    position: absolute;

    inset: 0;

    background: rgba(0,0,0,0.45);

    z-index: 2;
}

.thank-you-hero .hero-content {

    position: relative;

    z-index: 3;

    text-align: center;

    max-width: 1200px;

    padding: 0 24px;
}

.hero-subtitle {

    display: inline-block;

    margin-bottom: 24px;

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

    letter-spacing: 6px;

    font-size: 14px;
}

.thank-you-hero h1 {

    color: white;

    margin-bottom: 24px;
}

.thank-you-hero p {

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

    font-size: 20px;

    line-height: 1.6;

    max-width: 1200px;

    margin: 0 auto;
}