
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&amp;family=Gabarito:wght@400..900&amp;family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&amp;display=swap");
:root {
  /* Font Family Variable */
    --heading-font: "Plus Jakarta Sans", sans-serif;
    --body-font: "Gabarito", sans-serif;
  /* Font Size Variable Start */
    --heading-one: clamp(2.5rem, -0.0733rem + 4.5vw, 3.625rem);
    --heading-two: clamp(2rem, 0.7133rem + 2.8846vw, 3rem);
    --heading-three: clamp(1.5rem, 0.3353rem + 2.1661vw, 1.75rem);
    --heading-four: clamp(1.25rem, 0.5569rem + 1.444vw, 1.375rem);
    --heading-five: 1.125rem;
    --heading-six: 1.125rem;
  /* Font Size End */
  /* template main color */
    --main-h: 212;
    --main-s: 95%;
    --main-l: 43%;
    --main: var(--main-h) var(--main-s) var(--main-l);
    --main-two-h: 0;
    --main-two-s: 0%;
    --main-two-l: 13%;
    --main-two: var(--main-two-h) var(--main-two-s) var(--main-two-l);
  /* White Color */
    --white: 0 0% 100%;
    --black: 0 0% 13%;
    --body: 0 0% 48%;
    --primary-new: 249 96% 67%;
    --secondary-new: 40 99% 59%;
    --heading-color: var(--black);
    --body-color: var(--body);
    --translate-x-50: translateX(-50%);
    --translate-y-50: translateY(-50%);
    --size-05: 0.125rem;
    --size-1: 0.25rem;
    --size-105: 0.375rem;
    --size-2: 0.5rem;
    --size-205: 0.625rem;
    --size-3: 0.75rem;
    --size-305: 0.875rem;
    --size-4: 1rem;
    --size-405: 1.125rem;
    --size-5: 1.25rem;
    --size-505: 1.375rem;
    --size-6: 1.5rem;
    --size-605: 1.625rem;
    --size-7: 1.75rem;
    --size-705: 1.875rem;
    --size-8: 2rem;
    --size-9: 2.25rem;
    --size-10: 2.5rem;
    --size-11: 2.75rem;
    --size-12: 3rem;
    --size-13: 3.25rem;
    --size-14: 3.5rem;
    --size-15: 3.75rem;
    --size-16: 4rem;
    --size-17: 4.25rem;
    --main-50: hsl(var(--main-h), var(--main-s), calc(var(--main-l) + (100% - var(--main-l)) * 0.9));
    --main-100: hsl(var(--main-h), var(--main-s), calc(var(--main-l) + (100% - var(--main-l)) * 0.8));
    --main-200: hsl(var(--main-h), var(--main-s), calc(var(--main-l) + (100% - var(--main-l)) * 0.7));
    --main-300: hsl(var(--main-h), var(--main-s), calc(var(--main-l) + (100% - var(--main-l)) * 0.6));
    --main-400: hsl(var(--main-h), var(--main-s), calc(var(--main-l) + (100% - var(--main-l)) * 0.5));
    --main-500: hsl(var(--main-h), var(--main-s), calc(var(--main-l) + (100% - var(--main-l)) * 0.4));
    --main-600: hsl(var(--main-h), var(--main-s), var(--main-l));
    --main-700: hsl(var(--main-h), var(--main-s), calc(var(--main-l) - var(--main-l) * 0.1));
    --main-800: hsl(var(--main-h), var(--main-s), calc(var(--main-l) - var(--main-l) * 0.2));
    --main-900: hsl(var(--main-h), var(--main-s), calc(var(--main-l) - var(--main-l) * 0.3));
    --main-two-50: hsl(var(--main-two-h), var(--main-two-s), calc(var(--main-two-l) + (100% - var(--main-two-l)) * 0.9));
    --main-two-100: hsl(var(--main-two-h), var(--main-two-s), calc(var(--main-two-l) + (100% - var(--main-two-l)) * 0.8));
    --main-two-200: hsl(var(--main-two-h), var(--main-two-s), calc(var(--main-two-l) + (100% - var(--main-two-l)) * 0.7));
    --main-two-300: hsl(var(--main-two-h), var(--main-two-s), calc(var(--main-two-l) + (100% - var(--main-two-l)) * 0.6));
    --main-two-400: hsl(var(--main-two-h), var(--main-two-s), calc(var(--main-two-l) + (100% - var(--main-two-l)) * 0.5));
    --main-two-500: hsl(var(--main-two-h), var(--main-two-s), calc(var(--main-two-l) + (100% - var(--main-two-l)) * 0.4));
    --main-two-600: hsl(var(--main-two-h), var(--main-two-s), var(--main-two-l));
    --main-two-700: hsl(var(--main-two-h), var(--main-two-s), calc(var(--main-two-l) - var(--main-two-l) * 0.1));
    --main-two-800: hsl(var(--main-two-h), var(--main-two-s), calc(var(--main-two-l) - var(--main-two-l) * 0.2));
    --main-two-900: hsl(var(--main-two-h), var(--main-two-s), calc(var(--main-two-l) - var(--main-two-l) * 0.3));
    --neutral-50: #f9fafb;
    --neutral-100: #00000014;
    --neutral-200: #D4D4D4;
    --neutral-300: #d1d5db;
    --neutral-400: #9ca3af;
    --neutral-500: #6b7280;
    --neutral-600: #4b5563;
    --neutral-700: #374151;
    --neutral-800: #1f2937;
    --neutral-900: #111827;
    --neutral-950: #030712;
    --font-xs: 0.75rem;
    --font-sm: 0.875rem;
    --font-base: 1rem;
    --font-lg: 1.125rem;
    --font-xl: 1.25rem;
    --font-2xl: 1.5rem;
    --font-3xl: 1.875rem;
}

.common-accordion .accordion-item {
    border: 1px solid #E6E6E6;
    border-radius: 10px;
    overflow: hidden;
}

.common-accordion .accordion-item:not(:last-child) {
    margin-block-end: 20px;
}

.common-accordion:first-of-type .accordion-button.collapsed {
    border-radius: 5px;
}

.common-accordion:last-of-type .accordion-button.collapsed {
    border-radius: 5px;
}

.common-accordion .accordion-button::after {
    background-image: none;
}

.common-accordion .accordion-button:focus {
    box-shadow: none;
}

.common-accordion .accordion-button:not(.collapsed) {
    background-color: transparent !important;
    box-shadow: none;
}

.common-accordion .accordion-button:not(.collapsed)::after {
    background-image: none;
    color: var(--main-600);
}

.common-accordion .accordion-button[aria-expanded=true] {
    background-color: #000 !important;
    border-radius: 10px !important;
    color: #fff !important;
}

.common-accordion .accordion-button[aria-expanded=true]::after, .common-accordion .accordion-button[aria-expanded=false]::after {
    font-family: "Phosphor";
    font-weight: 400;
    content: "\e32a";
    color: #222222;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    inset-block-start: 50%;
    transform: translateY(-50%);
    inset-inline-end: 16px;
    height: 32px;
    width: 32px;
    text-align: center;
    border: 1px solid #ddd;
    border-radius: 50%;
    font-size: 16px;
}

.common-accordion .accordion-button[aria-expanded=false]::after {
    content: "\e3d4";
}

.common-accordion .accordion-button[aria-expanded=true]::after {
    background-color: #fff !important;
}

.custom-accordion-item__content {
    display: none;
}

.custom-accordion-item.active .custom-accordion-item__content {
    display: block;
}

/* ================================= Accordion Css End =========================== */
/* ========================== Button Css Start =============== */
.btn {
    gap: 12px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background-color: var(--main-600);
    border: 0;
    color: #fff;
    line-height: 1;
    padding: 18px 32px;
    position: relative;
    overflow: hidden;
    border-radius: 50rem;
    z-index: 1;
    transition: 0.2s linear;
}

/* Outline buttons: .btn { border:0 } was wiping Bootstrap .border width */
a.btn.border,
.btn.border {
    border-width: 1px !important;
    border-style: solid !important;
}

a.btn.border-white,
.btn.border-white {
    border-color: #fff !important;
    color: #fff !important;
}

a.btn.border-main-two-600,
.btn.border-main-two-600 {
    border-color: var(--main-two-600) !important;
}

a.btn.text-white,
.btn.text-white {
    color: #fff !important;
}

a.btn.text-main-two-600,
.btn.text-main-two-600 {
    color: var(--main-two-600) !important;
}

.btn:hover, .btn:focus, .btn:focus-visible {
    box-shadow: none !important;
}

.btn:hover, .btn:focus, .btn:active {
    color: #fff !important;
}

/* Dark fill hover ? keep text/icon white */
a.btn.hover-bg-animation-main-two-600:hover,
a.btn.hover-bg-animation-main-two-600:focus,
a.btn.hover-bg-animation-main-two-600:active,
.btn.hover-bg-animation-main-two-600:hover,
.btn.hover-bg-animation-main-two-600:focus,
.btn.hover-bg-animation-main-two-600:active,
a.btn.text-main-two-600.hover-bg-animation-main-two-600:hover,
a.btn.text-main-two-600.hover-bg-animation-main-two-600:focus,
a.btn.text-white.hover-bg-animation-main-two-600:hover,
a.btn.text-white.hover-bg-animation-main-two-600:focus {
    color: #fff !important;
}

a.btn.hover-bg-animation-main-two-600:hover .btn-text,
a.btn.hover-bg-animation-main-two-600:hover .btn-anim__letter,
a.btn.hover-bg-animation-main-two-600:hover .btn-icon-animation,
a.btn.hover-bg-animation-main-two-600:hover i,
.btn.hover-bg-animation-main-two-600:hover .btn-text,
.btn.hover-bg-animation-main-two-600:hover .btn-anim__letter,
.btn.hover-bg-animation-main-two-600:hover .btn-icon-animation,
.btn.hover-bg-animation-main-two-600:hover i {
    color: #fff !important;
}

/* White fill hover ? dark text so it stays readable */
a.btn.hover-bg-animation-white:hover,
a.btn.hover-bg-animation-white:focus,
a.btn.hover-bg-animation-white:active,
.btn.hover-bg-animation-white:hover,
.btn.hover-bg-animation-white:focus,
.btn.hover-bg-animation-white:active,
a.btn.text-white.hover-bg-animation-white:hover,
a.btn.text-white.hover-bg-animation-white:focus,
a.btn.hover-text-heading:hover,
.btn.hover-text-heading:hover {
    color: #111827 !important;
}

a.btn.hover-bg-animation-white:hover .btn-text,
a.btn.hover-bg-animation-white:hover .btn-anim__letter,
a.btn.hover-bg-animation-white:hover .btn-icon-animation,
a.btn.hover-bg-animation-white:hover i,
.btn.hover-bg-animation-white:hover .btn-text,
.btn.hover-bg-animation-white:hover .btn-anim__letter,
.btn.hover-bg-animation-white:hover .btn-icon-animation,
.btn.hover-bg-animation-white:hover i,
a.btn.hover-text-heading:hover .btn-text,
a.btn.hover-text-heading:hover .btn-anim__letter,
a.btn.hover-text-heading:hover .btn-icon-animation,
a.btn.hover-text-heading:hover i {
    color: #111827 !important;
}

.hover-bg-animation {
    position: relative;
}

.hover-bg-animation::before {
    background-color: var(--main-600);
    content: "";
    width: 100%;
    height: 0;
    inset-inline-start: 0;
    bottom: 0;
    position: absolute;
    transition: all 0.5s;
}

.hover-bg-animation:hover::before {
    height: 100%;
}

.hover-bg-animation-main-600::before {
    background-color: var(--main-600);
}

.hover-bg-animation-main-two-600::before {
    background-color: var(--main-two-600);
}

.hover-bg-animation-white::before {
    background-color: hsl(var(--white));
}

.btn:hover .btn-anim__letter {
    transform: translateY(-100%);
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
}

.btn .btn-text {
    height: 20px;
    line-height: 20px;
    overflow: hidden;
    display: block !important;
    z-index: 1;
}

.btn:hover .btn-icon-animation {
    animation: tfLeftToRight 0.5s forwards;
}

@keyframes tfLeftToRight {
    49% {
        transform: translateX(30%);
    }

    50% {
        opacity: 0;
        transform: translateX(-30%);
    }

    51% {
        opacity: 1;
    }
}

.btn .btn-text .btn-anim__letter {
    margin-right: 1px;
    display: inline-block;
    transition: transform 0.5s cubic-bezier(0.76, 0, 0.024, 1);
    -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.76, 0, 0.024, 1);
    -moz-transition: -moz-transform 0.5s cubic-bezier(0.76, 0, 0.024, 1);
}

.btn .btn-text .btn-anim__letter:nth-child(1) {
    transition-delay: 0ms;
    -webkit-transition-delay: 0ms;
    -moz-transition-delay: 0ms;
}

.btn .btn-text .btn-anim__letter:nth-child(2) {
    transition-delay: 30ms;
    -webkit-transition-delay: 30ms;
    -moz-transition-delay: 30ms;
}

.btn .btn-text .btn-anim__letter:nth-child(3) {
    transition-delay: 60ms;
    -webkit-transition-delay: 60ms;
    -moz-transition-delay: 60ms;
}

.btn .btn-text .btn-anim__letter:nth-child(4) {
    transition-delay: 90ms;
    -webkit-transition-delay: 90ms;
    -moz-transition-delay: 90ms;
}

.btn .btn-text .btn-anim__letter:nth-child(5) {
    transition-delay: 120ms;
    -webkit-transition-delay: 120ms;
    -moz-transition-delay: 120ms;
}

.btn .btn-text .btn-anim__letter:nth-child(6) {
    transition-delay: 150ms;
    -webkit-transition-delay: 150ms;
    -moz-transition-delay: 150ms;
}

.btn .btn-text .btn-anim__letter:nth-child(7) {
    transition-delay: 180ms;
    -webkit-transition-delay: 180ms;
    -moz-transition-delay: 180ms;
}

.btn .btn-text .btn-anim__letter:nth-child(8) {
    transition-delay: 210ms;
    -webkit-transition-delay: 210ms;
    -moz-transition-delay: 210ms;
}

.btn .btn-text .btn-anim__letter:nth-child(9) {
    transition-delay: 240ms;
    -webkit-transition-delay: 240ms;
    -moz-transition-delay: 240ms;
}

.btn .btn-text .btn-anim__letter:nth-child(10) {
    transition-delay: 270ms;
    -webkit-transition-delay: 270ms;
    -moz-transition-delay: 270ms;
}

.btn .btn-text .btn-anim__letter:nth-child(11) {
    transition-delay: 300ms;
    -webkit-transition-delay: 300ms;
    -moz-transition-delay: 300ms;
}

.btn .btn-text .btn-anim__letter:nth-child(12) {
    transition-delay: 330ms;
    -webkit-transition-delay: 330ms;
    -moz-transition-delay: 330ms;
}

.btn .btn-text .btn-anim__letter:nth-child(13) {
    transition-delay: 360ms;
    -webkit-transition-delay: 360ms;
    -moz-transition-delay: 360ms;
}

.btn .btn-text .btn-anim__letter:nth-child(14) {
    transition-delay: 390ms;
    -webkit-transition-delay: 390ms;
    -moz-transition-delay: 390ms;
}

.btn .btn-text .btn-anim__letter:nth-child(15) {
    transition-delay: 420ms;
    -webkit-transition-delay: 420ms;
    -moz-transition-delay: 420ms;
}

.btn .btn-text .btn-anim__letter:nth-child(16) {
    transition-delay: 450ms;
    -webkit-transition-delay: 450ms;
    -moz-transition-delay: 450ms;
}

.btn .btn-text .btn-anim__letter:nth-child(17) {
    transition-delay: 480ms;
    -webkit-transition-delay: 480ms;
    -moz-transition-delay: 480ms;
}

.btn .btn-text .btn-anim__letter:nth-child(18) {
    transition-delay: 510ms;
    -webkit-transition-delay: 510ms;
    -moz-transition-delay: 510ms;
}

.btn .btn-text .btn-anim__letter:nth-child(19) {
    transition-delay: 540ms;
    -webkit-transition-delay: 540ms;
    -moz-transition-delay: 540ms;
}

.btn .btn-text .btn-anim__letter:nth-child(20) {
    transition-delay: 570ms;
    -webkit-transition-delay: 570ms;
    -moz-transition-delay: 570ms;
}

.btn .btn-text .btn-anim__letter:nth-child(21) {
    transition-delay: 600ms;
    -webkit-transition-delay: 600ms;
    -moz-transition-delay: 600ms;
}

.btn .btn-text .btn-anim__letter:nth-child(22) {
    transition-delay: 630ms;
    -webkit-transition-delay: 630ms;
    -moz-transition-delay: 630ms;
}

.btn .btn-text .btn-anim__letter:nth-child(23) {
    transition-delay: 660ms;
    -webkit-transition-delay: 660ms;
    -moz-transition-delay: 660ms;
}

.btn .btn-text .btn-anim__letter:nth-child(24) {
    transition-delay: 690ms;
    -webkit-transition-delay: 690ms;
    -moz-transition-delay: 690ms;
}

.btn .btn-text .btn-anim__letter:nth-child(25) {
    transition-delay: 720ms;
    -webkit-transition-delay: 720ms;
    -moz-transition-delay: 720ms;
}

.btn .btn-text .btn-anim__letter:nth-child(26) {
    transition-delay: 750ms;
    -webkit-transition-delay: 750ms;
    -moz-transition-delay: 750ms;
}

.btn .btn-text .btn-anim__letter:nth-child(27) {
    transition-delay: 780ms;
    -webkit-transition-delay: 780ms;
    -moz-transition-delay: 780ms;
}

.btn .btn-text .btn-anim__letter:nth-child(28) {
    transition-delay: 810ms;
    -webkit-transition-delay: 810ms;
    -moz-transition-delay: 810ms;
}

.btn .btn-text .btn-anim__letter:nth-child(29) {
    transition-delay: 840ms;
    -webkit-transition-delay: 840ms;
    -moz-transition-delay: 840ms;
}

.btn .btn-text .btn-anim__letter:nth-child(30) {
    transition-delay: 870ms;
    -webkit-transition-delay: 870ms;
    -moz-transition-delay: 870ms;
}

/* =========================== Button Css End =================== */
/* ================================= Form Css Start =========================== */
.option-bg-white option {
    background: #ffffff;
    color: #000;
}

.select-arrow-white {
    --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

/* input File Start */
.common-file[type=file] {
    line-height: 50px;
    padding: 0;
    position: relative;
}

.common-file[type=file]::file-selector-button {
    border: 1px solid hsl(var(--black)/0.08);
    padding: 4px 6px;
    border-radius: 0.2em;
    background-color: hsl(var(--main)) !important;
    transition: 0.2s linear;
    line-height: 25px;
    position: relative;
    margin-inline-start: 15px;
    color: hsl(var(--body-color)) !important;
}

.common-file[type=file]::file-selector-button:hover {
    background-color: var(--main-600);
    border: 1px solid var(--main-600);
    color: hsl(var(--black));
}

/* input File End */
/* Autofill Css */
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, input:-webkit-autofill:active,
textarea:-webkit-autofill, textarea:-webkit-autofill:hover, textarea:-webkit-autofill:focus, textarea:-webkit-autofill:active {
    -webkit-transition: background-color 5000s ease-in-out 0s;
    transition: background-color 5000s ease-in-out 0s;
}

input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill, textarea:-webkit-autofill, textarea:-webkit-autofill, textarea:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px transparent inset;
    -webkit-text-fill-color: hsl(var(--heading-color)) !important;
    caret-color: hsl(var(--heading-color));
}

/* Autofill Css End */
/* Number Arrow None */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

input[type=number] {
    -moz-appearance: textfield;
}

/* Custom Checkbox & Radio Css Start */
.common-check {
    display: flex;
    align-items: center;
    margin-block-end: 16px;
}

.common-check:last-child {
    margin-block-end: 0;
}

.common-check a {
    display: inline;
}

.common-check.common-radio .form-check-input {
    border-radius: 50%;
}

.common-check.common-radio .form-check-input:checked {
    background-color: transparent !important;
}

.common-check.common-radio .form-check-input:checked::after {
    visibility: visible;
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1);
}

.common-check.common-radio .form-check-input:checked::before {
    display: none;
}

.common-check .form-check-input {
    transition: 0.2s linear;
    box-shadow: none;
    background-color: transparent;
    box-shadow: none !important;
    border: 0;
    position: relative;
    border-radius: 3px;
    width: 18px;
    height: 18px;
    border: 1px solid hsl(var(--black)/0.4);
    cursor: pointer;
    transition: 0.2s linear;
    margin-block-start: 0;
}

.common-check .form-check-input::before {
    position: absolute;
    content: "\e182";
    font-family: "Phosphor";
    font-weight: 900;
    color: hsl(var(--white));
    font-size: 12px;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    transform: translate(-50%, -50%);
    transition: 0.2s linear;
    visibility: hidden;
    opacity: 0;
}

.common-check .form-check-input::after {
    position: absolute;
    content: "";
    inset-block-start: 50%;
    inset-inline-start: 50%;
    -webkit-transform: translate(-50%, -50%) scale(0.2);
    transform: translate(-50%, -50%) scale(0.2);
    width: 10px;
    height: 10px;
    background-color: var(--main-600);
    border-radius: 50%;
    transition: 0.2s linear;
    z-index: 1;
    visibility: hidden;
    opacity: 0;
}

.common-check .form-check-input:checked {
    background-color: hsl(var(--main)) !important;
    border-color: hsl(var(--main)) !important;
    box-shadow: none;
}

.common-check .form-check-input:checked[type=checkbox] {
    background-image: none;
}

.common-check .form-check-input:checked::before {
    visibility: visible;
    opacity: 1;
}

/* Custom Checkbox & Radio Css End */
/* ================================= Form Css End =========================== */
/* ================================= Tab Css Start =========================== */
.common-tab .nav-item .nav-link.active {
    color: hsl(var(--heading-color)) !important;
}

.active-btn-main-primary .nav-link.active {
    background-color: hsl(var(--primary-new)) !important;
}

/* ================================= Tab Css End =========================== */
/* ======================= Common Table Css Start ======================= */
.table > :not(caption) > * > * {
    border-bottom: 0;
}

.table tr th:first-child {
    padding-inline-start: 0;
}

.table tr th:last-child {
    padding-inline-end: 0;
}

.table tr th, .table tr td {
    vertical-align: middle;
}

.table tr th:first-child, .table tr td:first-child {
    text-align: left;
}

.table tr th:last-child, .table tr td:last-child {
    text-align: right;
    padding-inline-end: 0;
}

/* ======================= Common Table Css End ======================= */
/* Toast Message Css start  */
:root {
    --success-600: #16A34A;
  /* Green */
    --danger-600: #DC2626;
  /* Red */
    --warning-600: #D97706;
  /* Amber */
    --info-600: #0284C7;
  /* Sky Blue */
}

#toast-container {
    position: fixed;
    inset-block-start: 20px;
    inset-inline-end: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    z-index: 9999;
}

.toast-message {
    position: relative;
    transition: all 0.5s cubic-bezier(0.68, -0.55, 0.25, 1.35);
    width: 300px;
    transform: translateX(calc(100% + 20px));
    overflow: hidden;
    background-color: #fff;
    border-inline-start: 3px solid var(--success-600);
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    display: inline-block;
    padding-block: 12px;
    padding-inline: 16px;
    border-radius: 6px;
}

.toast-message.active {
    transform: translateX(0);
}

.toast-message.active .progress__bar::before {
    animation: progress-bar 3.5s linear forwards;
    visibility: visible;
    opacity: 1;
}

.toast-message:hover .progress__bar::before {
    animation-play-state: paused;
}

.toast-message__content {
    display: flex;
    align-items: center;
    gap: 16px;
}

.toast-message__icon {
    font-size: 24px;
    color: var(--success-600);
    line-height: 1;
}

.toast-message__title {
    margin-bottom: 0;
    font-size: 18px !important;
}

.toast-message__close {
    background-color: transparent;
    border: 0;
    padding: 0;
    line-height: 1;
    font-size: 16px;
}

.toast-message__text {
    color: #42494f;
    font-size: 14px;
}

.progress__bar {
    position: absolute;
    inset-block-end: 0;
    inset-inline-start: 0;
    height: 3px;
    width: 100%;
    background: #fff;
}

.progress__bar::before {
    content: "";
    position: absolute;
    inset-block-end: 0;
    inset-inline-start: 0;
    height: 100%;
    width: 100%;
    background-color: var(--success-600);
    visibility: hidden;
    opacity: 0;
}

@keyframes progress-bar {
    from {
        width: 100%;
    }

    to {
        width: 0%;
    }
}

.success {
    border-color: var(--success-600);
}

.success .toast-message__icon {
    color: var(--success-600) !important;
}

.success .progress__bar::before {
    background-color: var(--success-600);
}

.danger {
    border-color: var(--danger-600);
}

.danger .toast-message__icon {
    color: var(--danger-600) !important;
}

.danger .progress__bar::before {
    background-color: var(--danger-600);
}

.warning {
    border-color: var(--warning-600);
}

.warning .toast-message__icon {
    color: var(--warning-600) !important;
}

.warning .progress__bar::before {
    background-color: var(--warning-600);
}

.info {
    border-color: var(--info-600);
}

.info .toast-message__icon {
    color: var(--info-600) !important;
}

.info .progress__bar::before {
    background-color: var(--info-600);
}

/* Toast Message Css End  */
.swiper-pagination .swiper-pagination-bullet {
    width: 50px;
    height: 6px;
    background-color: #D9D9D9;
    transition: 0.3s ease-in-out;
    border-radius: 50rem;
    opacity: 1;
}

.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 80px;
    background-color: var(--main-600);
}

.shop-small-thumbs .swiper-slide-thumb-active > div {
    border-color: var(--main-600) !important;
    outline: 3px solid var(--main-600) !important;
}

.shop-small-thumbs .swiper-slide {
    padding: 4px;
}

/* Active slider animation css start */
.active-slider-animate-little-updown {
    transform: translateY(40px);
    visibility: hidden;
    opacity: 0;
}

.active-slider-animate-scalation {
    transform: scale(0.9);
    visibility: hidden;
    opacity: 0;
}

.active-slider-animate-updown {
    transform: translateY(60%);
    visibility: hidden;
    opacity: 0;
    transition-duration: 900ms !important;
}

.transition-bounce {
    transition: cubic-bezier(0.34, 1.44, 0.64, 1);
}

.animated-slider-wrapper .swiper-slide {
    visibility: hidden;
    opacity: 0;
    transition: 0.1s;
}

.animated-slider-wrapper .swiper-slide-active {
    visibility: visible;
    opacity: 1;
}

.animated-slider-wrapper .swiper-slide-active .transition-delay-02 {
    transition-delay: 0.2s !important;
}

.animated-slider-wrapper .swiper-slide-active .transition-delay-03 {
    transition-delay: 0.3s !important;
}

.animated-slider-wrapper .swiper-slide-active .transition-delay-04 {
    transition-delay: 0.4s !important;
}

.animated-slider-wrapper .swiper-slide-active .transition-delay-05 {
    transition-delay: 0.5s !important;
}

.animated-slider-wrapper .swiper-slide-active .transition-delay-06 {
    transition-delay: 0.6s !important;
}

.animated-slider-wrapper .swiper-slide-active .transition-delay-07 {
    transition-delay: 0.7s !important;
}

.animated-slider-wrapper .swiper-slide-active .transition-delay-08 {
    transition-delay: 0.8s !important;
}

.animated-slider-wrapper .swiper-slide-active .transition-delay-09 {
    transition-delay: 0.9s !important;
}

.animated-slider-wrapper .swiper-slide-active .transition-delay-1 {
    transition-delay: 1s !important;
}

.animated-slider-wrapper .swiper-slide-active .transition-delay-12 {
    transition-delay: 1.2s !important;
}

.animated-slider-wrapper .swiper-slide-active .transition-delay-105 {
    transition-delay: 1.5s !important;
}

.animated-slider-wrapper .swiper-slide-active .transition-delay-2 {
    transition-delay: 2s !important;
}

.animated-slider-wrapper .swiper-slide-active .active-slider-animate-little-updown {
    transform: translateY(0px);
    visibility: visible;
    opacity: 1;
}

.animated-slider-wrapper .swiper-slide-active .active-slider-animate-scalation {
    transform: scale(1);
    visibility: visible;
    opacity: 1;
}

.animated-slider-wrapper .swiper-slide-active .active-slider-animate-updown {
    transform: translateY(0);
    visibility: visible;
    opacity: 1;
}

/* Active slider animation css end */
/* ================================= Typography Css Start =========================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--body-font);
    color: hsl(var(--body-color));
    word-break: break-word;
    background-color: hsl(var(--white));
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

p {
    font-weight: 400;
    margin: 0;
    line-height: 1.9375;
}

span {
    display: inline-block;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    margin: 0;
    font-family: var(--heading-font);
    color: hsl(var(--heading-color));
    line-height: 1.2;
    font-weight: 700;
}

h1,
.h1 {
    font-size: var(--heading-one);
}

h2,
.h2 {
    font-size: var(--heading-two);
}

h3,
.h3 {
    font-size: var(--heading-three);
    line-height: 1.35714285;
}

h4,
.h4 {
    font-size: var(--heading-four);
}

h5,
.h5 {
    font-size: var(--heading-five);
    font-family: var(--body-font);
}

h6,
.h6 {
    font-size: var(--heading-six);
    font-family: var(--body-font);
}

h1 > a,
h2 > a,
h3 > a,
h4 > a,
h5 > a,
h6 > a {
    font-weight: inherit;
    font-size: inherit;
    color: inherit;
    transition: 0.2s linear;
    line-height: inherit;
}

h1 > a:hover,
h2 > a:hover,
h3 > a:hover,
h4 > a:hover,
h5 > a:hover,
h6 > a:hover {
    color: var(--main-600);
}

a {
    display: inline-block;
    transition: 0.2s linear;
    text-decoration: none;
    color: #0661e9;
}

a:hover {
    color: #1d72f2;
}

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

select {
    cursor: pointer;
}

ul,
ol {
    padding: 0;
    margin: 0;
    list-style: none;
}

button {
    border: 0;
    background-color: transparent;
}

button:focus {
    outline: none;
    box-shadow: none;
}

input:focus,
input:focus-visible {
    box-shadow: none;
}

/* ================================= Typography Css End =========================== */
/* Bg Image Css Start */
.bg-img {
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    width: 100%;
    height: 100%;
}

/* Bg Image Css End */
/* hover bg class start */
.bg-main-50 {
    background-color: var(--main-50) !important;
}

.bg-main-100 {
    background-color: var(--main-100) !important;
}

.bg-main-200 {
    background-color: var(--main-200) !important;
}

.bg-main-300 {
    background-color: var(--main-300) !important;
}

.bg-main-400 {
    background-color: var(--main-400) !important;
}

.bg-main-500 {
    background-color: var(--main-500) !important;
}

.bg-main-600 {
    background-color: var(--main-600) !important;
}

.bg-main-700 {
    background-color: var(--main-700) !important;
}

.bg-main-800 {
    background-color: var(--main-800) !important;
}

.bg-main-900 {
    background-color: var(--main-900) !important;
}

.bg-main-two-50 {
    background-color: var(--main-two-50) !important;
}

.bg-main-two-100 {
    background-color: var(--main-two-100) !important;
}

.bg-main-two-200 {
    background-color: var(--main-two-200) !important;
}

.bg-main-two-300 {
    background-color: var(--main-two-300) !important;
}

.bg-main-two-400 {
    background-color: var(--main-two-400) !important;
}

.bg-main-two-500 {
    background-color: var(--main-two-500) !important;
}

.bg-main-two-600 {
    background-color: var(--main-two-600) !important;
}

.bg-main-two-700 {
    background-color: var(--main-two-700) !important;
}

.bg-main-two-800 {
    background-color: var(--main-two-800) !important;
}

.bg-main-two-900 {
    background-color: var(--main-two-900) !important;
}

.bg-neutral-50 {
    background-color: var(--neutral-50) !important;
}

.bg-neutral-100 {
    background-color: var(--neutral-100) !important;
}

.bg-neutral-200 {
    background-color: var(--neutral-200) !important;
}

.bg-neutral-300 {
    background-color: var(--neutral-300) !important;
}

.bg-neutral-400 {
    background-color: var(--neutral-400) !important;
}

.bg-neutral-500 {
    background-color: var(--neutral-500) !important;
}

.bg-neutral-600 {
    background-color: var(--neutral-600) !important;
}

.bg-neutral-700 {
    background-color: var(--neutral-700) !important;
}

.bg-neutral-800 {
    background-color: var(--neutral-800) !important;
}

.bg-neutral-900 {
    background-color: var(--neutral-900) !important;
}

.bg-neutral-950 {
    background-color: var(--neutral-950) !important;
}

.hover-bg-main-50:hover {
    background-color: var(--main-50) !important;
}

.hover-bg-main-100:hover {
    background-color: var(--main-100) !important;
}

.hover-bg-main-200:hover {
    background-color: var(--main-200) !important;
}

.hover-bg-main-300:hover {
    background-color: var(--main-300) !important;
}

.hover-bg-main-400:hover {
    background-color: var(--main-400) !important;
}

.hover-bg-main-500:hover {
    background-color: var(--main-500) !important;
}

.hover-bg-main-600:hover {
    background-color: var(--main-600) !important;
}

.hover-bg-main-700:hover {
    background-color: var(--main-700) !important;
}

.hover-bg-main-800:hover {
    background-color: var(--main-800) !important;
}

.hover-bg-main-900:hover {
    background-color: var(--main-900) !important;
}

.hover-bg-main-two-50:hover {
    background-color: var(--main-two-50) !important;
}

.hover-bg-main-two-100:hover {
    background-color: var(--main-two-100) !important;
}

.hover-bg-main-two-200:hover {
    background-color: var(--main-two-200) !important;
}

.hover-bg-main-two-300:hover {
    background-color: var(--main-two-300) !important;
}

.hover-bg-main-two-400:hover {
    background-color: var(--main-two-400) !important;
}

.hover-bg-main-two-500:hover {
    background-color: var(--main-two-500) !important;
}

.hover-bg-main-two-600:hover {
    background-color: var(--main-two-600) !important;
}

.hover-bg-main-two-700:hover {
    background-color: var(--main-two-700) !important;
}

.hover-bg-main-two-800:hover {
    background-color: var(--main-two-800) !important;
}

.hover-bg-main-two-900:hover {
    background-color: var(--main-two-900) !important;
}

.hover-bg-neutral-50:hover {
    background-color: var(--neutral-50) !important;
}

.hover-bg-neutral-100:hover {
    background-color: var(--neutral-100) !important;
}

.hover-bg-neutral-200:hover {
    background-color: var(--neutral-200) !important;
}

.hover-bg-neutral-300:hover {
    background-color: var(--neutral-300) !important;
}

.hover-bg-neutral-400:hover {
    background-color: var(--neutral-400) !important;
}

.hover-bg-neutral-500:hover {
    background-color: var(--neutral-500) !important;
}

.hover-bg-neutral-600:hover {
    background-color: var(--neutral-600) !important;
}

.hover-bg-neutral-700:hover {
    background-color: var(--neutral-700) !important;
}

.hover-bg-neutral-800:hover {
    background-color: var(--neutral-800) !important;
}

.hover-bg-neutral-900:hover {
    background-color: var(--neutral-900) !important;
}

.hover-bg-neutral-950:hover {
    background-color: var(--neutral-950) !important;
}

.hover-bg-white:hover {
    background-color: hsl(var(--white)) !important;
}

.bg-white-08 {
    background-color: hsl(var(--white)/0.08);
}

.bg-white-2 {
    background-color: hsl(var(--white)/0.2);
}

.bg-gradient-sidebar {
    background: linear-gradient(80.26deg, #FFDCE9 25.59%, #DDE5FE 108.77%);
    background: linear-gradient(80.26deg, #ffdce978 25.59%, #dde5fe8a 108.77%);
}

.bg-red-50 {
    background-color: #FF1C6A17;
}

.bg-blue-50 {
    background-color: #1C64FF17;
}

.bg-green-50 {
    background-color: #1CFFA417;
}

.bg-yellow-50 {
    background-color: #FF7B1C17;
}

.bg-navy-black {
    background-color: #110225;
}

.bg-navy-black-light {
    background-color: #241636;
}

.section-bg {
    background-color: #EEF3F4;
}

.bg-pink-50 {
    background-color: #F8EFEA;
}

.bg-slate-100 {
    background-color: #E3EAE5;
}

.product-bg-1 {
    background-color: #E1D2FF;
}

.product-bg-2 {
    background-color: #C6E3FF;
}

.product-bg-3 {
    background-color: #D9D9D9;
}

.product-bg-4 {
    background-color: #FFCDD0;
}

.banner-bg-light {
    background-color: #FCF6F9;
}

.promo-banner-service-bg-one {
    background-color: #E3EAE5;
}

.promo-banner-service-bg-two {
    background-color: #F8EFEA;
}

.bg-primary-new {
    background-color: hsl(var(--primary-new));
}

.hover-bg-primary-new:hover {
    background-color: hsl(var(--primary-new)) !important;
}

.bg-secondary-new {
    background-color: hsl(var(--secondary-new));
}

.bg-pink-600 {
    background-color: #FF4E8D;
}

/* hover bg class end */
.border-main-50 {
    border-color: var(--main-50) !important;
}

.border-main-100 {
    border-color: var(--main-100) !important;
}

.border-main-200 {
    border-color: var(--main-200) !important;
}

.border-main-300 {
    border-color: var(--main-300) !important;
}

.border-main-400 {
    border-color: var(--main-400) !important;
}

.border-main-500 {
    border-color: var(--main-500) !important;
}

.border-main-600 {
    border-color: var(--main-600) !important;
}

.border-main-700 {
    border-color: var(--main-700) !important;
}

.border-main-800 {
    border-color: var(--main-800) !important;
}

.border-main-900 {
    border-color: var(--main-900) !important;
}

.border-main-two-50 {
    border-color: var(--main-two-50) !important;
}

.border-main-two-100 {
    border-color: var(--main-two-100) !important;
}

.border-main-two-200 {
    border-color: var(--main-two-200) !important;
}

.border-main-two-300 {
    border-color: var(--main-two-300) !important;
}

.border-main-two-400 {
    border-color: var(--main-two-400) !important;
}

.border-main-two-500 {
    border-color: var(--main-two-500) !important;
}

.border-main-two-600 {
    border-color: var(--main-two-600) !important;
}

.border-main-two-700 {
    border-color: var(--main-two-700) !important;
}

.border-main-two-800 {
    border-color: var(--main-two-800) !important;
}

.border-main-two-900 {
    border-color: var(--main-two-900) !important;
}

.border-neutral-50 {
    border-color: var(--neutral-50) !important;
}

.border-neutral-100 {
    border-color: var(--neutral-100) !important;
}

.border-neutral-200 {
    border-color: var(--neutral-200) !important;
}

.border-neutral-300 {
    border-color: var(--neutral-300) !important;
}

.border-neutral-400 {
    border-color: var(--neutral-400) !important;
}

.border-neutral-500 {
    border-color: var(--neutral-500) !important;
}

.border-neutral-600 {
    border-color: var(--neutral-600) !important;
}

.border-neutral-700 {
    border-color: var(--neutral-700) !important;
}

.border-neutral-800 {
    border-color: var(--neutral-800) !important;
}

.border-neutral-900 {
    border-color: var(--neutral-900) !important;
}

.border-neutral-950 {
    border-color: var(--neutral-950) !important;
}

.hover-border-main-50:hover {
    border-color: var(--main-50) !important;
}

.hover-border-main-100:hover {
    border-color: var(--main-100) !important;
}

.hover-border-main-200:hover {
    border-color: var(--main-200) !important;
}

.hover-border-main-300:hover {
    border-color: var(--main-300) !important;
}

.hover-border-main-400:hover {
    border-color: var(--main-400) !important;
}

.hover-border-main-500:hover {
    border-color: var(--main-500) !important;
}

.hover-border-main-600:hover {
    border-color: var(--main-600) !important;
}

.hover-border-main-700:hover {
    border-color: var(--main-700) !important;
}

.hover-border-main-800:hover {
    border-color: var(--main-800) !important;
}

.hover-border-main-900:hover {
    border-color: var(--main-900) !important;
}

.hover-border-main-two-50:hover {
    border-color: var(--main-two-50) !important;
}

.hover-border-main-two-100:hover {
    border-color: var(--main-two-100) !important;
}

.hover-border-main-two-200:hover {
    border-color: var(--main-two-200) !important;
}

.hover-border-main-two-300:hover {
    border-color: var(--main-two-300) !important;
}

.hover-border-main-two-400:hover {
    border-color: var(--main-two-400) !important;
}

.hover-border-main-two-500:hover {
    border-color: var(--main-two-500) !important;
}

.hover-border-main-two-600:hover {
    border-color: var(--main-two-600) !important;
}

.hover-border-main-two-700:hover {
    border-color: var(--main-two-700) !important;
}

.hover-border-main-two-800:hover {
    border-color: var(--main-two-800) !important;
}

.hover-border-main-two-900:hover {
    border-color: var(--main-two-900) !important;
}

.hover-border-neutral-50:hover {
    border-color: var(--neutral-50) !important;
}

.hover-border-neutral-100:hover {
    border-color: var(--neutral-100) !important;
}

.hover-border-neutral-200:hover {
    border-color: var(--neutral-200) !important;
}

.hover-border-neutral-300:hover {
    border-color: var(--neutral-300) !important;
}

.hover-border-neutral-400:hover {
    border-color: var(--neutral-400) !important;
}

.hover-border-neutral-500:hover {
    border-color: var(--neutral-500) !important;
}

.hover-border-neutral-600:hover {
    border-color: var(--neutral-600) !important;
}

.hover-border-neutral-700:hover {
    border-color: var(--neutral-700) !important;
}

.hover-border-neutral-800:hover {
    border-color: var(--neutral-800) !important;
}

.hover-border-neutral-900:hover {
    border-color: var(--neutral-900) !important;
}

.hover-border-neutral-950:hover {
    border-color: var(--neutral-950) !important;
}

.focus-border-main-50:focus {
    border-color: var(--main-50) !important;
}

.focus-border-main-100:focus {
    border-color: var(--main-100) !important;
}

.focus-border-main-200:focus {
    border-color: var(--main-200) !important;
}

.focus-border-main-300:focus {
    border-color: var(--main-300) !important;
}

.focus-border-main-400:focus {
    border-color: var(--main-400) !important;
}

.focus-border-main-500:focus {
    border-color: var(--main-500) !important;
}

.focus-border-main-600:focus {
    border-color: var(--main-600) !important;
}

.focus-border-main-700:focus {
    border-color: var(--main-700) !important;
}

.focus-border-main-800:focus {
    border-color: var(--main-800) !important;
}

.focus-border-main-900:focus {
    border-color: var(--main-900) !important;
}

.focus-border-main-two-50:focus {
    border-color: var(--main-two-50) !important;
}

.focus-border-main-two-100:focus {
    border-color: var(--main-two-100) !important;
}

.focus-border-main-two-200:focus {
    border-color: var(--main-two-200) !important;
}

.focus-border-main-two-300:focus {
    border-color: var(--main-two-300) !important;
}

.focus-border-main-two-400:focus {
    border-color: var(--main-two-400) !important;
}

.focus-border-main-two-500:focus {
    border-color: var(--main-two-500) !important;
}

.focus-border-main-two-600:focus {
    border-color: var(--main-two-600) !important;
}

.focus-border-main-two-700:focus {
    border-color: var(--main-two-700) !important;
}

.focus-border-main-two-800:focus {
    border-color: var(--main-two-800) !important;
}

.focus-border-main-two-900:focus {
    border-color: var(--main-two-900) !important;
}

.focus-border-neutral-50:focus {
    border-color: var(--neutral-50) !important;
}

.focus-border-neutral-100:focus {
    border-color: var(--neutral-100) !important;
}

.focus-border-neutral-200:focus {
    border-color: var(--neutral-200) !important;
}

.focus-border-neutral-300:focus {
    border-color: var(--neutral-300) !important;
}

.focus-border-neutral-400:focus {
    border-color: var(--neutral-400) !important;
}

.focus-border-neutral-500:focus {
    border-color: var(--neutral-500) !important;
}

.focus-border-neutral-600:focus {
    border-color: var(--neutral-600) !important;
}

.focus-border-neutral-700:focus {
    border-color: var(--neutral-700) !important;
}

.focus-border-neutral-800:focus {
    border-color: var(--neutral-800) !important;
}

.focus-border-neutral-900:focus {
    border-color: var(--neutral-900) !important;
}

.focus-border-neutral-950:focus {
    border-color: var(--neutral-950) !important;
}

.tw-border-dashed {
    border-style: dashed !important;
}

.border-primary-new {
    border-color: hsl(var(--primary-new)) !important;
}

.focus-border-primary-new:focus {
    border-color: hsl(var(--primary-new)) !important;
}

.border-pink-600 {
    border-color: #FF1C6A !important;
}

.border-white-39 {
    border-color: #ffffff59 !important;
}

.border-white-16 {
    border-color: #ffffff29 !important;
}

.border-transparent {
    border-color: transparent !important;
}

/* Colors class start */
.text-main-50 {
    color: var(--main-50);
}

.text-main-100 {
    color: var(--main-100);
}

.text-main-200 {
    color: var(--main-200);
}

.text-main-300 {
    color: var(--main-300);
}

.text-main-400 {
    color: var(--main-400);
}

.text-main-500 {
    color: var(--main-500);
}

.text-main-600 {
    color: var(--main-600);
}

.text-main-700 {
    color: var(--main-700);
}

.text-main-800 {
    color: var(--main-800);
}

.text-main-900 {
    color: var(--main-900);
}

.text-main-two-50 {
    color: var(--main-two-50);
}

.text-main-two-100 {
    color: var(--main-two-100);
}

.text-main-two-200 {
    color: var(--main-two-200);
}

.text-main-two-300 {
    color: var(--main-two-300);
}

.text-main-two-400 {
    color: var(--main-two-400);
}

.text-main-two-500 {
    color: var(--main-two-500);
}

.text-main-two-600 {
    color: var(--main-two-600);
}

.text-main-two-700 {
    color: var(--main-two-700);
}

.text-main-two-800 {
    color: var(--main-two-800);
}

.text-main-two-900 {
    color: var(--main-two-900);
}

.text-neutral-50 {
    color: var(--neutral-50);
}

.text-neutral-100 {
    color: var(--neutral-100);
}

.text-neutral-200 {
    color: var(--neutral-200);
}

.text-neutral-300 {
    color: var(--neutral-300);
}

.text-neutral-400 {
    color: var(--neutral-400);
}

.text-neutral-500 {
    color: var(--neutral-500);
}

.text-neutral-600 {
    color: var(--neutral-600);
}

.text-neutral-700 {
    color: var(--neutral-700);
}

.text-neutral-800 {
    color: var(--neutral-800);
}

.text-neutral-900 {
    color: var(--neutral-900);
}

.text-neutral-950 {
    color: var(--neutral-950);
}

.text--white {
    color: hsl(var(--white));
}

.text-heading {
    color: hsl(var(--heading-color));
}

.text-body {
    color: hsl(var(--body-color)) !important;
}

.text-main {
    color: var(--main-600);
}

.text-pink-600 {
    color: #FF1C6A;
}

.text-primary-new {
    color: hsl(var(--primary-new));
}

.text-secondary-new {
    color: hsl(var(--secondary-new));
}

.text-body-1 {
    color: #B9B9B9;
}

.text-body-2 {
    color: #989898;
}

.text-body-3 {
    color: #7F7F7F;
}

.text-body-4 {
    color: #666666;
}

.text-body-5 {
    color: #4D4D4D;
}

.text-body-6 {
    color: #4B4B4B;
}

.text-body-7 {
    color: #121535;
}

.text-body-8 {
    color: #121535;
}

.text-body-9 {
    color: #222222;
}

.text-body-10 {
    color: #F2F2F2;
}

.text-body-11 {
    color: #AAAAAA;
}

/* Colors class End */
/* Hover color class start */
.hover-text-main-50:hover {
    color: var(--main-50) !important;
}

.hover-text-main-100:hover {
    color: var(--main-100) !important;
}

.hover-text-main-200:hover {
    color: var(--main-200) !important;
}

.hover-text-main-300:hover {
    color: var(--main-300) !important;
}

.hover-text-main-400:hover {
    color: var(--main-400) !important;
}

.hover-text-main-500:hover {
    color: var(--main-500) !important;
}

.hover-text-main-600:hover {
    color: var(--main-600) !important;
}

.hover-text-main-700:hover {
    color: var(--main-700) !important;
}

.hover-text-main-800:hover {
    color: var(--main-800) !important;
}

.hover-text-main-900:hover {
    color: var(--main-900) !important;
}

.hover-text-main-two-50:hover {
    color: var(--main-two-50) !important;
}

.hover-text-main-two-100:hover {
    color: var(--main-two-100) !important;
}

.hover-text-main-two-200:hover {
    color: var(--main-two-200) !important;
}

.hover-text-main-two-300:hover {
    color: var(--main-two-300) !important;
}

.hover-text-main-two-400:hover {
    color: var(--main-two-400) !important;
}

.hover-text-main-two-500:hover {
    color: var(--main-two-500) !important;
}

.hover-text-main-two-600:hover {
    color: var(--main-two-600) !important;
}

.hover-text-main-two-700:hover {
    color: var(--main-two-700) !important;
}

.hover-text-main-two-800:hover {
    color: var(--main-two-800) !important;
}

.hover-text-main-two-900:hover {
    color: var(--main-two-900) !important;
}

.hover-text-neutral-50:hover {
    color: var(--neutral-50) !important;
}

.hover-text-neutral-100:hover {
    color: var(--neutral-100) !important;
}

.hover-text-neutral-200:hover {
    color: var(--neutral-200) !important;
}

.hover-text-neutral-300:hover {
    color: var(--neutral-300) !important;
}

.hover-text-neutral-400:hover {
    color: var(--neutral-400) !important;
}

.hover-text-neutral-500:hover {
    color: var(--neutral-500) !important;
}

.hover-text-neutral-600:hover {
    color: var(--neutral-600) !important;
}

.hover-text-neutral-700:hover {
    color: var(--neutral-700) !important;
}

.hover-text-neutral-800:hover {
    color: var(--neutral-800) !important;
}

.hover-text-neutral-900:hover {
    color: var(--neutral-900) !important;
}

.hover-text-neutral-950:hover {
    color: var(--neutral-950) !important;
}

/* Text Color */
.hover-text-white:hover {
    color: #fff !important;
}

.hover-text-heading:hover {
    color: hsl(var(--heading-color)) !important;
}

.hover-text-body:hover {
    color: hsl(var(--body-color)) !important;
}

/* Hover color class end */
.cursor-pointer {
    cursor: pointer;
}

.cursor-grab {
    cursor: grab;
}

.focus-outline-0:focus-visible, .focus-outline-0:focus {
    outline: 0 !important;
}

/* ================================= Classes Css Start =========================== */
@media screen and (min-width: 425px) and (max-width: 575px) {
    .col-xs-6 {
        width: 50%;
    }
}

.tw-leading-none {
    line-height: 1;
}

.tw-leading-155 {
    line-height: 1.55;
}

.opacity-05 {
    opacity: 0.05;
}

.opacity-1 {
    opacity: 0.1;
}

.list-disc {
    list-style: disc;
}

.list-decimal {
    list-style: decimal;
}

.google-map iframe {
    filter: grayscale(1);
    min-height: 300px;
}

.aspect-ratio-1 {
    aspect-ratio: 1;
}

/* ================================= Classes Css End =========================== */
/* Font Size Class Start */
.text-inherit {
    font-size: inherit;
}

.text-28-px {
    font-size: clamp(1.5rem, 0.3353rem + 2.1661vw, 1.75rem);
}

.text-34-px {
    font-size: clamp(1.5rem, 0.3353rem + 2.1661vw, 2.125rem);
}

.text-38-px {
    font-size: clamp(1.5rem, 0.3353rem + 2.1661vw, 2.375rem);
}

.text-44-px {
    font-size: clamp(2rem, 0.3353rem + 2.1661vw, 2.75rem);
}

.text-160-px {
    font-size: clamp(6rem, 0.3353rem + 10.1661vw, 10rem);
}

.text-220-px {
    font-size: clamp(8rem, 0.3353rem + 10.1661vw, 13.75rem);
}

@media (max-width: 575px) {
    .text-sm-res-14-px {
        font-size: 14px !important;
    }
}

@media (max-width: 575px) {
    .text-sm-res-24-px {
        font-size: 24px !important;
    }
}

.tw-text-xs {
    font-size: 0.75rem;
}

.tw-text-sm {
    font-size: 0.875rem;
}

.tw-text-base {
    font-size: 1rem;
}

.tw-text-lg {
    font-size: 1.125rem;
}

.tw-text-xl {
    font-size: 1.25rem;
}

.tw-text-2xl {
    font-size: 1.5rem;
}

.tw-text-3xl {
    font-size: 1.875rem;
}

/* Font Size Class End */
.tw-text-05 {
    font-size: 0.125rem;
}

.tw-text-1 {
    font-size: 0.25rem;
}

.tw-text-105 {
    font-size: 0.375rem;
}

.tw-text-2 {
    font-size: 0.5rem;
}

.tw-text-205 {
    font-size: 0.625rem;
}

.tw-text-3 {
    font-size: 0.75rem;
}

.tw-text-305 {
    font-size: 0.875rem;
}

.tw-text-4 {
    font-size: 1rem;
}

.tw-text-405 {
    font-size: 1.125rem;
}

.tw-text-5 {
    font-size: 1.25rem;
}

.tw-text-505 {
    font-size: 1.375rem;
}

.tw-text-6 {
    font-size: 1.5rem;
}

.tw-text-605 {
    font-size: 1.625rem;
}

.tw-text-7 {
    font-size: 1.75rem;
}

.tw-text-705 {
    font-size: 1.875rem;
}

.tw-text-8 {
    font-size: 2rem;
}

.tw-text-9 {
    font-size: 2.25rem;
}

.tw-text-10 {
    font-size: 2.5rem;
}

.tw-text-11 {
    font-size: 2.75rem;
}

.tw-text-12 {
    font-size: 3rem;
}

.tw-text-13 {
    font-size: 3.25rem;
}

.tw-text-14 {
    font-size: 3.5rem;
}

.tw-text-15 {
    font-size: 3.75rem;
}

.tw-text-16 {
    font-size: 4rem;
}

.tw-text-17 {
    font-size: 4.25rem;
}

@media (max-width: 575px) {
    .tw-sm-text-sm {
        font-size: 14px;
    }
}
/* Font Size Class End */
.font-heading {
    font-family: var(--heading-font);
}

.font-body {
    font-family: var(--body-font);
}

/* Height Css Class Start */
.tw-h-05 {
    height: 0.125rem;
}

.tw-h-1 {
    height: 0.25rem;
}

.tw-h-105 {
    height: 0.375rem;
}

.tw-h-2 {
    height: 0.5rem;
}

.tw-h-205 {
    height: 0.625rem;
}

.tw-h-3 {
    height: 0.75rem;
}

.tw-h-305 {
    height: 0.875rem;
}

.tw-h-4 {
    height: 1rem;
}

.tw-h-405 {
    height: 1.125rem;
}

.tw-h-5 {
    height: 1.25rem;
}

.tw-h-505 {
    height: 1.375rem;
}

.tw-h-6 {
    height: 1.5rem;
}

.tw-h-605 {
    height: 1.625rem;
}

.tw-h-7 {
    height: 1.75rem;
}

.tw-h-705 {
    height: 1.875rem;
}

.tw-h-8 {
    height: 2rem;
}

.tw-h-9 {
    height: 2.25rem;
}

.tw-h-10 {
    height: 2.5rem;
}

.tw-h-11 {
    height: 2.75rem;
}

.tw-h-12 {
    height: 3rem;
}

.tw-h-13 {
    height: 3.25rem;
}

.tw-h-14 {
    height: 3.5rem;
}

.tw-h-15 {
    height: 3.75rem;
}

.tw-h-16 {
    height: 4rem;
}

.tw-h-17 {
    height: 4.25rem;
}

.tw-h-px {
    height: 1px;
}

.tw-h-screen {
    height: 100vh;
}

.tw-h-74-px {
    height: 74px;
}

.tw-h-76-px {
    height: 76px;
}

.tw-h-84-px {
    height: 84px;
}

.tw-h-88-px {
    height: 88px;
}

.tw-h-92-px {
    height: 92px;
}

.tw-h-100-px {
    height: 100px;
}

.tw-h-150-px {
    height: 150px;
}

.tw-h-116-px {
    height: 116px;
}

.tw-h-160-px {
    height: 160px;
}

.tw-h-320-px {
    height: 320px;
}

.tw-h-340-px {
    height: 340px !important;
}

.h-unset {
    height: unset;
}

.tw-min-h-184-px {
    min-height: 184px;
}

.tw-min-h-210-px {
    min-height: 210px !important;
}

/* Height Css Class End */
/* Hover animation white css start */
.hover-animation-white {
    position: relative;
    overflow: hidden;
}

.hover-animation-white:after {
    content: "";
    position: absolute;
    width: 250%;
    height: 0%;
    inset-inline-start: 50%;
    inset-block-start: 50%;
    background-color: rgba(255, 255, 255, 0.3);
    transform: translate(-50%, -50%) rotate(-45deg);
    z-index: 1;
}

.hover-animation-white:hover:after {
    height: 250%;
    transition: all 0.6s linear;
    background-color: transparent;
}

/* Hover animation white css end */
/* Gap Css start */
.tw-gap-05 {
    gap: var(--size-05);
}

.tw-gap-1 {
    gap: var(--size-1);
}

.tw-gap-105 {
    gap: var(--size-105);
}

.tw-gap-2 {
    gap: var(--size-2);
}

.tw-gap-205 {
    gap: var(--size-205);
}

.tw-gap-3 {
    gap: var(--size-3);
}

.tw-gap-305 {
    gap: var(--size-305);
}

.tw-gap-4 {
    gap: var(--size-4);
}

.tw-gap-405 {
    gap: var(--size-405);
}

.tw-gap-5 {
    gap: var(--size-5);
}

.tw-gap-505 {
    gap: var(--size-505);
}

.tw-gap-6 {
    gap: var(--size-6);
}

.tw-gap-605 {
    gap: var(--size-605);
}

.tw-gap-7 {
    gap: var(--size-7);
}

.tw-gap-705 {
    gap: var(--size-705);
}

.tw-gap-8 {
    gap: var(--size-8);
}

.tw-gap-9 {
    gap: var(--size-9);
}

.tw-gap-10 {
    gap: var(--size-10);
}

.tw-gap-11 {
    gap: var(--size-11);
}

.tw-gap-12 {
    gap: var(--size-12);
}

.tw-gap-13 {
    gap: var(--size-13);
}

.tw-gap-14 {
    gap: var(--size-14);
}

.tw-gap-15 {
    gap: var(--size-15);
}

.tw-gap-16 {
    gap: var(--size-16);
}

.tw-gap-17 {
    gap: var(--size-17);
}

.tw-gap-40-px {
    gap: clamp(1.5rem, -2.1667rem + 5.3333vw, 2.5rem);
}

.tw-gap-42-px {
    gap: clamp(1.5rem, 0.0938rem + 4.5vw, 2.625rem);
}

.tw-gap-48-px {
    gap: clamp(1.3rem, 0.0938rem + 2vw, 3rem);
}

.tw-gap-52-px {
    gap: clamp(1.3rem, 0.0938rem + 2.4vw, 3.25rem);
}

.tw-gap-56-px {
    gap: clamp(1.5rem, -4.48rem + 7.98vw, 3.5rem);
}

.tw-gap-62-px {
    gap: clamp(1.5rem, -24.8393rem + 28.0952vw, 3.875rem);
}

.tw-gap-74-px {
    gap: clamp(1.5rem, -24.8393rem + 28.0952vw, 4.625rem);
}

.tw-gap-130-px {
    gap: clamp(2.5rem, -21.875rem + 30vw, 8.125rem);
}

/* Gap Css end */
/* ======================== Group Css Start =============================== */
.group:hover .group-hover-text-white {
    color: hsl(var(--white)) !important;
}

.group:hover .group-hover-text-heading {
    color: hsl(var(--black)) !important;
}

.group:hover .group-hover-text-main-600 {
    color: var(--main-600) !important;
}

.group:hover .group-hover-bg-white {
    background-color: hsl(var(--white)) !important;
}

.group:hover .group-hover-bg-main-600 {
    background-color: var(--main-600) !important;
}

.group:hover .group-hover-bg-main-two-600 {
    background-color: var(--main-two-600) !important;
}

.group-hover-text-transition {
    transition: inherit;
}

.tw-invisible {
    visibility: hidden;
}

.text-invert-black {
    filter: brightness(0) invert(0);
}

.group-item:hover .group-hover-item-visible {
    visibility: visible;
}

.group-item:hover .group-hover-item-opacity-1 {
    opacity: 1 !important;
}

.group-item:hover .group-hover-item-mt-0 {
    margin-top: 0;
}

.group-item:hover .group-hover-item-mb-6 {
    margin-bottom: 24px;
}

.group-item:hover .group-hover-item-scale-12 {
    transform: scale(1.2);
}

.group-item:hover .group-hover-item-scale-1 {
    transform: scale(1);
}

.group-item:hover .group-hover-item-translate-x-0 {
    transform: translateX(0);
}

.group-item:hover .group-hover-item-d-block {
    display: block !important;
}

.group-item:hover .group-hover-item-d-none {
    display: none !important;
}

.group-item:hover .group-hover-item-text-invert-white {
    filter: brightness(0) invert(1);
}

.group-item:hover .group-hover-item-text-invert-black {
    filter: brightness(0) invert(0);
}

.group-item:hover .group-hover-item-text-invert-main-600 {
    filter: brightness(1) invert(0);
}

/* ======================== Group Css End =============================== */
/* grid css start */
.grid-cols-2 {
    grid-template-columns: 1fr 1fr;
}

@media (min-width: 425px) {
    .xs-grid-cols-2 {
        grid-template-columns: 1fr 1fr;
    }
}

.grid-col-5 {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

/* grid css end */
/* Inset class start */
.tw-start-0 {
    inset-inline-start: 0;
}

.tw-start-45-percent {
    inset-inline-start: 45%;
}

.tw-start-50 {
    inset-inline-start: 50%;
}

.tw-start-100 {
    inset-inline-start: 100%;
}

.tw-start-75-percent {
    inset-inline-start: 75%;
}

.tw-start-auto {
    inset-inline-start: auto;
}

.tw-end-0 {
    inset-inline-end: 0;
}

.tw-end-100 {
    inset-inline-end: 100%;
}

.tw-end-auto {
    inset-inline-end: auto;
}

/* Inset class End */
/* Line Clamp start */
.line-clamp-1 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1;
}

.line-clamp-2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
}

.line-clamp-3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
}

.line-clamp-4 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 4;
}

/* Line Clamp End */
/* ================================= Margin Css Start =========================== */
.tw-m-05 {
    margin: var(--size-05);
}

.tw-m-1 {
    margin: var(--size-1);
}

.tw-m-105 {
    margin: var(--size-105);
}

.tw-m-2 {
    margin: var(--size-2);
}

.tw-m-205 {
    margin: var(--size-205);
}

.tw-m-3 {
    margin: var(--size-3);
}

.tw-m-305 {
    margin: var(--size-305);
}

.tw-m-4 {
    margin: var(--size-4);
}

.tw-m-405 {
    margin: var(--size-405);
}

.tw-m-5 {
    margin: var(--size-5);
}

.tw-m-505 {
    margin: var(--size-505);
}

.tw-m-6 {
    margin: var(--size-6);
}

.tw-m-605 {
    margin: var(--size-605);
}

.tw-m-7 {
    margin: var(--size-7);
}

.tw-m-705 {
    margin: var(--size-705);
}

.tw-m-8 {
    margin: var(--size-8);
}

.tw-m-9 {
    margin: var(--size-9);
}

.tw-m-10 {
    margin: var(--size-10);
}

.tw-m-11 {
    margin: var(--size-11);
}

.tw-m-12 {
    margin: var(--size-12);
}

.tw-m-13 {
    margin: var(--size-13);
}

.tw-m-14 {
    margin: var(--size-14);
}

.tw-m-15 {
    margin: var(--size-15);
}

.tw-m-16 {
    margin: var(--size-16);
}

.tw-m-17 {
    margin: var(--size-17);
}

.tw-mx-05 {
    margin-inline: var(--size-05);
}

.tw-mx-1 {
    margin-inline: var(--size-1);
}

.tw-mx-105 {
    margin-inline: var(--size-105);
}

.tw-mx-2 {
    margin-inline: var(--size-2);
}

.tw-mx-205 {
    margin-inline: var(--size-205);
}

.tw-mx-3 {
    margin-inline: var(--size-3);
}

.tw-mx-305 {
    margin-inline: var(--size-305);
}

.tw-mx-4 {
    margin-inline: var(--size-4);
}

.tw-mx-405 {
    margin-inline: var(--size-405);
}

.tw-mx-5 {
    margin-inline: var(--size-5);
}

.tw-mx-505 {
    margin-inline: var(--size-505);
}

.tw-mx-6 {
    margin-inline: var(--size-6);
}

.tw-mx-605 {
    margin-inline: var(--size-605);
}

.tw-mx-7 {
    margin-inline: var(--size-7);
}

.tw-mx-705 {
    margin-inline: var(--size-705);
}

.tw-mx-8 {
    margin-inline: var(--size-8);
}

.tw-mx-9 {
    margin-inline: var(--size-9);
}

.tw-mx-10 {
    margin-inline: var(--size-10);
}

.tw-mx-11 {
    margin-inline: var(--size-11);
}

.tw-mx-12 {
    margin-inline: var(--size-12);
}

.tw-mx-13 {
    margin-inline: var(--size-13);
}

.tw-mx-14 {
    margin-inline: var(--size-14);
}

.tw-mx-15 {
    margin-inline: var(--size-15);
}

.tw-mx-16 {
    margin-inline: var(--size-16);
}

.tw-mx-17 {
    margin-inline: var(--size-17);
}

.tw-my-05 {
    margin-block: var(--size-05);
}

.tw-my-1 {
    margin-block: var(--size-1);
}

.tw-my-105 {
    margin-block: var(--size-105);
}

.tw-my-2 {
    margin-block: var(--size-2);
}

.tw-my-205 {
    margin-block: var(--size-205);
}

.tw-my-3 {
    margin-block: var(--size-3);
}

.tw-my-305 {
    margin-block: var(--size-305);
}

.tw-my-4 {
    margin-block: var(--size-4);
}

.tw-my-405 {
    margin-block: var(--size-405);
}

.tw-my-5 {
    margin-block: var(--size-5);
}

.tw-my-505 {
    margin-block: var(--size-505);
}

.tw-my-6 {
    margin-block: var(--size-6);
}

.tw-my-605 {
    margin-block: var(--size-605);
}

.tw-my-7 {
    margin-block: var(--size-7);
}

.tw-my-705 {
    margin-block: var(--size-705);
}

.tw-my-8 {
    margin-block: var(--size-8);
}

.tw-my-9 {
    margin-block: var(--size-9);
}

.tw-my-10 {
    margin-block: var(--size-10);
}

.tw-my-11 {
    margin-block: var(--size-11);
}

.tw-my-12 {
    margin-block: var(--size-12);
}

.tw-my-13 {
    margin-block: var(--size-13);
}

.tw-my-14 {
    margin-block: var(--size-14);
}

.tw-my-15 {
    margin-block: var(--size-15);
}

.tw-my-16 {
    margin-block: var(--size-16);
}

.tw-my-17 {
    margin-block: var(--size-17);
}

.tw-ms-05 {
    margin-inline-start: var(--size-05);
}

.tw-ms-1 {
    margin-inline-start: var(--size-1);
}

.tw-ms-105 {
    margin-inline-start: var(--size-105);
}

.tw-ms-2 {
    margin-inline-start: var(--size-2);
}

.tw-ms-205 {
    margin-inline-start: var(--size-205);
}

.tw-ms-3 {
    margin-inline-start: var(--size-3);
}

.tw-ms-305 {
    margin-inline-start: var(--size-305);
}

.tw-ms-4 {
    margin-inline-start: var(--size-4);
}

.tw-ms-405 {
    margin-inline-start: var(--size-405);
}

.tw-ms-5 {
    margin-inline-start: var(--size-5);
}

.tw-ms-505 {
    margin-inline-start: var(--size-505);
}

.tw-ms-6 {
    margin-inline-start: var(--size-6);
}

.tw-ms-605 {
    margin-inline-start: var(--size-605);
}

.tw-ms-7 {
    margin-inline-start: var(--size-7);
}

.tw-ms-705 {
    margin-inline-start: var(--size-705);
}

.tw-ms-8 {
    margin-inline-start: var(--size-8);
}

.tw-ms-9 {
    margin-inline-start: var(--size-9);
}

.tw-ms-10 {
    margin-inline-start: var(--size-10);
}

.tw-ms-11 {
    margin-inline-start: var(--size-11);
}

.tw-ms-12 {
    margin-inline-start: var(--size-12);
}

.tw-ms-13 {
    margin-inline-start: var(--size-13);
}

.tw-ms-14 {
    margin-inline-start: var(--size-14);
}

.tw-ms-15 {
    margin-inline-start: var(--size-15);
}

.tw-ms-16 {
    margin-inline-start: var(--size-16);
}

.tw-ms-17 {
    margin-inline-start: var(--size-17);
}

.tw-me-05 {
    margin-inline-end: var(--size-05);
}

.tw-me-1 {
    margin-inline-end: var(--size-1);
}

.tw-me-105 {
    margin-inline-end: var(--size-105);
}

.tw-me-2 {
    margin-inline-end: var(--size-2);
}

.tw-me-205 {
    margin-inline-end: var(--size-205);
}

.tw-me-3 {
    margin-inline-end: var(--size-3);
}

.tw-me-305 {
    margin-inline-end: var(--size-305);
}

.tw-me-4 {
    margin-inline-end: var(--size-4);
}

.tw-me-405 {
    margin-inline-end: var(--size-405);
}

.tw-me-5 {
    margin-inline-end: var(--size-5);
}

.tw-me-505 {
    margin-inline-end: var(--size-505);
}

.tw-me-6 {
    margin-inline-end: var(--size-6);
}

.tw-me-605 {
    margin-inline-end: var(--size-605);
}

.tw-me-7 {
    margin-inline-end: var(--size-7);
}

.tw-me-705 {
    margin-inline-end: var(--size-705);
}

.tw-me-8 {
    margin-inline-end: var(--size-8);
}

.tw-me-9 {
    margin-inline-end: var(--size-9);
}

.tw-me-10 {
    margin-inline-end: var(--size-10);
}

.tw-me-11 {
    margin-inline-end: var(--size-11);
}

.tw-me-12 {
    margin-inline-end: var(--size-12);
}

.tw-me-13 {
    margin-inline-end: var(--size-13);
}

.tw-me-14 {
    margin-inline-end: var(--size-14);
}

.tw-me-15 {
    margin-inline-end: var(--size-15);
}

.tw-me-16 {
    margin-inline-end: var(--size-16);
}

.tw-me-17 {
    margin-inline-end: var(--size-17);
}

.tw-mt-05 {
    margin-block-start: var(--size-05);
}

.tw-mt-1 {
    margin-block-start: var(--size-1);
}

.tw-mt-105 {
    margin-block-start: var(--size-105);
}

.tw-mt-2 {
    margin-block-start: var(--size-2);
}

.tw-mt-205 {
    margin-block-start: var(--size-205);
}

.tw-mt-3 {
    margin-block-start: var(--size-3);
}

.tw-mt-305 {
    margin-block-start: var(--size-305);
}

.tw-mt-4 {
    margin-block-start: var(--size-4);
}

.tw-mt-405 {
    margin-block-start: var(--size-405);
}

.tw-mt-5 {
    margin-block-start: var(--size-5);
}

.tw-mt-505 {
    margin-block-start: var(--size-505);
}

.tw-mt-6 {
    margin-block-start: var(--size-6);
}

.tw-mt-605 {
    margin-block-start: var(--size-605);
}

.tw-mt-7 {
    margin-block-start: var(--size-7);
}

.tw-mt-705 {
    margin-block-start: var(--size-705);
}

.tw-mt-8 {
    margin-block-start: var(--size-8);
}

.tw-mt-9 {
    margin-block-start: var(--size-9);
}

.tw-mt-10 {
    margin-block-start: var(--size-10);
}

.tw-mt-11 {
    margin-block-start: var(--size-11);
}

.tw-mt-12 {
    margin-block-start: var(--size-12);
}

.tw-mt-13 {
    margin-block-start: var(--size-13);
}

.tw-mt-14 {
    margin-block-start: var(--size-14);
}

.tw-mt-15 {
    margin-block-start: var(--size-15);
}

.tw-mt-16 {
    margin-block-start: var(--size-16);
}

.tw-mt-17 {
    margin-block-start: var(--size-17);
}

.tw-mb-05 {
    margin-block-end: var(--size-05);
}

.tw-mb-1 {
    margin-block-end: var(--size-1);
}

.tw-mb-105 {
    margin-block-end: var(--size-105);
}

.tw-mb-2 {
    margin-block-end: var(--size-2);
}

.tw-mb-205 {
    margin-block-end: var(--size-205);
}

.tw-mb-3 {
    margin-block-end: var(--size-3);
}

.tw-mb-305 {
    margin-block-end: var(--size-305);
}

.tw-mb-4 {
    margin-block-end: var(--size-4);
}

.tw-mb-405 {
    margin-block-end: var(--size-405);
}

.tw-mb-5 {
    margin-block-end: var(--size-5);
}

.tw-mb-505 {
    margin-block-end: var(--size-505);
}

.tw-mb-6 {
    margin-block-end: var(--size-6);
}

.tw-mb-605 {
    margin-block-end: var(--size-605);
}

.tw-mb-7 {
    margin-block-end: var(--size-7);
}

.tw-mb-705 {
    margin-block-end: var(--size-705);
}

.tw-mb-8 {
    margin-block-end: var(--size-8);
}

.tw-mb-9 {
    margin-block-end: var(--size-9);
}

.tw-mb-10 {
    margin-block-end: var(--size-10);
}

.tw-mb-11 {
    margin-block-end: var(--size-11);
}

.tw-mb-12 {
    margin-block-end: var(--size-12);
}

.tw-mb-13 {
    margin-block-end: var(--size-13);
}

.tw-mb-14 {
    margin-block-end: var(--size-14);
}

.tw-mb-15 {
    margin-block-end: var(--size-15);
}

.tw-mb-16 {
    margin-block-end: var(--size-16);
}

.tw-mb-17 {
    margin-block-end: var(--size-17);
}

.tw-ms-auto {
    margin-inline-start: auto;
}

.tw-me-auto {
    margin-inline-end: auto;
}

.tw-mt-124-px {
    margin-top: 124px;
}

.tw--mt-10-px {
    margin-block-start: -10px;
}

.tw--mt-40-px {
    margin-block-start: -40px;
}

.tw--me-16-px {
    margin-inline-end: -16px;
}

.tw--ms-20-px {
    margin-inline-start: -20px;
}

@media (min-width: 992px) {
    .md-mt-30-px {
        margin-top: 30px;
    }

    .md-mt-60-px {
        margin-top: 60px;
    }

    .md-mt-90-px {
        margin-top: 90px;
    }
}

.my-120 {
    margin-block-start: 60px;
    margin-block-end: 60px;
}

@media (min-width: 576px) {
    .my-120 {
        margin-block-start: 80px;
        margin-block-end: 80px;
    }
}

@media (min-width: 992px) {
    .my-120 {
        margin-block-start: 120px;
        margin-block-end: 120px;
    }
}

.mt-120 {
    margin-block-start: 60px;
}

@media (min-width: 576px) {
    .mt-120 {
        margin-block-start: 80px;
    }
}

@media (min-width: 992px) {
    .mt-120 {
        margin-block-start: 120px;
    }
}

.mb-120 {
    margin-block-end: 60px;
}

@media (min-width: 576px) {
    .mb-120 {
        margin-block-end: 80px;
    }
}

@media (min-width: 992px) {
    .mb-120 {
        margin-block-end: 120px;
    }
}

.mt-60 {
    margin-block-start: 30px;
}

@media (min-width: 576px) {
    .mt-60 {
        margin-block-start: 40px;
    }
}

@media (min-width: 992px) {
    .mt-60 {
        margin-block-start: 60px;
    }
}

.mb-60 {
    margin-block-end: 30px;
}

@media (min-width: 576px) {
    .mb-60 {
        margin-block-end: 40px;
    }
}

@media (min-width: 992px) {
    .mb-60 {
        margin-block-end: 60px;
    }
}
/* ================================= Margin Css End =========================== */
/* Max Height Css Class Start */
.tw-max-h-screen {
    max-height: 100vh;
}

.tw-max-h-670-px {
    max-height: 670px;
}

/* Max Height Css Class End */
/* Max width Css Class Start */
.max-w-810-px {
    max-width: 810px;
}

.max-w-1752-px {
    max-width: 1752px;
}

.max-w-1620-px {
    max-width: 1620px;
}

.max-w-330-px {
    max-width: 330px;
}

.max-w-230-px {
    max-width: 230px;
}

.max-w-180-px {
    max-width: 180px;
}

.max-w-270-px {
    max-width: 270px;
}

.max-w-250-px {
    max-width: 250px;
}

.max-w-380-px {
    max-width: 380px;
}

.max-w-476-px {
    max-width: 520px;
}

.max-w-550-px {
    max-width: 550px;
}

.max-w-500-px {
    max-width: 500px;
}

.max-w-530-px {
    max-width: 530px;
}

.max-w-580-px {
    max-width: 580px;
}

.max-w-400-px {
    max-width: 400px;
}

.max-w-610-px {
    max-width: 610px;
}

.max-w-650-px {
    max-width: 650px;
}

.max-w-790-px {
    max-width: 790px;
}

.max-w-730-px {
    max-width: 730px;
}

.max-w-1050-px {
    max-width: 1050px;
}

.max-w-1100-px {
    max-width: 1100px;
}

.max-w-1720-px {
    max-width: 1720px;
}

.max-w-1760-px {
    max-width: 1760px;
}

.max-w-1840-px {
    max-width: 1840px;
}

.max-w-45-percent {
    max-width: 45%;
}

/* Max width Css Class End */
/* Overlay Start */
.overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    content: "";
    inset-inline-start: 0;
    inset-block-start: 0;
    background-color: #000000bd;
    z-index: 99;
    transition: 0.2s linear;
    visibility: hidden;
    opacity: 0;
    cursor: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVBAMAAABbObilAAAAMFBMVEVMaXH////////////////////////////////////////////////////////////6w4mEAAAAD3RSTlMAlAX+BKLcA5+b6hJ7foD4ZP1OAAAAkUlEQVR4XkWPoQ3CUBQAL4SktoKAbCUjgAKLJZ2ABYosngTJCHSD6joUI6BZgqSoB/+Shqde7sS9x3OGk81fdO+texMtRVTia+TsQtHEUJLdohJfgNNPJHyEJPZTsWLoxShqsWITazEwqePAn69Sw2TUxk1+euPis3EwaXy8RMHSZBIlRcKKnC5hRctjMf57/wJbBlAIs9k1BAAAAABJRU5ErkJggg==), progress;
}

.overlay.show-overlay {
    visibility: visible;
    opacity: 1;
}

.side-overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    content: "";
    inset-inline-start: 0;
    inset-block-start: 0;
    background-color: rgba(8, 12, 10, 0.55);
    z-index: 1040;
    transition: 0.2s linear;
    visibility: hidden;
    opacity: 0;
    cursor: pointer;
}

.side-overlay.show {
    visibility: visible !important;
    opacity: 1 !important;
}

/* Overlay End */
/* ================================= Padding Css Start =========================== */
.tw-p-05 {
    padding: var(--size-05);
}

.tw-p-1 {
    padding: var(--size-1);
}

.tw-p-105 {
    padding: var(--size-105);
}

.tw-p-2 {
    padding: var(--size-2);
}

.tw-p-205 {
    padding: var(--size-205);
}

.tw-p-3 {
    padding: var(--size-3);
}

.tw-p-305 {
    padding: var(--size-305);
}

.tw-p-4 {
    padding: var(--size-4);
}

.tw-p-405 {
    padding: var(--size-405);
}

.tw-p-5 {
    padding: var(--size-5);
}

.tw-p-505 {
    padding: var(--size-505);
}

.tw-p-6 {
    padding: var(--size-6);
}

.tw-p-605 {
    padding: var(--size-605);
}

.tw-p-7 {
    padding: var(--size-7);
}

.tw-p-705 {
    padding: var(--size-705);
}

.tw-p-8 {
    padding: var(--size-8);
}

.tw-p-9 {
    padding: var(--size-9);
}

.tw-p-10 {
    padding: var(--size-10);
}

.tw-p-11 {
    padding: var(--size-11);
}

.tw-p-12 {
    padding: var(--size-12);
}

.tw-p-13 {
    padding: var(--size-13);
}

.tw-p-14 {
    padding: var(--size-14);
}

.tw-p-15 {
    padding: var(--size-15);
}

.tw-p-16 {
    padding: var(--size-16);
}

.tw-p-17 {
    padding: var(--size-17);
}

.tw-px-05 {
    padding-inline: var(--size-05);
}

.tw-px-1 {
    padding-inline: var(--size-1);
}

.tw-px-105 {
    padding-inline: var(--size-105);
}

.tw-px-2 {
    padding-inline: var(--size-2);
}

.tw-px-205 {
    padding-inline: var(--size-205);
}

.tw-px-3 {
    padding-inline: var(--size-3);
}

.tw-px-305 {
    padding-inline: var(--size-305);
}

.tw-px-4 {
    padding-inline: var(--size-4);
}

.tw-px-405 {
    padding-inline: var(--size-405);
}

.tw-px-5 {
    padding-inline: var(--size-5);
}

.tw-px-505 {
    padding-inline: var(--size-505);
}

.tw-px-6 {
    padding-inline: var(--size-6);
}

.tw-px-605 {
    padding-inline: var(--size-605);
}

.tw-px-7 {
    padding-inline: var(--size-7);
}

.tw-px-705 {
    padding-inline: var(--size-705);
}

.tw-px-8 {
    padding-inline: var(--size-8);
}

.tw-px-9 {
    padding-inline: var(--size-9);
}

.tw-px-10 {
    padding-inline: var(--size-10);
}

.tw-px-11 {
    padding-inline: var(--size-11);
}

.tw-px-12 {
    padding-inline: var(--size-12);
}

.tw-px-13 {
    padding-inline: var(--size-13);
}

.tw-px-14 {
    padding-inline: var(--size-14);
}

.tw-px-15 {
    padding-inline: var(--size-15);
}

.tw-px-16 {
    padding-inline: var(--size-16);
}

.tw-px-17 {
    padding-inline: var(--size-17);
}

.tw-py-05 {
    padding-block: var(--size-05);
}

.tw-py-1 {
    padding-block: var(--size-1);
}

.tw-py-105 {
    padding-block: var(--size-105);
}

.tw-py-2 {
    padding-block: var(--size-2);
}

.tw-py-205 {
    padding-block: var(--size-205);
}

.tw-py-3 {
    padding-block: var(--size-3);
}

.tw-py-305 {
    padding-block: var(--size-305);
}

.tw-py-4 {
    padding-block: var(--size-4);
}

.tw-py-405 {
    padding-block: var(--size-405);
}

.tw-py-5 {
    padding-block: var(--size-5);
}

.tw-py-505 {
    padding-block: var(--size-505);
}

.tw-py-6 {
    padding-block: var(--size-6);
}

.tw-py-605 {
    padding-block: var(--size-605);
}

.tw-py-7 {
    padding-block: var(--size-7);
}

.tw-py-705 {
    padding-block: var(--size-705);
}

.tw-py-8 {
    padding-block: var(--size-8);
}

.tw-py-9 {
    padding-block: var(--size-9);
}

.tw-py-10 {
    padding-block: var(--size-10);
}

.tw-py-11 {
    padding-block: var(--size-11);
}

.tw-py-12 {
    padding-block: var(--size-12);
}

.tw-py-13 {
    padding-block: var(--size-13);
}

.tw-py-14 {
    padding-block: var(--size-14);
}

.tw-py-15 {
    padding-block: var(--size-15);
}

.tw-py-16 {
    padding-block: var(--size-16);
}

.tw-py-17 {
    padding-block: var(--size-17);
}

.tw-ps-05 {
    padding-inline-start: var(--size-05);
}

.tw-ps-1 {
    padding-inline-start: var(--size-1);
}

.tw-ps-105 {
    padding-inline-start: var(--size-105);
}

.tw-ps-2 {
    padding-inline-start: var(--size-2);
}

.tw-ps-205 {
    padding-inline-start: var(--size-205);
}

.tw-ps-3 {
    padding-inline-start: var(--size-3);
}

.tw-ps-305 {
    padding-inline-start: var(--size-305);
}

.tw-ps-4 {
    padding-inline-start: var(--size-4);
}

.tw-ps-405 {
    padding-inline-start: var(--size-405);
}

.tw-ps-5 {
    padding-inline-start: var(--size-5);
}

.tw-ps-505 {
    padding-inline-start: var(--size-505);
}

.tw-ps-6 {
    padding-inline-start: var(--size-6);
}

.tw-ps-605 {
    padding-inline-start: var(--size-605);
}

.tw-ps-7 {
    padding-inline-start: var(--size-7);
}

.tw-ps-705 {
    padding-inline-start: var(--size-705);
}

.tw-ps-8 {
    padding-inline-start: var(--size-8);
}

.tw-ps-9 {
    padding-inline-start: var(--size-9);
}

.tw-ps-10 {
    padding-inline-start: var(--size-10);
}

.tw-ps-11 {
    padding-inline-start: var(--size-11);
}

.tw-ps-12 {
    padding-inline-start: var(--size-12);
}

.tw-ps-13 {
    padding-inline-start: var(--size-13);
}

.tw-ps-14 {
    padding-inline-start: var(--size-14);
}

.tw-ps-15 {
    padding-inline-start: var(--size-15);
}

.tw-ps-16 {
    padding-inline-start: var(--size-16);
}

.tw-ps-17 {
    padding-inline-start: var(--size-17);
}

.tw-pe-05 {
    padding-inline-end: var(--size-05);
}

.tw-pe-1 {
    padding-inline-end: var(--size-1);
}

.tw-pe-105 {
    padding-inline-end: var(--size-105);
}

.tw-pe-2 {
    padding-inline-end: var(--size-2);
}

.tw-pe-205 {
    padding-inline-end: var(--size-205);
}

.tw-pe-3 {
    padding-inline-end: var(--size-3);
}

.tw-pe-305 {
    padding-inline-end: var(--size-305);
}

.tw-pe-4 {
    padding-inline-end: var(--size-4);
}

.tw-pe-405 {
    padding-inline-end: var(--size-405);
}

.tw-pe-5 {
    padding-inline-end: var(--size-5);
}

.tw-pe-505 {
    padding-inline-end: var(--size-505);
}

.tw-pe-6 {
    padding-inline-end: var(--size-6);
}

.tw-pe-605 {
    padding-inline-end: var(--size-605);
}

.tw-pe-7 {
    padding-inline-end: var(--size-7);
}

.tw-pe-705 {
    padding-inline-end: var(--size-705);
}

.tw-pe-8 {
    padding-inline-end: var(--size-8);
}

.tw-pe-9 {
    padding-inline-end: var(--size-9);
}

.tw-pe-10 {
    padding-inline-end: var(--size-10);
}

.tw-pe-11 {
    padding-inline-end: var(--size-11);
}

.tw-pe-12 {
    padding-inline-end: var(--size-12);
}

.tw-pe-13 {
    padding-inline-end: var(--size-13);
}

.tw-pe-14 {
    padding-inline-end: var(--size-14);
}

.tw-pe-15 {
    padding-inline-end: var(--size-15);
}

.tw-pe-16 {
    padding-inline-end: var(--size-16);
}

.tw-pe-17 {
    padding-inline-end: var(--size-17);
}

.tw-pt-05 {
    padding-block-start: var(--size-05);
}

.tw-pt-1 {
    padding-block-start: var(--size-1);
}

.tw-pt-105 {
    padding-block-start: var(--size-105);
}

.tw-pt-2 {
    padding-block-start: var(--size-2);
}

.tw-pt-205 {
    padding-block-start: var(--size-205);
}

.tw-pt-3 {
    padding-block-start: var(--size-3);
}

.tw-pt-305 {
    padding-block-start: var(--size-305);
}

.tw-pt-4 {
    padding-block-start: var(--size-4);
}

.tw-pt-405 {
    padding-block-start: var(--size-405);
}

.tw-pt-5 {
    padding-block-start: var(--size-5);
}

.tw-pt-505 {
    padding-block-start: var(--size-505);
}

.tw-pt-6 {
    padding-block-start: var(--size-6);
}

.tw-pt-605 {
    padding-block-start: var(--size-605);
}

.tw-pt-7 {
    padding-block-start: var(--size-7);
}

.tw-pt-705 {
    padding-block-start: var(--size-705);
}

.tw-pt-8 {
    padding-block-start: var(--size-8);
}

.tw-pt-9 {
    padding-block-start: var(--size-9);
}

.tw-pt-10 {
    padding-block-start: var(--size-10);
}

.tw-pt-11 {
    padding-block-start: var(--size-11);
}

.tw-pt-12 {
    padding-block-start: var(--size-12);
}

.tw-pt-13 {
    padding-block-start: var(--size-13);
}

.tw-pt-14 {
    padding-block-start: var(--size-14);
}

.tw-pt-15 {
    padding-block-start: var(--size-15);
}

.tw-pt-16 {
    padding-block-start: var(--size-16);
}

.tw-pt-17 {
    padding-block-start: var(--size-17);
}

.tw-pb-05 {
    padding-block-end: var(--size-05);
}

.tw-pb-1 {
    padding-block-end: var(--size-1);
}

.tw-pb-105 {
    padding-block-end: var(--size-105);
}

.tw-pb-2 {
    padding-block-end: var(--size-2);
}

.tw-pb-205 {
    padding-block-end: var(--size-205);
}

.tw-pb-3 {
    padding-block-end: var(--size-3);
}

.tw-pb-305 {
    padding-block-end: var(--size-305);
}

.tw-pb-4 {
    padding-block-end: var(--size-4);
}

.tw-pb-405 {
    padding-block-end: var(--size-405);
}

.tw-pb-5 {
    padding-block-end: var(--size-5);
}

.tw-pb-505 {
    padding-block-end: var(--size-505);
}

.tw-pb-6 {
    padding-block-end: var(--size-6);
}

.tw-pb-605 {
    padding-block-end: var(--size-605);
}

.tw-pb-7 {
    padding-block-end: var(--size-7);
}

.tw-pb-705 {
    padding-block-end: var(--size-705);
}

.tw-pb-8 {
    padding-block-end: var(--size-8);
}

.tw-pb-9 {
    padding-block-end: var(--size-9);
}

.tw-pb-10 {
    padding-block-end: var(--size-10);
}

.tw-pb-11 {
    padding-block-end: var(--size-11);
}

.tw-pb-12 {
    padding-block-end: var(--size-12);
}

.tw-pb-13 {
    padding-block-end: var(--size-13);
}

.tw-pb-14 {
    padding-block-end: var(--size-14);
}

.tw-pb-15 {
    padding-block-end: var(--size-15);
}

.tw-pb-16 {
    padding-block-end: var(--size-16);
}

.tw-pb-17 {
    padding-block-end: var(--size-17);
}

.tw-p-36-px {
    padding: clamp(1rem, -6.1013rem + 9.4763vw, 2.25rem);
}

.tw-p-44-px {
    padding: clamp(1.5rem, -12.1677rem + 32.9177vw, 2.75rem);
}

.tw-p-40-px {
    padding: clamp(1.5rem, -6.1013rem + 11.4763vw, 2.5rem);
}

.tw-p-48-px {
    padding: clamp(1.5rem, -12.1677rem + 32.9177vw, 3rem);
}

.tw-p-60-px {
    padding: clamp(1.5rem, -12.1677rem + 21.9177vw, 3.75rem);
}

.tw-pe-150-px {
    padding-inline-end: 150px;
}

.tw-pe-100-px {
    padding-inline-end: 100px;
}

.tw-ps-80-px {
    padding-inline-start: clamp(3rem, -6.1013rem + 11.4763vw, 5rem);
}

.tw-ps-40-px {
    padding-inline-start: clamp(1.5rem, -6.1013rem + 11.4763vw, 2.5rem);
}

@media (min-width: 768px) {
    .tw-xl-ps-74-px {
        padding-inline-start: 64px;
    }
}

.tw-px-36-px {
    padding-inline: clamp(1.5rem, -6.1013rem + 9.4763vw, 2.25rem);
}

.tw-px-44-px {
    padding-inline: clamp(1.5rem, -6.1013rem + 9.4763vw, 2.75rem);
}

.tw-px-40-px {
    padding-inline: clamp(1.5rem, -6.1013rem + 11.4763vw, 2.5rem);
}

.tw-px-80-px {
    padding-inline: clamp(2rem, -6.1013rem + 11.4763vw, 5rem);
}

.tw-py-80-px {
    padding-block: clamp(3rem, -6.1013rem + 11.4763vw, 5rem);
}

.tw-pt-100-px {
    padding-top: clamp(3.75rem, -6.1013rem + 9.4763vw, 6.25rem);
}

.tw-pt-48-px {
    padding-top: clamp(1.5rem, -6.1013rem + 9.4763vw, 3rem);
}

.tw-pb-48-px {
    padding-bottom: clamp(1.5rem, -6.1013rem + 9.4763vw, 3rem);
}

@media (min-width: 992px) {
    .lg-pt-100-px {
        padding-top: 100px;
    }
}

@media (min-width: 768px) {
    .md-ps-10 {
        padding-inline-start: 40px;
    }
}

.tw-pb-88-px {
    padding-block-end: 88px;
}

.py-80 {
    padding-block: 80px;
    padding-block: 80px;
}

.pt-80-px {
    padding-block: 80px;
}

.py-120 {
    padding-block-start: 60px;
    padding-block-end: 60px;
}

@media (min-width: 576px) {
    .py-120 {
        padding-block-start: 80px;
        padding-block-end: 80px;
    }
}

@media (min-width: 992px) {
    .py-120 {
        padding-block-start: 120px;
        padding-block-end: 120px;
    }
}

.pt-120 {
    padding-block-start: 60px;
}

@media (min-width: 576px) {
    .pt-120 {
        padding-block-start: 80px;
    }
}

@media (min-width: 992px) {
    .pt-120 {
        padding-block-start: 120px;
    }
}

.pb-120 {
    padding-block-end: 60px;
}

@media (min-width: 576px) {
    .pb-120 {
        padding-block-end: 80px;
    }
}

@media (min-width: 992px) {
    .pb-120 {
        padding-block-end: 120px;
    }
}

.py-60 {
    padding-block-start: 30px;
    padding-block-end: 30px;
}

@media (min-width: 576px) {
    .py-60 {
        padding-block-start: 40px;
        padding-block-end: 40px;
    }
}

@media (min-width: 992px) {
    .py-60 {
        padding-block-start: 60px;
        padding-block-end: 60px;
    }
}

.pt-60 {
    padding-block-start: 30px;
}

@media (min-width: 576px) {
    .pt-60 {
        padding-block-start: 40px;
    }
}

@media (min-width: 992px) {
    .pt-60 {
        padding-block-start: 60px;
    }
}

.pb-60 {
    padding-block-end: 30px;
}

@media (min-width: 576px) {
    .pb-60 {
        padding-block-end: 40px;
    }
}

@media (min-width: 992px) {
    .pb-60 {
        padding-block-end: 60px;
    }
}
/* ================================= Padding Css End =========================== */
/* Placeholder Classes Start */
.tw-placeholder-text-neutral-100::placeholder {
    color: var(--neutral-100);
}

.tw-placeholder-text-neutral-200::placeholder {
    color: var(--neutral-200);
}

.tw-placeholder-text-neutral-300::placeholder {
    color: var(--neutral-300);
}

.tw-placeholder-text-neutral-400::placeholder {
    color: var(--neutral-400);
}

.tw-placeholder-text-neutral-500::placeholder {
    color: var(--neutral-500);
}

.tw-placeholder-text-neutral-600::placeholder {
    color: var(--neutral-600);
}

.tw-placeholder-text-neutral-700::placeholder {
    color: var(--neutral-700);
}

.tw-placeholder-text-neutral-800::placeholder {
    color: var(--neutral-800);
}

.tw-placeholder-text-neutral-900::placeholder {
    color: var(--neutral-900);
}

.focus-tw-placeholder-text-hidden:focus::placeholder {
    opacity: 0;
}

.tw-placeholder-transition-2::placeholder {
    transition: 0.2s linear;
}

/* Placeholder Classes End */
/* Border Radius Css Start */
.tw-rounded {
    border-radius: 0.25rem;
  /* 4px */
}

.tw-rounded-none {
    border-radius: 0px;
}

.tw-rounded-sm {
    border-radius: 0.125rem;
  /* 2px */
}

.tw-rounded-md {
    border-radius: 0.375rem;
  /* 6px */
}

.tw-rounded-lg {
    border-radius: 0.5rem;
  /* 8px */
}

.tw-rounded-xl {
    border-radius: 0.75rem;
  /* 12px */
}

.tw-rounded-2xl {
    border-radius: 1rem;
  /* 16px */
}

.tw-rounded-20-px {
    border-radius: 20px;
  /* 20px */
}

.tw-rounded-3xl {
    border-radius: 1.5rem;
  /* 24px */
}

.tw-rounded-36-px {
    border-radius: 36px;
  /* 36px */
}

.tw-rounded-top-20-px {
    border-radius: 20px 20px 0 0px;
}

.tw-rounded-bottom-20-px {
    border-radius: 0 0 20px 20px;
}

.tw-rounded-left-right-50-px {
    border-radius: 50px 0 50px 0;
}

.tw-rounded-right-bottom-50-px {
    border-radius: 0 50px 0 50px;
}

@media (min-width: 768px) {
    .md-rounded-pill {
        border-radius: 50rem;
    }
}
/* Border Radius Css End */
/* Rotate Css Start */
.tw-hover-rotate-360:hover {
    transform: rotate(260deg);
}

/* Rotate Css End */
/* Hover Scale Css start */
.tw-scale-04 {
    transform: scale(0.4);
}

.tw-scale-08 {
    transform: scale(0.8);
}

.hover-scale-09:hover {
    transform: scale(0.9);
}

.hover-scale-094:hover {
    transform: scale(0.94);
}

.hover-scale-098:hover {
    transform: scale(0.98);
}

.hover-scale-099:hover {
    transform: scale(0.99);
}

.hover-scale-102:hover {
    transform: scale(1.02);
}

.hover-scale-104:hover {
    transform: scale(1.04);
}

.hover-scale-106:hover {
    transform: scale(1.06);
}

.hover-scale-108:hover {
    transform: scale(1.08);
}

.hover-scale-2:hover {
    transform: scale(1.2);
}

.hover-scale-14:hover {
    transform: scale(1.4);
}

.hover-scale-20:hover {
    transform: scale(2);
}

.hover-scale-30:hover {
    transform: scale(3);
}

/* Hover Scale Css End */
/* Active Scale Css End */
.active-scale-09:active {
    transform: scale(0.9);
}

.active-scale-094:active {
    transform: scale(0.94);
}

.active-scale-098:active {
    transform: scale(0.98);
}

.active-scale-102:active {
    transform: scale(1.02);
}

/* Active Scale Css End */
/* Hide Scroll bar Css For Custom Modal */
.scroll-hide {
    position: absolute;
    overflow-y: hidden;
    padding-inline-end: 17px;
    inset-block-start: 0;
    inset-inline-start: 0;
    width: 100%;
}

@media screen and (max-width: 991px) {
    .scroll-hide {
        padding-inline-end: 0;
    }
}

.scroll-hide-sm {
    position: absolute;
    overflow-y: hidden;
    inset-block-start: 0;
    inset-inline-start: 0;
    width: calc(100% - 0px);
}

/* Hide Scroll bar Css For Custom Modal End */
.scroll-sm::-webkit-scrollbar {
    width: 6px;
}

.scroll-sm::-webkit-scrollbar-track {
    background: hsl(var(--white));
}

.scroll-sm::-webkit-scrollbar-thumb {
    background: #e4e4e4;
    background: hsl(var(--white));
    border-radius: 50px;
}

@media (max-width: 992px) {
    .scroll-sm::-webkit-scrollbar-thumb {
        background: #e4e4e4;
    }
}

.scroll-sm::-webkit-scrollbar-thumb:hover {
    background: #c1c1c1 !important;
}

.scroll-sm:hover::-webkit-scrollbar-thumb {
    background: #e4e4e4;
}

.scroll-sm-horizontal::-webkit-scrollbar {
    height: 6px;
}

.scroll-style-main::-webkit-scrollbar {
    width: 4px;
}

.scroll-style-main::-webkit-scrollbar-track {
    background: #D1C8FD;
}

.scroll-style-main::-webkit-scrollbar-thumb {
    background: #735CFC !important;
    border-radius: 50px;
}

.scroll-style-main::-webkit-scrollbar-thumb:hover {
    background: #735CFC !important;
}

/* Box shadow start */
.common-shadow {
    box-shadow: 0 6px 30px 0px #0000000a;
}

.common-shadow-one {
    box-shadow: 9px 10px 87.1px 0px #41071B14;
}

.common-shadow-two {
    box-shadow: 0px 6px 30px 0px #0000000A;
}

.hover-shadow-one:hover {
    box-shadow: 9px 10px 87.1px 0px #41071B14;
}

/* Box shadow End */
/* transition Css Class start */
.tw-transition {
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.tw-transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.transition-timing-linear {
    transition-timing-function: linear;
}

.tw-transition-delay-03 {
    transition-delay: 0.3s;
}

/* transition Css Class End */
.tw-duration-75 {
    transition-duration: 75ms;
}

.tw-duration-100 {
    transition-duration: 100ms;
}

.tw-duration-150 {
    transition-duration: 150ms;
}

.tw-duration-200 {
    transition-duration: 200ms;
}

.tw-duration-300 {
    transition-duration: 300ms;
}

.tw-duration-400 {
    transition-duration: 400ms;
}

.tw-duration-500 {
    transition-duration: 500ms;
}

.tw-duration-600 {
    transition-duration: 600ms;
}

.tw-duration-700 {
    transition-duration: 700ms;
}

/*================================== Translate Css Start ==================================*/
/* Translate X */
.tw-translate-x-50 {
    transform: var(--translate-x-50);
}

.tw--translate-x-full {
    transform: translateX(-100%);
}

.tw--translate-middle {
    transform: var(--translate-x-50) var(--translate-y-50);
}

/* Translate Y */
.tw--translate-y-50 {
    transform: var(--translate-y-50);
}

.active--translate-y-scale-9:active {
    transform: translateY(-4px) scale(0.94);
    transition: 0.06s;
}

.hover--translate-y-05:hover {
    transform: translateY(-2px);
}

.hover--translate-y-1:hover {
    transform: translateY(-4px);
}

.hover--translate-y-2:hover {
    transform: translateY(-8px);
}

.active--translate-y-05:active {
    transform: translateY(-2px);
}

.active--translate-y-1:active {
    transform: translateY(-4px);
}

/* Translate X */
.hover--translate-x-05:hover {
    transform: translateX(-2px);
}

.hover--translate-x-1:hover {
    transform: translateX(-4px);
}

.hover--translate-x-2:hover {
    transform: translateX(-8px);
}

.translate-y--8-px {
    transform: translateY(-8px);
}

/*================================== Translate Css End  ==================================*/
/* Transform Css Start */
.origin-left {
    transform-origin: left;
}

.object-top {
    object-position: top;
}

/* Transform Css End */
/* Text Decoration Start */
.hover-underline:hover {
    text-decoration: underline;
}

.hover-underline-none:hover {
    text-decoration: none;
}

/* Text Decoration End */
/* width Css Class start */
.tw-w-05 {
    width: 0.125rem;
}

.tw-w-1 {
    width: 0.25rem;
}

.tw-w-105 {
    width: 0.375rem;
}

.tw-w-2 {
    width: 0.5rem;
}

.tw-w-205 {
    width: 0.625rem;
}

.tw-w-3 {
    width: 0.75rem;
}

.tw-w-305 {
    width: 0.875rem;
}

.tw-w-4 {
    width: 1rem;
}

.tw-w-405 {
    width: 1.125rem;
}

.tw-w-5 {
    width: 1.25rem;
}

.tw-w-505 {
    width: 1.375rem;
}

.tw-w-6 {
    width: 1.5rem;
}

.tw-w-605 {
    width: 1.625rem;
}

.tw-w-7 {
    width: 1.75rem;
}

.tw-w-705 {
    width: 1.875rem;
}

.tw-w-8 {
    width: 2rem;
}

.tw-w-9 {
    width: 2.25rem;
}

.tw-w-10 {
    width: 2.5rem;
}

.tw-w-11 {
    width: 2.75rem;
}

.tw-w-12 {
    width: 3rem;
}

.tw-w-13 {
    width: 3.25rem;
}

.tw-w-14 {
    width: 3.5rem;
}

.tw-w-15 {
    width: 3.75rem;
}

.tw-w-16 {
    width: 4rem;
}

.tw-w-17 {
    width: 4.25rem;
}

.min-w-max {
    min-width: max-content;
}

.tw-w-px {
    width: 1px;
}

.tw-w-74-px {
    width: 74px;
}

.tw-w-88-px {
    width: 88px;
}

.tw-w-300-px {
    width: 300px;
}

.tw-w-90-px {
    width: 90px;
}

.tw-w-100-px {
    width: 100px;
}

.tw-w-116-px {
    width: 116px;
}

.tw-w-130-px {
    width: 130px;
}

.tw-w-160-px {
    width: 160px;
}

.tw-w-340-px {
    width: 340px;
}

.tw-w-w-max {
    width: max-content;
}

/* width Css Class End */
/* Z index css start */
.tw-z-99 {
    z-index: 99;
}

.tw-z-991 {
    z-index: 991;
}

.tw-z-999 {
    z-index: 999;
}

.tw-hover-z-4:hover {
    z-index: 4 !important;
}

/* Z index css End */
/* ======================== Animation Css Start ==================================== */
/* Raw animations start here */
.animation-item:hover .animate__bounce {
    animation: bounce 1.5s;
}

.animation-item:hover .animate__wobble {
    animation: wobble 1.5s ease-in-out;
}

.animation-item:hover .animate__heartBeat {
    animation: heartbeat 1.5s ease-in-out;
}

.animation-item:hover .animate__flipInY {
    animation: flipInY 1.5s ease-in-out;
}

.animation-item:hover .animate__swing {
    animation: swing 1.5s ease-in-out;
}

@keyframes bounce {
    0%, 20%, 53%, 100% {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }

    40%, 43% {
        -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
        transform: translate3d(0, -30px, 0) scaleY(1.1);
    }

    70% {
        -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
        transform: translate3d(0, -15px, 0) scaleY(1.05);
    }

    80% {
        -webkit-transform: translateZ(0) scaleY(0.95);
        transform: translateZ(0) scaleY(0.95);
        -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    90% {
        -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
        transform: translate3d(0, -4px, 0) scaleY(1.02);
    }
}

@keyframes wobble {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }

    15% {
        -webkit-transform: translate3d(-25%, 0, 0) rotate(-5deg);
        transform: translate3d(-25%, 0, 0) rotate(-5deg);
    }

    30% {
        -webkit-transform: translate3d(20%, 0, 0) rotate(3deg);
        transform: translate3d(20%, 0, 0) rotate(3deg);
    }

    45% {
        -webkit-transform: translate3d(-15%, 0, 0) rotate(-3deg);
        transform: translate3d(-15%, 0, 0) rotate(-3deg);
    }

    60% {
        -webkit-transform: translate3d(10%, 0, 0) rotate(2deg);
        transform: translate3d(10%, 0, 0) rotate(2deg);
    }

    75% {
        -webkit-transform: translate3d(-5%, 0, 0) rotate(-1deg);
        transform: translate3d(-5%, 0, 0) rotate(-1deg);
    }

    100% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
}

@keyframes heartbeat {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    14% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
    }

    28% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    42% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
    }

    70% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes flipInY {
    0% {
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0;
        -webkit-transform: perspective(400px) rotateY(90deg);
        transform: perspective(400px) rotateY(90deg);
    }

    40% {
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        -webkit-transform: perspective(400px) rotateY(-20deg);
        transform: perspective(400px) rotateY(-20deg);
    }

    60% {
        opacity: 1;
        -webkit-transform: perspective(400px) rotateY(10deg);
        transform: perspective(400px) rotateY(10deg);
    }

    80% {
        -webkit-transform: perspective(400px) rotateY(-5deg);
        transform: perspective(400px) rotateY(-5deg);
    }

    100% {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }
}

@keyframes swing {
    20% {
        -webkit-transform: rotate(15deg);
        transform: rotate(15deg);
    }

    40% {
        -webkit-transform: rotate(-10deg);
        transform: rotate(-10deg);
    }

    60% {
        -webkit-transform: rotate(5deg);
        transform: rotate(5deg);
    }

    80% {
        -webkit-transform: rotate(-5deg);
        transform: rotate(-5deg);
    }

    100% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
}

.animation-scalation {
    animation: scalation 8s linear infinite;
}

.animation-upDown {
    animation: animationUpDown 8s linear infinite;
}

.animation-rotate-scale {
    animation: scaleRotate 14s ease-in-out infinite;
}

@keyframes scaleRotate {
    0% {
        transform: scale(1) rotate(0deg);
    }

    25% {
        transform: scale(1.2);
    }

    50% {
        transform: scale(1.2) rotate(180deg);
    }

    75% {
        transform: scale(1.2) rotate(360deg);
    }

    100% {
        transform: scale(1) rotate(360deg);
    }
}

@keyframes scalation {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(0.5);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes animationUpDown {
    0% {
        transform: translateY(0px);
    }

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

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

.animation-delay-1 {
    animation-delay: 1s !important;
}

.animation-delay-2 {
    animation-delay: 2s !important;
}

.animation-delay-3 {
    animation-delay: 3s !important;
}

.animation-rotate-right {
    animation: rotateRight 30s linear infinite;
}

@keyframes rotateRight {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes floatAnimation {
    0% {
        transform: translateY(0);
    }

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

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

.animated-upDown {
    animation: floatAnimation 3s ease-in-out infinite;
}

.left-right-animation {
    animation: 2.6s leftRightAnimation linear infinite;
}

@keyframes leftRightAnimation {
    0% {
        transform: translateX(0px);
    }

    50% {
        transform: translateX(-24px);
    }

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

.scale-animation {
    animation: 4s scaleAnimation linear infinite;
}

@keyframes scaleAnimation {
    0%, 100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.2);
    }
}

.animate__wobble__two {
    animation: wobble 9.4s ease-in-out infinite;
}

/* ======================== Animation Css End ==================================== */
/* Marquee css start */
.marquee {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.js-marquee-wrapper {
    display: flex;
    gap: 64px;
}

.js-marquee {
    display: flex;
    gap: 64px;
    min-width: max-content;
}

/* Marquee css end */
/* Play Animation css start */
.play-button::before {
    position: absolute;
    content: "";
    width: inherit;
    height: inherit;
    background: inherit;
    border-radius: 50%;
    inset-inline-start: 0;
    top: 0;
    z-index: -1;
    -webkit-animation: animate 2.3s ease-out infinite;
    animation: animate 2.3s ease-out infinite;
}

@keyframes animate {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0);
        opacity: 1;
    }

    30% {
        -webkit-transform: scale(0.6);
        transform: scale(0.6);
        opacity: 1;
    }

    60% {
        -webkit-transform: scale(1.5);
        transform: scale(1.5);
        opacity: 0.9;
    }

    100% {
        -webkit-transform: scale(2);
        transform: scale(2);
        opacity: 0;
    }
}
/* Play Animation css end */
.clip-animation {
    width: 100%;
    display: grid;
    align-items: center;
    justify-items: center;
    overflow: hidden;
    position: relative;
}

.clip-animation .clip-animation-img {
    opacity: 0;
    width: 100%;
    height: 100%;
}

.clip-animation > * {
    grid-area: 1/1/2/2;
    width: 100%;
    height: 100%;
    max-height: 100%;
}

.hover-common-underline {
    background-image: linear-gradient(currentColor, currentColor), linear-gradient(currentColor, currentColor);
    background-size: 0 1px, 0 1px;
    background-position: 100% 100%, 0 100%;
    background-repeat: no-repeat;
    transition: background-size 0.3s linear;
    -webkit-transition: all 0.4s ease 0.3s ease-out;
    -moz-transition: all 0.4s ease 0.3s ease-out;
    -ms-transition: all 0.4s ease 0.3s ease-out;
    -o-transition: all 0.4s ease 0.3s ease-out;
    transition: all 0.4s ease 0.3s ease-out;
    display: inline;
}

.hover-common-underline:hover {
    background-size: 0 1px, 100% 1px;
}

/* image double animation css start */
.image-double-animation {
    position: relative;
    overflow: hidden;
}

.image-double-animation__element {
    -webkit-transition: all 500ms ease;
    transition: all 500ms ease;
}

.image-double-animation__element:first-child {
    position: absolute;
    left: 0px;
    top: 0px;
    right: 0px;
    bottom: 0px;
    z-index: 1;
    -webkit-transform: translateX(50%) scaleX(2);
    transform: translateX(50%) scaleX(2);
    opacity: 0;
    -webkit-filter: blur(10px);
    filter: blur(10px);
}

.image-double-animation:hover .image-double-animation__element:first-child {
    -webkit-transform: translateX(0) scaleX(1);
    transform: translateX(0) scaleX(1);
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
}

.image-double-animation:hover .image-double-animation__element:nth-child(2) {
    -webkit-transform: translateX(-50%) scaleX(2);
    transform: translateX(-50%) scaleX(2);
    opacity: 0;
    -webkit-filter: blur(10px);
    filter: blur(10px);
}

/* image double animation css end */
/* ================================= preload Css Start =========================== */
.preloader {
    position: fixed;
    top: 0;
    left: 0;
    background-color: var(--main-600);
    width: 100%;
    height: 100%;
    z-index: 99999;
}

.preloader__text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: clamp(2.4rem, 12vw, 100px);
    z-index: 100;
    color: #fff !important;
    font-family: var(--heading-font) !important;
    font-weight: 700;
    white-space: nowrap;
    width: max-content;
    max-width: none;
    letter-spacing: 0.02em;
    line-height: 1;
    text-align: center;
}

.preloader__text,
.preloader__text .word,
.preloader__text .char,
.preloader__text .top-word-span,
.preloader__text .top-text-span {
    color: #fff !important;
    white-space: nowrap;
}

.preloader__text .char,
.preloader__text .top-text-span {
    display: inline-block;
}

/* Preloader ? mobile phones */
@media (max-width: 414.98px) {
  .preloader__text {
    font-size: 2.85rem;
    letter-spacing: 0.04em;
  }
}

@media (max-width: 375.98px) {
  .preloader__text {
    font-size: 2.55rem;
  }
}

@media (max-width: 360.98px) {
  .preloader__text {
    font-size: 2.35rem;
  }
}

@media (min-width: 415px) and (max-width: 575.98px) {
  .preloader__text {
    font-size: 3.25rem;
  }
}

@media (min-width: 576px) and (max-width: 767.98px) {
  .preloader__text {
    font-size: 4.5rem;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .preloader__text {
    font-size: 5.5rem;
  }
}

.preloader__overlay {
    width: 100%;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
}

.preloader .block {
    position: fixed;
    width: 5.1%;
    height: 100%;
    background: #000;
    transform-origin: left;
}

.preloader .block-1 {
    left: 0;
}

.preloader .block-2 {
    left: 5%;
}

.preloader .block-3 {
    left: 10%;
}

.preloader .block-4 {
    left: 15%;
}

.preloader .block-5 {
    left: 20%;
}

.preloader .block-6 {
    left: 25%;
}

.preloader .block-7 {
    left: 30%;
}

.preloader .block-8 {
    left: 35%;
}

.preloader .block-9 {
    left: 40%;
}

.preloader .block-10 {
    left: 45%;
}

.preloader .block-11 {
    left: 50%;
}

.preloader .block-12 {
    left: 55%;
}

.preloader .block-13 {
    left: 60%;
}

.preloader .block-14 {
    left: 65%;
}

.preloader .block-15 {
    left: 70%;
}

.preloader .block-16 {
    left: 75%;
}

.preloader .block-17 {
    left: 80%;
}

.preloader .block-18 {
    left: 85%;
}

.preloader .block-19 {
    left: 90%;
}

.preloader .block-20 {
    left: 95%;
}

/* ================================= preload Css End ===========================  */
/* ========================== Settings panel css start =========================== */
.settings-button {
    pointer-events: all;
}

.settings-button .close-icon {
    display: none;
}

.settings-button.active .setting-icon {
    display: none;
}

.settings-button.active .close-icon {
    display: block;
}

.settings-panel {
    inset-inline-end: -280px;
    pointer-events: none;
    transition: 0.3s;
}

.settings-panel.active {
    inset-inline-end: 0px !important;
}

.settings-panel.active .settings-panel__content {
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175);
}

.settings-panel__content {
    pointer-events: all;
    width: 280px;
    max-height: 100vh;
    overflow-y: auto;
    transition: inherit;
}

.settings-panel__button.active {
    background-color: var(--main-600) !important;
    color: #fff;
}

.remove-animate-cursor .cursor,
.remove-animate-cursor .dot {
    display: none;
}

.animation-rotate {
    animation: animationRotate 5s linear infinite;
}

@keyframes animationRotate {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}
/* ========================== Settings panel css end =========================== */
/* ============= Header Start Here ======================= */
@media screen and (max-width: 991px) {
    .header {
        padding: 0px 0;
    }
}

.header.fixed-header {
    position: sticky;
    inset-inline-start: 0;
    inset-block-start: 0;
    inset-inline-end: 0;
    width: 100%;
    z-index: 9;
    backdrop-filter: blur(24px);
    animation: slideDown 0.35s ease-out;
    box-shadow: 0 5px 16px rgba(0, 0, 0, 0.1);
}

@media screen and (max-width: 991px) {
    .header.fixed-header {
        inset-block-start: -1px;
    }
}

@keyframes slideDown {
    from {
        transform: translateY(-100%);
    }

    to {
        transform: translateY(0);
    }
}
/* Header Menu and Submenu Css Start */
.nav-menu__item.activePage > a {
    color: var(--main-600) !important;
}

.nav-menu__item.activePage > a::before {
    color: var(--main-600);
}

.nav-menu__item:hover > a {
    color: hsl(var(--heading-color));
}

@media (min-width: 992px) {
    .nav-menu__item:hover > a {
        color: var(--main-600);
    }
}

.has-submenu.active > a,
.has-submenu.active > a::before {
    color: var(--main-600);
}

.has-submenu.active > a::before {
    transform: translateY(-50%) rotate(180deg) !important;
}

.has-submenu:hover .nav-submenu {
    visibility: visible;
    opacity: 1;
    transform: scaleY(1);
}

@media (min-width: 992px) {
    .has-submenu:hover > a::before {
        color: var(--main-600);
        transform: translateY(-50%) rotate(180deg);
    }
}

.has-submenu > a {
    position: relative;
}

.has-submenu > a::before {
    position: absolute;
    content: "\e136";
    inset-inline-end: 0;
    inset-block-start: 50%;
    transform: translateY(-50%);
    font-family: "Phosphor";
    font-weight: 900;
    color: inherit;
    transition: 0.2s linear;
}

/* Submenu Start */
.nav-submenu {
    box-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;
    min-width: 190px;
    visibility: hidden;
    opacity: 0;
    transform: scaleY(0);
    transition: 0.4s ease;
    transform-origin: top center;
}

@media (min-width: 992px) {
    .nav-submenu {
        max-height: 400px;
        overflow-y: auto;
    }
}

.nav-submenu__item.activePage .nav-submenu__link {
    color: var(--main-600) !important;
}

.nav-submenu__item:hover a {
    color: hsl(var(--heading-color));
}

/* Submenu End */
/* Header Menu and Submenu Css End */
.nav-menu__item.activePage {
    color: var(--main-600);
}

@media (min-width: 992px) {
    .nav-menu__item.activePage {
        background-color: var(--main-600);
        color: #fff !important;
        padding-inline-start: 14px;
        padding-inline-end: 18px;
        border-radius: 8px;
        cursor: pointer;
    }

    .nav-menu__item.activePage > a {
        color: inherit !important;
    }

    .nav-menu__item.activePage > a::before {
        color: #fff;
    }
}

.sticky-bg-white.fixed-header {
    background-color: #fff;
}

/* ================================= Header Css End =========================== */
/* Mega menu css start */
.mega-menu {
    position: absolute;
    inset-block-start: 100%;
    background-color: #fff;
    width: 100%;
    inset-inline-start: 0;
    z-index: 99;
    box-shadow: 0px 20px 30px rgba(1, 15, 28, 0.1);
    box-shadow: rgba(0, 0, 0, 0.2) 0px 20px 30px;
    max-height: 540px;
    overflow-y: auto;
    overflow-x: hidden;
    cursor: auto;
}

@media (max-width: 991px) {
    .mega-menu {
        margin-block: 16px !important;
        margin-inline-start: 0 !important;
        padding-inline-end: 4px !important;
    }
}

.mega-menu-item__buttons {
    transition: all 0.5s;
}

.mega-menu-item__overlay {
    background-color: #0000008c;
    transition: all 0.25s;
}

.mega-menu-item__buttons {
    margin-top: -60px;
    transform: scale(0.8);
}

.mega-menu-item:hover .mega-menu-item__buttons {
    transition-delay: 0.1s;
    margin-top: 0px;
    transform: scale(1);
}

/* Mega menu css end */
/* Mobile Menu Sidebar Start */
.mobile-menu {
    position: fixed !important;
    top: 0;
    left: 0;
    width: min(320px, 88vw) !important;
    height: 100vh !important;
    height: 100dvh !important;
    padding: 24px 20px 40px !important;
    background: #ffffff !important;
    box-shadow: 8px 0 40px rgba(0, 0, 0, 0.18);
    z-index: 1050 !important;
    overflow-x: hidden;
    overflow-y: auto;
    transform: translateX(-105%) !important;
    transition: transform 0.3s ease;
    -webkit-overflow-scrolling: touch;
    visibility: hidden;
    pointer-events: none;
}

.mobile-menu.active {
    transform: translateX(0%) !important;
    visibility: visible;
    pointer-events: auto;
}

.mobile-menu .close-button {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 50%;
    background: #eef1f4 !important;
    color: #111827 !important;
    z-index: 5;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    pointer-events: auto !important;
}

.mobile-menu .close-button:hover {
    background: #111827 !important;
    color: #fff !important;
}

.mobile-menu__inner {
    position: relative;
    z-index: 1;
    padding-top: 12px;
}

.mobile-menu__logo {
    display: inline-block;
    margin-bottom: 8px;
    max-width: 180px;
}

.mobile-menu__menu {
    margin-top: 20px;
}

.nav-menu--mobile {
    display: block !important;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.nav-menu--mobile .nav-menu__item {
    display: block;
    width: 100%;
    opacity: 1 !important;
    transform: none !important;
}

.nav-menu--mobile .nav-menu__item > a::before {
    display: none !important;
    content: none !important;
}

.nav-menu--mobile .nav-menu__link {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 14px 4px !important;
    border-bottom: 1px solid #e6eaf0 !important;
    position: relative;
    color: #111827 !important;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.nav-menu--mobile .nav-menu__item.activePage > .nav-menu__link,
.nav-menu--mobile .nav-menu__link:hover {
    color: var(--main-600) !important;
}

.nav-menu--mobile .has-submenu > a::after {
    content: "\e136";
    font-family: "Phosphor";
    font-weight: 900;
    font-size: 12px;
    color: inherit;
    margin-left: 8px;
    transition: transform 0.2s linear;
}

.nav-menu--mobile .has-submenu.active > a::after {
    transform: rotate(180deg);
}

.nav-menu--mobile .nav-submenu {
    position: static !important;
    visibility: visible;
    opacity: 1;
    box-shadow: none;
    width: 100%;
    margin: 0;
    padding: 0 0 0 12px;
    display: none;
    transform: none !important;
    background: transparent;
}

.nav-menu--mobile .nav-submenu__link {
    display: block;
    width: 100%;
    padding: 10px 4px;
    border-bottom: 1px solid #eef1f4 !important;
    color: #374151 !important;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

.nav-menu--mobile .nav-submenu__item:hover .nav-submenu__link,
.nav-menu--mobile .nav-submenu__item.activePage .nav-submenu__link {
    color: var(--main-600) !important;
}

.nav-menu--mobile .nav-submenu__item::before {
    display: none;
}

/* Mobile Menu Sidebar End */
/* ===================== Scroll to Top Start ================================= */
.progress-wrap {
    position: fixed;
    inset-inline-end: 16px;
    inset-block-end: 16px;
    height: 46px;
    width: 46px;
    cursor: pointer;
    display: block;
    border-radius: 50px;
    box-shadow: inset 0px 0px 16px 0px #afafaf;
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
    background-color: var(--main-two-600);
    background-color: #fff;
    padding: 2px;
}

@media screen and (max-width: 991px) {
    .progress-wrap {
        inset-inline-end: 24px;
        inset-block-end: 24px;
        height: 40px;
        width: 40px;
        line-height: 40px;
    }
}

.progress-wrap.active-progress {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.progress-wrap:hover {
    transform: scale(1.06);
}

.progress-wrap::after {
    position: absolute;
    font-family: "Phosphor";
    font-weight: 900;
    content: "\e08e";
    text-align: center;
    height: 46px;
    width: 46px;
    line-height: 46px;
    font-size: 18px;
    inset-inline-start: 0;
    inset-block-start: 0;
    cursor: pointer;
    display: block;
    z-index: 1;
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
    color: var(--main-600) !important;
}

@media screen and (max-width: 991px) {
    .progress-wrap::after {
        height: 40px;
        width: 40px;
        line-height: 40px;
    }
}

.progress-wrap svg path {
    fill: none;
}

.progress-wrap svg.progress-circle path {
    stroke: var(--main-600);
    stroke-width: 5;
    box-sizing: border-box;
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
}

/* ===================== Scroll to Top End ================================= */
/* Custom Cursor Css Start */
.cursor,
.dot {
    width: 32px;
    height: 32px;
    border: 1px solid hsl(var(--white));
    border-radius: 50%;
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 9999999;
    transform: translate(-50%, -50%);
    visibility: hidden;
    font-size: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    mix-blend-mode: difference;
}

.dot {
    width: 4px;
    height: 4px;
    background-color: hsl(var(--white));
    mix-blend-mode: difference;
}

/*----------------------------------------*/
/*  Magic Cursor
/*----------------------------------------*/
body.tp-magic-cursor #magic-cursor {
    display: block;
}

#magic-cursor {
    position: absolute;
    display: none;
    width: 10px;
    height: 10px;
    pointer-events: none;
    z-index: 99999;
    opacity: 0;
    top: 0;
    left: 0;
}

#ball {
    position: fixed;
    display: flex;
    align-items: center;
    pointer-events: none;
    border-radius: 50%;
    color: #000 !important;
    justify-content: center;
    mix-blend-mode: difference;
    background-color: #fff !important;
    border: 1px solid #ddd !important;
    box-shadow: 0px 2px 20px #16161614;
    backdrop-filter: blur(0px) !important;
}

#ball .ball-view {
    position: absolute;
    opacity: 0;
    visibility: hidden;
    padding: 0 5px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.3;
    text-align: center;
    transform: scale(0);
}

.blur-bottom-shadow {
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
    bottom: 0;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    height: 100px;
    left: 0;
    -webkit-mask: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(black)) add;
    -webkit-mask: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, black 100%) add;
    mask: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(black)) add;
    mask: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, black 100%) add;
    overflow: visible;
    position: fixed;
    right: 0;
    pointer-events: none;
    z-index: 999;
}

/* ================================= Range Slider Css Start =========================== */
/* Range slider start */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

.price-input .separator {
    width: 130px;
    display: flex;
    font-size: 19px;
    align-items: center;
    justify-content: center;
}

.slider {
    height: 5px;
    position: relative;
    background: #ddd;
    border-radius: 5px;
}

.slider .progress {
    height: 100%;
    left: 25%;
    right: 25%;
    position: absolute;
    border-radius: 5px;
    background: hsl(var(--primary-new));
    background: var(--gradient-main);
}

.range-input {
    position: relative;
}

.range-input input {
    position: absolute;
    width: 100%;
    height: 5px;
    top: -5px;
    background: none;
    pointer-events: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

input[type=range]::-webkit-slider-thumb {
    height: 17px;
    width: 17px;
    border-radius: 50%;
    background: hsl(var(--primary-new));
    background: var(--gradient-main);
    pointer-events: auto;
    -webkit-appearance: none;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.05);
    transition: 0.2s linear;
}

input[type=range]::-webkit-slider-thumb:hover {
    transform: scale(1.6);
}

input[type=range]::-moz-range-thumb {
    height: 17px;
    width: 17px;
    border: none;
    border-radius: 50%;
    background: #17a2b8;
    pointer-events: auto;
    -moz-appearance: none;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.05);
    transition: 0.2s linear;
}

input[type=range]::-moz-range-thumb:hover {
    transform: scale(1.6);
}

/* Range slider End */
/* ================================= Range Slider Css End =========================== */
/* whole banner section start */
.sidebar-list-item:not(:last-child) {
    border-bottom: 1px solid #E0E0E0;
}

.sidebar-list-item:hover .sidebar-dropdown-menu {
    margin-top: 0;
}

.mash-gradient-shape::before, .mash-gradient-shape::after {
    position: absolute;
    content: "";
    width: 309px;
    height: 309px;
    top: 150px;
    inset-inline-start: 110px;
    opacity: 1;
    background: #FEAE007D;
    filter: blur(244px);
    z-index: -1;
}

.mash-gradient-shape::after {
    background: #1EE8FF7A;
    inset-inline-start: 50%;
}

@media (max-width: 1199px) {
    .banner-inner__sidebar {
        background-color: #fff;
        position: fixed;
        inset-inline-start: 0;
        inset-block-start: 0;
        width: 100%;
        z-index: 999;
        max-height: 100vh;
        overflow-y: auto;
        transform: translateX(-100%);
        transition: 0.3s linear;
    }
}

.banner-inner__sidebar.active {
    transform: translateX(0);
}

@media (max-width: 1199px) {
    .sidebar-dropdown-menu {
        position: static !important;
        visibility: visible !important;
        opacity: 1 !important;
        box-shadow: none !important;
        display: none;
    }
}

.sidebar-dropdown-menu.active {
    display: block;
}

@media (min-width: 922px) {
    .banner-demand {
        padding: 100px 0;
    }
}

@media (min-width: 922px) {
    .banner-demand {
        padding: 120px 0;
    }
}

@media (min-width: 1200px) {
    .banner-demand {
        padding: 142px 0;
    }
}

.banner-demand__thumb {
    max-width: 50%;
}

@media (max-width: 992px) {
    .banner-home-service {
        overflow: hidden;
    }
}

@media (max-width: 575px) {
    .button-responsive-class .btn {
        padding-inline: 20px;
    }
}

.mash-gradient-bottom::before {
    position: absolute;
    content: "";
    width: 309px;
    height: 309px;
    bottom: 80px;
    inset-inline-start: 38%;
    opacity: 1;
    background: #FEAE007D;
    filter: blur(244px);
    z-index: -1;
}

.area-bg {
    position: absolute;
    height: 140px;
    width: 140px;
    background-color: var(--main-600);
    border-radius: 100%;
    z-index: -1;
    left: 48%;
    top: 48%;
    transform: translate(-50%, -50%);
}

/* whole banner section end */
/* Brand Css start */
.left-right-gradient::before,
.left-right-gradient::after {
    position: absolute;
    content: "";
    width: 48px;
    height: 100%;
    inset-inline-start: 0;
    inset-block-start: 0;
    background: linear-gradient(90deg, #ffffff, transparent);
    z-index: 2;
    pointer-events: none;
}

.left-right-gradient::after {
    background: linear-gradient(90deg, transparent, #ffffff);
    inset-inline-start: auto;
    inset-inline-end: 0;
}

/* Brand Css end */
/* Testimonials slider css start  */
.testimonials-slider {
    padding-top: 0;
    padding-bottom: 80px;
}

.testimonials-slider .swiper-slide {
    transform-origin: bottom center;
    box-shadow: 0px 12px 20px #e6e6e6c2;
    border-radius: 20px;
}

.testimonials-slider .swiper-slide.swiper-slide-active {
    z-index: 2;
}

.testimonials-slider .swiper-slide.swiper-slide-active .testimonials-item {
    background-color: var(--main-600) !important;
}

.testimonials-slider .swiper-slide.swiper-slide-active h1,
.testimonials-slider .swiper-slide.swiper-slide-active h2,
.testimonials-slider .swiper-slide.swiper-slide-active h3,
.testimonials-slider .swiper-slide.swiper-slide-active h4,
.testimonials-slider .swiper-slide.swiper-slide-active h5,
.testimonials-slider .swiper-slide.swiper-slide-active h6,
.testimonials-slider .swiper-slide.swiper-slide-active span,
.testimonials-slider .swiper-slide.swiper-slide-active p,
.testimonials-slider .swiper-slide.swiper-slide-active i {
    color: #fff;
}

/* Testimonials slider css end  */
/* FAQ css start */
.bg-image-little-bit {
    height: calc(100% - 74px);
}

/* FAQ css end */
/* ================================= Features home service section start ================================= */
.contact-features-wrapper:hover .card-animation > div {
    background: transparent;
}

/* ================================= Features home service section end ================================= */
.font-size-style-new:root {
    --heading-one: clamp(2.25rem, 0.7133rem + 3.5vw, 3rem);
    --heading-two: clamp(2rem, 0.7133rem + 3.5vw, 2.5rem);
    --heading-three: clamp(1.75rem, 0.3353rem + 2.5vw, 2rem);
    --heading-four: clamp(1.25rem, 0.5569rem + 2vw, 1.5rem);
    --heading-five: 1.25rem;
    --heading-six: 1rem;
    --gradient-main: linear-gradient(90deg, #FF4E8D 0%, #AF35E7 50%, #4C82FC 100%);
    --body-font: "DM Sans", sans-serif;
}

.display-5 {
    font-size: clamp(2.5rem, 0.7133rem + 3.5vw, 3.5rem);
}

.home-style-gradient .section-bg {
    background: #735CFC0D;
}

.home-style-gradient .bg-main-600 {
    background: var(--gradient-main);
}

.home-style-gradient .bg-main-600:hover {
    color: #fff !important;
}

.home-style-gradient .hover-bg-animation::before {
    background: var(--gradient-main);
    transform: rotate(180deg);
}

.home-style-gradient .settings-panel__button.active {
    background-color: hsl(var(--primary-new)) !important;
    background: var(--gradient-main);
}

.text-gradient-main {
    background: var(--gradient-main) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

.hover-icon-white:hover .btn-icon-animation {
    background: #fff !important;
}

.hover-icon-white:hover .btn-icon-animation i {
    background: var(--gradient-main) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

.hover-animate-text-white:hover .text-gradient-main {
    background: #ffffff00 !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: #fff !important;
}

.text-stroke {
    font-weight: 600;
    line-height: 120%;
    opacity: 0.24;
    color: transparent;
    -webkit-text-stroke: 1px hsl(var(--primary-new));
}

.text-stroke:hover {
    color: hsl(var(--primary-new));
    -webkit-text-stroke: 2px hsl(var(--primary-new));
}

.section-bg-gradient-two {
    background: linear-gradient(360deg, rgba(115, 92, 252, 0.04) 0%, rgba(115, 92, 252, 0.12) 25%, rgba(115, 92, 252, 0.2) 50%, rgba(115, 92, 252, 0.12) 75%, rgba(115, 92, 252, 0.04) 100%);
}

/* Category Dropdown Css Start */
.category-dropdown {
    transform: translateY(30px);
    visibility: hidden;
    opacity: 0;
    min-width: 300px;
    max-width: 330px;
}

.category-dropdown.active {
    transform: translateY(0px);
    visibility: visible;
    opacity: 1;
}

.category-button.active .icon {
    transform: rotate(180deg);
}

.category-button.active {
    color: var(--main-600);
}

/* Category Dropdown Css End */
/* Banner new css start */
.section-bg-gradient {
    background: linear-gradient(360deg, rgba(115, 92, 252, 0) 0%, rgba(115, 92, 252, 0.08) 25%, rgba(115, 92, 252, 0.16) 50%, rgba(115, 92, 252, 0.08) 75%, rgba(115, 92, 252, 0) 100%);
}

.writing-mode-lr {
    writing-mode: sideways-lr;
}

.max-width-img {
    max-width: 25%;
}

.banner-title {
    font-size: 40px;
    line-height: 1.4;
}

@media (min-width: 425px) {
    .banner-title {
        font-size: 52px;
        line-height: 1.4;
    }
}

@media (min-width: 768px) {
    .banner-title {
        font-size: 80px;
    }
}

.typed-text-wrapper {
    width: 170px;
}

@media (min-width: 425px) {
    .typed-text-wrapper {
        width: 230px;
    }
}

@media (min-width: 768px) {
    .typed-text-wrapper {
        width: 340px;
    }
}

.banner-element-1 {
    inset-inline-start: 60px;
    top: 4%;
}

.banner-element-2 {
    inset-inline-start: 11%;
    top: 6%;
}

.banner-element-3 {
    top: 17%;
    inset-inline-start: 6%;
}

.banner-element-4 {
    top: 30%;
    inset-inline-start: 4%;
}

.banner-element-5 {
    inset-inline-end: 16%;
    top: 4%;
}

.banner-element-6 {
    inset-inline-end: 0;
    top: 32px;
}

.banner-element-7 {
    inset-inline-end: 138px;
    top: 242px;
}

/* Banner new css end */
/* Choose us new css start */
@media (min-width: 1199px) {
    .choose-us-new-counter::before {
        position: absolute;
        content: "";
        inset-inline-start: 0;
        height: 64%;
        width: 3px;
        background: #735CFC;
        opacity: 20%;
        top: 50%;
        transform: translateY(-50%);
    }

    .choose-us-new-counter-item {
        padding-left: 80px;
    }

    .choose-us-new-counter-item::before {
        position: absolute;
        content: "";
        width: 12px;
        height: 12px;
        background-color: blue;
        border-radius: 50%;
        inset-inline-start: -5px;
        top: 50%;
        transform: translateY(-50%);
        z-index: 1;
    }
}

@media (max-width: 992px) {
    .all-info-item:not(:first-child) {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}
/* Choose us new css end */
/* About new css start */
.about-img-wrapper {
    position: absolute;
    padding-inline-start: 154px;
    padding-inline-end: 122px;
    padding-bottom: 96px;
    inset-inline-start: 53%;
    top: 50%;
    transform: translateY(-50%);
}

@media (max-width: 1364px) {
    .about-img-wrapper {
        inset-inline-start: 46%;
    }
}

.about-img-two {
    position: absolute;
    top: 95px;
    left: 0;
    z-index: 1;
}

.about-img-three {
    position: absolute;
    inset-inline-end: 0;
    bottom: 0;
    z-index: 1;
}

.border-first-style-one {
    width: 2px;
    height: 347px;
    background: #735CFC;
    position: absolute;
    inset-inline-start: 80px;
    top: 33%;
    z-index: -1;
}

.border-first-style-two {
    width: 2px;
    height: 288px;
    background: #735CFC;
    position: absolute;
    inset-inline-start: 112px;
    top: 33%;
    z-index: -1;
}

.border-second-style-one {
    width: 2px;
    height: 444px;
    background: #735CFC;
    position: absolute;
    inset-inline-end: 41px;
    bottom: 33%;
    z-index: -1;
}

.border-second-style-two {
    width: 2px;
    height: 344px;
    background: #735CFC;
    position: absolute;
    inset-inline-end: 73px;
    bottom: 33%;
    z-index: -1;
}

.border-red {
    background: #DD1D29;
}

.border-blue {
    background: hsl(var(--primary-new));
}

.about-img-two {
    max-width: 42%;
}

.about-img-three {
    max-width: 49%;
}

/* About new css end */
/* Service New section css start  */
.rounded-left-right-shape {
    position: relative;
}

.rounded-left-right-shape::before,
.rounded-left-right-shape::after {
    position: absolute;
    content: "";
    width: 23px;
    height: 24px;
    box-shadow: 10px 10px #fff;
    border-radius: 50%;
    inset-inline-end: -23px;
    top: calc(39% + 1px);
    transform: translateY(-50%) rotate(90deg);
}

.rounded-left-right-shape::after {
    inset-inline-end: auto;
    inset-inline-start: -22px;
    transform: rotate(0deg);
    transform: translateY(-50%) rotate(0deg);
}

.tw--mt-45-px {
    margin-bottom: -45px;
}

.gradient-outline-bg-white::after {
    position: absolute;
    content: "";
    width: calc(100% - 2px);
    height: calc(100% - 2px);
    background: #fff;
    border-radius: inherit;
    top: 50%;
    inset-inline-start: 50%;
    transform: translate(-50%, -50%);
    transition: 0.3s;
}

.gradient-outline-bg-white:hover::after {
    visibility: hidden;
    opacity: 0;
}

.gradient-outline-bg-white:hover .text-gradient-main {
    background: #fff !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: #fff !important;
}

.service-small-image-wrapper {
    position: absolute;
    inset-inline-start: 67%;
    top: 0;
}

.service-small-image-wrapper .swiper-slide {
    height: 200px !important;
}

.service-small-image-wrapper .swiper-slide:nth-child(2), .service-small-image-wrapper .swiper-slide:nth-child(3), .service-small-image-wrapper .swiper-slide:nth-child(4), .service-small-image-wrapper .swiper-slide:nth-child(5), .service-small-image-wrapper .swiper-slide:nth-child(6) {
    margin-top: -127px;
}

.service-small-image-wrapper .swiper-slide {
    transition: 0.3s linear;
}

.service-small-image-wrapper .swiper-slide:nth-child(2) {
    margin-inline-start: 76px;
}

.service-small-image-wrapper .swiper-slide:nth-child(3) {
    margin-inline-start: 152px;
  /* 76 * 2 */
}

.service-small-image-wrapper .swiper-slide:nth-child(4) {
    margin-inline-start: 228px;
  /* 76 * 3 */
}

.service-small-image-wrapper .swiper-slide:nth-child(5) {
    margin-inline-start: 304px;
  /* 76 * 4 */
}

.service-small-image-wrapper .swiper-slide:last-child {
    margin-inline-start: 0;
    visibility: hidden;
    opacity: 0;
    margin-top: 0;
}

.service-small-image-item {
    margin: 2px;
    outline: 2px solid transparent;
    display: inline-block;
}

.swiper-slide.swiper-slide-thumb-active .service-small-image-item {
    outline-color: hsl(var(--primary-new));
    border-color: hsl(var(--primary-new)) !important;
}

/* Service New section css end  */
/* Get started new css start */
.get-started-product-box {
    border-radius: 24px 24px 0 0;
}

@media (min-width: 992px) {
    .get-started-product-box {
        border-radius: 0 24px 0;
        position: absolute;
        max-width: 678px;
        inset-inline-start: 0;
        max-width: 44%;
        height: 100%;
    }
}

.get-started-item-wrapper {
    max-height: 740px;
    overflow-y: auto;
    padding-inline-end: 48px;
    direction: rtl;
}

.get-started-item-wrapper > * {
    direction: ltr;
}

/* Get started new css end */
/* Testimonials new css start */
.testimonials-new-img {
    transform: translateY(28px);
    max-height: 490px;
    overflow: hidden;
    max-width: 475px;
    margin-inline: auto;
}

.quate-new-icon {
    max-width: 32%;
}

.shadow-text {
    text-shadow: 6px 6px 8px #000;
}

.testimonials-new-shape1 {
    top: 8px;
    inset-inline-start: 0;
}

.testimonials-new-shape2 {
    top: 14px;
    inset-inline-end: 16px;
}

.testimonials-new-shape3 {
    top: 30%;
    inset-inline-start: 11%;
}

.testimonials-new-shape4 {
    top: 24%;
    inset-inline-end: 20%;
}

/* Testimonials new css end */
/* Top categories new css start */
.blur-bg-white {
    background-color: #FFFFFF1A !important;
    backdrop-filter: blur(15px);
    border: 1px solid #ffffff1f !important;
}

/* Top categories new css end */
/* CTA new section css start */
@media (min-width: 992px) {
    .cta-new-left {
        width: 41%;
    }

    .cta-new-right {
        width: 59%;
    }
}

@media (min-width: 575px) {
    .cta-content-left {
        width: 50%;
    }

    .cta-content-right {
        width: 50%;
    }
}

.contact-new-contact {
    margin-top: 80px;
    z-index: 1;
}

@media (min-width: 992px) {
    .contact-new-contact {
        margin-top: -123px;
        position: relative;
    }
}
/* CTA new section css end */
/* Brand new css start */
.brand-new-item-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

@media (min-width: 575px) {
    .brand-new-item-wrapper {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

.brand-new-item {
    height: 120px;
    border-inline-end: 1px solid var(--neutral-100);
    border-bottom: 1px solid var(--neutral-100);
}

@media (max-width: 991px) {
    .sm-style-none {
        border: 0 !important;
    }

    .brand-new-item-wrapper {
        border-top: 1px solid var(--neutral-100);
    }
}
/* Brand new css end */
/* Shop css start */
.category-sidebar-btn.active {
    background-color: hsl(var(--primary-new)) !important;
}

.category-sidebar-btn.active .category-sidebar-btn__text {
    color: #fff;
}

.category-sidebar-btn.active .category-sidebar-btn__icon {
    color: #fff;
}

.wishlist-btn.active i {
    font-family: "Phosphor-Fill" !important;
}

/* Shop css end */
/* Footer new css start */
.footer-item-wrapper {
    display: grid;
    gap: 48px;
    grid-template-columns: 1fr;
}

@media (min-width: 576px) {
    .footer-item-wrapper {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 992px) {
    .footer-item-wrapper {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

@media (min-width: 1199px) {
    .footer-item-wrapper {
        grid-template-columns: 3fr 1.5fr 1.5fr 2.5fr 2fr;
    }
}
/* Footer new css end*/
/* Team Css start */
.on-hover-animation-item li {
    transform: translateY(80px);
}

.on-hover-animation-item li:nth-child(1) {
    transition-delay: 0.1s !important;
}

.on-hover-animation-item li:nth-child(2) {
    transition-delay: 0.2s !important;
}

.on-hover-animation-item li:nth-child(3) {
    transition-delay: 0.3s !important;
}

.on-hover-animation-item li:nth-child(4) {
    transition-delay: 0.4s !important;
}

.on-hover-item:hover .on-hover-animation-item li {
    transform: translateY(0px);
}

/* Team Css end */
/* ============================ Product Range css start =============================== */
.product-range-image {
    bottom: 14%;
    inset-inline-start: 36%;
}

/* ============================ Product Range css end =============================== */
.breadcrumb {
    margin-bottom: 0;
    margin-top: 142px;
}

@media (min-width: 992px) {
    .breadcrumb {
        margin-top: 160px;
    }
}

.inner-pages-bottom-space {
    padding-bottom: 160px;
}

/* ================================== rtl css start ================================== */
.text-start {
    text-align: start !important;
}

.form-check {
    padding-left: 0;
}

.form-check {
    padding-inline-start: 1.5em;
}

.form-check .form-check-input {
    margin-left: 0;
}

[dir=rtl] .tw-translate-x-50 {
    transform: translateX(50%);
}

[dir=rtl] .select-domain {
    margin-inline-end: 0;
}

[dir=rtl] .pricing-plan .form-check {
    padding-left: 0 !important;
}

[dir=rtl] .common-check-two .form-check-input::before {
    transform: translate(50%, -50%);
}

[dir=rtl] .distraction-icon.seven {
    transform: translate(50%, -50%);
}

[dir=rtl] .translate-middle-x {
    transform: translateX(50%) !important;
}

[dir=rtl] .translate-x-100-16 {
    transform: translateX(calc(100% - 105px));
}

[dir=rtl] .toast-message {
    transform: translateX(-110%);
}

[dir=rtl] .toast-message.active {
    transform: translateX(0) !important;
}

[dir=rtl] .arrow-long {
    transform: scaleX(-1);
}

[dir=rtl] .common-check .form-check-input::before {
    transform: translate(50%, -50%);
}

[dir=rtl] .form-check .form-check-input {
    margin-right: -1.5em;
}

[dir=rtl] .top-features-slider {
    direction: rtl;
}

[dir=rtl] .left-right-gradient::before {
    background: linear-gradient(-90deg, #fff, transparent);
}

[dir=rtl] .left-right-gradient::after {
    background: linear-gradient(-90deg, transparent, #ffffff);
}

[dir=rtl] .tw--translate-x-full {
    transform: translateX(100%);
}

[dir=rtl] .image-animation:after {
    transform: translate(50%, -50%) rotate(-45deg);
}

[dir=rtl] .ph-bold.ph-caret-right:before {
    content: "\e138";
}

[dir=rtl] .ph-bold.ph-arrow-up-right:before {
    content: "\e090";
}

[dir=rtl] .ph.ph-caret-right:before {
    content: "\e138";
}

[dir=rtl] .ph.ph-caret-left:before {
    content: "\e13a";
}

[dir=rtl] .ph.ph-arrow-right:before {
    content: "\e058";
}

[dir=rtl] .ph-bold.ph-caret-left:before {
    content: "\e13a";
}

[dir=rtl] .ph-bold.ph-caret-left:before {
    content: "\e13a";
}

/* ================================== rtl css End ================================== */

/* ============================ WAVE site polish ============================ */
.max-w-360-px { max-width: 360px; }
.max-w-540-px { max-width: 540px; }
.max-w-640-px { max-width: 640px; }
.max-w-720-px { max-width: 720px; }
.max-w-800-px { max-width: 800px; }
.max-w-900-px { max-width: 900px; }
.tw-h-240-px { height: 240px; }
.opacity-75 { opacity: 0.75; }

/* Full-width unique hero */
.wave-hero {
  width: 100%;
  background:
    radial-gradient(ellipse 80% 60% at 10% 20%, rgba(6, 103, 214, 0.12), transparent 55%),
    radial-gradient(ellipse 50% 50% at 90% 80%, rgba(6, 103, 214, 0.08), transparent 50%),
    linear-gradient(160deg, #f7fbf8 0%, #eef5f1 45%, #f8faf9 100%);
  padding-top: 0px;
}

.wave-hero__glow {
  position: absolute;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(6, 103, 214, 0.22), transparent 70%);
  top: 12%;
  left: -80px;
  filter: blur(10px);
  pointer-events: none;
  animation: waveHeroPulse 7s ease-in-out infinite;
}

.wave-hero__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(15, 20, 18, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15, 20, 18, 0.03) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(to bottom, black 30%, transparent 95%);
  pointer-events: none;
}

.wave-hero__shell {
  position: relative;
  z-index: 2;
  padding-left: clamp(16px, 4vw, 64px);
  padding-right: clamp(16px, 4vw, 64px);
}

.min-vh-hero {
  min-height: calc(100vh - 140px);
  min-height: calc(100svh - 140px);
}

.wave-hero__left {
  display: flex;
  align-items: center;
  padding: 48px 0 56px;
}

.wave-hero__copy {
  max-width: 640px;
  width: 100%;
}

.wave-hero__brand-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 28px;
}

.wave-hero__emblem {
  width: 72px;
  height: 72px;
  object-fit: contain;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 20, 18, 0.1);
  padding: 6px;
}

.wave-hero__eyebrow {
  display: block;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--main-600);
  font-weight: 700;
  margin-bottom: 4px;
}

.wave-hero__hashtag {
  font-size: 1rem;
  font-weight: 700;
  color: #111;
}

.wave-hero__title {
  font-size: clamp(2.5rem, 5vw, 4.25rem);
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: #111;
  margin: 0 0 16px;
}

.wave-hero__lead {
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  font-weight: 600;
  color: var(--main-600);
  margin-bottom: 14px;
}

.wave-hero__text {
  font-size: 1.05rem;
  line-height: 1.75;
  color: #4b5563;
  max-width: 38rem;
  margin-bottom: 28px;
}

.wave-hero__services {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 28px;
}

.wave-hero__service {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(15, 20, 18, 0.06);
  color: #111;
  font-size: 0.9rem;
  font-weight: 600;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.wave-hero__service i {
  color: var(--main-600);
  font-size: 1.1rem;
}

.wave-hero__service:hover {
  transform: translateY(-3px);
  border-color: rgba(6, 103, 214, 0.35);
  box-shadow: 0 10px 24px rgba(15, 20, 18, 0.08);
  color: #111;
}

.wave-hero__actions {
  margin-bottom: 24px;
}

.wave-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 28px;
}

.wave-hero__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #111;
  font-weight: 600;
  font-size: 0.95rem;
  transition: color 0.2s ease;
}

.wave-hero__meta-item i {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid rgba(15, 20, 18, 0.08);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--main-600);
}

.wave-hero__meta-item:hover {
  color: var(--main-600);
}

.wave-hero__right {
  position: relative;
  padding: 40px 0 56px;
}

.wave-hero__stage {
  position: relative;
  min-height: 560px;
  height: 100%;
  border-radius: 28px;
  overflow: hidden;
}

.wave-hero__stage-bg {
  position: absolute;
  inset: 0;
}

.wave-hero__stage-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.05);
  animation: waveHeroZoom 18s ease-out forwards;
}

.wave-hero__stage::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(160deg, rgba(8, 14, 11, 0.25) 0%, rgba(8, 14, 11, 0.15) 40%, rgba(8, 14, 11, 0.55) 100%);
  z-index: 1;
  pointer-events: none;
}

.wave-hero__float {
  position: absolute;
  z-index: 3;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
  border: 2px solid rgba(255, 255, 255, 0.35);
  background: #111;
}

.wave-hero__float--main {
  width: min(46%, 260px);
  aspect-ratio: 4 / 5;
  left: 8%;
  bottom: 14%;
  animation: waveHeroFloat 5.5s ease-in-out infinite;
}

.wave-hero__float--top {
  width: min(38%, 210px);
  aspect-ratio: 1 / 1;
  right: 8%;
  top: 12%;
  animation: waveHeroFloat 6.5s ease-in-out infinite 0.4s;
}

.wave-hero__float--bottom {
  width: min(34%, 190px);
  aspect-ratio: 5 / 4;
  right: 14%;
  bottom: 12%;
  animation: waveHeroFloat 7s ease-in-out infinite 0.8s;
}

.wave-hero__float-cap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 12px 14px;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
  color: #fff;
}

.wave-hero__float-cap span {
  display: block;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.8;
}

.wave-hero__float-cap strong {
  display: block;
  font-size: 14px;
  font-weight: 700;
}

.wave-hero__badge {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border-radius: 999px;
  padding: 10px 18px 10px 10px;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.2);
  max-width: 260px;
}

.wave-hero__badge-img {
  width: 44px;
  height: 44px;
  object-fit: contain;
  border-radius: 50%;
  background: #fff;
}

.wave-hero__badge strong {
  display: block;
  font-size: 14px;
  color: #111;
  line-height: 1.2;
}

.wave-hero__badge span {
  display: block;
  font-size: 12px;
  color: #6b7280;
}

.wave-hero__marquee {
  position: relative;
  z-index: 3;
  background: #111;
  color: #fff;
  overflow: hidden;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.wave-hero__marquee-track {
  display: flex;
  align-items: center;
  gap: 28px;
  width: max-content;
  padding: 16px 0;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  animation: waveHeroMarquee 32s linear infinite;
  white-space: nowrap;
}

.wave-hero__marquee-track span:nth-child(even) {
  color: var(--main-600);
}

@keyframes waveHeroZoom {
  from { transform: scale(1.08); }
  to { transform: scale(1); }
}

@keyframes waveHeroPulse {
  0%, 100% { opacity: 0.7; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.08); }
}

@keyframes waveHeroFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@keyframes waveHeroMarquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* ---------- 22" Desktop ? 1680 � 1050 ---------- */
@media (min-width: 1601px) and (max-width: 1680px) {
  .wave-hero {
    padding-top: 5px;
  }

  .wave-hero__shell {
    padding-left: 48px;
    padding-right: 48px;
  }

  .min-vh-hero {
    min-height: calc(100vh - 150px);
    min-height: calc(100svh - 150px);
  }

  .wave-hero__left {
    padding: 40px 0 48px;
  }

  .wave-hero__right {
    padding: 36px 0 48px;
  }

  .wave-hero__copy {
    max-width: 600px;
  }

  .wave-hero__brand-row {
    margin-bottom: 22px;
  }

  .wave-hero__emblem {
    width: 68px;
    height: 68px;
  }

  .wave-hero__title {
    font-size: 3.6rem;
    margin-bottom: 14px;
  }

  .wave-hero__lead {
    font-size: 1.4rem;
    margin-bottom: 12px;
  }

  .wave-hero__text {
    font-size: 1.02rem;
    line-height: 1.7;
    margin-bottom: 24px;
  }

  .wave-hero__services {
    gap: 10px;
    margin-bottom: 24px;
  }

  .wave-hero__service {
    padding: 11px 13px;
    font-size: 0.88rem;
  }

  .wave-hero__stage {
    min-height: 540px;
    border-radius: 26px;
  }

  .wave-hero__float--main {
    width: min(44%, 248px);
  }

  .wave-hero__float--top {
    width: min(36%, 200px);
  }

  .wave-hero__float--bottom {
    width: min(32%, 180px);
  }

  .wave-hero__badge {
    max-width: 250px;
  }
}

/* ---------- 20" Desktop ? 1600 � 900 ---------- */
@media (min-width: 1441px) and (max-width: 1600px) {
  .wave-hero {
    padding-top: 5px;
  }

  .wave-hero__shell {
    padding-left: 40px;
    padding-right: 40px;
  }

  .min-vh-hero {
    min-height: calc(100vh - 148px);
    min-height: calc(100svh - 148px);
  }

  .wave-hero__left {
    padding: 32px 0 40px;
  }

  .wave-hero__right {
    padding: 28px 0 40px;
  }

  .wave-hero__copy {
    max-width: 560px;
  }

  .wave-hero__brand-row {
    gap: 14px;
    margin-bottom: 18px;
  }

  .wave-hero__emblem {
    width: 64px;
    height: 64px;
    border-radius: 16px;
  }

  .wave-hero__title {
    font-size: 3.25rem;
    margin-bottom: 12px;
  }

  .wave-hero__lead {
    font-size: 1.3rem;
    margin-bottom: 10px;
  }

  .wave-hero__text {
    font-size: 0.98rem;
    line-height: 1.65;
    margin-bottom: 20px;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .wave-hero__services {
    gap: 8px;
    margin-bottom: 20px;
  }

  .wave-hero__service {
    padding: 10px 12px;
    font-size: 0.84rem;
    border-radius: 12px;
  }

  .wave-hero__service i {
    font-size: 1rem;
  }

  .wave-hero__actions {
    margin-bottom: 18px;
  }

  .wave-hero__meta {
    gap: 14px 22px;
  }

  .wave-hero__meta-item {
    font-size: 0.9rem;
  }

  .wave-hero__meta-item i {
    width: 32px;
    height: 32px;
  }

  .wave-hero__stage {
    min-height: 480px;
    border-radius: 24px;
  }

  .wave-hero__float--main {
    width: min(44%, 230px);
    left: 7%;
    bottom: 12%;
  }

  .wave-hero__float--top {
    width: min(36%, 185px);
    right: 7%;
    top: 10%;
  }

  .wave-hero__float--bottom {
    width: min(32%, 168px);
    right: 12%;
    bottom: 10%;
  }

  .wave-hero__float-cap {
    padding: 10px 12px;
  }

  .wave-hero__float-cap strong {
    font-size: 13px;
  }

  .wave-hero__badge {
    max-width: 236px;
    padding: 8px 16px 8px 8px;
    gap: 10px;
  }

  .wave-hero__badge-img {
    width: 40px;
    height: 40px;
  }

  .wave-hero__badge strong {
    font-size: 13px;
  }

  .wave-hero__marquee-track {
    padding: 14px 0;
    font-size: 0.9rem;
  }
}

/* ---------- 19" Desktop ? 1440 � 900 ---------- */
@media (min-width: 1367px) and (max-width: 1440px) {
  .wave-hero {
    padding-top: 0px;
  }

  .wave-hero__shell {
    padding-left: 32px;
    padding-right: 32px;
  }

  .min-vh-hero {
    min-height: calc(100vh - 145px);
    min-height: calc(100svh - 145px);
  }

  .wave-hero__left {
    padding: 28px 0 36px;
  }

  .wave-hero__right {
    padding: 24px 0 36px;
  }

  .wave-hero__copy {
    max-width: 520px;
  }

  .wave-hero__brand-row {
    gap: 12px;
    margin-bottom: 16px;
  }

  .wave-hero__emblem {
    width: 58px;
    height: 58px;
    border-radius: 14px;
    padding: 5px;
  }

  .wave-hero__eyebrow {
    font-size: 11px;
  }

  .wave-hero__hashtag {
    font-size: 0.92rem;
  }

  .wave-hero__title {
    font-size: 2.95rem;
    margin-bottom: 10px;
  }

  .wave-hero__lead {
    font-size: 1.2rem;
    margin-bottom: 8px;
  }

  .wave-hero__text {
    font-size: 0.94rem;
    line-height: 1.6;
    margin-bottom: 18px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .wave-hero__services {
    gap: 8px;
    margin-bottom: 18px;
  }

  .wave-hero__service {
    padding: 9px 11px;
    font-size: 0.8rem;
    border-radius: 12px;
    gap: 6px;
  }

  .wave-hero__service i {
    font-size: 0.95rem;
  }

  .wave-hero__actions {
    margin-bottom: 16px;
  }

  .wave-hero__actions .btn {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .wave-hero__meta {
    gap: 12px 18px;
  }

  .wave-hero__meta-item {
    font-size: 0.86rem;
  }

  .wave-hero__meta-item i {
    width: 30px;
    height: 30px;
    font-size: 0.85rem;
  }

  .wave-hero__stage {
    min-height: 460px;
    border-radius: 22px;
  }

  .wave-hero__float--main {
    width: min(42%, 210px);
    left: 6%;
    bottom: 12%;
  }

  .wave-hero__float--top {
    width: min(34%, 170px);
    right: 6%;
    top: 10%;
  }

  .wave-hero__float--bottom {
    width: min(30%, 155px);
    right: 12%;
    bottom: 10%;
  }

  .wave-hero__float {
    border-radius: 14px;
  }

  .wave-hero__float-cap {
    padding: 8px 10px;
  }

  .wave-hero__float-cap span {
    font-size: 10px;
  }

  .wave-hero__float-cap strong {
    font-size: 12px;
  }

  .wave-hero__badge {
    max-width: 220px;
    padding: 8px 14px 8px 8px;
    gap: 10px;
  }

  .wave-hero__badge-img {
    width: 38px;
    height: 38px;
  }

  .wave-hero__badge strong {
    font-size: 12px;
  }

  .wave-hero__badge span {
    font-size: 11px;
  }

  .wave-hero__marquee-track {
    padding: 13px 0;
    font-size: 0.88rem;
    gap: 22px;
  }
}

/* ---------- 15" Notebook ? 1366 � 768 ---------- */
@media (min-width: 1281px) and (max-width: 1366px) {
  .wave-hero {
    padding-top: 5px;
  }

  .wave-hero__shell {
    padding-left: 28px;
    padding-right: 28px;
  }

  .wave-hero__glow {
    width: 300px;
    height: 300px;
  }

  .min-vh-hero {
    min-height: calc(100vh - 130px);
    min-height: calc(100svh - 130px);
  }

  .wave-hero__left {
    padding: 20px 0 28px;
  }

  .wave-hero__right {
    padding: 16px 0 28px;
  }

  .wave-hero__copy {
    max-width: 480px;
  }

  .wave-hero__brand-row {
    gap: 12px;
    margin-bottom: 12px;
  }

  .wave-hero__emblem {
    width: 52px;
    height: 52px;
    border-radius: 12px;
    padding: 4px;
  }

  .wave-hero__eyebrow {
    font-size: 10px;
    letter-spacing: 0.14em;
    margin-bottom: 2px;
  }

  .wave-hero__hashtag {
    font-size: 0.85rem;
  }

  .wave-hero__title {
    font-size: 2.55rem;
    line-height: 1.08;
    margin-bottom: 8px;
  }

  .wave-hero__lead {
    font-size: 1.1rem;
    margin-bottom: 6px;
  }

  .wave-hero__text {
    font-size: 0.88rem;
    line-height: 1.55;
    margin-bottom: 14px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .wave-hero__services {
    gap: 6px;
    margin-bottom: 14px;
  }

  .wave-hero__service {
    padding: 8px 10px;
    font-size: 0.75rem;
    border-radius: 10px;
    gap: 6px;
  }

  .wave-hero__service i {
    font-size: 0.9rem;
  }

  .wave-hero__actions {
    margin-bottom: 12px;
    gap: 10px !important;
  }

  .wave-hero__actions .btn {
    padding: 8px 14px;
    font-size: 0.88rem;
  }

  .wave-hero__meta {
    gap: 10px 16px;
  }

  .wave-hero__meta-item {
    font-size: 0.8rem;
    gap: 8px;
  }

  .wave-hero__meta-item i {
    width: 28px;
    height: 28px;
    font-size: 0.8rem;
  }

  .wave-hero__stage {
    min-height: 400px;
    border-radius: 20px;
  }

  .wave-hero__float--main {
    width: min(40%, 190px);
    left: 6%;
    bottom: 11%;
  }

  .wave-hero__float--top {
    width: min(32%, 150px);
    right: 6%;
    top: 9%;
  }

  .wave-hero__float--bottom {
    width: min(28%, 140px);
    right: 11%;
    bottom: 9%;
  }

  .wave-hero__float {
    border-radius: 12px;
    border-width: 1.5px;
  }

  .wave-hero__float-cap {
    padding: 7px 9px;
  }

  .wave-hero__float-cap span {
    font-size: 9px;
  }

  .wave-hero__float-cap strong {
    font-size: 11px;
  }

  .wave-hero__badge {
    max-width: 200px;
    padding: 6px 12px 6px 6px;
    gap: 8px;
  }

  .wave-hero__badge-img {
    width: 34px;
    height: 34px;
  }

  .wave-hero__badge strong {
    font-size: 11px;
  }

  .wave-hero__badge span {
    font-size: 10px;
  }

  .wave-hero__marquee-track {
    padding: 11px 0;
    font-size: 0.82rem;
    gap: 20px;
  }
}

/* ---------- 13" Notebook ? 1280 � 800 ---------- */
@media (min-width: 1200px) and (max-width: 1280px) {
  .wave-hero {
    padding-top: 5px;
  }

  .wave-hero__shell {
    padding-left: 24px;
    padding-right: 24px;
  }

  .wave-hero__glow {
    width: 260px;
    height: 260px;
    left: -60px;
  }

  .min-vh-hero {
    min-height: calc(100vh - 125px);
    min-height: calc(100svh - 125px);
  }

  .wave-hero__left {
    padding: 18px 0 26px;
  }

  .wave-hero__right {
    padding: 14px 0 26px;
  }

  .wave-hero__copy {
    max-width: 500px;
  }

  .wave-hero__brand-row {
    gap: 12px;
    margin-bottom: 14px;
  }

  .wave-hero__emblem {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    padding: 5px;
  }

  .wave-hero__eyebrow {
    font-size: 11px;
    letter-spacing: 0.14em;
    margin-bottom: 3px;
  }

  .wave-hero__hashtag {
    font-size: 0.92rem;
  }

  .wave-hero__title {
    font-size: 2.85rem;
    line-height: 1.08;
    margin-bottom: 10px;
  }

  .wave-hero__lead {
    font-size: 1.22rem;
    margin-bottom: 10px;
  }

  .wave-hero__text {
    font-size: 0.96rem;
    line-height: 1.6;
    margin-bottom: 16px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .wave-hero__services {
    gap: 8px;
    margin-bottom: 16px;
  }

  .wave-hero__service {
    padding: 9px 11px;
    font-size: 0.8rem;
    border-radius: 12px;
    gap: 6px;
  }

  .wave-hero__service i {
    font-size: 0.95rem;
  }

  .wave-hero__actions {
    margin-bottom: 14px;
    gap: 10px !important;
  }

  .wave-hero__actions .btn {
    padding: 9px 14px;
    font-size: 0.9rem;
  }

  .wave-hero__meta {
    gap: 10px 16px;
  }

  .wave-hero__meta-item {
    font-size: 0.84rem;
    gap: 8px;
  }

  .wave-hero__meta-item i {
    width: 30px;
    height: 30px;
    font-size: 0.8rem;
  }

  .wave-hero__stage {
    min-height: 380px;
    border-radius: 18px;
  }

  .wave-hero__float--main {
    width: min(40%, 175px);
    left: 5%;
    bottom: 10%;
  }

  .wave-hero__float--top {
    width: min(32%, 140px);
    right: 5%;
    top: 8%;
  }

  .wave-hero__float--bottom {
    width: min(28%, 128px);
    right: 10%;
    bottom: 8%;
  }

  .wave-hero__float {
    border-radius: 12px;
    border-width: 1.5px;
  }

  .wave-hero__float-cap {
    padding: 6px 8px;
  }

  .wave-hero__float-cap span {
    font-size: 9px;
  }

  .wave-hero__float-cap strong {
    font-size: 11px;
  }

  .wave-hero__badge {
    max-width: 185px;
    padding: 5px 10px 5px 5px;
    gap: 8px;
  }

  .wave-hero__badge-img {
    width: 32px;
    height: 32px;
  }

  .wave-hero__badge strong {
    font-size: 11px;
  }

  .wave-hero__badge span {
    font-size: 10px;
  }

  .wave-hero__marquee-track {
    padding: 10px 0;
    font-size: 0.78rem;
    gap: 18px;
  }
}

/* Short-height tweak: 15" / 13" notebooks (?768?820px tall) */
@media (min-width: 1200px) and (max-width: 1366px) and (max-height: 820px) {
  .wave-hero__text {
    -webkit-line-clamp: 2;
    margin-bottom: 10px;
  }

  .wave-hero__services {
    margin-bottom: 12px;
  }

  .wave-hero__stage {
    min-height: 360px;
  }

  .wave-hero__left {
    padding-top: 14px;
    padding-bottom: 20px;
  }

  .wave-hero__right {
    padding-top: 10px;
    padding-bottom: 20px;
  }

  .wave-hero__brand-row {
    margin-bottom: 10px;
  }

  .wave-hero__title {
    font-size: 2.65rem;
  }

  .wave-hero__lead {
    font-size: 1.15rem;
  }
}

@media (max-width: 1199.98px) {
  .wave-hero__services {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wave-hero__stage {
    min-height: 520px;
  }
}

@media (max-width: 991.98px) {
  .wave-hero {
    padding-top: 12px;
  }

  .wave-hero__shell {
    padding-left: 20px;
    padding-right: 20px;
  }

  .min-vh-hero {
    min-height: auto;
  }

  .wave-hero__left {
    padding: 28px 0 24px;
  }

  .wave-hero__copy {
    max-width: 100%;
  }

  /* Hide hero banner image on mobile / tablet */
  .wave-hero__right {
    display: none !important;
  }

  .wave-hero__title {
    font-size: clamp(2.1rem, 7vw, 2.8rem);
  }

  .wave-hero__text {
    font-size: 0.98rem;
    line-height: 1.65;
  }

  .wave-hero__services {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .wave-hero__marquee-track {
    padding: 14px 0;
    font-size: 0.88rem;
  }
}

@media (max-width: 575.98px) {
  .wave-hero {
    padding-top: 8px;
  }

  .wave-hero__shell {
    padding-left: 16px;
    padding-right: 16px;
  }

  .wave-hero__left {
    padding: 22px 0 20px;
  }

  .wave-hero__brand-row {
    gap: 12px;
    margin-bottom: 18px;
  }

  .wave-hero__emblem {
    width: 56px;
    height: 56px;
    border-radius: 14px;
  }

  .wave-hero__eyebrow {
    font-size: 11px;
  }

  .wave-hero__hashtag {
    font-size: 0.9rem;
  }

  .wave-hero__title {
    font-size: 2rem;
    margin-bottom: 10px;
  }

  .wave-hero__lead {
    font-size: 1.1rem;
    margin-bottom: 10px;
  }

  .wave-hero__text {
    font-size: 0.94rem;
    line-height: 1.6;
    margin-bottom: 18px;
  }

  .wave-hero__services {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-bottom: 18px;
  }

  .wave-hero__service {
    font-size: 0.8rem;
    padding: 10px 12px;
    border-radius: 12px;
  }

  .wave-hero__actions {
    gap: 10px !important;
    margin-bottom: 16px;
  }

  .wave-hero__actions .btn {
    padding: 9px 14px;
    font-size: 0.88rem;
  }

  .wave-hero__meta {
    gap: 10px 14px;
  }

  .wave-hero__meta-item {
    font-size: 0.85rem;
  }

  .wave-hero__meta-item i {
    width: 32px;
    height: 32px;
  }

  .wave-hero__meta-item span {
    font-size: 0.85rem;
    word-break: break-word;
  }

  .wave-hero__marquee-track {
    padding: 12px 0;
    font-size: 0.8rem;
    gap: 18px;
  }
}

/* iPhone 6/7 Plus ? 414 � 736 */
@media (max-width: 414.98px) {
  .wave-hero__shell {
    padding-left: 14px;
    padding-right: 14px;
  }

  .wave-hero__title {
    font-size: 1.9rem;
  }

  .wave-hero__lead {
    font-size: 1.05rem;
  }

  .wave-hero__text {
    font-size: 0.9rem;
  }

  .wave-hero__service {
    font-size: 0.78rem;
    padding: 9px 10px;
  }
}

/* iPhone 6/7 ? 375 � 667 */
@media (max-width: 375.98px) {
  .wave-hero__shell {
    padding-left: 12px;
    padding-right: 12px;
  }

  .wave-hero__emblem {
    width: 50px;
    height: 50px;
  }

  .wave-hero__title {
    font-size: 1.75rem;
  }

  .wave-hero__lead {
    font-size: 1rem;
  }

  .wave-hero__text {
    font-size: 0.88rem;
    margin-bottom: 14px;
  }

  .wave-hero__services {
    gap: 7px;
    margin-bottom: 14px;
  }

  .wave-hero__service {
    font-size: 0.74rem;
    padding: 8px 9px;
    gap: 6px;
  }

  .wave-hero__service i {
    font-size: 0.9rem;
  }

  .wave-hero__actions .btn {
    padding: 8px 12px;
    font-size: 0.84rem;
  }

  .wave-hero__meta-item {
    font-size: 0.8rem;
  }

  .wave-hero__meta-item i {
    width: 28px;
    height: 28px;
  }
}

/* LG G3 / Galaxy S3?7 ? 360 � 640 */
@media (max-width: 360.98px) {
  .wave-hero__shell {
    padding-left: 12px;
    padding-right: 12px;
  }

  .wave-hero__left {
    padding: 18px 0 16px;
  }

  .wave-hero__brand-row {
    margin-bottom: 14px;
  }

  .wave-hero__emblem {
    width: 46px;
    height: 46px;
    border-radius: 12px;
  }

  .wave-hero__eyebrow {
    font-size: 10px;
  }

  .wave-hero__hashtag {
    font-size: 0.82rem;
  }

  .wave-hero__title {
    font-size: 1.65rem;
    margin-bottom: 8px;
  }

  .wave-hero__lead {
    font-size: 0.95rem;
    margin-bottom: 8px;
  }

  .wave-hero__text {
    font-size: 0.84rem;
    line-height: 1.55;
    margin-bottom: 12px;
  }

  .wave-hero__services {
    gap: 6px;
    margin-bottom: 12px;
  }

  .wave-hero__service {
    font-size: 0.7rem;
    padding: 8px;
    gap: 5px;
  }

  .wave-hero__actions {
    margin-bottom: 12px;
  }

  .wave-hero__actions .btn {
    padding: 8px 11px;
    font-size: 0.8rem;
  }

  .wave-hero__meta-item {
    font-size: 0.76rem;
    gap: 6px;
  }

  .wave-hero__meta-item i {
    width: 26px;
    height: 26px;
    font-size: 0.75rem;
  }

  .wave-hero__marquee-track {
    padding: 10px 0;
    font-size: 0.74rem;
    gap: 14px;
  }
}

/* Our Services - full width premium cards */
.wave-services {
  width: 100%;
  padding: 30px     ;
  background:
    radial-gradient(ellipse 50% 40% at 50% 0%, rgba(6, 103, 214, 0.1), transparent 60%),
    linear-gradient(180deg, #f3f6fb 0%, #ffffff 50%, #f3f6fb 100%);
}

.wave-services__shell {
  width: 100%;
  max-width: 100%;
  padding-left: clamp(16px, 3vw, 48px);
  padding-right: clamp(16px, 3vw, 48px);
  position: relative;
  z-index: 1;
}

.wave-services__glow {
  position: absolute;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(6, 103, 214, 0.18), transparent 70%);
  top: 8%;
  right: -80px;
  filter: blur(10px);
  pointer-events: none;
}

.wave-services__intro {
  margin-bottom: 30px;
  position: relative;
  z-index: 1;
}

.wave-services__heading {
  font-size: clamp(2rem, 3.5vw, 3.4rem);
  letter-spacing: -0.02em;
  color: #111;
}

.wave-services__intro-text {
  max-width: 700px;
  font-size: 1.12rem;
  line-height: 1.7;
  color: #5b6470;
}

.wave-svc-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 30px;
  overflow: hidden;
  border: 1px solid rgba(15, 20, 18, 0.06);
  box-shadow: 0 20px 50px rgba(15, 20, 18, 0.07);
  transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}

.wave-svc-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--main-600), #1f2933);
  z-index: 3;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}

.wave-svc-card:hover {
  transform: translateY(-12px);
  box-shadow: 0 32px 70px rgba(15, 20, 18, 0.14);
  border-color: rgba(6, 103, 214, 0.3);
}

.wave-svc-card:hover::before {
  transform: scaleX(1);
}

.wave-svc-card__media {
  position: relative;
  height: 400px;
  overflow: hidden;
}

.wave-svc-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.7s ease;
}

.wave-svc-card:hover .wave-svc-card__img {
  transform: scale(1.1);
}

.wave-svc-card__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 12, 10, 0.08) 0%, rgba(8, 12, 10, 0.55) 100%);
  pointer-events: none;
}

.wave-svc-card__num {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 2;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.14em;
  color: #fff;
  background: rgba(15, 20, 18, 0.5);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 999px;
  padding: 7px 14px;
}

.wave-svc-card__icon {
  position: absolute;
  right: 20px;
  bottom: 20px;
  z-index: 2;
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: #fff;
  color: var(--main-600);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2);
  transition: transform 0.35s ease, background 0.35s ease, color 0.35s ease;
}

.wave-svc-card:hover .wave-svc-card__icon {
  background: var(--main-600);
  color: #fff;
  transform: rotate(-8deg) scale(1.06);
}

.wave-svc-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 32px 30px 34px;
}

.wave-svc-card__title {
  font-size: clamp(1.35rem, 1.6vw, 1.6rem);
  font-weight: 700;
  color: #111;
  letter-spacing: -0.02em;
  margin-bottom: 14px;
  line-height: 1.3;
}

.wave-svc-card__text {
  color: #5b6470;
  font-size: 1.02rem;
  line-height: 1.75;
  margin-bottom: 28px;
  flex: 1;
}

.wave-svc-card__btn {
  align-self: flex-start;
}

/* ---------- 22" Desktop ? 1680 � 1050 ---------- */
@media (min-width: 1601px) and (max-width: 1680px) {
  .wave-services {
    padding: 40px 0;
  }

  .wave-services__shell {
    padding-left: 40px;
    padding-right: 40px;
  }

  .wave-services__intro {
    margin-bottom: 36px;
  }

  .wave-services__heading {
    font-size: 3rem;
  }

  .wave-services__intro-text {
    font-size: 1.08rem;
  }

  .wave-svc-card {
    border-radius: 26px;
  }

  .wave-svc-card__media {
    height: 380px;
  }

  .wave-svc-card__body {
    padding: 28px 26px 30px;
  }

  .wave-svc-card__title {
    font-size: 1.45rem;
    margin-bottom: 12px;
  }

  .wave-svc-card__text {
    font-size: 0.98rem;
    line-height: 1.7;
    margin-bottom: 22px;
  }

  .wave-svc-card__icon {
    width: 52px;
    height: 52px;
    font-size: 1.35rem;
    border-radius: 16px;
  }
}

/* ---------- 20" Desktop ? 1600 � 900 ---------- */
@media (min-width: 1441px) and (max-width: 1600px) {
  .wave-services {
    padding: 36px 0;
  }

  .wave-services__shell {
    padding-left: 36px;
    padding-right: 36px;
  }

  .wave-services__intro {
    margin-bottom: 30px;
  }

  .wave-services__heading {
    font-size: 2.75rem;
  }

  .wave-services__intro-text {
    font-size: 1.04rem;
    line-height: 1.65;
  }

  .wave-svc-card {
    border-radius: 24px;
  }

  .wave-svc-card:hover {
    transform: translateY(-8px);
  }

  .wave-svc-card__media {
    height: 350px;
  }

  .wave-svc-card__num {
    top: 16px;
    left: 16px;
    font-size: 12px;
    padding: 6px 12px;
  }

  .wave-svc-card__icon {
    width: 48px;
    height: 48px;
    font-size: 1.25rem;
    border-radius: 14px;
    right: 16px;
    bottom: 16px;
  }

  .wave-svc-card__body {
    padding: 24px 22px 26px;
  }

  .wave-svc-card__title {
    font-size: 1.35rem;
    margin-bottom: 10px;
  }

  .wave-svc-card__text {
    font-size: 0.94rem;
    line-height: 1.65;
    margin-bottom: 18px;
  }

  .wave-svc-card__btn {
    padding-top: 9px;
    padding-bottom: 9px;
    font-size: 0.9rem;
  }
}

/* ---------- 19" Desktop ? 1440 � 900 ---------- */
@media (min-width: 1367px) and (max-width: 1440px) {
  .wave-services {
    padding: 32px 0;
  }

  .wave-services__shell {
    padding-left: 28px;
    padding-right: 28px;
  }

  .wave-services__intro {
    margin-bottom: 26px;
  }

  .wave-services__heading {
    font-size: 2.5rem;
  }

  .wave-services__intro-text {
    font-size: 1rem;
    line-height: 1.6;
    max-width: 620px;
  }

  .wave-svc-card {
    border-radius: 22px;
  }

  .wave-svc-card:hover {
    transform: translateY(-8px);
  }

  .wave-svc-card__media {
    height: 320px;
  }

  .wave-svc-card__num {
    top: 14px;
    left: 14px;
    font-size: 11px;
    padding: 5px 11px;
  }

  .wave-svc-card__icon {
    width: 44px;
    height: 44px;
    font-size: 1.15rem;
    border-radius: 12px;
    right: 14px;
    bottom: 14px;
  }

  .wave-svc-card__body {
    padding: 20px 18px 22px;
  }

  .wave-svc-card__title {
    font-size: 1.25rem;
    margin-bottom: 8px;
  }

  .wave-svc-card__text {
    font-size: 0.9rem;
    line-height: 1.6;
    margin-bottom: 16px;
  }

  .wave-svc-card__btn {
    padding: 8px 12px;
    font-size: 0.86rem;
  }
}

/* ---------- 15" Notebook ? 1366 � 768 ---------- */
@media (min-width: 1281px) and (max-width: 1366px) {
  .wave-services {
    padding: 28px 0;
  }

  .wave-services__shell {
    padding-left: 24px;
    padding-right: 24px;
  }

  .wave-services__glow {
    width: 280px;
    height: 280px;
  }

  .wave-services__intro {
    margin-bottom: 22px;
  }

  .wave-services__heading {
    font-size: 2.25rem;
  }

  .wave-services__intro-text {
    font-size: 0.95rem;
    line-height: 1.55;
    max-width: 560px;
  }

  .wave-svc-card {
    border-radius: 20px;
  }

  .wave-svc-card:hover {
    transform: translateY(-6px);
  }

  .wave-svc-card__media {
    height: 210px;
  }

  .wave-svc-card__num {
    top: 12px;
    left: 12px;
    font-size: 11px;
    padding: 5px 10px;
  }

  .wave-svc-card__icon {
    width: 40px;
    height: 40px;
    font-size: 1.05rem;
    border-radius: 12px;
    right: 12px;
    bottom: 12px;
  }

  .wave-svc-card__body {
    padding: 16px 16px 18px;
  }

  .wave-svc-card__title {
    font-size: 1.15rem;
    margin-bottom: 8px;
    line-height: 1.25;
  }

  .wave-svc-card__text {
    font-size: 0.85rem;
    line-height: 1.55;
    margin-bottom: 14px;
  }

  .wave-svc-card__btn {
    padding: 7px 11px;
    font-size: 0.82rem;
  }
}

/* ---------- 13" Notebook ? 1280 � 800 ---------- */
@media (min-width: 1200px) and (max-width: 1280px) {
  .wave-services {
    padding: 26px 0;
  }

  .wave-services__shell {
    padding-left: 22px;
    padding-right: 22px;
  }

  .wave-services__glow {
    width: 260px;
    height: 260px;
  }

  .wave-services__intro {
    margin-bottom: 20px;
  }

  .wave-services__heading {
    font-size: 2.2rem;
  }

  .wave-services__intro-text {
    font-size: 0.94rem;
    line-height: 1.55;
    max-width: 540px;
  }

  .wave-svc-card {
    border-radius: 18px;
  }

  .wave-svc-card:hover {
    transform: translateY(-6px);
  }

  .wave-svc-card__media {
    height: 200px;
  }

  .wave-svc-card__num {
    top: 12px;
    left: 12px;
    font-size: 11px;
    padding: 5px 10px;
  }

  .wave-svc-card__icon {
    width: 40px;
    height: 40px;
    font-size: 1.05rem;
    border-radius: 12px;
    right: 12px;
    bottom: 12px;
  }

  .wave-svc-card__body {
    padding: 16px 14px 18px;
  }

  .wave-svc-card__title {
    font-size: 1.12rem;
    margin-bottom: 8px;
    line-height: 1.25;
  }

  .wave-svc-card__text {
    font-size: 0.84rem;
    line-height: 1.55;
    margin-bottom: 14px;
  }

  .wave-svc-card__btn {
    padding: 7px 11px;
    font-size: 0.8rem;
  }
}

/* Short-height tweak: 15" / 13" notebooks (?768?820px tall) */
@media (min-width: 1200px) and (max-width: 1366px) and (max-height: 820px) {
  .wave-services {
    padding: 22px 0;
  }

  .wave-services__intro {
    margin-bottom: 16px;
  }

  .wave-services__heading {
    font-size: 2rem;
  }

  .wave-services__intro-text {
    font-size: 0.9rem;
    margin-top: 10px !important;
  }

  .wave-svc-card__media {
    height: 280px;
  }

  .wave-svc-card__body {
    padding: 14px 14px 16px;
  }

  .wave-svc-card__title {
    font-size: 1.08rem;
    margin-bottom: 6px;
  }

  .wave-svc-card__text {
    font-size: 0.8rem;
    line-height: 1.5;
    margin-bottom: 12px;
  }
}

/* Services slider */
.wave-services-slider {
  width: 100%;
  overflow: hidden;
  padding-bottom: 8px;
}

.wave-services-slider .swiper-slide {
  height: auto;
}

.wave-services-slider__dots {
  position: static !important;
  margin-top: 22px;
  display: none;
}

.wave-services-slider__dots .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: rgba(15, 20, 18, 0.2);
  opacity: 1;
  transition: background 0.25s ease, transform 0.25s ease;
}

.wave-services-slider__dots .swiper-pagination-bullet-active {
  background: var(--main-600);
  transform: scale(1.2);
}

@media (min-width: 992px) {
  .wave-services-slider .swiper-wrapper {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
    transform: none !important;
  }

  .wave-services-slider .swiper-slide {
    width: auto !important;
    margin: 0 !important;
  }

  .wave-services-slider__dots {
    display: none !important;
  }
}

@media (max-width: 991.98px) {
  .wave-services {
    padding: 28px 0 36px;
  }

  .wave-services__intro {
    margin-bottom: 24px;
  }

  .wave-services__heading {
    font-size: 2.1rem;
  }

  .wave-services__intro-text {
    font-size: 0.98rem;
    padding: 0 8px;
  }

  .wave-services-slider {
    padding-left: 4px;
    padding-right: 4px;
    padding-bottom: 12px;
  }

  .wave-services-slider__dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
  }

  .wave-svc-card__media {
    height: 240px;
  }

  .wave-svc-card:hover {
    transform: none;
  }
}

@media (max-width: 575.98px) {
  .wave-services__shell {
    padding-left: 14px;
    padding-right: 14px;
  }

  .wave-services__heading {
    font-size: 1.85rem;
  }

  .wave-services__intro-text {
    font-size: 0.92rem;
  }

  .wave-svc-card {
    border-radius: 22px;
  }

  .wave-svc-card__media {
    height: 200px;
  }

  .wave-svc-card__body {
    padding: 20px 16px 22px;
  }

  .wave-svc-card__title {
    font-size: 1.15rem;
  }

  .wave-svc-card__text {
    font-size: 0.9rem;
    line-height: 1.6;
    margin-bottom: 16px;
  }

  .wave-svc-card__btn {
    padding: 8px 12px;
    font-size: 0.84rem;
  }
}

/* iPhone 6/7 Plus ? 414 � 736 */
@media (max-width: 414.98px) {
  .wave-services__heading {
    font-size: 1.75rem;
  }

  .wave-svc-card__media {
    height: 190px;
  }

  .wave-svc-card__body {
    padding: 18px 14px 20px;
  }
}

/* iPhone 6/7 ? 375 � 667 */
@media (max-width: 375.98px) {
  .wave-services {
    padding: 24px 0 30px;
  }

  .wave-services__heading {
    font-size: 1.65rem;
  }

  .wave-services__intro-text {
    font-size: 0.88rem;
  }

  .wave-svc-card__media {
    height: 180px;
  }

  .wave-svc-card__title {
    font-size: 1.08rem;
  }

  .wave-svc-card__text {
    font-size: 0.86rem;
  }

  .wave-svc-card__icon {
    width: 40px;
    height: 40px;
    font-size: 1.05rem;
  }
}

/* LG G3 / Galaxy S3?7 ? 360 � 640 */
@media (max-width: 360.98px) {
  .wave-services__shell {
    padding-left: 12px;
    padding-right: 12px;
  }

  .wave-services__heading {
    font-size: 1.55rem;
  }

  .wave-services__intro-text {
    font-size: 0.84rem;
  }

  .wave-svc-card {
    border-radius: 18px;
  }

  .wave-svc-card__media {
    height: 170px;
  }

  .wave-svc-card__body {
    padding: 16px 12px 18px;
  }

  .wave-svc-card__title {
    font-size: 1.02rem;
  }

  .wave-svc-card__text {
    font-size: 0.82rem;
    margin-bottom: 12px;
  }

  .wave-svc-card__btn {
    padding: 7px 11px;
    font-size: 0.8rem;
  }

  .wave-services-slider__dots {
    margin-top: 16px;
  }
}

/* Portfolio - full width stylish cards */
.wave-portfolio {
  width: 100%;
  padding: clamp(70px, 9vw, 120px) 0;
  background:
    radial-gradient(ellipse 55% 45% at 20% 10%, rgba(6, 103, 214, 0.1), transparent 55%),
    linear-gradient(180deg, #0f1412 0%, #161c19 50%, #101512 100%);
}

.wave-portfolio__glow {
  position: absolute;
  width: 480px;
  height: 480px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(6, 103, 214, 0.2), transparent 70%);
  bottom: -80px;
  left: -100px;
  filter: blur(12px);
  pointer-events: none;
}

.wave-portfolio__shell {
  width: 100%;
  max-width: 100%;
  padding-left: clamp(16px, 3vw, 48px);
  padding-right: clamp(16px, 3vw, 48px);
  position: relative;
  z-index: 1;
}

.wave-portfolio__intro {
  margin-bottom: clamp(40px, 5vw, 70px);
}

.wave-portfolio__heading {
  font-size: clamp(2rem, 3.5vw, 3.4rem);
  letter-spacing: -0.02em;
  color: #fff;
}

.wave-portfolio__lead {
  max-width: 700px;
  font-size: 1.1rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.72);
}

.wave-port-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 30px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.25);
  transition: transform 0.45s ease, border-color 0.45s ease, box-shadow 0.45s ease;
}

.wave-port-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}

.wave-port-card:hover {
  transform: translateY(-12px);
  border-color: rgba(6, 103, 214, 0.5);
  box-shadow: 0 32px 70px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(6, 103, 214, 0.15);
}

.wave-port-card__media {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto;
  overflow: hidden;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}

.wave-port-card__img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  transition: transform 0.75s ease;
}

.wave-port-card:hover .wave-port-card__img {
  transform: scale(1.05);
}

.wave-port-card__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(8, 12, 10, 0.28) 100%);
  pointer-events: none;
  transition: opacity 0.35s ease;
  z-index: 1;
}

.wave-port-card:hover .wave-port-card__shade {
  opacity: 0.9;
}

.wave-port-card__badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(15, 20, 18, 0.72);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.wave-port-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 28px 26px 30px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(0, 0, 0, 0.15);
}

.wave-port-card__title {
  font-size: 1.45rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.02em;
  margin-bottom: 18px;
  line-height: 1.25;
}

.wave-port-card__list {
  list-style: none;
  padding: 0;
  margin: 0 0 26px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}

.wave-port-card__list li {
  position: relative;
  padding-left: 22px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.98rem;
  line-height: 1.45;
  font-weight: 500;
}

.wave-port-card__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--main-600);
  box-shadow: 0 0 0 3px rgba(6, 103, 214, 0.18);
}

.wave-port-card__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  margin-top: auto;
}

.wave-port-card__quote {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--main-600);
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none;
  padding: 8px 0;
  transition: color 0.25s ease, gap 0.25s ease;
}

.wave-port-card__quote:hover {
  color: #fff;
  gap: 12px;
}

/* ---------- 22" Desktop ? 1680 � 1050 ---------- */
@media (min-width: 1601px) and (max-width: 1680px) {
  .wave-portfolio {
    padding: 80px 0;
  }

  .wave-portfolio__shell {
    padding-left: 40px;
    padding-right: 40px;
  }

  .wave-portfolio__intro {
    margin-bottom: 48px;
  }

  .wave-portfolio__heading {
    font-size: 3rem;
  }

  .wave-portfolio__lead {
    font-size: 1.05rem;
  }

  .wave-port-card {
    border-radius: 26px;
  }

  .wave-port-card__media {
    padding: 16px;
  }

  .wave-port-card__body {
    padding: 24px 22px 26px;
  }

  .wave-port-card__title {
    font-size: 1.35rem;
    margin-bottom: 14px;
  }

  .wave-port-card__list {
    gap: 10px;
    margin-bottom: 20px;
  }

  .wave-port-card__list li {
    font-size: 0.94rem;
  }

  .wave-port-card__actions {
    gap: 12px;
  }
}

/* ---------- 20" Desktop ? 1600 � 900 ---------- */
@media (min-width: 1441px) and (max-width: 1600px) {
  .wave-portfolio {
    padding: 64px 0;
  }

  .wave-portfolio__shell {
    padding-left: 36px;
    padding-right: 36px;
  }

  .wave-portfolio__intro {
    margin-bottom: 40px;
  }

  .wave-portfolio__heading {
    font-size: 2.75rem;
  }

  .wave-portfolio__lead {
    font-size: 1.02rem;
    line-height: 1.65;
  }

  .wave-port-card {
    border-radius: 24px;
  }

  .wave-port-card:hover {
    transform: translateY(-8px);
  }

  .wave-port-card__media {
    padding: 14px;
  }

  .wave-port-card__badge {
    top: 12px;
    left: 12px;
    padding: 6px 12px;
    font-size: 10px;
  }

  .wave-port-card__body {
    padding: 20px 18px 22px;
  }

  .wave-port-card__title {
    font-size: 1.25rem;
    margin-bottom: 12px;
  }

  .wave-port-card__list {
    gap: 8px;
    margin-bottom: 16px;
  }

  .wave-port-card__list li {
    font-size: 0.9rem;
    padding-left: 20px;
  }

  .wave-port-card__list li::before {
    width: 7px;
    height: 7px;
  }

  .wave-port-card__actions {
    gap: 10px;
  }

  .wave-port-card__actions .btn {
    padding: 8px 12px;
    font-size: 0.88rem;
  }

  .wave-port-card__quote {
    font-size: 0.88rem;
    padding: 4px 0;
  }
}

/* ---------- 19" Desktop ? 1440 � 900 ---------- */
@media (min-width: 1367px) and (max-width: 1440px) {
  .wave-portfolio {
    padding: 56px 0;
  }

  .wave-portfolio__shell {
    padding-left: 28px;
    padding-right: 28px;
  }

  .wave-portfolio__intro {
    margin-bottom: 34px;
  }

  .wave-portfolio__heading {
    font-size: 2.5rem;
  }

  .wave-portfolio__lead {
    font-size: 0.98rem;
    line-height: 1.6;
    max-width: 620px;
  }

  .wave-portfolio .row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 1.5rem;
  }

  .wave-port-card {
    border-radius: 22px;
  }

  .wave-port-card:hover {
    transform: translateY(-8px);
  }

  .wave-port-card__media {
    padding: 14px;
  }

  .wave-port-card__badge {
    top: 12px;
    left: 12px;
    padding: 6px 12px;
    font-size: 10px;
  }

  .wave-port-card__body {
    padding: 24px 20px 26px;
  }

  .wave-port-card__title {
    font-size: 1.2rem;
    margin-bottom: 14px;
  }

  .wave-port-card__list {
    gap: 10px;
    margin-bottom: 20px;
  }

  .wave-port-card__list li {
    font-size: 0.88rem;
    padding-left: 20px;
    line-height: 1.4;
  }

  .wave-port-card__list li::before {
    width: 7px;
    height: 7px;
  }

  .wave-port-card__actions {
    gap: 12px;
  }

  .wave-port-card__actions .btn {
    padding: 9px 14px;
    font-size: 0.86rem;
  }

  .wave-port-card__quote {
    font-size: 0.86rem;
    gap: 8px;
    padding: 4px 0;
  }
}

/* ---------- 15" Notebook ? 1366 � 768 ---------- */
@media (min-width: 1281px) and (max-width: 1366px) {
  .wave-portfolio {
    padding: 48px 0;
  }

  .wave-portfolio__shell {
    padding-left: 24px;
    padding-right: 24px;
  }

  .wave-portfolio__glow {
    width: 300px;
    height: 300px;
  }

  .wave-portfolio__intro {
    margin-bottom: 28px;
  }

  .wave-portfolio__heading {
    font-size: 2.25rem;
  }

  .wave-portfolio__lead {
    font-size: 0.92rem;
    line-height: 1.55;
    max-width: 560px;
  }

  .wave-portfolio .row {
    --bs-gutter-x: 1.35rem;
    --bs-gutter-y: 1.35rem;
  }

  .wave-port-card {
    border-radius: 20px;
  }

  .wave-port-card:hover {
    transform: translateY(-6px);
  }

  .wave-port-card__media {
    aspect-ratio: 5 / 4;
    padding: 14px;
  }

  .wave-port-card__badge {
    top: 12px;
    left: 12px;
    padding: 6px 11px;
    font-size: 10px;
    letter-spacing: 0.1em;
  }

  .wave-port-card__body {
    padding: 22px 18px 24px;
  }

  .wave-port-card__title {
    font-size: 1.12rem;
    margin-bottom: 14px;
  }

  .wave-port-card__list {
    gap: 10px;
    margin-bottom: 18px;
  }

  .wave-port-card__list li {
    font-size: 0.84rem;
    padding-left: 18px;
    line-height: 1.4;
  }

  .wave-port-card__list li::before {
    width: 6px;
    height: 6px;
    top: 0.5em;
  }

  .wave-port-card__actions {
    gap: 12px;
  }

  .wave-port-card__actions .btn {
    padding: 8px 12px;
    font-size: 0.84rem;
  }

  .wave-port-card__quote {
    font-size: 0.84rem;
    gap: 7px;
    padding: 4px 0;
  }
}

/* ---------- 13" Notebook ? 1280 � 800 ---------- */
@media (min-width: 1200px) and (max-width: 1280px) {
  .wave-portfolio {
    padding: 44px 0;
  }

  .wave-portfolio__shell {
    padding-left: 22px;
    padding-right: 22px;
  }

  .wave-portfolio__glow {
    width: 260px;
    height: 260px;
  }

  .wave-portfolio__intro {
    margin-bottom: 24px;
  }

  .wave-portfolio__heading {
    font-size: 2.15rem;
  }

  .wave-portfolio__lead {
    font-size: 0.9rem;
    line-height: 1.55;
    max-width: 540px;
  }

  .wave-portfolio .row {
    --bs-gutter-x: 1.25rem;
    --bs-gutter-y: 1.25rem;
  }

  .wave-port-card {
    border-radius: 18px;
  }

  .wave-port-card:hover {
    transform: translateY(-6px);
  }

  .wave-port-card__media {
    aspect-ratio: 5 / 4;
    padding: 12px;
  }

  .wave-port-card__badge {
    top: 10px;
    left: 10px;
    padding: 5px 10px;
    font-size: 10px;
    letter-spacing: 0.08em;
  }

  .wave-port-card__body {
    padding: 20px 16px 22px;
  }

  .wave-port-card__title {
    font-size: 1.08rem;
    margin-bottom: 12px;
  }

  .wave-port-card__list {
    gap: 9px;
    margin-bottom: 16px;
  }

  .wave-port-card__list li {
    font-size: 0.82rem;
    padding-left: 18px;
    line-height: 1.4;
  }

  .wave-port-card__list li::before {
    width: 6px;
    height: 6px;
    top: 0.5em;
  }

  .wave-port-card__actions {
    gap: 10px;
  }

  .wave-port-card__actions .btn {
    padding: 8px 12px;
    font-size: 0.82rem;
  }

  .wave-port-card__quote {
    font-size: 0.82rem;
    gap: 6px;
    padding: 4px 0;
  }
}

/* Short-height tweak: 15" / 13" notebooks (?768?820px tall) */
@media (min-width: 1200px) and (max-width: 1366px) and (max-height: 820px) {
  .wave-portfolio {
    padding: 40px 0;
  }

  .wave-portfolio__intro {
    margin-bottom: 22px;
  }

  .wave-portfolio__heading {
    font-size: 2rem;
  }

  .wave-portfolio__lead {
    font-size: 0.88rem;
    margin-top: 10px !important;
  }

  .wave-port-card__media {
    aspect-ratio: 4 / 3;
    padding: 12px;
  }

  .wave-port-card__body {
    padding: 18px 16px 20px;
  }

  .wave-port-card__title {
    font-size: 1.05rem;
    margin-bottom: 10px;
  }

  .wave-port-card__list {
    gap: 8px;
    margin-bottom: 14px;
  }

  .wave-port-card__list li {
    font-size: 0.8rem;
  }

  .wave-port-card__actions {
    gap: 10px;
  }
}

/* Portfolio slider */
.wave-portfolio-slider {
  width: 100%;
  overflow: hidden;
  padding-bottom: 8px;
}

.wave-portfolio-slider .swiper-slide {
  height: auto;
}

.wave-portfolio-slider__dots {
  position: static !important;
  margin-top: 22px;
  display: none;
}

.wave-portfolio-slider__dots .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: rgba(255, 255, 255, 0.28);
  opacity: 1;
  transition: background 0.25s ease, transform 0.25s ease;
}

.wave-portfolio-slider__dots .swiper-pagination-bullet-active {
  background: var(--main-600);
  transform: scale(1.2);
}

@media (min-width: 1200px) {
  .wave-portfolio-slider .swiper-wrapper {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem;
    transform: none !important;
  }

  .wave-portfolio-slider .swiper-slide {
    width: auto !important;
    margin: 0 !important;
  }

  .wave-portfolio-slider__dots {
    display: none !important;
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .wave-portfolio-slider .swiper-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    transform: none !important;
  }

  .wave-portfolio-slider .swiper-slide {
    width: auto !important;
    margin: 0 !important;
  }

  .wave-portfolio-slider__dots {
    display: none !important;
  }
}

@media (max-width: 991.98px) {
  .wave-portfolio {
    padding: 48px 0;
  }

  .wave-portfolio__intro {
    margin-bottom: 28px;
  }

  .wave-portfolio__heading {
    font-size: 2.1rem;
  }

  .wave-portfolio__lead {
    font-size: 0.98rem;
    padding: 0 8px;
  }
}

@media (max-width: 767.98px) {
  .wave-portfolio-slider {
    padding-left: 2px;
    padding-right: 2px;
    padding-bottom: 12px;
  }

  .wave-portfolio-slider__dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
  }

  .wave-port-card:hover {
    transform: none;
  }

  .wave-cta {
    min-height: auto;
    padding: 28px 0;
  }

  .wave-cta__shell {
    padding-left: 14px;
    padding-right: 14px;
  }

  .wave-cta__panel {
    border-radius: 20px;
    padding: 20px 16px 18px;
  }

  .wave-cta__emblem-wrap {
    width: 52px;
    height: 52px;
    margin-bottom: 8px;
    border-radius: 12px;
    padding: 6px;
  }

  .wave-cta__eyebrow {
    font-size: 11px;
    letter-spacing: 0.1em;
    margin-bottom: 8px;
  }

  .wave-cta__title {
    font-size: 1.35rem;
    line-height: 1.25;
    margin-bottom: 8px;
  }

  .wave-cta__text {
    display: none;
  }

  .wave-cta__actions {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 8px;
    margin-bottom: 0;
  }

  .wave-cta__actions .btn {
    padding: 8px 12px;
    font-size: 0.8rem;
    min-height: 38px;
    flex: 1 1 auto;
    justify-content: center;
  }

  .wave-cta__meta,
  .wave-cta__social {
    display: none !important;
  }
}

@media (max-width: 575.98px) {
  .wave-portfolio {
    padding: 40px 0;
  }

  .wave-portfolio__shell {
    padding-left: 14px;
    padding-right: 14px;
  }

  .wave-portfolio__heading {
    font-size: 1.85rem;
  }

  .wave-portfolio__lead {
    font-size: 0.92rem;
  }

  .wave-port-card {
    border-radius: 20px;
  }

  .wave-port-card__media {
    padding: 12px;
  }

  .wave-port-card__body {
    padding: 18px 14px 20px;
  }

  .wave-port-card__title {
    font-size: 1.15rem;
    margin-bottom: 12px;
  }

  .wave-port-card__list {
    gap: 8px;
    margin-bottom: 16px;
  }

  .wave-port-card__list li {
    font-size: 0.88rem;
  }

  .wave-port-card__actions .btn {
    padding: 8px 12px;
    font-size: 0.84rem;
  }

  .wave-port-card__quote {
    font-size: 0.84rem;
  }

  .wave-cta {
    padding: 22px 0;
  }

  .wave-cta__panel {
    padding: 16px 14px 14px;
    border-radius: 18px;
  }

  .wave-cta__emblem-wrap {
    width: 46px;
    height: 46px;
    margin-bottom: 6px;
  }

  .wave-cta__title {
    font-size: 1.25rem;
    margin-bottom: 8px;
  }
}

/* iPhone 6/7 Plus ? 414 � 736 */
@media (max-width: 414.98px) {
  .wave-portfolio__heading {
    font-size: 1.75rem;
  }

  .wave-port-card__body {
    padding: 16px 14px 18px;
  }

  .wave-cta {
    padding: 20px 0;
  }

  .wave-cta__title {
    font-size: 1.22rem;
  }

  .wave-cta__panel {
    padding: 14px 12px 12px;
  }
}

/* iPhone 6/7 ? 375 � 667 */
@media (max-width: 375.98px) {
  .wave-portfolio {
    padding: 36px 0;
  }

  .wave-portfolio__heading {
    font-size: 1.65rem;
  }

  .wave-portfolio__lead {
    font-size: 0.88rem;
  }

  .wave-port-card__title {
    font-size: 1.08rem;
  }

  .wave-port-card__list li {
    font-size: 0.84rem;
  }

  .wave-cta {
    padding: 18px 0;
  }

  .wave-cta__emblem-wrap {
    width: 42px;
    height: 42px;
    margin-bottom: 6px;
  }

  .wave-cta__eyebrow {
    font-size: 10px;
    margin-bottom: 6px;
  }

  .wave-cta__title {
    font-size: 1.15rem;
    margin-bottom: 8px;
  }

  .wave-cta__actions .btn {
    padding: 7px 10px;
    font-size: 0.76rem;
  }
}

/* LG G3 / Galaxy S3?7 ? 360 � 640 */
@media (max-width: 360.98px) {
  .wave-portfolio__shell {
    padding-left: 12px;
    padding-right: 12px;
  }

  .wave-portfolio__heading {
    font-size: 1.55rem;
  }

  .wave-portfolio__lead {
    font-size: 0.84rem;
  }

  .wave-port-card {
    border-radius: 16px;
  }

  .wave-port-card__media {
    padding: 10px;
  }

  .wave-port-card__body {
    padding: 14px 12px 16px;
  }

  .wave-port-card__title {
    font-size: 1.02rem;
    margin-bottom: 10px;
  }

  .wave-port-card__list {
    gap: 6px;
    margin-bottom: 12px;
  }

  .wave-port-card__list li {
    font-size: 0.8rem;
    padding-left: 16px;
  }

  .wave-port-card__actions .btn {
    padding: 7px 11px;
    font-size: 0.8rem;
  }

  .wave-port-card__quote {
    font-size: 0.78rem;
  }

  .wave-portfolio-slider__dots {
    margin-top: 16px;
  }

  .wave-cta {
    padding: 16px 0;
  }

  .wave-cta__shell {
    padding-left: 10px;
    padding-right: 10px;
  }

  .wave-cta__panel {
    padding: 12px 10px 12px;
    border-radius: 16px;
  }

  .wave-cta__emblem-wrap {
    width: 40px;
    height: 40px;
    margin-bottom: 6px;
  }

  .wave-cta__eyebrow {
    font-size: 10px;
    margin-bottom: 6px;
  }

  .wave-cta__title {
    font-size: 1.08rem;
    margin-bottom: 8px;
  }

  .wave-cta__actions .btn {
    padding: 7px 9px;
    font-size: 0.74rem;
    min-height: 36px;
  }
}

/* Design & Online Marketing - full width */
.wave-marketing {
  width: 100%;
  background: #0f1412;
  color: #fff;
}

.wave-marketing__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 50% at 85% 20%, rgba(6, 103, 214, 0.18), transparent 60%),
    radial-gradient(ellipse 40% 40% at 70% 90%, rgba(6, 103, 214, 0.1), transparent 55%);
  pointer-events: none;
}

.wave-marketing__shell {
  position: relative;
  z-index: 1;
  padding: 0;
}

.wave-marketing__media {
  display: flex;
  flex-direction: column;
  padding: 0;
  min-height: 100%;
}

.wave-marketing__main-img {
  position: relative;
  flex: 1;
  min-height: 100%;
  height: 100%;
  overflow: hidden;
}

.wave-marketing__main-img img {
  transition: transform 0.8s ease;
}

.wave-marketing__main-img:hover img {
  transform: scale(1.05);
}

.wave-marketing__main-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(8, 12, 10, 0.75) 0%, rgba(8, 12, 10, 0.15) 55%, transparent 100%);
  pointer-events: none;
}

.wave-marketing__main-label {
  position: absolute;
  left: 28px;
  bottom: 28px;
  z-index: 2;
  color: #fff;
}

.wave-marketing__main-label span {
  display: block;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--main-600);
  font-weight: 700;
  margin-bottom: 6px;
}

.wave-marketing__main-label strong {
  display: block;
  font-size: clamp(1.25rem, 2vw, 1.6rem);
  font-weight: 700;
  max-width: 16ch;
  line-height: 1.25;
}

.wave-marketing__content {
  display: flex;
  align-items: center;
  padding: clamp(48px, 7vw, 100px) clamp(28px, 4vw, 64px) clamp(48px, 7vw, 100px) clamp(28px, 5vw, 72px);
}

.wave-marketing__copy {
  max-width: 100%;
  width: 100%;
}

.wave-marketing__title {
  font-size: clamp(2rem, 3.5vw, 3.25rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #fff;
  margin-bottom: 20px;
}

.wave-marketing__text {
  font-size: 1.05rem;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.78);
  margin-bottom: 16px;
}

.wave-marketing__points {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin: 32px 0 36px;
}

.wave-marketing__point {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 18px 20px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: border-color 0.25s ease, background 0.25s ease, transform 0.25s ease;
}

.wave-marketing__point:hover {
  background: rgba(6, 103, 214, 0.08);
  border-color: rgba(6, 103, 214, 0.35);
  transform: translateX(6px);
}

.wave-marketing__point-icon {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  background: rgba(6, 103, 214, 0.15);
  color: var(--main-600);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0;
}

.wave-marketing__point strong {
  display: block;
  color: #fff;
  font-size: 1.05rem;
  margin-bottom: 4px;
}

.wave-marketing__point p {
  margin: 0;
  color: rgba(255, 255, 255, 0.65);
  font-size: 0.95rem;
  line-height: 1.55;
}

.wave-marketing__actions .btn.bg-transparent {
  border-width: 1px !important;
  border-style: solid !important;
  border-color: rgba(255, 255, 255, 0.85) !important;
  color: #fff !important;
}

.wave-marketing__actions .btn.bg-transparent .btn-text,
.wave-marketing__actions .btn.bg-transparent .btn-anim__letter,
.wave-marketing__actions .btn.bg-transparent .btn-icon-animation,
.wave-marketing__actions .btn.bg-transparent i {
  color: #fff !important;
}

/* ---------- 22" Desktop ? 1680 � 1050 ---------- */
@media (min-width: 1601px) and (max-width: 1680px) {
  .wave-marketing__content {
    padding: 72px 48px 72px 56px;
  }

  .wave-marketing__title {
    font-size: 2.9rem;
    margin-bottom: 18px;
  }

  .wave-marketing__text {
    font-size: 1.02rem;
    line-height: 1.7;
    margin-bottom: 14px;
  }

  .wave-marketing__points {
    gap: 16px;
    margin: 28px 0 32px;
  }

  .wave-marketing__point {
    padding: 16px 18px;
  }

  .wave-marketing__main-label {
    left: 24px;
    bottom: 24px;
  }

  .wave-marketing__main-label strong {
    font-size: 1.45rem;
  }
}

/* ---------- 20" Desktop ? 1600 � 900 ---------- */
@media (min-width: 1441px) and (max-width: 1600px) {
  .wave-marketing__content {
    padding: 56px 40px 56px 48px;
  }

  .wave-marketing__title {
    font-size: 2.65rem;
    margin-bottom: 14px;
  }

  .wave-marketing__text {
    font-size: 0.98rem;
    line-height: 1.65;
    margin-bottom: 12px;
  }

  .wave-marketing__points {
    gap: 12px;
    margin: 22px 0 26px;
  }

  .wave-marketing__point {
    padding: 14px 16px;
    gap: 14px;
    border-radius: 14px;
  }

  .wave-marketing__point-icon {
    width: 42px;
    height: 42px;
    font-size: 1.15rem;
    border-radius: 10px;
  }

  .wave-marketing__point strong {
    font-size: 0.98rem;
  }

  .wave-marketing__point p {
    font-size: 0.9rem;
    line-height: 1.45;
  }

  .wave-marketing__main-label {
    left: 22px;
    bottom: 22px;
  }

  .wave-marketing__main-label strong {
    font-size: 1.35rem;
  }

  .wave-marketing__actions .btn {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

/* ---------- 19" Desktop ? 1440 � 900 ---------- */
@media (min-width: 1367px) and (max-width: 1440px) {
  .wave-marketing__content {
    padding: 48px 32px 48px 40px;
  }

  .wave-marketing__title {
    font-size: 2.4rem;
    margin-bottom: 12px;
  }

  .wave-marketing__text {
    font-size: 0.94rem;
    line-height: 1.6;
    margin-bottom: 10px;
  }

  .wave-marketing__points {
    gap: 10px;
    margin: 20px 0 24px;
  }

  .wave-marketing__point {
    padding: 12px 14px;
    gap: 12px;
    border-radius: 12px;
  }

  .wave-marketing__point-icon {
    width: 40px;
    height: 40px;
    font-size: 1.1rem;
    border-radius: 10px;
  }

  .wave-marketing__point strong {
    font-size: 0.95rem;
    margin-bottom: 2px;
  }

  .wave-marketing__point p {
    font-size: 0.86rem;
    line-height: 1.4;
  }

  .wave-marketing__main-label {
    left: 20px;
    bottom: 20px;
  }

  .wave-marketing__main-label span {
    font-size: 11px;
    margin-bottom: 4px;
  }

  .wave-marketing__main-label strong {
    font-size: 1.25rem;
  }

  .wave-marketing__actions {
    gap: 10px !important;
  }

  .wave-marketing__actions .btn {
    padding: 9px 14px;
    font-size: 0.9rem;
  }
}

/* ---------- 15" Notebook ? 1366 � 768 ---------- */
@media (min-width: 1281px) and (max-width: 1366px) {
  .wave-marketing__content {
    padding: 36px 28px 36px 32px;
  }

  .wave-marketing__title {
    font-size: 2.15rem;
    margin-bottom: 10px;
    line-height: 1.18;
  }

  .wave-marketing__text {
    font-size: 0.88rem;
    line-height: 1.55;
    margin-bottom: 8px;
  }

  .wave-marketing__points {
    gap: 8px;
    margin: 16px 0 18px;
  }

  .wave-marketing__point {
    padding: 10px 12px;
    gap: 10px;
    border-radius: 12px;
  }

  .wave-marketing__point:hover {
    transform: translateX(4px);
  }

  .wave-marketing__point-icon {
    width: 36px;
    height: 36px;
    font-size: 1rem;
    border-radius: 9px;
  }

  .wave-marketing__point strong {
    font-size: 0.9rem;
    margin-bottom: 2px;
  }

  .wave-marketing__point p {
    font-size: 0.8rem;
    line-height: 1.35;
  }

  .wave-marketing__main-label {
    left: 18px;
    bottom: 18px;
  }

  .wave-marketing__main-label span {
    font-size: 10px;
    margin-bottom: 4px;
  }

  .wave-marketing__main-label strong {
    font-size: 1.15rem;
  }

  .wave-marketing__actions {
    gap: 8px !important;
  }

  .wave-marketing__actions .btn {
    padding: 8px 12px;
    font-size: 0.86rem;
  }
}

/* ---------- 13" Notebook ? 1280 � 800 ---------- */
@media (min-width: 1200px) and (max-width: 1280px) {
  .wave-marketing__content {
    padding: 32px 24px 32px 28px;
  }

  .wave-marketing__title {
    font-size: 2.05rem;
    margin-bottom: 10px;
    line-height: 1.18;
  }

  .wave-marketing__text {
    font-size: 0.9rem;
    line-height: 1.55;
    margin-bottom: 8px;
  }

  .wave-marketing__points {
    gap: 8px;
    margin: 14px 0 16px;
  }

  .wave-marketing__point {
    padding: 10px 12px;
    gap: 10px;
    border-radius: 12px;
  }

  .wave-marketing__point:hover {
    transform: translateX(4px);
  }

  .wave-marketing__point-icon {
    width: 36px;
    height: 36px;
    font-size: 1rem;
    border-radius: 9px;
  }

  .wave-marketing__point strong {
    font-size: 0.9rem;
    margin-bottom: 2px;
  }

  .wave-marketing__point p {
    font-size: 0.8rem;
    line-height: 1.35;
  }

  .wave-marketing__main-label {
    left: 16px;
    bottom: 16px;
  }

  .wave-marketing__main-label span {
    font-size: 10px;
    margin-bottom: 4px;
  }

  .wave-marketing__main-label strong {
    font-size: 1.1rem;
  }

  .wave-marketing__actions {
    gap: 8px !important;
  }

  .wave-marketing__actions .btn {
    padding: 8px 12px;
    font-size: 0.86rem;
  }
}

/* Short-height tweak: 15" / 13" notebooks (?768?820px tall) */
@media (min-width: 1200px) and (max-width: 1366px) and (max-height: 820px) {
  .wave-marketing__content {
    padding-top: 28px;
    padding-bottom: 28px;
  }

  .wave-marketing__title {
    font-size: 1.95rem;
    margin-bottom: 8px;
  }

  .wave-marketing__text {
    font-size: 0.84rem;
    line-height: 1.5;
    margin-bottom: 6px;
  }

  .wave-marketing__points {
    gap: 6px;
    margin: 12px 0 14px;
  }

  .wave-marketing__point {
    padding: 8px 10px;
  }

  .wave-marketing__point p {
    font-size: 0.76rem;
    line-height: 1.3;
  }

  .wave-marketing__point-icon {
    width: 32px;
    height: 32px;
    font-size: 0.9rem;
  }
}

@media (max-width: 991.98px) {
  .wave-marketing__main-img {
    min-height: 340px;
  }

  .wave-marketing__content {
    padding: 40px 24px 56px;
  }

  .wave-marketing__title {
    font-size: 2.1rem;
    margin-bottom: 14px;
  }

  .wave-marketing__text {
    font-size: 0.98rem;
    line-height: 1.65;
  }

  .wave-marketing__points {
    gap: 12px;
    margin: 24px 0 28px;
  }

  .wave-marketing__point {
    padding: 14px 16px;
  }

  .wave-marketing__actions {
    gap: 12px !important;
  }

  .wave-marketing__actions .btn.bg-transparent {
    display: none !important;
  }
}

@media (max-width: 575.98px) {
  .wave-marketing__main-img {
    min-height: 260px;
  }

  .wave-marketing__main-label {
    left: 16px;
    bottom: 16px;
  }

  .wave-marketing__main-label span {
    font-size: 11px;
  }

  .wave-marketing__main-label strong {
    font-size: 1.1rem;
  }

  .wave-marketing__content {
    padding: 32px 18px 44px;
  }

  .wave-marketing__title {
    font-size: 1.85rem;
    margin-top: 14px !important;
  }

  .wave-marketing__text {
    font-size: 0.92rem;
    line-height: 1.6;
    margin-bottom: 12px;
  }

  .wave-marketing__points {
    gap: 10px;
    margin: 20px 0 22px;
  }

  .wave-marketing__point {
    padding: 12px 14px;
    gap: 12px;
    border-radius: 14px;
  }

  .wave-marketing__point:hover {
    transform: translateX(3px);
  }

  .wave-marketing__point-icon {
    width: 40px;
    height: 40px;
    font-size: 1.1rem;
  }

  .wave-marketing__point strong {
    font-size: 0.95rem;
  }

  .wave-marketing__point p {
    font-size: 0.86rem;
    line-height: 1.45;
  }

  .wave-marketing__actions .btn {
    padding: 9px 14px;
    font-size: 0.88rem;
  }
}

/* iPhone 6/7 Plus ? 414 � 736 */
@media (max-width: 414.98px) {
  .wave-marketing__main-img {
    min-height: 240px;
  }

  .wave-marketing__content {
    padding: 28px 16px 40px;
  }

  .wave-marketing__title {
    font-size: 1.75rem;
  }

  .wave-marketing__text {
    font-size: 0.9rem;
  }

  .wave-marketing__point {
    padding: 12px;
  }

  .wave-marketing__point-icon {
    width: 38px;
    height: 38px;
  }
}

/* iPhone 6/7 ? 375 � 667 */
@media (max-width: 375.98px) {
  .wave-marketing__main-img {
    min-height: 220px;
  }

  .wave-marketing__main-label {
    left: 14px;
    bottom: 14px;
  }

  .wave-marketing__main-label strong {
    font-size: 1rem;
  }

  .wave-marketing__content {
    padding: 24px 14px 36px;
  }

  .wave-marketing__title {
    font-size: 1.6rem;
  }

  .wave-marketing__text {
    font-size: 0.88rem;
    line-height: 1.55;
  }

  .wave-marketing__points {
    gap: 8px;
    margin: 16px 0 18px;
  }

  .wave-marketing__point {
    padding: 10px 12px;
    gap: 10px;
  }

  .wave-marketing__point-icon {
    width: 36px;
    height: 36px;
    font-size: 1rem;
    border-radius: 10px;
  }

  .wave-marketing__point strong {
    font-size: 0.9rem;
  }

  .wave-marketing__point p {
    font-size: 0.8rem;
  }

  .wave-marketing__actions .btn {
    padding: 8px 12px;
    font-size: 0.84rem;
  }
}

/* LG G3 / Galaxy S3?7 ? 360 � 640 */
@media (max-width: 360.98px) {
  .wave-marketing__main-img {
    min-height: 200px;
  }

  .wave-marketing__main-label {
    left: 12px;
    bottom: 12px;
  }

  .wave-marketing__main-label span {
    font-size: 10px;
  }

  .wave-marketing__main-label strong {
    font-size: 0.95rem;
  }

  .wave-marketing__content {
    padding: 22px 12px 32px;
  }

  .wave-marketing__title {
    font-size: 1.5rem;
    margin-bottom: 10px;
  }

  .wave-marketing__text {
    font-size: 0.84rem;
    margin-bottom: 10px;
  }

  .wave-marketing__points {
    gap: 8px;
    margin: 14px 0 16px;
  }

  .wave-marketing__point {
    padding: 10px;
    gap: 8px;
  }

  .wave-marketing__point-icon {
    width: 34px;
    height: 34px;
    font-size: 0.95rem;
  }

  .wave-marketing__point strong {
    font-size: 0.86rem;
  }

  .wave-marketing__point p {
    font-size: 0.76rem;
    line-height: 1.35;
  }

  .wave-marketing__actions {
    gap: 8px !important;
  }

  .wave-marketing__actions .btn {
    padding: 8px 11px;
    font-size: 0.8rem;
  }
}

.header.sticky-bg-white {
  background-color: transparent;
}

/* WAVE full-width stylish header */
.wave-header {
  width: 100%;
  position: relative;
  z-index: 99;
  background: transparent;
}

.wave-header__shell {
  width: 100%;
  max-width: 100%;
  padding-left: clamp(16px, 3.5vw, 56px);
  padding-right: clamp(16px, 3.5vw, 56px);
}

.wave-header__top {
  background:
    linear-gradient(90deg, #0554b3 0%, #0667d6 50%, #04448f 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.wave-header__top-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 38px;
}

.wave-header__tag {
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.wave-header__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
}

.wave-header__meta-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.25s ease;
}

.wave-header__meta-link i {
  color: #fff;
}

.wave-header__meta-link:hover {
  color: #fff;
}

.wave-header__main {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(15, 20, 18, 0.06);
  box-shadow: 0 10px 30px rgba(15, 20, 18, 0.04);
  transition: background 0.3s ease, box-shadow 0.3s ease;
}

.wave-header.fixed-header .wave-header__main {
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 14px 36px rgba(15, 20, 18, 0.08);
}

.wave-header__nav {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 100px;
}

.wave-header__brand {
  display: inline-flex;
  align-items: center;
  position: relative;
  z-index: 3;
}

.wave-header__brand .wave-logo {
  max-height: 92px;
  max-width: min(420px, 34vw);
  width: auto;
  height: auto;
}

.wave-header__brand::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 42%;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--main-600), transparent);
  opacity: 0.85;
}

.wave-header__menu {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  justify-content: center;
  align-items: center;
  z-index: 2;
}

@media (min-width: 992px) {
  .wave-header__menu {
    display: flex !important;
  }
}

.wave-header__list {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  width: auto;
  max-width: 100%;
  gap: 2px;
  padding: 5px;
  margin: 0 auto;
  list-style: none;
  background: #eef4f0;
  border: 1px solid rgba(15, 20, 18, 0.07);
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.wave-header .nav-menu__item {
  position: relative;
  display: flex;
  align-items: center;
}

.wave-header .nav-menu__link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 11px 18px !important;
  border-radius: 999px;
  color: #1a211d !important;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}

.wave-header .nav-menu__item:hover > .nav-menu__link,
.wave-header .nav-menu__item.activePage > .nav-menu__link {
  background: #fff;
  color: var(--main-600) !important;
  box-shadow: 0 6px 16px rgba(15, 20, 18, 0.08);
}

.wave-header .nav-menu__item.activePage {
  background: transparent !important;
  color: inherit !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

.wave-header .has-submenu > a {
  padding-inline-end: 18px !important;
}

/* Hide left caret; show dropdown icon on the right of Portfolio */
.wave-header .has-submenu > a::before {
  display: none !important;
  content: none !important;
}

.wave-header .has-submenu > a::after {
  content: "\e136";
  font-family: "Phosphor";
  font-weight: 900;
  font-size: 11px;
  line-height: 1;
  color: inherit;
  display: inline-flex;
  align-items: center;
  margin-inline-start: 2px;
  transition: transform 0.2s linear, color 0.2s linear;
}

.wave-header .has-submenu:hover > a::after,
.wave-header .has-submenu.active > a::after {
  transform: rotate(180deg);
  color: var(--main-600);
}

.wave-header__actions {
  display: flex;
  align-items: center;
  gap: 14px;
}

.wave-header__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 20px;
  border-radius: 999px;
  background: linear-gradient(135deg, #0554b3 0%, #0667d6 55%, #04448f 100%);
  color: #fff !important;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(6, 103, 214, 0.28);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.wave-header__cta i {
  font-size: 15px;
  transition: transform 0.25s ease;
}

.wave-header__cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(6, 103, 214, 0.36);
  color: #fff !important;
}

.wave-header__cta:hover i {
  transform: translate(2px, -2px);
}

.wave-header__burger {
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 14px;
  background: #f3f6fb;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0;
}

.wave-header__burger span {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: #142019;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.wave-header .wave-nav-dropdown {
  top: calc(100% + 14px);
  left: 50%;
  transform: translateX(-50%) scaleY(0);
}

.wave-header .has-submenu:hover .wave-nav-dropdown {
  transform: translateX(-50%) scaleY(1);
}

@media (max-width: 1199.98px) {
  .wave-header__list .nav-menu__link {
    padding: 10px 14px !important;
    font-size: 13px;
  }
}

@media (max-width: 1199.98px) {
  .wave-header__brand .wave-logo {
    max-height: 80px;
    max-width: min(340px, 32vw);
  }
}

@media (max-width: 991.98px) {
  .wave-header__shell {
    padding-left: 16px;
    padding-right: 16px;
  }

  .wave-header__nav {
    min-height: 72px;
    gap: 12px;
  }

  .wave-header__menu {
    display: none !important;
    position: static;
    left: auto;
    top: auto;
    transform: none;
  }

  .wave-header__brand {
    flex: 1 1 auto;
    min-width: 0;
    max-width: calc(100% - 60px);
  }

  .wave-header__brand .wave-logo {
    max-height: 56px;
    max-width: 100%;
    width: auto;
  }

  .wave-header__brand::after {
    display: none;
  }

  .wave-header__actions {
    flex-shrink: 0;
    gap: 8px;
  }

  .wave-header__burger {
    width: 42px;
    height: 42px;
    border-radius: 12px;
  }
}

/* iPhone 6/7 Plus ? 414 � 736 */
@media (max-width: 414.98px) {
  .wave-header__shell {
    padding-left: 14px;
    padding-right: 14px;
  }

  .wave-header__nav {
    min-height: 66px;
    gap: 10px;
  }

  .wave-header__brand .wave-logo {
    max-height: 58px;
  }

  .wave-header__burger {
    width: 40px;
    height: 40px;
  }

  .mobile-menu {
    width: min(300px, 88vw) !important;
  }

  .mobile-menu__logo .wave-logo {
    max-height: 48px;
    max-width: 160px;
  }

  .wave-cta__title {
    font-size: 20px !important;
  }
}

/* iPhone 6/7 ? 375 � 667 */
@media (max-width: 375.98px) {
  .wave-header__shell {
    padding-left: 12px;
    padding-right: 12px;
  }

  .wave-header__nav {
    min-height: 62px;
  }

  .wave-header__brand .wave-logo {
    max-height: 54px;
  }

  .wave-header__burger {
    width: 38px;
    height: 38px;
    border-radius: 11px;
  }

  .wave-header__burger span {
    width: 16px;
  }

  .mobile-menu__logo .wave-logo {
    max-height: 44px;
    max-width: 150px;
  }
}

/* LG G3 / Galaxy S3?7 ? 360 � 640 */
@media (max-width: 360.98px) {
  .wave-header__shell {
    padding-left: 10px;
    padding-right: 10px;
  }

  .wave-header__nav {
    min-height: 58px;
    gap: 8px;
  }

  .wave-header__brand .wave-logo {
    max-height: 50px;
  }

  .wave-header__burger {
    width: 36px;
    height: 36px;
    border-radius: 10px;
  }

  .wave-header__burger span {
    width: 15px;
    gap: 4px;
  }

  .mobile-menu__logo .wave-logo {
    max-height: 40px;
    max-width: 140px;
  }
}

.wave-logo {
  max-height: 92px;
  width: auto;
  max-width: 380px;
  object-fit: contain;
}

.wave-logo--footer {
  max-height: 80px;
  max-width: 260px;
}

.mobile-menu__logo .wave-logo {
  max-height: 56px;
  max-width: 180px;
}

.page-banner {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #0f1412 0%, #1a2420 55%, #0f1412 100%);
  padding: 100px 0 70px;
}

@media (min-width: 992px) {
  .page-banner {
    padding: 140px 0 90px;
  }
}

.page-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../images/bg/breadcrumb-gradient-bg.png) center/cover no-repeat;
  opacity: 0.35;
  pointer-events: none;
}

.page-banner .container {
  position: relative;
  z-index: 1;
}

.banner-demand__thumb img {
  object-fit: cover;
}

.wave-service-card,
.wave-portfolio-card {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.wave-service-card:hover,
.wave-portfolio-card:hover {
  transform: translateY(-6px);
}

.wave-portfolio-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.wave-portfolio-card:hover img {
  transform: scale(1.05);
}

.wave-portfolio-card__label {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 1.25rem;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.75));
}

/* Portfolio dropdown */
.wave-nav-dropdown {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  z-index: 100;
  min-width: 230px;
  padding: 8px;
  margin: 0;
  list-style: none;
  background: #121816;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
}

.wave-nav-dropdown .nav-submenu__link {
  display: block;
  padding: 11px 14px;
  border-radius: 10px;
  color: #fff !important;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background 0.25s ease, color 0.25s ease;
}

.wave-nav-dropdown .nav-submenu__item:hover .nav-submenu__link,
.wave-nav-dropdown .nav-submenu__item.activePage .nav-submenu__link {
  background: var(--main-600);
  color: #fff !important;
}

.header-menu .has-submenu > a.pe-4 {
  padding-inline-end: 1.5rem !important;
}

/* Portfolio hub */
.wave-portfolio-hub {
  padding: 48px 0 70px;
  background: #f3f6fb;
}

.wave-portfolio-hub__shell {
  width: 100%;
  max-width: 100%;
  padding-left: clamp(16px, 3vw, 48px);
  padding-right: clamp(16px, 3vw, 48px);
}

.wave-portfolio-hub__intro {
  max-width: 720px;
  margin: 0 auto 40px;
}

.wave-portfolio-hub__eyebrow {
  display: inline-flex;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(6, 103, 214, 0.12);
  color: var(--main-600);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.wave-portfolio-hub__text {
  color: #4a5560;
  font-size: 1.08rem;
  line-height: 1.75;
  margin: 0;
}

.wave-portfolio-hub__card {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 28px;
  min-height: 320px;
  text-decoration: none;
  box-shadow: 0 18px 45px rgba(15, 20, 18, 0.1);
}

.wave-portfolio-hub__img {
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
  display: block;
  transition: transform 0.7s ease;
}

.wave-portfolio-hub__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 14, 12, 0.1) 10%, rgba(8, 14, 12, 0.78) 100%);
}

.wave-portfolio-hub__body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  padding: 28px;
  color: #fff;
}

.wave-portfolio-hub__label {
  display: inline-flex;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(6, 103, 214, 0.22);
  border: 1px solid rgba(126, 255, 184, 0.28);
  color: #9dffc4;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.wave-portfolio-hub__title {
  display: block;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 10px;
}

.wave-portfolio-hub__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.95rem;
  font-weight: 700;
  color: #fff;
}

.wave-portfolio-hub__card:hover .wave-portfolio-hub__img {
  transform: scale(1.06);
}

/* Portfolio gallery pages */
.wave-gallery-page {
  padding: 30px 0 30px;
  background: #f3f6fb;
}

.wave-gallery-page__shell {
  width: 100%;
  max-width: 100%;
  padding-left: clamp(16px, 3vw, 48px);
  padding-right: clamp(16px, 3vw, 48px);
}

.wave-gallery-page__intro {
  max-width: 760px;
  margin: 0 auto 36px;
}

.wave-gallery-page__eyebrow {
  display: inline-flex;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(6, 103, 214, 0.12);
  color: var(--main-600);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.wave-gallery-page__text {
  color: #4a5560;
  font-size: 1.05rem;
  line-height: 1.75;
  margin: 0;
}

.wave-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.wave-gallery-card,
.wave-gallery-item {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 22px;
  aspect-ratio: auto;
  background: #101820;
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(15, 20, 18, 0.08);
}

.wave-gallery-card img,
.wave-gallery-item img,
a.wave-gallery-card.wave-gallery-item img {
  width: 100% !important;
  height: auto !important;
  max-width: 100%;
  display: block;
  object-fit: contain !important;
  object-position: center center !important;
  background: #101820;
  transition: transform 0.55s ease;
}

.wave-gallery-card__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px;
  background: rgba(10, 16, 13, 0.55);
  opacity: 0;
  transition: opacity 0.35s ease;
}

.wave-gallery-card__zoom {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--main-600);
  color: #fff;
  font-size: 1.2rem;
  transform: translateY(10px);
  transition: transform 0.35s ease;
}

.wave-gallery-card__caption {
  color: #fff;
  font-size: 0.85rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.35;
  transform: translateY(10px);
  transition: transform 0.35s ease;
}

.wave-gallery-card:hover img,
.wave-gallery-item:hover img {
  transform: scale(1.02);
}

.wave-gallery-card:hover .wave-gallery-card__overlay {
  opacity: 1;
}

.wave-gallery-card:hover .wave-gallery-card__zoom,
.wave-gallery-card:hover .wave-gallery-card__caption {
  transform: translateY(0);
}

.wave-gallery-page__cta {
  margin-top: 42px;
}

.wave-gallery-page__cta .btn {
  width: auto !important;
  max-width: max-content;
  padding: 11px 20px !important;
}

.mfp-fade.mfp-bg {
  opacity: 0;
  transition: all 0.25s ease-out;
}

.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.9;
}

.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}

.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  transition: all 0.25s ease-out;
}

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}

@media (max-width: 1199.98px) {
  .wave-gallery-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 767.98px) {
  .wave-gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .wave-gallery-card,
  .wave-portfolio-hub__card {
    border-radius: 18px;
  }

  .wave-portfolio-hub__img,
  .wave-portfolio-hub__card {
    min-height: 260px;
  }
}

.wave-partner-img {
  width: 100%;
  max-height: 420px;
  object-fit: cover;
  border-radius: 20px;
}

.wave-about-img {
  width: 100%;
  height: 100%;
  min-height: 220px;
  object-fit: cover;
}

.wave-about-hero-img {
  min-height: 420px;
}

.wave-cta-emblem {
  max-width: 280px;
}

/* Unique full-width CTA */
.wave-cta {
  width: 100%;
  position: relative;
  min-height: 620px;
  display: flex;
  align-items: center;
  padding: clamp(50px, 10vw, 130px) 0;
}

.wave-cta__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.wave-cta__bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.06);
  animation: waveCtaZoom 18s ease-out forwards;
}

.wave-cta__overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 70% at 50% 50%, rgba(8, 12, 10, 0.55) 0%, rgba(8, 12, 10, 0.82) 70%),
    linear-gradient(135deg, rgba(6, 103, 214, 0.22) 0%, transparent 50%, rgba(8, 12, 10, 0.55) 100%);
}

.wave-cta__shell {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-left: clamp(16px, 4vw, 64px);
  padding-right: clamp(16px, 4vw, 64px);
}

.wave-cta__panel {
  max-width: 920px;
  margin: 0 auto;
  text-align: center;
  padding: clamp(36px, 5vw, 64px) clamp(24px, 4vw, 56px);
  border-radius: 36px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(16px);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35);
}

.wave-cta__emblem-wrap {
  width: 110px;
  height: 110px;
  margin: 0 auto 22px;
  border-radius: 28px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
  animation: waveCtaFloat 5s ease-in-out infinite;
}

.wave-cta__emblem {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.wave-cta__eyebrow {
  display: inline-block;
  color: var(--main-600);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.wave-cta__title {
  color: #fff;
  font-size: clamp(1.9rem, 4vw, 3.2rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin-bottom: 18px;
}

.wave-cta__text {
  max-width: 640px;
  margin: 0 auto 30px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 1.1rem;
  line-height: 1.7;
}

.wave-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-bottom: 28px;
}

.wave-cta__actions .btn.bg-transparent,
.wave-cta__actions .btn.border-white {
  border-width: 1px !important;
  border-style: solid !important;
  border-color: #fff !important;
  color: #fff !important;
}

.wave-cta__actions .btn.bg-transparent .btn-text,
.wave-cta__actions .btn.bg-transparent .btn-anim__letter,
.wave-cta__actions .btn.bg-transparent .btn-icon-animation,
.wave-cta__actions .btn.bg-transparent i,
.wave-cta__actions .btn.border-white .btn-text,
.wave-cta__actions .btn.border-white .btn-anim__letter,
.wave-cta__actions .btn.border-white .btn-icon-animation,
.wave-cta__actions .btn.border-white i {
  color: #fff !important;
}

/* CTA white-fill hover: dark text on white bg */
.wave-cta__actions .btn.hover-bg-animation-white:hover,
.wave-cta__actions .btn.hover-bg-animation-white:focus,
.wave-cta__actions .btn.hover-text-heading:hover {
  color: #111827 !important;
  border-color: #fff !important;
}

.wave-cta__actions .btn.hover-bg-animation-white:hover .btn-text,
.wave-cta__actions .btn.hover-bg-animation-white:hover .btn-anim__letter,
.wave-cta__actions .btn.hover-bg-animation-white:hover .btn-icon-animation,
.wave-cta__actions .btn.hover-bg-animation-white:hover i,
.wave-cta__actions .btn.hover-text-heading:hover .btn-text,
.wave-cta__actions .btn.hover-text-heading:hover .btn-anim__letter,
.wave-cta__actions .btn.hover-text-heading:hover .btn-icon-animation,
.wave-cta__actions .btn.hover-text-heading:hover i {
  color: #111827 !important;
}

.wave-cta__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px 18px;
  margin-bottom: 24px;
}

.wave-cta__meta-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-weight: 600;
  font-size: 0.98rem;
  text-decoration: none;
  transition: color 0.25s ease;
}

.wave-cta__meta-link i {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.16);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #4d9aef;
}

.wave-cta__meta-link:hover {
  color: #fff;
}

.wave-cta__meta-link:hover i {
  color: #4d9aef;
  background: rgba(6, 103, 214, 0.22);
  border-color: rgba(6, 103, 214, 0.45);
}

.wave-cta__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.35);
}

.wave-cta__social {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  gap: 12px;
}

.wave-cta__social a {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  font-size: 1.2rem;
  transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease;
}

.wave-cta__social a:hover {
  background: var(--main-600);
  color: #fff;
  transform: translateY(-3px);
}

@keyframes waveCtaZoom {
  from { transform: scale(1.08); }
  to { transform: scale(1); }
}

@keyframes waveCtaFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

/* ---------- 22" Desktop ? 1680 � 1050 ---------- */
@media (min-width: 1601px) and (max-width: 1680px) {
  .wave-cta {
    min-height: 560px;
    padding: 90px 0;
  }

  .wave-cta__shell {
    padding-left: 48px;
    padding-right: 48px;
  }

  .wave-cta__panel {
    max-width: 860px;
    padding: 52px 48px;
    border-radius: 32px;
  }

  .wave-cta__emblem-wrap {
    width: 100px;
    height: 100px;
    margin-bottom: 20px;
    border-radius: 24px;
  }

  .wave-cta__title {
    font-size: 2.85rem;
    margin-bottom: 16px;
  }

  .wave-cta__text {
    font-size: 1.05rem;
    margin-bottom: 26px;
  }

  .wave-cta__actions {
    margin-bottom: 24px;
  }
}

/* ---------- 20" Desktop ? 1600 � 900 ---------- */
@media (min-width: 1441px) and (max-width: 1600px) {
  .wave-cta {
    min-height: 520px;
    padding: 72px 0;
  }

  .wave-cta__shell {
    padding-left: 40px;
    padding-right: 40px;
  }

  .wave-cta__panel {
    max-width: 820px;
    padding: 44px 40px;
    border-radius: 30px;
  }

  .wave-cta__emblem-wrap {
    width: 92px;
    height: 92px;
    margin-bottom: 18px;
    border-radius: 22px;
    padding: 10px;
  }

  .wave-cta__eyebrow {
    font-size: 12px;
    margin-bottom: 14px;
  }

  .wave-cta__title {
    font-size: 2.55rem;
    margin-bottom: 14px;
  }

  .wave-cta__text {
    font-size: 1.02rem;
    line-height: 1.65;
    margin-bottom: 22px;
  }

  .wave-cta__actions {
    gap: 12px;
    margin-bottom: 22px;
  }

  .wave-cta__actions .btn {
    padding: 10px 16px;
    font-size: 0.92rem;
  }

  .wave-cta__meta {
    gap: 10px 16px;
    margin-bottom: 20px;
  }

  .wave-cta__meta-link {
    font-size: 0.92rem;
  }

  .wave-cta__meta-link i {
    width: 34px;
    height: 34px;
  }

  .wave-cta__social a {
    width: 42px;
    height: 42px;
    font-size: 1.15rem;
  }
}

/* ---------- 19" Desktop ? 1440 � 900 ---------- */
@media (min-width: 1367px) and (max-width: 1440px) {
  .wave-cta {
    min-height: 480px;
    padding: 64px 0;
  }

  .wave-cta__shell {
    padding-left: 32px;
    padding-right: 32px;
  }

  .wave-cta__panel {
    max-width: 760px;
    padding: 40px 36px;
    border-radius: 28px;
  }

  .wave-cta__emblem-wrap {
    width: 84px;
    height: 84px;
    margin-bottom: 16px;
    border-radius: 20px;
    padding: 10px;
  }

  .wave-cta__eyebrow {
    font-size: 12px;
    letter-spacing: 0.14em;
    margin-bottom: 12px;
  }

  .wave-cta__title {
    font-size: 2.3rem;
    margin-bottom: 12px;
    line-height: 1.22;
  }

  .wave-cta__text {
    font-size: 0.98rem;
    line-height: 1.6;
    margin-bottom: 20px;
    max-width: 580px;
  }

  .wave-cta__actions {
    gap: 12px;
    margin-bottom: 20px;
  }

  .wave-cta__actions .btn {
    padding: 9px 14px;
    font-size: 0.9rem;
  }

  .wave-cta__meta {
    gap: 10px 14px;
    margin-bottom: 18px;
  }

  .wave-cta__meta-link {
    font-size: 0.88rem;
    gap: 8px;
  }

  .wave-cta__meta-link i {
    width: 32px;
    height: 32px;
    font-size: 0.85rem;
  }

  .wave-cta__social {
    gap: 10px;
  }

  .wave-cta__social a {
    width: 40px;
    height: 40px;
    font-size: 1.1rem;
  }
}

/* ---------- 15" Notebook ? 1366 � 768 ---------- */
@media (min-width: 1281px) and (max-width: 1366px) {
  .wave-cta {
    min-height: 420px;
    padding: 52px 0;
  }

  .wave-cta__shell {
    padding-left: 28px;
    padding-right: 28px;
  }

  .wave-cta__panel {
    max-width: 700px;
    padding: 32px 30px;
    border-radius: 24px;
  }

  .wave-cta__emblem-wrap {
    width: 76px;
    height: 76px;
    margin-bottom: 14px;
    border-radius: 18px;
    padding: 8px;
  }

  .wave-cta__eyebrow {
    font-size: 11px;
    letter-spacing: 0.12em;
    margin-bottom: 10px;
  }

  .wave-cta__title {
    font-size: 2.05rem;
    margin-bottom: 10px;
    line-height: 1.22;
  }

  .wave-cta__text {
    font-size: 0.92rem;
    line-height: 1.55;
    margin-bottom: 18px;
    max-width: 540px;
  }

  .wave-cta__actions {
    gap: 10px;
    margin-bottom: 16px;
  }

  .wave-cta__actions .btn {
    padding: 8px 13px;
    font-size: 0.86rem;
  }

  .wave-cta__meta {
    gap: 8px 12px;
    margin-bottom: 16px;
  }

  .wave-cta__meta-link {
    font-size: 0.84rem;
    gap: 8px;
  }

  .wave-cta__meta-link i {
    width: 30px;
    height: 30px;
    font-size: 0.8rem;
  }

  .wave-cta__social {
    gap: 8px;
  }

  .wave-cta__social a {
    width: 38px;
    height: 38px;
    font-size: 1.05rem;
  }
}

/* ---------- 13" Notebook ? 1280 � 800 ---------- */
@media (min-width: 1200px) and (max-width: 1280px) {
  .wave-cta {
    min-height: 400px;
    padding: 48px 0;
  }

  .wave-cta__shell {
    padding-left: 24px;
    padding-right: 24px;
  }

  .wave-cta__panel {
    max-width: 660px;
    padding: 30px 26px;
    border-radius: 22px;
  }

  .wave-cta__emblem-wrap {
    width: 72px;
    height: 72px;
    margin-bottom: 12px;
    border-radius: 16px;
    padding: 8px;
  }

  .wave-cta__eyebrow {
    font-size: 11px;
    letter-spacing: 0.12em;
    margin-bottom: 10px;
  }

  .wave-cta__title {
    font-size: 1.95rem;
    margin-bottom: 10px;
    line-height: 1.22;
  }

  .wave-cta__text {
    font-size: 0.9rem;
    line-height: 1.55;
    margin-bottom: 16px;
    max-width: 520px;
  }

  .wave-cta__actions {
    gap: 10px;
    margin-bottom: 14px;
  }

  .wave-cta__actions .btn {
    padding: 8px 12px;
    font-size: 0.84rem;
  }

  .wave-cta__meta {
    gap: 8px 12px;
    margin-bottom: 14px;
  }

  .wave-cta__meta-link {
    font-size: 0.82rem;
    gap: 7px;
  }

  .wave-cta__meta-link i {
    width: 28px;
    height: 28px;
    font-size: 0.78rem;
  }

  .wave-cta__social {
    gap: 8px;
  }

  .wave-cta__social a {
    width: 36px;
    height: 36px;
    font-size: 1rem;
  }
}

/* Short-height tweak: 15" / 13" notebooks (?768?820px tall) */
@media (min-width: 1200px) and (max-width: 1366px) and (max-height: 820px) {
  .wave-cta {
    min-height: auto;
    padding: 40px 0;
  }

  .wave-cta__panel {
    padding: 26px 24px;
  }

  .wave-cta__emblem-wrap {
    width: 64px;
    height: 64px;
    margin-bottom: 10px;
    border-radius: 14px;
  }

  .wave-cta__title {
    font-size: 1.8rem;
    margin-bottom: 8px;
  }

  .wave-cta__text {
    font-size: 0.86rem;
    margin-bottom: 14px;
  }

  .wave-cta__actions {
    margin-bottom: 12px;
  }

  .wave-cta__meta {
    margin-bottom: 12px;
  }
}

@media (max-width: 767.98px) {
  .wave-cta {
    min-height: auto;
  }

  .wave-cta__dot {
    display: none;
  }
}

/* Full-width stylish footer */
.wave-footer {
  width: 100%;
  background: #0f1412;
  color: rgba(255, 255, 255, 0.78);
}

.wave-footer__shell {
  width: 100%;
  max-width: 100%;
  padding-left: clamp(16px, 3vw, 48px);
  padding-right: clamp(16px, 3vw, 48px);
}

.wave-footer__main {
  padding: clamp(40px, 4vw, 40px) 0 clamp(40px, 6vw, 40px);
  background:
    radial-gradient(ellipse 50% 45% at 10% 20%, rgba(6, 103, 214, 0.12), transparent 55%),
    #0f1412;
}

.wave-footer__about {
  margin: 22px 0 24px;
  max-width: 360px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.7);
}

.wave-footer__title {
  font-size: 1.2rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 8px;
  letter-spacing: -0.01em;
}

.wave-footer__links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.wave-footer__links a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.25s ease, padding-left 0.25s ease;
}

.wave-footer__links a:hover {
  color: var(--main-600);
  padding-left: 4px;
}

.wave-footer__contact {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.wave-footer__contact-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.95rem;
  font-weight: 500;
  text-decoration: none;
  line-height: 1.4;
  word-break: break-word;
  transition: color 0.25s ease;
}

.wave-footer__contact-item i {
  color: #4d9aef;
  font-size: 1.1rem;
  flex-shrink: 0;
}

.wave-footer__contact-item:hover {
  color: #fff;
}

.wave-footer__contact-item:hover i {
  color: #4d9aef;
}

.wave-footer__social {
  list-style: none;
  padding: 0;
  margin: 16px 0 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.wave-footer__social a {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 1.1rem;
  transition: transform 0.25s ease, background 0.25s ease;
}

.wave-footer__social a:hover {
  background: var(--main-600);
  transform: translateY(-3px);
}

.wave-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 22px 0;
  background: #0c100e;
}

.wave-footer__copy {
  text-align: center;
  color: rgba(255, 255, 255, 0.65);
  font-size: 0.95rem;
  line-height: 1.6;
}

.wave-footer__copy a {
  color: var(--main-600);
  font-weight: 700;
  text-decoration: none;
}

.wave-footer__copy a:hover {
  text-decoration: underline;
}

.wave-footer .wave-logo--footer {
  filter: none;
  background: #fff;
  border-radius: 12px;
  padding: 8px 12px;
}

@media (max-width: 991.98px) {
  .wave-footer__main {
    padding: 36px 0 32px;
  }

  .wave-footer__shell {
    padding-left: 20px;
    padding-right: 20px;
  }

  .wave-footer__row > [class*="col-"] {
    text-align: left;
  }

  .wave-footer__about {
    max-width: 100%;
    margin: 16px 0 8px;
    font-size: 0.95rem;
  }

  .wave-footer__title {
    font-size: 1.1rem;
    margin-bottom: 12px;
  }

  .wave-footer__links {
    gap: 8px;
  }

  .wave-footer .wave-logo--footer {
    max-height: 64px;
    max-width: 200px;
  }
}

@media (max-width: 575.98px) {
  .wave-footer__main {
    padding: 28px 0 24px;
  }

  .wave-footer__shell {
    padding-left: 16px;
    padding-right: 16px;
  }

  .wave-footer__about {
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 14px 0 4px;
  }

  .wave-footer__title {
    font-size: 1.05rem;
    margin-bottom: 10px;
  }

  .wave-footer__links {
    gap: 7px;
  }

  .wave-footer__links a {
    font-size: 0.92rem;
  }

  .wave-footer__contact {
    gap: 10px;
  }

  .wave-footer__contact-item {
    font-size: 0.9rem;
  }

  .wave-footer__social {
    margin-top: 14px;
    gap: 8px;
  }

  .wave-footer__social a {
    width: 38px;
    height: 38px;
  }

  .wave-footer__bottom {
    padding: 16px 0;
  }

  .wave-footer__copy {
    font-size: 0.82rem;
    padding: 0 4px;
  }

  .wave-footer .wave-logo--footer {
    max-height: 56px;
    max-width: 180px;
    padding: 6px 10px;
  }
}

/* iPhone 6/7 Plus ? 414 � 736 */
@media (max-width: 414.98px) {
  .wave-footer__shell {
    padding-left: 14px;
    padding-right: 14px;
  }

  .wave-footer__title {
    font-size: 1.02rem;
  }

  .wave-footer__about {
    font-size: 0.88rem;
  }
}

/* iPhone 6/7 ? 375 � 667 */
@media (max-width: 375.98px) {
  .wave-footer__main {
    padding: 24px 0 20px;
  }

  .wave-footer__shell {
    padding-left: 12px;
    padding-right: 12px;
  }

  .wave-footer__about {
    font-size: 0.86rem;
  }

  .wave-footer__links a {
    font-size: 0.88rem;
  }

  .wave-footer__contact-item {
    font-size: 0.86rem;
  }

  .wave-footer__social a {
    width: 36px;
    height: 36px;
    font-size: 1rem;
  }

  .wave-footer__copy {
    font-size: 0.78rem;
  }
}

/* LG G3 / Galaxy S3?7 ? 360 � 640 */
@media (max-width: 360.98px) {
  .wave-footer__shell {
    padding-left: 12px;
    padding-right: 12px;
  }

  .wave-footer__about {
    font-size: 0.84rem;
  }

  .wave-footer__title {
    font-size: 0.98rem;
  }

  .wave-footer__links a {
    font-size: 0.86rem;
  }

  .wave-footer__contact-item {
    font-size: 0.82rem;
    gap: 8px;
  }

  .wave-footer__social a {
    width: 34px;
    height: 34px;
  }

  .wave-footer__copy {
    font-size: 0.74rem;
    line-height: 1.5;
  }

  .wave-footer .wave-logo--footer {
    max-height: 50px;
    max-width: 160px;
  }
}

/* About page styles */
.wave-about-shell {
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

.wave-about-banner {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 260px;
  padding: 70px 0 70px;
  background:
    radial-gradient(ellipse 60% 80% at 20% 30%, rgba(255, 255, 255, 0.12), transparent 50%),
    linear-gradient(135deg, #0554b3 0%, #0667d6 45%, #04448f 100%);
}

.wave-about-banner__content {
  position: relative;
  z-index: 1;
}

.wave-about-banner__title {
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.02em;
  margin: 0 0 12px;
  line-height: 1.15;
}

.wave-about-banner__breadcrumb {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 0.95rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
}

.wave-about-banner__breadcrumb a {
  color: #fff;
  text-decoration: none;
  transition: opacity 0.25s ease;
}

.wave-about-banner__breadcrumb a:hover {
  opacity: 0.8;
}

.wave-about-banner__breadcrumb span:last-child {
  color: rgba(255, 255, 255, 0.72);
}

.wave-about-story {
  padding: 30px;
  background:
    radial-gradient(ellipse 50% 40% at 90% 20%, rgba(6, 103, 214, 0.08), transparent 55%),
    #f6f8fc;
}

.wave-about-story__row {
  padding-left: clamp(16px, 3vw, 48px);
  padding-right: clamp(16px, 3vw, 48px);
  --bs-gutter-x: 1rem;
  --bs-gutter-y: 1rem;
}

@media (min-width: 1200px) {
  .wave-about-story__row {
    --bs-gutter-x: 1.15rem;
    --bs-gutter-y: 1.15rem;
  }
}

.wave-about-story__media {
  position: relative;
  min-height: 520px;
  height: 100%;
  overflow: hidden;
  border-radius: 28px;
  box-shadow: 0 24px 60px rgba(15, 20, 18, 0.12);
}

.wave-about-story__img {
  width: 100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover;
  display: block;
  transition: transform 0.7s ease;
}

.wave-about-story__media:hover .wave-about-story__img {
  transform: scale(1.05);
}

.wave-about-story__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(8, 12, 10, 0.55) 100%);
  pointer-events: none;
}

.wave-about-story__badge {
  position: absolute;
  left: 24px;
  bottom: 24px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(255, 255, 255, 0.96);
  border-radius: 999px;
  padding: 10px 18px 10px 10px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.2);
}

.wave-about-story__badge-img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  border-radius: 50%;
  background: #fff;
}

.wave-about-story__badge strong {
  display: block;
  color: #111;
  font-size: 0.95rem;
  line-height: 1.2;
}

.wave-about-story__badge span {
  display: block;
  color: #6b7280;
  font-size: 0.8rem;
}

.wave-about-story__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(28px, 3.5vw, 44px) clamp(22px, 2.5vw, 36px);
  background: #fff;
  border-radius: 28px;
  border: 1px solid rgba(15, 20, 18, 0.06);
  box-shadow: 0 18px 50px rgba(15, 20, 18, 0.06);
}

.wave-about-story__title {
  font-size: clamp(2rem, 3.5vw, 3.2rem);
  letter-spacing: -0.02em;
  color: #111;
}

.wave-about-story__lead {
  margin-top: 12px;
  margin-bottom: 20px;
  color: var(--main-600);
  font-size: 1.15rem;
  font-weight: 700;
}

.wave-about-story__text {
  color: #5b6470;
  font-size: 1.05rem;
  line-height: 1.75;
  margin-bottom: 14px;
  max-width: 100%;
}

.wave-about-partners {
  padding: clamp(56px, 7vw, 90px) 0 40px;
  background: #f4f7fb;
  text-align: center;
}

.wave-about-partners__title {
  font-size: clamp(2rem, 3.2vw, 3rem);
  color: #111;
  letter-spacing: -0.02em;
}

.wave-about-partners__text {
  max-width: 640px;
  color: #5b6470;
  font-size: 1.05rem;
  line-height: 1.7;
}

/* 24K partner feature - stylish compact */
.wave-partner-feature {
  padding: 30px 0 30px;
  background: #f4f7fb;
}

.wave-partner-feature__shell {
  width: 100%;
  max-width: 100%;
  padding-left: clamp(16px, 3vw, 48px);
  padding-right: clamp(16px, 3vw, 48px);
}

.wave-partner-feature__card {
  width: 100%;
  background: #fff;
  border-radius: 32px;
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid rgba(15, 20, 18, 0.06);
  box-shadow: 0 22px 55px rgba(15, 20, 18, 0.07);
}

.wave-partner-feature__visual {
  position: relative;
  max-width: 420px;
  margin: 0 auto;
  padding-bottom: 48px;
}

.wave-partner-feature__main {
  position: relative;
  z-index: 1;
  width: 78%;
  aspect-ratio: 4 / 5;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(15, 20, 18, 0.16);
}

.wave-partner-feature__side {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
  width: 48%;
  aspect-ratio: 1 / 1;
  border-radius: 20px;
  overflow: hidden;
  border: 5px solid #fff;
  box-shadow: 0 16px 36px rgba(15, 20, 18, 0.18);
}

.wave-partner-feature__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}

.wave-partner-feature__visual:hover .wave-partner-feature__img {
  transform: scale(1.05);
}

.wave-partner-feature__chip {
  position: absolute;
  left: 12px;
  bottom: 56px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(15, 20, 18, 0.82);
  color: #fff;
  border-radius: 999px;
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  backdrop-filter: blur(8px);
}

.wave-partner-feature__chip i {
  color: var(--main-600);
}

.wave-partner-feature__content {
  padding-left: clamp(0px, 2vw, 20px);
}

.wave-partner-feature__tag {
  display: inline-flex;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(6, 103, 214, 0.12);
  color: var(--main-600);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.wave-partner-feature__title {
  font-size: clamp(1.7rem, 2.8vw, 2.5rem);
  font-weight: 700;
  color: #111;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin-bottom: 12px;
}

.wave-partner-feature__lead {
  color: var(--main-600);
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: 16px;
  line-height: 1.5;
}

.wave-partner-feature__text {
  color: #5b6470;
  font-size: 1.02rem;
  line-height: 1.75;
  margin-bottom: 12px;
}

.wave-partner-feature__row {
  --bs-gutter-x: 1.75rem;
  --bs-gutter-y: 1.75rem;
}

/* SigmaPrints partner ? dark print showcase */
.wave-partner-print {
  padding: 30px 0 40px;
  background:
    radial-gradient(ellipse 70% 55% at 85% 20%, rgba(6, 103, 214, 0.12), transparent 55%),
    radial-gradient(ellipse 50% 45% at 10% 90%, rgba(6, 103, 214, 0.1), transparent 50%),
    #0b0f12;
}

.wave-partner-print__shell {
  width: 100%;
  max-width: 100%;
  padding-left: clamp(16px, 3vw, 48px);
  padding-right: clamp(16px, 3vw, 48px);
}

.wave-partner-print__card {
  width: 100%;
  background:
    linear-gradient(145deg, rgba(22, 28, 32, 0.98) 0%, rgba(12, 15, 18, 0.98) 100%);
  border-radius: 32px;
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid rgba(6, 103, 214, 0.16);
  box-shadow:
    0 24px 60px rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.wave-partner-print__visual {
  position: relative;
  max-width: 440px;
  margin: 0 auto;
  padding-bottom: 56px;
}

.wave-partner-print__main {
  position: relative;
  z-index: 1;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow:
    0 20px 48px rgba(0, 0, 0, 0.5),
    0 0 0 1px rgba(6, 103, 214, 0.08);
}

.wave-partner-print__logo {
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 2;
  width: 88%;
  transform: translateX(-50%);
  aspect-ratio: 16 / 5;
  border-radius: 16px;
  overflow: hidden;
  background: #000;
  border: 4px solid #161c20;
  box-shadow:
    0 14px 36px rgba(0, 0, 0, 0.55),
    0 0 28px rgba(6, 103, 214, 0.18);
}

.wave-partner-print__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background: #fff;
  display: block;
  transition: transform 0.65s ease;
}

.wave-partner-print__visual:hover .wave-partner-print__img {
  transform: scale(1.03);
}

.wave-partner-print__chip {
  position: absolute;
  left: 14px;
  top: 14px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(8, 12, 14, 0.82);
  color: #fff;
  border-radius: 999px;
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  border: 1px solid rgba(6, 103, 214, 0.28);
  backdrop-filter: blur(8px);
}

.wave-partner-print__chip i {
  color: #4d9aef;
}

.wave-partner-print__content {
  padding-right: clamp(0px, 2vw, 20px);
}

.wave-partner-print__tag {
  display: inline-flex;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(6, 103, 214, 0.12);
  color: #4d9aef;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 16px;
  border: 1px solid rgba(6, 103, 214, 0.22);
}

.wave-partner-print__title {
  font-size: clamp(1.7rem, 2.8vw, 2.5rem);
  font-weight: 700;
  color: #f4f7f8;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin-bottom: 12px;
}

.wave-partner-print__lead {
  color: #4d9aef;
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: 16px;
  line-height: 1.5;
}

.wave-partner-print__text {
  color: rgba(220, 228, 232, 0.78);
  font-size: 1.02rem;
  line-height: 1.75;
  margin-bottom: 12px;
}

.wave-partner-print__services {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 22px 0 0;
}

.wave-partner-print__services li {
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #e8f0f2;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.wave-partner-print__row {
  --bs-gutter-x: 1.75rem;
  --bs-gutter-y: 1.75rem;
}

/* ---------- 22" Desktop ? 1680 � 1050 ---------- */
@media (min-width: 1601px) and (max-width: 1680px) {
  .wave-partner-print,
  .wave-partner-feature {
    padding: 36px 0;
  }

  .wave-partner-print__shell,
  .wave-partner-feature__shell {
    padding-left: 40px;
    padding-right: 40px;
  }

  .wave-partner-print__card,
  .wave-partner-feature__card {
    padding: 42px 40px;
    border-radius: 30px;
  }

  .wave-partner-print__row,
  .wave-partner-feature__row {
    --bs-gutter-x: 2rem;
    --bs-gutter-y: 2rem;
  }

  .wave-partner-print__title,
  .wave-partner-feature__title {
    font-size: 2.35rem;
    margin-bottom: 14px;
  }

  .wave-partner-print__lead,
  .wave-partner-feature__lead {
    font-size: 1.05rem;
    margin-bottom: 16px;
  }

  .wave-partner-print__text,
  .wave-partner-feature__text {
    font-size: 1rem;
    line-height: 1.7;
    margin-bottom: 12px;
  }

  .wave-partner-print__visual {
    max-width: 400px;
  }

  .wave-partner-feature__visual {
    max-width: 380px;
  }

  .wave-partner-print__services {
    gap: 10px;
    margin-top: 22px;
  }
}

/* ---------- 20" Desktop ? 1600 � 900 ---------- */
@media (min-width: 1441px) and (max-width: 1600px) {
  .wave-partner-print,
  .wave-partner-feature {
    padding: 32px 0;
  }

  .wave-partner-print__shell,
  .wave-partner-feature__shell {
    padding-left: 36px;
    padding-right: 36px;
  }

  .wave-partner-print__card,
  .wave-partner-feature__card {
    padding: 38px 34px;
    border-radius: 28px;
  }

  .wave-partner-print__row,
  .wave-partner-feature__row {
    --bs-gutter-x: 1.75rem;
    --bs-gutter-y: 1.75rem;
  }

  .wave-partner-print__title,
  .wave-partner-feature__title {
    font-size: 2.2rem;
    margin-bottom: 12px;
  }

  .wave-partner-print__lead,
  .wave-partner-feature__lead {
    font-size: 1.02rem;
    margin-bottom: 14px;
  }

  .wave-partner-print__text,
  .wave-partner-feature__text {
    font-size: 0.98rem;
    line-height: 1.65;
    margin-bottom: 12px;
  }

  .wave-partner-print__visual {
    max-width: 380px;
    padding-bottom: 48px;
  }

  .wave-partner-feature__visual {
    max-width: 360px;
    padding-bottom: 44px;
  }

  .wave-partner-print__tag,
  .wave-partner-feature__tag {
    margin-bottom: 14px;
  }

  .wave-partner-print__services {
    gap: 10px;
    margin-top: 20px;
  }

  .wave-partner-print__content .btn,
  .wave-partner-feature__content .btn {
    padding: 10px 16px;
    font-size: 0.92rem;
  }
}

/* ---------- 19" Desktop ? 1440 � 900 ---------- */
@media (min-width: 1367px) and (max-width: 1440px) {
  .wave-partner-print,
  .wave-partner-feature {
    padding: 28px 0;
  }

  .wave-partner-print__shell,
  .wave-partner-feature__shell {
    padding-left: 28px;
    padding-right: 28px;
  }

  .wave-partner-print__card,
  .wave-partner-feature__card {
    padding: 34px 30px;
    border-radius: 26px;
  }

  .wave-partner-print__row,
  .wave-partner-feature__row {
    --bs-gutter-x: 1.6rem;
    --bs-gutter-y: 1.6rem;
  }

  .wave-partner-print__title,
  .wave-partner-feature__title {
    font-size: 2.05rem;
    margin-bottom: 12px;
  }

  .wave-partner-print__lead,
  .wave-partner-feature__lead {
    font-size: 0.98rem;
    margin-bottom: 14px;
  }

  .wave-partner-print__text,
  .wave-partner-feature__text {
    font-size: 0.94rem;
    line-height: 1.65;
    margin-bottom: 12px;
  }

  .wave-partner-print__visual {
    max-width: 350px;
    padding-bottom: 48px;
  }

  .wave-partner-feature__visual {
    max-width: 330px;
    padding-bottom: 44px;
  }

  .wave-partner-print__main,
  .wave-partner-feature__main {
    border-radius: 20px;
  }

  .wave-partner-print__logo {
    border-radius: 14px;
  }

  .wave-partner-feature__side {
    border-radius: 16px;
    border-width: 4px;
  }

  .wave-partner-print__tag,
  .wave-partner-feature__tag {
    padding: 7px 12px;
    font-size: 11px;
    margin-bottom: 14px;
  }

  .wave-partner-print__services {
    gap: 10px;
    margin-top: 18px;
  }

  .wave-partner-print__services li {
    padding: 8px 12px;
    font-size: 11px;
  }

  .wave-partner-print__content .btn,
  .wave-partner-feature__content .btn {
    padding: 9px 14px;
    font-size: 0.9rem;
  }

  .wave-partner-print__content .tw-mt-8,
  .wave-partner-feature__content .tw-mt-8 {
    margin-top: 1.5rem !important;
  }
}

/* ---------- 15" Notebook ? 1366 � 768 ---------- */
@media (min-width: 1281px) and (max-width: 1366px) {
  .wave-partner-print,
  .wave-partner-feature {
    padding: 26px 0;
  }

  .wave-partner-print__shell,
  .wave-partner-feature__shell {
    padding-left: 24px;
    padding-right: 24px;
  }

  .wave-partner-print__card,
  .wave-partner-feature__card {
    padding: 30px 26px;
    border-radius: 24px;
  }

  .wave-partner-print__row,
  .wave-partner-feature__row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 1.5rem;
  }

  .wave-partner-print__title,
  .wave-partner-feature__title {
    font-size: 1.9rem;
    margin-bottom: 12px;
  }

  .wave-partner-print__lead,
  .wave-partner-feature__lead {
    font-size: 0.95rem;
    margin-bottom: 12px;
  }

  .wave-partner-print__text,
  .wave-partner-feature__text {
    font-size: 0.9rem;
    line-height: 1.6;
    margin-bottom: 10px;
  }

  .wave-partner-print__visual {
    max-width: 320px;
    padding-bottom: 44px;
  }

  .wave-partner-feature__visual {
    max-width: 300px;
    padding-bottom: 40px;
  }

  .wave-partner-print__main,
  .wave-partner-feature__main {
    border-radius: 18px;
  }

  .wave-partner-print__logo {
    border-radius: 12px;
    border-width: 3px;
  }

  .wave-partner-feature__side {
    border-radius: 14px;
    border-width: 4px;
  }

  .wave-partner-print__chip,
  .wave-partner-feature__chip {
    padding: 7px 12px;
    font-size: 11px;
  }

  .wave-partner-print__tag,
  .wave-partner-feature__tag {
    padding: 7px 12px;
    font-size: 11px;
    margin-bottom: 12px;
  }

  .wave-partner-print__services {
    gap: 8px;
    margin-top: 16px;
  }

  .wave-partner-print__services li {
    padding: 7px 12px;
    font-size: 11px;
  }

  .wave-partner-print__content .btn,
  .wave-partner-feature__content .btn {
    padding: 9px 14px;
    font-size: 0.86rem;
  }

  .wave-partner-print__content .tw-mt-8,
  .wave-partner-feature__content .tw-mt-8 {
    margin-top: 1.35rem !important;
  }
}

/* ---------- 13" Notebook ? 1280 � 800 ---------- */
@media (min-width: 1200px) and (max-width: 1280px) {
  .wave-partner-print,
  .wave-partner-feature {
    padding: 24px 0;
  }

  .wave-partner-print__shell,
  .wave-partner-feature__shell {
    padding-left: 22px;
    padding-right: 22px;
  }

  .wave-partner-print__card,
  .wave-partner-feature__card {
    padding: 28px 24px;
    border-radius: 22px;
  }

  .wave-partner-print__row,
  .wave-partner-feature__row {
    --bs-gutter-x: 1.4rem;
    --bs-gutter-y: 1.4rem;
  }

  .wave-partner-print__title,
  .wave-partner-feature__title {
    font-size: 1.8rem;
    margin-bottom: 12px;
  }

  .wave-partner-print__lead,
  .wave-partner-feature__lead {
    font-size: 0.94rem;
    margin-bottom: 12px;
  }

  .wave-partner-print__text,
  .wave-partner-feature__text {
    font-size: 0.9rem;
    line-height: 1.6;
    margin-bottom: 10px;
  }

  .wave-partner-print__visual {
    max-width: 300px;
    padding-bottom: 42px;
  }

  .wave-partner-feature__visual {
    max-width: 280px;
    padding-bottom: 38px;
  }

  .wave-partner-print__main,
  .wave-partner-feature__main {
    border-radius: 18px;
  }

  .wave-partner-print__logo {
    border-radius: 12px;
    border-width: 3px;
  }

  .wave-partner-feature__side {
    border-radius: 14px;
    border-width: 4px;
  }

  .wave-partner-print__chip,
  .wave-partner-feature__chip {
    padding: 7px 12px;
    font-size: 11px;
  }

  .wave-partner-print__tag,
  .wave-partner-feature__tag {
    padding: 7px 12px;
    font-size: 11px;
    margin-bottom: 12px;
  }

  .wave-partner-print__services {
    gap: 8px;
    margin-top: 16px;
  }

  .wave-partner-print__services li {
    padding: 7px 12px;
    font-size: 11px;
  }

  .wave-partner-print__content .btn,
  .wave-partner-feature__content .btn {
    padding: 9px 14px;
    font-size: 0.84rem;
  }

  .wave-partner-print__content .tw-mt-8,
  .wave-partner-feature__content .tw-mt-8 {
    margin-top: 1.35rem !important;
  }
}

/* Short-height tweak: 15" / 13" notebooks (?768?820px tall) */
@media (min-width: 1200px) and (max-width: 1366px) and (max-height: 820px) {
  .wave-partner-print,
  .wave-partner-feature {
    padding: 22px 0;
  }

  .wave-partner-print__card,
  .wave-partner-feature__card {
    padding: 26px 22px;
  }

  .wave-partner-print__title,
  .wave-partner-feature__title {
    font-size: 1.7rem;
  }

  .wave-partner-print__text,
  .wave-partner-feature__text {
    font-size: 0.88rem;
    line-height: 1.55;
  }

  .wave-partner-print__visual {
    max-width: 280px;
    padding-bottom: 40px;
  }

  .wave-partner-feature__visual {
    max-width: 260px;
    padding-bottom: 36px;
  }

  .wave-partner-print__services {
    margin-top: 14px;
  }
}

@media (max-width: 991.98px) {
  .wave-partner-print,
  .wave-partner-feature {
    padding: 28px 0;
  }

  .wave-partner-print__shell,
  .wave-partner-feature__shell {
    padding-left: 16px;
    padding-right: 16px;
  }

  .wave-partner-print__card,
  .wave-partner-feature__card {
    padding: 28px 24px;
    border-radius: 26px;
  }

  .wave-partner-print__row,
  .wave-partner-feature__row {
    --bs-gutter-x: 1.25rem;
    --bs-gutter-y: 1.5rem;
  }

  .wave-partner-feature__content {
    padding-left: 0;
    padding-top: 4px;
  }

  .wave-partner-print__content {
    padding-right: 0;
    padding-top: 4px;
  }

  .wave-partner-feature__visual {
    max-width: 340px;
    padding-bottom: 40px;
  }

  .wave-partner-print__visual {
    max-width: 360px;
    padding-bottom: 48px;
  }

  .wave-partner-print__title,
  .wave-partner-feature__title {
    font-size: 1.85rem;
  }

  .wave-partner-print__lead,
  .wave-partner-feature__lead {
    font-size: 1rem;
    margin-bottom: 14px;
  }

  .wave-partner-print__text,
  .wave-partner-feature__text {
    font-size: 0.95rem;
    line-height: 1.65;
  }

  .wave-partner-print__services {
    gap: 8px;
    margin-top: 18px;
  }

  .wave-partner-print__content .btn,
  .wave-partner-feature__content .btn {
    padding: 10px 14px;
    font-size: 0.9rem;
  }

  .wave-partner-feature__content .btn .btn-text {
    white-space: normal;
    text-align: left;
    line-height: 1.3;
  }
}

@media (max-width: 575.98px) {
  .wave-partner-print,
  .wave-partner-feature {
    padding: 22px 0;
  }

  .wave-partner-print__shell,
  .wave-partner-feature__shell {
    padding-left: 14px;
    padding-right: 14px;
  }

  .wave-partner-print__card,
  .wave-partner-feature__card {
    border-radius: 22px;
    padding: 22px 18px;
  }

  .wave-partner-feature__main {
    width: 82%;
    border-radius: 18px;
  }

  .wave-partner-feature__side {
    width: 46%;
    border-radius: 14px;
    border-width: 4px;
  }

  .wave-partner-feature__visual {
    max-width: 300px;
    padding-bottom: 36px;
  }

  .wave-partner-feature__chip {
    left: 8px;
    bottom: 44px;
    padding: 7px 12px;
    font-size: 11px;
  }

  .wave-partner-print__visual {
    max-width: 100%;
    padding-bottom: 44px;
  }

  .wave-partner-print__main {
    border-radius: 18px;
  }

  .wave-partner-print__logo {
    width: 92%;
    border-width: 3px;
    border-radius: 12px;
  }

  .wave-partner-print__chip {
    left: 10px;
    top: 10px;
    padding: 7px 12px;
    font-size: 11px;
  }

  .wave-partner-print__tag,
  .wave-partner-feature__tag {
    padding: 7px 12px;
    font-size: 11px;
    margin-bottom: 12px;
    letter-spacing: 0.08em;
  }

  .wave-partner-print__title,
  .wave-partner-feature__title {
    font-size: 1.6rem;
    margin-bottom: 10px;
  }

  .wave-partner-print__lead,
  .wave-partner-feature__lead {
    font-size: 0.96rem;
    margin-bottom: 12px;
  }

  .wave-partner-print__text,
  .wave-partner-feature__text {
    font-size: 0.92rem;
    line-height: 1.62;
    margin-bottom: 10px;
  }

  .wave-partner-print__services {
    gap: 8px;
    margin-top: 16px;
  }

  .wave-partner-print__services li {
    padding: 7px 12px;
    font-size: 11px;
  }

  .wave-partner-print__content .btn,
  .wave-partner-feature__content .btn {
    padding: 10px 12px;
    font-size: 0.86rem;
    width: 100%;
    justify-content: space-between;
  }

  .wave-partner-print__content .tw-mt-8,
  .wave-partner-feature__content .tw-mt-8 {
    margin-top: 1.35rem !important;
  }
}

/* Partner sections ? iPhone Plus 414 � 736 */
@media (max-width: 414.98px) {
  .wave-partner-print,
  .wave-partner-feature {
    padding: 20px 0;
  }

  .wave-partner-print__shell,
  .wave-partner-feature__shell {
    padding-left: 12px;
    padding-right: 12px;
  }

  .wave-partner-print__card,
  .wave-partner-feature__card {
    padding: 20px 16px;
    border-radius: 20px;
  }

  .wave-partner-feature__visual {
    max-width: 280px;
  }

  .wave-partner-print__title,
  .wave-partner-feature__title {
    font-size: 1.5rem;
  }

  .wave-partner-print__lead,
  .wave-partner-feature__lead {
    font-size: 0.94rem;
  }

  .wave-partner-print__text,
  .wave-partner-feature__text {
    font-size: 0.9rem;
  }

  .wave-partner-print__content .btn,
  .wave-partner-feature__content .btn {
    font-size: 0.84rem;
    padding: 9px 12px;
  }
}

/* Partner sections ? iPhone 6/7 375 � 667 */
@media (max-width: 375.98px) {
  .wave-partner-print__shell,
  .wave-partner-feature__shell {
    padding-left: 12px;
    padding-right: 12px;
  }

  .wave-partner-print__card,
  .wave-partner-feature__card {
    padding: 18px 14px;
  }

  .wave-partner-feature__visual {
    max-width: 260px;
    padding-bottom: 32px;
  }

  .wave-partner-print__visual {
    padding-bottom: 40px;
  }

  .wave-partner-feature__chip,
  .wave-partner-print__chip {
    font-size: 10px;
    padding: 6px 10px;
    gap: 6px;
  }

  .wave-partner-print__title,
  .wave-partner-feature__title {
    font-size: 1.4rem;
  }

  .wave-partner-print__lead,
  .wave-partner-feature__lead {
    font-size: 0.9rem;
  }

  .wave-partner-print__text,
  .wave-partner-feature__text {
    font-size: 0.88rem;
    line-height: 1.6;
  }

  .wave-partner-print__services li {
    padding: 6px 10px;
    font-size: 10px;
  }

  .wave-partner-print__content .btn,
  .wave-partner-feature__content .btn {
    font-size: 0.8rem;
    padding: 9px 11px;
  }
}

/* Partner sections ? Galaxy / small 360 � 640 */
@media (max-width: 360.98px) {
  .wave-partner-print,
  .wave-partner-feature {
    padding: 18px 0;
  }

  .wave-partner-print__shell,
  .wave-partner-feature__shell {
    padding-left: 10px;
    padding-right: 10px;
  }

  .wave-partner-print__card,
  .wave-partner-feature__card {
    padding: 16px 12px;
    border-radius: 18px;
  }

  .wave-partner-feature__visual {
    max-width: 240px;
  }

  .wave-partner-print__title,
  .wave-partner-feature__title {
    font-size: 1.32rem;
  }

  .wave-partner-print__lead,
  .wave-partner-feature__lead {
    font-size: 0.88rem;
  }

  .wave-partner-print__text,
  .wave-partner-feature__text {
    font-size: 0.86rem;
  }

  .wave-partner-print__tag,
  .wave-partner-feature__tag {
    font-size: 10px;
    padding: 6px 10px;
  }

  .wave-partner-print__content .btn,
  .wave-partner-feature__content .btn {
    font-size: 0.78rem;
    padding: 8px 10px;
  }
}

.wave-about-block__media {
  min-height: 520px;
  overflow: hidden;
}

.wave-about-block__img {
  width: 100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover;
  display: block;
  transition: transform 0.7s ease;
}

.wave-about-block:hover .wave-about-block__img {
  transform: scale(1.04);
}

.wave-about-block__panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(48px, 7vw, 90px) clamp(24px, 5vw, 80px);
  background: #fff;
}

.wave-about-block--alt .wave-about-block__panel {
  background: #0f1412;
}

.wave-about-block--alt .wave-about-block__title {
  color: #fff;
}

.wave-about-block--alt .wave-about-block__text {
  color: rgba(255, 255, 255, 0.75);
}

.wave-about-block__tag {
  display: inline-flex;
  align-self: flex-start;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(6, 103, 214, 0.12);
  color: var(--main-600);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.wave-about-block__title {
  font-size: clamp(1.8rem, 3vw, 2.7rem);
  font-weight: 700;
  color: #111;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
  line-height: 1.2;
}

.wave-about-block__lead {
  color: var(--main-600);
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 18px;
  line-height: 1.5;
}

.wave-about-block__text {
  color: #5b6470;
  font-size: 1.05rem;
  line-height: 1.75;
  margin-bottom: 14px;
  max-width: 560px;
}

/* ---------- 22" Desktop ? 1680 � 1050 ---------- */
@media (min-width: 1601px) and (max-width: 1680px) {
  .wave-about-banner {
    min-height: 240px;
    padding: 60px 0 60px;
  }

  .wave-about-banner__title {
    font-size: 2.9rem;
  }

  .wave-about-story {
    padding: 28px;
  }

  .wave-about-story__row {
    padding-left: 40px;
    padding-right: 40px;
  }

  .wave-about-story__media,
  .wave-about-story__img {
    min-height: 480px;
  }

  .wave-about-story__content {
    padding: 40px 32px;
  }

  .wave-about-story__title {
    font-size: 2.85rem;
  }

  .wave-about-story__lead {
    font-size: 1.12rem;
  }

  .wave-about-story__text {
    font-size: 1.02rem;
    line-height: 1.7;
  }
}

/* ---------- 20" Desktop ? 1600 � 900 ---------- */
@media (min-width: 1441px) and (max-width: 1600px) {
  .wave-about-banner {
    min-height: 220px;
    padding: 50px 0 50px;
  }

  .wave-about-banner__title {
    font-size: 2.7rem;
  }

  .wave-about-banner__breadcrumb {
    font-size: 0.92rem;
  }

  .wave-about-story {
    padding: 24px;
  }

  .wave-about-story__row {
    padding-left: 36px;
    padding-right: 36px;
  }

  .wave-about-story__media,
  .wave-about-story__img {
    min-height: 440px;
  }

  .wave-about-story__media {
    border-radius: 24px;
  }

  .wave-about-story__badge {
    left: 20px;
    bottom: 20px;
    padding: 8px 16px 8px 8px;
    gap: 10px;
  }

  .wave-about-story__badge-img {
    width: 44px;
    height: 44px;
  }

  .wave-about-story__content {
    padding: 34px 28px;
    border-radius: 24px;
  }

  .wave-about-story__title {
    font-size: 2.55rem;
    margin-top: 0 !important;
  }

  .wave-about-story__lead {
    font-size: 1.08rem;
    margin-top: 10px;
    margin-bottom: 16px;
  }

  .wave-about-story__text {
    font-size: 0.98rem;
    line-height: 1.65;
    margin-bottom: 16px;
  }
}

/* ---------- 19" Desktop ? 1440 � 900 ---------- */
@media (min-width: 1367px) and (max-width: 1440px) {
  .wave-about-banner {
    min-height: 200px;
    padding: 40px 0 40px;
  }

  .wave-about-banner__title {
    font-size: 2.5rem;
    margin-bottom: 10px;
  }

  .wave-about-banner__breadcrumb {
    font-size: 0.9rem;
  }

  .wave-about-story {
    padding: 20px;
  }

  .wave-about-story__row {
    padding-left: 28px;
    padding-right: 28px;
  }

  .wave-about-story__media,
  .wave-about-story__img {
    min-height: 400px;
  }

  .wave-about-story__media {
    border-radius: 22px;
  }

  .wave-about-story__badge {
    left: 18px;
    bottom: 18px;
    padding: 8px 14px 8px 8px;
    gap: 10px;
  }

  .wave-about-story__badge-img {
    width: 40px;
    height: 40px;
  }

  .wave-about-story__badge strong {
    font-size: 0.88rem;
  }

  .wave-about-story__badge span {
    font-size: 0.75rem;
  }

  .wave-about-story__content {
    padding: 32px 28px;
    border-radius: 22px;
  }

  .wave-about-story__title {
    font-size: 2.3rem;
    margin-top: 0 !important;
  }

  .wave-about-story__lead {
    font-size: 1.02rem;
    margin-top: 8px;
    margin-bottom: 14px;
  }

  .wave-about-story__text {
    font-size: 0.94rem;
    line-height: 1.6;
    margin-bottom: 10px;
  }

  .wave-about-story__content .btn {
    padding: 9px 14px;
    font-size: 0.9rem;
  }
}

/* ---------- 15" Notebook ? 1366 � 768 ---------- */
@media (min-width: 1281px) and (max-width: 1366px) {
  .wave-about-banner {
    min-height: 180px;
    padding: 36px 0 36px;
  }

  .wave-about-banner__title {
    font-size: 2.25rem;
    margin-bottom: 8px;
  }

  .wave-about-banner__breadcrumb {
    font-size: 0.86rem;
    gap: 6px;
  }

  .wave-about-story {
    padding: 16px;
  }

  .wave-about-story__row {
    padding-left: 22px;
    padding-right: 22px;
  }

  .wave-about-story__media,
  .wave-about-story__img {
    min-height: 360px;
  }

  .wave-about-story__media {
    border-radius: 20px;
  }

  .wave-about-story__badge {
    left: 14px;
    bottom: 14px;
    padding: 7px 12px 7px 7px;
    gap: 8px;
  }

  .wave-about-story__badge-img {
    width: 36px;
    height: 36px;
  }

  .wave-about-story__badge strong {
    font-size: 0.82rem;
  }

  .wave-about-story__badge span {
    font-size: 0.7rem;
  }

  .wave-about-story__content {
    padding: 26px 22px;
    border-radius: 20px;
  }

  .wave-about-story__title {
    font-size: 2.05rem;
    margin-top: 0 !important;
  }

  .wave-about-story__lead {
    font-size: 0.98rem;
    margin-top: 8px;
    margin-bottom: 12px;
  }

  .wave-about-story__text {
    font-size: 0.9rem;
    line-height: 1.55;
    margin-bottom: 8px;
  }

  .wave-about-story__content .tw-mt-10 {
    margin-top: 1.25rem !important;
  }

  .wave-about-story__content .btn {
    padding: 8px 13px;
    font-size: 0.86rem;
  }
}

/* ---------- 13" Notebook ? 1280 � 800 ---------- */
@media (min-width: 1200px) and (max-width: 1280px) {
  .wave-about-banner {
    min-height: 170px;
    padding: 35px 0 35px;
  }

  .wave-about-banner__title {
    font-size: 2.15rem;
    margin-bottom: 8px;
  }

  .wave-about-banner__breadcrumb {
    font-size: 0.84rem;
    gap: 6px;
  }

  .wave-about-story {
    padding: 14px;
  }

  .wave-about-story__row {
    padding-left: 20px;
    padding-right: 20px;
  }

  .wave-about-story__media,
  .wave-about-story__img {
    min-height: 340px;
  }

  .wave-about-story__media {
    border-radius: 18px;
  }

  .wave-about-story__badge {
    left: 12px;
    bottom: 12px;
    padding: 6px 12px 6px 6px;
    gap: 8px;
  }

  .wave-about-story__badge-img {
    width: 34px;
    height: 34px;
  }

  .wave-about-story__badge strong {
    font-size: 0.8rem;
  }

  .wave-about-story__badge span {
    font-size: 0.68rem;
  }

  .wave-about-story__content {
    padding: 24px 20px;
    border-radius: 18px;
  }

  .wave-about-story__title {
    font-size: 1.95rem;
    margin-top: 0 !important;
  }

  .wave-about-story__lead {
    font-size: 0.96rem;
    margin-top: 8px;
    margin-bottom: 12px;
  }

  .wave-about-story__text {
    font-size: 0.88rem;
    line-height: 1.55;
    margin-bottom: 8px;
  }

  .wave-about-story__content .tw-mt-10 {
    margin-top: 1.15rem !important;
  }

  .wave-about-story__content .btn {
    padding: 8px 12px;
    font-size: 0.84rem;
  }
}

/* Short-height tweak: 15" / 13" notebooks (?768?820px tall) */
@media (min-width: 1200px) and (max-width: 1366px) and (max-height: 820px) {
  .wave-about-banner {
    min-height: 150px;
    padding: 35px 0 35px;
  }

  .wave-about-banner__title {
    font-size: 2rem;
  }

  .wave-about-story {
    padding: 12px;
  }

  .wave-about-story__media,
  .wave-about-story__img {
    min-height: 300px;
  }

  .wave-about-story__content {
    padding: 20px 18px;
  }

  .wave-about-story__title {
    font-size: 1.85rem;
  }

  .wave-about-story__lead {
    font-size: 0.92rem;
    margin-bottom: 10px;
  }

  .wave-about-story__text {
    font-size: 0.84rem;
    line-height: 1.5;
    margin-bottom: 16px;
  }
}

@media (max-width: 991.98px) {
  .wave-about-banner {
    min-height: 200px;
    padding: 48px 0 42px;
  }

  .wave-about-banner__title {
    font-size: 2.4rem;
    margin-bottom: 10px;
  }

  .wave-about-banner__breadcrumb {
    font-size: 0.9rem;
  }

  .wave-about-story {
    padding: 28px 16px 36px;
  }

  .wave-about-story__row {
    padding-left: 0;
    padding-right: 0;
    --bs-gutter-x: 0;
    --bs-gutter-y: 1.25rem;
  }

  .wave-about-story__media,
  .wave-about-story__img,
  .wave-about-block__media,
  .wave-about-block__img {
    min-height: 340px;
  }

  .wave-about-story__media {
    border-radius: 22px;
  }

  .wave-about-story__badge {
    left: 16px;
    bottom: 16px;
    gap: 10px;
    padding: 8px 14px 8px 8px;
  }

  .wave-about-story__badge-img {
    width: 42px;
    height: 42px;
  }

  .wave-about-story__content {
    padding: 28px 22px 32px;
    border-radius: 22px;
  }

  .wave-about-story__title {
    font-size: 1.9rem;
    margin-top: 0 !important;
  }

  .wave-about-story__lead {
    font-size: 1.05rem;
    margin-top: 10px;
    margin-bottom: 14px;
  }

  .wave-about-story__text {
    font-size: 0.95rem;
    line-height: 1.65;
    margin-bottom: 12px;
  }

  .wave-about-story__content .btn {
    padding: 10px 14px;
    font-size: 0.9rem;
  }

  .wave-about-block__panel {
    padding: 48px 20px 64px;
  }

  .wave-about-story__text,
  .wave-about-block__text {
    max-width: 100%;
  }
}

/* About banner + story ? phones */
@media (max-width: 575.98px) {
  .wave-about-banner {
    min-height: 170px;
    padding: 40px 0 36px;
  }

  .wave-about-banner__title {
    font-size: 2.1rem;
  }

  .wave-about-banner__breadcrumb {
    font-size: 0.88rem;
    gap: 6px;
  }

  .wave-about-story {
    padding: 22px 14px 32px;
  }

  .wave-about-story__media,
  .wave-about-story__img {
    min-height: 280px;
  }

  .wave-about-story__media {
    border-radius: 18px;
  }

  .wave-about-story__badge {
    left: 12px;
    bottom: 12px;
    max-width: calc(100% - 24px);
    padding: 7px 12px 7px 7px;
  }

  .wave-about-story__badge-img {
    width: 38px;
    height: 38px;
    flex-shrink: 0;
  }

  .wave-about-story__badge strong {
    font-size: 0.82rem;
  }

  .wave-about-story__badge span {
    font-size: 0.7rem;
  }

  .wave-about-story__content {
    padding: 24px 18px 28px;
    border-radius: 18px;
  }

  .wave-about-story__title {
    font-size: 1.7rem;
  }

  .wave-about-story__lead {
    font-size: 0.98rem;
  }

  .wave-about-story__text {
    font-size: 0.92rem;
    line-height: 1.62;
  }
}

/* iPhone Plus ? 414 � 736 */
@media (max-width: 414.98px) {
  .wave-about-banner {
    min-height: 160px;
    padding: 36px 0 32px;
  }

  .wave-about-banner__title {
    font-size: 1.95rem;
  }

  .wave-about-story {
    padding: 20px 12px 28px;
  }

  .wave-about-story__media,
  .wave-about-story__img {
    min-height: 260px;
  }

  .wave-about-story__content {
    padding: 22px 16px 26px;
  }

  .wave-about-story__title {
    font-size: 1.6rem;
  }

  .wave-about-story__lead {
    font-size: 0.95rem;
    margin-bottom: 12px;
  }

  .wave-about-story__text {
    font-size: 0.9rem;
  }

  .wave-about-story__content .btn {
    padding: 9px 12px;
    font-size: 0.86rem;
  }
}

/* iPhone 6/7 ? 375 � 667 */
@media (max-width: 375.98px) {
  .wave-about-banner {
    min-height: 150px;
    padding: 32px 0 28px;
  }

  .wave-about-banner__title {
    font-size: 1.8rem;
  }

  .wave-about-banner__breadcrumb {
    font-size: 0.84rem;
  }

  .wave-about-story {
    padding: 18px 12px 26px;
  }

  .wave-about-story__media,
  .wave-about-story__img {
    min-height: 240px;
  }

  .wave-about-story__badge {
    left: 10px;
    bottom: 10px;
    gap: 8px;
    padding: 6px 10px 6px 6px;
  }

  .wave-about-story__badge-img {
    width: 34px;
    height: 34px;
  }

  .wave-about-story__badge strong {
    font-size: 0.76rem;
  }

  .wave-about-story__badge span {
    font-size: 0.66rem;
  }

  .wave-about-story__content {
    padding: 20px 14px 24px;
  }

  .wave-about-story__title {
    font-size: 1.5rem;
  }

  .wave-about-story__lead {
    font-size: 0.92rem;
  }

  .wave-about-story__text {
    font-size: 0.88rem;
    line-height: 1.6;
  }
}

/* Galaxy / small ? 360 � 640 */
@media (max-width: 360.98px) {
  .wave-about-banner {
    min-height: 140px;
    padding: 30px 0 26px;
  }

  .wave-about-banner__title {
    font-size: 1.7rem;
  }

  .wave-about-banner__breadcrumb {
    font-size: 0.8rem;
  }

  .wave-about-story {
    padding: 16px 10px 24px;
  }

  .wave-about-story__media,
  .wave-about-story__img {
    min-height: 220px;
  }

  .wave-about-story__content {
    padding: 18px 12px 22px;
  }

  .wave-about-story__title {
    font-size: 1.4rem;
  }

  .wave-about-story__lead {
    font-size: 0.9rem;
  }

  .wave-about-story__text {
    font-size: 0.86rem;
  }

  .wave-about-story__content .btn {
    padding: 8px 11px;
    font-size: 0.84rem;
  }
}

@media (max-width: 991.98px) {
  .banner-demand {
    padding-top: 40px;
  }

  .banner-demand .banner-demand__thumb-mobile {
    margin-top: 32px;
    border-radius: 20px;
    overflow: hidden;
    max-height: 360px;
  }

  .banner-demand .banner-demand__thumb-mobile img {
    width: 100%;
    height: 100%;
    max-height: 360px;
    object-fit: cover;
  }
}

.wave-contact-form .form-control,
.wave-contact-form textarea.form-control {
  min-height: 52px;
}

.wave-contact-form textarea.form-control {
  min-height: 140px;
  resize: vertical;
}

/* Contact page ? full width */
.wave-contact {
  padding: 40px 0 70px;
  background:
    radial-gradient(ellipse 50% 40% at 10% 20%, rgba(6, 103, 214, 0.08), transparent 55%),
    #f3f6fb;
}

.wave-contact__shell {
  width: 100%;
  max-width: 100%;
  padding-left: clamp(16px, 3vw, 48px);
  padding-right: clamp(16px, 3vw, 48px);
}

.wave-contact__card {
  width: 100%;
  background: #fff;
  border-radius: 32px;
  overflow: hidden;
  border: 1px solid rgba(15, 20, 18, 0.06);
  box-shadow: 0 22px 55px rgba(15, 20, 18, 0.07);
}

.wave-contact__aside {
  height: 100%;
  padding: clamp(32px, 4.5vw, 56px);
  background:
    radial-gradient(ellipse 80% 60% at 20% 10%, rgba(6, 103, 214, 0.22), transparent 55%),
    linear-gradient(160deg, #123528 0%, #0f1f18 55%, #152a20 100%);
  color: #fff;
}

.wave-contact__eyebrow {
  display: inline-flex;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(6, 103, 214, 0.18);
  color: #7dffb8;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 18px;
  border: 1px solid rgba(126, 255, 184, 0.25);
}

.wave-contact__heading {
  font-size: clamp(1.7rem, 2.8vw, 2.4rem);
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin: 0 0 16px;
}

.wave-contact__lead,
.wave-contact__note {
  color: rgba(235, 245, 238, 0.78);
  font-size: 1.02rem;
  line-height: 1.75;
  margin: 0 0 12px;
}

.wave-contact__note {
  margin-bottom: 28px;
  color: #7dffb8;
  font-weight: 600;
}

.wave-contact__info {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 32px;
}

.wave-contact__info-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  text-decoration: none;
  transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}

.wave-contact__info-item:hover {
  background: rgba(6, 103, 214, 0.18);
  border-color: rgba(126, 255, 184, 0.28);
  transform: translateX(4px);
}

.wave-contact__info-icon {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--main-600);
  color: #fff;
  font-size: 1.25rem;
  flex-shrink: 0;
}

.wave-contact__info-body {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.wave-contact__info-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  margin-bottom: 2px;
}

.wave-contact__info-value {
  color: #fff;
  font-weight: 600;
  font-size: 0.98rem;
  word-break: break-word;
}

.wave-contact__social-title {
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 14px;
}

.wave-contact__social {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
}

.wave-contact__social a {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 1.15rem;
  text-decoration: none;
  transition: background 0.3s ease, transform 0.3s ease;
}

.wave-contact__social a:hover {
  background: var(--main-600);
  transform: translateY(-3px);
}

.wave-contact__form-wrap {
  height: 100%;
  padding: clamp(32px, 4.5vw, 56px);
  background: #fff;
}

.wave-contact__label {
  display: block;
  font-size: 0.92rem;
  font-weight: 600;
  color: #1a1f1c;
  margin-bottom: 8px;
}

.wave-contact__input {
  width: 100%;
  min-height: 52px;
  border: 1px solid rgba(15, 20, 18, 0.12) !important;
  border-radius: 14px !important;
  padding: 12px 18px !important;
  box-shadow: none !important;
  background: #f6f8fc;
  color: #111;
  transition: border-color 0.25s ease, background 0.25s ease;
}

.wave-contact__input:focus {
  border-color: var(--main-600) !important;
  background: #fff;
}

.wave-contact__textarea {
  min-height: 150px !important;
  resize: vertical;
}

.wave-contact__submit {
  width: auto !important;
  max-width: max-content;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px;
  padding: 14px 34px !important;
  font-size: 16px;
  line-height: 1;
  min-height: 52px;
}

.wave-contact__submit:hover,
.wave-contact__submit:focus,
.wave-contact__submit:active {
  color: #fff !important;
}

.wave-contact__submit .btn-text {
  display: block !important;
  position: relative;
  z-index: 2;
  font-size: 16px;
  height: 22px !important;
  line-height: 22px !important;
  overflow: hidden;
  margin: 0;
  padding: 0;
  color: inherit;
}

.wave-contact__submit .btn-icon-animation {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
  width: 24px;
  height: 24px;
  font-size: 17px;
  line-height: 1;
  margin: 0;
  padding: 0;
  flex-shrink: 0;
  color: inherit;
}

.wave-contact__submit .btn-icon-animation i {
  display: block;
  line-height: 1;
}

/* ---------- 22" Desktop ? 1680 � 1050 ---------- */
@media (min-width: 1601px) and (max-width: 1680px) {
  .wave-contact {
    padding: 36px 0 64px;
  }

  .wave-contact__shell {
    padding-left: 40px;
    padding-right: 40px;
  }

  .wave-contact__card {
    border-radius: 30px;
  }

  .wave-contact__aside,
  .wave-contact__form-wrap {
    padding: 48px 44px;
  }

  .wave-contact__heading {
    font-size: 2.25rem;
    margin-bottom: 16px;
  }

  .wave-contact__lead,
  .wave-contact__note {
    font-size: 1.02rem;
    line-height: 1.7;
  }

  .wave-contact__note {
    margin-bottom: 26px;
  }

  .wave-contact__info {
    gap: 14px;
    margin-bottom: 30px;
  }

  .wave-contact__info-item {
    padding: 14px 16px;
  }

  .wave-contact__input {
    min-height: 50px;
  }

  .wave-contact__textarea {
    min-height: 140px !important;
  }
}

/* ---------- 20" Desktop ? 1600 � 900 ---------- */
@media (min-width: 1441px) and (max-width: 1600px) {
  .wave-contact {
    padding: 32px 0 56px;
  }

  .wave-contact__shell {
    padding-left: 36px;
    padding-right: 36px;
  }

  .wave-contact__card {
    border-radius: 28px;
  }

  .wave-contact__aside,
  .wave-contact__form-wrap {
    padding: 42px 38px;
  }

  .wave-contact__eyebrow {
    margin-bottom: 16px;
  }

  .wave-contact__heading {
    font-size: 2.1rem;
    margin-bottom: 14px;
  }

  .wave-contact__lead,
  .wave-contact__note {
    font-size: 0.98rem;
    line-height: 1.65;
    margin-bottom: 12px;
  }

  .wave-contact__note {
    margin-bottom: 24px;
  }

  .wave-contact__info {
    gap: 12px;
    margin-bottom: 26px;
  }

  .wave-contact__info-item {
    padding: 13px 15px;
    gap: 12px;
    border-radius: 14px;
  }

  .wave-contact__info-icon {
    width: 42px;
    height: 42px;
    font-size: 1.15rem;
  }

  .wave-contact__info-value {
    font-size: 0.94rem;
  }

  .wave-contact__social-title {
    margin-bottom: 12px;
  }

  .wave-contact__social a {
    width: 40px;
    height: 40px;
  }

  .wave-contact__label {
    font-size: 0.9rem;
    margin-bottom: 7px;
  }

  .wave-contact__input {
    min-height: 48px;
    padding: 11px 16px !important;
  }

  .wave-contact__textarea {
    min-height: 130px !important;
  }

  .wave-contact-form .row {
    --bs-gutter-y: 1.25rem;
  }

  .wave-contact__submit {
    padding: 13px 26px !important;
    min-height: 50px;
    font-size: 15px;
  }
}

/* ---------- 19" Desktop ? 1440 � 900 ---------- */
@media (min-width: 1367px) and (max-width: 1440px) {
  .wave-contact {
    padding: 30px 0 52px;
  }

  .wave-contact__shell {
    padding-left: 28px;
    padding-right: 28px;
  }

  .wave-contact__card {
    border-radius: 26px;
  }

  .wave-contact__aside,
  .wave-contact__form-wrap {
    padding: 36px 32px;
  }

  .wave-contact__eyebrow {
    padding: 7px 12px;
    font-size: 11px;
    margin-bottom: 14px;
  }

  .wave-contact__heading {
    font-size: 1.95rem;
    margin-bottom: 14px;
  }

  .wave-contact__lead,
  .wave-contact__note {
    font-size: 0.95rem;
    line-height: 1.65;
    margin-bottom: 10px;
  }

  .wave-contact__note {
    margin-bottom: 22px;
  }

  .wave-contact__info {
    gap: 12px;
    margin-bottom: 24px;
  }

  .wave-contact__info-item {
    padding: 12px 14px;
    gap: 12px;
    border-radius: 14px;
  }

  .wave-contact__info-icon {
    width: 40px;
    height: 40px;
    font-size: 1.1rem;
  }

  .wave-contact__info-value {
    font-size: 0.9rem;
  }

  .wave-contact__social-title {
    font-size: 0.95rem;
    margin-bottom: 12px;
  }

  .wave-contact__social {
    gap: 10px;
  }

  .wave-contact__social a {
    width: 38px;
    height: 38px;
    font-size: 1.05rem;
  }

  .wave-contact__label {
    font-size: 0.88rem;
    margin-bottom: 7px;
  }

  .wave-contact__input {
    min-height: 46px;
    padding: 10px 15px !important;
    border-radius: 12px !important;
  }

  .wave-contact__textarea {
    min-height: 120px !important;
  }

  .wave-contact-form .row {
    --bs-gutter-y: 1.15rem;
  }

  .wave-contact__submit {
    padding: 12px 24px !important;
    min-height: 48px;
    font-size: 15px;
  }
}

/* ---------- 15" Notebook ? 1366 � 768 ---------- */
@media (min-width: 1281px) and (max-width: 1366px) {
  .wave-contact {
    padding: 28px 0 48px;
  }

  .wave-contact__shell {
    padding-left: 24px;
    padding-right: 24px;
  }

  .wave-contact__card {
    border-radius: 24px;
  }

  .wave-contact__aside,
  .wave-contact__form-wrap {
    padding: 32px 28px;
  }

  .wave-contact__eyebrow {
    padding: 7px 12px;
    font-size: 11px;
    margin-bottom: 14px;
  }

  .wave-contact__heading {
    font-size: 1.8rem;
    margin-bottom: 12px;
  }

  .wave-contact__lead,
  .wave-contact__note {
    font-size: 0.92rem;
    line-height: 1.6;
    margin-bottom: 10px;
  }

  .wave-contact__note {
    margin-bottom: 20px;
  }

  .wave-contact__info {
    gap: 10px;
    margin-bottom: 22px;
  }

  .wave-contact__info-item {
    padding: 12px 14px;
    gap: 12px;
    border-radius: 14px;
  }

  .wave-contact__info-item:hover {
    transform: translateX(3px);
  }

  .wave-contact__info-icon {
    width: 38px;
    height: 38px;
    font-size: 1.05rem;
  }

  .wave-contact__info-label {
    font-size: 11px;
  }

  .wave-contact__info-value {
    font-size: 0.86rem;
  }

  .wave-contact__social-title {
    font-size: 0.92rem;
    margin-bottom: 12px;
  }

  .wave-contact__social {
    gap: 10px;
  }

  .wave-contact__social a {
    width: 38px;
    height: 38px;
    font-size: 1.05rem;
  }

  .wave-contact__label {
    font-size: 0.86rem;
    margin-bottom: 6px;
  }

  .wave-contact__input {
    min-height: 44px;
    padding: 10px 14px !important;
    border-radius: 12px !important;
    font-size: 0.92rem;
  }

  .wave-contact__textarea {
    min-height: 110px !important;
  }

  .wave-contact-form .row {
    --bs-gutter-y: 1.1rem;
  }

  .wave-contact__submit {
    padding: 12px 24px !important;
    min-height: 48px;
    font-size: 15px;
  }
}

/* ---------- 13" Notebook ? 1280 � 800 ---------- */
@media (min-width: 1200px) and (max-width: 1280px) {
  .wave-contact {
    padding: 26px 0 44px;
  }

  .wave-contact__shell {
    padding-left: 22px;
    padding-right: 22px;
  }

  .wave-contact__card {
    border-radius: 22px;
  }

  .wave-contact__aside,
  .wave-contact__form-wrap {
    padding: 28px 24px;
  }

  .wave-contact__eyebrow {
    padding: 6px 12px;
    font-size: 11px;
    margin-bottom: 12px;
  }

  .wave-contact__heading {
    font-size: 1.7rem;
    margin-bottom: 12px;
  }

  .wave-contact__lead,
  .wave-contact__note {
    font-size: 0.9rem;
    line-height: 1.6;
    margin-bottom: 10px;
  }

  .wave-contact__note {
    margin-bottom: 18px;
  }

  .wave-contact__info {
    gap: 10px;
    margin-bottom: 20px;
  }

  .wave-contact__info-item {
    padding: 11px 12px;
    gap: 10px;
    border-radius: 12px;
  }

  .wave-contact__info-item:hover {
    transform: translateX(3px);
  }

  .wave-contact__info-icon {
    width: 36px;
    height: 36px;
    font-size: 1rem;
  }

  .wave-contact__info-label {
    font-size: 11px;
  }

  .wave-contact__info-value {
    font-size: 0.84rem;
  }

  .wave-contact__social-title {
    font-size: 0.9rem;
    margin-bottom: 10px;
  }

  .wave-contact__social {
    gap: 8px;
  }

  .wave-contact__social a {
    width: 36px;
    height: 36px;
    font-size: 1rem;
  }

  .wave-contact__label {
    font-size: 0.84rem;
    margin-bottom: 6px;
  }

  .wave-contact__input {
    min-height: 42px;
    padding: 10px 14px !important;
    border-radius: 12px !important;
    font-size: 0.9rem;
  }

  .wave-contact__textarea {
    min-height: 105px !important;
  }

  .wave-contact-form .row {
    --bs-gutter-y: 1rem;
  }

  .wave-contact__submit {
    padding: 12px 22px !important;
    min-height: 48px;
    font-size: 15px;
  }
}

/* Short-height tweak: 15" / 13" notebooks (?768?820px tall) */
@media (min-width: 1200px) and (max-width: 1366px) and (max-height: 820px) {
  .wave-contact {
    padding: 22px 0 40px;
  }

  .wave-contact__aside,
  .wave-contact__form-wrap {
    padding: 24px 22px;
  }

  .wave-contact__heading {
    font-size: 1.6rem;
    margin-bottom: 10px;
  }

  .wave-contact__lead,
  .wave-contact__note {
    font-size: 0.86rem;
    line-height: 1.55;
    margin-bottom: 8px;
  }

  .wave-contact__note {
    margin-bottom: 16px;
  }

  .wave-contact__info {
    gap: 8px;
    margin-bottom: 16px;
  }

  .wave-contact__info-item {
    padding: 10px 12px;
  }

  .wave-contact__textarea {
    min-height: 90px !important;
  }

  .wave-contact-form .row {
    --bs-gutter-y: 0.9rem;
  }
}

@media (max-width: 991.98px) {
  .wave-contact__aside {
    border-radius: 0;
  }
}

@media (max-width: 575.98px) {
  .wave-contact {
    padding: 28px 0 48px;
  }

  .wave-contact__card {
    border-radius: 24px;
  }

  .wave-contact__aside,
  .wave-contact__form-wrap {
    padding: 24px;
  }

  .wave-contact__heading {
    font-size: 1.65rem;
  }

  .wave-contact__lead,
  .wave-contact__note {
    font-size: 0.92rem;
    line-height: 1.6;
  }

  .wave-contact__info-item {
    padding: 12px 14px;
  }

  .wave-contact__info-value {
    font-size: 0.88rem;
  }

  .wave-contact__input {
    min-height: 46px;
  }

  .wave-contact__textarea {
    min-height: 120px !important;
  }
}

/* iPhone 6/7 Plus ? 414 � 736 */
@media (max-width: 414.98px) {
  .wave-contact {
    padding: 24px 0 40px;
  }

  .wave-contact__shell {
    padding-left: 14px;
    padding-right: 14px;
  }

  .wave-contact__aside,
  .wave-contact__form-wrap {
    padding: 22px 18px;
  }

  .wave-contact__heading {
    font-size: 1.55rem;
  }

  .wave-contact__social a {
    width: 38px;
    height: 38px;
  }
}

/* iPhone 6/7 ? 375 � 667 */
@media (max-width: 375.98px) {
  .wave-contact__aside,
  .wave-contact__form-wrap {
    padding: 20px 16px;
  }

  .wave-contact__heading {
    font-size: 1.45rem;
  }

  .wave-contact__info-icon {
    width: 40px;
    height: 40px;
    font-size: 1.1rem;
  }

  .wave-contact__info-value {
    font-size: 0.84rem;
  }
}

/* LG G3 / Galaxy S3?7 ? 360 � 640 */
@media (max-width: 360.98px) {
  .wave-contact {
    padding: 20px 0 36px;
  }

  .wave-contact__shell {
    padding-left: 12px;
    padding-right: 12px;
  }

  .wave-contact__card {
    border-radius: 20px;
  }

  .wave-contact__aside,
  .wave-contact__form-wrap {
    padding: 18px 14px;
  }

  .wave-contact__heading {
    font-size: 1.35rem;
  }

  .wave-contact__lead,
  .wave-contact__note {
    font-size: 0.86rem;
  }

  .wave-contact__info-item {
    padding: 10px 12px;
    gap: 10px;
  }

  .wave-contact__info-icon {
    width: 36px;
    height: 36px;
    font-size: 1rem;
  }

  .wave-contact__info-value {
    font-size: 0.8rem;
  }

  .wave-contact__social a {
    width: 36px;
    height: 36px;
    font-size: 1rem;
  }

  .wave-contact__submit {
    padding: 12px 22px !important;
    min-height: 48px;
    font-size: 15px;
  }
}

/* Shared inner page banner */
.wave-page-banner {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(200px, 26vw, 260px);
  padding: 72px 24px 96px;
  background:
    radial-gradient(ellipse 50% 65% at 15% 25%, rgba(255, 255, 255, 0.18), transparent 55%),
    radial-gradient(ellipse 40% 55% at 88% 70%, rgba(3, 55, 120, 0.45), transparent 55%),
    linear-gradient(135deg, #0554b3 0%, #0667d6 48%, #04448f 100%);
}

/* Smooth animated wave field behind title */
.wave-page-banner__lines {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.wave-page-banner__swell,
.wave-page-banner__ripple {
  position: absolute;
  left: 0;
  width: 200%;
  will-change: transform;
}

.wave-page-banner__swell {
  bottom: 8%;
  height: 55%;
}

.wave-page-banner__swell svg,
.wave-page-banner__ripple svg {
  display: block;
  width: 100%;
  height: 100%;
}

.wave-page-banner__swell--a {
  animation: waveSwellLeft 18s linear infinite;
}

.wave-page-banner__swell--b {
  bottom: 0;
  height: 48%;
  opacity: 0.9;
  animation: waveSwellRight 12s linear infinite;
}

.wave-page-banner__ripple {
  top: 42%;
  height: 72%;
  transform: translateY(-50%);
}

.wave-page-banner__ripple--slow {
  animation: waveFlowLeft 16s linear infinite, waveDriftY 6s ease-in-out infinite;
}

.wave-page-banner__ripple--fast {
  top: 48%;
  height: 68%;
  opacity: 0.85;
  animation: waveFlowRight 10s linear infinite, waveDriftY 4.5s ease-in-out infinite reverse;
}

@keyframes waveFlowLeft {
  0% {
    transform: translate3d(0, -50%, 0);
  }
  100% {
    transform: translate3d(-50%, -50%, 0);
  }
}

@keyframes waveFlowRight {
  0% {
    transform: translate3d(-50%, -50%, 0);
  }
  100% {
    transform: translate3d(0, -50%, 0);
  }
}

@keyframes waveSwellLeft {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}

@keyframes waveSwellRight {
  0% {
    transform: translate3d(-50%, 0, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes waveDriftY {
  0%,
  100% {
    margin-top: 0;
  }
  50% {
    margin-top: 8px;
  }
}

.wave-page-banner::before {
  content: none;
}

/* Smooth layered bottom wave into page */
.wave-page-banner::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: clamp(48px, 8vw, 78px);
  z-index: 2;
  pointer-events: none;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath fill='rgba(255,255,255,0.16)' d='M0,48 Q180,18 360,48 T720,48 T1080,48 T1440,48 V120 H0 Z'/%3E%3Cpath fill='rgba(255,255,255,0.1)' d='M0,68 Q180,42 360,68 T720,68 T1080,68 T1440,68 V120 H0 Z'/%3E%3Cpath fill='%23f3f6fb' d='M0,82 Q180,58 360,82 T720,82 T1080,82 T1440,82 V120 H0 Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 100% 100%;
}

@media (prefers-reduced-motion: reduce) {
  .wave-page-banner__swell--a,
  .wave-page-banner__swell--b,
  .wave-page-banner__ripple--slow,
  .wave-page-banner__ripple--fast {
    animation: none;
  }
}

.wave-page-banner__content {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 16px;
}

.wave-page-banner__title {
  font-size: clamp(2.1rem, 4vw, 3.25rem);
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.025em;
  margin: 0;
  line-height: 1.12;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.18);
  /* Optical center above the bottom wave */
  transform: translateY(-6px);
}

.wave-page-banner__back {
  position: absolute;
  top: auto;
  left: clamp(20px, 4vw, 48px);
  bottom: clamp(52px, 8vw, 52px);
  z-index: 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 16px 11px 13px;
  background: #fff;
  color: #111;
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.14);
  transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}

.wave-page-banner__back i {
  font-size: 0.95rem;
  line-height: 1;
  display: block;
}

.wave-page-banner__back:hover {
  color: #111;
  background: #f5f8fc;
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
}

.wave-page-banner__breadcrumb {
  display: none;
}

@media (max-width: 991.98px) {
  .wave-page-banner {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    min-height: 0;
    padding: 56px 16px 88px;
  }

  .wave-page-banner__ripple--slow {
    opacity: 0.9;
  }

  .wave-page-banner__ripple--fast {
    opacity: 0.75;
  }

  .wave-page-banner::after {
    height: 36px;
  }

  .wave-page-banner__content {
    width: 100%;
    max-width: none;
  }

  .wave-page-banner__title {
    font-size: 2.15rem;
    transform: none;
  }

  .wave-page-banner__back {
    position: absolute;
    left: 50%;
    right: auto;
    top: auto;
    bottom: 48px;
    transform: translateX(-50%);
    margin: 0;
  }

  .wave-page-banner__back:hover {
    transform: translateX(-50%) translateY(-2px);
  }
}

@media (max-width: 575.98px) {
  .wave-page-banner {
    gap: 0;
    padding: 48px 14px 84px;
  }

  .wave-page-banner::after {
    height: 30px;
  }

  .wave-page-banner__title {
    font-size: 1.9rem;
  }

  .wave-page-banner__back {
    bottom: 35px;
    padding: 10px 14px 10px 12px;
    font-size: 0.84rem;
    gap: 6px;
  }

  .wave-page-banner__back i {
    font-size: 0.92rem;
  }
}

@media (max-width: 360.98px) {
  .wave-page-banner {
    gap: 0;
    padding: 44px 12px 80px;
  }

  .wave-page-banner__title {
    font-size: 1.7rem;
  }

  .wave-page-banner__back {
    bottom: 40px;
    padding: 9px 12px 9px 10px;
    font-size: 0.8rem;
  }
}

/* Services page ? left content / right image reveal */
.wave-svc-page__intro {
  padding: 72px 0 36px;
  background: #f3f6fb;
}

.wave-svc-page__intro-inner {
  max-width: 780px;
  margin: 0 auto;
  text-align: center;
}

.wave-svc-page__eyebrow {
  display: inline-flex;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(6, 103, 214, 0.12);
  color: var(--main-600);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 22px;
  border: 1px solid rgba(6, 103, 214, 0.18);
}

.wave-svc-page__intro-text {
  color: #4a5560;
  font-size: clamp(1.05rem, 1.6vw, 1.2rem);
  line-height: 1.85;
  margin: 0 auto;
  max-width: 720px;
  position: relative;
}

.wave-svc-page__intro-text::after {
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  margin: 28px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, var(--main-600), transparent);
}

.wave-svc-page {
  padding: 20px 0 80px;
  background: #f3f6fb;
}

.wave-svc-reveal {
  position: relative;
  margin-bottom: 48px;
}

.wave-svc-reveal:last-child {
  margin-bottom: 0;
}

.wave-svc-reveal__grid {
  display: grid;
  grid-template-columns: minmax(320px, 1.2fr) minmax(320px, 1.2fr);
  align-items: center;
  min-height: 0;
  gap: 0;
}

.wave-svc-reveal__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(32px, 5vw, 72px) clamp(24px, 4vw, 64px) clamp(32px, 5vw, 72px) clamp(20px, 5vw, 80px);
  opacity: 0;
  transform: translateX(-36px);
  transition:
    opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.wave-svc-reveal.is-inview .wave-svc-reveal__content {
  opacity: 1;
  transform: translateX(0);
}

.wave-svc-reveal__num {
  position: absolute;
  top: 18px;
  left: clamp(20px, 5vw, 80px);
  font-size: clamp(4.5rem, 8vw, 7rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.04em;
  color: rgba(6, 103, 214, 0.1);
  pointer-events: none;
  user-select: none;
}

.wave-svc-reveal__price {
  display: inline-flex;
  align-self: flex-start;
  padding: 8px 14px;
  border-radius: 999px;
  background: #111;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  margin-bottom: 18px;
  position: relative;
  z-index: 1;
}

.wave-svc-reveal__title {
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 700;
  color: #111;
  letter-spacing: -0.03em;
  line-height: 1.15;
  margin: 0 0 16px;
  position: relative;
  z-index: 1;
}

.wave-svc-reveal__text {
  color: #5b6470;
  font-size: 1.05rem;
  line-height: 1.75;
  margin: 0 0 28px;
  max-width: 100%;
  position: relative;
  z-index: 1;
}

.wave-svc-reveal__content .btn {
  align-self: flex-start;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: max-content;
  min-width: 0;
  padding: 10px 18px !important;
  font-size: 13px;
  gap: 8px;
  line-height: 1;
  min-height: 42px;
}

.wave-svc-reveal__content .btn:hover,
.wave-svc-reveal__content .btn:focus,
.wave-svc-reveal__content .btn:active {
  color: #fff !important;
}

.wave-svc-reveal__content .btn .btn-text {
  display: block !important;
  position: relative;
  z-index: 2;
  font-size: 13px;
  height: 20px !important;
  line-height: 20px !important;
  overflow: hidden;
  margin: 0;
  padding: 0;
  color: inherit;
}

.wave-svc-reveal__content .btn .btn-icon-animation {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
  width: 18px;
  height: 18px;
  font-size: 14px;
  line-height: 1;
  margin: 0;
  padding: 0;
  flex-shrink: 0;
  color: inherit;
}

.wave-svc-reveal__content .btn .btn-icon-animation i {
  display: block;
  line-height: 1;
  transform: translateY(1px);
}

.wave-svc-reveal__visual {
  position: relative;
  width: 100%;
  min-height: 0;
  /* Match svc-*.jpg ratio (952x460) so cover does not crop */
  aspect-ratio: 952 / 460;
  overflow: hidden;
  line-height: 0;
  background: transparent;
}

.wave-svc-reveal__frame {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: 28px 0 0 28px;
  background: transparent;
  clip-path: inset(0 0 0 100%);
  transition: clip-path 1.15s cubic-bezier(0.76, 0, 0.24, 1);
}

.wave-svc-reveal.is-inview .wave-svc-reveal__frame {
  clip-path: inset(0 0 0 0);
}

.wave-svc-reveal__frame--contain,
.wave-svc-reveal__frame--dark {
  padding: 0;
  background: transparent;
  border: 0;
}

.wave-svc-reveal__img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
  display: block;
  transform: translateX(24px);
  transition: transform 1.15s cubic-bezier(0.22, 1, 0.36, 1) 0.1s;
}

.wave-svc-reveal.is-inview .wave-svc-reveal__img {
  transform: translateX(0);
}

.wave-svc-reveal__frame--contain .wave-svc-reveal__img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
}

.wave-svc-reveal__visual::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(180deg, transparent, var(--main-600), transparent);
  opacity: 0;
  transition: opacity 0.6s ease 0.5s;
  pointer-events: none;
  z-index: 2;
}

.wave-svc-reveal.is-inview .wave-svc-reveal__visual::after {
  opacity: 0.7;
}

/* Alternating: image left / content right */
.wave-svc-reveal--flip .wave-svc-reveal__content {
  order: 2;
  transform: translateX(36px);
  padding: clamp(32px, 5vw, 72px) clamp(20px, 5vw, 80px) clamp(32px, 5vw, 72px) clamp(24px, 4vw, 64px);
}

.wave-svc-reveal--flip.is-inview .wave-svc-reveal__content {
  transform: translateX(0);
}

.wave-svc-reveal--flip .wave-svc-reveal__visual {
  order: 1;
}

.wave-svc-reveal--flip .wave-svc-reveal__num {
  left: auto;
  right: clamp(20px, 5vw, 80px);
}

.wave-svc-reveal--flip .wave-svc-reveal__frame {
  border-radius: 0 28px 28px 0;
  clip-path: inset(0 100% 0 0);
}

.wave-svc-reveal--flip.is-inview .wave-svc-reveal__frame {
  clip-path: inset(0 0 0 0);
}

.wave-svc-reveal--flip .wave-svc-reveal__img {
  transform: scale(1.12) translateX(-28px);
}

.wave-svc-reveal--flip.is-inview .wave-svc-reveal__img {
  transform: scale(1) translateX(0);
}

.wave-svc-reveal--flip .wave-svc-reveal__visual::after {
  right: auto;
  left: 0;
}

/* ---------- 22" Desktop ? 1680 � 1050 ---------- */
@media (min-width: 1601px) and (max-width: 1680px) {
  .wave-page-banner {
    min-height: 240px;
    padding: 68px 24px 92px;
  }

  .wave-page-banner__title {
    font-size: 2.9rem;
  }

  .wave-svc-page__intro {
    padding: 64px 0 32px;
  }

  .wave-svc-page__intro-text {
    font-size: 1.12rem;
    line-height: 1.8;
  }

  .wave-svc-page {
    padding: 20px 0 72px;
  }

  .wave-svc-reveal {
    margin-bottom: 44px;
  }

  .wave-svc-reveal__grid {
    min-height: 0;
  }

  .wave-svc-reveal__content {
    padding: 48px 48px 48px 56px;
  }

  .wave-svc-reveal--flip .wave-svc-reveal__content {
    padding: 48px 56px 48px 48px;
  }

  .wave-svc-reveal__title {
    font-size: 2.4rem;
    margin-bottom: 16px;
  }

  .wave-svc-reveal__text {
    font-size: 1.02rem;
    line-height: 1.7;
    margin-bottom: 26px;
  }

  .wave-svc-reveal__price {
    margin-bottom: 16px;
  }

  .wave-svc-reveal__visual {
    min-height: 0;
  }

  .wave-svc-reveal__frame,
  .wave-svc-reveal--flip .wave-svc-reveal__frame {
    border-radius: 26px 0 0 26px;
  }

  .wave-svc-reveal--flip .wave-svc-reveal__frame {
    border-radius: 0 26px 26px 0;
  }
}

/* ---------- 20" Desktop ? 1600 � 900 ---------- */
@media (min-width: 1441px) and (max-width: 1600px) {
  .wave-page-banner {
    min-height: 220px;
    padding: 64px 24px 88px;
  }

  .wave-page-banner__title {
    font-size: 2.7rem;
  }

  .wave-page-banner__breadcrumb {
    font-size: 0.92rem;
  }

  .wave-svc-page__intro {
    padding: 56px 0 28px;
  }

  .wave-svc-page__eyebrow {
    margin-bottom: 18px;
  }

  .wave-svc-page__intro-text {
    font-size: 1.08rem;
    line-height: 1.75;
  }

  .wave-svc-page__intro-text::after {
    margin-top: 24px;
  }

  .wave-svc-page {
    padding: 16px 0 64px;
  }

  .wave-svc-reveal {
    margin-bottom: 40px;
  }

  .wave-svc-reveal__grid {
    min-height: 0;
    grid-template-columns: minmax(300px, 1.15fr) minmax(300px, 1.15fr);
  }

  .wave-svc-reveal__content {
    padding: 42px 40px 42px 48px;
  }

  .wave-svc-reveal--flip .wave-svc-reveal__content {
    padding: 42px 48px 42px 40px;
  }

  .wave-svc-reveal__num {
    top: 14px;
    font-size: 5.5rem;
  }

  .wave-svc-reveal__price {
    padding: 7px 13px;
    margin-bottom: 14px;
  }

  .wave-svc-reveal__title {
    font-size: 2.2rem;
    margin-bottom: 14px;
  }

  .wave-svc-reveal__text {
    font-size: 0.98rem;
    line-height: 1.7;
    margin-bottom: 24px;
  }

  .wave-svc-reveal__visual {
    min-height: 0;
  }

  .wave-svc-reveal__frame,
  .wave-svc-reveal--flip .wave-svc-reveal__frame {
    border-radius: 24px 0 0 24px;
  }

  .wave-svc-reveal--flip .wave-svc-reveal__frame {
    border-radius: 0 24px 24px 0;
  }
}

/* ---------- 19" Desktop ? 1440 � 900 ---------- */
@media (min-width: 1367px) and (max-width: 1440px) {
  .wave-page-banner {
    min-height: 200px;
    padding: 60px 24px 84px;
  }

  .wave-page-banner__title {
    font-size: 2.5rem;
    margin-bottom: 10px;
  }

  .wave-page-banner__breadcrumb {
    font-size: 0.9rem;
  }

  .wave-svc-page__intro {
    padding: 48px 0 26px;
  }

  .wave-svc-page__intro-inner {
    max-width: 720px;
  }

  .wave-svc-page__eyebrow {
    padding: 7px 14px;
    margin-bottom: 16px;
  }

  .wave-svc-page__intro-text {
    font-size: 1.02rem;
    line-height: 1.7;
  }

  .wave-svc-page__intro-text::after {
    margin-top: 22px;
  }

  .wave-svc-page {
    padding: 14px 0 56px;
  }

  .wave-svc-reveal {
    margin-bottom: 36px;
  }

  .wave-svc-reveal__grid {
    min-height: 0;
    grid-template-columns: minmax(280px, 1.1fr) minmax(280px, 1.1fr);
  }

  .wave-svc-reveal__content {
    padding: 36px 36px 36px 44px;
  }

  .wave-svc-reveal--flip .wave-svc-reveal__content {
    padding: 36px 44px 36px 36px;
  }

  .wave-svc-reveal__num {
    top: 12px;
    left: 36px;
    font-size: 5rem;
  }

  .wave-svc-reveal--flip .wave-svc-reveal__num {
    left: auto;
    right: 36px;
  }

  .wave-svc-reveal__price {
    padding: 7px 12px;
    font-size: 11px;
    margin-bottom: 14px;
  }

  .wave-svc-reveal__title {
    font-size: 2.05rem;
    margin-bottom: 14px;
  }

  .wave-svc-reveal__text {
    font-size: 0.95rem;
    line-height: 1.65;
    margin-bottom: 22px;
  }

  .wave-svc-reveal__visual {
    min-height: 0;
  }

  .wave-svc-reveal__frame,
  .wave-svc-reveal--flip .wave-svc-reveal__frame {
    border-radius: 22px 0 0 22px;
  }

  .wave-svc-reveal--flip .wave-svc-reveal__frame {
    border-radius: 0 22px 22px 0;
  }

  .wave-svc-reveal__content .btn {
    padding: 10px 16px !important;
    min-height: 40px;
  }
}

/* ---------- 15" Notebook ? 1366 � 768 ---------- */
@media (min-width: 1281px) and (max-width: 1366px) {
  .wave-page-banner {
    min-height: 180px;
    padding: 56px 20px 80px;
  }

  .wave-page-banner__title {
    font-size: 2.3rem;
    margin-bottom: 10px;
  }

  .wave-page-banner__breadcrumb {
    font-size: 0.88rem;
  }

  .wave-svc-page__intro {
    padding: 42px 0 24px;
  }

  .wave-svc-page__intro-inner {
    max-width: 680px;
    padding: 0 16px;
  }

  .wave-svc-page__eyebrow {
    padding: 7px 14px;
    font-size: 11px;
    margin-bottom: 16px;
  }

  .wave-svc-page__intro-text {
    font-size: 0.98rem;
    line-height: 1.7;
  }

  .wave-svc-page__intro-text::after {
    margin-top: 20px;
    width: 48px;
  }

  .wave-svc-page {
    padding: 12px 0 48px;
  }

  .wave-svc-reveal {
    margin-bottom: 32px;
  }

  .wave-svc-reveal__grid {
    min-height: 0;
    grid-template-columns: minmax(260px, 1.1fr) minmax(260px, 1.1fr);
  }

  .wave-svc-reveal__content {
    padding: 32px 28px 32px 36px;
  }

  .wave-svc-reveal--flip .wave-svc-reveal__content {
    padding: 32px 36px 32px 28px;
  }

  .wave-svc-reveal__num {
    top: 10px;
    left: 28px;
    font-size: 4.2rem;
  }

  .wave-svc-reveal--flip .wave-svc-reveal__num {
    left: auto;
    right: 28px;
  }

  .wave-svc-reveal__price {
    padding: 6px 12px;
    font-size: 11px;
    margin-bottom: 12px;
  }

  .wave-svc-reveal__title {
    font-size: 1.85rem;
    margin-bottom: 12px;
  }

  .wave-svc-reveal__text {
    font-size: 0.92rem;
    line-height: 1.65;
    margin-bottom: 20px;
  }

  .wave-svc-reveal__visual {
    min-height: 0;
  }

  .wave-svc-reveal__frame,
  .wave-svc-reveal--flip .wave-svc-reveal__frame {
    border-radius: 20px 0 0 20px;
  }

  .wave-svc-reveal--flip .wave-svc-reveal__frame {
    border-radius: 0 20px 20px 0;
  }

  .wave-svc-reveal__content .btn {
    padding: 9px 15px !important;
    font-size: 12px;
    min-height: 38px;
  }

  .wave-svc-reveal__content .btn .btn-text {
    font-size: 12px;
  }
}

/* ---------- 13" Notebook ? 1280 � 800 ---------- */
@media (min-width: 1200px) and (max-width: 1280px) {
  .wave-page-banner {
    min-height: 170px;
    padding: 52px 20px 76px;
  }

  .wave-page-banner__title {
    font-size: 2.2rem;
    margin-bottom: 8px;
  }

  .wave-page-banner__breadcrumb {
    font-size: 0.86rem;
  }

  .wave-svc-page__intro {
    padding: 40px 0 22px;
  }

  .wave-svc-page__intro-inner {
    max-width: 640px;
    padding: 0 16px;
  }

  .wave-svc-page__eyebrow {
    padding: 7px 14px;
    font-size: 11px;
    margin-bottom: 14px;
  }

  .wave-svc-page__intro-text {
    font-size: 0.96rem;
    line-height: 1.7;
  }

  .wave-svc-page__intro-text::after {
    margin-top: 18px;
    width: 48px;
  }

  .wave-svc-page {
    padding: 10px 0 44px;
  }

  .wave-svc-reveal {
    margin-bottom: 30px;
  }

  .wave-svc-reveal__grid {
    min-height: 0;
    grid-template-columns: minmax(250px, 1.1fr) minmax(250px, 1.1fr);
  }

  .wave-svc-reveal__content {
    padding: 30px 26px 30px 32px;
  }

  .wave-svc-reveal--flip .wave-svc-reveal__content {
    padding: 30px 32px 30px 26px;
  }

  .wave-svc-reveal__num {
    top: 8px;
    left: 26px;
    font-size: 3.8rem;
  }

  .wave-svc-reveal--flip .wave-svc-reveal__num {
    left: auto;
    right: 26px;
  }

  .wave-svc-reveal__price {
    padding: 6px 12px;
    font-size: 11px;
    margin-bottom: 12px;
  }

  .wave-svc-reveal__title {
    font-size: 1.75rem;
    margin-bottom: 12px;
  }

  .wave-svc-reveal__text {
    font-size: 0.9rem;
    line-height: 1.65;
    margin-bottom: 18px;
  }

  .wave-svc-reveal__visual {
    min-height: 0;
  }

  .wave-svc-reveal__frame,
  .wave-svc-reveal--flip .wave-svc-reveal__frame {
    border-radius: 18px 0 0 18px;
  }

  .wave-svc-reveal--flip .wave-svc-reveal__frame {
    border-radius: 0 18px 18px 0;
  }

  .wave-svc-reveal__content .btn {
    padding: 9px 14px !important;
    font-size: 12px;
    min-height: 38px;
  }

  .wave-svc-reveal__content .btn .btn-text {
    font-size: 12px;
  }
}

/* Short-height tweak: 15" / 13" notebooks (?768?820px tall) */
@media (min-width: 1200px) and (max-width: 1366px) and (max-height: 820px) {
  .wave-page-banner {
    min-height: 150px;
    padding: 48px 20px 72px;
  }

  .wave-svc-page__intro {
    padding: 36px 0 20px;
  }

  .wave-svc-page__intro-text {
    font-size: 0.92rem;
    line-height: 1.65;
  }

  .wave-svc-reveal {
    margin-bottom: 28px;
  }

  .wave-svc-reveal__grid {
    min-height: 0;
  }

  .wave-svc-reveal__content {
    padding: 28px 24px 28px 30px;
  }

  .wave-svc-reveal--flip .wave-svc-reveal__content {
    padding: 28px 30px 28px 24px;
  }

  .wave-svc-reveal__title {
    font-size: 1.7rem;
  }

  .wave-svc-reveal__text {
    font-size: 0.88rem;
    margin-bottom: 16px;
  }

  .wave-svc-reveal__visual {
    min-height: 0;
  }
}

@media (max-width: 991.98px) {
  .wave-page-banner {
    min-height: 0;
    padding: 56px 16px 88px;
  }

  .wave-page-banner__title {
    font-size: 2.2rem;
  }

  .wave-svc-page__intro {
    padding: 48px 0 24px;
  }

  .wave-svc-page__intro-inner {
    padding: 0 12px;
  }

  .wave-svc-page__intro-text {
    font-size: 1.02rem;
    line-height: 1.75;
  }

  .wave-svc-page {
    padding: 12px 0 56px;
  }

  .wave-svc-reveal {
    margin-bottom: 28px;
  }

  .wave-svc-reveal__grid {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .wave-svc-reveal__content,
  .wave-svc-reveal--flip .wave-svc-reveal__content {
    padding: 28px 24px 16px;
    order: 1;
    transform: none;
    opacity: 1;
  }

  .wave-svc-reveal.is-inview .wave-svc-reveal__content,
  .wave-svc-reveal--flip.is-inview .wave-svc-reveal__content {
    transform: none;
  }

  .wave-svc-reveal__num,
  .wave-svc-reveal--flip .wave-svc-reveal__num {
    left: 24px;
    right: auto;
    top: 10px;
    font-size: 4.2rem;
  }

  .wave-svc-reveal__price {
    margin-bottom: 14px;
  }

  .wave-svc-reveal__title {
    font-size: 1.9rem;
    margin-bottom: 14px;
  }

  .wave-svc-reveal__text {
    font-size: 0.98rem;
    line-height: 1.7;
    margin-bottom: 22px;
  }

  .wave-svc-reveal__visual,
  .wave-svc-reveal--flip .wave-svc-reveal__visual {
    order: 2;
    min-height: 0;
    height: auto;
    overflow: visible;
    line-height: 0;
  }

  .wave-svc-reveal__frame,
  .wave-svc-reveal--flip .wave-svc-reveal__frame,
  .wave-svc-reveal__frame--contain,
  .wave-svc-reveal__frame--dark {
    position: relative;
    inset: auto;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    width: auto;
    min-height: 0;
    height: auto;
    aspect-ratio: 952 / 460;
    border-radius: 22px;
    margin: 0 20px;
    clip-path: none !important;
    overflow: hidden;
    display: block;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
  }

  .wave-svc-reveal__img,
  .wave-svc-reveal--flip .wave-svc-reveal__img,
  .wave-svc-reveal__frame--contain .wave-svc-reveal__img {
    position: absolute !important;
    inset: 0 !important;
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
    background: transparent !important;
  }

  .wave-svc-reveal.is-inview .wave-svc-reveal__img,
  .wave-svc-reveal--flip.is-inview .wave-svc-reveal__img {
    transform: none !important;
  }

  .wave-svc-reveal__visual::after {
    display: none;
  }
}

@media (max-width: 575.98px) {
  .wave-page-banner {
    min-height: 0;
    padding: 48px 14px 84px;
  }

  .wave-page-banner__title {
    font-size: 1.9rem;
  }

  .wave-svc-page__intro {
    padding: 36px 0 18px;
  }

  .wave-svc-page__intro-inner {
    padding: 0 14px;
  }

  .wave-svc-page__eyebrow {
    padding: 7px 12px;
    font-size: 11px;
    margin-bottom: 14px;
    letter-spacing: 0.1em;
  }

  .wave-svc-page__intro-text {
    font-size: 0.95rem;
    line-height: 1.7;
  }

  .wave-svc-page__intro-text::after {
    margin-top: 20px;
    width: 44px;
  }

  .wave-svc-page {
    padding: 8px 0 44px;
  }

  .wave-svc-reveal {
    margin-bottom: 22px;
  }

  .wave-svc-reveal__content,
  .wave-svc-reveal--flip .wave-svc-reveal__content {
    padding: 22px 16px 12px;
  }

  .wave-svc-reveal__num,
  .wave-svc-reveal--flip .wave-svc-reveal__num {
    left: 16px;
    top: 6px;
    font-size: 3.6rem;
  }

  .wave-svc-reveal__price {
    padding: 7px 12px;
    font-size: 11px;
    margin-bottom: 12px;
  }

  .wave-svc-reveal__title {
    font-size: 1.65rem;
    margin-bottom: 12px;
  }

  .wave-svc-reveal__text {
    font-size: 0.92rem;
    line-height: 1.65;
    margin-bottom: 18px;
  }

  .wave-svc-reveal__frame,
  .wave-svc-reveal--flip .wave-svc-reveal__frame {
    margin: 0 14px;
    border-radius: 18px;
  }

  .wave-svc-reveal__content .btn {
    padding: 9px 14px !important;
    font-size: 12px;
    min-height: 40px;
  }

  .wave-svc-reveal__content .btn .btn-text {
    font-size: 12px;
  }
}

/* Services page ? iPhone Plus 414 ? 736 */
@media (max-width: 414.98px) {
  .wave-page-banner {
    min-height: 0;
    padding: 48px 14px 84px;
  }

  .wave-page-banner__title {
    font-size: 1.95rem;
  }

  .wave-svc-page__intro {
    padding: 30px 0 16px;
  }

  .wave-svc-page__intro-inner {
    padding: 0 12px;
  }

  .wave-svc-page__intro-text {
    font-size: 0.92rem;
  }

  .wave-svc-page {
    padding: 6px 0 40px;
  }

  .wave-svc-reveal {
    margin-bottom: 18px;
  }

  .wave-svc-reveal__content,
  .wave-svc-reveal--flip .wave-svc-reveal__content {
    padding: 20px 14px 10px;
  }

  .wave-svc-reveal__num,
  .wave-svc-reveal--flip .wave-svc-reveal__num {
    left: 14px;
    font-size: 3.3rem;
  }

  .wave-svc-reveal__title {
    font-size: 1.55rem;
  }

  .wave-svc-reveal__text {
    font-size: 0.9rem;
    margin-bottom: 16px;
  }

  .wave-svc-reveal__frame,
  .wave-svc-reveal--flip .wave-svc-reveal__frame {
    margin: 0 12px;
    border-radius: 16px;
  }

  .wave-svc-reveal__content .btn {
    padding: 9px 12px !important;
    font-size: 11px;
    min-height: 38px;
  }

  .wave-svc-reveal__content .btn .btn-text {
    font-size: 11px;
  }
}

/* Services page ? iPhone 6/7 375 ? 667 */
@media (max-width: 375.98px) {
  .wave-page-banner {
    min-height: 0;
    padding: 44px 12px 80px;
  }

  .wave-page-banner__title {
    font-size: 1.8rem;
  }

  .wave-svc-page__intro {
    padding: 26px 0 14px;
  }

  .wave-svc-page__intro-text {
    font-size: 0.9rem;
    line-height: 1.65;
  }

  .wave-svc-reveal {
    margin-bottom: 16px;
  }

  .wave-svc-reveal__content,
  .wave-svc-reveal--flip .wave-svc-reveal__content {
    padding: 18px 12px 10px;
  }

  .wave-svc-reveal__num,
  .wave-svc-reveal--flip .wave-svc-reveal__num {
    left: 12px;
    font-size: 3.1rem;
  }

  .wave-svc-reveal__price {
    padding: 6px 10px;
    font-size: 10px;
  }

  .wave-svc-reveal__title {
    font-size: 1.45rem;
  }

  .wave-svc-reveal__text {
    font-size: 0.88rem;
    line-height: 1.62;
  }

  .wave-svc-reveal__frame,
  .wave-svc-reveal--flip .wave-svc-reveal__frame {
    margin: 0 10px;
  }
}

/* Services page ? Galaxy / small 360 ? 640 */
@media (max-width: 360.98px) {
  .wave-page-banner {
    min-height: 0;
    padding: 44px 12px 80px;
  }

  .wave-page-banner__title {
    font-size: 1.7rem;
  }

  .wave-svc-page__intro {
    padding: 24px 0 12px;
  }

  .wave-svc-page__intro-inner {
    padding: 0 10px;
  }

  .wave-svc-page__eyebrow {
    font-size: 10px;
    padding: 6px 10px;
  }

  .wave-svc-page__intro-text {
    font-size: 0.86rem;
  }

  .wave-svc-page {
    padding: 4px 0 36px;
  }

  .wave-svc-reveal {
    margin-bottom: 14px;
  }

  .wave-svc-reveal__content,
  .wave-svc-reveal--flip .wave-svc-reveal__content {
    padding: 16px 10px 8px;
  }

  .wave-svc-reveal__num,
  .wave-svc-reveal--flip .wave-svc-reveal__num {
    left: 10px;
    font-size: 2.9rem;
  }

  .wave-svc-reveal__title {
    font-size: 1.35rem;
  }

  .wave-svc-reveal__text {
    font-size: 0.86rem;
    margin-bottom: 14px;
  }

  .wave-svc-reveal__frame,
  .wave-svc-reveal--flip .wave-svc-reveal__frame {
    margin: 0 10px;
    border-radius: 14px;
  }

  .wave-svc-reveal__content .btn {
    padding: 8px 11px !important;
    font-size: 11px;
    min-height: 36px;
  }

  .wave-svc-reveal__content .btn .btn-text {
    font-size: 11px;
  }
}

body {
  overflow-x: hidden;
}

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

/*# sourceMappingURL=main.css.map */