﻿@charset "UTF-8";
/* ══════════════════════════════════════════════════════════════════════
   LEGACY STYLES — pre-2026 navy/gold theme.
   Deleted batch by batch as pages migrate (A shell · B home · C workers ·
   D forms · E content). The new design system lives at the END of this
   file so it wins the cascade. Do not add new rules here.
   ══════════════════════════════════════════════════════════════════════ */
@font-face {
    font-family: sansArabic;
    src: url("./../../webfonts/The Sans Arab/The Sans/TheSans-Bold.otf")
        format("opentype");
}
@font-face {
    font-family: sansArabic;
    src: url("./../../webfonts/The Sans Arab/The Sans/TheSans-Plain.otf")
        format("opentype");
}
@font-face {
    font-family: sansArabic;
    src: url("./../../webfonts/The Sans Arab/The Sans/TheSansArab-Black.ttf")
        format("opentype");
}
@font-face {
    font-family: sansArabic;
    src: url("./../../webfonts/The Sans Arab/The Sans/TheSansArab-Bold.ttf")
        format("opentype");
}
@font-face {
    font-family: sansArabic;
    src: url("./../../webfonts/The Sans Arab/The Sans/TheSansArab-Light.ttf")
        format("opentype");
}
:target {
    scroll-margin-top: 100px;
}
.fancybox__container {
    z-index: 1999;
}
.fancybox__track,
.fancybox__content,
.carousel__track {
    direction: ltr !important;
}
::-webkit-scrollbar {
    width: 4px;
}
::-webkit-scrollbar-track {
    background-color: #ffffff;
}
::-webkit-scrollbar-thumb {
    background: black;
    height: 300px;
}
* {
    margin: 0;
    padding: 0;
    line-height: 1.5;
    box-sizing: border-box;
    scroll-behavior: smooth;
    -webkit-tap-highlight-color: transparent;
    font-family: sansArabic;
}
body {
    background-color: #ffffff;
    overflow-x: hidden;
    position: relative;
}
html[lang="ar"] {
    direction: rtl;
}
ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
a {
    text-decoration: none;
}
button,
input,
textarea {
    border: none;
    outline: none;
    background: none;
}
input[type="tel"] {
    direction: rtl;
}
.hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 160px;
    padding: 11px 18px;
    border-radius: 11px;
    font-size: 0.96rem;
    font-weight: 700;
    border: 1px solid transparent;
    transition: 0.22s ease;
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
@media (max-width: 768px) {
    .hero-btn {
        font-size: 14px;
    }
}
.hero-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 18px rgba(14, 12, 139, 0.18);
}
.hero-btn .button-inner,
.hero-btn .button-inner-hover,
.hero-btn .button-inner-static {
    pointer-events: none;
    display: block;
}
.hero-btn .button-inner {
    position: relative;
    z-index: 4;
}
.hero-btn .button-inner-static {
    transition:
        transform 1.25s cubic-bezier(0.19, 1, 0.22, 1),
        opacity 0.3s linear;
}
.hero-btn .button-inner-hover {
    position: absolute;
    inset: 0;
    opacity: 0;
    transform: translateY(70%);
    transition:
        transform 1.25s cubic-bezier(0.19, 1, 0.22, 1),
        opacity 0.9s cubic-bezier(0.19, 1, 0.22, 1);
}
.hero-btn .button-bg {
    position: absolute;
    inset: 0;
    border-radius: 11px;
    overflow: hidden;
    z-index: 1;
}
.hero-btn .button-bg-layers {
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    width: max(220%, 11rem);
    aspect-ratio: 1/1;
}
.hero-btn .button-bg-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 9999px;
    transform: scale(0);
    opacity: 0.92;
    transition:
        transform 1.2s cubic-bezier(0.19, 1, 0.22, 1),
        opacity 0.3s linear;
}
.hero-btn .button-bg-layer-1 {
    background: rgba(14, 12, 139, 0.95);
}
.hero-btn .button-bg-layer-2 {
    background: rgba(0, 135, 158, 0.95);
}
.hero-btn .button-bg-layer-3 {
    background: rgba(255, 171, 91, 0.96);
}
.hero-btn .button-bg-layer-4 {
    background: rgba(0, 135, 158, 0.96);
}
.hero-btn.primary {
    background: linear-gradient(125deg, #0e0c8b, #00879e);
    color: #ffffff;
}
.hero-btn.primary.ring-hover-down-btn .button-bg-layers {
    bottom: -68%;
}
.hero-btn.primary.ring-hover-down-btn .button-inner-hover {
    color: #ffffff;
    transition-property: transform, opacity, color;
    transition-duration: 1.25s, 0.9s, 0.35s;
    transition-timing-function:
        cubic-bezier(0.19, 1, 0.22, 1), cubic-bezier(0.19, 1, 0.22, 1), ease;
    transition-delay: 0s, 0s, 0s;
}
.hero-btn.primary.ring-hover-down-btn:hover {
    background: rgba(255, 255, 255, 0.82);
    color: #0e0c8b;
    border-color: rgba(14, 12, 139, 0.26);
}
.hero-btn.primary.ring-hover-down-btn:hover .button-inner-static {
    opacity: 0;
    transform: translateY(-70%);
}
.hero-btn.primary.ring-hover-down-btn:hover .button-inner-hover {
    opacity: 1;
    transform: translateY(0);
    color: #0e0c8b;
    transition-delay: 0s, 0s, 0.72s;
}
.hero-btn.primary.ring-hover-down-btn:hover .button-bg-layer-1 {
    transform: scale(1);
    opacity: 0;
    transition-delay: 0s, 0.46s;
}
.hero-btn.primary.ring-hover-down-btn:hover .button-bg-layer-2 {
    transform: scale(1);
    opacity: 0;
    transition-delay: 0.08s, 0.54s;
}
.hero-btn.primary.ring-hover-down-btn:hover .button-bg-layer-3 {
    transform: scale(1);
    opacity: 0;
    transition-delay: 0.16s, 0.62s;
}
.hero-btn.primary.ring-hover-down-btn:hover .button-bg-layer-4 {
    transform: scale(1);
    opacity: 0;
    transition-delay: 0.24s, 0.7s;
}
.hero-btn.secondary {
    color: #0e0c8b;
    background: rgba(255, 255, 255, 0.82);
    border-color: rgba(14, 12, 139, 0.26);
}
.hero-btn.secondary.ring-hover-btn .button-bg-layers {
    top: -68%;
}
.hero-btn.secondary.ring-hover-btn:hover {
    color: #ffffff;
    border-color: rgba(14, 12, 139, 0.1);
}
.hero-btn.secondary.ring-hover-btn:hover .button-inner-hover {
    color: #ffffff;
}
.hero-btn.secondary.ring-hover-btn:hover .button-inner-static {
    opacity: 0;
    transform: translateY(-70%);
}
.hero-btn.secondary.ring-hover-btn:hover .button-inner-hover {
    opacity: 1;
    transform: translateY(0);
}
.hero-btn.secondary.ring-hover-btn:hover .button-bg-layer-1 {
    transform: scale(1);
}
.hero-btn.secondary.ring-hover-btn:hover .button-bg-layer-2 {
    transition-delay: 0.08s;
    transform: scale(1);
}
.hero-btn.secondary.ring-hover-btn:hover .button-bg-layer-3 {
    transition-delay: 0.16s;
    transform: scale(1);
}
.hero-btn.secondary.ring-hover-btn:hover .button-bg-layer-4 {
    transition-delay: 0.24s;
    transform: scale(1);
}
.row {
    margin: 0;
    padding: 0;
}
.preloader {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: inline-block;
    border-top: 4px solid #fff;
    border-right: 4px solid transparent;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}
.preloader::after {
    content: "";
    box-sizing: border-box;
    position: absolute;
    left: 0;
    top: 0;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border-left: 4px solid #ff3d00;
    border-bottom: 4px solid transparent;
    animation: rotation 0.5s linear infinite reverse;
}
@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
.sectionTitle {
    text-align: center;
    font-size: 45px;
    color: black;
    font-weight: 700;
}
.sectionSubtitle {
    text-align: center;
    font-size: 20px;
    margin-bottom: 48px;
    color: #828483;
}
.animatedLink {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #0e0c8b;
    transition: all 0.3s ease-in-out;
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
}
.animatedLink i {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
    transition: width 0.3s ease-in-out;
}
.animatedLink i img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    padding: 10px;
}
.animatedLink i span {
    position: absolute;
    left: 0;
    top: 50%;
    z-index: -1;
    transform: translateY(-50%);
    width: 46px;
    height: 46px;
    border: 1px solid #0e0c8b;
    border-radius: 100px;
    transition:
        width 0.3s ease-in-out,
        background-color 0.3s ease-in-out;
}
.animatedLink:hover {
    padding: 0 20px;
    color: #ffffff;
}
.animatedLink:hover i {
    width: 20px;
}
.animatedLink:hover i span {
    width: 100%;
    border: 1px solid #0e0c8b;
    background-color: #0e0c8b;
}
html[lang="en"] {
    direction: ltr;
}
html[lang="en"] main .hero-recruitment .hero-grid .hero-content .hero-quote {
    border-left: 4px solid #0e0c8b;
    border-right: none;
    padding-left: 1rem;
}
html[lang="en"] main .video-section .sectionsubtitle {
    border-right: none;
    border-left: 3px solid #0e0c8b;
    padding-left: 18px;
}
html[lang="en"] .animatedLink i {
    transform: rotate(180deg);
}
html[lang="en"] .animatedLink i span {
    left: auto;
    right: 0;
}
html[lang="en"] main form .form-group .inputfield label {
    left: 12px;
}
html[lang="en"] input:not(:-moz-placeholder) + label,
html[lang="en"] textarea:not(:-moz-placeholder) + label {
    left: 12px;
}
html[lang="en"] input:focus + label,
html[lang="en"] textarea:focus + label,
html[lang="en"] input:not(:placeholder-shown) + label,
html[lang="en"] textarea:not(:placeholder-shown) + label {
    left: 12px;
}
.breadcrumb {
    background:
        linear-gradient(rgba(1, 18, 50, 0.76), rgba(5, 24, 62, 0.91)),
        url(./../images/breadcrumb.jpg) no-repeat center;
    padding: 130px 0;
    position: relative;
    z-index: 1;
}
.breadcrumb .decorative-shape {
    position: absolute;
    bottom: -55px;
    left: 0;
    width: 100%;
    height: 100px;
    transform: scaleY(-1);
}
@media (max-width: 768px) {
    .breadcrumb .decorative-shape {
        bottom: -1px;
    }
}
.breadcrumb .container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}
.breadcrumb h2 {
    font-size: 2rem;
    font-weight: 800;
    color: #ffffff;
    margin: 0 0 6px 0;
    letter-spacing: 0.5px;
    text-shadow: 0 2px 8px rgba(14, 12, 139, 0.04);
    position: relative;
    z-index: 2;
}
.breadcrumb ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 10px;
    font-size: 1.08rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.7);
    background: none;
    padding: 0;
    margin: 0;
    list-style: none;
    position: relative;
    z-index: 2;
}
.breadcrumb li {
    display: flex;
    align-items: center;
    gap: 0 6px;
    color: #ffab5b;
    font-weight: 500;
    position: relative;
}
.breadcrumb li:not(:last-child)::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 25px;
    margin-inline-start: 6px;
    background: url("./../images/arrow.svg") no-repeat center;
    background-size: contain;
    transform: scaleX(-1);
}
.breadcrumb a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    transition: all 0.3s;
}
.breadcrumb a:hover {
    color: rgba(255, 255, 255, 0.95);
}
@media (max-width: 768px) {
    .breadcrumb {
        padding: 100px 0 50px;
    }
    .breadcrumb h2 {
        font-size: 1.25rem;
    }
    .breadcrumb ul {
        font-size: 0.98rem;
    }
} /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•   WORKERS FILTER BAR  (wf-*)   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.wf-bar {
    background: #fff;
    border-bottom: 1px solid #e8e8e8;
    padding: 20px 0 16px;
    margin-bottom: 32px;
}
.wf-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.wf-service-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 30px;
}
.wf-service-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(165px, 1fr));
    gap: 10px;
    width: 100%;
    padding: 8px;
    border: 1px solid #e9e3f2;
    border-radius: 16px;
    background: #f7f5fb;
}
.wf-service-tabs .cv-service-tab {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
    min-height: 70px;
    padding: 10px 12px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: #fff;
    font-size: 0.9rem;
    font-weight: 700;
    font-family: "Tajawal", sans-serif;
    color: #374151;
    cursor: pointer;
    transition: all 0.22s ease;
    text-align: start;
}
.wf-service-tabs .cv-service-tab > i {
    display: grid;
    place-items: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: #eee9f7;
    color: #4e2d9b;
    font-size: 1rem;
    transition: inherit;
}
.wf-service-tabs .cv-service-tab > span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
}
.wf-service-tabs .cv-service-tab strong {
    color: inherit;
    font-size: 0.9rem;
    line-height: 1.25;
}
.wf-service-tabs .cv-service-tab small {
    color: #7b7288;
    font-size: 0.7rem;
    font-weight: 500;
    line-height: 1.35;
}
.wf-service-tabs .cv-service-tab.is-active {
    border-color: #4e2d9b;
    background: linear-gradient(135deg, #4e2d9b, #6f43c0);
    color: #fff;
    box-shadow: 0 8px 20px rgba(78, 45, 155, 0.24);
}
.wf-service-tabs .cv-service-tab.is-active > i {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
}
.wf-service-tabs .cv-service-tab.is-active small {
    color: rgba(255, 255, 255, 0.76);
}
.wf-service-tabs .cv-service-tab:hover:not(.is-active) {
    border-color: #cfc1e8;
    background: #e8e3f5;
    color: #4e2d9b;
    transform: translateY(-2px);
}
.wf-clear-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: #f3f4f6;
    color: #6b7280;
    border: none;
    border-radius: 9px;
    font-size: 0.85rem;
    font-weight: 700;
    font-family: "Tajawal", sans-serif;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
}
.wf-clear-btn:hover {
    background: #e5e7eb;
    color: #4e2d9b;
}
.wf-fields-row {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}
.wf-fields {
    display: flex;
    gap: 12px;
    flex: 1;
    flex-wrap: wrap;
}
.wf-field {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 140px;
    flex: 1;
}
.wf-field label {
    font-size: 0.78rem;
    font-weight: 700;
    color: #6b7280;
    font-family: "Tajawal", sans-serif;
}
.wf-field select {
    border: 1.5px solid #e5e7eb;
    border-radius: 10px;
    padding: 9px 12px;
    font-size: 0.9rem;
    font-family: "Tajawal", sans-serif;
    color: #1f2937;
    background: #f9fafb;
    outline: none;
    width: 100%;
    cursor: pointer;
    transition: border-color 0.2s;
    appearance: auto;
}
.wf-field select:focus {
    border-color: #4e2d9b;
    background: #fff;
}
.wf-submit {
    padding: 10px 28px;
    background: #4e2d9b;
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 0.95rem;
    font-weight: 800;
    font-family: "Tajawal", sans-serif;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 42px;
}
.wf-submit:hover {
    background: #3d2382;
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(78, 45, 155, 0.3);
}
@media (max-width: 992px) {
    .wf-bar {
        padding: 16px 0 12px;
        margin-bottom: 24px;
    }
    .wf-field {
        min-width: calc(50% - 6px);
        flex: 0 0 calc(50% - 6px);
    }
    .wf-service-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 576px) {
    .wf-bar {
        padding: 14px 0 10px;
        margin-bottom: 16px;
    }
    .wf-field {
        min-width: 100%;
        flex: 0 0 100%;
    }
    .wf-submit {
        width: 100%;
        justify-content: center;
    }
    .wf-clear-btn {
        flex: 1;
        justify-content: center;
    }
    .wf-service-row {
        flex-direction: column;
        align-items: stretch;
    }
    .wf-service-tabs {
        grid-template-columns: 1fr;
        gap: 7px;
    }
    .wf-service-tabs .cv-service-tab {
        min-height: 62px;
    }
}
@keyframes spinArc {
    to {
        transform: rotate(360deg);
    }
}
@keyframes markPulse {
    0%,
    100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
}
html[lang="en"] svg.arr {
    transform: scaleX(1) !important;
}
html[lang="en"] .hero-btn:hover svg.arr {
    transform: scaleX(1) translateX(3px);
}
html[lang="en"] .breadcrumb li:not(:last-child)::after {
    transform: scaleX(1);
}
html[lang="en"] .vision-mission .vm-card .vm-number {
    left: auto;
    right: 20px;
}
html[lang="en"] main .workers-cv-section .cv-service-tabs {
    transform: translate(47%, 47%);
}
html[lang="en"] main.cvPage-container .header-info {
    padding: 36px 46px 36px 36px;
}
html[lang="en"] main.cvPage-container .section-line::before {
    content: "";
    right: auto;
    left: 100%;
}
html[lang="en"] main.cvPage-container .cv-sidebar {
    left: 20px;
    right: auto;
}
html[lang="en"] .icon-tooltip.tips-tooltip {
    left: 0;
    right: auto;
}
html[lang="en"] main .request-success .card-box-container .card-box .steps ul {
    padding-left: 20px;
    padding-right: unset;
    border-left: 2px solid #eee;
    border-right: auto;
}
html[lang="en"] main .msnd-video-sec .msnd-video-sec__visual .msnd-video-thumb {
    border-radius: 100px 0px 0 0;
}
html[lang="en"]
    main
    .msnd-video-sec
    .msnd-video-sec__text
    .msnd-features-list
    .msnd-feature-item:nth-child(even) {
    transform: translateX(50px);
}
html[lang="en"]
    main
    .msnd-video-sec
    .msnd-video-sec__text
    .msnd-features-list
    .msnd-feature-item:nth-child(even):hover {
    transform: translateX(55px);
}
html[lang="en"]
    main
    .msnd-video-sec
    .msnd-video-sec__text
    .msnd-features-list
    .msnd-feature-item:hover {
    transform: translateX(4px);
}
html[lang="en"] main .contact-page .contact-inner:after {
    left: -15px;
    right: auto;
}
html[lang="en"] main .contact-page .contact-info:before {
    content: unset;
}
@keyframes navDropIn {
    from {
        transform: translateY(-14px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
} /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•   WORKERS CARDS  (wc-*)   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.workers-cv-section .worker-container {
    background: transparent;
    padding: 0;
    border-radius: 0;
}
.workers-cv-section .worker-service-card {
    transition:
        opacity 0.22s ease,
        transform 0.22s ease;
}
.wc-card {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(78, 45, 155, 0.12);
    box-shadow: 0 10px 34px rgba(45, 27, 105, 0.08);
    height: 100%;
    display: flex;
    flex-direction: column;
    transition:
        border-color 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
}
.wc-card:hover {
    border-color: rgba(78, 45, 155, 0.28);
    box-shadow: 0 22px 50px rgba(45, 27, 105, 0.16);
    transform: translateY(-6px);
}
.wc-photo-wrap {
    position: relative;
    display: block;
    height: 310px;
    overflow: hidden;
    flex-shrink: 0;
    background: #ede8f8;
}
.wc-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    transition: transform 0.35s ease;
}
.wc-cv-cover {
    display: flex;
    flex-direction: column;
    height: 370px;
    color: #2f0b69;
    text-decoration: none;
    background: #fff;
    isolation: isolate;
}
.wc-cv-cover::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(circle at 92% 20%, rgba(122, 70, 219, 0.1), transparent 38%),
        #fff;
}
.wc-cv-cover__head {
    min-height: 56px;
    padding: 9px 13px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: #fff;
    background: linear-gradient(135deg, #1c063f, #2f0b69 55%, #5324ac);
}
.wc-cv-cover__brand {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 0.7rem;
    font-weight: 800;
}
.wc-cv-cover__brand img {
    width: 58px;
    height: 34px;
    padding: 3px 5px;
    object-fit: contain;
    border-radius: 7px;
    background: #fff;
}
.wc-cv-cover__code {
    flex-shrink: 0;
    padding: 4px 7px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 7px;
    font-size: 0.65rem;
    font-weight: 800;
    background: rgba(255, 255, 255, 0.1);
}
.wc-cv-cover__body {
    min-height: 0;
    padding: 12px 13px 10px;
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 13px;
    flex: 1;
}
.wc-cv-cover__portrait {
    position: relative;
    min-height: 0;
    overflow: hidden;
    border: 2px solid #e2d9ef;
    border-radius: 13px;
    background: #f3eff8;
    box-shadow: 0 5px 14px rgba(47, 11, 105, 0.11);
}
.wc-cv-cover__portrait img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}
.wc-cv-cover__pdf-portrait {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    background: #f3eff8;
    transition: opacity 0.25s ease;
}
.wc-cv-cover__pdf-portrait.is-ready {
    opacity: 1;
}
.wc-cv-cover__content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: start;
}
.wc-cv-cover__name {
    width: 100%;
    overflow: hidden;
    color: #2f0b69;
    font-size: 0.9rem;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.wc-cv-cover__rule {
    width: 36px;
    height: 2px;
    margin: 7px 0;
    border-radius: 4px;
    background: #e0a93c;
}
.wc-cv-cover__facts {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
}
.wc-cv-cover__facts > span {
    min-width: 0;
    padding: 5px 6px;
    display: flex;
    flex-direction: column;
    border: 1px solid #e7e0f0;
    border-radius: 8px;
    background: rgba(247, 243, 255, 0.75);
}
.wc-cv-cover__facts small {
    color: #786d89;
    font-size: 0.56rem;
    line-height: 1.2;
}
.wc-cv-cover__facts b {
    margin-top: 2px;
    overflow: hidden;
    color: #302442;
    font-size: 0.65rem;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.wc-cv-cover__foot {
    min-height: 39px;
    padding: 5px 13px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border-top: 1px solid #e7e0f0;
    color: #5d5175;
    font-size: 0.64rem;
    font-weight: 700;
    background: #faf8fd;
}
.wc-cv-cover .wc-service-badge {
    position: static;
    min-height: 25px;
    padding: 0.2rem 0.6rem;
    font-size: 0.62rem;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
.wc-card:hover .wc-cv-cover__portrait img {
    transform: scale(1.035);
}
.wc-body--compact {
    padding: 14px 16px 16px;
    gap: 11px;
}
.wc-commercial {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid rgba(78, 45, 155, 0.1);
    border-radius: 12px;
    background: #faf9fe;
}
.wc-commercial > span {
    min-width: 0;
    padding: 9px 10px;
    display: flex;
    flex-direction: column;
    gap: 3px;
    text-align: start;
}
.wc-commercial > span + span {
    border-inline-start: 1px solid rgba(78, 45, 155, 0.1);
}
.wc-commercial small {
    color: #8d829f;
    font-size: 0.64rem;
    font-weight: 700;
}
.wc-commercial b {
    overflow: hidden;
    color: #2f0b69;
    font-size: 0.76rem;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.wc-body--compact .wc-guarantee {
    margin: 0;
}
.wc-icon-actions {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 9px;
}
.wc-icon-action {
    width: 44px;
    height: 44px;
    display: inline-grid;
    place-items: center;
    flex: 0 0 44px;
    border: 1px solid transparent;
    border-radius: 13px;
    color: #fff;
    font-size: 1.05rem;
    text-decoration: none;
    box-shadow: 0 6px 14px rgba(35, 20, 70, 0.12);
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}
.wc-icon-action:hover {
    color: #fff;
    filter: brightness(1.05);
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(35, 20, 70, 0.2);
}
.wc-icon-action--book {
    background: linear-gradient(135deg, #d88d16, #f6a62f);
}
.wc-icon-action--whatsapp {
    background: linear-gradient(135deg, #128c4a, #25d366);
}
.wc-icon-action--details {
    background: linear-gradient(135deg, #2f0b69, #7a46db);
}
.wc-icon-action--cv {
    border-color: rgba(78, 45, 155, 0.16);
    color: #4e2d9b;
    background: #f1ebfb;
}
.wc-icon-action--cv:hover {
    color: #4e2d9b;
}
.wc-icon-action--video {
    background: linear-gradient(135deg, #b85a10, #f6911e);
}
.wc-pdf-preview {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: #fff;
    pointer-events: none;
}
.wc-pdf-open {
    position: absolute;
    inset: 0;
    z-index: 1;
}
.wc-photo-wrap--pdf .wc-photo-shade {
    background: linear-gradient(to top, rgba(23, 10, 61, 0.58), transparent 42%);
}
.wc-card:hover .wc-photo {
    transform: scale(1.055);
}
.wc-photo-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to top, rgba(23, 10, 61, 0.76) 0%, rgba(23, 10, 61, 0.12) 38%, transparent 62%),
        linear-gradient(to bottom, rgba(23, 10, 61, 0.24), transparent 28%);
    pointer-events: none;
}
.wc-service-badge,
.wc-photo-code,
.wc-photo-expand {
    position: absolute;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.wc-service-badge {
    inset-block-start: 16px;
    inset-inline-start: 16px;
    min-height: 30px;
    padding: 0.35rem 0.8rem;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 100px;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
    box-shadow: 0 7px 20px rgba(20, 6, 45, 0.16);
}
.wc-service-badge--recruitment {
    background: rgba(78, 45, 155, 0.9);
}
.wc-service-badge--rental {
    background: rgba(246, 145, 30, 0.94);
}
.wc-service-badge--transfer {
    background: rgba(38, 113, 122, 0.92);
}
.wc-photo-code {
    inset-inline-end: 16px;
    inset-block-end: 15px;
    padding: 0.32rem 0.65rem;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 8px;
    background: rgba(20, 6, 45, 0.58);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}
.wc-photo-expand {
    inset-block-start: 16px;
    inset-inline-end: 16px;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255, 255, 255, 0.26);
    border-radius: 50%;
    background: rgba(20, 6, 45, 0.42);
    color: #fff;
    transition: background-color 0.2s ease, transform 0.2s ease;
}
.wc-photo-wrap:hover .wc-photo-expand {
    background: #f6911e;
    transform: scale(1.08);
}
.wc-body {
    padding: 18px 18px 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.wc-name-link {
    text-decoration: none;
    color: inherit;
    display: block;
    text-align: start;
    margin-bottom: 14px;
}
.wc-name {
    font-size: 1.08rem;
    font-weight: 800;
    color: #211346;
    margin: 0 0 7px;
    font-family: "Tajawal", sans-serif;
}
.wc-name-link:hover .wc-name {
    color: #4e2d9b;
}
.wc-nat {
    width: fit-content;
    padding: 0.25rem 0.62rem;
    border-radius: 100px;
    background: rgba(78, 45, 155, 0.08);
    color: #6b45b7;
    font-size: 0.76rem;
    font-weight: 700;
    display: block;
    font-family: "Tajawal", sans-serif;
}
.wc-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    overflow: hidden;
    background: #faf9fe;
    border: 1px solid rgba(78, 45, 155, 0.08);
    border-radius: 14px;
    padding: 0;
    margin-bottom: 12px;
}
.wc-meta-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    padding: 10px 12px;
    border-block-end: 1px solid rgba(78, 45, 155, 0.07);
}
.wc-meta-item:nth-child(odd):not(.wc-meta-item--wide) {
    border-inline-end: 1px solid rgba(78, 45, 155, 0.07);
}
.wc-meta-lbl {
    font-size: 0.68rem;
    color: #8d829f;
    font-weight: 600;
    font-family: "Tajawal", sans-serif;
}
.wc-meta-val {
    overflow-wrap: anywhere;
    font-size: 0.8rem;
    color: #2d2144;
    font-weight: 700;
    font-family: "Tajawal", sans-serif;
}
.wc-guarantee {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    padding: 9px 10px;
    border-radius: 10px;
    background: rgba(246, 145, 30, 0.08);
    color: #91500b;
    font-size: 0.69rem;
    font-weight: 700;
    text-align: start;
    margin: 0 0 14px;
    line-height: 1.55;
    font-family: "Tajawal", sans-serif;
}
.wc-guarantee i {
    flex: 0 0 auto;
    margin-block-start: 2px;
    color: #f6911e;
    font-size: 0.9rem;
}
.wc-actions {
    display: flex;
    flex-direction: column;
    gap: 9px;
    margin-top: auto;
}
.wc-actions-secondary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
    gap: 7px;
}
.wc-btn {
    min-width: 0;
    min-height: 42px;
    padding: 10px 11px;
    border-radius: 11px;
    font-size: 0.78rem;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
    transition: all 0.2s ease;
    font-family: "Tajawal", sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border: none;
    cursor: pointer;
    white-space: nowrap;
}
.wc-btn-main {
    background: rgba(78, 45, 155, 0.09);
    border: 1px solid rgba(78, 45, 155, 0.16);
    color: #4e2d9b;
    box-shadow: none;
}
.wc-btn-main:hover {
    background: #4e2d9b;
    color: #fff;
    transform: translateY(-1px);
}
.wc-btn-whatsapp {
    width: 100%;
    min-height: 46px;
    background: linear-gradient(135deg, #128c4a, #25d366);
    color: #fff;
    box-shadow: 0 9px 22px rgba(37, 211, 102, 0.22);
}
.wc-btn-whatsapp i {
    font-size: 1.05rem;
}
.wc-btn-whatsapp:hover {
    background: linear-gradient(135deg, #0d7b3e, #20bd5a);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(37, 211, 102, 0.3);
}
.wc-btn-cv {
    background: rgba(78, 45, 155, 0.08);
    border: 1px solid rgba(78, 45, 155, 0.14);
    color: #4e2d9b;
}
.wc-btn-cv:hover {
    background: #4e2d9b;
    color: #fff;
    transform: translateY(-1px);
}
.wc-btn-vid {
    background: rgba(246, 145, 30, 0.1);
    border: 1px solid rgba(246, 145, 30, 0.2);
    color: #a95d0b;
}
.wc-btn-vid:hover {
    background: #f6911e;
    color: #fff;
    transform: translateY(-1px);
}
.workers-pagination-wrap {
    margin-top: 28px;
    padding: 14px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.workers-pagination-status {
    font-size: 0.88rem;
    color: #374151;
    font-weight: 700;
    font-family: "Tajawal", sans-serif;
}
.workers-pagination {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}
.workers-pagination-btn {
    min-width: 40px;
    height: 40px;
    border-radius: 10px;
    border: 1.5px solid rgba(78, 45, 155, 0.22);
    background: #fff;
    color: #4e2d9b;
    font-size: 0.9rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    transition: 0.2s ease;
    text-decoration: none;
    font-family: "Tajawal", sans-serif;
}
.workers-pagination-btn:hover:not([aria-disabled="true"]) {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(78, 45, 155, 0.15);
    color: #4e2d9b;
}
.workers-pagination-btn.is-active {
    background: #4e2d9b;
    border-color: transparent;
    color: #fff;
}
.workers-pagination-btn[aria-disabled="true"] {
    opacity: 0.4;
    cursor: not-allowed;
}
.workers-pagination-separator {
    color: #9ca3af;
    font-size: 1rem;
    font-weight: 700;
}
@media (max-width: 992px) {
    .wc-photo-wrap {
        height: 250px;
    }
    .wc-photo-wrap.wc-cv-cover {
        height: 370px;
    }
    .workers-pagination-wrap {
        justify-content: center;
        text-align: center;
    }
    .workers-pagination-status {
        width: 100%;
    }
}
@media (max-width: 576px) {
    .wc-photo-wrap {
        height: 220px;
    }
    .wc-photo-wrap.wc-cv-cover {
        height: 370px;
    }
    .wc-btn {
        font-size: 0.78rem;
        padding: 8px 6px;
    }
}
main .cvPage {
    position: relative;
    display: flex;
    gap: 12px;
    min-height: 100vh;
    margin: auto;
    background-color: #ffffff;
    isolation: isolate;
    width: 100%;
    max-width: 240mm;
    padding: 0 20px;
    margin: 90px auto;
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.1);
    border-radius: 12px;
    z-index: 11;
}
main .cvPage .logo-bg {
    position: absolute;
    width: 502px;
    left: 0px;
    top: 40px;
    text-align: end;
}
main .cvPage .logo-bg img {
    width: 300px;
}
main .cvPage .cv-side {
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
}
main .cvPage .hero-btn .button-bg-layer-4 {
    background: rgba(14, 12, 139, 0.96) !important;
}
main .cvPage .hero-btn.secondary.ring-hover-btn:hover {
    color: #ffffff;
    border-color: rgba(14, 12, 139, 0.1);
}
main .cvPage .hero-btn.secondary.ring-hover-btn:hover .button-inner-hover {
    color: #ffffff;
}
main .cvPage .hero-btn.secondary.ring-hover-btn:hover .button-inner-static {
    opacity: 1;
    transform: none;
}
main .cvPage .cv-footer {
    position: absolute;
    bottom: 0;
    right: 0px;
}
main .cvPage .cv-footer img {
    width: 100%;
}
main .cvPage .header-logo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    position: absolute;
    left: 0px;
    top: 0px;
}
main .cvPage .header-logo .transparent-logo {
    width: 50px;
    display: flex;
    justify-content: end;
}
main .cvPage .header-logo .transparent-logo img {
    width: 100%;
}
main .cvPage .header-logo .logo {
    width: 400px;
    padding: 12px 0;
}
main .cvPage .header-logo .logo img {
    width: 100%;
    height: auto;
}
main .cvPage .title,
main .cvPage .languages .title {
    text-transform: uppercase;
    color: black;
}
main .cvPage .languages .title {
    color: black;
}
main .cvPage table td {
    width: 25%;
    padding: 10px;
    border: 1px solid #ddd;
    vertical-align: middle;
}
main .cvPage table td svg {
    display: block;
    margin: 5px auto 0;
}
main .cvPage .notes-list {
    list-style-type: disc;
    margin: 20px;
}
main .cvPage .notes-list li {
    margin-bottom: 5px;
    font-size: 14px;
    color: #444;
}
main .cvPage .sub {
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid #ffffff;
    padding-bottom: 12px;
    gap: 4px;
}
main .cvPage .sub .title {
    color: #413f3f;
}
main .cvPage .sub .dis {
    font-weight: bold;
    font-size: 18px;
    color: black;
}
@media (max-width: 768px) {
    main .cvPage .sub .dis {
        font-size: 12px;
    }
}
main .cvPage .special-img {
    background-color: #bde8f5;
    border-bottom: none;
}
main .cvPage .special-img img {
    padding: 10px;
}
main .cvPage .bar-code {
    background-color: transparent;
}
main .cvPage .bar-code .dis {
    font-size: 12px;
}
main .cvPage .imageCol {
    position: relative;
    top: 0px;
    left: 10px;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 200px;
}
@media (max-width: 768px) {
    main .cvPage .imageCol {
        min-width: 20%;
    }
}
main .cvPage .imageCol .mainInfo {
    background-color: #bde8f5;
    border-radius: 5000px 5000px 0 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 92px 24px 24px;
    height: 100%;
}
main .cvPage .imageCol .image {
    display: flex;
    border-radius: 100%;
    width: 200px;
    height: 200px;
    margin: -70px auto;
    position: relative;
    z-index: 2;
    box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.1882352941);
    background-color: #ffffff;
}
@media (max-width: 768px) {
    main .cvPage .imageCol .image {
        width: 100px;
        height: 100px;
    }
}
main .cvPage .imageCol .image::before,
main .cvPage .imageCol .image::after {
    content: "";
    display: flex;
    border-radius: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
main .cvPage .imageCol .image::before {
    width: 110%;
    height: 110%;
    border: 2px solid #0e0c8b;
}
main .cvPage .imageCol .image::after {
    width: 93%;
    height: 93%;
    border: 2px solid #0e0c8b 20;
}
main .cvPage .imageCol .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top;
    object-position: top;
    border-radius: 100%;
}
main .cvPage .imageCol .logo {
    margin-top: auto;
    width: 100%;
    height: 80px;
    padding: 12px 8px 8px;
}
@media (max-width: 768px) {
    main .cvPage .imageCol .logo {
        height: 60px;
    }
}
main .cvPage .imageCol .logo img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}
main .cvPage .informationCol {
    flex: 2;
    padding: 150px 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: relative;
}
@media (max-width: 768px) {
    main .cvPage .informationCol {
        min-width: 70%;
    }
}
main .cvPage .informationCol .head {
    position: absolute;
    top: 20px;
    left: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}
main .cvPage .informationCol .head .name {
    display: flex;
    flex-direction: column;
    position: relative;
    flex: 1;
    gap: 4px;
}
main .cvPage .informationCol .head .name h3 {
    color: #0e0c8b;
    font-weight: bold;
    line-height: 32px;
    font-size: 26px;
}
@media (max-width: 768px) {
    main .cvPage .informationCol .head .name h3 {
        font-size: 18px;
    }
}
main .cvPage .informationCol .head .logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}
main .cvPage .informationCol .head .logo img {
    height: 60px;
}
@media (max-width: 768px) {
    main .cvPage .informationCol .head .logo img {
        height: 40px;
    }
}
main .cvPage .informationCol .head .logo .experiance {
    background-color: #0e0c8b;
    color: #ffffff;
    padding: 8px 16px;
    font-size: 13px;
    width: 100%;
    text-align: center;
    border-radius: 8px;
}
@media (max-width: 768px) {
    main .cvPage .informationCol .head .logo .experiance {
        padding: 4px 9px;
        font-size: 10px;
    }
}
main .cvPage .informationCol .category {
    display: flex;
    flex-direction: column;
}
main .cvPage .informationCol .category .title {
    display: flex;
    align-items: center;
    gap: 8px;
}
main .cvPage .informationCol .category .title span {
    padding: 8px 0 8px 24px;
}
main .cvPage .informationCol .category .title::before,
main .cvPage .informationCol .category .title::after {
    content: "";
    display: flex;
    background-color: #0e0c8b;
}
main .cvPage .informationCol .category .title::before {
    width: 20px;
    height: 40px;
    border-radius: 100px 0 0 100px;
}
main .cvPage .informationCol .category .title::after {
    height: 2px;
    flex: 1;
    border-radius: 10px;
}
main .cvPage .informationCol .category .infoRow {
    position: relative;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
main .cvPage .informationCol .category .infoRow .data {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 4px 16px;
    flex: 1 calc(30% - 8px);
    background-color: #bde8f5;
    border-radius: 8px;
}
main .cvPage .informationCol .category .infoRow .data .innerTitle {
    color: #777;
}
main .cvPage .informationCol .category .infoRow .data .innerData {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-weight: bold;
}
main .cvPage .informationCol .category .passportData {
    padding-top: 8px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    height: -moz-max-content;
    height: max-content;
}
main .cvPage .informationCol .category .passportData .data {
    flex: 1;
    padding: 12px 24px;
    background-color: #bde8f5;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    white-space: nowrap;
}
main .cvPage .informationCol .category .passportData .data h6 {
    color: #777;
}
main .cvPage .informationCol .category table {
    width: 100%;
}
main .cvPage .informationCol .category table td,
main .cvPage .informationCol .category table th {
    padding: 8px 12px;
    border: 1px solid #bde8f5;
}
main .cvPage .passportNumbers {
    display: flex;
    align-items: center;
    border: 1px solid #bde8f5;
    width: -moz-fit-content;
    width: fit-content;
    padding: 4px 8px;
}
main .cvPage .passportNumbers span {
    font-weight: bold;
}
main .cvPage #btnSave {
    padding: 10px 30px;
    font-size: 18px;
    background-color: #4caf50;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}
main .cvPage .languages {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
main .cvPage .languages .Percentages {
    display: flex;
    gap: 16px;
    justify-content: space-around;
}
@media (max-width: 768px) {
    main .cvPage .languages .Percentages {
        flex-direction: column;
    }
}
main .cvPage .languages .Percentages .percentDiv {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}
main .cvPage .languages .Percentages .percentDiv h5 {
    color: black;
}
main .cvPage .percent {
    position: relative;
    width: 90px;
    height: 90px;
    overflow: hidden;
}
main .cvPage .percent .percentNum {
    position: absolute;
    width: 72px;
    height: 72px;
    z-index: 1;
    left: 50%;
    top: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100%;
    background-color: #0e0c8b 20;
    transform: translateX(-50%) translateY(-50%);
    font-size: 18px !important;
    font-weight: bold;
}
main .cvPage .percent .percentNum span {
    font-weight: normal;
    color: #777;
    font-size: 10.8px !important;
}
main .cvPage .percent .slice {
    position: absolute;
    width: 90px;
    height: 90px;
    clip: rect(0px, 90px, 90px, 45px);
}
main .cvPage .percent .bar {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(0deg);
}
main .cvPage .percent.p51 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p51 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p51 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p52 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p52 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p52 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p53 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p53 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p53 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p54 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p54 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p54 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p55 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p55 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p55 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p56 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p56 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p56 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p57 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p57 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p57 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p58 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p58 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p58 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p59 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p59 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p59 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p60 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p60 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p60 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p61 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p61 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p61 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p62 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p62 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p62 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p63 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p63 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p63 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p64 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p64 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p64 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p65 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p65 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p65 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p66 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p66 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p66 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p67 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p67 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p67 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p68 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p68 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p68 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p69 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p69 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p69 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p70 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p70 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p70 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p71 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p71 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p71 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p72 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p72 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p72 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p73 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p73 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p73 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p74 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p74 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p74 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p75 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p75 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p75 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p76 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p76 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p76 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p77 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p77 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p77 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p78 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p78 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p78 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p79 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p79 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p79 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p80 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p80 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p80 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p81 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p81 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p81 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p82 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p82 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p82 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p83 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p83 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p83 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p84 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p84 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p84 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p85 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p85 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p85 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p86 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p86 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p86 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p87 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p87 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p87 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p88 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p88 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p88 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p89 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p89 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p89 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p90 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p90 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p90 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p91 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p91 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p91 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p92 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p92 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p92 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p93 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p93 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p93 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p94 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p94 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p94 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p95 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p95 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p95 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p96 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p96 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p96 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p97 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p97 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p97 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p98 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p98 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p98 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p99 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p99 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p99 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p100 .slice {
    clip: rect(auto, auto, auto, auto);
}
main .cvPage .percent.p100 .bar:after {
    transform: rotate(180deg);
}
main .cvPage .percent.p100 .fill {
    position: absolute;
    border: 3.6px solid #0e0c8b;
    width: 90px;
    height: 90px;
    clip: rect(0px, 45px, 90px, 0px);
    border-radius: 50%;
    transform: rotate(180deg);
}
main .cvPage .percent.p1 .bar {
    transform: rotate(3.6deg);
}
main .cvPage .percent.p2 .bar {
    transform: rotate(7.2deg);
}
main .cvPage .percent.p3 .bar {
    transform: rotate(10.8deg);
}
main .cvPage .percent.p4 .bar {
    transform: rotate(14.4deg);
}
main .cvPage .percent.p5 .bar {
    transform: rotate(18deg);
}
main .cvPage .percent.p6 .bar {
    transform: rotate(21.6deg);
}
main .cvPage .percent.p7 .bar {
    transform: rotate(25.2deg);
}
main .cvPage .percent.p8 .bar {
    transform: rotate(28.8deg);
}
main .cvPage .percent.p9 .bar {
    transform: rotate(32.4deg);
}
main .cvPage .percent.p10 .bar {
    transform: rotate(36deg);
}
main .cvPage .percent.p11 .bar {
    transform: rotate(39.6deg);
}
main .cvPage .percent.p12 .bar {
    transform: rotate(43.2deg);
}
main .cvPage .percent.p13 .bar {
    transform: rotate(46.8deg);
}
main .cvPage .percent.p14 .bar {
    transform: rotate(50.4deg);
}
main .cvPage .percent.p15 .bar {
    transform: rotate(54deg);
}
main .cvPage .percent.p16 .bar {
    transform: rotate(57.6deg);
}
main .cvPage .percent.p17 .bar {
    transform: rotate(61.2deg);
}
main .cvPage .percent.p18 .bar {
    transform: rotate(64.8deg);
}
main .cvPage .percent.p19 .bar {
    transform: rotate(68.4deg);
}
main .cvPage .percent.p20 .bar {
    transform: rotate(72deg);
}
main .cvPage .percent.p21 .bar {
    transform: rotate(75.6deg);
}
main .cvPage .percent.p22 .bar {
    transform: rotate(79.2deg);
}
main .cvPage .percent.p23 .bar {
    transform: rotate(82.8deg);
}
main .cvPage .percent.p24 .bar {
    transform: rotate(86.4deg);
}
main .cvPage .percent.p25 .bar {
    transform: rotate(90deg);
}
main .cvPage .percent.p26 .bar {
    transform: rotate(93.6deg);
}
main .cvPage .percent.p27 .bar {
    transform: rotate(97.2deg);
}
main .cvPage .percent.p28 .bar {
    transform: rotate(100.8deg);
}
main .cvPage .percent.p29 .bar {
    transform: rotate(104.4deg);
}
main .cvPage .percent.p30 .bar {
    transform: rotate(108deg);
}
main .cvPage .percent.p31 .bar {
    transform: rotate(111.6deg);
}
main .cvPage .percent.p32 .bar {
    transform: rotate(115.2deg);
}
main .cvPage .percent.p33 .bar {
    transform: rotate(118.8deg);
}
main .cvPage .percent.p34 .bar {
    transform: rotate(122.4deg);
}
main .cvPage .percent.p35 .bar {
    transform: rotate(126deg);
}
main .cvPage .percent.p36 .bar {
    transform: rotate(129.6deg);
}
main .cvPage .percent.p37 .bar {
    transform: rotate(133.2deg);
}
main .cvPage .percent.p38 .bar {
    transform: rotate(136.8deg);
}
main .cvPage .percent.p39 .bar {
    transform: rotate(140.4deg);
}
main .cvPage .percent.p40 .bar {
    transform: rotate(144deg);
}
main .cvPage .percent.p41 .bar {
    transform: rotate(147.6deg);
}
main .cvPage .percent.p42 .bar {
    transform: rotate(151.2deg);
}
main .cvPage .percent.p43 .bar {
    transform: rotate(154.8deg);
}
main .cvPage .percent.p44 .bar {
    transform: rotate(158.4deg);
}
main .cvPage .percent.p45 .bar {
    transform: rotate(162deg);
}
main .cvPage .percent.p46 .bar {
    transform: rotate(165.6deg);
}
main .cvPage .percent.p47 .bar {
    transform: rotate(169.2deg);
}
main .cvPage .percent.p48 .bar {
    transform: rotate(172.8deg);
}
main .cvPage .percent.p49 .bar {
    transform: rotate(176.4deg);
}
main .cvPage .percent.p50 .bar {
    transform: rotate(180deg);
}
main .cvPage .percent.p51 .bar {
    transform: rotate(183.6deg);
}
main .cvPage .percent.p52 .bar {
    transform: rotate(187.2deg);
}
main .cvPage .percent.p53 .bar {
    transform: rotate(190.8deg);
}
main .cvPage .percent.p54 .bar {
    transform: rotate(194.4deg);
}
main .cvPage .percent.p55 .bar {
    transform: rotate(198deg);
}
main .cvPage .percent.p56 .bar {
    transform: rotate(201.6deg);
}
main .cvPage .percent.p57 .bar {
    transform: rotate(205.2deg);
}
main .cvPage .percent.p58 .bar {
    transform: rotate(208.8deg);
}
main .cvPage .percent.p59 .bar {
    transform: rotate(212.4deg);
}
main .cvPage .percent.p60 .bar {
    transform: rotate(216deg);
}
main .cvPage .percent.p61 .bar {
    transform: rotate(219.6deg);
}
main .cvPage .percent.p62 .bar {
    transform: rotate(223.2deg);
}
main .cvPage .percent.p63 .bar {
    transform: rotate(226.8deg);
}
main .cvPage .percent.p64 .bar {
    transform: rotate(230.4deg);
}
main .cvPage .percent.p65 .bar {
    transform: rotate(234deg);
}
main .cvPage .percent.p66 .bar {
    transform: rotate(237.6deg);
}
main .cvPage .percent.p67 .bar {
    transform: rotate(241.2deg);
}
main .cvPage .percent.p68 .bar {
    transform: rotate(244.8deg);
}
main .cvPage .percent.p69 .bar {
    transform: rotate(248.4deg);
}
main .cvPage .percent.p70 .bar {
    transform: rotate(252deg);
}
main .cvPage .percent.p71 .bar {
    transform: rotate(255.6deg);
}
main .cvPage .percent.p72 .bar {
    transform: rotate(259.2deg);
}
main .cvPage .percent.p73 .bar {
    transform: rotate(262.8deg);
}
main .cvPage .percent.p74 .bar {
    transform: rotate(266.4deg);
}
main .cvPage .percent.p75 .bar {
    transform: rotate(270deg);
}
main .cvPage .percent.p76 .bar {
    transform: rotate(273.6deg);
}
main .cvPage .percent.p77 .bar {
    transform: rotate(277.2deg);
}
main .cvPage .percent.p78 .bar {
    transform: rotate(280.8deg);
}
main .cvPage .percent.p79 .bar {
    transform: rotate(284.4deg);
}
main .cvPage .percent.p80 .bar {
    transform: rotate(288deg);
}
main .cvPage .percent.p81 .bar {
    transform: rotate(291.6deg);
}
main .cvPage .percent.p82 .bar {
    transform: rotate(295.2deg);
}
main .cvPage .percent.p83 .bar {
    transform: rotate(298.8deg);
}
main .cvPage .percent.p84 .bar {
    transform: rotate(302.4deg);
}
main .cvPage .percent.p85 .bar {
    transform: rotate(306deg);
}
main .cvPage .percent.p86 .bar {
    transform: rotate(309.6deg);
}
main .cvPage .percent.p87 .bar {
    transform: rotate(313.2deg);
}
main .cvPage .percent.p88 .bar {
    transform: rotate(316.8deg);
}
main .cvPage .percent.p89 .bar {
    transform: rotate(320.4deg);
}
main .cvPage .percent.p90 .bar {
    transform: rotate(324deg);
}
main .cvPage .percent.p91 .bar {
    transform: rotate(327.6deg);
}
main .cvPage .percent.p92 .bar {
    transform: rotate(331.2deg);
}
main .cvPage .percent.p93 .bar {
    transform: rotate(334.8deg);
}
main .cvPage .percent.p94 .bar {
    transform: rotate(338.4deg);
}
main .cvPage .percent.p95 .bar {
    transform: rotate(342deg);
}
main .cvPage .percent.p96 .bar {
    transform: rotate(345.6deg);
}
main .cvPage .percent.p97 .bar {
    transform: rotate(349.2deg);
}
main .cvPage .percent.p98 .bar {
    transform: rotate(352.8deg);
}
main .cvPage .percent.p99 .bar {
    transform: rotate(356.4deg);
}
main .cvPage .percent.p100 .bar {
    transform: rotate(360deg);
}
main .cvPage .experienceYears {
    clip-path: polygon(
        30% 0%,
        70% 0%,
        100% 30%,
        100% 70%,
        70% 100%,
        30% 100%,
        0% 70%,
        0% 30%
    );
    background-color: #0e0c8b;
    width: 100px;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-weight: bold;
    flex-direction: column;
    gap: 2px;
    margin-right: auto;
}
main .cvPage .experienceYears span {
    margin-top: 4px;
    font-size: 40px;
    line-height: 30px;
}
main .cvPage .info_social {
    display: flex;
    align-items: center;
    gap: 4px;
    width: 100%;
    padding: 12px 5px;
}
main .cvPage .info_social img {
    height: 110px;
    aspect-ratio: 1;
    -o-object-fit: contain;
    object-fit: contain;
    background-color: #ffffff;
}
@media (max-width: 768px) {
    main .cvPage .info_social img {
        height: 90px;
    }
}
main .cvPage .data {
    display: flex;
    gap: 4px;
    align-items: center;
}
main .cvPage .data .innerTitle {
    color: #777;
}
main .cvPage .data .innerData {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-weight: bold;
}
main .cvPage .socialMedia {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
    width: 100%;
}
main .cvPage .socialMedia a {
    border: 1px dashed #d1d1d1;
    padding: 4px;
    padding-left: 12px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    min-width: -moz-fit-content;
    min-width: fit-content;
    gap: 8px;
    flex: 1;
    color: black;
}
main.cvPage-container {
    --navy: #0b0f2e;
    --navy-mid: #141843;
    --gold: #c9a84c;
    --gold-light: #e8c97a;
    --gold-pale: #f9f0d8;
    --cream: #f6f8fc;
    --white: #ffffff;
    --ink: #1a1a2e;
    --muted: #6b7280;
    --border: rgba(201, 168, 76, 0.25);
    --shadow: 0 24px 60px rgba(11, 15, 46, 0.12); /* Ã¢â€â‚¬Ã¢â€â‚¬ TOP TOOLBAR Ã¢â€â‚¬Ã¢â€â‚¬ */
}
main.cvPage-container .toolbar {
    width: 100%;
    max-width: 820px;
    display: flex;
    align-items: center;
    justify-content: end;
    margin-bottom: 20px;
    gap: 12px;
    flex-wrap: wrap;
    position: relative;
    z-index: 11;
    margin: auto;
}
main.cvPage-container .toolbar-actions {
    display: flex;
    gap: 10px;
}
main.cvPage-container .btn-action {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    border: none;
    transition: all 0.22s ease;
}
main.cvPage-container {
    /* Ã¢â€â‚¬Ã¢â€â‚¬ CV CARD Ã¢â€â‚¬Ã¢â€â‚¬ */
}
main.cvPage-container .cv-card {
    width: 100%;
    max-width: 820px;
    border-radius: 20px;
    box-shadow: var(--shadow);
    overflow: hidden;
    position: relative;
    margin: 40px auto 60px auto;
}
main.cvPage-container {
    /* Ã¢â€â‚¬Ã¢â€â‚¬ HEADER BAND (hexagon + diagonal style) Ã¢â€â‚¬Ã¢â€â‚¬ */
}
main.cvPage-container .cv-header {
    position: relative;
    overflow: hidden;
    padding: 0;
    min-height: 180px;
}
main.cvPage-container .header-inner {
    position: relative;
    display: flex;
    align-items: stretch;
    min-height: 180px;
}
main.cvPage-container {
    /* LEFT dark block with angled right edge */
}
main.cvPage-container .photo-col {
    position: relative; /* flex-shrink: 0; */
    width: 260px;
    background: var(--navy-mid);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 24px 24px 24px; /* clip-path: polygon(0 0, 85% 0, 100% 100%, 0 100%); */
    clip-path: polygon(50% 3%, 93% 25%, 93% 75%, 50% 97%, 7% 75%, 7% 25%);
    z-index: 2;
    position: relative;
    right: -8px;
}
main.cvPage-container {
    /* hexagon photo frame */
}
main.cvPage-container .hex-frame {
    position: relative;
    width: 200px;
    height: 200px;
    flex-shrink: 0;
}
main.cvPage-container .hex-frame svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
main.cvPage-container .hex-frame img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 110px;
    height: 150px;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top;
    object-position: top;
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}
main.cvPage-container {
    /* RIGHT info area */
}
main.cvPage-container .header-info {
    margin: 61px -28px;
    height: -moz-fit-content;
    height: fit-content;
    flex: 1;
    padding: 36px 26px 36px 42px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    background: var(--navy-mid);
    position: relative; /* position: absolute; */ /* right: 29%; */ /* top: 25%; */ /* height: 124px; */ /* width: 71%; */
    z-index: 111;
}
main.cvPage-container .header-info .top-area {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
main.cvPage-container .worker-name {
    font-size: 26px;
    font-weight: 900;
    color: var(--cream);
    line-height: 1.1;
    letter-spacing: -0.5px;
    text-transform: uppercase;
}
main.cvPage-container .worker-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--muted);
    letter-spacing: 0.5px;
    margin-top: 6px;
    text-align: center;
}
main.cvPage-container .header-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}
main.cvPage-container .header-tag {
    background: rgba(201, 168, 76, 0.1);
    border: 1px solid var(--border);
    border-radius: 50px;
    padding: 3px 12px;
    font-size: 11px;
    font-weight: 700;
    color: var(--navy);
    display: flex;
    align-items: center;
    gap: 5px;
}
main.cvPage-container {
    /* small gold dot separator */
}
main.cvPage-container .title-sep {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gold);
    vertical-align: middle;
    margin: 0 8px;
}
main.cvPage-container .header-quick-stats {
    display: flex;
    gap: 0;
    border: 1px solid rgba(201, 168, 76, 0.25);
    border-radius: 10px;
    overflow: hidden;
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 4px;
}
main.cvPage-container .quick-stat {
    padding: 8px 18px;
    border-left: 1px solid rgba(201, 168, 76, 0.2);
    text-align: center;
}
main.cvPage-container .quick-stat:last-child {
    border-left: none;
}
main.cvPage-container .quick-stat .qs-val {
    font-size: 17px;
    font-weight: 900;
    color: var(--navy);
    line-height: 1;
}
main.cvPage-container .quick-stat .qs-lbl {
    font-size: 10px;
    font-weight: 600;
    color: var(--muted);
    letter-spacing: 0.5px;
    margin-top: 2px;
}
main.cvPage-container {
    /* header logo area */
}
main.cvPage-container .header-logo-area {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2px;
}
main.cvPage-container .brand-mark {
    font-size: 12px;
    font-weight: 700;
    color: var(--muted);
    letter-spacing: 0.5px;
}
main.cvPage-container .brand-mark span {
    color: var(--gold);
}
main.cvPage-container .cv-id-row {
    display: flex;
    align-items: center;
    gap: 16px;
}
main.cvPage-container {
    /* cv-id badge (top right corner of header) */
}
main.cvPage-container .cv-id-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
}
main.cvPage-container .cv-id-badge .label {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
}
main.cvPage-container .cv-id-badge .value {
    font-size: 12px;
    font-weight: 800;
    color: var(--gold-light);
}
main.cvPage-container .availability-dot {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    color: #059669;
}
main.cvPage-container .availability-dot::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #059669;
    animation: pulse 2s infinite;
}
@keyframes pulse {
    0%,
    100% {
        box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.2);
    }
    50% {
        box-shadow: 0 0 0 6px rgba(5, 150, 105, 0.06);
    }
}
main.cvPage-container {
    /* Ã¢â€â‚¬Ã¢â€â‚¬ MAIN BODY Ã¢â€â‚¬Ã¢â€â‚¬ */
}
main.cvPage-container .cv-body {
    display: grid;
    grid-template-columns: 200px 1fr;
}
main.cvPage-container {
    /* SIDEBAR */
}
main.cvPage-container .cv-sidebar {
    background: var(--cream);
    padding: 68px 20px;
    display: flex;
    flex-direction: column;
    gap: 28px;
    clip-path: polygon(50% 47%, 100% 38%, 100% 100%, 0 100%, 0% 38%);
    clip-path: polygon(50% 3%, 100% 0, 100% 100%, 0 100%, 0 0);
    position: relative;
    right: 12px;
    top: -59px;
    height: calc(100% + 59px);
}
main.cvPage-container .sidebar-section-title {
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--gold);
    opacity: 0.7;
    margin-bottom: 12px;
}
main.cvPage-container {
    /* info items */
}
main.cvPage-container .info-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(201, 168, 76, 0.08);
}
main.cvPage-container .info-item:last-child {
    border-bottom: none;
}
main.cvPage-container .info-label {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    color: var(--link);
}
main.cvPage-container .info-value {
    font-size: 10px;
    font-weight: 600;
    color: var(--muted);
}
main.cvPage-container {
    /* language bars */
}
main.cvPage-container .lang-item {
    margin-bottom: 12px;
}
main.cvPage-container .lang-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 5px;
}
main.cvPage-container .lang-name {
    font-size: 10px;
    font-weight: 700;
    color: var(--muted);
}
main.cvPage-container .lang-pct {
    font-size: 11px;
    font-weight: 700;
    color: var(--gold-light);
}
main.cvPage-container .lang-bar-bg {
    height: 4px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    overflow: hidden;
}
main.cvPage-container .lang-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--gold), var(--gold-light));
    border-radius: 10px;
    transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
main.cvPage-container {
    /* costs box */
}
main.cvPage-container .cost-box {
    background: rgba(201, 168, 76, 0.08);
    border: 1px solid rgba(201, 168, 76, 0.2);
    border-radius: 10px;
    padding: 12px;
    text-align: center;
}
main.cvPage-container .cost-box .cost-label {
    font-size: 9px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.4);
    font-weight: 700;
}
main.cvPage-container .cost-box .cost-value {
    font-size: 22px;
    font-weight: 900;
    color: var(--gold-light);
    line-height: 1.1;
    margin: 4px 0;
}
main.cvPage-container .cost-box .cost-unit {
    font-size: 10px;
    color: rgba(255, 255, 255, 0.4);
}
main.cvPage-container {
    /* book cta */
}
main.cvPage-container .sidebar-cta {
    background: var(--gold);
    color: var(--navy);
    border: none;
    border-radius: 12px;
    padding: 14px 12px;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
    width: 100%;
    transition: all 0.22s ease;
    box-shadow: 0 4px 16px rgba(201, 168, 76, 0.3);
}
main.cvPage-container .sidebar-cta:hover {
    background: var(--gold-light);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(201, 168, 76, 0.4);
}
main.cvPage-container {
    /* Ã¢â€â‚¬Ã¢â€â‚¬ MAIN CONTENT Ã¢â€â‚¬Ã¢â€â‚¬ */
}
main.cvPage-container .cv-main {
    padding: 0px 30px;
    display: flex;
    flex-direction: column;
    gap: 28px;
}
main.cvPage-container .section-header {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 16px;
}
main.cvPage-container .section-title {
    font-size: 15px;
    font-weight: 800;
    color: var(--navy);
    flex: 1;
}
main.cvPage-container .section-line {
    height: 1px;
    background: linear-gradient(77deg, var(--border));
    width: 10%;
    position: relative;
}
main.cvPage-container .section-line::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 100%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    background: var(--gold);
    border-radius: 50%;
}
main.cvPage-container {
    /* personal data grid */
}
main.cvPage-container .data-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
main.cvPage-container .data-cell {
    background: var(--white);
    border: 1px solid #f0f0f0;
    border-radius: 10px;
    padding: 10px 14px;
    transition:
        border-color 0.2s,
        box-shadow 0.2s;
}
main.cvPage-container .data-cell:hover {
    border-color: var(--gold);
    box-shadow: 0 2px 12px rgba(201, 168, 76, 0.1);
}
main.cvPage-container .data-cell .dc-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: var(--muted);
}
main.cvPage-container .data-cell .dc-value {
    font-size: 13px;
    font-weight: 800;
    color: var(--ink);
    margin-top: 2px;
}
main.cvPage-container {
    /* skills grid */
}
main.cvPage-container .skills-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}
main.cvPage-container .skill-tile {
    background: var(--white);
    border: 1.5px solid #f0f0f0;
    border-radius: 10px;
    padding: 12px 8px;
    text-align: center;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 6px;
    transition: all 0.22s ease;
}
main.cvPage-container .skill-tile:hover {
    border-color: var(--gold);
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(201, 168, 76, 0.12);
}
main.cvPage-container .skill-tile.has-skill {
    background: var(--gold-pale);
    border-color: rgba(201, 168, 76, 0.4);
}
main.cvPage-container .skill-tile.no-skill {
    opacity: 0.45;
}
main.cvPage-container .skill-name {
    font-size: 11px;
    font-weight: 700;
    color: var(--ink);
}
main.cvPage-container .skill-icon {
    width: 28px;
    height: 28px;
}
main.cvPage-container .skill-check {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
}
main.cvPage-container .skill-check.yes {
    background: #d1fae5;
    color: #059669;
}
main.cvPage-container .skill-check.no {
    background: #f3f4f6;
    color: #9ca3af;
}
main.cvPage-container {
    /* experience table */
}
main.cvPage-container .exp-table {
    width: 100%;
    border-collapse: collapse;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #f0ece0;
}
main.cvPage-container .exp-table thead tr {
    background: var(--navy);
}
main.cvPage-container .exp-table thead th {
    padding: 10px 14px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: var(--gold-light);
    text-align: right;
}
main.cvPage-container .exp-table tbody tr {
    border-bottom: 1px solid #f0ece0;
    transition: background 0.15s;
}
main.cvPage-container .exp-table tbody tr:last-child {
    border-bottom: none;
}
main.cvPage-container .exp-table tbody tr:hover {
    background: var(--gold-pale);
}
main.cvPage-container .exp-table tbody td {
    padding: 10px 14px;
    font-size: 13px;
    font-weight: 600;
    color: var(--ink);
}
main.cvPage-container {
    /* notes */
}
main.cvPage-container .notes-wrap {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    padding: 0px 0 24px;
}
main.cvPage-container .note-tag {
    border: 1px solid #f0f0f0;
    border-radius: 50px;
    padding: 5px 14px;
    font-size: 12px;
    font-weight: 700;
}
main.cvPage-container {
    /* costs section */
}
main.cvPage-container .costs-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
main.cvPage-container .cost-card {
    background: var(--white);
    border: 1px solid #f0f0f0;
    border-radius: 12px;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    transition: all 0.22s;
}
main.cvPage-container .cost-card:hover {
    border-color: var(--gold);
    box-shadow: 0 4px 16px rgba(201, 168, 76, 0.1);
}
main.cvPage-container .cost-card .cc-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: var(--muted);
}
main.cvPage-container .cost-card .cc-value {
    font-size: 20px;
    font-weight: 900;
    color: var(--navy);
}
main.cvPage-container .cost-card .cc-sub {
    font-size: 10px;
    color: var(--muted);
}
main.cvPage-container {
    /* Ã¢â€â‚¬Ã¢â€â‚¬ FOOTER Ã¢â€â‚¬Ã¢â€â‚¬ */
}
main.cvPage-container .cv-footer-bar {
    background: var(--navy);
    padding: 14px 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
main.cvPage-container .footer-passport {
    font-size: 11px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.4);
}
main.cvPage-container .footer-passport span {
    color: rgba(255, 255, 255, 0.75);
    margin-right: 6px;
}
main.cvPage-container .footer-divider {
    width: 1px;
    height: 20px;
    background: rgba(255, 255, 255, 0.1);
}
main.cvPage-container .footer-cv-num {
    font-size: 13px;
    font-weight: 800;
    color: var(--gold-light);
    letter-spacing: 1px;
}
main.cvPage-container .footer-actions {
    display: flex;
    gap: 8px;
}
main.cvPage-container .footer-icon-btn {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.6);
    transition: all 0.2s;
    text-decoration: none;
}
main.cvPage-container .footer-icon-btn:hover {
    background: var(--gold);
    color: var(--navy);
    border-color: var(--gold);
}
main.cvPage-container {
    /* BOOKING MODAL */
}
main.cvPage-container .modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(11, 15, 46, 0.7);
    backdrop-filter: blur(4px);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    z-index: 1000;
}
main.cvPage-container .modal-overlay.active {
    display: flex;
}
main.cvPage-container .modal-box {
    background: var(--cream);
    border-radius: 20px;
    width: min(500px, 100%);
    overflow: hidden;
    box-shadow: 0 40px 80px rgba(0, 0, 0, 0.3);
    animation: modalIn 0.22s ease;
}
@keyframes modalIn {
    from {
        transform: translateY(12px) scale(0.97);
        opacity: 0;
    }
    to {
        transform: translateY(0) scale(1);
        opacity: 1;
    }
}
main.cvPage-container .modal-head {
    background: var(--navy);
    padding: 20px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
main.cvPage-container .modal-head h3 {
    font-size: 18px;
    font-weight: 900;
    color: var(--gold-light);
}
main.cvPage-container .modal-close {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    border: none;
    color: rgba(255, 255, 255, 0.6);
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}
main.cvPage-container .modal-close:hover {
    background: rgba(255, 255, 255, 0.15);
}
main.cvPage-container .modal-steps {
    display: flex;
    padding: 16px 24px 0;
    gap: 8px;
}
main.cvPage-container .modal-step {
    flex: 1;
    padding: 8px;
    border-radius: 8px;
    text-align: center;
    font-size: 12px;
    font-weight: 700;
    border: 1.5px solid #e5e7eb;
    color: var(--muted);
    cursor: pointer;
    transition: all 0.2s;
}
main.cvPage-container .modal-step.active {
    border-color: var(--gold);
    background: var(--gold-pale);
    color: var(--navy);
}
main.cvPage-container .modal-body {
    padding: 20px 24px;
}
main.cvPage-container .modal-hint {
    background: #eff6ff;
    border: 1px dashed #93c5fd;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 13px;
    color: #1e40af;
    margin-bottom: 16px;
    text-align: center;
}
main.cvPage-container .modal-auth-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 14px;
    justify-content: flex-end;
}
main.cvPage-container .auth-tab {
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 700;
    border: 1.5px solid #e5e7eb;
    background: var(--white);
    color: var(--muted);
    cursor: pointer;
    transition: all 0.2s;
}
main.cvPage-container .auth-tab.active {
    border-color: var(--navy);
    background: var(--navy);
    color: var(--gold-light);
}
main.cvPage-container .modal-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
main.cvPage-container .mf-group label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 5px;
}
main.cvPage-container .mf-group input {
    width: 100%;
    border: 1.5px solid #e5e7eb;
    border-radius: 10px;
    height: 44px;
    padding: 8px 12px;
    font-size: 14px;
    color: var(--ink);
    background: var(--white);
    transition: border-color 0.2s;
}
main.cvPage-container .mf-group input:focus {
    outline: none;
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(201, 168, 76, 0.12);
}
main.cvPage-container .phone-row {
    display: grid;
    grid-template-columns: 56px 1fr;
    direction: ltr;
}
main.cvPage-container .phone-prefix {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f9fafb;
    border: 1.5px solid #e5e7eb;
    border-right: none;
    border-radius: 10px 0 0 10px;
    font-size: 12px;
    font-weight: 700;
    color: var(--muted);
}
main.cvPage-container .phone-row input {
    border-radius: 0 10px 10px 0;
}
main.cvPage-container .modal-footer {
    border-top: 1px solid #f0f0f0;
    margin-top: 16px;
    padding-top: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
main.cvPage-container .modal-link {
    font-size: 13px;
    font-weight: 700;
    color: var(--gold);
    text-decoration: none;
}
main.cvPage-container .modal-link:hover {
    text-decoration: underline;
}
main.cvPage-container .modal-actions {
    display: flex;
    gap: 8px;
}
main.cvPage-container .m-btn {
    padding: 9px 18px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    border: none;
    transition: all 0.2s;
}
main.cvPage-container .m-btn-ghost {
    background: var(--white);
    border: 1.5px solid #e5e7eb;
    color: var(--muted);
}
main.cvPage-container .m-btn-ghost:hover {
    border-color: #9ca3af;
}
main.cvPage-container .m-btn-primary {
    background: var(--navy);
    color: var(--gold-light);
    box-shadow: 0 4px 14px rgba(11, 15, 46, 0.2);
}
main.cvPage-container .m-btn-primary:hover {
    background: var(--navy-mid);
}
main.cvPage-container {
    /* agents grid */
}
main.cvPage-container .agents-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 8px;
}
main.cvPage-container .agent-card {
    border: 1.5px solid #e5e7eb;
    border-radius: 12px;
    padding: 14px 10px;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s;
}
main.cvPage-container .agent-card:hover {
    border-color: var(--gold);
    box-shadow: 0 4px 12px rgba(201, 168, 76, 0.12);
}
main.cvPage-container .agent-card.active {
    border-color: var(--navy);
    background: #f0f3ff;
}
main.cvPage-container .agent-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--navy);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 8px;
    color: var(--gold-light);
    font-size: 18px;
}
main.cvPage-container .agent-name {
    font-size: 13px;
    font-weight: 800;
    color: var(--navy);
}
main.cvPage-container .agent-role {
    font-size: 10px;
    color: var(--muted);
    font-weight: 600;
    margin-top: 2px;
}
main.cvPage-container {
    /* success */
}
main.cvPage-container .success-pane {
    text-align: center;
    padding: 30px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}
main.cvPage-container .success-icon {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: linear-gradient(135deg, #d1fae5, #a7f3d0);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
}
main.cvPage-container .success-title {
    font-size: 20px;
    font-weight: 900;
    color: var(--navy);
}
main.cvPage-container .success-sub {
    font-size: 13px;
    color: var(--muted);
}
main.cvPage-container {
    /* modal pane visibility */
}
main.cvPage-container .modal-pane {
    display: none;
}
main.cvPage-container .modal-pane.active {
    display: block;
}
main.cvPage-container {
    /* share tooltip */
}
main.cvPage-container .share-wrap {
    position: relative;
    display: inline-block;
}
main.cvPage-container .share-tooltip {
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%) scale(0.9);
    background: var(--white);
    border: 1px solid #f0f0f0;
    border-radius: 12px;
    padding: 10px;
    display: flex;
    gap: 8px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    z-index: 10;
    white-space: nowrap;
}
main.cvPage-container .share-wrap:hover .share-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) scale(1);
}
main.cvPage-container .share-soc {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: #f9fafb;
    border: 1px solid #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s;
    color: #374151;
}
main.cvPage-container .share-soc:hover {
    background: var(--navy);
    color: var(--white);
    border-color: var(--navy);
}
main.cvPage-container {
    /* RESPONSIVE */
}
@media (max-width: 680px) {
    main.cvPage-container .cv-card {
        border-radius: 14px;
    }
    main.cvPage-container .header-inner {
        flex-direction: column;
    }
    main.cvPage-container .photo-col {
        width: 100%;
        flex-direction: row;
        align-items: center;
        border-left: none;
        border-bottom: 1px solid rgba(201, 168, 76, 0.18);
        padding: 20px;
    }
    main.cvPage-container .cv-body {
        grid-template-columns: 1fr;
    }
    main.cvPage-container .cv-sidebar {
        padding: 20px;
    }
    main.cvPage-container .data-grid {
        grid-template-columns: 1fr 1fr;
    }
    main.cvPage-container .skills-grid {
        grid-template-columns: repeat(4, 1fr);
    }
    main.cvPage-container .costs-row {
        grid-template-columns: 1fr;
    }
    main.cvPage-container .header-quick-stats {
        display: none;
    }
    main.cvPage-container .modal-form-grid {
        grid-template-columns: 1fr;
    }
    main.cvPage-container .agents-grid {
        grid-template-columns: 1fr 1fr;
    }
    main.cvPage-container .worker-name {
        font-size: 22px;
    }
}
main .request-success {
    padding: 0 0 80px;
    position: relative;
    transform: translateY(-170px);
    z-index: 11;
}
@media (max-width: 768px) {
    main .request-success {
        transform: translateY(-95px);
    }
}
main .request-success .success-header {
    margin-bottom: 40px;
}
main .request-success .success-header #lottie {
    width: 165px;
    height: 165px;
    margin: 0 auto;
}
main .request-success .success-header h2 {
    font-weight: 700;
}
main .request-success .success-header p {
    color: #777;
}
main .request-success .card {
    background: #ffffff;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
    flex-direction: unset;
}
main .request-success .card-box-container .card-box {
    height: 100%;
}
main .request-success .card-box-container .card-box.rate {
    padding-top: 24px;
    border-top: 1px dashed #ddd;
}
main .request-success .card-box-container .card-box .phone {
    display: flex;
    align-items: center;
    gap: 6px;
}
main .request-success .card-box-container .card-box .phone b {
    background: #bde8f5;
    border: 1px dashed #ddd;
    font-size: 14px;
    padding: 4px 8px;
    color: #0e0c8b;
    border-radius: 12px;
}
@media (max-width: 768px) {
    main .request-success .card-box-container .card-box .phone b {
        font-size: 12px;
    }
}
main .request-success .card-box-container .card-box .phone i {
    color: #0e0c8b;
    font-size: 14px;
}
main .request-success .card-box-container .card-box h4 {
    font-weight: 600;
    margin-bottom: 10px;
}
@media (max-width: 768px) {
    main .request-success .card-box-container .card-box h4 {
        font-size: 16px;
    }
    main .request-success .card-box-container .card-box h4 svg {
        width: 18px;
        height: 18px;
    }
}
main .request-success .card-box-container .card-box .order-id {
    background: #bde8f5;
    border: 1px dashed #ddd;
    font-size: 14px;
    padding: 4px 8px;
    color: #0e0c8b;
    border-radius: 12px;
    font-weight: bold;
    text-align: center;
    margin: 10px 0;
}
@media (max-width: 768px) {
    main .request-success .card-box-container .card-box .order-id {
        font-size: 12px;
    }
}
main .request-success .card-box-container .card-box .steps {
    margin-top: 10px;
}
main .request-success .card-box-container .card-box .steps ul {
    padding-right: 20px;
    list-style: decimal;
}
main .request-success .card-box-container .card-box .steps ul li {
    margin-bottom: 6px;
    font-size: 14px;
    padding-right: 10px;
    border-right: 2px solid #eee;
}
main .request-success .card-box-container .card-box .actions {
    margin-top: 15px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
main .request-success .card-box-container .card-box .actions .btn-success {
    background: #0e0c8b;
    color: #fff;
    font-weight: 600;
}
main
    .request-success
    .card-box-container
    .card-box
    .actions
    .btn-success:hover {
    background: rgb(10.217218543, 8.757615894, 101.442384106);
    transform: translateY(-2px) scale(1.02);
}
main .request-success .card-box-container .card-box .stars {
    display: flex;
    gap: 8px;
    font-size: 22px;
    color: #ccc;
    margin: 10px 0;
}
main .request-success .card-box-container .card-box .stars i {
    cursor: pointer;
    transition: 0.3s;
}
main .request-success .card-box-container .card-box .stars i:hover,
main .request-success .card-box-container .card-box .stars i.active {
    color: #fbbf24;
}
main .request-success .card-box-container .card-box textarea {
    width: 100%;
    height: 100px;
    border-radius: 12px;
    padding: 10px;
    border: 1px solid #ddd;
    margin-top: 10px;
    resize: none;
}
main .request-success .card-box-container .card-box .char-count {
    text-align: left;
    font-size: 12px;
    color: #888;
    margin-top: 5px;
}
main .request-success .card-box-container .card-box .submit-review {
    margin-top: 10px;
    background: #00879e;
    color: #fff;
    border-radius: 10px;
    padding: 10px;
}
main .request-success .card-box-container .card-box .submit-review:hover {
    opacity: 0.9;
}
@media screen and (max-width: 567px) {
    main .request-success .hero-btn {
        min-width: auto;
    }
}
main .request-success .hero-btn .button-bg-layer-4 {
    background: #00879e !important;
}
main .request-success .hero-btn.secondary.ring-hover-btn:hover {
    color: #ffffff;
    border-color: rgba(14, 12, 139, 0.1);
}
main
    .request-success
    .hero-btn.secondary.ring-hover-btn:hover
    .button-inner-hover {
    color: #ffffff;
}
main
    .request-success
    .hero-btn.secondary.ring-hover-btn:hover
    .button-inner-static {
    opacity: 1;
    transform: none;
}
main .request-success .hero-btn.primary {
    background: #0e0c8b;
}
main
    .request-success
    .hero-btn.primary.ring-hover-down-btn:hover
    .button-inner-static {
    opacity: 1;
    transform: none;
}
main .contact-page {
    padding: 72px 0 100px; /* ---- HEADER ---- */
}
main .contact-page .section-header {
    text-align: center;
    margin-bottom: 60px;
}
main .contact-page .section-header h1 {
    font-size: 38px;
    font-weight: 800;
    color: #0e0c8b;
    margin-bottom: 14px;
    line-height: 1.25;
}
@media (max-width: 768px) {
    main .contact-page .section-header h1 {
        font-size: 26px;
    }
}
main .contact-page .section-header p {
    font-size: 15.5px;
    color: #777777;
    max-width: 520px;
    margin: 0 auto;
    line-height: 1.85;
}
main .contact-page .contact-main {
    display: flex;
    align-items: stretch;
}
@media (max-width: 992px) {
    main .contact-page .contact-main {
        flex-direction: column;
    }
}
main .contact-page .contact-inner {
    position: relative;
}
main .contact-page .contact-inner:after {
    content: "";
    position: absolute;
    width: 482px;
    right: -15px;
    top: -40px;
    bottom: -40px;
    background-color: #f8fafc;
    z-index: -1;
}
main .contact-page .contact-info {
    margin-left: 95px;
    position: relative;
    z-index: 1;
}
@media (max-width: 1200px) {
    main .contact-page .contact-info {
        margin-left: 40px;
    }
}
@media (max-width: 992px) {
    main .contact-page .contact-info {
        margin-left: 0;
        margin-bottom: 30px;
    }
}
main .contact-page .contact-info:before {
    content: "";
    position: absolute;
    left: 0px;
    bottom: -57px;
    z-index: -1;
    width: 0;
    height: 0;
    border-left: 57px solid transparent;
    border-right: 0px solid transparent;
    border-top: 57px solid #d8d8d8;
}
@media (max-width: 768px) {
    main .contact-page .contact-info:before {
        border-left: 0;
        border-right: 0;
        border-top: 57px solid #d8d8d8;
    }
}
main .contact-page .contact-info .contact-details {
    border-radius: 10px 10px 10px 0px;
    box-shadow: 0 4px 24px rgba(4, 59, 89, 0.07);
    padding: 20px;
    background-color: #fff;
}
main .contact-page .contact-info .contact-details .contact-info-section {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
main .contact-page .contact-info .contact-details {
    /* Ã°Å¸â€™Å½ Ã˜Â§Ã™â€žÃ™Æ’Ã˜Â§Ã˜Â±Ã˜Â¯ */
}
main .contact-page .contact-info .contact-details .c-info-column {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #eaeef2;
    transition: all 0.3s ease;
}
main .contact-page .contact-info .contact-details {
    /* Ã¢Å“Â¨ hover */
}
main .contact-page .contact-info .contact-details .c-info-column:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(4, 59, 89, 0.08);
    border-color: #bde8f5;
}
main .contact-page .contact-info .contact-details {
    /* Ã°Å¸â€Â¥ Ã˜Â§Ã™â€žÃ˜Â£Ã™Å Ã™â€šÃ™Ë†Ã™â€ Ã˜Â© */
}
main .contact-page .contact-info .contact-details .c-info-icon {
    grid-column: 2;
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: rgba(14, 12, 139, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #0e0c8b;
    transition: 0.3s;
}
main .contact-page .contact-info .contact-details {
    /* Ã°Å¸Å½Â¨ Ã˜Â£Ã™â€žÃ™Ë†Ã˜Â§Ã™â€  Ã™â€¦Ã˜Â®Ã˜ÂªÃ™â€žÃ™ÂÃ˜Â© */
}
main
    .contact-page
    .contact-info
    .contact-details
    .c-info-column:nth-child(2)
    .c-info-icon {
    background: rgba(0, 153, 109, 0.231372549);
    color: #00879e;
}
main
    .contact-page
    .contact-info
    .contact-details
    .c-info-column:nth-child(3)
    .c-info-icon {
    background: rgba(246, 145, 30, 0.1);
    color: #ffab5b;
}
main .contact-page .contact-info .contact-details {
    /* hover icon */
}
main
    .contact-page
    .contact-info
    .contact-details
    .c-info-column:hover
    .c-info-icon {
    transform: scale(1.08);
}
main .contact-page .contact-info .contact-details {
    /* Ã°Å¸â€œÂ Ã˜Â§Ã™â€žÃ™â€ Ã˜Âµ */
}
main .contact-page .contact-info .contact-details .c-info-column h3 {
    grid-column: 1;
    font-size: 14px;
    font-weight: 700;
    color: #0e0c8b;
    margin-bottom: 4px;
}
main .contact-page .contact-info .contact-details .c-info-column p {
    grid-column: 1;
    font-size: 13.5px;
    color: #777777;
    line-height: 1.6;
    margin: 0;
}
main .contact-page .contact-info .contact-details {
    /* Ã°Å¸â€â€” Ã˜Â§Ã™â€žÃ™â€žÃ™Å Ã™â€ Ã™Æ’Ã˜Â§Ã˜Âª */
}
main .contact-page .contact-info .contact-details .c-info-column a {
    color: #0e0c8b;
    text-decoration: none;
    font-weight: 600;
    transition: 0.2s;
}
main .contact-page .contact-info .contact-details .c-info-column a:hover {
    color: #ffab5b;
}
main .contact-page {
    /* ---- FORM CARD ---- */
}
main .contact-page .contact-form-wrap {
    background: #ffffff;
    border-radius: 24px;
    padding: 32px;
    box-shadow: 0 4px 24px rgba(4, 59, 89, 0.07);
    border: 1.5px solid #eaeef2;
    margin: 0 30px;
}
@media (max-width: 576px) {
    main .contact-page .contact-form-wrap {
        padding: 28px 20px;
        margin: 0;
    }
}
main .contact-page .contact-form-wrap .form-head {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 36px;
    padding-bottom: 28px;
    border-bottom: 1.5px solid #eaeef2;
}
main .contact-page .contact-form-wrap .form-head .form-head-icon {
    width: 52px;
    height: 52px;
    min-width: 52px;
    background: rgba(14, 12, 139, 0.2);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}
main .contact-page .contact-form-wrap .form-head .form-head-icon svg {
    width: 24px;
    height: 24px;
    color: #0e0c8b;
}
main .contact-page .contact-form-wrap .form-head h3 {
    font-size: 22px;
    font-weight: 800;
    color: #0e0c8b;
    margin-bottom: 4px;
}
main .contact-page .contact-form-wrap .form-head p {
    font-size: 13.5px;
    color: #777777;
    line-height: 1.6;
}
main .contact-page .contact-form-wrap .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}
@media (max-width: 576px) {
    main .contact-page .contact-form-wrap .form-row {
        grid-template-columns: 1fr;
    }
}
main .contact-page .contact-form-wrap .form-group {
    margin-bottom: 22px;
}
main .contact-page .contact-form-wrap .form-group label {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    font-weight: 700;
    color: #0e0c8b;
    margin-bottom: 8px;
}
main .contact-page .contact-form-wrap .form-group label .req {
    color: #e24b4a;
    font-size: 15px;
    line-height: 1;
}
main .contact-page .contact-form-wrap .form-group .input-wrap {
    position: relative;
}
main .contact-page .contact-form-wrap .form-group .input-wrap .input-icon {
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    color: #b0bec8;
    pointer-events: none;
    transition: color 0.2s;
}
main .contact-page .contact-form-wrap .form-group .input-wrap.has-icon input,
main .contact-page .contact-form-wrap .form-group .input-wrap.has-icon select {
    padding-right: 42px;
}
main .contact-page .contact-form-wrap .form-group input,
main .contact-page .contact-form-wrap .form-group select,
main .contact-page .contact-form-wrap .form-group textarea {
    width: 100%;
    padding: 10px 16px;
    border: 1.5px solid #eaeef2;
    border-radius: 10px;
    font-size: 14px;
    font-family: inherit;
    color: #2d3748;
    background: #f8fafc;
    transition:
        border-color 0.22s,
        box-shadow 0.22s,
        background 0.22s;
    outline: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-appearance: none;
}
main .contact-page .contact-form-wrap .form-group input:hover,
main .contact-page .contact-form-wrap .form-group select:hover,
main .contact-page .contact-form-wrap .form-group textarea:hover {
    border-color: #c5d0dc;
}
main .contact-page .contact-form-wrap .form-group input:focus,
main .contact-page .contact-form-wrap .form-group select:focus,
main .contact-page .contact-form-wrap .form-group textarea:focus {
    border-color: #0e0c8b;
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(4, 59, 89, 0.07);
}
main .contact-page .contact-form-wrap .form-group input:focus ~ .input-icon,
main .contact-page .contact-form-wrap .form-group select:focus ~ .input-icon,
main .contact-page .contact-form-wrap .form-group textarea:focus ~ .input-icon {
    color: #0e0c8b;
}
main .contact-page .contact-form-wrap .form-group input::-moz-placeholder,
main .contact-page .contact-form-wrap .form-group select::-moz-placeholder,
main .contact-page .contact-form-wrap .form-group textarea::-moz-placeholder {
    color: #bcc8d4;
}
main .contact-page .contact-form-wrap .form-group input::placeholder,
main .contact-page .contact-form-wrap .form-group select::placeholder,
main .contact-page .contact-form-wrap .form-group textarea::placeholder {
    color: #bcc8d4;
}
main .contact-page .contact-form-wrap .form-group input.is-valid,
main .contact-page .contact-form-wrap .form-group select.is-valid,
main .contact-page .contact-form-wrap .form-group textarea.is-valid {
    border-color: #145b2d;
    background: rgba(0, 153, 109, 0.03);
}
main .contact-page .contact-form-wrap .form-group input.is-error,
main .contact-page .contact-form-wrap .form-group select.is-error,
main .contact-page .contact-form-wrap .form-group textarea.is-error {
    border-color: #e24b4a;
    background: rgba(226, 75, 74, 0.03);
}
main .contact-page .contact-form-wrap .form-group textarea {
    resize: vertical;
    min-height: 10px;
    line-height: 1.7;
    padding: 14px 16px;
}
main .contact-page .contact-form-wrap .form-group select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23777' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: left 14px center;
    padding-left: 40px;
    cursor: pointer;
}
main .contact-page .contact-form-wrap .form-group .field-hint {
    display: none;
    font-size: 11.5px;
    margin-top: 6px;
    padding: 0 2px;
}
main .contact-page .contact-form-wrap .form-group .field-hint.error {
    display: block;
    color: #e24b4a;
}
main .contact-page .contact-form-wrap .form-group .field-hint.success {
    display: block;
    color: #145b2d;
}
main .contact-page .contact-form-wrap .char-count {
    font-size: 11px;
    color: #777777;
    text-align: left;
    margin-top: 5px;
    opacity: 0.7;
}
main .contact-page .contact-form-wrap .hero-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.08);
    transform: translateX(100%);
    transition: transform 0.4s ease;
}
main .contact-page .contact-form-wrap .hero-btn:hover::before {
    transform: translateX(-100%);
}
main .contact-page .contact-form-wrap .hero-btn:active {
    transform: translateY(0);
    box-shadow: none;
}
main .contact-page .contact-form-wrap .hero-btn:disabled {
    opacity: 0.65;
    cursor: not-allowed;
    transform: none;
}
main .contact-page .contact-form-wrap .hero-btn svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}
main .contact-page .contact-form-wrap .hero-btn .btn-spinner {
    display: none;
    width: 20px;
    height: 20px;
    border: 2.5px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
}
main .contact-page .contact-form-wrap .hero-btn.loading .btn-text,
main .contact-page .contact-form-wrap .hero-btn.loading svg {
    display: none;
}
main .contact-page .contact-form-wrap .hero-btn.loading .btn-spinner {
    display: block;
}
main .contact-page .contact-form-wrap .success-banner {
    display: none;
    margin-top: 20px;
    padding: 18px 20px;
    border-radius: 10px;
    background: #00879e;
    border: 1.5px solid rgba(0, 153, 109, 0.25);
    text-align: center;
}
main .contact-page .contact-form-wrap .success-banner.show {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
main .contact-page .contact-form-wrap .success-banner svg {
    width: 22px;
    height: 22px;
    color: #145b2d;
    flex-shrink: 0;
}
main .contact-page .contact-form-wrap .success-banner span {
    font-size: 14px;
    font-weight: 600;
    color: #145b2d;
}
main .contact-page {
    /* MAP */
}
main .contact-page .map-wrap {
    background: #fff;
    border-radius: 20px;
    border: 1px solid #eaeef2;
    overflow: hidden;
}
main .contact-page {
    /* Ã°Å¸Â§Â  container */
}
main .contact-page .map-container {
    position: relative;
    height: 220px;
}
main .contact-page {
    /* Ã°Å¸â€”ÂºÃ¯Â¸Â iframe */
}
main .contact-page .map-container iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}
main .contact-page {
    /* Ã°Å¸â€Â¥ overlay */
}
main .contact-page .map-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        rgba(232, 240, 245, 0.9),
        rgba(212, 229, 239, 0.9)
    );
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    cursor: pointer;
    opacity: 0; /* Ã°Å¸â€˜Ë† Ã™â€¦Ã˜Â®Ã™ÂÃ™Å  */
    transition: 0.3s ease;
}
main .contact-page {
    /* Ã¢Å“Â¨ Ã™Å Ã˜Â¸Ã™â€¡Ã˜Â± Ã˜Â¹Ã™â€ Ã˜Â¯ hover */
}
main .contact-page .map-container:hover .map-overlay {
    opacity: 1;
}
main .contact-page {
    /* Ã°Å¸â€Â¥ icon */
}
main .contact-page .map-overlay svg {
    width: 42px;
    height: 42px;
    stroke: #0e0c8b;
    stroke-width: 1.5;
    fill: none;
}
main .contact-page {
    /* Ã°Å¸â€œÂ text */
}
main .contact-page .map-overlay span {
    font-size: 13px;
    font-weight: 600;
    color: #0e0c8b;
}
main .contact-page {
    /* ---- RESPONSIVE ---- */
}
@media (max-width: 768px) {
    main .contact-page {
        padding: 48px 0 72px;
    }
    main .contact-page .section-header h1 {
        font-size: 28px;
    }
}
main #login,
main #register {
    min-height: 100vh;
    position: relative;
    background: #f5f7fa;
}
main #login .container-fluid,
main #register .container-fluid {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 0;
    position: relative;
    overflow: hidden;
}
@media (max-width: 991px) {
    main #login .container-fluid,
    main #register .container-fluid {
        grid-template-columns: 1fr;
    }
}
main #login .login-visual,
main #register .login-visual {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(1, 18, 50, 0.76), rgba(5, 24, 62, 0.91)),
        url("./../images/login.png") center/cover no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
    z-index: 3;
    animation: authVisualIntro 2.2s cubic-bezier(0.68, -0.1, 0.265, 1.1)
        forwards;
}
@media (max-width: 991px) {
    main #login .login-visual,
    main #register .login-visual {
        display: none;
        animation: none;
    }
}
main #login .visual-content,
main #register .visual-content {
    text-align: center;
    color: #ffffff;
}
main #login .visual-content .visual-icon,
main #register .visual-content .visual-icon {
    width: 200px;
    height: 200px;
    margin: 0 auto 18px;
}
main #login .visual-content .visual-icon img,
main #register .visual-content .visual-icon img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    filter: brightness(0) invert(1);
}
main #login .visual-content h2,
main #register .visual-content h2 {
    font-size: 2rem;
    font-weight: 800;
    margin: 0;
}
main #login .login-form-section,
main #register .login-form-section {
    min-height: 100vh;
    padding: 42px clamp(18px, 4vw, 56px);
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(
            circle at 18% 5%,
            rgba(14, 12, 139, 0.08),
            transparent 34%
        ),
        url("./../images/church-02.jpg") center/cover no-repeat;
    opacity: 0;
    transform: translateX(-18px) scale(0.985);
    animation: authFormIntro 0.7s ease 1.55s forwards;
}
@media (max-width: 991px) {
    main #login .login-form-section,
    main #register .login-form-section {
        opacity: 1;
        transform: none;
        animation: none;
    }
}
main #login .auth-card,
main #register .auth-card {
    width: min(660px, 100%);
    border: 1px solid rgba(4, 59, 89, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0);
    backdrop-filter: blur(2px);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08);
    padding: 26px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}
@media (max-width: 576px) {
    main #login .auth-card,
    main #register .auth-card {
        padding: 18px;
    }
}
main #login .auth-mobile-logo,
main #register .auth-mobile-logo {
    display: none;
    width: 86px;
    height: 86px;
    margin: 0 auto 12px;
    border-radius: 16px;
    align-items: center;
    justify-content: center;
}
main #login .auth-mobile-logo img,
main #register .auth-mobile-logo img {
    width: 56px;
    height: 56px;
    -o-object-fit: contain;
    object-fit: contain;
}
main #login .form-header,
main #register .form-header {
    margin-bottom: 16px;
}
main #login .form-header h1,
main #register .form-header h1 {
    font-size: clamp(1.55rem, 3.5vw, 2rem);
    font-weight: 800;
    color: #0e0c8b;
    margin-bottom: 8px;
}
main #login .form-header p,
main #register .form-header p {
    margin: 0;
    color: #4f6072;
    line-height: 1.8;
    font-size: 0.95rem;
}
main #login form,
main #register form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
main #login .nebula-input,
main #register .nebula-input {
    position: relative;
}
main #login .nebula-input .input,
main #register .nebula-input .input {
    width: 100%;
    height: 60px;
    border: 1px solid #bcc7d2;
    border-radius: 8px;
    background: #f8fbfd;
    color: #2b3f53;
    font-size: 14px;
    padding: 28px 18px 10px 18px;
    outline: none;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}
main #login .nebula-input .input:focus,
main #register .nebula-input .input:focus {
    border-color: #0e0c8b;
    box-shadow: 0 0 0 3px rgba(14, 12, 139, 0.12);
}
main #login .nebula-input .input:not(:-moz-placeholder) + .user-label,
main #register .nebula-input .input:not(:-moz-placeholder) + .user-label {
    transform: translateY(-28px);
    font-size: 0.78rem;
    color: #0e0c8b;
}
main #login .nebula-input .input:focus + .user-label,
main #login .nebula-input .input:not(:placeholder-shown) + .user-label,
main #register .nebula-input .input:focus + .user-label,
main #register .nebula-input .input:not(:placeholder-shown) + .user-label {
    transform: translateY(-28px);
    font-size: 0.78rem;
    color: #0e0c8b;
}
main #login .nebula-input .user-label,
main #register .nebula-input .user-label {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 18px;
    color: #9da7b2;
    font-size: 14px;
    pointer-events: none;
    transition: 0.2s ease;
    padding: 0 4px;
}
main #login .nebula-input.with-icon .input,
main #register .nebula-input.with-icon .input {
    padding-right: 24px;
}
main #login .nebula-input.with-icon .field-icon,
main #register .nebula-input.with-icon .field-icon {
    position: absolute;
    top: 50%;
    left: 16px;
    transform: translateY(-50%);
    font-size: 1.2rem;
    color: #1f2a36;
    border: 0;
    background: transparent;
    padding: 0;
    line-height: 1;
    cursor: pointer;
}
main #login .nebula-input.with-prefix .input,
main #register .nebula-input.with-prefix .input {
    padding-right: 24px;
}
main #login .nebula-input.with-prefix .phone-prefix,
main #register .nebula-input.with-prefix .phone-prefix {
    position: absolute;
    top: 0;
    left: 0;
    height: 60px;
    width: 128px;
    border-right: 1px solid #bcc7d2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
    color: #394d61;
    direction: ltr;
    background: #f1f4f7;
    border-radius: 8px 0px 0px 8px;
}
main #login .nebula-input.with-prefix .phone-prefix img,
main #register .nebula-input.with-prefix .phone-prefix img {
    width: 24px;
    height: 16px;
    -o-object-fit: cover;
    object-fit: cover;
}
main #login .options,
main #register .options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 4px 0 2px;
}
main #login .remember-me,
main #register .remember-me {
    display: flex;
    align-items: center;
    gap: 8px;
}
main #login .remember-me input,
main #register .remember-me input {
    width: 22px;
    height: 22px;
    border-radius: 6px;
}
main #login .remember-me label,
main #register .remember-me label {
    margin: 0;
    color: #3e5266;
    font-size: 14px;
}
main #login .forgot-link,
main #register .forgot-link {
    color: #50657a;
    text-decoration: none;
    font-size: 14px;
}
main #login .forgot-link:hover,
main #register .forgot-link:hover {
    color: #0e0c8b;
}
main #login .hero-btn,
main #register .hero-btn {
    width: 100%;
    min-height: 56px;
}
main #login .hero-btn .button-bg-layer-4,
main #register .hero-btn .button-bg-layer-4 {
    background: #0e0c8b !important;
}
main #login .signup-link,
main #register .signup-link {
    margin-top: 10px;
    text-align: center;
    color: #495d71;
}
main #login .signup-link a,
main #register .signup-link a {
    color: #0e0c8b;
    font-weight: 700;
    text-decoration: none;
}
main #login .otp-code,
main #register .otp-code {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    direction: ltr;
}
main #login .otp-code__input,
main #register .otp-code__input {
    width: 100%;
    height: 58px;
    border: 1px solid #bcc7d2;
    border-radius: 10px;
    background: #f8fbfd;
    color: #23384e;
    font-size: 22px;
    font-weight: 800;
    text-align: center;
    direction: ltr;
    outline: 0;
    transition: 0.2s ease;
}
main #login .otp-code__input:focus,
main #register .otp-code__input:focus {
    border-color: #0e0c8b;
    box-shadow: 0 0 0 3px rgba(14, 12, 139, 0.12);
}
main #login .otp-meta,
main #register .otp-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
main #login .otp-meta__timer,
main #register .otp-meta__timer {
    color: #5f7088;
    font-size: 14px;
    font-weight: 600;
}
main #login .otp-meta__resend,
main #register .otp-meta__resend {
    border: 0;
    background: transparent;
    color: #0e0c8b;
    font-size: 14px;
    font-weight: 700;
    padding: 0;
}
main #login .otp-meta__resend:disabled,
main #register .otp-meta__resend:disabled {
    color: #95a2b6;
    cursor: not-allowed;
}
@media (max-width: 767px) {
    main #login .auth-mobile-logo,
    main #register .auth-mobile-logo {
        display: inline-flex;
    }
    main #login .auth-card,
    main #register .auth-card {
        border-radius: 14px;
    }
    main #login .otp-code,
    main #register .otp-code {
        gap: 8px;
    }
    main #login .otp-code__input,
    main #register .otp-code__input {
        height: 54px;
        font-size: 20px;
    }
    main #login .otp-meta,
    main #register .otp-meta {
        flex-direction: column;
        align-items: start;
    }
    main #login .nebula-input .input,
    main #login .nebula-input.with-prefix .phone-prefix,
    main #register .nebula-input .input,
    main #register .nebula-input.with-prefix .phone-prefix {
        height: 62px;
    }
    main #login .nebula-input .input,
    main #register .nebula-input .input {
        font-size: 1.45rem;
        padding-top: 22px;
    }
    main #login .nebula-input .user-label,
    main #register .nebula-input .user-label {
        top: 32px;
    }
    main #login .nebula-input.with-prefix .input,
    main #register .nebula-input.with-prefix .input {
        padding-right: 116px;
    }
    main #login .nebula-input.with-prefix .phone-prefix,
    main #register .nebula-input.with-prefix .phone-prefix {
        width: 100px;
    }
}
main #login #login-btn,
main #login #register-btn,
main #login #otp-btn,
main #register #login-btn,
main #register #register-btn,
main #register #otp-btn {
    min-height: 50px;
    border-radius: 12px;
    background: linear-gradient(130deg, #0e0c8b, #00879e);
    border: 1px solid rgba(4, 59, 89, 0.15);
    box-shadow: 0 12px 24px rgba(4, 59, 89, 0.2);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        opacity 0.2s ease;
}
main #login #login-btn:hover,
main #login #register-btn:hover,
main #login #otp-btn:hover,
main #register #login-btn:hover,
main #register #register-btn:hover,
main #register #otp-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 30px rgba(4, 59, 89, 0.24);
}
main #login #login-btn .button-bg,
main #login #login-btn .button-inner-hover,
main #login #register-btn .button-bg,
main #login #register-btn .button-inner-hover,
main #login #otp-btn .button-bg,
main #login #otp-btn .button-inner-hover,
main #register #login-btn .button-bg,
main #register #login-btn .button-inner-hover,
main #register #register-btn .button-bg,
main #register #register-btn .button-inner-hover,
main #register #otp-btn .button-bg,
main #register #otp-btn .button-inner-hover {
    display: none;
}
main #login #login-btn .btn-text,
main #login #register-btn .btn-text,
main #login #otp-btn .btn-text,
main #register #login-btn .btn-text,
main #register #register-btn .btn-text,
main #register #otp-btn .btn-text {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
}
main #login #login-btn .button-inner-static,
main #login #register-btn .button-inner-static,
main #login #otp-btn .button-inner-static,
main #register #login-btn .button-inner-static,
main #register #register-btn .button-inner-static,
main #register #otp-btn .button-inner-static {
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
}
main #login #login-btn .btn-loading,
main #login #register-btn .btn-loading,
main #login #otp-btn .btn-loading,
main #register #login-btn .btn-loading,
main #register #register-btn .btn-loading,
main #register #otp-btn .btn-loading {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #fff;
    font-size: 0.96rem;
    font-weight: 700;
}
main #login #login-btn .spinner,
main #login #register-btn .spinner,
main #login #otp-btn .spinner,
main #register #login-btn .spinner,
main #register #register-btn .spinner,
main #register #otp-btn .spinner {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: loginSpin 0.8s linear infinite;
}
main #login #login-btn.is-loading,
main #login #register-btn.is-loading,
main #login #otp-btn.is-loading,
main #register #login-btn.is-loading,
main #register #register-btn.is-loading,
main #register #otp-btn.is-loading {
    opacity: 0.95;
    cursor: wait;
    pointer-events: none;
}
main #login #login-btn.is-loading .button-inner-static,
main #login #register-btn.is-loading .button-inner-static,
main #login #otp-btn.is-loading .button-inner-static,
main #register #login-btn.is-loading .button-inner-static,
main #register #register-btn.is-loading .button-inner-static,
main #register #otp-btn.is-loading .button-inner-static {
    display: none;
}
main #login #login-btn.is-loading .btn-text,
main #login #register-btn.is-loading .btn-text,
main #login #otp-btn.is-loading .btn-text,
main #register #login-btn.is-loading .btn-text,
main #register #register-btn.is-loading .btn-text,
main #register #otp-btn.is-loading .btn-text {
    display: none;
}
main #login #login-btn.is-loading .btn-loading,
main #login #register-btn.is-loading .btn-loading,
main #login #otp-btn.is-loading .btn-loading,
main #register #login-btn.is-loading .btn-loading,
main #register #register-btn.is-loading .btn-loading,
main #register #otp-btn.is-loading .btn-loading {
    display: inline-flex;
}
main #login #login-btn:disabled,
main #login #register-btn:disabled,
main #login #otp-btn:disabled,
main #register #login-btn:disabled,
main #register #register-btn:disabled,
main #register #otp-btn:disabled {
    opacity: 0.95;
    cursor: wait;
}
main #login #login .auth-card,
main #register #login .auth-card {
    width: min(560px, 100%);
    padding: 18px;
}
main #login #login .form-header,
main #register #login .form-header {
    margin-bottom: 10px;
}
main #login #login .form-header h1,
main #register #login .form-header h1 {
    font-size: 1.5rem;
    margin-bottom: 4px;
}
main #login #login .form-header p,
main #register #login .form-header p {
    font-size: 0.9rem;
}
main #login #login form,
main #register #login form {
    gap: 9px;
}
main #login #login .nebula-input .input,
main #register #login .nebula-input .input {
    height: 58px;
    font-size: 1.1rem;
    padding-top: 20px;
}
main #login #login .nebula-input .user-label,
main #register #login .nebula-input .user-label {
    top: 16px;
    font-size: 0.98rem;
}
main #login #login .nebula-input.with-prefix .phone-prefix,
main #register #login .nebula-input.with-prefix .phone-prefix {
    height: 58px;
    width: 98px;
    font-size: 1.25rem;
}
main #login #login .nebula-input.with-prefix .input,
main #register #login .nebula-input.with-prefix .input {
    padding-right: 112px;
}
main #login #login .options,
main #register #login .options {
    margin: 2px 0 0;
}
main #login #login .remember-me label,
main #register #login .remember-me label {
    font-size: 14px;
}
main #login #login .remember-me input,
main #register #login .remember-me input {
    width: 18px;
    height: 18px;
}
main #login #login .forgot-link,
main #register #login .forgot-link {
    font-size: 14px;
}
main #login #login .signup-link,
main #register #login .signup-link {
    margin-top: 6px;
    font-size: 0.92rem;
}
@keyframes loginSpin {
    to {
        transform: rotate(360deg);
    }
}
@keyframes authVisualIntro {
    0% {
        left: 0;
        right: 0;
        box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    }
    55% {
        left: 0;
        right: 0;
        box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    }
    100% {
        left: 0;
        right: 50%;
        box-shadow: 8px 0 30px rgba(0, 0, 0, 0.12);
    }
}
@keyframes authFormIntro {
    from {
        opacity: 0;
        transform: translateX(-18px) scale(0.985);
    }
    to {
        opacity: 1;
        transform: translateX(0) scale(1);
    }
}
main .profile {
    padding: 20px 0 60px;
    position: relative;
    z-index: 11;
}
main .profile .container {
    background: transparent;
    padding: 0;
    border-radius: 0;
}
main .profile .profile-account {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    font-size: 14px;
    color: #253044;
    transform: translateY(-100px);
}
main .profile .profile-account__sidebar {
    background: #fff;
    border: 1px solid rgba(14, 12, 139, 0.12);
    border-radius: 16px;
    box-shadow: 0 12px 34px rgba(4, 59, 89, 0.08);
    padding: 18px 14px;
    position: sticky;
    top: 195px;
}
main .profile .profile-account__sidebar h3 {
    margin: 0 0 4px;
    font-size: 14px;
    font-weight: 800;
    color: #17202f;
}
main .profile .profile-account__sidebar p {
    margin: 0 0 14px;
    font-size: 14px;
    color: #7a8497;
    line-height: 1.7;
}
main .profile .profile-account__menu {
    display: grid;
    gap: 6px;
}
main .profile .profile-account__menu-item {
    display: flex;
    align-items: center;
    gap: 9px;
    border-radius: 10px;
    padding: 9px 11px;
    color: #3e4a62;
    font-size: 14px;
    font-weight: 600;
    transition: 0.22s ease;
}
main .profile .profile-account__menu-item i {
    width: 14px;
    text-align: center;
    font-size: 14px;
}
main .profile .profile-account__menu-item:hover {
    background: rgba(14, 12, 139, 0.06);
    color: #0e0c8b;
    transform: translateX(-2px);
}
main .profile .profile-account__menu-item.is-active {
    background: #0e0c8b;
    color: #fff;
    box-shadow: 0 12px 24px rgba(14, 12, 139, 0.25);
}
main .profile .profile-account__menu-item.is-logout {
    color: #d14c4c;
}
main .profile .profile-account__menu-item.is-logout:hover {
    background: #fff1f1;
    color: #be2c2c;
}
main .profile .profile-account__content {
    display: grid;
    gap: 14px;
    background: white;
    padding: 24px;
    border-radius: 20px;
    box-shadow: 0 12px 34px rgba(4, 59, 89, 0.08);
}
main .profile .profile-account .profile-card {
    background: #fff;
    border: 1px solid rgba(14, 12, 139, 0.12);
    border-radius: 16px;
    padding: 18px;
    box-shadow: 0 12px 34px rgba(4, 59, 89, 0.06);
}
main .profile .profile-account .profile-card h4 {
    margin: 0 0 14px;
    font-size: 14px;
    font-weight: 800;
    color: #17202f;
}
main .profile .profile-account .profile-field-grid {
    display: flex;
    gap: 12px;
}
@media screen and (max-width: 576px) {
    main .profile .profile-account .profile-field-grid {
        flex-direction: column;
    }
}
main .profile .profile-account .profile-field {
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 8px;
}
main .profile .profile-account .profile-field span {
    color: #3e4a62;
    font-size: 12px;
    font-weight: 600;
}
main .profile .profile-account .profile-field input,
main .profile .profile-account .profile-field select {
    width: 100%;
    height: 44px;
    border-radius: 10px;
    border: 1px solid #d7dde8;
    background: #fff;
    color: #2d3650;
    font-size: 14px;
    padding: 0 14px;
    transition: 0.2s ease;
}
main .profile .profile-account .profile-field input:focus,
main .profile .profile-account .profile-field select:focus {
    outline: 0;
    border-color: rgba(14, 12, 139, 0.5);
    box-shadow: 0 0 0 3px rgba(14, 12, 139, 0.11);
}
main .profile .profile-account .profile-field small {
    color: #8e97aa;
    font-size: 14px;
}
main .profile .profile-account .profile-gender {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 6px;
}
main .profile .profile-account .profile-gender > span {
    font-size: 14px;
    font-weight: 700;
    color: #23304a;
}
main .profile .profile-account .profile-gender label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 14px;
    color: #49526a;
}
main .profile .profile-account .profile-gender label input {
    accent-color: #0e0c8b;
    width: 14px;
    height: 14px;
}
main .profile .profile-account .profile-save-btn {
    width: 100%;
    border: 0;
    border-radius: 12px;
    min-height: 48px;
    padding: 10px 22px;
    background: linear-gradient(130deg, #0e0c8b, #00879e);
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    transition: 0.22s ease;
}
main .profile .profile-account .profile-save-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 24px rgba(14, 12, 139, 0.3);
}
main .profile .profile-account .orders-overview__head {
    margin-bottom: 12px;
}
main .profile .profile-account .orders-overview__head h4 {
    margin-bottom: 6px;
}
main .profile .profile-account .orders-overview__head p {
    margin: 0;
    font-size: 14px;
    color: #7b869a;
}
main .profile .profile-account .orders-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}
main .profile .profile-account .orders-stat {
    border: 1px solid rgba(14, 12, 139, 0.12);
    border-radius: 12px;
    padding: 12px;
    background: #f9fbff;
    display: grid;
    gap: 5px;
}
main .profile .profile-account .orders-stat small {
    font-size: 14px;
    color: #79839a;
}
main .profile .profile-account .orders-stat strong {
    font-size: 18px;
    color: #0e0c8b;
    line-height: 1;
}
main .profile .profile-account .orders-tools {
    display: grid;
    grid-template-columns: minmax(250px, 1fr) 170px 170px 125px;
    gap: 10px;
}
main .profile .profile-account .orders-search-field {
    border: 1px solid #d7dde8;
    border-radius: 10px;
    height: 44px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 12px;
    background: #fff;
}
main .profile .profile-account .orders-search-field i {
    color: #8190aa;
    font-size: 14px;
}
main .profile .profile-account .orders-search-field input {
    border: 0;
    outline: 0;
    width: 100%;
    background: transparent;
    font-size: 12px;
    color: #273148;
}
main .profile .profile-account .orders-select,
main .profile .profile-account .orders-reset-btn {
    height: 44px;
    border-radius: 10px;
    border: 1px solid #d7dde8;
    background: #fff;
    font-size: 14px;
    color: #273148;
    padding: 0 12px;
}
main .profile .profile-account .orders-select {
    cursor: pointer;
}
main .profile .profile-account .orders-reset-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: 0.2s ease;
}
main .profile .profile-account .orders-reset-btn:hover {
    border-color: rgba(14, 12, 139, 0.35);
    color: #0e0c8b;
}
main .profile .profile-account .orders-status-tabs {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
main .profile .profile-account .orders-status-tab {
    border: 1px solid #d7dde8;
    background: #fff;
    color: #49546b;
    border-radius: 12px;
    padding: 8px 14px;
    font-size: 12px;
    font-weight: 600;
    transition: 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
main .profile .profile-account .orders-status-tab__badge {
    min-width: 16px;
    height: 16px;
    border-radius: 999px;
    background: #eaf0f7;
    color: #4f5f7b;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 8px;
    font-weight: 800;
    line-height: 1;
}
main .profile .profile-account .orders-status-tab.is-active {
    border-color: transparent;
    background: #0e0c8b;
    color: #fff;
    box-shadow: 0 8px 18px rgba(14, 12, 139, 0.26);
}
main
    .profile
    .profile-account
    .orders-status-tab.is-active
    .orders-status-tab__badge {
    background: rgba(255, 255, 255, 0.22);
    color: #fff;
}
main .profile .profile-account .profile-security__list {
    display: grid;
    gap: 12px;
}
main .profile .profile-account .profile-security__item {
    border: 1px solid #d9e1ed;
    border-radius: 12px;
    background: #f7fafc;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
main .profile .profile-account .profile-security__item-icon {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: #e7eef4;
    color: #5a6982;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
main .profile .profile-account .profile-security__item-icon i {
    font-size: 16px;
}
main .profile .profile-account .profile-security__item-content h5 {
    margin: 0 0 2px;
    color: #223049;
    font-size: 13px;
    font-weight: 800;
}
main .profile .profile-account .profile-security__item-content p {
    margin: 0;
    color: #75839d;
    font-size: 12px;
}
main .profile .profile-account .profile-security__item-action {
    border: 1px solid #cfd8e6;
    background: #fff;
    color: #0e0c8b;
    border-radius: 10px;
    min-height: 38px;
    padding: 0 18px;
    font-size: 12px;
    font-weight: 700;
    transition: 0.2s ease;
}
main .profile .profile-account .profile-security__item-action:hover {
    border-color: rgba(14, 12, 139, 0.35);
    background: rgba(14, 12, 139, 0.05);
}
main .profile .profile-account .profile-security__status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    padding: 5px 11px;
    font-size: 12px;
    font-weight: 700;
}
main .profile .profile-account .profile-security__status.is-enabled {
    background: #dcfce7;
    color: #0f7b49;
}
main .profile .profile-account .profile-modal {
    position: fixed;
    inset: 0;
    z-index: 1400;
}
main .profile .profile-account .profile-modal[hidden] {
    display: none;
}
main .profile .profile-account .profile-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(5, 21, 46, 0.55);
    backdrop-filter: blur(2px);
}
main .profile .profile-account .profile-modal__panel {
    position: relative;
    width: min(520px, 100vw - 28px);
    margin: 10vh auto 0;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 24px 46px rgba(7, 19, 40, 0.28);
    padding: 16px;
    display: grid;
    gap: 12px;
}
main .profile .profile-account .profile-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
main .profile .profile-account .profile-modal__header h4 {
    margin: 0;
    font-size: 14px;
    font-weight: 800;
    color: #1d273f;
}
main .profile .profile-account .profile-modal__header button {
    width: 32px;
    height: 32px;
    border-radius: 9px;
    border: 1px solid #dce3ef;
    background: #fff;
    color: #5b6983;
}
main .profile .profile-account .profile-modal__form {
    display: grid;
    gap: 10px;
}
main .profile .profile-account .profile-modal__actions {
    display: flex;
    justify-content: end;
    gap: 8px;
    margin-top: 4px;
}
main .profile .profile-account .profile-modal__cancel,
main .profile .profile-account .profile-modal__submit {
    min-height: 40px;
    border-radius: 10px;
    padding: 0 16px;
    font-size: 14px;
    font-weight: 700;
    border: 1px solid #d7dde8;
    transition: 0.2s ease;
}
main .profile .profile-account .profile-modal__cancel {
    background: #fff;
    color: #4c5972;
}
main .profile .profile-account .profile-modal__submit {
    border-color: transparent;
    color: #fff;
    background: linear-gradient(130deg, #0e0c8b, #00879e);
}
main .profile .profile-account .orders-results__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}
main .profile .profile-account .orders-results__head h4,
main .profile .profile-account .orders-results__head p {
    margin: 0;
}
main .profile .profile-account .orders-results__head p {
    color: #69758e;
    font-size: 14px;
}
main .profile .profile-account .orders-list {
    display: grid;
    gap: 10px;
}
main .profile .profile-account .order-card {
    border: 1px solid rgba(14, 12, 139, 0.11);
    border-radius: 14px;
    padding: 14px;
    background: #fff;
    display: grid;
    gap: 12px;
}
main .profile .profile-account .order-card__top {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 8px;
}
main .profile .profile-account .order-card__top h5 {
    margin: 0 0 4px;
    font-size: 14px;
    color: #1d273f;
    font-weight: 800;
}
main .profile .profile-account .order-card__top p {
    margin: 0;
    font-size: 14px;
    color: #72809a;
}
main .profile .profile-account .order-status {
    border-radius: 999px;
    padding: 6px 10px;
    font-size: 12px;
    font-weight: 700;
}
main .profile .profile-account .order-status.is-new {
    color: #334155;
    background: #e8edf5;
}
main .profile .profile-account .order-status.is-progress {
    color: #8a5a00;
    background: #fff6dd;
}
main .profile .profile-account .order-status.is-ready {
    color: #065f46;
    background: #dcfce7;
}
main .profile .profile-account .order-status.is-completed {
    color: #1d4ed8;
    background: #dbeafe;
}
main .profile .profile-account .order-status.is-cancelled {
    color: #b42318;
    background: #fee4e2;
}
main .profile .profile-account .order-card__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
main .profile .profile-account .order-card__meta p {
    margin: 0;
    font-size: 14px;
    color: #5d6982;
}
main .profile .profile-account .order-card__meta span {
    color: #26334c;
    font-weight: 700;
}
main .profile .profile-account .order-progress {
    display: grid;
    gap: 7px;
}
main .profile .profile-account .order-progress__label {
    display: flex;
    justify-content: space-between;
    color: #52607b;
    font-size: 14px;
}
main .profile .profile-account .order-progress__track {
    height: 8px;
    border-radius: 999px;
    border: 1px solid rgba(4, 59, 89, 0.1019607843);
    background: #f4f7fa;
    overflow: hidden;
}
main .profile .profile-account .order-progress__track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(130deg, #0e0c8b, #0e5da8);
    transition: width 0.35s ease;
}
main .profile .profile-account .order-card__actions {
    display: flex;
    gap: 8px;
    flex-wrap: nowrap;
    white-space: nowrap;
}
main .profile .profile-account .order-action-link,
main .profile .profile-account .order-action-btn {
    height: 38px;
    border-radius: 10px;
    border: 1px solid rgba(14, 12, 139, 0.2);
    color: #0e0c8b;
    padding: 0 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    transition: 0.2s ease;
}
main .profile .profile-account .order-action-link {
    color: #ffffff;
    background: linear-gradient(130deg, #0e0c8b, #00879e);
}
main .profile .profile-account .order-action-btn {
    background: #fff;
}
main .profile .profile-account .order-action-btn:hover {
    background: rgba(14, 12, 139, 0.06);
}
main .profile .profile-account .order-action-btn.is-danger {
    border-color: rgba(207, 47, 47, 0.35);
    color: #cf2f2f;
}
main .profile .profile-account .order-action-btn.is-danger:hover {
    background: #fff1f1;
}
main .profile .profile-account .orders-empty {
    border: 1px dashed #cad3e2;
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    color: #7b879f;
}
main .profile .profile-account .orders-empty i {
    font-size: 20px;
    margin-bottom: 8px;
    color: #9aa6bf;
}
main .profile .profile-account .orders-empty h5 {
    margin: 0 0 5px;
    font-size: 14px;
    color: #2c3954;
}
main .profile .profile-account .orders-empty p {
    margin: 0;
    font-size: 14px;
}
main .profile .profile-account .orders-pagination {
    margin-top: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}
main .profile .profile-account .orders-pagination button {
    min-width: 85px;
    height: 36px;
    border-radius: 10px;
    border: 1px solid #d7dde8;
    background: #fff;
    color: #34435d;
    font-size: 14px;
}
main .profile .profile-account .orders-pagination button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
main .profile .profile-account .orders-pagination span {
    min-width: 72px;
    text-align: center;
    font-size: 14px;
    color: #66738d;
}
main .profile .profile-account .track-order-hero {
    background: linear-gradient(130deg, #f7fbff, #ffffff);
    border: 1px solid rgba(14, 12, 139, 0.1);
}
main .profile .profile-account .track-order-hero__head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 14px;
}
main .profile .profile-account .track-order-hero h4 {
    margin: 0 0 6px;
    font-size: 14px;
    font-weight: 800;
    color: #17202f;
}
main .profile .profile-account .track-order-hero p {
    margin: 0;
    color: #65728e;
    font-size: 14px;
}
main .profile .profile-account .track-order-hero__chips {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
main .profile .profile-account .track-chip {
    padding: 7px 11px;
    border: 1px solid rgba(14, 12, 139, 0.16);
    border-radius: 999px;
    color: #214162;
    background: #f2f7fc;
    font-size: 12px;
    font-weight: 700;
}
main .profile .profile-account .track-order-finder__form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 160px;
    gap: 10px;
    align-items: center;
}
main .profile .profile-account .track-order-finder__btn {
    min-height: 44px;
}
main .profile .profile-account .track-order-finder__feedback {
    margin: 10px 0 0;
    min-height: 22px;
    color: #0f5d40;
    font-size: 14px;
    font-weight: 600;
}
main .profile .profile-account .track-order-finder__feedback.is-error {
    color: #b42318;
}
main .profile .profile-account .track-order-quick {
    margin-top: 6px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
main .profile .profile-account .track-order-quick__item {
    border: 1px solid rgba(14, 12, 139, 0.16);
    background: #fff;
    border-radius: 12px;
    padding: 9px 11px;
    display: grid;
    gap: 2px;
    min-width: 116px;
    text-align: right;
    color: #2b3853;
    transition: 0.2s ease;
}
main .profile .profile-account .track-order-quick__item strong,
main .profile .profile-account .track-order-quick__item span {
    font-size: 12px;
}
main .profile .profile-account .track-order-quick__item span {
    color: #6a7791;
    font-weight: 600;
}
main .profile .profile-account .track-order-quick__item:hover,
main .profile .profile-account .track-order-quick__item.is-active {
    border-color: #0e0c8b;
    background: rgba(14, 12, 139, 0.06);
}
main .profile .profile-account .track-order-dashboard {
    display: grid;
    gap: 14px;
}
main .profile .profile-account .track-order-live__top {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 10px;
}
main .profile .profile-account .track-order-live__top h4 {
    margin: 0 0 5px;
    color: #1b2741;
    font-size: 14px;
}
main .profile .profile-account .track-order-live__top p {
    margin: 0;
    color: #6a7791;
    font-size: 14px;
}
main .profile .profile-account .track-order-live__eyebrow {
    margin: 0 0 3px;
    color: #7f8aa0;
    font-size: 14px;
}
main .profile .profile-account .track-order-live__actions {
    display: grid;
    gap: 8px;
    justify-items: end;
}
main .profile .profile-account .track-order-live__meta {
    margin-top: 2px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
main .profile .profile-account .track-order-live__meta p {
    margin: 0;
    font-size: 14px;
    color: #596681;
}
main .profile .profile-account .track-order-live__meta p span {
    color: #27344d;
    font-weight: 700;
}
main .profile .profile-account .track-order-live__meta .track-copy-row {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
main .profile .profile-account .track-order-live__meta .track-copy-row strong {
    color: #27344d;
    font-weight: 800;
}
main .profile .profile-account .track-order-live__meta .track-copy-inline-btn {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    border: 1px solid rgba(14, 12, 139, 0.24);
    background: #fff;
    color: #0e0c8b;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: 0.2s ease;
}
main
    .profile
    .profile-account
    .track-order-live__meta
    .track-copy-inline-btn:hover {
    background: rgba(14, 12, 139, 0.06);
}
main
    .profile
    .profile-account
    .track-order-live__meta
    .track-copy-inline-btn
    span {
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}
main
    .profile
    .profile-account
    .track-order-live__meta
    .track-copy-inline-btn.is-copied {
    width: auto;
    min-width: 64px;
    padding: 0 8px;
}
main
    .profile
    .profile-account
    .track-order-live__meta
    .track-copy-inline-btn
    span {
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}
main
    .profile
    .profile-account
    .track-order-live__meta
    .track-copy-inline-btn.is-copied {
    width: auto;
    min-width: 64px;
    padding: 0 8px;
}
main .profile .profile-account .track-order-live__cta {
    margin-top: 12px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
main .profile .profile-account .track-order-journey__head,
main .profile .profile-account .track-order-updates__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 10px;
}
main .profile .profile-account .track-order-journey__head h4,
main .profile .profile-account .track-order-updates__head h4 {
    margin: 0;
    font-size: 14px;
    color: #1e2a43;
    font-weight: 800;
}
main .profile .profile-account .track-order-journey__head p,
main .profile .profile-account .track-order-updates__head p {
    margin: 0;
    color: #6d7b96;
    font-size: 14px;
}
main .profile .profile-account .track-order-journey__progress {
    margin-bottom: 14px;
}
main .profile .profile-account .track-order-journey__progress-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}
main .profile .profile-account .track-order-journey__progress-top strong {
    color: #0e0c8b;
    font-size: 22px;
    line-height: 1;
    font-weight: 800;
}
main .profile .profile-account .track-order-journey__progress-top span {
    color: #65748f;
    font-size: 14px;
    font-weight: 700;
}
main .profile .profile-account .track-order-journey__bar {
    height: 10px;
    border-radius: 999px;
    background: #f4f7fa;
    overflow: hidden;
    border: 1px solid rgba(4, 59, 89, 0.1019607843);
}
main .profile .profile-account .track-order-journey__bar span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(130deg, #0e0c8b, #00879e);
    transition: width 0.35s ease;
}
main .profile .profile-account .track-order-journey__track {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    padding-top: 12px;
}
main .profile .profile-account .track-order-journey__track::before {
    content: "";
    position: absolute;
    top: 35px;
    inset-inline-start: 60px;
    inset-inline-end: 60px;
    height: 2px;
    background: #d7e0ea;
    z-index: 0;
}
main .profile .profile-account .track-journey-step {
    position: relative;
    z-index: 1;
    flex: 1;
    min-width: 0;
    text-align: center;
    display: grid;
    gap: 10px;
    justify-items: center;
}
main .profile .profile-account .track-journey-step__node {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 3px solid #c8d3df;
    background: #eef3f8;
    color: #7b8ba3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 20px rgba(11, 38, 70, 0.08);
}
main .profile .profile-account .track-journey-step__node i {
    font-size: 14px;
}
main .profile .profile-account .track-journey-step__content h5 {
    margin: 0 0 4px;
    color: #24324c;
    font-size: 13px;
    font-weight: 800;
}
main .profile .profile-account .track-journey-step__content p {
    margin: 0;
    color: #74829b;
    font-size: 12px;
    line-height: 1.5;
}
main .profile .profile-account .track-journey-step__meta {
    margin-top: 8px;
    display: flex;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
}
main
    .profile
    .profile-account
    .track-journey-step.is-done
    .track-journey-step__node {
    border-color: rgba(8, 165, 122, 0.2);
    background: linear-gradient(130deg, #006f6d, #08a57a);
    color: #fff;
}
main
    .profile
    .profile-account
    .track-journey-step.is-current
    .track-journey-step__node {
    border-color: rgba(240, 141, 18, 0.3);
    background: #f08d12;
    color: #fff;
    box-shadow: 0 0 0 7px rgba(240, 141, 18, 0.2);
}
main .profile .profile-account .track-journey-step.is-current h5 {
    color: #d57608;
}
main
    .profile
    .profile-account
    .track-journey-step.is-pending
    .track-journey-step__node {
    color: #8d9cb4;
}
main .profile .profile-account .track-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
}
main .profile .profile-account .track-pill.is-done {
    color: #0b6f4a;
    background: #dcfce7;
}
main .profile .profile-account .track-pill.is-current {
    color: #a45800;
    background: #ffedd5;
}
main .profile .profile-account .track-pill.is-pending {
    color: #607089;
    background: #e8edf5;
}
main .profile .profile-account .track-pill.is-date {
    border: 1px solid #ccd7e6;
    color: #607089;
    background: #f8fbff;
}
main .profile .profile-account .track-order-updates__list {
    display: grid;
    gap: 8px;
}
main .profile .profile-account .track-update-item {
    display: flex;
    gap: 10px;
    align-items: start;
    border: 1px solid #dde4f0;
    border-radius: 12px;
    padding: 10px 11px;
}
main .profile .profile-account .track-update-item__dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    margin-top: 7px;
    background: #0e5da8;
    box-shadow: 0 0 0 4px rgba(14, 93, 168, 0.13);
    flex-shrink: 0;
}
main .profile .profile-account .track-update-item h5 {
    margin: 0 0 3px;
    font-size: 14px;
    color: #1f2c46;
}
main .profile .profile-account .track-update-item p {
    margin: 0 0 3px;
    color: #66758f;
    font-size: 14px;
}
main .profile .profile-account .track-update-item small {
    color: #8a97b0;
    font-size: 14px;
}
@media screen and (max-width: 992px) {
    main .profile .profile-account .track-order-finder__form {
        grid-template-columns: 1fr 1fr;
    }
    main .profile .profile-account .track-order-finder__btn {
        grid-column: 1/-1;
    }
}
@media screen and (max-width: 768px) {
    main .profile .profile-account .track-order-journey__track::before {
        inset-inline-start: 35px;
        inset-inline-end: 35px;
    }
    main .profile .profile-account .track-journey-step__node {
        width: 38px;
        height: 38px;
    }
    main .profile .profile-account .track-journey-step__node i {
        font-size: 20px;
    }
}
@media screen and (max-width: 576px) {
    main .profile .profile-account .profile-security__item {
        flex-wrap: nowrap;
    }
    main .profile .profile-account .profile-security__item-content {
        width: calc(100% - 60px);
    }
    main .profile .profile-account .profile-security__item-action,
    main .profile .profile-account .profile-security__status {
        margin-inline-start: auto;
    }
    main .profile .profile-account .track-order-hero__head {
        flex-direction: column;
        align-items: start;
    }
    main .profile .profile-account .track-order-finder__form {
        grid-template-columns: 1fr;
    }
    main .profile .profile-account .track-order-live__top {
        flex-direction: column;
        align-items: start;
    }
    main .profile .profile-account .track-order-live__actions {
        justify-items: start;
    }
    main .profile .profile-account .track-order-live__meta {
        grid-template-columns: 1fr;
    }
    main .profile .profile-account .track-order-journey__head,
    main .profile .profile-account .track-order-updates__head {
        flex-direction: column;
        align-items: start;
    }
    main .profile .profile-account .track-order-journey__progress-top strong {
        font-size: 16px;
    }
    main .profile .profile-account .track-order-journey__track {
        display: grid;
        gap: 14px;
        padding-top: 2px;
    }
    main .profile .profile-account .track-order-journey__track::before {
        top: 14px;
        bottom: 14px;
        right: 28px;
        height: auto;
        width: 2px;
        inset-inline-end: 28px;
        inset-inline-start: auto;
        right: 20px;
    }
    main .profile .profile-account .track-journey-step {
        display: grid;
        grid-template-columns: 56px minmax(0, 1fr);
        align-items: start;
        gap: 8px;
        text-align: right;
        justify-items: stretch;
    }
    main .profile .profile-account .track-journey-step__node {
        width: 38px;
        height: 38px;
    }
    main .profile .profile-account .track-journey-step__meta {
        justify-content: flex-start;
    }
}
@media screen and (max-width: 992px) {
    main .profile .profile-account {
        grid-template-columns: 1fr;
    }
    main .profile .profile-account__sidebar {
        position: static;
    }
}
@media screen and (max-width: 576px) {
    main .profile .profile-account {
        gap: 12px;
        transform: translateY(0);
        margin: 0 12px;
    }
    main .profile .profile-account .profile-card {
        padding: 14px;
    }
    main .profile .profile-account__sidebar {
        padding: 14px 12px;
    }
    main .profile .profile-account .orders-stat-grid,
    main .profile .profile-account .order-card__meta {
        grid-template-columns: 1fr;
    }
    main .profile .profile-account .orders-tools {
        grid-template-columns: 1fr;
    }
    main .profile .profile-account .orders-status-tabs {
        overflow-x: auto;
        padding-bottom: 4px;
        flex-wrap: nowrap;
    }
    main .profile .profile-account .orders-status-tabs .orders-status-tab {
        white-space: nowrap;
    }
}
main .orders-modal {
    position: fixed;
    inset: 0;
    z-index: 1300;
}
main .orders-modal[hidden] {
    display: none;
}
main .orders-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(5, 21, 46, 0.55);
    backdrop-filter: blur(2px);
}
main .orders-modal__panel {
    position: relative;
    width: min(540px, 100vw - 28px);
    margin: 7vh auto 0;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 24px 46px rgba(7, 19, 40, 0.28);
    padding: 16px;
    display: grid;
    gap: 12px;
}
main .orders-modal__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
main .orders-modal__header h4 {
    margin: 0;
    font-size: 14px;
    font-weight: 800;
}
main .orders-modal__header button {
    width: 32px;
    height: 32px;
    border-radius: 9px;
    border: 1px solid #dce3ef;
    background: #fff;
    color: #5b6983;
}
main .orders-modal__meta {
    display: grid;
    gap: 6px;
}
main .orders-modal__meta p {
    margin: 0;
    font-size: 14px;
    color: #5d6982;
}
main .orders-modal__meta p span {
    font-weight: 700;
    color: #1d273f;
}
main .orders-modal__timeline {
    position: relative;
    display: grid;
    gap: 22px;
}
main .orders-modal__timeline::before {
    content: "";
    position: absolute;
    top: 14px;
    bottom: 40px;
    right: 13px;
    inset-inline-end: 22px;
    width: 2px;
    background: #d7e0ea;
}
main .orders-modal__journey-step {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    text-align: right;
}
main .orders-modal__journey-node {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid #c8d3df;
    background: #eef3f8;
    color: #7b8ba3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 16px rgba(11, 38, 70, 0.08);
}
main .orders-modal__journey-node i {
    font-size: 12px;
}
main .orders-modal__journey-content h5 {
    margin: 0 0 3px;
    font-size: 14px;
    font-weight: 800;
    color: #24324c;
}
main .orders-modal__journey-content p {
    margin: 0 0 6px;
    color: #74829b;
    font-size: 12px;
}
main .orders-modal__journey-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}
main .orders-modal__journey-pill.is-done {
    color: #0b6f4a;
    background: #dcfce7;
}
main .orders-modal__journey-pill.is-current {
    color: #a45800;
    background: #ffedd5;
}
main .orders-modal__journey-pill.is-pending {
    color: #607089;
    background: #e8edf5;
}
main .orders-modal__journey-step.is-done .orders-modal__journey-node {
    border-color: rgba(8, 165, 122, 0.22);
    background: linear-gradient(130deg, #006f6d, #08a57a);
    color: #fff;
}
main .orders-modal__journey-step.is-current .orders-modal__journey-node {
    border-color: rgba(240, 141, 18, 0.3);
    background: #f08d12;
    color: #fff;
    box-shadow: 0 0 0 5px rgba(240, 141, 18, 0.2);
}
main .orders-modal__journey-step.is-current .orders-modal__journey-content h5 {
    color: #d57608;
}
@keyframes phoneFloat {
    0%,
    100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-4px);
    }
}
@keyframes callCardEnter {
    from {
        opacity: 0;
        transform: translateY(14px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@keyframes aboutFloatMain {
    0%,
    100% {
        transform: rotate(-3deg) translateY(0);
    }
    50% {
        transform: rotate(-3deg) translateY(-8px);
    }
}
@keyframes aboutFloatSub {
    0%,
    100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}
@keyframes serviceIconRing {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}
body.page-ready main .hero-recruitment .hero-content,
body.page-ready main .hero-recruitment .hero-visual {
    animation: heroContentRise 0.72s ease-out both;
}
@keyframes heroContentRise {
    from {
        opacity: 0;
        transform: translateY(26px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@media (prefers-reduced-motion: reduce) {
    main .hero-recruitment::before,
    main .hero-recruitment::after,
    main .hero-recruitment .hero-content,
    main .hero-recruitment .hero-visual {
        animation: none !important;
        opacity: 1;
        transform: none;
    }
}
body.is-scrolled main .hero-recruitment {
    margin-top: 10px;
}
body.orders-modal-open {
    overflow: hidden;
}
body.profile-modal-open {
    overflow: hidden;
}
main .profile-modal {
    position: fixed;
    inset: 0;
    z-index: 1400;
}
main .profile-modal[hidden] {
    display: none;
}
main .profile-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(5, 21, 46, 0.55);
    backdrop-filter: blur(2px);
}
main .profile-modal__panel {
    position: relative;
    width: min(520px, 100vw - 28px);
    margin: 10vh auto 0;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 24px 46px rgba(7, 19, 40, 0.28);
    padding: 16px;
    display: grid;
    gap: 14px;
}
main .profile-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
main .profile-modal__header h4 {
    margin: 0;
    font-size: 14px;
    font-weight: 800;
    color: #1d273f;
}
main .profile-modal__header button {
    width: 32px;
    height: 32px;
    border-radius: 9px;
    border: 1px solid #dce3ef;
    background: #fff;
    color: #5b6983;
}
main .profile-modal__form {
    display: grid;
    gap: 10px;
}
main .profile-modal__actions {
    display: flex;
    justify-content: end;
    gap: 8px;
    margin-top: 4px;
}
main .profile-modal__cancel,
main .profile-modal__submit {
    min-height: 40px;
    border-radius: 10px;
    padding: 0 16px;
    font-size: 14px;
    font-weight: 700;
    border: 1px solid #d7dde8;
    transition: 0.2s ease;
}
main .profile-modal__cancel {
    background: #fff;
    color: #4c5972;
}
main .profile-modal__submit {
    border-color: transparent;
    color: #fff;
    background: linear-gradient(130deg, #0e0c8b, #00879e);
}
main .policies {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 55% 45%;
    overflow: hidden;
    position: relative;
    border-bottom: 1px solid rgba(14, 12, 139, 0.08);
}
main .policies::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 120px;
    background: linear-gradient(
        180deg,
        rgba(14, 12, 139, 0) 0%,
        rgba(14, 12, 139, 0.08) 100%
    );
    pointer-events: none;
}
main .policies-left {
    background: #f4f7fa;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 9rem 5rem 6rem;
    position: relative;
    z-index: 2;
}
main .policies-h1 {
    font-size: clamp(1.8rem, 2.6vw, 2.6rem);
    font-weight: 900;
    color: #0e0c8b;
    line-height: 1.25;
    margin-bottom: 1.1rem;
    letter-spacing: -0.012em;
    position: relative;
    text-wrap: balance;
}
main .policies-desc {
    color: rgba(0, 0, 0, 0.6);
    font-size: 0.98rem;
    line-height: 1.9;
    max-width: 640px;
    margin-bottom: 2.1rem;
    position: relative;
    text-wrap: pretty;
}
main .policies-downloads {
    display: flex;
    gap: 0.85rem;
    flex-wrap: wrap;
    position: relative;
}
main .policies-right {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
main .policies-img-area {
    flex: 1;
    position: relative;
    overflow: hidden;
    min-height: 0;
}
main .policies-img-area img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    filter: brightness(0.56) saturate(1.12);
    transition: transform 7s ease;
    display: block;
}
main .policies-right:hover main .policies-img-area img {
    transform: scale(1.05);
}
main .policies-img-overlay {
    position: absolute;
    inset: 0;
    top: 39px;
    background:
        linear-gradient(
            180deg,
            rgba(3, 45, 69, 0.08) 0%,
            rgba(3, 45, 69, 0.75) 100%
        ),
        radial-gradient(
            circle at 82% 22%,
            rgba(20, 91, 45, 0.24),
            transparent 45%
        );
    z-index: 1;
}
main .policies-stats-bar {
    background: #ffffff;
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 3px solid #0e0c8b;
    position: absolute;
    bottom: 0;
    width: 100%;
    z-index: 1;
}
main .policies-stat {
    padding: 1.4rem 1.1rem;
    text-align: center;
    border-left: 1px solid #eaeef2;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
main .policies-stat:last-child {
    border-left: none;
}
main .policies-stat:hover {
    background: rgba(14, 12, 139, 0.2);
}
main .policies-stat-num {
    font-size: 2rem;
    font-weight: 900;
    color: #0e0c8b;
    line-height: 1;
    margin-bottom: 0.3rem;
}
main .policies-stat-label {
    font-size: 0.75rem;
    color: #777777;
    font-weight: 600;
}
@media (max-width: 1200px) {
    main .policies {
        grid-template-columns: 1fr;
        min-height: auto;
    }
    main .policies-left {
        padding: 7rem 2.5rem 3rem;
    }
    main .policies-right {
        min-height: 520px;
    }
}
@media (max-width: 900px) {
    main .policies-left {
        padding: 6.5rem 1.3rem 2.3rem;
    }
    main .policies-stat {
        padding: 1.2rem 0.8rem;
    }
    main .policies-stat-num {
        font-size: 1.7rem;
    }
}
@media (max-width: 640px) {
    main .policies-stats-bar {
        grid-template-columns: 1fr;
    }
}
main .guidelines {
    padding: 6rem 5rem 8rem;
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
}
main .guidelines .section-header {
    text-align: center;
    margin-bottom: 3rem;
}
main .guidelines .section-tag {
    display: inline-flex;
    align-items: center;
    color: #0e0c8b;
    font-size: 14px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 10px;
}
main .guidelines .section-title {
    font-size: clamp(1.8rem, 2.5vw, 2.5rem);
    font-weight: 900;
    color: black;
    margin-bottom: 0.75rem;
    line-height: 1.25;
}
main .guidelines .section-desc {
    color: #777777;
    font-size: 0.98rem;
    line-height: 1.8;
    max-width: 560px;
    margin: 0 auto;
}
main .guidelines .section-desc strong {
    color: #0e0c8b;
}
main .guidelines .countries-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5px;
    background: rgba(14, 12, 139, 0.18);
    border: 1px solid rgba(14, 12, 139, 0.16);
}
main .guidelines .country-card {
    background: #ffffff;
    padding: 1.5rem 1.1rem;
    position: relative;
    overflow: hidden;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
main .guidelines .country-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 86px;
    height: 86px;
    background: rgba(14, 12, 139, 0.08);
    border-radius: 50%;
    transform: translate(30px, 30px);
    transition: all 0.45s ease;
}
main .guidelines .country-card:hover {
    background: #f4f8fc;
}
main .guidelines .country-card:hover::before {
    background: rgba(14, 12, 139, 0.12);
    width: 210px;
    height: 210px;
}
main .guidelines .country-card .card-header,
main .guidelines .country-card .card-header-overlay,
main .guidelines .country-card .card-region-badge {
    display: none;
}
main .guidelines .country-card .card-body {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    position: relative;
    z-index: 1;
    height: 100%;
}
main .guidelines .country-card .card-top {
    display: flex;
    align-items: center;
    gap: 0.55rem;
}
main .guidelines .country-card .card-flag-wrap,
main .guidelines .country-card .card-flag-circle {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid rgba(14, 12, 139, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(14, 12, 139, 0.05);
    flex-shrink: 0;
    transition: border-color all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
main .guidelines .country-card .card-flag-wrap img,
main .guidelines .country-card .card-flag-circle img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}
main .guidelines .country-card:hover .card-flag-wrap,
main .guidelines .country-card:hover .card-flag-circle {
    border-color: rgba(14, 12, 139, 0.35);
}
main .guidelines .country-card .card-name {
    font-size: 1rem;
    font-weight: 900;
    color: #0e0c8b;
    line-height: 1.35;
    margin: 0;
    transition: color all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
main .guidelines .country-card:hover .card-name {
    color: #0e0c8b;
}
main .guidelines .country-card .card-links {
    display: flex;
    flex-direction: row;
    gap: 0.55rem;
    margin-top: auto;
}
main .guidelines .country-card .card-link {
    display: flex;
    align-items: center;
    gap: 0.62rem;
    padding: 8px 0.8rem;
    border: 1px solid rgba(14, 12, 139, 0.15);
    border-radius: 10px;
    text-decoration: none;
    color: #0e0c8b;
    font-size: 12px;
    font-weight: 700;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    background: #eef3f8;
    flex: 1 1 0;
    min-width: 0;
}
main .guidelines .country-card .card-link > i {
    font-size: 0.88rem;
    flex-shrink: 0;
}
main .guidelines .country-card .card-link span:not(.card-link-arrow) {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
main .guidelines .country-card .card-link .card-link-arrow {
    margin-right: auto;
    display: inline-flex;
    width: 14px;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
main .guidelines .country-card .card-link:hover {
    border-color: #00879e;
    color: #00879e;
}
main .guidelines .country-card .card-link:hover .card-link-arrow {
    opacity: 1;
    visibility: visible;
    width: 14px;
    transform: translateX(-3px) scaleX(-1);
}
main .guidelines .country-card:hover .card-link {
    background: #edf3f8;
    border-color: rgba(14, 12, 139, 0.2);
    color: #0e0c8b;
}
main .guidelines .country-card:hover .card-link > i {
    color: #0e0c8b;
}
main .guidelines .country-card.is-hidden {
    display: none;
}
@media (max-width: 1200px) {
    main .guidelines {
        padding: 5rem 2.2rem 6rem;
    }
    main .guidelines .countries-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 900px) {
    main .guidelines .countries-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 640px) {
    main .guidelines .countries-grid {
        grid-template-columns: 1fr;
    }
    main .guidelines .card-name {
        font-size: 0.95rem;
    }
}
main .info-strip {
    background: rgb(9.2715231788, 7.9470198675, 92.0529801325);
    position: relative;
    overflow: hidden;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
main .info-strip::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("https://images.unsplash.com/photo-1589998059171-988d887df646?w=1400&q=50");
    background-size: cover;
    background-position: center;
    opacity: 0.06;
}
main .info-strip-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    max-width: 1400px;
    margin: 0 auto;
    padding: 5rem;
    gap: 0;
}
main .info-strip .info-block {
    padding: 2rem 2.5rem;
    border-left: 1px solid rgba(255, 255, 255, 0.07);
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    position: relative;
}
main .info-strip .info-block:last-child {
    border-left: none;
}
main .info-strip .info-block:hover {
    background: rgba(255, 255, 255, 0.04);
}
main .info-strip .info-block::after {
    content: "";
    position: absolute;
    left: 2.5rem;
    right: 2.5rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 171, 91, 0.65) 50%,
        transparent 100%
    );
    opacity: 0;
    transition: opacity 0.3s ease;
}
main .info-strip .info-block:hover::after {
    opacity: 1;
}
main .info-strip .info-block-icon-wrap {
    width: 50px;
    height: 50px;
    border-radius: 10px;
    background: rgba(255, 171, 91, 0.13);
    border: 1px solid rgba(255, 171, 91, 0.22);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    color: #ffab5b;
    margin-bottom: 1.2rem;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
main .info-strip .info-block:hover .info-block-icon-wrap {
    background: #ffab5b;
    color: #ffffff;
    border-color: #ffab5b;
    transform: scale(1.08);
}
main .info-strip .info-block-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 0.55rem;
}
main .info-strip .info-block-desc {
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.86rem;
    line-height: 1.8;
}
@media (max-width: 1200px) {
    main .info-strip-inner {
        padding: 3rem 2.2rem;
    }
}
@media (max-width: 900px) {
    main .info-strip-inner {
        grid-template-columns: 1fr;
        gap: 0.6rem;
    }
    main .info-strip .info-block {
        border-left: none;
    }
}
main .recruitmentVisa {
    padding: 26px 0 80px;
    position: relative;
    z-index: 11;
}
main .recruitmentVisa .visa-paper {
    position: relative;
    padding: clamp(16px, 2.2vw, 28px);
    border-radius: 22px;
    overflow: visible;
}
main .recruitmentVisa .visa-head {
    position: relative;
    z-index: 1;
    text-align: center;
    margin-bottom: 1rem;
}
main .recruitmentVisa .visa-head .visa-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 99px;
    border: 1px solid rgba(14, 12, 139, 0.2);
    color: #0e0c8b;
    background: rgba(14, 12, 139, 0.06);
    font-size: 0.82rem;
    font-weight: 700;
    margin-bottom: 0.7rem;
}
main .recruitmentVisa .visa-head h1 {
    font-size: clamp(1.35rem, 2.3vw, 2rem);
    font-weight: 900;
    color: #0e0c8b;
    margin-bottom: 0.45rem;
}
main .recruitmentVisa .visa-head p {
    max-width: 760px;
    margin: 0 auto;
    color: #777777;
    font-size: 0.95rem;
    line-height: 1.9;
}
main .recruitmentVisa .row {
    position: relative;
    z-index: 1;
    margin-top: 1.2rem;
}
main .recruitmentVisa .nav {
    display: grid;
    gap: 10px;
    align-content: start;
    position: sticky;
    top: 100px;
    align-self: start;
    z-index: 5;
    max-height: calc(100vh - 130px);
    overflow: auto;
    scrollbar-width: thin;
}
main .recruitmentVisa .nav .nav-link {
    border: 1px solid rgba(14, 12, 139, 0.15);
    border-radius: 14px;
    background: #fff;
    color: #0e0c8b;
    padding: 14px 10px;
    text-align: center;
    display: grid;
    gap: 7px;
    font-weight: 700;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    position: relative;
    overflow: hidden;
}
main .recruitmentVisa .nav .nav-link i,
main .recruitmentVisa .nav .nav-link p {
    position: relative;
    z-index: 1;
}
main .recruitmentVisa .nav .nav-link i {
    font-size: 1.1rem;
}
main .recruitmentVisa .nav .nav-link p {
    margin: 0;
    font-size: 0.84rem;
    line-height: 1.7;
}
main .recruitmentVisa .nav .nav-link:hover {
    border-color: rgba(14, 12, 139, 0.32);
    transform: translateY(-1px);
    box-shadow: 0 8px 16px rgba(4, 59, 89, 0.08);
}
main .recruitmentVisa .nav .nav-link.active {
    border-color: transparent;
    color: #ffffff;
    background: #0e0c8b;
    box-shadow: 0 10px 18px rgba(4, 59, 89, 0.16);
}
main .recruitmentVisa .nav .nav-link.active::after {
    content: "";
    position: absolute;
    top: 10px;
    bottom: 10px;
    right: 0;
    width: 3px;
    border-radius: 99px;
    background: rgba(255, 255, 255, 0.9);
}
main .recruitmentVisa .tab-content {
    border-radius: 18px;
    border: 1px solid rgba(14, 12, 139, 0.14);
    background: #fff;
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.45),
        0 8px 20px rgba(4, 59, 89, 0.06);
    min-height: 100%;
}
main .recruitmentVisa .tab-pane {
    display: none;
    gap: 16px;
}
main .recruitmentVisa .tab-pane.active {
    display: grid;
}
main .recruitmentVisa .tab-pane.fade {
    transition: opacity 0.18s ease;
}
main .recruitmentVisa .secondaryTitle {
    margin: 0;
    font-size: clamp(1.02rem, 1.65vw, 1.22rem);
    color: #0e0c8b;
    font-weight: 800;
    line-height: 1.85;
}
main .recruitmentVisa .thirdTitle {
    margin: 0;
    font-size: 0.95rem;
    color: #777777;
    line-height: 1.85;
}
main .recruitmentVisa .thirdTitle a {
    color: #0e0c8b;
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 700;
}
main .recruitmentVisa .thirdTitle a:hover {
    color: #ffab5b;
}
main .recruitmentVisa .step,
main .recruitmentVisa .requirement {
    position: relative;
    border-radius: 16px;
    border: 1px solid rgba(14, 12, 139, 0.14);
    background: #fff;
    padding: 16px 16px 14px;
    box-shadow: 0 8px 16px rgba(4, 59, 89, 0.05);
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
main .recruitmentVisa .step:hover,
main .recruitmentVisa .requirement:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 20px rgba(4, 59, 89, 0.08);
}
main .recruitmentVisa .step .head,
main .recruitmentVisa .requirement .head {
    margin-bottom: 10px;
}
main .recruitmentVisa .step .head h5,
main .recruitmentVisa .requirement .head h5 {
    margin: 0;
    padding: 8px 12px;
    border-radius: 10px;
    background: rgba(14, 12, 139, 0.08);
    color: #0e0c8b;
    font-size: 1rem;
    font-weight: 800;
}
main .recruitmentVisa .step .secondaryTitle,
main .recruitmentVisa .requirement .secondaryTitle {
    margin-top: 8px;
    font-size: 0.94rem;
}
main .recruitmentVisa .step .info,
main .recruitmentVisa .requirement .info {
    margin-top: 8px;
    border-right: 3px solid rgba(255, 171, 91, 0.45);
    padding-right: 10px;
}
main .recruitmentVisa .step .info p,
main .recruitmentVisa .requirement .info p {
    margin: 0;
    color: #777777;
    font-size: 0.9rem;
    line-height: 1.95;
}
main .recruitmentVisa .step ul,
main .recruitmentVisa .requirement ul {
    margin: 10px 0 0;
    padding-right: 18px;
    display: grid;
    gap: 8px;
}
main .recruitmentVisa .step ul li,
main .recruitmentVisa .requirement ul li {
    color: #2b4058;
    font-size: 0.9rem;
    line-height: 1.8;
    padding: 6px 10px;
    border-radius: 9px;
    background: rgba(14, 12, 139, 0.04);
    border: 1px solid rgba(14, 12, 139, 0.09);
}
main .recruitmentVisa .step + .step,
main .recruitmentVisa .step + .requirement,
main .recruitmentVisa .requirement + .step,
main .recruitmentVisa .requirement + .requirement {
    margin-top: 2px;
}
main .recruitmentVisa .requirement {
    border-color: rgba(255, 171, 91, 0.28);
    background: rgba(255, 171, 91, 0.04);
}
main .recruitmentVisa .requirement .secondaryTitle {
    color: #9f5c00;
}
main .recruitmentVisa .requirement ul li {
    border-color: rgba(255, 171, 91, 0.2);
    background: rgba(255, 171, 91, 0.08);
}
@media (max-width: 991px) {
    main .recruitmentVisa .nav {
        grid-template-columns: 1fr 1fr;
    }
    main .recruitmentVisa .nav .nav-link {
        min-height: 92px;
    }
}
@media (max-width: 767px) {
    main .recruitmentVisa {
        padding: 16px 0 56px;
    }
    main .recruitmentVisa .visa-paper {
        border-radius: 16px;
        padding: 12px;
    }
    main .recruitmentVisa .nav {
        display: flex;
        position: static;
        max-height: none;
        overflow-x: auto;
        gap: 8px;
        flex-wrap: nowrap;
        padding-bottom: 2px;
        scrollbar-width: none;
    }
    main .recruitmentVisa .nav::-webkit-scrollbar {
        display: none;
    }
    main .recruitmentVisa .nav .nav-link {
        min-width: 220px;
        flex: 0 0 auto;
        min-height: auto;
    }
    main .recruitmentVisa .tab-content {
        border-radius: 12px;
    }
    main .recruitmentVisa .step,
    main .recruitmentVisa .requirement {
        padding: 12px;
    }
    main .recruitmentVisa .step ul,
    main .recruitmentVisa .requirement ul {
        padding-right: 14px;
    }
    main .recruitmentVisa .step ul li,
    main .recruitmentVisa .requirement ul li {
        font-size: 0.86rem;
        padding: 5px 8px;
    }
}
main .available {
    padding: 28px 0 18px;
    position: relative;
    z-index: 11;
}
main .available h4 {
    text-align: center;
    color: #0e0c8b;
    font-size: clamp(1.2rem, 2.2vw, 1.6rem);
    font-weight: 800;
    margin-bottom: 14px;
}
main .available .row {
    margin-top: 4px;
}
main .available .col {
    min-width: 210px;
    flex: 1 1 25%;
}
main .available .specifications {
    background: #fff;
    border: 1px solid rgba(14, 12, 139, 0.12);
    border-radius: 16px;
    min-height: 132px;
    padding: 18px 14px;
    text-align: center;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 8px;
    box-shadow: 0 8px 18px rgba(4, 59, 89, 0.05);
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
main .available .specifications i {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    color: #0e0c8b;
    background: rgba(14, 12, 139, 0.08);
}
main .available .specifications h5 {
    margin: 0;
    color: #243d57;
    font-size: 1rem;
    font-weight: 700;
}
main .available .specifications:hover {
    transform: translateY(-3px);
    border-color: rgba(14, 12, 139, 0.26);
    box-shadow: 0 14px 22px rgba(4, 59, 89, 0.09);
}
main .selectWorker {
    padding: 18px 0 8px;
}
main .selectWorker .selectWorkerWrapper {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 20px;
    align-items: center;
    border: 1px solid rgba(14, 12, 139, 0.12);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 12px 24px rgba(4, 59, 89, 0.06);
    overflow: hidden;
}
main .selectWorker .selectWorkerImage {
    height: 100%;
}
main .selectWorker .selectWorkerImage img {
    width: 100%;
    height: 100%;
    min-height: 360px;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
}
main .selectWorker .selectWorkerContent {
    padding: 28px 26px;
}
main .selectWorker .selectWorkerContent h3 {
    margin: 0 0 10px;
    color: #0e0c8b;
    font-size: clamp(1.25rem, 2.1vw, 1.75rem);
    font-weight: 800;
}
main .selectWorker .selectWorkerContent p {
    margin: 0 0 10px;
    color: #777777;
    line-height: 1.95;
    font-size: 0.96rem;
}
main .selectWorker .selectWorkerContent .hero-btn svg {
    transform: scaleX(-1);
}
@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(18px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@media (prefers-reduced-motion: reduce) {
    main .policies,
    main .policies *,
    main .guidelines .country-card,
    main .guidelines .country-card *,
    main .info-strip .info-block,
    main .info-strip .info-block *,
    main .recruitmentVisa .nav-link,
    main .recruitmentVisa .nav-link *,
    main .recruitmentVisa .step,
    main .recruitmentVisa .step *,
    main .recruitmentVisa .requirement,
    main .recruitmentVisa .requirement * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
main .faq-section {
    position: relative;
    padding: 5rem 1.5rem;
    background: #ffffff;
    overflow: hidden;
}
main .faq-section::before {
    content: "";
    position: absolute;
    background: url(../images/dots.png) no-repeat;
    background-position: 110%;
    background-position: left;
    pointer-events: none;
    inset: 0;
    background-size: contain;
    opacity: 0.06;
    pointer-events: none;
}
@media (max-width: 768px) {
    main .faq-section::before {
        width: 250px;
        height: 250px;
    }
}
main .faq-section::before .contaibner {
    position: relative;
    z-index: 1;
}
main .faq-section .faq-header {
    text-align: center;
    margin-bottom: 3rem;
}
main .faq-section .faq-header__title {
    font-size: 2rem;
    font-weight: 700;
    color: black;
    margin-bottom: 0.5rem;
}
main .faq-section .faq-header__line {
    width: 60px;
    height: 3px;
    background: #0e0c8b;
    margin: 0.75rem auto 0;
    border-radius: 10px;
}
main .faq-section {
    /* ===== ACCORDION ===== */
}
main .faq-section .accordion {
    max-width: 800px;
    margin: 0 auto;
}
main .faq-section .accordion-item {
    background: #ffffff;
    border: 1px solid rgba(14, 12, 139, 0.14);
    border-radius: 16px;
    margin-bottom: 1rem;
    overflow: hidden;
    transition: all 0.3s ease;
}
main .faq-section .accordion-item:hover {
    border-color: rgba(14, 12, 139, 0.08);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}
main .faq-section .accordion-item.active .accordion-question i {
    transform: rotate(180deg);
}
main .faq-section .accordion-item.active .accordion-answer {
    max-height: 300px;
    padding: 1.2rem 1.5rem;
    border-top: 1px solid rgba(14, 12, 139, 0.2);
}
main .faq-section .accordion-question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.2rem 1.5rem;
    cursor: pointer;
    font-weight: 700;
    font-size: 1rem;
    color: black;
    transition: background 0.2s;
}
main .faq-section .accordion-question:hover {
    background: rgba(14, 12, 139, 0.1);
}
main .faq-section .accordion-question i {
    color: #0e0c8b;
    font-size: 1rem;
    transition: transform 0.3s;
}
main .faq-section .accordion-answer {
    max-height: 0;
    padding: 0 1.5rem;
    overflow: hidden;
    transition:
        max-height 0.4s ease,
        padding 0.3s;
    color: rgba(0, 0, 0, 0.8);
    font-size: 0.9rem;
    line-height: 1.7;
}
main .faq-section {
    /* ===== CTA ===== */
}
main .faq-section .faq-cta {
    text-align: center;
    margin-top: 3rem;
    padding-top: 2rem;
}
main .faq-section .faq-cta p {
    color: #828483;
    margin-bottom: 1rem;
}
main .faq-section {
    /* ===== Responsive ===== */
}
@media (max-width: 768px) {
    main .faq-section {
        padding: 3rem 1rem;
    }
    main .faq-section .accordion-question {
        padding: 1rem;
        font-size: 0.9rem;
    }
    main .faq-section .accordion-item.active .accordion-answer {
        padding: 0 1rem 1rem;
    }
}
main .arriveWorker {
    padding: 0px 0 80px;
    position: relative;
    z-index: 11;
    margin-top: -80px;
}
@media (max-width: 992px) {
    main .arriveWorker {
        margin-top: 0;
    }
}
main .arriveWorker .arriveWorkerWrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}
@media (max-width: 992px) {
    main .arriveWorker .arriveWorkerWrapper {
        grid-template-columns: 1fr;
        text-align: center;
    }
}
main .arriveWorker .arriveWorkerImage img {
    width: 100%;
    border-radius: 20px;
    box-shadow: 0 24px 60px rgba(4, 59, 89, 0.16);
}
main .arriveWorker .arriveWorkerContent h3 {
    color: #0e0c8b;
    font-size: 26px;
    font-weight: bold;
    margin-bottom: 20px;
}
main .arriveWorker .arriveWorkerContent p {
    color: #444;
    line-height: 1.8;
    margin-bottom: 15px;
}
main .arriveWorker .arriveWorkerContent .defaultBtn {
    display: inline-flex;
    align-items: center;
    padding: 12px 24px;
    border-radius: 50px;
    border: 2px solid #0e0c8b;
    color: #ffffff;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
main .arriveWorker .arriveWorkerContent .defaultBtn i {
    margin-right: 8px;
}
main .arriveWorker .arriveWorkerContent .defaultBtn:hover {
    background: #0e0c8b;
    color: #ffffff;
} /*# sourceMappingURL=style.css.map */
main.service-request-page {
    background:
        radial-gradient(
            circle at top right,
            rgba(246, 145, 30, 0.1),
            transparent 26%
        ),
        linear-gradient(180deg, #f5f8fb 0%, #ffffff 30%, #f7fafc 100%);
}
main .service-request-overview,
main .service-request-steps,
main .service-request-form-section {
    padding: 72px 0;
}
main .service-request-overview {
    padding-bottom: 36px;
}
main .service-request-steps {
    padding-top: 36px;
    padding-bottom: 36px;
}
main .service-request-form-section {
    padding-top: 36px;
    padding-bottom: 96px;
}
main .service-request-overview__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.9fr);
    gap: 28px;
    align-items: stretch;
}
main .service-request-intro,
main .service-request-panel,
main .service-request-shell,
main .service-request-step,
main .service-request-note {
    position: relative;
    background: #fff;
    border-radius: 28px;
    border: 1px solid rgba(4, 59, 89, 0.08);
    box-shadow: 0 24px 60px rgba(4, 59, 89, 0.08);
    overflow: hidden;
}
main .service-request-intro::before,
main .service-request-panel::before,
main .service-request-shell::before,
main .service-request-step::before,
main .service-request-note::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, #043b59 0%, #0f6e9f 56%, #f6911e 100%);
}
main .service-request-intro {
    padding: 42px;
}
main .service-request-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    border-radius: 999px;
    background: rgba(246, 145, 30, 0.14);
    color: #043b59;
    font-size: 14px;
    font-weight: 800;
    margin-bottom: 18px;
}
main .service-request-title {
    margin: 0 0 18px;
    color: #043b59;
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.2;
    font-weight: 800;
}
main .service-request-title span {
    color: #f6911e;
}
main .service-request-text {
    margin: 0;
    color: #5f6f7d;
    font-size: 16px;
    line-height: 1.95;
}
main .service-request-highlights {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 32px;
}
main .service-request-highlight {
    padding: 22px 20px;
    border-radius: 22px;
    background: linear-gradient(
        180deg,
        rgba(4, 59, 89, 0.03),
        rgba(4, 59, 89, 0.07)
    );
    border: 1px solid rgba(4, 59, 89, 0.08);
}
main .service-request-highlight .icon {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #043b59;
    color: #fff;
    font-size: 20px;
    margin-bottom: 16px;
}
main .service-request-highlight h3 {
    margin: 0 0 10px;
    color: #043b59;
    font-size: 18px;
    font-weight: 800;
}
main .service-request-highlight p {
    margin: 0;
    color: #647684;
    font-size: 14px;
    line-height: 1.8;
}
main .service-request-panel {
    padding: 34px 28px;
}
main .service-request-panel h3 {
    margin: 0 0 18px;
    color: #043b59;
    font-size: 22px;
    font-weight: 800;
}
main .service-request-panel p {
    color: #607280;
    line-height: 1.9;
}
main .service-request-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
main .service-request-list li {
    position: relative;
    padding-inline-start: 30px;
    margin-bottom: 14px;
    color: #516572;
    line-height: 1.9;
}
main .service-request-list li:last-child {
    margin-bottom: 0;
}
main .service-request-list li::before {
    content: "\f00c";
    font-family: "Font Awesome 6 Pro";
    font-weight: 900;
    position: absolute;
    inset-inline-start: 0;
    top: 2px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #f6911e;
    font-size: 12px;
}
main .service-request-panel__meta {
    margin-top: 26px;
    padding-top: 22px;
    border-top: 1px solid rgba(4, 59, 89, 0.08);
    display: grid;
    gap: 16px;
}
main .service-request-panel__meta strong {
    display: block;
    margin-bottom: 6px;
    color: #043b59;
    font-size: 15px;
}
main .service-request-panel__meta span {
    color: #6f7f8b;
    font-size: 14px;
}
main .service-request-steps__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}
main .service-request-step {
    padding: 30px 24px 26px;
}
main .service-request-step__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 18px;
    border-radius: 16px;
    background: rgba(246, 145, 30, 0.14);
    color: #043b59;
    font-size: 18px;
    font-weight: 800;
}
main .service-request-step h3 {
    margin: 0 0 10px;
    color: #043b59;
    font-size: 18px;
    font-weight: 800;
}
main .service-request-step p {
    margin: 0;
    color: #647684;
    font-size: 14px;
    line-height: 1.85;
}
main .service-request-shell {
    padding: 34px;
}
main .service-request-shell__intro {
    margin-bottom: 28px;
}
main .service-request-shell__intro h2 {
    margin: 0 0 12px;
    color: #043b59;
    font-size: 32px;
    font-weight: 800;
}
main .service-request-shell__intro p {
    margin: 0;
    color: #5f6f7d;
    line-height: 1.95;
}
main .service-request-note {
    margin-bottom: 24px;
    padding: 24px 26px;
    background: linear-gradient(
        180deg,
        rgba(246, 145, 30, 0.08),
        rgba(246, 145, 30, 0.03)
    );
}
main .service-request-note h3 {
    margin: 0 0 10px;
    color: #043b59;
    font-size: 20px;
    font-weight: 800;
}
main .service-request-note p,
main .service-request-note li {
    color: #5d6f7c;
    line-height: 1.85;
}
main .service-request-form {
    display: grid;
    gap: 24px;
}
main .service-request-block {
    padding: 28px;
    border-radius: 24px;
    border: 1px solid rgba(4, 59, 89, 0.08);
    background: #fbfdff;
}
main .service-request-block__head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
}
main .service-request-block__head .icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #043b59;
    color: #fff;
    font-size: 18px;
    flex-shrink: 0;
}
main .service-request-block__head h3 {
    margin: 0;
    color: #043b59;
    font-size: 22px;
    font-weight: 800;
}
main .service-request-grid {
    display: grid;
    gap: 18px;
}
main .service-request-grid.cols-1 {
    grid-template-columns: minmax(0, 1fr);
}
main .service-request-grid.cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
main .service-request-grid.cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
main .service-request-field label,
main .service-request-upload label {
    display: block;
    margin-bottom: 10px;
    color: #043b59;
    font-size: 14px;
    font-weight: 700;
}
main .service-request-field input,
main .service-request-field select,
main .service-request-field textarea {
    width: 100%;
    min-height: 58px;
    padding: 14px 18px;
    border-radius: 16px;
    border: 1px solid rgba(4, 59, 89, 0.12);
    background: #fff;
    color: #17394e;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}
main .service-request-field textarea {
    min-height: 148px;
    resize: vertical;
}
main .service-request-field input:focus,
main .service-request-field select:focus,
main .service-request-field textarea:focus {
    outline: none;
    border-color: rgba(246, 145, 30, 0.9);
    box-shadow: 0 0 0 4px rgba(246, 145, 30, 0.12);
}
main .service-request-phone {
    display: flex;
    align-items: center;
    border-radius: 16px;
    border: 1px solid rgba(4, 59, 89, 0.12);
    background: #fff;
    overflow: hidden;
}
main .service-request-phone span {
    padding: 0 18px;
    color: #043b59;
    font-weight: 700;
    white-space: nowrap;
}
main .service-request-phone input {
    border: 0;
    box-shadow: none;
    border-radius: 0;
}
main .service-request-phone:focus-within {
    border-color: rgba(246, 145, 30, 0.9);
    box-shadow: 0 0 0 4px rgba(246, 145, 30, 0.12);
}
main .service-request-upload {
    display: block;
}
main .service-request-dropzone {
    min-height: 146px;
    border: 2px dashed rgba(4, 59, 89, 0.18);
    border-radius: 20px;
    background: linear-gradient(
        180deg,
        rgba(4, 59, 89, 0.02),
        rgba(4, 59, 89, 0.05)
    );
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 24px 18px;
    text-align: center;
    cursor: pointer;
    transition:
        border-color 0.2s ease,
        transform 0.2s ease,
        background 0.2s ease;
}
main .service-request-dropzone:hover,
main .service-request-dropzone.is-filled {
    border-color: rgba(246, 145, 30, 0.82);
    background: linear-gradient(
        180deg,
        rgba(246, 145, 30, 0.06),
        rgba(246, 145, 30, 0.12)
    );
    transform: translateY(-2px);
}
main .service-request-dropzone i {
    color: #043b59;
    font-size: 26px;
}
main .service-request-dropzone span {
    color: #566b78;
    line-height: 1.8;
}
main .service-request-file-note {
    display: block;
    margin-top: 10px;
    color: #7a8a95;
    font-size: 13px;
}
main .service-request-captcha {
    margin-top: 8px;
}
main .service-request-captcha .g-recaptcha {
    max-width: 100%;
    overflow: auto;
}
main .service-request-form .text-danger {
    display: block;
    margin-top: 10px;
}
main .service-request-submit {
    min-width: 220px;
    min-height: 58px;
    padding: 14px 28px;
    border: 0;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: linear-gradient(135deg, #043b59 0%, #0b5d86 100%);
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    box-shadow: 0 18px 35px rgba(4, 59, 89, 0.22);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        opacity 0.2s ease;
}
main .service-request-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 38px rgba(4, 59, 89, 0.25);
}
main .service-request-submit:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}
main .service-request-submit i {
    font-size: 15px;
}
main .service-request-actions {
    display: flex;
    justify-content: flex-start;
    padding-top: 4px;
}
@media (max-width: 1199.98px) {
    main .service-request-highlights,
    main .service-request-grid.cols-3,
    main .service-request-steps__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 991.98px) {
    main .service-request-overview__grid,
    main .service-request-grid.cols-2,
    main .service-request-grid.cols-3 {
        grid-template-columns: minmax(0, 1fr);
    }
    main .service-request-intro,
    main .service-request-panel,
    main .service-request-shell {
        padding: 28px;
    }
}
@media (max-width: 767.98px) {
    main .service-request-overview,
    main .service-request-steps,
    main .service-request-form-section {
        padding: 48px 0;
    }
    main .service-request-highlights,
    main .service-request-steps__grid {
        grid-template-columns: minmax(0, 1fr);
    }
    main .service-request-title {
        font-size: 2rem;
    }
    main .service-request-block,
    main .service-request-note {
        padding: 22px;
    }
    main .service-request-shell__intro h2 {
        font-size: 26px;
    }
    main .service-request-actions {
        justify-content: stretch;
    }
    main .service-request-submit {
        width: 100%;
    }
} /* ===== Notifications Page (moved from notifications.html) ===== */
@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(16px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(12px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}
@keyframes pulseDot {
    0%,
    100% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.3);
        opacity: 0.7;
    }
}
@keyframes emptyPulse {
    0%,
    100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.04);
    }
}
.profile .notif-panel {
    display: grid;
    gap: 8px;
}
.profile .notif-settings {
    display: grid;
    gap: 8px;
}
.profile .card {
    background: #ffffff;
    border-radius: 24px;
    padding: 22px 24px;
    box-shadow: 0 4px 24px rgba(4, 59, 89, 0.07);
    border: 1px solid rgba(4, 59, 89, 0.09);
    margin-bottom: 20px;
    animation: fadeUp 0.45s ease both;
}
@media screen and (max-width: 768px) {
    .profile .card {
        padding: 12px;
    }
}
.profile .card:nth-child(1) {
    animation-delay: 0.04s;
}
.profile .card:nth-child(2) {
    animation-delay: 0.1s;
}
.profile .card:nth-child(3) {
    animation-delay: 0.16s;
}
.profile .card:nth-child(4) {
    animation-delay: 0.22s;
}
.profile .card:nth-child(5) {
    animation-delay: 0.28s;
}
.profile .card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.profile .card-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 14px 0;
    font-size: clamp(18px, 2.5vw, 20px);
    font-weight: 700;
    color: #043b59;
}
.profile .title-ico {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    font-size: 0.88rem;
    background: linear-gradient(
        135deg,
        rgba(4, 59, 89, 0.08),
        rgba(0, 153, 109, 0.1)
    );
    color: #043b59;
}
.profile .filter-tabs {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.profile .f-tab {
    border: 1.5px solid rgba(4, 59, 89, 0.09);
    background: #ffffff;
    color: #6b7c8d;
    border-radius: 12px;
    padding: 8px 14px;
    font-size: 12px;
    font-weight: 600;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.profile .f-tab .f-count {
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 50px;
    background: #f4f7fa;
    color: #6b7c8d;
    font-size: 0.67rem;
    font-weight: 800;
    display: grid;
    place-items: center;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
.profile .f-tab:hover {
    border-color: #043b59;
    color: #043b59;
}
.profile .f-tab.is-active {
    background: #043b59;
    color: #ffffff;
    border-color: #043b59;
    box-shadow: 0 4px 14px rgba(4, 59, 89, 0.22);
}
.profile .f-tab.is-active .f-count {
    background: rgba(255, 255, 255, 0.22);
    color: #ffffff;
}
.profile .toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
}
.profile .toolbar-left {
    display: flex;
    align-items: center;
    justify-content: end;
    gap: 10px;
    flex-wrap: wrap;
}
.profile .results-count {
    font-size: 0.83rem;
    color: #6b7c8d;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 50px;
    background: #f4f7fa;
    border: 1px solid rgba(4, 59, 89, 0.09);
}
.profile .toolbar-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border-radius: 9px;
    border: 1.5px solid rgba(4, 59, 89, 0.09);
    background: #ffffff;
    color: #6b7c8d;
    font-size: 0.83rem;
    font-weight: 600;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
.profile .toolbar-btn:hover {
    border-color: #043b59;
    color: #043b59;
}
.profile .toolbar-btn.danger:hover {
    border-color: #dc2626;
    color: #dc2626;
    background: #fff5f5;
}
.profile .notif-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.profile .notif-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 18px 16px;
    border-radius: 16px;
    margin-bottom: 6px;
    position: relative;
    border: 1.5px solid rgba(4, 59, 89, 0.09);
    background: #ffffff;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    cursor: pointer;
    animation: slideIn 0.35s ease both;
}
.profile .notif-item:nth-child(1) {
    animation-delay: 0.03s;
}
.profile .notif-item:nth-child(2) {
    animation-delay: 0.07s;
}
.profile .notif-item:nth-child(3) {
    animation-delay: 0.11s;
}
.profile .notif-item:nth-child(4) {
    animation-delay: 0.15s;
}
.profile .notif-item:nth-child(5) {
    animation-delay: 0.19s;
}
.profile .notif-item:nth-child(6) {
    animation-delay: 0.23s;
}
.profile .notif-item:hover {
    border-color: rgba(4, 59, 89, 0.18);
    box-shadow: 0 4px 24px rgba(4, 59, 89, 0.07);
    transform: translateX(-3px);
}
.profile .notif-item.is-unread {
    background: linear-gradient(
        135deg,
        rgba(4, 59, 89, 0.03) 0%,
        rgba(0, 153, 109, 0.025) 100%
    );
    border-color: rgba(4, 59, 89, 0.15);
}
.profile .notif-ico {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    font-size: 1.05rem;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    position: relative;
}
.profile .notif-item:hover .notif-ico {
    transform: scale(1.08);
}
.profile .notif-ico.order {
    background: rgba(4, 59, 89, 0.08);
    color: #043b59;
}
.profile .notif-ico.success {
    background: rgba(0, 153, 109, 0.1);
    color: #00996d;
}
.profile .notif-ico.warning {
    background: rgba(246, 145, 30, 0.11);
    color: #f6911e;
}
.profile .notif-ico.alert {
    background: rgba(220, 38, 38, 0.09);
    color: #dc2626;
}
.profile .notif-ico.info {
    background: rgba(124, 58, 237, 0.09);
    color: #7c3aed;
}
.profile .notif-ico.system {
    background: rgba(107, 124, 141, 0.1);
    color: #6b7c8d;
}
.profile .unread-dot {
    position: absolute;
    top: -3px;
    right: -3px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #f6911e;
    border: 2px solid #ffffff;
    animation: pulseDot 2s ease-in-out infinite;
}
.profile .notif-body {
    flex: 1;
    min-width: 0;
}
.profile .notif-body .notif-head {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 4px;
}
.profile .notif-body .notif-head h6 {
    font-size: 14px;
    font-weight: 700;
    color: #0d2233;
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
}
.profile .notif-item.is-unread .notif-body .notif-head h6 {
    color: #043b59;
}
.profile .notif-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 9px;
    border-radius: 50px;
    font-size: 10px;
    font-weight: 700;
    flex-shrink: 0;
}
.profile .notif-tag.order {
    background: rgba(4, 59, 89, 0.08);
    color: #043b59;
}
.profile .notif-tag.success {
    background: rgba(0, 153, 109, 0.1);
    color: #00996d;
}
.profile .notif-tag.warning {
    background: rgba(246, 145, 30, 0.11);
    color: #f6911e;
}
.profile .notif-tag.alert {
    background: rgba(220, 38, 38, 0.09);
    color: #dc2626;
}
.profile .notif-tag.info {
    background: rgba(124, 58, 237, 0.09);
    color: #7c3aed;
}
.profile .notif-tag.system {
    background: rgba(107, 124, 141, 0.1);
    color: #6b7c8d;
}
.profile .notif-body p {
    font-size: 0.85rem;
    color: #6b7c8d;
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.profile .notif-body .notif-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
    flex-wrap: wrap;
}
.profile .notif-body .notif-meta time {
    font-size: 0.75rem;
    color: #6b7c8d;
    display: flex;
    align-items: center;
    gap: 5px;
}
.profile .notif-link {
    font-size: 0.78rem;
    font-weight: 700;
    color: #043b59;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    border-radius: 6px;
    background: rgba(4, 59, 89, 0.08);
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    flex-shrink: 0;
}
.profile .notif-link:hover {
    background: rgba(4, 59, 89, 0.18);
}
.profile .notif-actions {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex-shrink: 0;
    opacity: 0;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
.profile .notif-item:hover .notif-actions {
    opacity: 1;
}
.profile .na-btn {
    width: 32px;
    height: 32px;
    border-radius: 9px;
    border: 1.5px solid rgba(4, 59, 89, 0.09);
    display: grid;
    place-items: center;
    font-size: 0.82rem;
    color: #6b7c8d;
    background: #ffffff;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
.profile .na-btn:hover {
    border-color: #043b59;
    color: #043b59;
}
.profile .na-btn.del:hover {
    border-color: #dc2626;
    color: #dc2626;
    background: #fff5f5;
}
.profile .date-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 18px 0 10px;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}
.profile .date-divider span {
    font-size: 10px;
    font-weight: 700;
    color: #6b7c8d;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
    padding: 3px 12px;
    border-radius: 50px;
    background: #f4f7fa;
    border: 1px solid rgba(4, 59, 89, 0.09);
}
.profile .date-divider::before,
.profile .date-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: rgba(4, 59, 89, 0.09);
}
.profile .notif-empty {
    text-align: center;
    padding: 60px 20px;
}
.profile .notif-empty .e-art {
    width: 88px;
    height: 88px;
    border-radius: 22px;
    margin: 0 auto 20px;
    display: grid;
    place-items: center;
    background: linear-gradient(
        135deg,
        rgba(4, 59, 89, 0.08),
        rgba(0, 153, 109, 0.1)
    );
    border: 2px dashed rgba(4, 59, 89, 0.14);
    font-size: 2.1rem;
    color: #043b59;
    animation: emptyPulse 3s ease-in-out infinite;
}
.profile .notif-empty h5 {
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: 8px;
}
.profile .notif-empty p {
    font-size: 0.88rem;
    color: #6b7c8d;
    max-width: 300px;
    margin: 0 auto;
    line-height: 1.65;
}
.profile .settings-grid {
    display: grid;
    gap: 10px;
}
.profile .setting-row {
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    border: 1px solid #d9e1ed;
    border-radius: 12px;
    background: #f7fafc;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.profile .setting-left {
    display: flex;
    align-items: center;
    gap: 14px;
}
.profile .setting-ico {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    font-size: 0.92rem;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
.profile .setting-ico.blue {
    background: rgba(4, 59, 89, 0.08);
    color: #043b59;
}
.profile .setting-ico.green {
    background: rgba(0, 153, 109, 0.1);
    color: #00996d;
}
.profile .setting-ico.orange {
    background: rgba(246, 145, 30, 0.11);
    color: #f6911e;
}
.profile .setting-ico.purple {
    background: rgba(124, 58, 237, 0.09);
    color: #7c3aed;
}
.profile .setting-text h6 {
    margin: 0 0 3px;
    font-size: 14px;
    font-weight: 800;
    color: #17202f;
}
.profile .setting-text p {
    font-size: 0.77rem;
    color: #6b7c8d;
    margin-bottom: 0;
}
.profile .toggle {
    width: 46px;
    height: 25px;
    border-radius: 99px;
    flex-shrink: 0;
    background: rgba(4, 59, 89, 0.09);
    position: relative;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    border: none;
}
.profile .toggle.on {
    background: linear-gradient(135deg, #043b59, #00996d);
}
.profile .toggle::after {
    content: "";
    position: absolute;
    top: 3px;
    right: 3px;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
.profile .toggle.on::after {
    right: calc(100% - 22px);
}
.profile .notif-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid rgba(4, 59, 89, 0.09);
}
.profile .pg-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 18px;
    border-radius: 10px;
    border: 1.5px solid rgba(4, 59, 89, 0.09);
    background: #ffffff;
    color: #0d2233;
    font-size: 0.88rem;
    font-weight: 600;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
.profile .pg-btn:hover:not(:disabled) {
    border-color: #043b59;
    color: #043b59;
}
.profile .pg-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}
.profile .pg-info {
    padding: 8px 18px;
    border-radius: 10px;
    background: rgba(4, 59, 89, 0.08);
    color: #043b59;
    font-size: 0.88rem;
    font-weight: 700;
    border: 1px solid rgba(4, 59, 89, 0.18);
}
.profile .complaints-overview__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
    .profile .complaints-overview__head {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
}
.profile .complaints-overview__head h4 {
    margin: 0 0 4px 0;
    font-size: clamp(18px, 2.5vw, 22px);
    font-weight: 700;
    color: #043b59;
}
.profile .complaints-overview__head p {
    margin: 0;
    font-size: 13px;
    color: #6b7c8d;
}
.profile .complaints-overview .hero-btn {
    font-size: 14px;
}
.profile .complaints-overview .hero-btn i {
    font-size: 16px;
}
@media screen and (max-width: 576px) {
    .profile .complaints-overview .hero-btn {
        padding: 10px 16px;
        font-size: 13px;
    }
    .profile .complaints-overview .hero-btn i {
        font-size: 14px;
    }
    .profile .complaints-overview .hero-btn span {
        display: none;
    }
}
.profile .complaints-overview .complaints-stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 16px;
}
@media screen and (max-width: 768px) {
    .profile .complaints-overview .complaints-stat-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (max-width: 576px) {
    .profile .complaints-overview .complaints-stat-grid {
        grid-template-columns: 1fr;
    }
}
.profile .complaints-overview .complaints-stat {
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    border: 1px solid rgba(4, 59, 89, 0.09);
    border-radius: 12px;
    padding: 12px;
    background: #f9fbff;
}
.profile .complaints-overview .complaints-stat small {
    display: block;
    font-size: 12px;
    font-weight: 500;
    color: #6b7c8d;
    text-transform: capitalize;
}
.profile .complaints-overview .complaints-stat strong {
    display: block;
    font-size: 28px;
    font-weight: 700;
    color: #043b59;
}
.profile .complaints-overview .complaints-stat:hover {
    box-shadow: 0 4px 12px rgba(4, 59, 89, 0.1);
}
.profile .complaints-table-section {
    margin-top: 24px;
    background: #ffffff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(4, 59, 89, 0.07);
    border: 1px solid rgba(4, 59, 89, 0.09);
}
.profile .complaints-table-section .table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 992px) {
    .profile .complaints-table-section .table-responsive {
        border-radius: 16px;
    }
}
.profile .complaints-table-section .complaints-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 14px;
}
.profile .complaints-table-section .complaints-table thead {
    background: linear-gradient(90deg, #f8f9fb 0%, #f4f7fa 100%);
}
.profile .complaints-table-section .complaints-table thead tr {
    border-bottom: 2px solid #f0f4f8;
}
.profile .complaints-table-section .complaints-table thead th {
    padding: 16px;
    text-align: right;
    font-weight: 700;
    color: #043b59;
    font-size: 13px;
    white-space: nowrap;
}
.profile .complaints-table-section .complaints-table tbody tr {
    border-bottom: 1px solid #f0f4f8;
    transition: all 0.3s ease;
}
.profile .complaints-table-section .complaints-table tbody tr:hover {
    background: rgba(0, 153, 109, 0.03);
}
.profile .complaints-table-section .complaints-table tbody tr:last-child {
    border-bottom: none;
}
.profile .complaints-table-section .complaints-table tbody td {
    padding: 16px;
    color: #333;
    vertical-align: middle;
}
.profile .complaints-table-section .complaint-type-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}
.profile .complaints-table-section .complaint-type-badge.type-service {
    background: rgba(246, 145, 30, 0.15);
    color: #f6911e;
}
.profile .complaints-table-section .complaint-type-badge.type-worker {
    background: rgba(0, 153, 109, 0.15);
    color: #00996d;
}
.profile .complaints-table-section .complaint-type-badge.type-process {
    background: rgba(4, 59, 89, 0.15);
    color: #043b59;
}
.profile .complaints-table-section .complaint-type-badge.type-payment {
    background: rgba(124, 58, 237, 0.15);
    color: #7c3aed;
}
.profile .complaints-table-section .complaint-type-badge.type-documentation {
    background: rgba(6, 182, 212, 0.15);
    color: #06b6d4;
}
.profile .complaints-table-section .complaint-type-badge.type-other {
    background: rgba(107, 124, 141, 0.15);
    color: #6b7c8d;
}
.profile .complaints-table-section .status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}
.profile .complaints-table-section .status-badge.pending {
    background: rgba(246, 145, 30, 0.2);
    color: #d97706;
}
.profile .complaints-table-section .status-badge.in-review {
    background: rgba(59, 130, 246, 0.15);
    color: #3b82f6;
}
.profile .complaints-table-section .status-badge.resolved {
    background: rgba(0, 153, 109, 0.2);
    color: #00996d;
}
.profile .complaints-table-section .status-badge.rejected {
    background: rgba(220, 38, 38, 0.2);
    color: #dc2626;
}
.profile .complaints-table-section .details-truncate {
    display: block;
    color: #6b7c8d;
    max-width: 240px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media screen and (max-width: 768px) {
    .profile .complaints-table-section .details-truncate {
        max-width: 100%;
        white-space: normal;
        line-height: 1.7;
    }
}
.profile .complaints-table-section .view-reply-btn {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    border: 1px solid #edf1f5;
    background: #fff;
    color: #043b59;
    cursor: pointer;
    transition: 0.25s ease;
    font-size: 14px;
}
.profile .complaints-table-section .view-reply-btn:hover {
    border-color: #043b59;
    background: rgba(4, 59, 89, 0.05);
}
@media screen and (max-width: 768px) {
    .profile .complaints-table-section .complaints-table thead {
        display: none;
    }
    .profile .complaints-table-section .complaints-table tbody {
        display: block;
        width: 100%;
    }
    .profile .complaints-table-section .complaints-table tr {
        display: block;
        background: #fff;
        border: 1px solid #eef2f6;
        border-radius: 16px;
        padding: 14px;
        margin-bottom: 16px;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
    }
    .profile .complaints-table-section .complaints-table td {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 12px;
        padding: 10px 0;
        border: none;
        font-size: 13px;
        text-align: left;
    }
    .profile .complaints-table-section .complaints-table td::before {
        content: attr(data-label);
        font-weight: 700;
        color: #043b59;
        font-size: 12px;
        flex-shrink: 0;
        min-width: 85px;
        text-align: right;
    }
    .profile .complaints-table-section .complaints-table td > * {
        text-align: left;
    }
    .profile .complaints-table-section .complaints-table td:not(:last-child) {
        border-bottom: 1px dashed #f1f1f1;
    }
    .profile
        .complaints-table-section
        .complaints-table
        td:nth-child(3)::before {
        margin-bottom: 4px;
    }
    .profile
        .complaints-table-section
        .complaints-table
        td:nth-child(3)
        .details-truncate {
        width: 100%;
    }
    .profile .complaints-table-section .complaints-table td:nth-child(5) {
        align-items: center;
    }
    .profile .complaints-table-section .complaints-table td:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }
}
.complaints-modal {
    position: fixed;
    inset: 0;
    z-index: 1500;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}
.complaints-modal.active {
    opacity: 1;
    pointer-events: auto;
}
.complaints-modal .modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(5, 21, 46, 0.6);
    backdrop-filter: blur(3px);
    z-index: 0;
}
.complaints-modal .modal-panel {
    position: relative;
    width: min(520px, 100vw - 28px);
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(7, 19, 40, 0.4);
    display: grid;
    gap: 0;
    max-height: 90vh;
    overflow-y: auto;
    animation: slideUp 0.3s ease;
}
@media screen and (max-width: 576px) {
    .complaints-modal .modal-panel {
        width: calc(100vw - 20px);
        border-radius: 16px;
    }
}
.complaints-modal .modal-header {
    padding: 24px;
    border-bottom: 1px solid #f4f7fa;
    position: relative;
    display: flex;
    gap: 16px;
}
.complaints-modal .modal-header .modal-close {
    position: absolute;
    top: 16px;
    left: 16px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #f4f7fa;
    background: #ffffff;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    color: #043b59;
    font-size: 16px;
}
.complaints-modal .modal-header .modal-close:hover {
    border-color: #043b59;
    background: rgba(4, 59, 89, 0.05);
}
.complaints-modal .modal-header h3 {
    margin: 0 0 4px 0;
    font-size: 18px;
    font-weight: 700;
    color: #043b59;
}
.complaints-modal .modal-header p {
    margin: 0;
    font-size: 13px;
    color: #6b7c8d;
}
.complaints-modal .modal-form {
    padding: 24px;
    display: grid;
    gap: 16px;
}
.complaints-modal .modal-form .form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.complaints-modal .modal-form .form-group label {
    font-size: 14px;
    font-weight: 600;
    color: #043b59;
}
.complaints-modal .modal-form .form-group input,
.complaints-modal .modal-form .form-group select,
.complaints-modal .modal-form .form-group textarea {
    padding: 10px 14px;
    border: 1px solid #d1d9e9;
    border-radius: 10px;
    font-size: 14px;
    font-family: inherit;
    color: #333;
    background: #ffffff;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
.complaints-modal .modal-form .form-group input:focus,
.complaints-modal .modal-form .form-group select:focus,
.complaints-modal .modal-form .form-group textarea:focus {
    outline: none;
    border-color: #00996d;
    box-shadow: 0 0 0 3px rgba(0, 153, 109, 0.1);
}
.complaints-modal .modal-form .form-group input::-moz-placeholder,
.complaints-modal .modal-form .form-group select::-moz-placeholder,
.complaints-modal .modal-form .form-group textarea::-moz-placeholder {
    color: #6b7c8d;
}
.complaints-modal .modal-form .form-group input::placeholder,
.complaints-modal .modal-form .form-group select::placeholder,
.complaints-modal .modal-form .form-group textarea::placeholder {
    color: #6b7c8d;
}
.complaints-modal .modal-form .form-group textarea {
    resize: vertical;
    min-height: 100px;
}
.complaints-modal .modal-form .form-group select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23043b59' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: left 10px center;
    background-size: 20px;
    padding-right: 14px;
    padding-left: 34px;
}
.complaints-modal .modal-form .file-upload-group .file-upload-box {
    position: relative;
    padding: 20px;
    border: 2px dashed #d1d9e9;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    cursor: pointer;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    text-align: center;
}
.complaints-modal .modal-form .file-upload-group .file-upload-box input {
    display: none;
}
.complaints-modal .modal-form .file-upload-group .file-upload-box i {
    font-size: 28px;
    color: #f6911e;
}
.complaints-modal
    .modal-form
    .file-upload-group
    .file-upload-box
    .file-upload-text {
    font-size: 13px;
    font-weight: 600;
    color: #043b59;
}
.complaints-modal
    .modal-form
    .file-upload-group
    .file-upload-box
    .file-upload-hint {
    font-size: 12px;
    color: #6b7c8d;
    margin-top: 4px;
    display: block;
}
.complaints-modal .modal-form .file-upload-group .file-upload-box:hover {
    border-color: #f6911e;
    background: rgba(246, 145, 30, 0.03);
}
.complaints-modal .modal-form .file-upload-group .file-upload-box.has-file {
    border-color: #00996d;
    background: rgba(0, 153, 109, 0.03);
}
.complaints-modal .modal-form .file-upload-group .file-upload-box.has-file i {
    color: #00996d;
}
.complaints-modal
    .modal-form
    .file-upload-group
    .file-upload-box.has-file
    .file-upload-text {
    color: #00996d;
}
.complaints-modal .modal-form .form-actions {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #f4f7fa;
}
.complaints-modal .modal-form .form-actions .hero-btn {
    font-size: 14px;
}
.complaints-modal .modal-form .form-actions .form-btn {
    padding: 10px 20px;
    border: none;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    white-space: nowrap;
}
.complaints-modal .modal-form .form-actions .form-btn.secondary {
    background: #f4f7fa;
    color: #043b59;
    border: 1px solid #d1d9e9;
}
.complaints-modal .modal-form .form-actions .form-btn.secondary:hover {
    background: #eff1f5;
    border-color: #043b59;
}
@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.details-modal,
.reply-modal {
    position: fixed;
    inset: 0;
    z-index: 1500;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}
.details-modal.active,
.reply-modal.active {
    opacity: 1;
    pointer-events: auto;
}
.details-modal .modal-backdrop,
.reply-modal .modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(5, 21, 46, 0.6);
    backdrop-filter: blur(3px);
    z-index: 0;
}
.details-modal .modal-panel,
.reply-modal .modal-panel {
    position: relative;
    width: min(520px, 100vw - 28px);
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(7, 19, 40, 0.4);
    display: grid;
    gap: 0;
    max-height: 90vh;
    overflow-y: auto;
    animation: slideUp 0.3s ease;
}
@media screen and (max-width: 576px) {
    .details-modal .modal-panel,
    .reply-modal .modal-panel {
        width: calc(100vw - 20px);
        border-radius: 16px;
    }
}
.details-modal .modal-header,
.reply-modal .modal-header {
    padding: 24px;
    border-bottom: 1px solid #f4f7fa;
    position: relative;
    display: flex;
    gap: 16px;
}
.details-modal .modal-header .modal-close,
.reply-modal .modal-header .modal-close {
    position: absolute;
    top: 16px;
    left: 16px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #f4f7fa;
    background: #ffffff;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    color: #043b59;
    font-size: 16px;
}
.details-modal .modal-header .modal-close:hover,
.reply-modal .modal-header .modal-close:hover {
    border-color: #043b59;
    background: rgba(4, 59, 89, 0.05);
}
.details-modal .modal-header h3,
.reply-modal .modal-header h3 {
    margin: 0 0 4px 0;
    font-size: 18px;
    font-weight: 700;
    color: #043b59;
}
.details-modal .modal-header p,
.reply-modal .modal-header p {
    margin: 0;
    font-size: 13px;
    color: #6b7c8d;
}
.details-modal .modal-body,
.reply-modal .modal-body {
    padding: 24px;
    color: #333;
    line-height: 1.8;
    font-size: 14px;
}
.details-modal .modal-body p,
.reply-modal .modal-body p {
    margin: 0;
    text-align: right;
    word-wrap: break-word;
    white-space: pre-wrap;
}
.details-modal .modal-footer,
.reply-modal .modal-footer {
    padding: 16px 24px;
    border-top: 1px solid #f4f7fa;
    display: flex;
    gap: 12px;
    justify-content: flex-end;
}
.details-modal .modal-footer .form-btn,
.reply-modal .modal-footer .form-btn {
    padding: 10px 20px;
    border: none;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    white-space: nowrap;
}
.details-modal .modal-footer .form-btn.secondary,
.reply-modal .modal-footer .form-btn.secondary {
    background: #f4f7fa;
    color: #043b59;
    border: 1px solid #d1d9e9;
}
.details-modal .modal-footer .form-btn.secondary:hover,
.reply-modal .modal-footer .form-btn.secondary:hover {
    background: #eff1f5;
    border-color: #043b59;
}
.toast {
    position: fixed;
    bottom: 32px;
    left: 50%;
    transform: translateX(-50%) translateY(80px);
    background: #043b59;
    color: #ffffff;
    padding: 13px 26px;
    border-radius: 50px;
    box-shadow: 0 12px 40px rgba(4, 59, 89, 0.3);
    font-size: 0.9rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
    z-index: 9999;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    pointer-events: none;
}
.toast.show {
    transform: translateX(-50%) translateY(0);
}
.toast i {
    color: #4fffca;
}
.footer-grid {
    display: grid;
    grid-template-columns: 1.4fr repeat(3, 1fr);
    gap: 32px;
    padding-bottom: 30px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.footer-brand img {
    height: 60px;
    margin-bottom: 14px;
    filter: brightness(0) invert(1);
}
.footer-brand p {
    color: rgba(255, 255, 255, 0.55);
    line-height: 1.7;
    font-size: 0.88rem;
}
.footer-col h4 {
    color: #043b59;
    font-size: 0.95rem;
    margin-bottom: 14px;
    font-weight: 700;
}
.footer-col ul {
    display: grid;
    gap: 8px;
}
.footer-col ul a {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.88rem;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
.footer-col ul a:hover {
    color: #043b59;
}
.footer-col ul li {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.88rem;
}
.footer-bottom {
    margin-top: 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 0.88rem;
}
.footer-social {
    display: flex;
    gap: 10px;
}
.footer-social a {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
.footer-social a:hover {
    background: #043b59;
}
.wa-float {
    position: fixed;
    bottom: 28px;
    left: 28px;
    z-index: 1200;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #25d366;
    color: #ffffff;
    display: grid;
    place-items: center;
    font-size: 1.5rem;
    box-shadow: 0 8px 24px rgba(37, 211, 102, 0.4);
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
.wa-float:hover {
    transform: scale(1.1);
}
@media (max-width: 768px) {
    .profile .notif-actions {
        opacity: 1;
    }
    .profile .toolbar {
        flex-direction: column;
        align-items: flex-start;
    }
}
.notif-content {
    display: flex;
    flex-direction: column;
    gap: 18px;
    min-width: 0;
}
@media (max-width: 992px) {
    .profile .card-head {
        flex-wrap: wrap;
        gap: 12px;
    }
    .profile .card-head .card-title {
        margin-bottom: 0;
    }
    .profile .card-head .toolbar-left {
        width: 100%;
        justify-content: flex-start;
    }
}
@media (max-width: 768px) {
    .profile .filter-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 6px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .profile .filter-tabs::-webkit-scrollbar {
        display: none;
    }
    .profile .notif-item {
        gap: 12px;
        padding: 14px 12px;
    }
    .profile .notif-item .notif-actions {
        opacity: 1;
        flex-direction: row;
        gap: 6px;
    }
    .profile .notif-body .notif-head {
        flex-wrap: wrap;
        gap: 4px;
    }
    .profile .notif-body .notif-head h6 {
        font-size: 13px;
        flex: 1 1 100%;
    }
    .profile .notif-body p {
        font-size: 0.82rem;
    }
    .profile .notif-body .notif-meta {
        flex-wrap: wrap;
        gap: 8px;
    }
    .profile .notif-ico {
        width: 40px;
        height: 40px;
        font-size: 0.95rem;
        border-radius: 12px;
    }
    .profile .toolbar-left {
        width: 100%;
        flex-wrap: wrap;
        gap: 8px;
    }
    .profile .toolbar-left .toolbar-btn {
        flex: 1 1 auto;
        justify-content: center;
        font-size: 0.8rem;
        padding: 7px 10px;
    }
    .profile .setting-row {
        gap: 10px;
        padding: 10px 12px;
    }
    .profile .setting-left {
        gap: 10px;
        flex: 1;
        min-width: 0;
    }
    .profile .setting-text {
        min-width: 0;
    }
    .profile .setting-text h6 {
        font-size: 13px;
        white-space: normal;
    }
    .profile .setting-text p {
        font-size: 0.72rem;
        white-space: normal;
    }
    .profile .setting-ico {
        width: 36px;
        height: 36px;
        border-radius: 10px;
        font-size: 0.85rem;
        flex-shrink: 0;
    }
}
@media (max-width: 576px) {
    .profile .card {
        padding: 14px 12px;
    }
    .profile .card-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    .profile .card-head .toolbar-left {
        width: 100%;
        gap: 8px;
    }
    .profile .card-head .toolbar-left .toolbar-btn {
        flex: 1 1 auto;
        justify-content: center;
        font-size: 0.78rem;
        padding: 8px 10px;
    }
    .profile .card-title {
        font-size: 16px;
        margin-bottom: 10px;
    }
    .profile .notif-item {
        gap: 10px;
        padding: 12px 10px;
        flex-wrap: nowrap;
    }
    .profile .notif-item .notif-actions {
        flex-direction: column;
        gap: 5px;
    }
    .profile .notif-item .notif-actions .na-btn {
        width: 28px;
        height: 28px;
        font-size: 0.75rem;
    }
    .profile .notif-ico {
        width: 36px;
        height: 36px;
        border-radius: 10px;
        font-size: 0.9rem;
    }
    .profile .notif-body .notif-head h6 {
        font-size: 13px;
        line-height: 1.4;
        white-space: normal;
        flex: 1 1 100%;
    }
    .profile .notif-body .notif-head .notif-tag {
        font-size: 9px;
        padding: 2px 7px;
    }
    .profile .notif-body p {
        font-size: 0.8rem;
        -webkit-line-clamp: 3;
        line-clamp: 3;
    }
    .profile .notif-body .notif-meta {
        gap: 6px;
    }
    .profile .notif-body .notif-meta time {
        font-size: 0.72rem;
    }
    .profile .notif-body .notif-meta .notif-link {
        font-size: 0.72rem;
        padding: 2px 8px;
    }
    .profile .date-divider {
        margin: 12px 0 8px;
    }
    .profile .setting-row {
        flex-wrap: nowrap;
        align-items: center;
        gap: 8px;
        padding: 10px;
    }
    .profile .setting-left {
        gap: 8px;
    }
    .profile .setting-ico {
        width: 32px;
        height: 32px;
        border-radius: 8px;
    }
    .profile .setting-text h6 {
        font-size: 12px;
        margin-bottom: 2px;
    }
    .profile .setting-text p {
        font-size: 0.68rem;
        line-height: 1.4;
    }
    .profile .toggle {
        flex-shrink: 0;
    }
    .profile .filter-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 6px;
    }
    .profile .f-tab {
        white-space: nowrap;
        flex-shrink: 0;
        font-size: 0.75rem;
        padding: 6px 10px;
    }
}
@media (max-width: 576px) {
    .footer-grid {
        grid-template-columns: 1fr;
    }
    .footer-bottom {
        flex-direction: column;
        text-align: center;
    }
    .profile .filter-tabs {
        gap: 4px;
    }
    .profile .f-tab {
        font-size: 0.78rem;
        padding: 6px 12px;
    }
}
@keyframes modalScaleIn {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}
.renew-success-modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    display: none;
    z-index: 1400;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.renew-success-modal.active {
    display: flex;
}
.renew-modal-content {
    background: #ffffff;
    border-radius: 16px;
    padding: 28px;
    max-width: 620px;
    width: 100%;
    position: relative;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    animation: modalScaleIn 0.3s ease-out;
}
@media screen and (max-width: 576px) {
    .renew-modal-content {
        padding: 20px;
        border-radius: 12px;
    }
}
.renew-modal-close {
    position: absolute;
    left: 18px;
    top: 18px;
    border: none;
    background: #ffffff;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    font-size: 24px;
    color: #043b59;
    cursor: pointer;
    box-shadow: 0 6px 20px rgba(4, 59, 89, 0.06);
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    display: grid;
    place-items: center;
}
.renew-modal-close:hover {
    background: rgba(4, 59, 89, 0.08);
    transform: scale(1.05);
}
.renew-modal-body {
    text-align: center;
    padding: 36px 12px;
}
@media screen and (max-width: 576px) {
    .renew-modal-body {
        padding: 24px 0;
    }
}
.renew-success-icon-box {
    width: 92px;
    height: 92px;
    border-radius: 50%;
    background: linear-gradient(180deg, #e6f8ed, #e6f8ed);
    display: grid;
    place-items: center;
    margin: 0 auto 16px;
}
.renew-success-icon {
    color: #0f7b49;
    font-size: 36px;
}
.renew-modal-title {
    margin: 0 0 6px;
    color: #043b59;
    font-weight: 800;
    font-size: 18px;
}
@media screen and (max-width: 576px) {
    .renew-modal-title {
        font-size: 16px;
    }
}
.renew-modal-message {
    color: #7a8497;
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 1.6;
}
.renew-modal-btn {
    display: inline-block;
    background: linear-gradient(130deg, #043b59, #00996d);
    color: #ffffff;
    padding: 12px 28px;
    border-radius: 12px;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    border: none;
    font-size: 14px;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
.renew-modal-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(4, 59, 89, 0.25);
}
.contract-info-box {
    background: #f3f7fb;
    padding: 10px;
    border-radius: 10px;
    border: 1px solid rgba(4, 59, 89, 0.06);
}
.contract-account-label {
    color: #7a8497;
    display: block;
    margin-bottom: 6px;
    font-weight: 700;
    font-size: 12px;
}
.contract-account-name {
    font-weight: 800;
    color: #043b59;
    margin-bottom: 4px;
}
.contract-details-wrapper {
    flex: 1;
    min-width: 220px;
}
.contract-details-flex {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}
.contract-detail-tag {
    background: #ffffff;
    border-radius: 999px;
    padding: 6px 12px;
    border: 1px solid #e6eef6;
    font-weight: 800;
    font-size: 13px;
    display: inline-block;
}
.contract-info-description {
    color: #7a8497;
    margin-bottom: 12px;
    font-size: 14px;
    line-height: 1.6;
}
.attachments-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
@media screen and (max-width: 768px) {
    .attachments-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (max-width: 576px) {
    .attachments-grid {
        grid-template-columns: 1fr;
    }
}
.attachment-upload-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 16px;
    border: 2px dashed rgba(4, 59, 89, 0.2);
    border-radius: 10px;
    background: rgba(4, 59, 89, 0.02);
    text-align: center;
    min-height: 100px;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    position: relative;
}
.attachment-upload-box:hover {
    border-color: rgba(4, 59, 89, 0.35);
    background: rgba(4, 59, 89, 0.05);
}
.attachment-upload-box input {
    display: none;
}
.attachment-icon {
    color: #043b59;
    font-size: 24px;
    margin-bottom: 8px;
}
.attachment-label {
    color: #043b59;
    font-weight: 600;
    font-size: 13px;
}
.renewal-actions-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
@media screen and (max-width: 576px) {
    .renewal-actions-grid {
        grid-template-columns: 1fr;
    }
}
.renewal-submit-btn {
    background: linear-gradient(130deg, #043b59, #00996d);
    color: #ffffff;
    border-radius: 12px;
    min-height: 48px;
    padding: 10px 22px;
    font-size: 14px;
    font-weight: 800;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    cursor: pointer;
    border: none;
}
.renewal-submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(4, 59, 89, 0.25);
}
.renewal-submit-btn:active {
    transform: translateY(0);
}
.renewal-cancel-btn {
    border: 1px solid #d7dde8;
    background: #ffffff;
    color: #043b59;
    border-radius: 12px;
    min-height: 48px;
    padding: 10px 22px;
    font-size: 14px;
    font-weight: 800;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    cursor: pointer;
}
.renewal-cancel-btn:hover {
    background: #f7fafc;
    border-color: #043b59;
}
.renewal-cancel-btn:active {
    background: #eff1f5;
}
.renewal-terms-section {
    background: #f7fafc;
}
.renewal-terms-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}
.renewal-terms-label input {
    width: 16px;
    height: 16px;
    margin-top: 4px;
    accent-color: #043b59;
    cursor: pointer;
    flex-shrink: 0;
}
.renewal-terms-text {
    color: #49526a;
    font-size: 13px;
    line-height: 1.6;
}
.renewal-terms-text a {
    color: #043b59;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
.renewal-terms-text a:hover {
    text-decoration: underline;
    color: #00996d;
}
.renewal-info-container {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-top: 12px;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
    .renewal-info-container {
        flex-direction: column;
        align-items: flex-start;
    }
}
main {
    /* ===== Modal ===== */
}
main .orders-modal__panel {
    width: min(680px, 100vw - 28px) !important;
    max-height: 88vh;
    overflow-y: auto;
    padding: 0 !important;
    gap: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}
main .orders-modal__header {
    padding: 18px 20px;
    border-bottom: 1px solid #edf0f6;
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 2;
    border-radius: 16px 16px 0 0;
}
main .orders-modal__header h4 {
    font-size: 16px !important;
}
main .orders-modal__body {
    padding: 20px;
    display: grid;
    gap: 20px;
}
main .orders-modal__timeline {
    padding: 0;
}
main {
    /* ===== Candidate Header ===== */
}
main .modal-candidate-header {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #f7f9fc;
    border: 1px solid #e8edf5;
    border-radius: 14px;
    padding: 16px;
}
main .modal-candidate-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: linear-gradient(
        135deg,
        rgba(4, 59, 89, 0.2),
        rgba(130, 132, 131, 0.15)
    );
    border: 2px solid rgba(255, 255, 255, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
    font-weight: 800;
    color: #043b59;
}
main .modal-candidate-name {
    font-size: 18px;
    font-weight: 800;
    margin: 0 0 4px;
}
main .modal-candidate-sub {
    font-size: 13px;
    opacity: 0.8;
    margin: 0;
}
main {
    /* ===== Status Badge ===== */
}
main .modal-status-badge {
    margin-right: auto;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    background: #e8edf5;
    border: 1px solid rgba(0, 0, 0, 0.06);
    color: #334155;
}
main .modal-status-badge.is-new {
    color: #334155;
    background: #e8edf5;
    border-color: rgba(51, 65, 85, 0.15);
}
main .modal-status-badge.is-progress {
    color: #8a5a00;
    background: #fff6dd;
    border-color: rgba(138, 90, 0, 0.15);
}
main .modal-status-badge.is-ready {
    color: #065f46;
    background: #dcfce7;
    border-color: rgba(6, 95, 70, 0.15);
}
main .modal-status-badge.is-completed {
    color: #065f46;
    background: #dcfce7;
    border-color: rgba(6, 95, 70, 0.15);
}
main .modal-status-badge.is-cancelled {
    color: #b42318;
    background: #fee4e2;
    border-color: rgba(180, 35, 24, 0.15);
}
main {
    /* ===== Layout ===== */
}
main .modal-two-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
@media (max-width: 520px) {
    main .modal-two-cols {
        grid-template-columns: 1fr;
    }
}
main {
    /* ===== Section Card ===== */
}
main .modal-section-card {
    background: #f7f9fc;
    border: 1px solid #e8edf5;
    border-radius: 14px;
    padding: 16px;
}
main .modal-section-title {
    font-size: 12px;
    font-weight: 700;
    color: #8a96aa;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0 0 12px;
    display: flex;
    align-items: center;
    gap: 6px;
}
main .modal-section-title i {
    color: #043b59;
    font-size: 13px;
}
main {
    /* ===== Info Grid ===== */
}
main .modal-info-grid {
    display: grid;
    gap: 10px;
}
main .modal-info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
}
main .modal-info-row .label {
    color: #8a96aa;
}
main .modal-info-row .value {
    font-weight: 700;
    color: #1f2a40;
}
main {
    /* ===== Financial ===== */
}
main .modal-financial-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
main .modal-financial-item {
    background: #fff;
    border: 1px solid #e8edf5;
    border-radius: 10px;
    padding: 12px;
}
main .modal-financial-item small {
    display: block;
    font-size: 11px;
    color: #8a96aa;
    margin-bottom: 4px;
}
main .modal-financial-item strong {
    font-size: 15px;
    font-weight: 800;
    color: #043b59;
}
main .modal-financial-total {
    grid-column: 1/-1;
    background: rgba(130, 132, 131, 0.1);
    border: none;
    border-radius: 10px;
    padding: 8px 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
main .modal-financial-total small {
    color: #8a96aa;
    font-size: 12px;
    display: block;
    margin-bottom: 2px;
}
main .modal-financial-total strong {
    color: #043b59;
    font-size: 17px;
    font-weight: 800;
}
main .modal-financial-total .total-label {
    color: #00996d;
    font-size: 13px;
    font-weight: 600;
}
main {
    /* ===== Timeline Wrapper ===== */
}
main .modal-timeline-wrap {
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}
.profile .contracts-overview__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
    .profile .contracts-overview__head {
        flex-direction: column;
        align-items: flex-start;
    }
}
.profile .contracts-overview__head h4 {
    margin: 0 0 14px 0;
    font-size: clamp(18px, 2.5vw, 20px);
    font-weight: 700;
    color: #043b59;
}
.profile .contracts-overview__head p {
    margin: 0;
    font-size: 13px;
    color: #6b7c8d;
}
.profile .filter-tabs {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.profile .f-tab {
    border: 1.5px solid rgba(4, 59, 89, 0.09);
    background: #ffffff;
    color: #6b7c8d;
    border-radius: 12px;
    padding: 8px 14px;
    font-size: 12px;
    font-weight: 600;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}
.profile .f-tab .f-count {
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 50px;
    background: #f4f7fa;
    color: #6b7c8d;
    font-size: 0.67rem;
    font-weight: 800;
    display: grid;
    place-items: center;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
.profile .f-tab:hover {
    border-color: #043b59;
    color: #043b59;
}
.profile .f-tab.is-active {
    background: #043b59;
    color: #ffffff;
    border-color: #043b59;
    box-shadow: 0 4px 14px rgba(4, 59, 89, 0.22);
}
.profile .f-tab.is-active .f-count {
    background: rgba(255, 255, 255, 0.22);
    color: #ffffff;
}
.profile .contracts-stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 16px;
    margin-bottom: 28px;
}
@media screen and (max-width: 768px) {
    .profile .contracts-stat-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (max-width: 576px) {
    .profile .contracts-stat-grid {
        grid-template-columns: 1fr;
    }
}
.profile .contracts-stat {
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    border: 1px solid rgba(4, 59, 89, 0.09);
    border-radius: 12px;
    padding: 12px;
    background: #f9fbff;
}
.profile .contracts-stat:hover {
    box-shadow: 0 8px 24px rgba(4, 59, 89, 0.12);
}
.profile .contracts-stat__header {
    display: flex;
    align-items: center;
    gap: 10px;
}
.profile .contracts-stat__icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    background: rgba(4, 59, 89, 0.1);
    color: #043b59;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
.profile .contracts-stat__icon.warning {
    background: rgba(245, 158, 11, 0.1);
    color: #f59e0b;
}
.profile .contracts-stat__icon.danger {
    background: rgba(239, 68, 68, 0.1);
    color: #ef4444;
}
.profile .contracts-stat__icon.info {
    background: rgba(59, 130, 246, 0.1);
    color: #3b82f6;
}
.profile .contracts-stat__header h5 {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    color: #6b7c8d;
    text-transform: capitalize;
    display: flex;
    align-items: center;
    gap: 6px;
}
.profile .info-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    font-size: 12px;
    color: #3b82f6;
    cursor: help;
    position: relative;
}
.profile .info-icon:hover::after {
    content: attr(title);
    position: absolute;
    bottom: 125%;
    right: -20px;
    background: #043b59;
    color: #ffffff;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 11px;
    white-space: nowrap;
    z-index: 10;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    font-weight: 500;
    font-style: normal;
}
.profile .info-icon:hover::before {
    content: "";
    position: absolute;
    bottom: 113%;
    right: 0;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid #043b59;
    z-index: 10;
}
.profile .info-icon-table {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    font-size: 10px;
    color: #00996d;
    cursor: help;
    margin-right: 6px;
    position: relative;
}
.profile .info-icon-table:hover::after {
    content: attr(title);
    position: absolute;
    bottom: 120%;
    right: -35px;
    background: #043b59;
    color: #ffffff;
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 10px;
    white-space: nowrap;
    z-index: 10;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    font-weight: 500;
    font-style: normal;
}
.profile .info-icon-table:hover::before {
    content: "";
    position: absolute;
    bottom: 110%;
    right: 0;
    width: 0;
    height: 0;
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
    border-top: 3px solid #043b59;
    z-index: 10;
}
.profile .contracts-stat__value {
    display: block;
    font-size: 28px;
    font-weight: 700;
    color: #043b59;
}
.profile .contracts-stat__label {
    display: block;
    font-size: 12px;
    color: #6b7c8d;
    font-weight: 500;
}
.profile .contracts-table-section {
    background: #ffffff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(4, 59, 89, 0.07);
    border: 1px solid rgba(4, 59, 89, 0.09);
}
.profile .contracts-table-section .table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 992px) {
    .profile .contracts-table-section .table-responsive {
        border-radius: 16px;
    }
}
.profile .contracts-table-section .contracts-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 14px;
}
.profile .contracts-table-section .contracts-table thead {
    background: linear-gradient(90deg, #f8f9fb 0%, #f4f7fa 100%);
}
.profile .contracts-table-section .contracts-table thead tr {
    border-bottom: 2px solid #f0f4f8;
}
.profile .contracts-table-section .contracts-table thead th {
    padding: 16px;
    text-align: right;
    font-weight: 700;
    color: #043b59;
    font-size: 13px;
    text-transform: capitalize;
    white-space: nowrap;
}
.profile .contracts-table-section .contracts-table tbody tr {
    border-bottom: 1px solid #f0f4f8;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
.profile .contracts-table-section .contracts-table tbody tr:hover {
    background: rgba(4, 59, 89, 0.03);
}
.profile .contracts-table-section .contracts-table tbody tr:last-child {
    border-bottom: none;
}
.profile .contracts-table-section .contracts-table tbody td {
    padding: 16px;
    color: #333;
    vertical-align: middle;
}
@media screen and (max-width: 768px) {
    .profile .contracts-table-section .contracts-table thead {
        display: none;
    }
    .profile .contracts-table-section .contracts-table tbody {
        display: block;
        width: 100%;
    }
    .profile .contracts-table-section .contracts-table tr {
        display: block;
        background: #fff;
        border: 1px solid #eef2f6;
        border-radius: 14px;
        padding: 14px;
        margin-bottom: 14px;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
    }
    .profile .contracts-table-section .contracts-table td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 8px 0;
        border: none;
        font-size: 13px;
        gap: 10px;
    }
    .profile .contracts-table-section .contracts-table td::before {
        content: attr(data-label);
        font-weight: 600;
        color: #043b59;
        font-size: 12px;
        flex: 1;
    }
    .profile .contracts-table-section .contracts-table td > * {
        text-align: left;
    }
    .profile .contracts-table-section .contracts-table td:not(:last-child) {
        border-bottom: 1px dashed #f1f1f1;
    }
    .profile .contracts-table-section .contracts-table td:first-child {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    .profile .contracts-table-section .contracts-table .contract-worker {
        justify-content: flex-start;
    }
    .profile .contracts-table-section .contracts-table .action-buttons {
        justify-content: flex-end;
    }
}
.profile .contract-worker {
    display: flex;
    align-items: center;
    gap: 12px;
}
.profile .worker-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(
        135deg,
        rgba(4, 59, 89, 0.15),
        rgba(130, 132, 131, 0.1)
    );
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: #043b59;
    font-size: 16px;
    flex-shrink: 0;
}
.profile .worker-info {
    display: flex;
    flex-direction: column;
}
.profile .worker-info strong {
    font-size: 14px;
    color: #043b59;
    font-weight: 600;
}
.profile .worker-info small {
    font-size: 12px;
    color: #6b7c8d;
}
.profile .badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 10px;
    font-weight: 600;
    white-space: nowrap;
}
.profile .badge-contract {
    background: rgba(59, 130, 246, 0.1);
    color: #3b82f6;
}
.profile .badge-contract.monthly {
    background: rgba(168, 85, 247, 0.1);
    color: #a855f7;
}
.profile .status-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 10px;
    font-weight: 600;
    white-space: nowrap;
}
.profile .status-badge.active {
    background: rgba(0, 153, 117, 0.1);
    color: #009975;
}
.profile .status-badge.active .badge-dot {
    background: #009975;
}
.profile .status-badge.warning {
    background: rgba(245, 158, 11, 0.1);
    color: #f59e0b;
}
.profile .status-badge.warning .badge-dot {
    background: #f59e0b;
}
.profile .status-badge.expired {
    background: rgba(239, 68, 68, 0.1);
    color: #ef4444;
}
.profile .status-badge.expired .badge-dot {
    background: #ef4444;
}
.profile .badge-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    animation: pulseDot 2s infinite;
}
.profile .price {
    color: #043b59;
    font-size: 15px;
    font-weight: 700;
}
.profile .action-buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.profile .btn-icon {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid rgba(4, 59, 89, 0.15);
    background: transparent;
    color: #043b59;
    font-size: 14px;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    cursor: pointer;
}
.profile .btn-icon:hover {
    background: rgba(4, 59, 89, 0.08);
    border-color: #043b59;
    transform: translateY(-2px);
}
.profile .btn-icon:active {
    transform: translateY(0);
}
.profile .contract-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1500;
}
.profile .contract-modal:not([hidden]) {
    display: grid;
    place-items: center;
}
.profile .contract-modal__backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    cursor: pointer;
    z-index: -1;
}
.profile .contract-modal__panel {
    background: #ffffff;
    border-radius: 20px;
    max-width: 600px;
    width: 90%;
    max-height: 85vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
    animation: slideUp 0.3s ease;
}
.profile .contract-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px;
    border-bottom: 1px solid rgba(4, 59, 89, 0.09);
    flex-shrink: 0;
}
.profile .contract-modal__header h4 {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: #043b59;
}
.profile .contract-modal__close {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    border: 1.5px solid rgba(4, 59, 89, 0.15);
    background: transparent;
    color: #043b59;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    cursor: pointer;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
.profile .contract-modal__close:hover {
    background: rgba(4, 59, 89, 0.08);
    border-color: #043b59;
}
.profile .contract-modal__content {
    flex: 1;
    overflow-y: auto;
    padding: 24px;
}
.profile .contract-detail-card {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.profile .worker-header {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background: linear-gradient(135deg, #f8f9fb 0%, #f4f7fa 100%);
    border-radius: 16px;
    border: 1px solid rgba(4, 59, 89, 0.09);
}
@media (max-width: 480px) {
    .profile .worker-header {
        gap: 6px;
    }
}
.profile .worker-avatar-large {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: linear-gradient(
        135deg,
        rgba(4, 59, 89, 0.2),
        rgba(130, 132, 131, 0.15)
    );
    border: 2px solid rgba(255, 255, 255, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 24px;
    color: #043b59;
    flex-shrink: 0;
}
.profile .worker-detail {
    flex: 1;
}
.profile .worker-detail h5 {
    margin: 0 0 4px 0;
    font-size: 16px;
    font-weight: 700;
    color: #043b59;
}
.profile .worker-detail p {
    margin: 0 0 8px 0;
    font-size: 13px;
    color: #6b7c8d;
}
.profile .contract-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 16px;
}
.profile .info-item {
    padding: 12px;
    background: #f8f9fb;
    border-radius: 12px;
    border: 1px solid rgba(4, 59, 89, 0.09);
}
.profile .info-item .label {
    display: block;
    font-size: 12px;
    color: #6b7c8d;
    margin-bottom: 6px;
    font-weight: 500;
}
.profile .info-item strong {
    display: block;
    font-size: 14px;
    color: #043b59;
    font-weight: 700;
}
.profile .renewal-section {
    padding: 16px;
    background: linear-gradient(
        135deg,
        rgba(130, 132, 131, 0.05),
        rgba(0, 153, 117, 0.08)
    );
    border-radius: 12px;
    border: 1px solid rgba(130, 132, 131, 0.2);
}
.profile .renewal-section h6 {
    margin: 0 0 12px 0;
    font-size: 13px;
    font-weight: 700;
    color: #043b59;
    text-transform: capitalize;
}
.profile .renewal-detail {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    font-size: 14px;
}
.profile .renewal-detail .price {
    color: #043b59;
    font-weight: 700;
}
.profile .renewal-options {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.profile .renewal-option {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border: 1.5px solid rgba(4, 59, 89, 0.15);
    border-radius: 10px;
    background: #ffffff;
    cursor: pointer;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
.profile .renewal-option input[type="radio"] {
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: #043b59;
}
.profile .renewal-option .option-content {
    flex: 1;
}
.profile .renewal-option .option-content strong {
    display: block;
    font-size: 14px;
    color: #043b59;
    font-weight: 700;
    margin-bottom: 4px;
}
.profile .renewal-option .option-content .price {
    display: block;
    font-size: 13px;
    color: #6b7c8d;
    font-weight: 600;
}
.profile .renewal-option:hover {
    border-color: #043b59;
    background: rgba(4, 59, 89, 0.02);
}
.profile .renewal-option input[type="radio"]:checked + .option-content strong {
    color: #043b59;
}
.profile .renewal-history {
    padding: 12px;
    background: #f8f9fb;
    border-radius: 12px;
    border: 1px solid rgba(4, 59, 89, 0.09);
}
.profile .renewal-history h6 {
    margin: 0 0 12px 0;
    font-size: 13px;
    font-weight: 700;
    color: #043b59;
    text-transform: capitalize;
}
.profile .history-timeline {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.profile .history-item {
    display: flex;
    gap: 12px;
    font-size: 13px;
}
.profile .history-item .date {
    font-weight: 700;
    color: #043b59;
    min-width: 90px;
}
.profile .history-item p {
    margin: 0;
    color: #6b7c8d;
}
.profile .contract-notes {
    border-radius: 10px;
}
.profile .contract-notes .note-text {
    margin: 0;
    font-size: 13px;
    font-weight: 500;
    padding: 8px 12px;
    border-radius: 8px;
}
.profile .contract-notes .note-text.active-text {
    background: rgba(130, 132, 131, 0.1);
    color: #009975;
}
.profile .contract-notes .note-text.warning-text {
    background: rgba(245, 158, 11, 0.1);
    color: #d97706;
}
.profile .contract-modal__footer {
    display: flex;
    gap: 12px;
    padding: 20px 24px;
    border-top: 1px solid rgba(4, 59, 89, 0.09);
    flex-shrink: 0;
    background: #ffffff;
}
.profile .btn-secondary {
    flex: 1;
    padding: 12px 20px;
    border: 1.5px solid rgba(4, 59, 89, 0.2);
    border-radius: 10px;
    background: transparent;
    color: #043b59;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.32s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}
.profile .btn-secondary:hover {
    background: rgba(4, 59, 89, 0.08);
    border-color: #043b59;
}
.profile .contract-modal .hero-btn {
    flex: 1;
}
@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.wc-meta-item--wide {
    grid-column: 1/-1;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    border-block-end: 0;
    background: linear-gradient(90deg, rgba(78, 45, 155, 0.08), rgba(246, 145, 30, 0.07));
}
.wc-meta-val--price {
    color: var(--rp-700, #4e2d9b);
    font-size: 0.95rem;
    font-weight: 900;
}
/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   NEW PAGE BANNER  â€”  replaces old .breadcrumb styles
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* Reset old background/image rule */
.breadcrumb{background:linear-gradient(135deg,#13063a 0%,#2d1b69 48%,#4a2d90 100%) !important;padding:108px 0 88px !important;position:relative;overflow:hidden;z-index:1;text-align:center;min-height:260px;display:flex;align-items:center;}

/* Grid texture overlay */
.breadcrumb::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.028) 1px,transparent 1px);background-size:54px 54px;pointer-events:none;z-index:0;}

/* Orange radial glow â€” top right */
.breadcrumb::after{content:'';position:absolute;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(246,145,30,.14) 0%,transparent 65%);top:-180px;right:-120px;pointer-events:none;z-index:0;}

/* Quadrant brand shapes â€” top left */
.breadcrumb .container{position:relative;z-index:2;display:flex !important;flex-direction:column;align-items:center !important;gap:20px;width:100%;}

.breadcrumb-patterns {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
    pointer-events: none;
}

.breadcrumb-patterns .orn-tile {
    opacity: 0.1;
}

.breadcrumb-patterns .orn-mandala {
    width: clamp(220px, 28vw, 390px);
    opacity: 0.16;
}

.breadcrumb-patterns .orn-corner {
    width: clamp(190px, 23vw, 330px);
    opacity: 0.28;
}

/* Purple glow blob â€” bottom left (via decorative-shape pseudo) */
.breadcrumb .decorative-shape::before{content:'';position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(120,80,210,.22) 0%,transparent 68%);bottom:40px;left:-100px;pointer-events:none;z-index:0;}

/* Decorative brand quadrant â€” small top-left corner */
.breadcrumb .decorative-shape::after{content:'';position:absolute;width:140px;height:140px;top:-300px;left:60px;opacity:.12;background:
  radial-gradient(circle at 100% 100%,#9b7fd4 0%,#9b7fd4 49%,transparent 50%) 0 0/50% 50% no-repeat,
  radial-gradient(circle at 0% 100%,#4e2d9b 0%,#4e2d9b 49%,transparent 50%) 50% 0/50% 50% no-repeat,
  radial-gradient(circle at 100% 0%,#7c5cbf 0%,#7c5cbf 49%,transparent 50%) 0 50%/50% 50% no-repeat,
  radial-gradient(circle at 0% 0%,#2d1b69 0%,#2d1b69 49%,transparent 50%) 50% 50%/50% 50% no-repeat;border-radius:16px;pointer-events:none;}

/* â”€â”€ Page title â”€â”€ */
.breadcrumb h2{font-size:clamp(1.85rem,4vw,2.75rem) !important;font-weight:900 !important;color:#fff !important;margin:0 !important;line-height:1.2 !important;letter-spacing:-.01em;text-shadow:0 2px 28px rgba(0,0,0,.32);position:relative;z-index:2;}

/* Gold underline accent under title */
.breadcrumb h2::after{content:'';display:block;width:50px;height:3px;margin:13px auto 0;background:linear-gradient(90deg,#f6911e,#fbbf24);border-radius:2px;}

/* â”€â”€ Breadcrumb pill â”€â”€ */
.breadcrumb ul{display:inline-flex !important;align-items:center;justify-content:center;gap:0 5px;list-style:none !important;padding:8px 22px !important;margin:0 !important;background:rgba(255,255,255,.1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:100px;border:1px solid rgba(255,255,255,.18);z-index:2;position:relative;}

.breadcrumb ul li{font-size:.875rem;font-weight:500;color:rgba(255,255,255,.65);display:flex;align-items:center;gap:4px;}

.breadcrumb ul li:not(:last-child)::after{content:'â€º';margin-right:5px;color:rgba(255,255,255,.35);font-size:1rem;font-weight:300;}

.breadcrumb ul li a{color:#fbbf24 !important;text-decoration:none;transition:color .2s ease;}
.breadcrumb ul li a:hover{color:#fff !important;}
.breadcrumb ul li[aria-current="page"]{color:rgba(255,255,255,.92);font-weight:600;}

/* â”€â”€ Bottom wave shape â”€â”€ */
.breadcrumb .decorative-shape{position:absolute;bottom:-55px;left:0;width:100%;height:100px;transform:scaleY(-1);z-index:3;}

/* â”€â”€ Mobile â”€â”€ */
@media(max-width:768px){.breadcrumb{padding:78px 0 66px !important;min-height:200px;}.breadcrumb h2{font-size:1.65rem !important;}.breadcrumb .decorative-shape{bottom:-1px;}}.service-request-page{background:linear-gradient(160deg,#f8f5ff 0%,#fff 50%,#f3f0fc 100%) !important;}main .service-request-shell,main .service-request-step,main .service-request-note,main .service-request-panel{border-color:rgba(78,45,155,.1) !important;box-shadow:0 20px 50px rgba(78,45,155,.08) !important;}main .service-request-shell::before,main .service-request-step::before,main .service-request-note::before,main .service-request-panel::before{background:linear-gradient(90deg,#2d1b69 0%,#4e2d9b 60%,#f6911e 100%) !important;}main .service-request-shell__intro h2,main .service-request-block__head h3,main .service-request-panel h3,main .service-request-note h3{color:#2d1b69 !important;}main .service-request-block{background:#fff !important;border:1px solid rgba(78,45,155,.1) !important;border-radius:20px !important;}main .service-request-block__head .icon{background:linear-gradient(135deg,#2d1b69,#4e2d9b) !important;}main .service-request-field label,main .service-request-upload label{color:#2d1b69 !important;}main .service-request-field input,main .service-request-field select,main .service-request-field textarea{border-color:rgba(78,45,155,.15) !important;border-radius:14px !important;}main .service-request-field input:focus,main .service-request-field select:focus,main .service-request-field textarea:focus{border-color:#4e2d9b !important;box-shadow:0 0 0 3px rgba(78,45,155,.12) !important;}main .service-request-note{background:linear-gradient(160deg,rgba(78,45,155,.06),rgba(78,45,155,.02)) !important;}main .service-request-list li::before{color:#4e2d9b !important;}main .service-request-submit{background:linear-gradient(135deg,#2d1b69,#4e2d9b) !important;border:none !important;border-radius:14px !important;padding:14px 36px !important;font-size:1rem !important;font-weight:700 !important;color:#fff !important;box-shadow:0 8px 28px rgba(78,45,155,.35) !important;cursor:pointer !important;display:inline-flex !important;align-items:center !important;gap:10px !important;transition:all .25s ease !important;}main .service-request-submit:hover{transform:translateY(-2px) !important;box-shadow:0 12px 36px rgba(78,45,155,.45) !important;}main .service-request-actions{display:flex;justify-content:flex-start;padding-top:8px;}main .service-request-dropzone{border:2px dashed rgba(78,45,155,.2) !important;border-radius:16px !important;background:#faf8ff !important;transition:all .2s ease !important;}main .service-request-dropzone:hover,main .service-request-dropzone.is-filled{border-color:#4e2d9b !important;background:rgba(78,45,155,.04) !important;}main .service-request-dropzone i{color:#4e2d9b !important;}main .service-request-phone span{background:rgba(78,45,155,.08) !important;color:#2d1b69 !important;border-color:rgba(78,45,155,.15) !important;}.arriveWorker{background:linear-gradient(160deg,#f8f5ff 0%,#fff 100%);padding:60px 0;}.arriveWorker .arriveWorker-content{background:#fff !important;border-radius:24px !important;border:1px solid rgba(78,45,155,.1) !important;box-shadow:0 20px 60px rgba(78,45,155,.1) !important;padding:48px !important;text-align:start !important;max-width:860px;margin:0 auto;}.arriveWorker .arriveWorker-content h3{color:#2d1b69 !important;font-size:1.6rem !important;font-weight:800 !important;border-right:4px solid #4e2d9b;padding-right:16px;margin-bottom:24px !important;}.arriveWorker .arriveWorker-content ol{padding:0 !important;list-style:none;counter-reset:al-counter;}.arriveWorker .arriveWorker-content ol li{counter-increment:al-counter;display:flex !important;align-items:flex-start !important;gap:14px;padding:16px 0;border-bottom:1px solid rgba(78,45,155,.07);flex-wrap:wrap;}.arriveWorker .arriveWorker-content ol li::before{content:counter(al-counter);min-width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#2d1b69,#4e2d9b);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;flex-shrink:0;}.arriveWorker .arriveWorker-content ol li .btn-outline{background:rgba(78,45,155,.08) !important;color:#2d1b69 !important;border:1px solid rgba(78,45,155,.2) !important;border-radius:8px !important;padding:5px 14px !important;font-size:.82rem !important;transition:all .2s ease !important;text-decoration:none !important;}.arriveWorker .arriveWorker-content ol li .btn-outline:hover{background:#2d1b69 !important;color:#fff !important;}.arriveWorker .arriveWorker-content .badge{background:rgba(78,45,155,.1) !important;color:#2d1b69 !important;border-radius:8px !important;padding:6px 14px !important;font-size:.82rem !important;}.recruitmentVisa{background:linear-gradient(160deg,#f8f5ff 0%,#fff 100%);padding:60px 0;}.visa-paper{background:#fff;border-radius:24px;border:1px solid rgba(78,45,155,.1);box-shadow:0 20px 60px rgba(78,45,155,.1);overflow:hidden;}.visa-head{padding:40px 40px 32px;border-bottom:1px solid rgba(78,45,155,.08);background:linear-gradient(135deg,rgba(78,45,155,.04),rgba(78,45,155,.01));}.visa-head h1{color:#2d1b69 !important;font-size:1.7rem !important;font-weight:800 !important;}.visa-head p{color:#64748b;margin:0;}.recruitmentVisa .nav{padding:24px 16px;gap:10px;border-left:1px solid rgba(78,45,155,.08);background:#faf8ff;}.recruitmentVisa .nav-link{background:transparent;border:1.5px solid rgba(78,45,155,.12);border-radius:14px !important;color:#4e2d9b !important;padding:14px 16px !important;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.82rem;font-weight:700;transition:all .25s ease;cursor:pointer;width:100%;text-align:center;}.recruitmentVisa .nav-link i{font-size:1.3rem;}.recruitmentVisa .nav-link:hover,.recruitmentVisa .nav-link.active{background:linear-gradient(135deg,#2d1b69,#4e2d9b) !important;color:#fff !important;border-color:transparent !important;box-shadow:0 8px 24px rgba(78,45,155,.3) !important;}.recruitmentVisa .tab-content{padding:32px 24px;}.recruitmentVisa .secondaryTitle{color:#2d1b69 !important;font-weight:800;margin-bottom:16px;}.recruitmentVisa .thirdTitle{color:#4e2d9b !important;font-size:.95rem;font-weight:600;margin-bottom:24px;}.recruitmentVisa .step{background:#faf8ff;border-radius:16px;border:1px solid rgba(78,45,155,.1);padding:20px;margin-bottom:16px;}.available{background:linear-gradient(160deg,#f8f5ff 0%,#fff 100%);padding:56px 0;}.available h4{color:#2d1b69 !important;font-size:1.4rem !important;font-weight:800 !important;margin-bottom:28px !important;}.specifications{background:#fff;border:1px solid rgba(78,45,155,.12);border-radius:18px;padding:28px 20px;text-align:center;transition:all .25s ease;box-shadow:0 4px 20px rgba(78,45,155,.06);}.specifications:hover{transform:translateY(-4px);box-shadow:0 12px 36px rgba(78,45,155,.14);border-color:#4e2d9b;}.specifications i{font-size:2rem;color:#4e2d9b;margin-bottom:14px;display:block;}.specifications h5{color:#2d1b69 !important;font-weight:700 !important;margin:0 !important;}.selectWorker{padding:56px 0;}.contact-page{padding:64px 0 80px;}.contact-page .section-header{text-align:center;margin-bottom:48px;}.contact-page .section-header h1{color:#2d1b69 !important;font-size:clamp(1.8rem,3vw,2.5rem) !important;font-weight:800 !important;}.contact-page .section-header h1 span{color:#f6911e !important;}.contact-page .section-header p{color:#64748b;max-width:560px;margin:12px auto 0;line-height:1.85;}.contact-info{background:#fff;border-radius:20px;border:1px solid rgba(78,45,155,.1);box-shadow:0 16px 48px rgba(78,45,155,.08);padding:32px;height:100%;}.c-info-column{display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-bottom:1px solid rgba(78,45,155,.07);}.c-info-column:last-child{border-bottom:none;}.c-info-icon{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#2d1b69,#4e2d9b);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;}.c-info-icon.custome-size{font-size:1.2rem;}.twm-title{color:#2d1b69 !important;font-size:.95rem !important;font-weight:700 !important;margin:0 0 4px !important;}.c-info-column p,.c-info-column a{color:#64748b;font-size:.9rem;margin:0;text-decoration:none;transition:color .2s;}.c-info-column a:hover{color:#4e2d9b;}.map-wrap{margin-top:20px;}.map-container{border-radius:16px;overflow:hidden;position:relative;height:240px;}.map-container iframe{width:100%;height:100%;border:none;}.map-overlay{position:absolute;inset:0;background:transparent;cursor:pointer;display:flex;align-items:flex-end;justify-content:flex-end;padding:12px;}.map-overlay:hover{background:rgba(0,0,0,.04);}.map-overlay svg{width:20px;height:20px;stroke:#4e2d9b;}.map-overlay span{font-size:.8rem;color:#4e2d9b;font-weight:600;margin-right:6px;}.privacy-page{padding:64px 0 80px;background:linear-gradient(160deg,#f8f5ff 0%,#fff 100%);}.privacy-hero{display:flex;gap:40px;align-items:flex-start;margin-bottom:56px;flex-wrap:wrap;}.privacy-hero__copy{flex:1 1 400px;}.privacy-hero__eyebrow{display:inline-flex;align-items:center;padding:6px 18px;border-radius:100px;background:rgba(78,45,155,.1);color:#4e2d9b;font-size:.85rem;font-weight:700;margin-bottom:16px;}.privacy-hero__copy h1{color:#2d1b69 !important;font-size:clamp(1.8rem,3vw,2.5rem) !important;font-weight:800 !important;margin-bottom:14px !important;}.privacy-hero__copy p{color:#64748b;line-height:1.9;}.privacy-hero__meta{display:flex;flex-direction:column;gap:12px;flex:0 0 240px;}.privacy-meta-card{background:#fff;border:1px solid rgba(78,45,155,.1);border-radius:16px;padding:20px 24px;box-shadow:0 8px 24px rgba(78,45,155,.07);}.privacy-meta-card__label{display:block;font-size:.82rem;color:#9b7fd4;font-weight:600;margin-bottom:6px;}.privacy-meta-card strong{color:#2d1b69;font-size:1.05rem;}.policies{background:linear-gradient(160deg,#f8f5ff 0%,#fff 100%);padding:64px 0 80px;}.policies-left{max-width:760px;margin:0 auto;}.policies-h1{color:#2d1b69 !important;font-size:clamp(1.8rem,3vw,2.4rem) !important;font-weight:800 !important;margin-bottom:16px !important;}.policies-desc{color:#64748b !important;line-height:1.9 !important;margin-bottom:32px !important;}.policies-downloads{display:flex;gap:14px;flex-wrap:wrap;}.about-recruitment{padding:64px 0;background:#fff;}.about-copy{padding:40px 0;}.about-copy h2{color:#2d1b69 !important;font-size:clamp(1.8rem,3vw,2.6rem) !important;font-weight:800 !important;margin-bottom:20px !important;line-height:1.3 !important;}.about-copy p{color:#64748b;line-height:1.95;font-size:1.05rem;}.about-copy .experience{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,#2d1b69,#4e2d9b);color:#fff !important;padding:8px 20px;border-radius:100px;font-size:.9rem;font-weight:700;margin-bottom:20px;}.about-sphere{min-height:400px;}.vision-mission{background:#f8f5ff !important;}.vision-mission .section-header h2{color:#2d1b69 !important;}.vision-mission .vm-card{border-color:rgba(78,45,155,.12) !important;}.vision-mission .vm-card h3{color:#2d1b69 !important;}.vision-mission .vision{--card-color:#2d1b69;}.vision-mission .mission{--card-color:#4e2d9b;}.vision-mission .values{--card-color:#9b7fd4;}.msnd-video-sec{background:linear-gradient(160deg,#f8f5ff 0%,#fff 100%);padding:64px 0;}.msnd-video-sec__text{padding:40px;}.msnd-section-title__sub{display:inline-flex;align-items:center;padding:6px 16px;border-radius:100px;background:rgba(78,45,155,.1);color:#4e2d9b;font-size:.85rem;font-weight:700;margin-bottom:16px;}.msnd-video-sec__hint{color:#64748b;line-height:1.9;font-size:1.05rem;}@media(max-width:768px){.arriveWorker .arriveWorker-content{padding:28px !important;}.visa-head{padding:24px !important;}.recruitmentVisa .nav{flex-direction:row !important;overflow-x:auto;border-left:none;border-bottom:1px solid rgba(78,45,155,.08);padding:12px;}.recruitmentVisa .nav-link{flex-direction:row;min-width:120px;}.privacy-hero{flex-direction:column;gap:24px;}.privacy-hero__meta{flex-direction:row;flex:none;width:100%;}}/* PAGES-REDESIGN-START */
.service-request-page{background:linear-gradient(160deg,#f8f5ff 0%,#fff 50%,#f3f0fc 100%) !important;}
main .service-request-shell,main .service-request-step,main .service-request-note,main .service-request-panel{border-color:rgba(78,45,155,.1) !important;box-shadow:0 20px 50px rgba(78,45,155,.08) !important;}
main .service-request-shell::before,main .service-request-step::before,main .service-request-note::before,main .service-request-panel::before{background:linear-gradient(90deg,#2d1b69 0%,#4e2d9b 60%,#f6911e 100%) !important;}
main .service-request-shell__intro h2,main .service-request-block__head h3,main .service-request-panel h3,main .service-request-note h3{color:#2d1b69 !important;}
main .service-request-block{background:#fff !important;border:1px solid rgba(78,45,155,.1) !important;border-radius:20px !important;}
main .service-request-block__head .icon{background:linear-gradient(135deg,#2d1b69,#4e2d9b) !important;}
main .service-request-field label,main .service-request-upload label{color:#2d1b69 !important;}
main .service-request-field input,main .service-request-field select,main .service-request-field textarea{border-color:rgba(78,45,155,.15) !important;border-radius:14px !important;}
main .service-request-field input:focus,main .service-request-field select:focus,main .service-request-field textarea:focus{border-color:#4e2d9b !important;box-shadow:0 0 0 3px rgba(78,45,155,.12) !important;}
main .service-request-note{background:linear-gradient(160deg,rgba(78,45,155,.06),rgba(78,45,155,.02)) !important;}
main .service-request-list li::before{color:#4e2d9b !important;}
main .service-request-submit{background:linear-gradient(135deg,#2d1b69,#4e2d9b) !important;border:none !important;border-radius:14px !important;padding:14px 36px !important;font-size:1rem !important;font-weight:700 !important;color:#fff !important;box-shadow:0 8px 28px rgba(78,45,155,.35) !important;cursor:pointer !important;display:inline-flex !important;align-items:center !important;gap:10px !important;transition:all .25s ease !important;}
main .service-request-submit:hover{transform:translateY(-2px) !important;box-shadow:0 12px 36px rgba(78,45,155,.45) !important;}
main .service-request-actions{display:flex;justify-content:flex-start;padding-top:8px;}
main .service-request-dropzone{border:2px dashed rgba(78,45,155,.2) !important;border-radius:16px !important;background:#faf8ff !important;transition:all .2s ease !important;}
main .service-request-dropzone:hover,main .service-request-dropzone.is-filled{border-color:#4e2d9b !important;background:rgba(78,45,155,.04) !important;}
main .service-request-dropzone i{color:#4e2d9b !important;}
main .service-request-phone span{background:rgba(78,45,155,.08) !important;color:#2d1b69 !important;border-color:rgba(78,45,155,.15) !important;}
.arriveWorker{background:linear-gradient(160deg,#f8f5ff 0%,#fff 100%);padding:60px 0;}
.arriveWorker .arriveWorker-content{background:#fff !important;border-radius:24px !important;border:1px solid rgba(78,45,155,.1) !important;box-shadow:0 20px 60px rgba(78,45,155,.1) !important;padding:48px !important;max-width:860px;margin:0 auto;text-align:start !important;}
.arriveWorker .arriveWorker-content h3{color:#2d1b69 !important;font-size:1.5rem !important;font-weight:800 !important;border-right:4px solid #4e2d9b;padding-right:16px;margin-bottom:24px !important;}
.arriveWorker .arriveWorker-content ol{padding:0 !important;list-style:none;counter-reset:al-counter;}
.arriveWorker .arriveWorker-content ol li{counter-increment:al-counter;display:flex !important;align-items:flex-start !important;justify-content:flex-start !important;gap:14px;padding:16px 0;border-bottom:1px solid rgba(78,45,155,.07);}
.arriveWorker .arriveWorker-content ol li::before{content:counter(al-counter);min-width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#2d1b69,#4e2d9b);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;flex-shrink:0;}
.arriveWorker .arriveWorker-content .btn-outline{background:rgba(78,45,155,.08) !important;color:#2d1b69 !important;border:1px solid rgba(78,45,155,.2) !important;border-radius:8px !important;padding:5px 14px !important;font-size:.82rem !important;text-decoration:none !important;transition:all .2s ease !important;}
.arriveWorker .arriveWorker-content .btn-outline:hover{background:#2d1b69 !important;color:#fff !important;}
.arriveWorker .arriveWorker-content .badge{background:rgba(78,45,155,.1) !important;color:#2d1b69 !important;border-radius:8px !important;padding:6px 14px !important;}
.recruitmentVisa{background:linear-gradient(160deg,#f8f5ff 0%,#fff 100%);padding:60px 0;}
.visa-paper{background:#fff;border-radius:24px;border:1px solid rgba(78,45,155,.1);box-shadow:0 20px 60px rgba(78,45,155,.1);overflow:hidden;}
.visa-head{padding:40px 40px 32px;border-bottom:1px solid rgba(78,45,155,.08);background:linear-gradient(135deg,rgba(78,45,155,.04),rgba(78,45,155,.01));}
.visa-head h1{color:#2d1b69 !important;font-size:1.7rem !important;font-weight:800 !important;}
.visa-head p{color:#64748b;margin:0;}
.recruitmentVisa .nav{padding:24px 16px;gap:10px;border-left:1px solid rgba(78,45,155,.08);background:#faf8ff;display:flex;flex-direction:column;}
.recruitmentVisa .nav-link{background:transparent !important;border:1.5px solid rgba(78,45,155,.15) !important;border-radius:14px !important;color:#4e2d9b !important;padding:14px 12px !important;display:flex !important;flex-direction:column;align-items:center;gap:8px;font-size:.82rem;font-weight:700;transition:all .25s ease;cursor:pointer;width:100%;text-align:center;}
.recruitmentVisa .nav-link i{font-size:1.3rem;}
.recruitmentVisa .nav-link:hover,.recruitmentVisa .nav-link.active{background:linear-gradient(135deg,#2d1b69,#4e2d9b) !important;color:#fff !important;border-color:transparent !important;box-shadow:0 8px 24px rgba(78,45,155,.3) !important;}
.recruitmentVisa .tab-content{padding:32px 24px;}
.recruitmentVisa .secondaryTitle{color:#2d1b69 !important;font-weight:800;margin-bottom:16px;}
.recruitmentVisa .thirdTitle{color:#4e2d9b !important;font-size:.95rem;font-weight:600;margin-bottom:24px;}
.recruitmentVisa .step{background:#faf8ff;border-radius:16px;border:1px solid rgba(78,45,155,.1);padding:20px;margin-bottom:16px;}
.available{background:linear-gradient(160deg,#f8f5ff 0%,#fff 100%);padding:56px 0;}
.available h4{color:#2d1b69 !important;font-size:1.4rem !important;font-weight:800 !important;margin-bottom:28px !important;}
.specifications{background:#fff;border:1px solid rgba(78,45,155,.12);border-radius:18px;padding:28px 20px;text-align:center;transition:all .25s ease;box-shadow:0 4px 20px rgba(78,45,155,.06);}
.specifications:hover{transform:translateY(-4px);box-shadow:0 12px 36px rgba(78,45,155,.14);border-color:#4e2d9b;}
.specifications i{font-size:2rem;color:#4e2d9b;margin-bottom:14px;display:block;}
.specifications h5{color:#2d1b69 !important;font-weight:700 !important;margin:0 !important;}
.selectWorker{padding:56px 0;}
.contact-page{padding:64px 0 80px;}
.contact-page .section-header{text-align:center;margin-bottom:48px;}
.contact-page .section-header h1{color:#2d1b69 !important;font-size:clamp(1.8rem,3vw,2.5rem) !important;font-weight:800 !important;}
.contact-page .section-header h1 span{color:#f6911e !important;}
.contact-page .section-header p{color:#64748b;max-width:560px;margin:12px auto 0;line-height:1.85;}
.contact-info{background:#fff;border-radius:20px;border:1px solid rgba(78,45,155,.1);box-shadow:0 16px 48px rgba(78,45,155,.08);padding:32px;height:100%;}
.c-info-column{display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-bottom:1px solid rgba(78,45,155,.07);}
.c-info-column:last-child{border-bottom:none;}
.c-info-icon{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#2d1b69,#4e2d9b);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;}
.twm-title{color:#2d1b69 !important;font-size:.95rem !important;font-weight:700 !important;margin:0 0 4px !important;}
.c-info-column p,.c-info-column a{color:#64748b;font-size:.9rem;margin:0;text-decoration:none;transition:color .2s;}
.c-info-column a:hover{color:#4e2d9b;}
.map-container{border-radius:16px;overflow:hidden;position:relative;height:240px;margin-top:20px;}
.map-container iframe{width:100%;height:100%;border:none;}
.privacy-page{padding:64px 0 80px;background:linear-gradient(160deg,#f8f5ff 0%,#fff 100%);}
.privacy-hero{display:flex;gap:40px;align-items:flex-start;margin-bottom:56px;flex-wrap:wrap;}
.privacy-hero__copy{flex:1 1 400px;}
.privacy-hero__eyebrow{display:inline-flex;align-items:center;padding:6px 18px;border-radius:100px;background:rgba(78,45,155,.1);color:#4e2d9b;font-size:.85rem;font-weight:700;margin-bottom:16px;}
.privacy-hero__copy h1{color:#2d1b69 !important;font-size:clamp(1.8rem,3vw,2.5rem) !important;font-weight:800 !important;margin-bottom:14px !important;}
.privacy-hero__copy p{color:#64748b;line-height:1.9;}
.privacy-hero__meta{display:flex;flex-direction:column;gap:12px;flex:0 0 240px;}
.privacy-meta-card{background:#fff;border:1px solid rgba(78,45,155,.1);border-radius:16px;padding:20px 24px;box-shadow:0 8px 24px rgba(78,45,155,.07);}
.privacy-meta-card__label{display:block;font-size:.82rem;color:#9b7fd4;font-weight:600;margin-bottom:6px;}
.privacy-meta-card strong{color:#2d1b69;font-size:1.05rem;}
.policies{background:linear-gradient(160deg,#f8f5ff 0%,#fff 100%);padding:64px 0 80px;}
.policies .container{max-width:860px;}
.policies-h1{color:#2d1b69 !important;font-size:clamp(1.8rem,3vw,2.4rem) !important;font-weight:800 !important;margin-bottom:16px !important;}
.policies-desc{color:#64748b !important;line-height:1.9 !important;margin-bottom:32px !important;}
.policies-downloads{display:flex;gap:14px;flex-wrap:wrap;}
.about-recruitment{padding:64px 0;background:#fff;}
.about-copy{padding:40px 0;}
.about-copy h2{color:#2d1b69 !important;font-size:clamp(1.8rem,3vw,2.6rem) !important;font-weight:800 !important;margin-bottom:20px !important;line-height:1.3 !important;}
.about-copy p{color:#64748b !important;line-height:1.95;font-size:1.02rem;}
.about-copy .experience{background:linear-gradient(135deg,#2d1b69,#4e2d9b) !important;color:#fff !important;border-radius:100px;padding:8px 20px;font-size:.9rem;font-weight:700;margin-bottom:20px;display:inline-flex;align-items:center;gap:10px;}
.about-sphere{min-height:420px;}
.vision-mission{background:#f8f5ff !important;}
.vision-mission .section-header h2{color:#2d1b69 !important;}
.vision-mission .vm-card{border-color:rgba(78,45,155,.12) !important;}
.vision-mission .vm-card h3{color:#2d1b69 !important;}
.vision-mission .vision{--card-color:#2d1b69;}
.vision-mission .mission{--card-color:#4e2d9b;}
.vision-mission .values{--card-color:#9b7fd4;}
.msnd-video-sec{background:linear-gradient(160deg,#f8f5ff 0%,#fff 100%);padding:64px 0;}
.msnd-video-sec__text{padding:40px;}
.msnd-section-title__sub{display:inline-flex;align-items:center;padding:6px 16px;border-radius:100px;background:rgba(78,45,155,.1);color:#4e2d9b;font-size:.85rem;font-weight:700;margin-bottom:16px;}
.msnd-video-sec__hint{color:#64748b;line-height:1.9;font-size:1.02rem;}
@media(max-width:768px){.arriveWorker .arriveWorker-content{padding:24px !important;}.visa-head{padding:20px !important;}.recruitmentVisa .nav{flex-direction:row !important;overflow-x:auto;border-left:none;border-bottom:1px solid rgba(78,45,155,.08);padding:10px;}.recruitmentVisa .nav-link{flex-direction:row !important;min-width:110px;padding:10px !important;}.privacy-hero{flex-direction:column;gap:24px;}.privacy-hero__meta{flex-direction:row;flex:none;width:100%;}}
/* ═══════════════════════════════════════════
   CV HEADER — Brand Purple Redesign
   ═══════════════════════════════════════════ */

/* Override old navy header */
main.cvPage-container .cv-header {
    background: linear-gradient(135deg, #13063a 0%, #2d1b69 45%, #4e2d9b 100%) !important;
    border-radius: 20px 20px 0 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    min-height: unset !important;
    position: relative;
}
main.cvPage-container .cv-header::before {
    content: '';
    position: absolute;
    top: -60px;
    left: -60px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(155,127,212,.18) 0%, transparent 70%);
    pointer-events: none;
}
main.cvPage-container .cv-header::after {
    content: '';
    position: absolute;
    bottom: -40px;
    right: -40px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(246,145,30,.12) 0%, transparent 70%);
    pointer-events: none;
}

/* ── Top bar ── */
.cv-header__topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 28px;
    border-bottom: 1px solid rgba(255,255,255,.1);
    position: relative;
    z-index: 1;
}
.cv-header__brand {
    display: flex;
    align-items: center;
    gap: 10px;
}
.cv-header__brand-logo {
    height: 36px;
    width: auto;
    object-fit: contain;
}
.cv-header__brand-name {
    color: #fff;
    font-weight: 800;
    font-size: .95rem;
    letter-spacing: .01em;
}
.cv-header__badge-label {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.22);
    color: rgba(255,255,255,.9);
    font-size: .78rem;
    font-weight: 700;
    padding: 5px 16px;
    border-radius: 999px;
    letter-spacing: .06em;
}

/* ── Main row ── */
.cv-header__main {
    display: flex;
    align-items: center;
    gap: 0;
    padding: 28px 32px 28px 0;
    position: relative;
    z-index: 1;
}

/* ── Photo hex ── */
.cv-header__photo-wrap {
    flex-shrink: 0;
    width: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
}
.cv-header__hex {
    position: relative;
    width: 130px;
    height: 150px;
}
.cv-header__hex svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.cv-header__hex img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 96px;
    height: 130px;
    object-fit: cover;
    object-position: top;
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}

/* ── Info ── */
.cv-header__info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.cv-header__name {
    font-size: 1.9rem;
    font-weight: 900;
    color: #fff;
    letter-spacing: -.5px;
    line-height: 1.1;
    text-transform: uppercase;
}
.cv-header__title {
    font-size: .88rem;
    font-weight: 600;
    color: rgba(255,255,255,.65);
    letter-spacing: .04em;
}
.cv-header__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 4px;
}
.cv-header__id-badge {
    display: flex;
    flex-direction: column;
    gap: 2px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 10px;
    padding: 8px 16px;
    min-width: 90px;
}
.cv-header__id-lbl {
    font-size: .7rem;
    font-weight: 700;
    color: rgba(255,255,255,.55);
    letter-spacing: .06em;
    text-transform: uppercase;
}
.cv-header__id-val {
    font-size: .95rem;
    font-weight: 800;
    color: #fbbf24;
}

/* ── Responsive ── */
@media(max-width: 600px) {
    .cv-header__main { flex-direction: column; padding: 20px 20px; align-items: flex-start; }
    .cv-header__photo-wrap { width: 100%; justify-content: flex-start; padding: 0 0 8px; }
    .cv-header__topbar { padding: 12px 20px; }
    .cv-header__name { font-size: 1.5rem; }
}
/* ══════════════════════════════════════════════════════════════════════════
   RAFEDEEN DESIGN SYSTEM — 2026
   Everything ABOVE this banner is LEGACY and is deleted batch by batch
   (A shell · B home · C workers · D forms · E content).
   This layer is authored last so it wins the cascade over legacy rules.
   ══════════════════════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────
   1. TOKENS
   ───────────────────────────────────────────── */
:root {
    /* ── Brand ─────────────────────────────────────────────────────────
       Pixel-sampled from alrafedain_logo.webp. The logomark has FOUR
       tones, not one: vivid violet, deep indigo, lavender-grey, mist.
         #7a46db  vivid violet   (bright quadrant)  -> --brand-600
         #2f0b69  deep indigo    (dark quadrant)    -> --brand-900
         #8d7da9  lavender-grey  (muted quadrant)   -> --lav-500
         #e9e9e9  mist grey      (light quadrant)   -> --mist-300
       ------------------------------------------------------------------ */
    --brand-900: #2f0b69;
    --brand-800: #3c1585;
    --brand-700: #5324ac;
    --brand-600: #7a46db;
    --brand-500: #8f61e3;
    --brand-400: #a983ea;
    --brand-300: #c3a8f1;
    --brand-200: #ddcbf7;
    --brand-100: #ece4fd;
    --brand-50: #f7f3ff;

    /* Lavender-grey — the logo's third tone. Ornaments, dividers,
       secondary surfaces, muted UI. Carries the "quiet" half of the mark. */
    --lav-700: #5d5175;
    --lav-600: #736592;
    --lav-500: #8d7da9;
    --lav-400: #a89bc4;
    --lav-300: #c5bcd3;
    --lav-200: #ded8e7;
    --lav-100: #eeebf3;

    /* Mist — the logo's lightest tone. Page bands and hairlines. */
    --mist-300: #e9e9e9;
    --mist-200: #f1f0f4;
    --mist-100: #f8f7fa;

    /* Accent — CTA emphasis only, never decorative */
    --accent-600: #c98f22;
    --accent-500: #e0a93c;
    --accent-400: #ecc072;
    --accent-100: #fdf3e0;

    /* Neutrals */
    --canvas: #faf9fc;
    --surface: #ffffff;
    --surface-alt: var(--lav-100);
    --ink: #1a1230;
    --ink-soft: #3b3352;
    --muted: var(--lav-700);
    --muted-light: var(--lav-500);
    --line: var(--lav-200);
    --line-strong: var(--lav-300);

    /* Status */
    --success: #1e8e5a;
    --success-bg: #e6f5ee;
    --warning: #b8791a;
    --warning-bg: #fdf3e0;
    --danger: #c3362b;
    --danger-bg: #fdecea;

    /* Gradients */
    --grad-brand: linear-gradient(135deg, #2f0b69 0%, #7a46db 60%, #a983ea 100%);
    --grad-brand-soft: linear-gradient(135deg, #f7f3ff 0%, #ece4fd 100%);
    --grad-mist: linear-gradient(135deg, #f8f7fa 0%, #e9e9e9 100%);
    --grad-lav: linear-gradient(135deg, #8d7da9 0%, #c5bcd3 100%);
    --grad-accent: linear-gradient(135deg, #e0a93c 0%, #ecc072 100%);
    --grad-veil: linear-gradient(180deg, rgba(47, 11, 105, 0.15) 0%, rgba(47, 11, 105, 0.86) 100%);

    /* Typography */
    --font-sans: sansArabic, "Segoe UI", system-ui, -apple-system, sans-serif;
    --fs-xs: clamp(0.72rem, 0.7rem + 0.1vw, 0.78rem);
    --fs-sm: clamp(0.82rem, 0.79rem + 0.15vw, 0.9rem);
    --fs-base: clamp(0.94rem, 0.9rem + 0.2vw, 1.02rem);
    --fs-md: clamp(1.05rem, 1rem + 0.3vw, 1.18rem);
    --fs-lg: clamp(1.25rem, 1.14rem + 0.55vw, 1.6rem);
    --fs-xl: clamp(1.55rem, 1.34rem + 1.05vw, 2.25rem);
    --fs-2xl: clamp(1.95rem, 1.55rem + 2vw, 3.1rem);
    --fs-3xl: clamp(2.35rem, 1.7rem + 3.2vw, 4.1rem);
    --lh-tight: 1.2;
    --lh-snug: 1.4;
    --lh-normal: 1.75;

    /* Spacing — 4px base */
    --sp-1: 0.25rem;
    --sp-2: 0.5rem;
    --sp-3: 0.75rem;
    --sp-4: 1rem;
    --sp-5: 1.5rem;
    --sp-6: 2rem;
    --sp-7: 2.5rem;
    --sp-8: 3rem;
    --sp-9: 4rem;
    --sp-10: 5rem;
    --sp-11: 6rem;
    --section-y: clamp(3.5rem, 2rem + 6vw, 7rem);

    /* Radii */
    --r-sm: 8px;
    --r-md: 12px;
    --r-lg: 16px;
    --r-xl: 24px;
    --r-2xl: 32px;
    --r-pill: 999px;

    /* Elevation */
    --sh-1: 0 1px 2px rgba(47, 11, 105, 0.06), 0 1px 3px rgba(47, 11, 105, 0.04);
    --sh-2: 0 4px 10px rgba(47, 11, 105, 0.07), 0 2px 4px rgba(47, 11, 105, 0.04);
    --sh-3: 0 12px 28px rgba(47, 11, 105, 0.11), 0 4px 10px rgba(47, 11, 105, 0.06);
    --sh-4: 0 24px 56px rgba(47, 11, 105, 0.18), 0 8px 20px rgba(47, 11, 105, 0.09);
    --sh-brand: 0 10px 30px rgba(122, 70, 219, 0.32);
    --sh-accent: 0 10px 26px rgba(224, 169, 60, 0.32);

    /* Motion */
    --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
    --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --dur-fast: 0.18s;
    --dur-base: 0.32s;
    --dur-slow: 0.6s;

    /* Layout */
    --container: 1240px;
    --container-pad: clamp(1rem, 0.5rem + 2vw, 2rem);
    --header-h: 84px;
    --header-h-sticky: 68px;
}

/* ─────────────────────────────────────────────
   2. BASE
   ───────────────────────────────────────────── */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    background-color: var(--canvas);
    color: var(--ink-soft);
    font-family: var(--font-sans);
    font-size: var(--fs-base);
    line-height: var(--lh-normal);
    /* `clip`, not `hidden`. `overflow-x: hidden` forces the other axis to
       `auto`, which makes <body> a scroll container — and that breaks the
       sticky header, because sticky then resolves against <body> instead of
       the viewport and the header scrolls away. `clip` suppresses sideways
       overflow without creating a scroll container. */
    overflow-x: clip;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0 0 var(--sp-3);
    color: var(--ink);
    font-weight: 700;
    line-height: var(--lh-tight);
    letter-spacing: -0.01em;
}

h1 {
    font-size: var(--fs-3xl);
}
h2 {
    font-size: var(--fs-2xl);
}
h3 {
    font-size: var(--fs-xl);
}
h4 {
    font-size: var(--fs-lg);
}
h5 {
    font-size: var(--fs-md);
}
h6 {
    font-size: var(--fs-base);
}

p {
    margin: 0 0 var(--sp-4);
}

p:last-child {
    margin-bottom: 0;
}

a {
    color: var(--brand-600);
    text-decoration: none;
    transition: color var(--dur-fast) var(--ease-out);
}

a:hover {
    color: var(--brand-800);
}

img,
svg,
video {
    max-width: 100%;
    height: auto;
    display: block;
}

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

strong,
b {
    font-weight: 700;
    color: var(--ink);
}

hr {
    border: 0;
    border-top: 1px solid var(--line);
    margin: var(--sp-6) 0;
}

::selection {
    background: var(--brand-200);
    color: var(--brand-900);
}

:target {
    scroll-margin-top: calc(var(--header-h) + 24px);
}

:focus-visible {
    outline: 3px solid var(--brand-400);
    outline-offset: 2px;
    border-radius: var(--r-sm);
}

/* Scrollbar */
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}
::-webkit-scrollbar-track {
    background: var(--surface-alt);
}
::-webkit-scrollbar-thumb {
    background: var(--brand-300);
    border-radius: var(--r-pill);
    border: 2px solid var(--surface-alt);
}
::-webkit-scrollbar-thumb:hover {
    background: var(--brand-500);
}

/* ─────────────────────────────────────────────
   3. LAYOUT PRIMITIVES
   ───────────────────────────────────────────── */
.container {
    width: 100%;
    max-width: var(--container);
    margin-inline: auto;
    padding-inline: var(--container-pad);
}

.container--narrow {
    max-width: 860px;
}

.section {
    padding-block: var(--section-y);
    position: relative;
}

.section--alt {
    background: var(--surface-alt);
}

.section--brand {
    background: var(--grad-brand);
    color: rgba(255, 255, 255, 0.86);
}

.section--brand h1,
.section--brand h2,
.section--brand h3,
.section--brand h4,
.section--brand strong {
    color: #fff;
}

.section--tint {
    background: var(--grad-brand-soft);
}

.stack > * + * {
    margin-block-start: var(--sp-4);
}

.grid {
    display: grid;
    gap: var(--sp-5);
}

.grid--2 {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
}
.grid--3 {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}
.grid--4 {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
}

/* ─────────────────────────────────────────────
   4. SECTION HEADING
   ───────────────────────────────────────────── */
.sec-head {
    max-width: 720px;
    margin-inline: auto;
    margin-block-end: var(--sp-8);
    text-align: center;
}

.sec-head--start {
    margin-inline: 0;
    text-align: start;
}

.sec-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: var(--sp-2);
    padding: 0.4rem 0.95rem;
    margin-block-end: var(--sp-3);
    border-radius: var(--r-pill);
    background: var(--brand-100);
    color: var(--brand-700);
    font-size: var(--fs-xs);
    font-weight: 700;
    letter-spacing: 0.04em;
}

.sec-eyebrow::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--brand-500);
}

.section--brand .sec-eyebrow {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    backdrop-filter: blur(6px);
}

.section--brand .sec-eyebrow::before {
    background: var(--accent-500);
}

.sec-title {
    font-size: var(--fs-2xl);
    margin-block-end: var(--sp-3);
}

.sec-sub {
    color: var(--muted);
    font-size: var(--fs-md);
    line-height: var(--lh-snug);
    margin: 0;
}

.section--brand .sec-sub {
    color: rgba(255, 255, 255, 0.78);
}

/* ─────────────────────────────────────────────
   5. BUTTONS
   ───────────────────────────────────────────── */
.btn {
    --btn-bg: var(--brand-600);
    --btn-fg: #fff;
    --btn-bd: transparent;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--sp-2);
    padding: 0.85rem 1.75rem;
    border: 1.5px solid var(--btn-bd);
    border-radius: var(--r-pill);
    background: var(--btn-bg);
    color: var(--btn-fg);
    font-family: inherit;
    font-size: var(--fs-sm);
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    cursor: pointer;
    overflow: hidden;
    isolation: isolate;
    transition: transform var(--dur-base) var(--ease-spring),
        box-shadow var(--dur-base) var(--ease-out),
        background-color var(--dur-base) var(--ease-out),
        color var(--dur-base) var(--ease-out),
        border-color var(--dur-base) var(--ease-out);
}

.btn::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: rgba(255, 255, 255, 0.16);
    transform: translateY(101%);
    transition: transform var(--dur-base) var(--ease-out);
}

.btn:hover {
    color: var(--btn-fg);
    transform: translateY(-2px);
    box-shadow: var(--sh-brand);
}

.btn:hover::after {
    transform: translateY(0);
}

.btn:active {
    transform: translateY(0);
}

.btn i {
    font-size: 1.05em;
}

/* Variants */
.btn--accent {
    --btn-bg: var(--accent-500);
    --btn-fg: #26200f;
}
.btn--accent:hover {
    box-shadow: var(--sh-accent);
}

.btn--dark {
    --btn-bg: var(--brand-900);
}

.btn--outline {
    --btn-bg: transparent;
    --btn-fg: var(--brand-700);
    --btn-bd: var(--brand-300);
}
.btn--outline:hover {
    --btn-bg: var(--brand-600);
    --btn-fg: #fff;
    --btn-bd: var(--brand-600);
}

.btn--ghost {
    --btn-bg: transparent;
    --btn-fg: var(--ink);
    --btn-bd: transparent;
}
.btn--ghost:hover {
    --btn-bg: var(--brand-100);
    --btn-fg: var(--brand-800);
    box-shadow: none;
}

.btn--glass {
    --btn-bg: rgba(255, 255, 255, 0.12);
    --btn-fg: #fff;
    --btn-bd: rgba(255, 255, 255, 0.32);
    backdrop-filter: blur(10px);
}
.btn--glass:hover {
    --btn-bg: rgba(255, 255, 255, 0.22);
}

.btn--white {
    --btn-bg: #fff;
    --btn-fg: var(--brand-800);
}

/* Sizes */
.btn--sm {
    padding: 0.6rem 1.2rem;
    font-size: var(--fs-xs);
}
.btn--lg {
    padding: 1.05rem 2.25rem;
    font-size: var(--fs-md);
}
.btn--block {
    width: 100%;
}

.btn--icon {
    padding: 0;
    width: 44px;
    height: 44px;
    border-radius: 50%;
}

.btn[disabled],
.btn.is-loading {
    opacity: 0.55;
    pointer-events: none;
}

/* ─────────────────────────────────────────────
   6. CARDS
   ───────────────────────────────────────────── */
.card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    padding: var(--sp-5);
    box-shadow: var(--sh-1);
    transition: transform var(--dur-base) var(--ease-out),
        box-shadow var(--dur-base) var(--ease-out),
        border-color var(--dur-base) var(--ease-out);
}

.card--hover:hover,
.card--lift:hover {
    transform: translateY(-6px);
    border-color: var(--brand-200);
    box-shadow: var(--sh-3);
}

.card--flush {
    padding: 0;
    overflow: hidden;
}

.card__media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: var(--surface-alt);
}

.card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--dur-slow) var(--ease-out);
}

.card--hover:hover .card__media img {
    transform: scale(1.06);
}

.card__body {
    padding: var(--sp-5);
    flex: 1;
}

.card__title {
    font-size: var(--fs-md);
    margin-block-end: var(--sp-2);
}

.card__text {
    color: var(--muted);
    font-size: var(--fs-sm);
    line-height: var(--lh-snug);
    margin: 0;
}

.card__foot {
    padding: var(--sp-4) var(--sp-5);
    border-block-start: 1px solid var(--line);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-3);
}

/* Icon tile used inside feature cards */
.icon-tile {
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    border-radius: var(--r-md);
    background: var(--grad-brand-soft);
    color: var(--brand-600);
    font-size: 1.4rem;
    margin-block-end: var(--sp-4);
    transition: transform var(--dur-base) var(--ease-spring),
        background var(--dur-base) var(--ease-out),
        color var(--dur-base) var(--ease-out);
}

.card--hover:hover .icon-tile {
    background: var(--grad-brand);
    color: #fff;
    transform: rotate(-6deg) scale(1.08);
}

/* ─────────────────────────────────────────────
   7. BADGES & CHIPS
   ───────────────────────────────────────────── */
.badge {
    display: inline-flex;
    align-items: center;
    gap: var(--sp-1);
    padding: 0.3rem 0.7rem;
    border-radius: var(--r-pill);
    background: var(--brand-100);
    color: var(--brand-700);
    font-size: var(--fs-xs);
    font-weight: 700;
    line-height: 1.4;
}

.badge--accent {
    background: var(--accent-100);
    color: var(--accent-600);
}
.badge--success {
    background: var(--success-bg);
    color: var(--success);
}
.badge--warning {
    background: var(--warning-bg);
    color: var(--warning);
}
.badge--danger {
    background: var(--danger-bg);
    color: var(--danger);
}
.badge--solid {
    background: var(--brand-600);
    color: #fff;
}

/* ─────────────────────────────────────────────
   8. FORMS
   ───────────────────────────────────────────── */
.field {
    margin-block-end: var(--sp-4);
}

.field__label {
    display: block;
    margin-block-end: var(--sp-2);
    color: var(--ink);
    font-size: var(--fs-sm);
    font-weight: 700;
}

.field__label .req {
    color: var(--danger);
    margin-inline-start: 2px;
}

.input,
.select,
.textarea {
    width: 100%;
    padding: 0.85rem 1.1rem;
    border: 1.5px solid var(--line-strong);
    border-radius: var(--r-md);
    background: var(--surface);
    color: var(--ink);
    font-family: inherit;
    font-size: var(--fs-sm);
    line-height: 1.5;
    transition: border-color var(--dur-fast) var(--ease-out),
        box-shadow var(--dur-fast) var(--ease-out),
        background-color var(--dur-fast) var(--ease-out);
}

.input::placeholder,
.textarea::placeholder {
    color: var(--muted-light);
}

.input:hover,
.select:hover,
.textarea:hover {
    border-color: var(--brand-300);
}

.input:focus,
.select:focus,
.textarea:focus {
    outline: none;
    border-color: var(--brand-500);
    box-shadow: 0 0 0 4px var(--brand-100);
}

.textarea {
    min-height: 140px;
    resize: vertical;
}

.select {
    appearance: none;
    padding-inline-end: 2.75rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b6580' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 18px;
    background-position: left 1.1rem center;
}

[dir="ltr"] .select {
    background-position: right 1.1rem center;
}

.field--error .input,
.field--error .select,
.field--error .textarea,
.is-invalid {
    border-color: var(--danger);
}

.field__error {
    display: block;
    margin-block-start: var(--sp-2);
    color: var(--danger);
    font-size: var(--fs-xs);
    font-weight: 600;
}

.field__hint {
    display: block;
    margin-block-start: var(--sp-2);
    color: var(--muted);
    font-size: var(--fs-xs);
}

/* Checkbox / radio */
.choice {
    display: inline-flex;
    align-items: center;
    gap: var(--sp-2);
    cursor: pointer;
    font-size: var(--fs-sm);
}

.choice input {
    appearance: none;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    border: 1.5px solid var(--line-strong);
    border-radius: 6px;
    background: var(--surface);
    display: grid;
    place-items: center;
    cursor: pointer;
    transition: all var(--dur-fast) var(--ease-out);
}

.choice input[type="radio"] {
    border-radius: 50%;
}

.choice input::after {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 3px;
    transform: scale(0);
    background: #fff;
    transition: transform var(--dur-fast) var(--ease-spring);
}

.choice input[type="radio"]::after {
    border-radius: 50%;
}

.choice input:checked {
    background: var(--brand-600);
    border-color: var(--brand-600);
}

.choice input:checked::after {
    transform: scale(1);
}

/* ─────────────────────────────────────────────
   9. HEADER / NAV
   ───────────────────────────────────────────── */
body > header {
    position: sticky;
    top: 0;
    z-index: 900;
    background: rgba(255, 255, 255, 0.86);
    backdrop-filter: blur(14px) saturate(150%);
    border-block-end: 1px solid var(--line);
    transition: background var(--dur-base) var(--ease-out),
        box-shadow var(--dur-base) var(--ease-out);
}

/* app.js sets `is-scrolled` on <body> and `sticky` on .navbar */
body.is-scrolled > header {
    background: rgba(255, 255, 255, 0.96);
    box-shadow: var(--sh-2);
}

.navbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-5);
    min-height: var(--header-h);
    transition: min-height var(--dur-base) var(--ease-out);
}

.navbar.sticky {
    min-height: var(--header-h-sticky);
}

.navbar .logo {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
}

.navbar .logo img {
    height: 46px;
    width: auto;
    object-fit: contain;
    transition: height var(--dur-base) var(--ease-out);
}

.navbar.sticky .logo img {
    height: 38px;
}

/* Links */
.nav_links {
    display: flex;
    align-items: center;
    gap: var(--sp-1);
    flex: 1 1 auto;
    justify-content: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

.nav_links > li {
    position: relative;
}

.nav_links > li > a,
.nav_links > li > .card-header {
    display: flex;
    align-items: center;
    gap: var(--sp-1);
    padding: 0.6rem 0.85rem;
    border-radius: var(--r-pill);
    color: var(--ink-soft);
    font-size: var(--fs-sm);
    font-weight: 600;
    white-space: nowrap;
    background: none;
    border: 0;
    cursor: pointer;
    transition: color var(--dur-fast) var(--ease-out),
        background-color var(--dur-fast) var(--ease-out);
}

.nav_links > li > a::after,
.nav_links > li > .card-header::after {
    content: "";
    position: absolute;
    inset-block-end: 0.28rem;
    /* physical left, not inset-inline-start: with a -50% translate the
       logical property mis-centres in RTL by the element's own width */
    left: 50%;
    translate: -50% 0;
    width: 0;
    height: 2px;
    border-radius: var(--r-pill);
    background: var(--brand-600);
    transition: width var(--dur-base) var(--ease-out);
}

.nav_links > li > a:hover,
.nav_links > li > .card-header:hover,
.nav_links > li.is-open > .card-header {
    color: var(--brand-700);
    background: var(--brand-50);
}

.nav_links > li > a:hover::after,
.nav_links > li > a.active::after {
    width: 22px;
}

.nav_links > li > a.active {
    color: var(--brand-700);
    font-weight: 700;
}

/* Dropdown caret for parent items */
.nav_links .dropdown-link > .card-header .user-info {
    display: flex;
    align-items: center;
    gap: var(--sp-1);
}

.nav_links .dropdown-link > .card-header .user-info::after {
    content: "\f078";
    font-family: "Font Awesome 6 Pro", "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 0.6em;
    color: var(--muted-light);
    transition: transform var(--dur-base) var(--ease-out);
}

.nav_links .dropdown-link.is-open > .card-header .user-info::after {
    transform: rotate(180deg);
}

.nav_links .dropdown-link .email {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}

/* Dropdown menu */
.dropdown-link {
    position: relative;
}

.dropdown-link .menu {
    position: absolute;
    top: calc(100% + 10px);
    left: 50%;
    translate: -50% 0;
    min-width: 232px;
    padding: var(--sp-2);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-4);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity var(--dur-base) var(--ease-out),
        transform var(--dur-base) var(--ease-out),
        visibility var(--dur-base);
    z-index: 950;
}

.dropdown-link.is-open .menu,
.dropdown-link .menu.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown-link .menu::before {
    content: "";
    position: absolute;
    inset-block-end: 100%;
    inset-inline: 0;
    height: 12px;
}

.dropdown-link .menu-item {
    display: flex;
    align-items: center;
    gap: var(--sp-3);
    padding: 0.65rem 0.85rem;
    border-radius: var(--r-sm);
    color: var(--ink-soft);
    font-size: var(--fs-sm);
    font-weight: 600;
    transition: background-color var(--dur-fast) var(--ease-out),
        color var(--dur-fast) var(--ease-out),
        padding-inline-start var(--dur-fast) var(--ease-out);
}

.dropdown-link .menu-item:hover {
    background: var(--brand-50);
    color: var(--brand-700);
    padding-inline-start: 1.15rem;
}

.dropdown-link .menu-item .icon {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: var(--r-sm);
    background: var(--brand-100);
    color: var(--brand-600);
    flex: 0 0 30px;
}

.dropdown-link .menu-item .icon svg {
    width: 16px;
    height: 16px;
}

.dropdown-link .menu-item.logout {
    color: var(--danger);
}

.dropdown-link .menu-item.logout:hover {
    background: var(--danger-bg);
    color: var(--danger);
}

.dropdown-link .menu-item .icon.red {
    background: var(--danger-bg);
    color: var(--danger);
}

/* Account trigger (logged in) */
.actions .dropdown-link > .card-header {
    display: flex;
    align-items: center;
    gap: var(--sp-2);
    padding: 0.35rem 0.85rem 0.35rem 0.35rem;
    border: 1px solid var(--line);
    border-radius: var(--r-pill);
    background: var(--surface);
    cursor: pointer;
    transition: border-color var(--dur-fast) var(--ease-out),
        box-shadow var(--dur-fast) var(--ease-out);
}

.actions .dropdown-link > .card-header:hover {
    border-color: var(--brand-300);
    box-shadow: var(--sh-2);
}

.actions .dropdown-link .avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    overflow: hidden;
    flex: 0 0 34px;
}

.actions .dropdown-link .avatar svg {
    width: 100%;
    height: 100%;
}

.actions .dropdown-link .email {
    margin: 0;
    font-size: var(--fs-sm);
    font-weight: 700;
    color: var(--ink);
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Right-hand actions */
.actions {
    display: flex;
    align-items: center;
    gap: var(--sp-3);
    flex: 0 0 auto;
}

.language-btn {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: var(--surface);
    cursor: pointer;
    overflow: hidden;
    transition: transform var(--dur-base) var(--ease-spring),
        border-color var(--dur-fast) var(--ease-out),
        box-shadow var(--dur-fast) var(--ease-out);
}

.language-btn:hover {
    transform: scale(1.08);
    border-color: var(--brand-300);
    box-shadow: var(--sh-2);
}

.language-btn img {
    width: 24px;
    height: 24px;
    object-fit: cover;
    border-radius: 50%;
}

.nav-login {
    background: var(--grad-brand);
    border-color: transparent;
}

.nav-login:hover {
    box-shadow: var(--sh-brand);
}

/* Mobile toggler */
.toggler {
    display: none;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: var(--r-md);
    background: var(--surface);
    color: var(--brand-800);
    font-size: 1.15rem;
    cursor: pointer;
    transition: background-color var(--dur-fast) var(--ease-out),
        color var(--dur-fast) var(--ease-out);
}

.toggler:hover {
    background: var(--brand-100);
}

/* ── Header responsive ── */
@media (max-width: 1200px) {
    .nav_links > li > a,
    .nav_links > li > .card-header {
        padding: 0.55rem 0.6rem;
        font-size: var(--fs-xs);
    }
}

@media (max-width: 1024px) {
    .toggler {
        display: grid;
    }

    .nav_links {
        position: fixed;
        inset-block-start: var(--header-h);
        inset-inline-end: 0;
        z-index: 940;
        width: min(360px, 88vw);
        height: calc(100dvh - var(--header-h));
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: var(--sp-1);
        padding: var(--sp-5) var(--sp-4) var(--sp-9);
        background: var(--surface);
        border-inline-start: 1px solid var(--line);
        box-shadow: var(--sh-4);
        overflow-y: auto;
        transform: translateX(100%);
        visibility: hidden;
        transition: transform var(--dur-base) var(--ease-out),
            visibility var(--dur-base);
    }

    [dir="ltr"] .nav_links {
        transform: translateX(-100%);
    }

    .nav_links.active,
    .nav_links.show,
    .nav_links.open {
        transform: translateX(0);
        visibility: visible;
    }

    .nav_links > li > a,
    .nav_links > li > .card-header {
        width: 100%;
        justify-content: space-between;
        padding: 0.85rem 1rem;
        border-radius: var(--r-md);
        font-size: var(--fs-base);
    }

    .nav_links > li > a::after,
    .nav_links > li > .card-header::after {
        display: none;
    }

    /* Dropdowns become inline accordions on mobile */
    .nav_links .dropdown-link .menu {
        position: static;
        translate: none;
        transform: none;
        width: 100%;
        min-width: 0;
        margin-block-start: var(--sp-1);
        padding: var(--sp-1) var(--sp-1) var(--sp-1) 0;
        border: 0;
        border-inline-start: 2px solid var(--brand-100);
        border-radius: 0;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        display: none;
    }

    .nav_links .dropdown-link.is-open .menu {
        display: block;
        animation: ds-slide-down var(--dur-base) var(--ease-out);
    }

    .navbar .logo img {
        height: 36px;
    }
}

@media (max-width: 420px) {
    .navbar .logo img {
        height: 30px;
    }
}

@media (max-width: 600px) {
    .actions .dropdown-link .email {
        display: none;
    }

    .nav-login {
        padding: 0.6rem 0.85rem;
    }

    .nav-login .text {
        display: none;
    }
}

/* Drawer scrim — driven purely by the `.active` class app.js already sets
   on .nav_links, so no extra JS is needed. */
.nav-scrim {
    display: none;
}

@media (max-width: 1024px) {
    .nav-scrim {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 930;
        background: rgba(26, 22, 38, 0.45);
        backdrop-filter: blur(2px);
        opacity: 0;
        visibility: hidden;
        transition: opacity var(--dur-base) var(--ease-out),
            visibility var(--dur-base);
    }

    .nav_links.active ~ .nav-scrim {
        opacity: 1;
        visibility: visible;
    }
}

/* ─────────────────────────────────────────────
   9b. OVERLAY HEADER
   On pages that open with a full-bleed hero the bar floats on the media
   instead of sitting on a white strip above it. Two states, and the class
   app.js already sets on <body> switches between them:

     top of page  → transparent, white marks, a soft scrim for legibility
     scrolled     → the standard white glass bar (rules in section 9)

   The page is pulled up under the bar by `.hp` in home.css; nothing here
   changes the header's own layout, so every other page is untouched.
   ───────────────────────────────────────────── */
/* `:not(.is-scrolled)` is load-bearing, not decoration: this selector and the
   `body.is-scrolled > header` rule in section 9 carry the SAME specificity, so
   without it this block simply wins on source order and the bar stays
   transparent all the way down the page. */
body:has(.vh-hero):not(.is-scrolled) > header {
    background: transparent;
    border-block-end-color: transparent;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

/* Scrolled: a solid white bar spanning the full viewport width. Opaque rather
   than the translucent glass the inner pages use, because behind it here is
   moving video and a blur cannot settle it. */
body.is-scrolled:has(.vh-hero) > header {
    background: #fff;
    border-block-end-color: var(--line);
    box-shadow: var(--sh-2);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

/* A frame of the video can be bright, so the marks get their own scrim rather
   than relying on the footage staying dark. */
body:has(.vh-hero) > header::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(
        180deg,
        rgba(10, 4, 26, 0.6) 0%,
        rgba(10, 4, 26, 0.26) 58%,
        transparent 100%
    );
    transition: opacity var(--dur-base) var(--ease-out);
}

/* Scrolled: section 9 restores the white glass, so the scrim and the white
   marks have to step back out of the way. */
body.is-scrolled:has(.vh-hero) > header::before {
    opacity: 0;
}

/* The logo is dark ink on transparent, which would vanish on the footage.
   Same treatment as the footer mark. */
body:has(.vh-hero):not(.is-scrolled) .navbar .logo img {
    filter: brightness(0) invert(1)
        drop-shadow(0 2px 10px rgba(0, 0, 0, 0.45));
}

/* Only from the breakpoint where the links sit in the bar. Below it they live
   in a white drawer, where white text would be invisible. */
@media (min-width: 1025px) {
    body:has(.vh-hero):not(.is-scrolled) .nav_links > li > a,
    body:has(.vh-hero):not(.is-scrolled) .nav_links > li > .card-header,
    body:has(.vh-hero):not(.is-scrolled) .nav_links .dropdown-link .email {
        color: rgba(255, 255, 255, 0.86);
    }

    body:has(.vh-hero):not(.is-scrolled) .nav_links > li > a:hover,
    body:has(.vh-hero):not(.is-scrolled) .nav_links > li > .card-header:hover,
    body:has(.vh-hero):not(.is-scrolled) .nav_links > li.is-open > .card-header {
        background: rgba(255, 255, 255, 0.14);
        color: #fff;
    }

    body:has(.vh-hero):not(.is-scrolled) .nav_links > li > a.active {
        color: #fff;
    }

    body:has(.vh-hero):not(.is-scrolled) .nav_links > li > a::after,
    body:has(.vh-hero):not(.is-scrolled) .nav_links > li > .card-header::after {
        background: var(--accent-400);
    }
}

/* Round buttons in the bar become glass so they read as one set with the
   hero badge below them. */
body:has(.vh-hero):not(.is-scrolled) .language-btn,
body:has(.vh-hero):not(.is-scrolled) .toggler {
    border-color: rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.14);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    color: #fff;
}

body:has(.vh-hero):not(.is-scrolled) .language-btn:hover,
body:has(.vh-hero):not(.is-scrolled) .toggler:hover {
    border-color: rgba(255, 255, 255, 0.55);
    background: rgba(255, 255, 255, 0.24);
}

/* A violet button on violet footage has almost no edge; white does. */
body:has(.vh-hero):not(.is-scrolled) .nav-login {
    background: #fff;
    color: var(--brand-800);
    box-shadow: 0 10px 26px rgba(10, 3, 26, 0.35);
}

body:has(.vh-hero):not(.is-scrolled) .nav-login:hover {
    background: var(--brand-50);
    box-shadow: 0 14px 32px rgba(10, 3, 26, 0.45);
}

body:has(.vh-hero):not(.is-scrolled) .actions .dropdown-link > .card-header {
    border-color: rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.14);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

body:has(.vh-hero):not(.is-scrolled) .actions .dropdown-link .email {
    color: #fff;
}

/* Every switch above is a colour change, so one transition declaration on the
   shared pieces covers the whole handover in both directions. `height` and
   `transform` are carried along because this replaces the shorthand the base
   rules in section 9 set — dropping them would make the sticky logo resize and
   the language button scale in one jump. */
.navbar .logo img,
.language-btn,
.toggler,
.nav-login,
.actions .dropdown-link > .card-header,
.nav_links > li > a,
.nav_links > li > .card-header {
    transition: color var(--dur-base) var(--ease-out),
        background-color var(--dur-base) var(--ease-out),
        border-color var(--dur-base) var(--ease-out),
        box-shadow var(--dur-base) var(--ease-out),
        filter var(--dur-base) var(--ease-out),
        height var(--dur-base) var(--ease-out),
        transform var(--dur-base) var(--ease-spring);
}

/* ─────────────────────────────────────────────
   10. PAGE HERO + BREADCRUMB (inner pages)
   ───────────────────────────────────────────── */
.page-hero {
    position: relative;
    padding-block: clamp(3rem, 2rem + 5vw, 5.5rem);
    background: var(--grad-brand);
    color: rgba(255, 255, 255, 0.85);
    overflow: hidden;
    isolation: isolate;
}

.page-hero::before {
    content: "";
    position: absolute;
    inset-block-start: -40%;
    inset-inline-end: -10%;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.14), transparent 62%);
    z-index: -1;
    animation: ds-drift 18s var(--ease-in-out) infinite alternate;
}

.page-hero::after {
    content: "";
    position: absolute;
    inset-block-end: -55%;
    inset-inline-start: -8%;
    width: 460px;
    height: 460px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(224, 169, 60, 0.18), transparent 62%);
    z-index: -1;
    animation: ds-drift 22s var(--ease-in-out) infinite alternate-reverse;
}

.page-hero__inner {
    position: relative;
    z-index: 1;
    text-align: center;
    max-width: 760px;
    margin-inline: auto;
}

.page-hero__title {
    color: #fff;
    font-size: var(--fs-2xl);
    margin-block-end: var(--sp-3);
}

.page-hero__sub {
    color: rgba(255, 255, 255, 0.78);
    font-size: var(--fs-md);
    line-height: var(--lh-snug);
    margin: 0;
}

.breadcrumb-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--sp-2);
    margin-block-end: var(--sp-4);
    font-size: var(--fs-sm);
}

.breadcrumb-nav a {
    color: rgba(255, 255, 255, 0.72);
    font-weight: 600;
}

.breadcrumb-nav a:hover {
    color: #fff;
}

.breadcrumb-nav li {
    display: flex;
    align-items: center;
    gap: var(--sp-2);
}

.breadcrumb-nav li + li::before {
    content: "/";
    color: rgba(255, 255, 255, 0.4);
}

.breadcrumb-nav [aria-current="page"] {
    color: var(--accent-400);
    font-weight: 700;
}

/* ─────────────────────────────────────────────
   11. FOOTER
   One deep violet band — the same colour the dark sections use — rather than
   the violet-to-orange gradient it carried before, which was the one place on
   the site where an off-palette orange appeared. Colour comes from a gold
   hairline, two slow glows and the ornament layer instead.
   ───────────────────────────────────────────── */
.site-footer {
    position: relative;
    padding-block-start: var(--sp-10);
    background: #150b2d;
    color: rgba(255, 255, 255, 0.66);
    overflow: hidden;
    isolation: isolate;
}

/* The one bright line in the band, and the handover from the page above it */
.site-footer::before {
    content: "";
    position: absolute;
    inset-block-start: 0;
    inset-inline: 0;
    height: 2px;
    background: linear-gradient(
        90deg,
        transparent,
        var(--accent-500) 22%,
        var(--brand-500) 55%,
        transparent
    );
}

.site-footer::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: radial-gradient(
            60% 44% at 50% 0%,
            rgba(122, 70, 219, 0.32),
            transparent 70%
        ),
        radial-gradient(
            42% 40% at 8% 100%,
            rgba(224, 169, 60, 0.12),
            transparent 72%
        );
}

.site-footer__patterns {
    position: absolute;
    inset: 0;
    z-index: -1;
    overflow: hidden;
    pointer-events: none;
}

.site-footer__patterns .orn-mandala {
    width: clamp(210px, 22vw, 330px);
    opacity: 0.07;
}

.site-footer__patterns .orn-corner {
    width: clamp(180px, 18vw, 280px);
    opacity: 0.06;
}

.site-footer__patterns .orn-tile {
    opacity: 0.035;
}

.site-footer > .container {
    position: relative;
    z-index: 1;
}

.site-footer__top {
    display: grid;
    grid-template-columns: 1.7fr repeat(3, 1fr);
    gap: var(--sp-7) var(--sp-5);
    padding-block-end: var(--sp-7);
}

.site-footer__brand img {
    height: 54px;
    width: auto;
    object-fit: contain;
    margin-block-end: var(--sp-4);
    /* The mark is dark ink on transparent, so it is flattened to white here */
    filter: brightness(0) invert(1);
    opacity: 0.95;
}

.site-footer__brand p {
    color: rgba(255, 255, 255, 0.66);
    font-size: var(--fs-sm);
    line-height: var(--lh-snug);
    max-width: 44ch;
}

.site-footer__follow {
    display: flex;
    align-items: center;
    gap: var(--sp-3);
    flex-wrap: wrap;
    margin-block-start: var(--sp-5);
}

.site-footer__follow-lbl {
    color: rgba(255, 255, 255, 0.5);
    font-size: var(--fs-xs);
    font-weight: 700;
    letter-spacing: 0.02em;
}

.site-footer__col h4 {
    position: relative;
    color: #fff;
    font-size: var(--fs-base);
    margin-block-end: var(--sp-4);
    padding-block-end: var(--sp-3);
}

.site-footer__col h4::after {
    content: "";
    position: absolute;
    inset-block-end: 0;
    inset-inline-start: 0;
    width: 32px;
    height: 2px;
    border-radius: var(--r-pill);
    background: var(--accent-500);
}

.site-footer__col ul {
    display: flex;
    flex-direction: column;
    gap: var(--sp-3);
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-footer__col li,
.site-footer__col a {
    color: rgba(255, 255, 255, 0.62);
    font-size: var(--fs-sm);
    line-height: 1.5;
}

.site-footer__col a {
    display: inline-flex;
    align-items: center;
    gap: var(--sp-2);
    text-decoration: none;
    transition: color var(--dur-fast) var(--ease-out),
        transform var(--dur-fast) var(--ease-out);
}

.site-footer__col a:hover {
    color: #fff;
    transform: translateX(-4px);
}

[dir="ltr"] .site-footer__col a:hover {
    transform: translateX(4px);
}

/* ── Contact column: label above value, each with its own icon ── */
.site-footer__contact > li {
    display: flex;
    align-items: flex-start;
    gap: var(--sp-3);
}

.site-footer__contact > li > i {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    color: var(--brand-300);
    font-size: 0.8rem;
}

.site-footer__contact > li > span {
    display: grid;
    gap: 0.1rem;
    min-width: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: var(--fs-sm);
    line-height: 1.5;
    word-break: break-word;
}

.site-footer__contact small {
    color: rgba(255, 255, 255, 0.42);
    font-size: 0.68rem;
    font-weight: 600;
}

/* The nudge-on-hover the link columns use would drag these out of their icon,
   so contact links only change colour. */
.site-footer__contact a:hover {
    transform: none;
}

/* ── Licensing + tax strip ── */
.site-footer__trust {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--sp-4);
    padding-block: var(--sp-4);
    border-block: 1px solid rgba(255, 255, 255, 0.1);
}

.site-footer__tax {
    display: inline-flex;
    align-items: center;
    gap: var(--sp-3);
    padding: 0.6rem 1rem;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: var(--r-pill);
    background: rgba(255, 255, 255, 0.05);
}

.site-footer__tax img {
    height: 30px;
    width: auto;
}

.site-footer__tax > i {
    color: var(--accent-400);
    font-size: 1.15rem;
}

.site-footer__tax span {
    display: grid;
    gap: 0.05rem;
}

.site-footer__tax small {
    color: rgba(255, 255, 255, 0.45);
    font-size: 0.66rem;
    font-weight: 600;
}

.site-footer__tax b {
    color: #fff;
    font-size: var(--fs-sm);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.site-footer__licences {
    display: inline-flex;
    align-items: center;
    gap: var(--sp-4);
    flex-wrap: wrap;
}

.site-footer__licences > span {
    color: rgba(255, 255, 255, 0.45);
    font-size: var(--fs-xs);
    font-weight: 600;
}

/* Both marks are dark artwork meant for white pages: flattened to white they
   read as one set instead of two different logos fighting the band. */
.site-footer__licences img {
    height: 26px;
    width: auto;
    filter: brightness(0) invert(1);
    opacity: 0.62;
    transition: opacity var(--dur-base) var(--ease-out);
}

.site-footer__licences img:hover {
    opacity: 0.9;
}

/* ── Social ── */
.site-footer__social {
    display: flex;
    align-items: center;
    gap: var(--sp-2);
}

.site-footer__social a {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.07);
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    transition: transform var(--dur-base) var(--ease-spring),
        background-color var(--dur-fast) var(--ease-out),
        border-color var(--dur-fast) var(--ease-out),
        color var(--dur-fast) var(--ease-out);
}

.site-footer__social a:hover {
    border-color: var(--accent-500);
    background: var(--accent-500);
    color: #26200f;
    transform: translateY(-3px);
}

.site-footer a:focus-visible {
    outline: 2px solid #ffbf69;
    outline-offset: 4px;
}

/* ── Bottom bar ── */
.site-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--sp-3) var(--sp-4);
    padding-block: var(--sp-5);
    color: rgba(255, 255, 255, 0.5);
    font-size: var(--fs-sm);
}

.site-footer__legal {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--sp-2) var(--sp-4);
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-footer__legal li {
    position: relative;
}

/* Hairline separators between the legal links, but not before the first */
.site-footer__legal li + li::before {
    content: "";
    position: absolute;
    inset-block: 0.15rem;
    inset-inline-end: calc(var(--sp-4) / -2);
    width: 1px;
    background: rgba(255, 255, 255, 0.18);
}

.site-footer__legal a {
    color: rgba(255, 255, 255, 0.6);
    font-size: var(--fs-xs);
    font-weight: 600;
    text-decoration: none;
    transition: color var(--dur-fast) var(--ease-out);
}

.site-footer__legal a:hover {
    color: #fff;
}

.site-footer__powered {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--sp-2);
    padding-block: var(--sp-4);
    border-block-start: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.45);
    font-size: var(--fs-xs);
}

.site-footer__cam-link {
    display: inline-flex;
    align-items: center;
    gap: var(--sp-2);
    color: rgba(255, 255, 255, 0.65);
    text-decoration: none;
    transition: color var(--dur-fast) var(--ease-out);
}

.site-footer__cam-link:hover {
    color: #fff;
}

.site-footer__cam-logo {
    height: 20px;
    width: auto;
}

@media (max-width: 900px) {
    .site-footer__top {
        grid-template-columns: 1fr 1fr;
    }

    .site-footer__brand {
        grid-column: 1 / -1;
    }

    .site-footer__trust {
        justify-content: flex-start;
    }
}

@media (max-width: 560px) {
    .site-footer__top {
        grid-template-columns: 1fr;
        gap: var(--sp-6);
    }

    .site-footer__bottom {
        flex-direction: column;
        text-align: center;
    }

    .site-footer__legal {
        justify-content: center;
    }
}

/* ─────────────────────────────────────────────
   12. FLOATING UI
   ───────────────────────────────────────────── */
/* Social links sit on the page edge and reveal their labels on hover. Keeping
   the label visually available makes the icons unambiguous without occupying
   permanent horizontal space. */
.social-side-rail {
    position: fixed;
    inset-block-start: 50%;
    inset-inline-end: 0;
    z-index: 890;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 6px;
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-inline-end: 0;
    border-radius: 16px 0 0 16px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 12px 34px rgba(47, 11, 105, 0.2);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    transform: translateY(-50%);
}

[dir="rtl"] .social-side-rail {
    border-radius: 0 16px 16px 0;
}

.social-side-rail__link {
    position: relative;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 12px;
    color: #fff;
    font-size: 1.18rem;
    text-decoration: none;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.14);
    transition: transform var(--dur-base) var(--ease-spring),
        box-shadow var(--dur-base) var(--ease-out);
}

.social-side-rail__link--instagram {
    background: linear-gradient(135deg, #833ab4, #e1306c 58%, #fcb045);
}

.social-side-rail__link--tiktok {
    background: #111;
    text-shadow: -1px -1px #25f4ee, 1px 1px #fe2c55;
}

.social-side-rail__link--snapchat {
    background: #fffc00;
    color: #111;
}

.social-side-rail__link--whatsapp {
    background: #25d366;
}

.social-side-rail__link span {
    position: absolute;
    inset-inline-end: calc(100% + 12px);
    top: 50%;
    width: max-content;
    max-width: 210px;
    padding: 7px 11px;
    border-radius: 8px;
    background: #201035;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.4;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-50%) translateX(8px);
    transition: opacity var(--dur-fast) var(--ease-out),
        transform var(--dur-fast) var(--ease-out);
}

.social-side-rail__link span::after {
    content: "";
    position: absolute;
    inset-inline-start: 100%;
    top: 50%;
    border: 5px solid transparent;
    border-inline-start-color: #201035;
    transform: translateY(-50%);
}

.social-side-rail__link:hover,
.social-side-rail__link:focus-visible {
    color: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.24);
    transform: translateX(-4px) scale(1.05);
}

.social-side-rail__link--snapchat:hover,
.social-side-rail__link--snapchat:focus-visible {
    color: #111;
}

[dir="rtl"] .social-side-rail__link:hover,
[dir="rtl"] .social-side-rail__link:focus-visible {
    transform: translateX(4px) scale(1.05);
}

.social-side-rail__link:hover span,
.social-side-rail__link:focus-visible span {
    opacity: 1;
    transform: translateY(-50%);
}

.social-side-rail__link:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 2px;
}

@media (max-width: 600px) {
    .social-side-rail {
        gap: 3px;
        padding: 4px;
        border-radius: 13px 0 0 13px;
    }

    [dir="rtl"] .social-side-rail {
        border-radius: 0 13px 13px 0;
    }

    .social-side-rail__link {
        width: 40px;
        height: 40px;
        border-radius: 10px;
        font-size: 1.05rem;
    }

    .social-side-rail__link span {
        display: none;
    }
}

/* The two floats swapped corners: back-to-top is on the reading-start side
   (right in Arabic) and WhatsApp took the other one. They are logical, not
   physical, properties, so the pair mirrors in the English build instead of
   both piling into the same corner. */
.whatsapp-float {
    position: fixed;
    inset-block-end: 24px;
    inset-inline-end: 24px;
    z-index: 880;
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #25d366;
    color: #fff;
    font-size: 1.6rem;
    box-shadow: 0 8px 24px rgba(37, 211, 102, 0.4);
    transition: transform var(--dur-base) var(--ease-spring),
        box-shadow var(--dur-base) var(--ease-out);
}

.whatsapp-float::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 2px solid #25d366;
    animation: ds-ping 2.4s var(--ease-out) infinite;
}

.whatsapp-float:hover {
    color: #fff;
    transform: scale(1.1);
    box-shadow: 0 12px 32px rgba(37, 211, 102, 0.55);
}

/* Back to top — a round floating button that mirrors the WhatsApp float on the
   opposite corner, so the two read as one pair of page controls. The ring is
   not decoration: it fills with how far down the page the visitor is. */
.scroll-top-indicator {
    position: fixed;
    inset-block-end: 24px;
    inset-inline-start: 24px;
    z-index: 880;
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: none;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    /* Rises into place rather than blinking on */
    transform: translateY(18px) scale(0.85);
    transition: opacity var(--dur-base) var(--ease-out),
        transform var(--dur-base) var(--ease-spring),
        visibility var(--dur-base);
}

.scroll-top-indicator.is-visible {
    opacity: 1;
    visibility: visible;
    transform: none;
}

.scroll-top-indicator__meter {
    position: relative;
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    /* The swept part of the cone is the progress; the rest is the track */
    background: conic-gradient(
        var(--brand-600) calc(var(--scroll-progress, 0) * 100%),
        rgba(122, 70, 219, 0.2) 0
    );
    box-shadow: 0 10px 26px rgba(47, 11, 105, 0.28);
    transition: transform var(--dur-base) var(--ease-spring),
        box-shadow var(--dur-base) var(--ease-out);
}

/* The disc that turns the cone into a ring */
.scroll-top-indicator__meter::before {
    content: "";
    position: absolute;
    inset: 3px;
    border-radius: 50%;
    background: var(--surface);
}

.scroll-top-indicator__meter i {
    position: relative;
    color: var(--brand-700);
    font-size: 0.95rem;
    transition: transform var(--dur-base) var(--ease-out),
        color var(--dur-base) var(--ease-out);
}

.scroll-top-indicator:hover .scroll-top-indicator__meter {
    transform: scale(1.08);
    box-shadow: 0 14px 32px rgba(47, 11, 105, 0.38);
}

/* The arrow lifts on hover — the direction it is about to send you */
.scroll-top-indicator:hover .scroll-top-indicator__meter i {
    transform: translateY(-3px);
    color: var(--brand-800);
}

.scroll-top-indicator:focus-visible {
    outline: 2px solid var(--brand-600);
    outline-offset: 3px;
}

@media (max-width: 600px) {
    .whatsapp-float {
        width: 50px;
        height: 50px;
        font-size: 1.4rem;
        inset-block-end: 18px;
        inset-inline-end: 18px;
    }

    .scroll-top-indicator {
        width: 46px;
        height: 46px;
        inset-block-end: 18px;
        inset-inline-start: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .scroll-top-indicator,
    .scroll-top-indicator__meter,
    .scroll-top-indicator__meter i {
        transition: none;
    }

    .scroll-top-indicator.is-visible {
        transform: none;
    }
}

/* ─────────────────────────────────────────────
   13. PAGE LOADER
   Generic on purpose: a ring, a core and a progress sweep. It carries no logo
   and no company mark — only the palette ties it to the site, so it reads as
   "the page is loading" rather than as a brand animation.

   Four layered motions, each on a different beat, so the whole thing never
   looks like it is ticking in lockstep:
     · the outer arc turns slowly while its own length grows and shrinks
     · a shorter inner arc counter-turns
     · the core breathes and throws one expanding ring
     · a sweep crosses the bar in the reading direction
   ───────────────────────────────────────────── */
.pg-loader {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    align-content: center;
    gap: var(--sp-6);
    background: radial-gradient(
            52% 42% at 50% 44%,
            rgba(122, 70, 219, 0.13),
            transparent 70%
        ),
        var(--canvas);
    transition: opacity var(--dur-slow) var(--ease-out),
        visibility var(--dur-slow);
}

.pg-loader.closing {
    opacity: 0;
    /* Once it starts fading it must stop eating clicks — otherwise the still
       fully-stacked (z-index 9999) invisible overlay swallows the first tap on
       the page for the length of the fade. */
    pointer-events: none;
}

.pg-loader.hide {
    opacity: 0;
    visibility: hidden;
}

.pg-loader__stage {
    position: relative;
    display: grid;
    place-items: center;
    width: 116px;
    height: 116px;
    transition: transform var(--dur-slow) var(--ease-out);
}

/* Settles inward as it leaves, rather than just vanishing */
.pg-loader.closing .pg-loader__stage {
    transform: scale(0.9);
}

.pg-loader__ring {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    animation: ds-spin 2.2s linear infinite;
}

.pg-loader__track {
    fill: none;
    stroke: var(--brand-100);
    stroke-width: 6;
}

.pg-loader__arc {
    fill: none;
    stroke: url(#pgLoaderArc);
    stroke-width: 6;
    stroke-linecap: round;
    /* r=50, so the circumference is ~314 user units and every dash figure in
       `pg-dash` is measured against that. The pair is animated rather than
       fixed, so the arc lengthens and shortens as it turns — the difference
       between a loader and a plain spinner. */
    stroke-dasharray: 80 234;
    animation: pg-dash 1.9s var(--ease-in-out) infinite;
}

.pg-loader__arc--inner {
    stroke-width: 4;
    /* r=34 -> circumference ~214 */
    stroke-dasharray: 40 174;
    opacity: 0.62;
    /* An SVG shape rotates around the viewBox origin unless the box is
       reset to its own bounds. */
    transform-box: fill-box;
    transform-origin: center;
    animation: pg-spin-rev 1.5s linear infinite;
}

.pg-loader__pulse {
    position: absolute;
    width: 46px;
    height: 46px;
    border: 2px solid var(--brand-300);
    border-radius: 50%;
    animation: ds-ping 1.9s var(--ease-out) infinite;
}

.pg-loader__core {
    position: relative;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--grad-brand);
    box-shadow: 0 6px 18px rgba(122, 70, 219, 0.45);
    animation: pg-core 1.9s var(--ease-in-out) infinite;
}

.pg-loader__bar {
    position: relative;
    display: block;
    width: clamp(118px, 24vw, 168px);
    height: 3px;
    border-radius: var(--r-pill);
    background: var(--brand-100);
    overflow: hidden;
}

.pg-loader__bar > i {
    position: absolute;
    inset-block: 0;
    inset-inline-start: 0;
    width: 42%;
    border-radius: inherit;
    background: linear-gradient(
        90deg,
        transparent,
        var(--brand-600),
        transparent
    );
    animation: pg-sweep 1.35s var(--ease-in-out) infinite;
}

/* `transform` is physical, so the sweep has to be flipped by hand to keep
   running in the reading direction. */
[dir="rtl"] .pg-loader__bar > i {
    animation-name: pg-sweep-rtl;
}

@keyframes pg-spin-rev {
    to {
        transform: rotate(-360deg);
    }
}

@keyframes pg-dash {
    0% {
        stroke-dasharray: 24 290;
        stroke-dashoffset: 0;
    }
    50% {
        stroke-dasharray: 165 149;
        stroke-dashoffset: -34;
    }
    100% {
        stroke-dasharray: 24 290;
        stroke-dashoffset: -314;
    }
}

@keyframes pg-core {
    0%,
    100% {
        transform: scale(0.82);
        opacity: 0.85;
    }
    50% {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes pg-sweep {
    0% {
        transform: translateX(-110%);
    }
    100% {
        transform: translateX(260%);
    }
}

@keyframes pg-sweep-rtl {
    0% {
        transform: translateX(110%);
    }
    100% {
        transform: translateX(-260%);
    }
}

/* ─────────────────────────────────────────────
   14. ANIMATION KEYFRAMES + UTILITIES
   ───────────────────────────────────────────── */
@keyframes ds-spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes ds-pulse {
    0%,
    100% {
        opacity: 0.35;
        transform: scale(0.86);
    }
    50% {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes ds-ping {
    0% {
        transform: scale(1);
        opacity: 0.7;
    }
    100% {
        transform: scale(1.55);
        opacity: 0;
    }
}

@keyframes ds-drift {
    from {
        transform: translate(0, 0) scale(1);
    }
    to {
        transform: translate(-40px, 30px) scale(1.12);
    }
}

@keyframes ds-slide-down {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes ds-fade-up {
    from {
        opacity: 0;
        transform: translateY(24px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes ds-shimmer {
    to {
        background-position: -200% 0;
    }
}

.anim-fade-up {
    animation: ds-fade-up var(--dur-slow) var(--ease-out) both;
}

.skeleton {
    background: linear-gradient(
        90deg,
        var(--surface-alt) 25%,
        var(--brand-100) 50%,
        var(--surface-alt) 75%
    );
    background-size: 200% 100%;
    animation: ds-shimmer 1.4s linear infinite;
    border-radius: var(--r-sm);
}

/* AOS is already bundled — soften its defaults to match our easing */
[data-aos] {
    transition-timing-function: var(--ease-out) !important;
}

/* ─────────────────────────────────────────────
   15. UTILITIES
   ───────────────────────────────────────────── */
.u-text-brand {
    color: var(--brand-600);
}
.u-text-accent {
    color: var(--accent-600);
}
.u-text-muted {
    color: var(--muted);
}
.u-center {
    text-align: center;
}
.u-start {
    text-align: start;
}
.u-hidden {
    display: none !important;
}

.u-gradient-text {
    background: var(--grad-brand);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.u-divider {
    width: 56px;
    height: 3px;
    border-radius: var(--r-pill);
    background: var(--grad-accent);
    margin-block: var(--sp-3);
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ─────────────────────────────────────────────
   16. REDUCED MOTION
   ───────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    .page-hero::before,
    .page-hero::after,
    .whatsapp-float::before,
    .pg-loader__ring,
    .pg-loader__arc,
    .pg-loader__pulse,
    .pg-loader__core,
    .pg-loader__bar > i {
        animation: none !important;
    }
}

/* ═════════════════════════════════════════════════════════════════════════
   17. ORNAMENT SYSTEM
   Three tiers, all built from the SVGs in images/patterns/ and tinted with
   `color`, so any section can set its own ornament colour:
     .orn-field   — large corner/edge watermark (mandala, corner arabesque)
     .orn-tile    — repeating girih field
     .sec-flourish— small ornament under a section title
   Every ornament layer is aria-hidden and pointer-events:none.
   ═════════════════════════════════════════════════════════════════════════ */

.orn-host {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.orn-host > .container,
.orn-host > .orn-content {
    position: relative;
    z-index: 1;
}

.orn {
    position: absolute;
    z-index: 0;
    pointer-events: none;
    user-select: none;
    color: var(--brand-500);
    opacity: 0.07;
}

/* Tier 1 — big watermarks */
.orn-mandala,
.orn-corner {
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* .orn-mandala {
    width: clamp(280px, 34vw, 560px);
    aspect-ratio: 1;
    -webkit-mask: url("../images/patterns/mandala.svg") center / contain no-repeat;
    mask: url("../images/patterns/mandala.svg") center / contain no-repeat;
    background: currentColor;
} */

.orn-corner {
    width: clamp(200px, 24vw, 400px);
    aspect-ratio: 1;
    -webkit-mask: url("../images/patterns/corner-arabesque.svg") center / contain no-repeat;
    mask: url("../images/patterns/corner-arabesque.svg") center / contain no-repeat;
    background: currentColor;
}

/* Tier 2 — repeating girih field */
/* .orn-tile {
    inset: 0;
    -webkit-mask: url("../images/patterns/geo-tile.svg") 0 0 / 120px 120px repeat;
    mask: url("../images/patterns/geo-tile.svg") 0 0 / 120px 120px repeat;
    background: currentColor;
    opacity: 0.045;
}

.orn-tile--fade {
    -webkit-mask-composite: source-in;
    mask-composite: intersect;
} */

/* Placement helpers */
.orn--tr {
    inset-block-start: -8%;
    inset-inline-end: -6%;
}
.orn--tl {
    inset-block-start: -8%;
    inset-inline-start: -6%;
}
.orn--br {
    inset-block-end: -10%;
    inset-inline-end: -6%;
}
.orn--bl {
    inset-block-end: -10%;
    inset-inline-start: -6%;
}
.orn--c {
    inset-block-start: 50%;
    left: 50%;
    translate: -50% -50%;
}

/* Corner arabesque needs rotating into each corner */
.orn--tl.orn-corner {
    rotate: 90deg;
}
.orn--br.orn-corner {
    rotate: 270deg;
}
.orn--bl.orn-corner {
    rotate: 180deg;
}

/* On dark bands the ornament is white and a touch stronger */
.orn--light {
    color: #fff;
    opacity: 0.1;
}

.orn--accent {
    color: var(--accent-500);
    opacity: 0.12;
}

.orn--lav {
    color: var(--lav-500);
    opacity: 0.14;
}

/* Tier 3 — title flourish */
.sec-flourish {
    display: block;
    width: 160px;
    height: 24px;
    margin-inline: auto;
    margin-block: var(--sp-3) var(--sp-4);
    color: var(--brand-400);
    -webkit-mask: url("../images/patterns/flourish.svg") center / contain no-repeat;
    mask: url("../images/patterns/flourish.svg") center / contain no-repeat;
    background: currentColor;
}

.sec-head--start .sec-flourish,
.sec-flourish--start {
    margin-inline: 0;
}

.section--brand .sec-flourish,
.sec-flourish--light {
    color: var(--accent-400);
}

/* ═════════════════════════════════════════════════════════════════════════
   18. SECTION DIVIDERS
   Sections no longer meet in straight lines. The shape is drawn with an SVG
   in the markup (see partials/_divider.blade.php) and coloured by
   `--divider-fill`, which each divider sets to the NEXT section's background.
   ═════════════════════════════════════════════════════════════════════════ */

.sec-divider {
    --divider-h: clamp(46px, 5.5vw, 96px);
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    line-height: 0;
    pointer-events: none;
    /* Pull the shape up onto the section above so it CARVES the next
       section's colour into it. Without this the divider just sits in the
       gap filled with the colour it already sits on, and is invisible. */
    margin-block-start: calc(var(--divider-h) * -1);
}

.sec-divider svg {
    display: block;
    width: 100%;
    height: var(--divider-h);
}

.sec-divider path {
    fill: var(--divider-fill, var(--canvas));
}

/* Flip for a divider that rises into the section above */
.sec-divider--flip svg {
    transform: scaleY(-1);
}

/* ═════════════════════════════════════════════════════════════════════════
   19. REVEAL / ANIMATION SYSTEM
   Driven by app.js: elements carrying [data-reveal] get `.is-in` when they
   enter the viewport. Children of [data-reveal-group] are staggered
   automatically via the --i index the script sets.
   ═════════════════════════════════════════════════════════════════════════ */

[data-reveal] {
    opacity: 0;
    transition: opacity 0.75s var(--ease-out), transform 0.75s var(--ease-out),
        clip-path 0.9s var(--ease-out);
    transition-delay: calc(var(--i, 0) * 90ms + var(--reveal-delay, 0ms));
    will-change: opacity, transform;
}

[data-reveal="up"] {
    transform: translateY(38px);
}
[data-reveal="down"] {
    transform: translateY(-28px);
}
[data-reveal="start"] {
    transform: translateX(44px);
}
[data-reveal="end"] {
    transform: translateX(-44px);
}
[dir="ltr"] [data-reveal="start"] {
    transform: translateX(-44px);
}
[dir="ltr"] [data-reveal="end"] {
    transform: translateX(44px);
}
[data-reveal="scale"] {
    transform: scale(0.9);
}
[data-reveal="rise"] {
    transform: translateY(48px) scale(0.97);
}
[data-reveal="mask"] {
    clip-path: inset(0 0 100% 0);
    opacity: 1;
}
[data-reveal="fade"] {
    transform: none;
}

[data-reveal].is-in {
    opacity: 1;
    transform: none;
    clip-path: inset(0 0 0 0);
}

/* Counters hold their space so the roll-up does not reflow the layout */
[data-count] {
    font-variant-numeric: tabular-nums;
}

/* SVG line-draw — app.js measures the path and sets --len */
[data-draw] {
    stroke-dasharray: var(--len, 1000);
    stroke-dashoffset: var(--len, 1000);
    transition: stroke-dashoffset 1.6s var(--ease-out);
}

[data-draw].is-in {
    stroke-dashoffset: 0;
}

/* Progress bar / ring fill */
[data-progress] {
    --value: 0;
}

@media (prefers-reduced-motion: reduce) {
    [data-reveal],
    [data-reveal].is-in {
        opacity: 1 !important;
        transform: none !important;
        clip-path: none !important;
        transition: none !important;
    }
    [data-draw] {
        stroke-dashoffset: 0 !important;
        transition: none !important;
    }
    .orn {
        animation: none !important;
    }
}

/* ═════════════════════════════════════════════════════════════════════════
   20. HOVER MICRO-INTERACTIONS
   Opt-in classes so every card type behaves the same way.
   ═════════════════════════════════════════════════════════════════════════ */

.fx-lift {
    transition: transform var(--dur-base) var(--ease-out),
        box-shadow var(--dur-base) var(--ease-out),
        border-color var(--dur-base) var(--ease-out);
}

.fx-lift:hover {
    transform: translateY(-8px);
    box-shadow: var(--sh-3);
    border-color: var(--brand-200);
}

/* Gradient border sweep on hover */
.fx-sweep {
    position: relative;
}

.fx-sweep::after {
    content: "";
    position: absolute;
    inset-block-start: 0;
    inset-inline: 0;
    height: 3px;
    border-radius: var(--r-pill);
    background: var(--grad-brand);
    transform: scaleX(0);
    transition: transform var(--dur-base) var(--ease-out);
}

.fx-sweep:hover::after {
    transform: scaleX(1);
}

/* Icon tile spin + fill */
.fx-ico {
    transition: transform var(--dur-base) var(--ease-spring),
        background var(--dur-base) var(--ease-out),
        color var(--dur-base) var(--ease-out);
}

.fx-lift:hover .fx-ico,
.fx-sweep:hover .fx-ico {
    transform: rotate(-8deg) scale(1.09);
    background: var(--grad-brand);
    color: #fff;
}

/* Arrow travel — direction-aware */
.fx-arrow {
    transition: transform var(--dur-base) var(--ease-out);
}

.fx-lift:hover .fx-arrow,
.fx-sweep:hover .fx-arrow,
a:hover > .fx-arrow {
    transform: translateX(-6px);
}

[dir="ltr"] .fx-lift:hover .fx-arrow,
[dir="ltr"] .fx-sweep:hover .fx-arrow,
[dir="ltr"] a:hover > .fx-arrow {
    transform: translateX(6px);
}

/* Media zoom */
.fx-zoom {
    overflow: hidden;
}

.fx-zoom img {
    transition: transform 0.8s var(--ease-out);
}

.fx-lift:hover .fx-zoom img,
.fx-zoom:hover img {
    transform: scale(1.07);
}

@media (prefers-reduced-motion: reduce) {
    .fx-lift,
    .fx-ico,
    .fx-arrow,
    .fx-zoom img {
        transition: none !important;
    }
    .fx-lift:hover {
        transform: none;
    }
}

/* A section immediately followed by a divider needs room for the carve */
section:has(+ .sec-divider) {
    padding-block-end: calc(var(--section-y) + var(--divider-h, 96px));
}

/* ═════════════════════════════════════════════════════════════════════════
   21. FOUR-TONE COLOUR SYSTEM
   The logo has four tones and the page should show all four. Two levels:

     .band-*      section backgrounds alternate across the four tones
     .tone-cycle  children cycle through the tones automatically via
                  :nth-child, so it works with however many items the API
                  returns — no per-item classes in the markup.

   Each tone exposes the same four custom properties, so a component can be
   written once and re-tinted:
     --tone        the solid tone
     --tone-ink    readable text on --tone
     --tone-soft   a light wash of the tone for chips and icon tiles
     --tone-deep   a darker step, for gradients and hovers
   ═════════════════════════════════════════════════════════════════════════ */

.tone-violet,
.tone-cycle > *:nth-child(4n + 1) {
    --tone: #7a46db;
    --tone-ink: #ffffff;
    --tone-soft: #ece4fd;
    --tone-deep: #5324ac;
}

.tone-indigo,
.tone-cycle > *:nth-child(4n + 2) {
    --tone: #2f0b69;
    --tone-ink: #ffffff;
    --tone-soft: #ded8e7;
    --tone-deep: #1c063f;
}

.tone-lav,
.tone-cycle > *:nth-child(4n + 3) {
    --tone: #8d7da9;
    --tone-ink: #ffffff;
    --tone-soft: #eeebf3;
    --tone-deep: #5d5175;
}

.tone-mist,
.tone-cycle > *:nth-child(4n + 4) {
    --tone: #9b8fb5;
    --tone-ink: #1a1230;
    --tone-soft: #e9e9e9;
    --tone-deep: #5d5175;
}

/* Fallback so a component never renders untinted outside a cycle */
[class*="tone-"],
.tone-cycle > * {
    --tone: var(--tone, var(--brand-600));
}

/* ── Section bands ── */
.band-white {
    background: var(--surface);
}

.band-mist {
    background: var(--mist-100);
}

.band-mist-2 {
    background: var(--mist-300);
}

.band-lav {
    background: linear-gradient(160deg, var(--lav-100) 0%, var(--lav-200) 100%);
}

.band-violet {
    background: linear-gradient(135deg, #5324ac 0%, #7a46db 55%, #a983ea 100%);
    color: rgba(255, 255, 255, 0.85);
}

.band-indigo {
    background: linear-gradient(135deg, #1c063f 0%, #2f0b69 60%, #4a1a9c 100%);
    color: rgba(255, 255, 255, 0.82);
}

.band-violet h1,
.band-violet h2,
.band-violet h3,
.band-violet h4,
.band-violet strong,
.band-indigo h1,
.band-indigo h2,
.band-indigo h3,
.band-indigo h4,
.band-indigo strong {
    color: #fff;
}
