body, html, p, a, h1, h2, h3, h4, h5, h6, span, div, button, input {
    font-family: 'Noto Sans Thai', 'Poppins', sans-serif !important;
}


/* Header Logo */
.header-logo {
    width: 55px;
    height: 55px;
    object-fit: contain;
    margin-right: 12px;
}

.navbar-brand {
    display: flex !important;
    align-items: center;
    line-height: 1.1;
}

.navbar-brand .brand-text {
    display: flex;
    flex-direction: column;
    font-size: 20px;
    font-weight: 700;
    color: #fff;
}

.navbar-brand .brand-text span {
    font-size: 14px;
    font-weight: 500;
    color: #90caf9;
}

@media (max-width: 767px) {
    .header-logo {
        width: 42px;
        height: 42px;
    }

    .navbar-brand .brand-text {
        font-size: 16px;
    }

    .navbar-brand .brand-text span {
        font-size: 12px;
    }
}

.lang-switch .nav-link {
    padding: 8px 14px !important;
    margin-left: 6px;
    border: 1px solid rgba(255,255,255,0.5);
    border-radius: 4px;
    color: #fff !important;
    font-weight: 600;
}

.lang-switch .nav-link:hover {
    background: #fff;
    color: #0d47a1 !important;
}

.navbar-nav .dropdown-menu {
    border: none;
    border-radius: 4px;
    padding: 8px 0;
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

.navbar-nav .dropdown-item {
    font-size: 14px;
    padding: 9px 18px;
    color: #333 !important;
}

.navbar-nav .dropdown-item:hover {
    background: #eaf2ff;
    color: #0d47a1 !important;
}

/* Fix navbar menu wrap */
.ftco-navbar-light .navbar-brand {
    max-width: 270px;
    margin-right: 20px;
}

.ftco-navbar-light .navbar-nav {
    align-items: center;
    flex-wrap: nowrap;
}

.ftco-navbar-light .navbar-nav > .nav-item > .nav-link {
    padding-left: 12px !important;
    padding-right: 12px !important;
    font-size: 14px;
    line-height: 1.2;
    white-space: nowrap;
}

.header-logo {
    width: 50px;
    height: 50px;
}

.navbar-brand .brand-text {
    font-size: 18px;
    line-height: 1.1;
}

.navbar-brand .brand-text span {
    font-size: 13px;
}

/* language buttons */
.lang-switch .nav-link,
.lang-dropdown .dropdown-toggle {
    padding: 7px 12px !important;
    margin-left: 5px;
}

/* ปุ่มภาษา */
.lang-switch .nav-link,
.lang-dropdown .dropdown-toggle {
    border: 1px solid #0d47a1 !important;
    color: #0d47a1 !important;
}

.lang-switch .nav-link:hover,
.lang-dropdown .dropdown-toggle:hover {
    background: #0d47a1 !important;
    color: #ffffff !important;
}

/* Inner page service background */
.inner-page-section {
    padding-top: 140px;
    background:
        linear-gradient(rgba(248, 251, 255, 0.96), rgba(248, 251, 255, 0.96)),
        url("../images/bg_1.jpg") center center / cover no-repeat;
    min-height: 100vh;
}

/* Legal Hero */
.legal-hero-new {
    position: relative;
    min-height: 720px;
    background-size: cover;
    background-position: center right;
    overflow: hidden;
}

.legal-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(245, 248, 252, 0.96) 0%,
        rgba(245, 248, 252, 0.90) 42%,
        rgba(245, 248, 252, 0.60) 68%,
        rgba(245, 248, 252, 0.25) 100%
    );
}

.legal-hero-content {
    position: relative;
    z-index: 2;
    min-height: 720px;
    padding-top: 90px;
}

.legal-hero-badge {
    display: inline-block;
    color: #b8942f;
    background: rgba(184, 148, 47, 0.10);
    border-left: 4px solid #b8942f;
    padding: 9px 18px;
    margin-bottom: 24px;
    font-size: 15px;
    font-weight: 700;
}

.legal-hero-new h1 {
    color: #102542;
    font-size: 56px;
    font-weight: 800;
    line-height: 1.18;
    margin-bottom: 24px;
}

.legal-hero-new h1 span {
    color: #2f5faa;
}

.legal-hero-new p {
    max-width: 620px;
    color: #334155;
    font-size: 18px;
    line-height: 1.9;
    font-weight: 500;
    margin-bottom: 32px;
}

.legal-hero-buttons {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.legal-hero-buttons .btn-main {
    background: #2f5faa;
    color: #fff;
    padding: 14px 30px;
    border-radius: 4px;
    font-weight: 700;
    text-decoration: none;
}

.legal-hero-buttons .btn-main:hover {
    background: #244d8e;
    color: #fff;
}

.legal-hero-buttons .btn-outline {
    border: 1px solid #2f5faa;
    color: #2f5faa;
    padding: 14px 30px;
    border-radius: 4px;
    font-weight: 700;
    text-decoration: none;
}

.legal-hero-buttons .btn-outline:hover {
    background: #2f5faa;
    color: #fff;
}

@media (max-width: 991px) {
    .legal-hero-new,
    .legal-hero-content {
        min-height: 620px;
    }

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

@media (max-width: 575px) {
    .legal-hero-new {
        background-position: center center;
    }

    .legal-hero-overlay {
        background: rgba(245, 248, 252, 0.92);
    }

    .legal-hero-new h1 {
        font-size: 34px;
    }

    .legal-hero-new p {
        font-size: 16px;
    }

    .legal-hero-buttons a {
        width: 100%;
        text-align: center;
    }
}

/* ===== Premium Blue Navbar ===== */

.legal-navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: linear-gradient(90deg, #071f45 0%, #0d47a1 55%, #123f7a 100%) !important;
    z-index: 9999;
    padding: 12px 0;
    box-shadow: 0 6px 22px rgba(0,0,0,0.16);
    transition: all 0.3s ease;
}

.legal-navbar .navbar-brand {
    color: #fff !important;
}

.legal-navbar .brand-text {
    color: #fff !important;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.1;
}

.legal-navbar .brand-text span {
    display: block;
    color: #d6e6ff !important;
    font-size: 13px;
    font-weight: 500;
}

.legal-navbar .header-logo {
    width: 52px;
    height: 52px;
    object-fit: contain;
    margin-right: 12px;
    background: #fff;
    border-radius: 50%;
    padding: 3px;
}

.legal-navbar .navbar-nav > .nav-item > .nav-link {
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 600;
    padding: 10px 12px !important;
    white-space: nowrap;
}

.legal-navbar .navbar-nav > .nav-item > .nav-link:hover,
.legal-navbar .navbar-nav > .nav-item.active > .nav-link {
    color: #d4af37 !important;
}

/* ตอนเลื่อนลง ให้เป็นน้ำเงินจาง เรียบหรู */
.legal-navbar.scrolled {
    background: rgba(255, 255, 255, 0.94) !important;
    backdrop-filter: blur(12px);
    box-shadow: 0 6px 22px rgba(13, 71, 161, 0.12);
    padding: 8px 0;
}

.legal-navbar.scrolled .navbar-brand,
.legal-navbar.scrolled .brand-text {
    color: #102542 !important;
}

.legal-navbar.scrolled .brand-text span {
    color: #2f5faa !important;
}

.legal-navbar.scrolled .navbar-nav > .nav-item > .nav-link {
    color: #102542 !important;
}

.legal-navbar.scrolled .navbar-nav > .nav-item > .nav-link:hover,
.legal-navbar.scrolled .navbar-nav > .nav-item.active > .nav-link {
    color: #2f5faa !important;
}

/* Dropdown */
.legal-navbar .dropdown-menu {
    border: none;
    border-radius: 8px;
    padding: 10px 0;
    margin-top: 10px;
    box-shadow: 0 14px 35px rgba(0,0,0,0.16);
}

.legal-navbar .dropdown-item {
    color: #102542 !important;
    font-size: 14px;
    padding: 9px 18px;
}

.legal-navbar .dropdown-item:hover {
    background: #eef5ff;
    color: #2f5faa !important;
}

/* Language buttons */
.legal-navbar .lang-switch .nav-link {
    border: 1px solid rgba(255,255,255,0.55);
    border-radius: 5px;
    margin-left: 6px;
    padding: 7px 12px !important;
}

.legal-navbar.scrolled .lang-switch .nav-link {
    border-color: #2f5faa;
    color: #2f5faa !important;
}

.legal-navbar .lang-switch .nav-link:hover {
    background: #d4af37;
    border-color: #d4af37;
    color: #102542 !important;
}

/* Mobile */
@media (max-width: 991px) {
    .legal-navbar {
        background: #071f45 !important;
    }

    .legal-navbar .navbar-collapse {
        background: #071f45;
        padding: 15px;
        margin-top: 12px;
        border-radius: 8px;
    }

    .legal-navbar.scrolled .navbar-collapse {
        background: #ffffff;
    }
}

/* Force Blue Navbar */
body #ftco-navbar.legal-navbar {
    background: linear-gradient(90deg, #071f45 0%, #0d47a1 55%, #123f7a 100%) !important;
}

body #ftco-navbar.legal-navbar .nav-link,
body #ftco-navbar.legal-navbar .navbar-brand,
body #ftco-navbar.legal-navbar .brand-text {
    color: #ffffff !important;
}

body #ftco-navbar.legal-navbar .brand-text span {
    color: #d6e6ff !important;
}

body #ftco-navbar.legal-navbar.scrolled {
    background: rgba(235, 243, 255, 0.96) !important;
}

body #ftco-navbar.legal-navbar.scrolled .nav-link,
body #ftco-navbar.legal-navbar.scrolled .navbar-brand,
body #ftco-navbar.legal-navbar.scrolled .brand-text {
    color: #102542 !important;
}

body #ftco-navbar.legal-navbar.scrolled .brand-text span {
    color: #2f5faa !important;
}

/* About Company Section */
.about-company-section {
    padding: 50px 0;
    background: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%);
    position: relative;
}

.about-company-image {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 20px 45px rgba(13, 71, 161, 0.15);
}

.about-company-image img {
    width: 100%;
    height: 520px;
    object-fit: cover;
    display: block;
}

.about-company-image:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(7, 31, 69, 0.05),
        rgba(7, 31, 69, 0.32)
    );
}

.about-image-badge {
    position: absolute;
    left: 28px;
    bottom: 28px;
    z-index: 2;
    background: rgba(255, 255, 255, 0.92);
    border-left: 4px solid #b8942f;
    padding: 14px 20px;
    border-radius: 6px;
}

.about-image-badge span {
    display: block;
    color: #0d47a1;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: 1px;
}

.about-image-badge small {
    color: #555;
    font-size: 13px;
}

.about-company-content {
    padding-left: 35px;
}

.about-company-content .section-subtitle {
    display: inline-block;
    color: #b8942f;
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 14px;
    border-left: 4px solid #b8942f;
    padding-left: 14px;
}

.about-company-content h2 {
    color: #102542;
    font-size: 40px;
    font-weight: 800;
    margin-bottom: 24px;
}

.about-company-content p {
    color: #4b5563;
    font-size: 16px;
    line-height: 1.9;
    margin-bottom: 16px;
}

.about-feature-list {
    margin-top: 28px;
    border-top: 1px solid #e3ebf7;
}

.about-feature-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid #e3ebf7;
}

.about-feature-item span {
    width: 42px;
    height: 42px;
    background: #eaf2ff;
    color: #0d47a1;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
}

.about-feature-item strong {
    color: #102542;
    font-size: 15px;
}

@media (max-width: 991px) {
    .about-company-content {
        padding-left: 0;
    }

    .about-company-content h2 {
        font-size: 32px;
    }

    .about-company-image img {
        height: 420px;
    }
}

@media (max-width: 575px) {
    .about-company-section {
        padding: 70px 0;
    }

    .about-company-image img {
        height: 320px;
    }

    .about-company-content h2 {
        font-size: 28px;
    }
}

/* About Page Hero */
.about-page-hero {
    position: relative;
    min-height: 430px;
    background-size: cover;
    background-position: center center;
    margin-top: 0;
}

.about-page-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(7, 31, 69, 0.86) 0%,
        rgba(7, 31, 69, 0.70) 45%,
        rgba(7, 31, 69, 0.35) 100%
    );
}

.about-page-hero-content {
    position: relative;
    z-index: 2;
    min-height: 430px;
    padding-top: 90px;
}

.about-hero-badge {
    display: inline-block;
    color: #d4af37;
    background: rgba(255,255,255,0.08);
    border-left: 4px solid #d4af37;
    padding: 9px 18px;
    margin-bottom: 20px;
    font-weight: 700;
}

.about-page-hero h1 {
    color: #ffffff;
    font-size: 48px;
    font-weight: 800;
    margin-bottom: 18px;
}

.about-page-hero p {
    max-width: 720px;
    color: rgba(255,255,255,0.88);
    font-size: 18px;
    line-height: 1.8;
}

@media (max-width: 575px) {
    .about-page-hero,
    .about-page-hero-content {
        min-height: 360px;
    }

    .about-page-hero h1 {
        font-size: 34px;
    }

    .about-page-hero p {
        font-size: 16px;
    }
}

/* License Section */
.license-section {
    padding: 50px 0;
    background: #f6f9ff;
    position: relative;
}

.license-content .section-subtitle {
    display: inline-block;
    color: #b8942f;
    font-size: 15px;
    font-weight: 700;
    border-left: 4px solid #b8942f;
    padding-left: 14px;
    margin-bottom: 16px;
}

.license-content h2 {
    color: #102542;
    font-size: 40px;
    font-weight: 800;
    margin-bottom: 22px;
}

.license-content p {
    color: #4b5563;
    font-size: 16px;
    line-height: 1.9;
    margin-bottom: 28px;
}

.license-info-box {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-bottom: 25px;
}

.license-info-item {
    background: #ffffff;
    border: 1px solid #e3ebf7;
    border-radius: 12px;
    padding: 18px;
    display: flex;
    gap: 14px;
    align-items: center;
    box-shadow: 0 10px 25px rgba(13, 71, 161, 0.06);
}

.license-icon {
    width: 42px;
    height: 42px;
    background: #0d47a1;
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
}

.license-info-item small {
    display: block;
    color: #6b7280;
    font-size: 13px;
    margin-bottom: 4px;
}

.license-info-item strong {
    color: #102542;
    font-size: 16px;
}

.license-points {
    display: grid;
    gap: 12px;
}

.license-points div {
    background: #ffffff;
    border-left: 4px solid #b8942f;
    padding: 14px 18px;
    color: #334155;
    font-weight: 600;
    border-radius: 6px;
}

.license-visual {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 20px 45px rgba(13, 71, 161, 0.16);
}

.license-visual img {
    width: 100%;
    height: 460px;
    object-fit: cover;
    display: block;
}

.license-visual:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(7, 31, 69, 0.05),
        rgba(7, 31, 69, 0.35)
    );
}

.license-card {
    position: absolute;
    left: 24px;
    bottom: 24px;
    right: 24px;
    z-index: 2;
    background: rgba(255,255,255,0.94);
    border-left: 4px solid #b8942f;
    border-radius: 8px;
    padding: 16px 20px;
}

.license-card span {
    display: block;
    color: #0d47a1;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1px;
    margin-bottom: 4px;
}

.license-card strong {
    color: #102542;
    font-size: 18px;
}

@media (max-width: 767px) {
    .license-section {
        padding: 70px 0;
    }

    .license-content h2 {
        font-size: 30px;
    }

    .license-info-box {
        grid-template-columns: 1fr;
    }

    .license-visual img {
        height: 330px;
    }
}

/* Operation Standard Section */
.operation-standard-section {
    padding: 50px 0;
    background: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%);
    position: relative;
}

.standard-subtitle {
    display: inline-block;
    color: #b8942f;
    border-left: 4px solid #b8942f;
    padding-left: 14px;
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 14px;
}

.standard-title {
    color: #102542;
    font-size: 40px;
    font-weight: 800;
    margin-bottom: 18px;
}

.standard-desc {
    color: #4b5563;
    font-size: 16px;
    line-height: 1.9;
}

.standard-image {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 20px 45px rgba(13, 71, 161, 0.14);
}

.standard-image img {
    width: 100%;
    object-fit: cover;
    display: block;
}

.standard-image.main-image img {
    height: 360px;
}

.standard-image.small-image img {
    height: 300px;
}

.standard-image:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(7, 31, 69, 0.03),
        rgba(7, 31, 69, 0.25)
    );
}

.standard-intro-card {
    background: #ffffff;
    border: 1px solid #e3ebf7;
    border-left: 5px solid #0d47a1;
    border-radius: 14px;
    padding: 34px;
    box-shadow: 0 14px 35px rgba(13, 71, 161, 0.08);
}

.standard-intro-card span {
    display: inline-block;
    color: #d4af37;
    font-size: 42px;
    font-weight: 800;
    margin-bottom: 10px;
}

.standard-intro-card h3,
.standard-summary-box h3 {
    color: #102542;
    font-size: 28px;
    font-weight: 800;
    margin-bottom: 14px;
}

.standard-intro-card p,
.standard-summary-box p {
    color: #4b5563;
    font-size: 16px;
    line-height: 1.9;
    margin-bottom: 0;
}

.standard-principle-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-top: 45px;
}

.standard-card {
    position: relative;
    background: #ffffff;
    border: 1px solid #e3ebf7;
    border-radius: 14px;
    padding: 30px 24px;
    min-height: 360px;
    box-shadow: 0 12px 30px rgba(13, 71, 161, 0.06);
    transition: all 0.25s ease;
    overflow: hidden;
}

.standard-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 40px rgba(13, 71, 161, 0.12);
}

.standard-card-number {
    position: absolute;
    right: 22px;
    top: 18px;
    color: rgba(13, 71, 161, 0.08);
    font-size: 54px;
    font-weight: 900;
}

.standard-card-icon {
    width: 54px;
    height: 54px;
    background: #eaf2ff;
    color: #0d47a1;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin-bottom: 20px;
}

.standard-card h4 {
    color: #102542;
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 14px;
}

.standard-card p {
    color: #4b5563;
    font-size: 15px;
    line-height: 1.85;
    margin-bottom: 10px;
}

.standard-bottom-row {
    margin-top: 55px;
}

.standard-summary-box {
    background: linear-gradient(135deg, #071f45 0%, #0d47a1 100%);
    border-radius: 16px;
    padding: 38px;
    position: relative;
    overflow: hidden;
}

.standard-summary-box:after {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    right: -70px;
    bottom: -70px;
    border-radius: 50%;
    background: rgba(255,255,255,0.08);
}

.standard-summary-box h3 {
    color: #ffffff;
}

.standard-summary-box p {
    color: rgba(255,255,255,0.86);
}

@media (max-width: 991px) {
    .operation-standard-section {
        padding: 70px 0;
    }

    .standard-principle-grid {
        grid-template-columns: 1fr;
    }

    .standard-card {
        min-height: auto;
    }

    .standard-title {
        font-size: 32px;
    }
}

@media (max-width: 575px) {
    .standard-image.main-image img,
    .standard-image.small-image img {
        height: 260px;
    }

    .standard-intro-card,
    .standard-summary-box {
        padding: 26px;
    }

    .standard-title {
        font-size: 28px;
    }
}

/* Contact Section */
.contact-section {
    padding: 100px 0;
    background: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%);
}

.contact-info-card {
    height: 100%;
    background: linear-gradient(135deg, #071f45 0%, #0d47a1 100%);
    color: #ffffff;
    border-radius: 16px;
    padding: 42px 34px;
    box-shadow: 0 20px 45px rgba(13, 71, 161, 0.16);
}

.contact-subtitle {
    display: inline-block;
    color: #d4af37;
    border-left: 4px solid #d4af37;
    padding-left: 14px;
    font-weight: 700;
    margin-bottom: 18px;
}

.contact-info-card h2 {
    color: #ffffff;
    font-size: 34px;
    font-weight: 800;
    margin-bottom: 28px;
}

.contact-info-list {
    display: grid;
    gap: 18px;
}

.contact-info-item {
    display: flex;
    gap: 15px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255,255,255,0.14);
}

.contact-info-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.contact-icon {
    width: 44px;
    height: 44px;
    background: rgba(255,255,255,0.10);
    color: #d4af37;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-info-item strong {
    display: block;
    color: #ffffff;
    font-size: 16px;
    margin-bottom: 6px;
}

.contact-info-item p,
.contact-info-item a {
    color: rgba(255,255,255,0.86);
    line-height: 1.8;
    margin-bottom: 0;
}

.contact-info-item a:hover {
    color: #d4af37;
}

.contact-map-card {
    height: 100%;
    min-height: 520px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 20px 45px rgba(13, 71, 161, 0.13);
    border: 1px solid #e3ebf7;
    background: #ffffff;
}

@media (max-width: 991px) {
    .contact-section {
        padding: 70px 0;
    }

    .contact-map-card {
        min-height: 380px;
    }
}

@media (max-width: 575px) {
    .contact-info-card {
        padding: 30px 24px;
    }

    .contact-info-card h2 {
        font-size: 28px;
    }
}

/* service section 1 */
/* Service Hero */
.legal-service-hero {
    position: relative;
    min-height: 430px;
    background-size: cover;
    background-position: center center;
}

.legal-service-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(7,31,69,0.88) 0%,
        rgba(7,31,69,0.68) 48%,
        rgba(7,31,69,0.30) 100%
    );
}

.legal-service-hero-content {
    position: relative;
    z-index: 2;
    min-height: 430px;
    max-width: 720px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 80px;
}

.legal-service-hero-content span {
    display: inline-block;
    width: fit-content;
    color: #d4af37;
    border-left: 4px solid #d4af37;
    padding-left: 14px;
    font-weight: 800;
    margin-bottom: 18px;
}

.legal-service-hero-content h1 {
    color: #ffffff;
    font-size: 52px;
    font-weight: 800;
    margin-bottom: 20px;
}

.legal-service-hero-content p {
    color: rgba(255,255,255,0.88);
    font-size: 18px;
    line-height: 1.9;
}

/* Service Content */
.legal-service-modern {
    padding: 60px 0;
    background: linear-gradient(180deg, #f6f9ff 0%, #ffffff 100%);
}

.service-modern-card {
    background: #ffffff;
    border: 1px solid #e3ebf7;
    border-radius: 22px;
    padding: 30px;
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 34px;
    box-shadow: 0 22px 55px rgba(13,71,161,0.12);
}

.service-modern-side {
    background: linear-gradient(160deg, #071f45 0%, #2f5faa 100%);
    border-radius: 18px;
    padding: 42px 34px;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

.service-modern-side:after {
    content: "";
    position: absolute;
    right: -70px;
    bottom: -70px;
    width: 180px;
    height: 180px;
    background: rgba(255,255,255,0.08);
    border-radius: 50%;
}

.service-modern-no {
    display: block;
    color: #d4af37;
    font-size: 54px;
    font-weight: 900;
    margin-bottom: 28px;
}

.service-modern-side h3 {
    color: #ffffff;
    font-size: 30px;
    font-weight: 800;
    margin-bottom: 18px;
}

.service-modern-side p {
    color: rgba(255,255,255,0.86);
    line-height: 1.9;
    margin-bottom: 28px;
}

.service-modern-side a {
    display: inline-block;
    background: #d4af37;
    color: #102542 !important;
    padding: 12px 26px;
    border-radius: 6px;
    font-weight: 800;
}

.service-modern-content {
    padding: 18px 10px;
}

.service-modern-label {
    display: inline-block;
    color: #b8942f;
    font-weight: 800;
    margin-bottom: 12px;
}

.service-modern-content h2 {
    color: #102542;
    font-size: 38px;
    font-weight: 800;
    margin-bottom: 22px;
}

.service-modern-content p {
    color: #4b5563;
    font-size: 16px;
    line-height: 1.9;
    margin-bottom: 16px;
}

.service-modern-content h4 {
    color: #102542;
    font-size: 24px;
    font-weight: 800;
    margin: 32px 0 20px;
}

.service-modern-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.service-modern-list div {
    background: #f8fbff;
    border: 1px solid #e3ebf7;
    border-radius: 12px;
    padding: 16px 18px;
    color: #334155;
    font-weight: 700;
    line-height: 1.7;
    display: flex;
    gap: 12px;
}

.service-modern-list span {
    color: #0d47a1;
    font-weight: 900;
}

@media (max-width: 991px) {
    .service-modern-card {
        grid-template-columns: 1fr;
    }

    .legal-service-hero-content h1 {
        font-size: 40px;
    }
}

@media (max-width: 575px) {
    .legal-service-hero,
    .legal-service-hero-content {
        min-height: 360px;
    }

    .legal-service-hero-content h1 {
        font-size: 34px;
    }

    .service-modern-card {
        padding: 18px;
    }

    .service-modern-list {
        grid-template-columns: 1fr;
    }
}

/* service section 2 */
/* Enforcement Section */
.enforcement-section {
    padding: 60px 0;
    background: #f6f9ff;
}

.enforcement-card {
    background: #ffffff;
    border: 1px solid #e3ebf7;
    border-radius: 22px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    box-shadow: 0 22px 55px rgba(13, 71, 161, 0.12);
}

.enforcement-left {
    padding: 50px;
}

.enforcement-category {
    display: inline-block;
    color: #b8942f;
    border-left: 4px solid #b8942f;
    padding-left: 14px;
    font-weight: 800;
    margin-bottom: 16px;
}

.enforcement-left h2 {
    color: #102542;
    font-size: 38px;
    font-weight: 800;
    margin-bottom: 22px;
}

.enforcement-left p {
    color: #4b5563;
    font-size: 16px;
    line-height: 1.95;
    margin-bottom: 28px;
}

.enforcement-btn {
    display: inline-block;
    background: #2f5faa;
    color: #ffffff !important;
    padding: 13px 28px;
    border-radius: 6px;
    font-weight: 800;
    text-decoration: none;
}

.enforcement-btn:hover {
    background: #102542;
}

.enforcement-right {
    background: linear-gradient(135deg, #071f45 0%, #2f5faa 100%);
    padding: 50px 42px;
    color: #ffffff;
    position: relative;
}

.enforcement-right:after {
    content: "";
    position: absolute;
    width: 190px;
    height: 190px;
    right: -80px;
    bottom: -80px;
    background: rgba(255,255,255,0.08);
    border-radius: 50%;
}

.enforcement-number {
    color: #d4af37;
    font-size: 58px;
    font-weight: 900;
    margin-bottom: 18px;
}

.enforcement-right h3 {
    color: #ffffff;
    font-size: 26px;
    font-weight: 800;
    margin-bottom: 24px;
}

.enforcement-list {
    display: grid;
    gap: 14px;
    position: relative;
    z-index: 2;
}

.enforcement-list div {
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 10px;
    padding: 14px 16px;
    color: rgba(255,255,255,0.9);
    line-height: 1.7;
    display: flex;
    gap: 12px;
}

.enforcement-list span {
    color: #d4af37;
    font-weight: 900;
    flex: 0 0 auto;
}

@media (max-width: 991px) {
    .enforcement-card {
        grid-template-columns: 1fr;
    }

    .enforcement-left,
    .enforcement-right {
        padding: 36px 28px;
    }
}

@media (max-width: 575px) {
    .enforcement-section {
        padding: 70px 0;
    }

    .enforcement-left h2 {
        font-size: 30px;
    }
}

/* service section 3 */
/* Negotiation Section */
.negotiation-section {
    padding: 60px 0;
    background: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%);
}

.negotiation-card {
    display: grid;
    grid-template-columns: 330px 1fr;
    background: #ffffff;
    border: 1px solid #e3ebf7;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 22px 55px rgba(13, 71, 161, 0.12);
}

.negotiation-side {
    background: linear-gradient(160deg, #102542 0%, #2f5faa 100%);
    padding: 46px 34px;
    color: #ffffff;
    position: relative;
}

.negotiation-side:after {
    content: "";
    position: absolute;
    width: 170px;
    height: 170px;
    right: -70px;
    bottom: -70px;
    background: rgba(255,255,255,0.08);
    border-radius: 50%;
}

.negotiation-no {
    display: block;
    color: #d4af37;
    font-size: 54px;
    font-weight: 900;
    margin-bottom: 24px;
}

.negotiation-side h3 {
    color: #ffffff;
    font-size: 30px;
    font-weight: 800;
    margin-bottom: 18px;
}

.negotiation-side p {
    color: rgba(255,255,255,0.86);
    line-height: 1.9;
    margin-bottom: 28px;
}

.negotiation-side a {
    display: inline-block;
    background: #d4af37;
    color: #102542 !important;
    padding: 12px 26px;
    border-radius: 6px;
    font-weight: 800;
    position: relative;
    z-index: 2;
}

.negotiation-content {
    padding: 50px;
}

.negotiation-category {
    display: inline-block;
    color: #b8942f;
    border-left: 4px solid #b8942f;
    padding-left: 14px;
    font-weight: 800;
    margin-bottom: 14px;
}

.negotiation-content h2 {
    color: #102542;
    font-size: 38px;
    font-weight: 800;
    margin-bottom: 22px;
}

.negotiation-content p {
    color: #4b5563;
    font-size: 16px;
    line-height: 1.95;
    margin-bottom: 16px;
}

.negotiation-content h4 {
    color: #102542;
    font-size: 24px;
    font-weight: 800;
    margin: 32px 0 20px;
}

.negotiation-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.negotiation-list div {
    background: #f8fbff;
    border: 1px solid #e3ebf7;
    border-radius: 12px;
    padding: 16px 18px;
    color: #334155;
    font-weight: 700;
    line-height: 1.7;
    display: flex;
    gap: 12px;
}

.negotiation-list span {
    color: #0d47a1;
    font-weight: 900;
}

@media (max-width: 991px) {
    .negotiation-card {
        grid-template-columns: 1fr;
    }

    .negotiation-content {
        padding: 36px 28px;
    }
}

@media (max-width: 575px) {
    .negotiation-section {
        padding: 70px 0;
    }

    .negotiation-content h2 {
        font-size: 30px;
    }

    .negotiation-list {
        grid-template-columns: 1fr;
    }
}

/* service debt */
/* Debt Management Page */
.debt-hero-section {
    position: relative;
    min-height: 430px;
    background-size: cover;
    background-position: center center;
}

.debt-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(246, 249, 255, 0.96) 0%,
        rgba(246, 249, 255, 0.88) 48%,
        rgba(246, 249, 255, 0.55) 100%
    );
}

.debt-hero-content {
    position: relative;
    z-index: 2;
    min-height: 430px;
    padding-top: 95px;
}

.debt-hero-badge {
    display: inline-block;
    color: #b8942f;
    background: rgba(184, 148, 47, 0.10);
    border-left: 4px solid #b8942f;
    padding: 9px 18px;
    margin-bottom: 20px;
    font-weight: 700;
}

.debt-hero-section h1 {
    color: #102542;
    font-size: 48px;
    font-weight: 800;
    margin-bottom: 18px;
}

.debt-hero-section p {
    max-width: 720px;
    color: #334155;
    font-size: 18px;
    line-height: 1.8;
    font-weight: 500;
}

/* Content */
.debt-management-section {
    padding: 60px 0;
    background: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%);
}

.debt-side-card {
    height: 100%;
    background: linear-gradient(135deg, #071f45 0%, #2f5faa 100%);
    border-radius: 18px;
    padding: 38px 32px;
    color: #ffffff;
    box-shadow: 0 20px 45px rgba(13, 71, 161, 0.16);
}

.debt-number {
    display: inline-block;
    color: #d4af37;
    font-size: 48px;
    font-weight: 900;
    margin-bottom: 24px;
}

.debt-side-card h3 {
    color: #ffffff;
    font-size: 28px;
    font-weight: 800;
    margin-bottom: 18px;
}

.debt-side-card p {
    color: rgba(255,255,255,0.86);
    line-height: 1.9;
    margin-bottom: 28px;
}

.debt-btn {
    display: inline-block;
    background: #d4af37;
    color: #102542 !important;
    padding: 12px 24px;
    border-radius: 5px;
    font-weight: 800;
    text-decoration: none;
}

.debt-btn:hover {
    background: #ffffff;
    color: #0d47a1 !important;
}

.debt-content-card {
    height: 100%;
    background: #ffffff;
    border: 1px solid #e3ebf7;
    border-radius: 18px;
    padding: 42px;
    box-shadow: 0 20px 50px rgba(13, 71, 161, 0.10);
}

.debt-category {
    display: inline-block;
    color: #b8942f;
    font-weight: 700;
    margin-bottom: 12px;
}

.debt-content-card h2 {
    color: #102542;
    font-size: 36px;
    font-weight: 800;
    margin-bottom: 20px;
}

.debt-content-card p {
    color: #4b5563;
    font-size: 16px;
    line-height: 1.9;
    margin-bottom: 24px;
}

.debt-content-card h4 {
    color: #102542;
    font-size: 22px;
    font-weight: 800;
    margin: 28px 0 18px;
}

.debt-service-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.debt-service-item {
    display: flex;
    gap: 12px;
    background: #f8fbff;
    border: 1px solid #e3ebf7;
    border-radius: 10px;
    padding: 16px 18px;
    color: #334155;
    font-weight: 600;
    line-height: 1.7;
}

.debt-service-item span {
    color: #0d47a1;
    font-weight: 900;
}

@media (max-width: 991px) {
    .debt-management-section {
        padding: 70px 0;
    }

    .debt-content-card {
        padding: 30px;
    }
}

@media (max-width: 575px) {
    .debt-hero-section,
    .debt-hero-content {
        min-height: 360px;
    }

    .debt-hero-section h1 {
        font-size: 34px;
    }

    .debt-service-grid {
        grid-template-columns: 1fr;
    }

    .debt-content-card {
        padding: 24px;
    }
}

/* debt section 2 */
/* Payment Tracking Section */
.debt-payment-section {
    padding-top: 0;
    background: #f6f9ff;
}

.debt-side-card-gold {
    background: linear-gradient(135deg, #102542 0%, #b8942f 100%);
}

.debt-payment-section .debt-content-card {
    border-top: 4px solid #b8942f;
}

.debt-payment-section .debt-service-item {
    background: #ffffff;
}

@media (max-width: 991px) {
    .debt-payment-section {
        padding-top: 40px;
    }
}

/* debt section 3 */
/* Notice Document Section */
.debt-document-section {
    padding-top: 0;
    background: #f6f9ff;
}

.debt-side-card-document {
    background: linear-gradient(135deg, #071f45 0%, #2f5faa 100%);
}

.debt-document-section .debt-content-card {
    border-top: 4px solid #2f5faa;
}

.debt-document-section .debt-service-item {
    background: #f8fbff;
}

@media (max-width: 991px) {
    .debt-document-section {
        padding-top: 40px;
    }
}

/* news */
/* Article Page */
.article-hero-section {
    position: relative;
    min-height: 430px;
    background-size: cover;
    background-position: center center;
}

.article-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(7, 31, 69, 0.88) 0%,
        rgba(7, 31, 69, 0.72) 50%,
        rgba(7, 31, 69, 0.35) 100%
    );
}

.article-hero-content {
    position: relative;
    z-index: 2;
    min-height: 430px;
    padding-top: 95px;
}

.article-hero-badge {
    display: inline-block;
    color: #d4af37;
    background: rgba(255,255,255,0.08);
    border-left: 4px solid #d4af37;
    padding: 9px 18px;
    margin-bottom: 20px;
    font-weight: 700;
}

.article-hero-section h1 {
    color: #ffffff;
    font-size: 48px;
    font-weight: 800;
    margin-bottom: 18px;
}

.article-hero-section p {
    max-width: 760px;
    color: rgba(255,255,255,0.88);
    font-size: 18px;
    line-height: 1.8;
}

.article-detail-section {
    padding: 60px 0;
    background: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%);
}

.article-card {
    background: #ffffff;
    border: 1px solid #e3ebf7;
    border-radius: 18px;
    padding: 48px;
    box-shadow: 0 20px 50px rgba(13, 71, 161, 0.10);
}

.article-meta {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.article-meta span {
    background: #eaf2ff;
    color: #0d47a1;
    padding: 7px 14px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 700;
}

.article-card h2 {
    color: #102542;
    font-size: 38px;
    font-weight: 800;
    margin-bottom: 24px;
}

.article-card p {
    color: #4b5563;
    font-size: 16px;
    line-height: 1.95;
    margin-bottom: 18px;
}

.article-highlight-box {
    margin: 34px 0;
    padding: 28px 30px;
    background: linear-gradient(135deg, #071f45 0%, #2f5faa 100%);
    border-left: 5px solid #d4af37;
    border-radius: 14px;
}

.article-highlight-box h3 {
    color: #ffffff;
    font-size: 24px;
    font-weight: 800;
    margin-bottom: 12px;
}

.article-highlight-box p {
    color: rgba(255,255,255,0.88);
    margin-bottom: 0;
}

.article-info-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
    margin: 35px 0;
}

.article-info-item {
    background: #f8fbff;
    border: 1px solid #e3ebf7;
    border-radius: 14px;
    padding: 26px;
}

.article-info-item span {
    width: 44px;
    height: 44px;
    background: #0d47a1;
    color: #ffffff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    margin-bottom: 18px;
}

.article-info-item h4,
.article-section-block h3 {
    color: #102542;
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 14px;
}

.article-info-item ul {
    padding-left: 20px;
    margin-bottom: 0;
}

.article-info-item li {
    color: #4b5563;
    line-height: 1.8;
    margin-bottom: 8px;
}

.article-section-block {
    border-top: 1px solid #e3ebf7;
    padding-top: 30px;
    margin-top: 30px;
}

@media (max-width: 767px) {
    .article-hero-section,
    .article-hero-content {
        min-height: 360px;
    }

    .article-hero-section h1 {
        font-size: 34px;
    }

    .article-card {
        padding: 28px;
    }

    .article-card h2 {
        font-size: 30px;
    }

    .article-info-grid {
        grid-template-columns: 1fr;
    }
}

/* news pdpa */
/* PDPA Article */
.pdpa-article-page .article-card {
    position: relative;
}

.pdpa-principle-list {
    display: grid;
    gap: 18px;
    margin-top: 34px;
}

.pdpa-principle-item {
    display: flex;
    gap: 18px;
    background: #f8fbff;
    border: 1px solid #e3ebf7;
    border-radius: 14px;
    padding: 24px;
    transition: all 0.25s ease;
}

.pdpa-principle-item:hover {
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(13, 71, 161, 0.10);
    transform: translateY(-3px);
}

.pdpa-principle-item > span {
    width: 48px;
    height: 48px;
    background: #0d47a1;
    color: #ffffff;
    border-radius: 50%;
    flex: 0 0 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
}

.pdpa-principle-item h4 {
    color: #102542;
    font-size: 21px;
    font-weight: 800;
    margin-bottom: 10px;
}

.pdpa-principle-item p {
    color: #4b5563;
    font-size: 16px;
    line-height: 1.9;
    margin-bottom: 0;
}

.pdpa-security-list {
    margin-top: 14px;
    margin-bottom: 0;
    padding-left: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.pdpa-security-list li {
    background: #ffffff;
    border-left: 4px solid #b8942f;
    border-radius: 6px;
    padding: 12px 14px;
    color: #334155;
    font-weight: 600;
}

@media (max-width: 767px) {
    .pdpa-principle-item {
        flex-direction: column;
    }

    .pdpa-security-list {
        grid-template-columns: 1fr;
    }
}

/* debtor */
/* Creditor Debtor Rights Article */
.rights-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-top: 35px;
}

.rights-card {
    background: #f8fbff;
    border: 1px solid #e3ebf7;
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 12px 30px rgba(13, 71, 161, 0.07);
}

.rights-card-head {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
}

.rights-card-head span {
    width: 54px;
    height: 54px;
    background: #0d47a1;
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
}

.rights-card h3 {
    color: #102542;
    font-size: 26px;
    font-weight: 800;
    margin-bottom: 0;
}

.rights-card h4 {
    color: #b8942f;
    font-size: 18px;
    font-weight: 800;
    margin: 24px 0 14px;
}

.rights-card p {
    color: #4b5563;
    line-height: 1.9;
}

.rights-card ul {
    padding-left: 0;
    list-style: none;
    margin-bottom: 0;
}

.rights-card li {
    position: relative;
    padding: 14px 16px 14px 42px;
    margin-bottom: 12px;
    background: #ffffff;
    border-radius: 10px;
    color: #334155;
    line-height: 1.75;
    border-left: 4px solid #0d47a1;
}

.rights-card li:before {
    content: "✓";
    position: absolute;
    left: 16px;
    top: 14px;
    color: #0d47a1;
    font-weight: 900;
}

.debtor-card li {
    border-left-color: #b8942f;
}

.debtor-card li:before {
    color: #b8942f;
}

@media (max-width: 991px) {
    .rights-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575px) {
    .rights-card {
        padding: 24px;
    }

    .rights-card h3 {
        font-size: 22px;
    }
}

/* home section 2 */
/* Company Profile Section */
.company-profile-section {
    padding: 60px 0;
    background: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%);
}

.company-profile-card {
    background: #ffffff;
    border-radius: 18px;
    padding: 28px;
    box-shadow: 0 20px 50px rgba(13, 71, 161, 0.10);
    border: 1px solid #e3ebf7;
}

.company-profile-image {
    height: 100%;
    min-height: 520px;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
}

.company-profile-image img {
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
    object-position: center;
    display: block;
}

.company-profile-image:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(7, 31, 69, 0.02),
        rgba(7, 31, 69, 0.22)
    );
}

.company-profile-content {
    padding: 18px 18px 18px 35px;
}

.company-subheading {
    display: inline-block;
    color: #b8942f;
    border-left: 4px solid #b8942f;
    padding-left: 14px;
    font-weight: 700;
    margin-bottom: 16px;
}

.company-profile-content h2 {
    color: #102542;
    font-size: 38px;
    font-weight: 800;
    line-height: 1.35;
    margin-bottom: 22px;
}

.company-profile-content p {
    color: #4b5563;
    font-size: 16px;
    line-height: 1.9;
    margin-bottom: 16px;
}

.company-tabs .nav {
    gap: 10px;
}

.company-tabs .nav-pills .nav-link {
    border: 1px solid #d9e6f7;
    background: #ffffff;
    color: #0d47a1;
    border-radius: 6px;
    font-weight: 700;
    padding: 12px 16px;
}

.company-tabs .nav-pills .nav-link.active,
.company-tabs .nav-pills .nav-link:hover {
    background: #2f5faa;
    border-color: #2f5faa;
    color: #ffffff;
}

.company-tab-content {
    background: #f8fbff;
    border: 1px solid #e3ebf7;
    border-radius: 10px;
    padding: 24px;
    margin-top: 12px;
}

.company-tab-content p {
    margin-bottom: 0;
}

.company-profile-footer {
    margin-top: 28px;
    display: flex;
    align-items: center;
    gap: 14px;
    background: linear-gradient(135deg, #071f45 0%, #2f5faa 100%);
    color: #ffffff;
    border-left: 5px solid #d4af37;
    border-radius: 10px;
    padding: 18px 22px;
}

.company-profile-footer span {
    width: 42px;
    height: 42px;
    background: rgba(255,255,255,0.12);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.company-profile-footer strong {
    color: #ffffff;
    font-size: 16px;
    line-height: 1.7;
}

@media (max-width: 991px) {
    .company-profile-content {
        padding: 10px 0 0;
    }

    .company-profile-image,
    .company-profile-image img {
        min-height: 380px;
    }
}

@media (max-width: 575px) {
    .company-profile-section {
        padding: 70px 0;
    }

    .company-profile-card {
        padding: 18px;
    }

    .company-profile-content h2 {
        font-size: 28px;
    }

    .company-tabs .nav {
        display: block;
    }

    .company-tabs .nav-item {
        margin-bottom: 8px;
    }
}

/* home section 3 */
/* Service Overview */
.legal-service-grid-section {
    padding: 60px 0;
    background: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%);
}

.service-grid-header {
    max-width: 720px;
    margin-bottom: 45px;
}

.service-grid-header span {
    display: inline-block;
    color: #b8942f;
    border-left: 4px solid #b8942f;
    padding-left: 14px;
    font-weight: 800;
    margin-bottom: 14px;
}

.service-grid-header h2 {
    color: #102542;
    font-size: 40px;
    font-weight: 800;
    margin-bottom: 16px;
}

.service-grid-header p {
    color: #4b5563;
    font-size: 16px;
    line-height: 1.9;
    margin-bottom: 0;
}

.service-grid-row {
    align-items: stretch;
}

.service-grid-card {
    height: 100%;
    background: #ffffff;
    border: 1px solid #e3ebf7;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 14px 35px rgba(13, 71, 161, 0.08);
    transition: all 0.25s ease;
    position: relative;
}

.service-grid-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 55px rgba(13, 71, 161, 0.14);
}

.service-grid-card:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: #b8942f;
    z-index: 3;
}

.service-grid-img {
    height: 190px;
    background-size: cover;
    background-position: center;
    position: relative;
}

.service-grid-img:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(7, 31, 69, 0.02),
        rgba(7, 31, 69, 0.35)
    );
}

.service-grid-body {
    padding: 28px 22px 30px;
}

.service-grid-no {
    width: 44px;
    height: 44px;
    background: #eaf2ff;
    color: #0d47a1;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    margin-bottom: 18px;
}

.service-grid-body h3 {
    color: #102542;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.45;
    margin-bottom: 14px;
}

.service-grid-body p {
    color: #4b5563;
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 18px;
}

.service-grid-body a {
    color: #0d47a1;
    font-weight: 800;
}

.service-grid-body a:hover {
    color: #b8942f;
}

.service-grid-footer {
    margin-top: 30px;
    text-align: left;
}

.service-grid-footer a {
    display: inline-block;
    background: #2f5faa;
    color: #ffffff !important;
    padding: 14px 36px;
    border-radius: 6px;
    font-weight: 800;
    box-shadow: 0 12px 26px rgba(47, 95, 170, 0.22);
}

.service-grid-footer a:hover {
    background: #102542;
}

@media (max-width: 767px) {
    .service-grid-header {
        text-align: left;
    }

    .service-grid-header h2 {
        font-size: 30px;
    }
}

/* home section 4 */
/* Legal Team Section */
.legal-team-section {
    padding: 60px 0;
    background:
        linear-gradient(135deg, rgba(0, 45, 107, 0.96), rgba(154, 154, 154, 0.92)),
        url("../images/about-company-1.png") center center / cover no-repeat;
    position: relative;
}

.legal-team-header {
    max-width: 760px;
    margin-bottom: 48px;
}

.legal-team-header span {
    display: inline-block;
    color: #d4af37;
    border-left: 4px solid #d4af37;
    padding-left: 14px;
    font-weight: 800;
    margin-bottom: 14px;
}

.legal-team-header h2 {
    color: #ffffff;
    font-size: 40px;
    font-weight: 800;
    line-height: 1.35;
    margin-bottom: 18px;
}

.legal-team-header p {
    color: rgba(255,255,255,0.82);
    font-size: 16px;
    line-height: 1.9;
    margin-bottom: 0;
}

.legal-team-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.legal-team-card {
    background: rgba(255,255,255,0.96);
    border: 1px solid rgba(255,255,255,0.35);
    border-radius: 18px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 180px 1fr;
    min-height: 240px;
    box-shadow: 0 18px 45px rgba(0,0,0,0.18);
    transition: all 0.25s ease;
}

.legal-team-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 24px 60px rgba(0,0,0,0.24);
}

.legal-team-img {
    height: 100%;
    min-height: 240px;
    position: relative;
    overflow: hidden;
}

.legal-team-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.legal-team-img:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(7,31,69,0.04),
        rgba(7,31,69,0.28)
    );
}

.legal-team-info {
    padding: 28px 26px;
    position: relative;
}

.legal-team-no {
    position: absolute;
    top: 22px;
    right: 24px;
    color: rgba(13,71,161,0.10);
    font-size: 42px;
    font-weight: 900;
}

.legal-team-info h3 {
    color: #102542;
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 8px;
    padding-right: 50px;
}

.legal-team-position {
    color: #2f5faa;
    font-size: 14px;
    font-weight: 800;
    margin-bottom: 16px;
}

.legal-team-info p {
    color: #4b5563;
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 0;
}

@media (max-width: 991px) {
    .legal-team-wrapper {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575px) {
    .legal-team-section {
        padding: 70px 0;
    }

    .legal-team-header h2 {
        font-size: 30px;
    }

    .legal-team-card {
        grid-template-columns: 1fr;
    }

    .legal-team-img {
        min-height: 300px;
    }
}

/* home section 4 */
/* Legal News Section */
.legal-news-section {
    padding: 60px 0;
    background: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%);
}

.legal-news-header {
    max-width: 760px;
    margin-bottom: 45px;
}

.legal-news-header span {
    display: inline-block;
    color: #b8942f;
    border-left: 4px solid #b8942f;
    padding-left: 14px;
    font-weight: 800;
    margin-bottom: 14px;
}

.legal-news-header h2 {
    color: #102542;
    font-size: 40px;
    font-weight: 800;
    margin-bottom: 16px;
}

.legal-news-header p {
    color: #4b5563;
    font-size: 16px;
    line-height: 1.9;
    margin-bottom: 0;
}

.legal-news-card {
    height: 100%;
    background: #ffffff;
    border: 1px solid #e3ebf7;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(13, 71, 161, 0.08);
    transition: all 0.25s ease;
    position: relative;
}

.legal-news-card:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: #b8942f;
    z-index: 3;
}

.legal-news-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 55px rgba(13, 71, 161, 0.14);
}

.legal-news-img {
    height: 220px;
    background-size: cover;
    background-position: center;
    position: relative;
}

.legal-news-img:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(7,31,69,0.05),
        rgba(7,31,69,0.42)
    );
}

.legal-news-img span {
    position: absolute;
    left: 18px;
    top: 18px;
    z-index: 2;
    background: #0d47a1;
    color: #ffffff;
    padding: 8px 16px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 800;
}

.legal-news-body {
    padding: 30px 26px 34px;
}

.legal-news-body small {
    display: block;
    color: #b8942f;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 14px;
}

.legal-news-body h3 {
    color: #102542;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.45;
    margin-bottom: 14px;
}

.legal-news-body p {
    color: #4b5563;
    font-size: 15px;
    line-height: 1.85;
    margin-bottom: 22px;
}

.legal-news-body a {
    color: #0d47a1;
    font-weight: 800;
}

.legal-news-body a:hover {
    color: #b8942f;
}

/* Coming soon empty card */
.legal-news-empty {
    height: 100%;
    min-height: 430px;
    border: 1px dashed #c9d8ee;
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(234,242,255,0.65), rgba(255,255,255,0.95));
    display: flex;
    align-items: center;
    justify-content: center;
}

.legal-news-empty-inner {
    width: calc(100% - 44px);
    height: calc(100% - 44px);
    min-height: 360px;
    border-radius: 14px;
    background: rgba(255,255,255,0.65);
    display: flex;
    align-items: center;
    justify-content: center;
}

.legal-news-empty-inner span {
    color: #8a6b18;
    background: rgba(212,175,55,0.16);
    border: 1px solid rgba(212,175,55,0.35);
    padding: 10px 22px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 800;
}

@media (max-width: 767px) {
    .legal-news-section {
        padding: 70px 0;
    }

    .legal-news-header h2 {
        font-size: 30px;
    }

    .legal-news-empty {
        min-height: 260px;
    }

    .legal-news-empty-inner {
        min-height: 210px;
    }
}

/* New Footer */
.site-footer {
    background: #202733;
    padding: 80px 0 25px;
    color: rgba(255,255,255,0.78);
}

.footer-main {
    padding-bottom: 35px;
    border-bottom: 1px solid rgba(255,255,255,0.10);
}

.footer-logo {
    width: 70px;
    height: 70px;
    object-fit: contain;
    margin-bottom: 18px;
}

.footer-brand-box h2 {
    color: #ffffff;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.45;
    margin-bottom: 8px;
}

.footer-brand-box span {
    display: block;
    color: #d4af37;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 18px;
}

.footer-brand-box p {
    color: rgba(255,255,255,0.72);
    font-size: 14px;
    line-height: 1.9;
    margin-bottom: 0;
}

.footer-title {
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 24px;
    position: relative;
}

.footer-title:after {
    content: "";
    display: block;
    width: 38px;
    height: 3px;
    background: #d4af37;
    margin-top: 10px;
}

.footer-links,
.footer-contact {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 11px;
}

.footer-links a {
    color: rgba(255,255,255,0.78);
    font-size: 14px;
    text-decoration: none;
}

.footer-links a:hover {
    color: #d4af37;
}

.footer-contact li {
    display: flex;
    gap: 13px;
    margin-bottom: 16px;
}

.footer-contact span {
    color: #d4af37;
    font-size: 18px;
    margin-top: 4px;
}

.footer-contact p,
.footer-contact a {
    color: rgba(255,255,255,0.78);
    font-size: 14px;
    line-height: 1.8;
    margin: 0;
}

.footer-contact a:hover {
    color: #d4af37;
}

.footer-hours h4 {
    color: #d4af37;
    font-size: 14px;
    font-weight: 800;
    margin-bottom: 8px;
}

.footer-hours p {
    color: rgba(255,255,255,0.78);
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 14px;
}

.footer-bottom {
    padding-top: 22px;
    text-align: center;
}

.footer-bottom p {
    color: rgba(255,255,255,0.65);
    font-size: 14px;
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .site-footer {
        padding: 60px 0 25px;
    }

    .footer-brand-box h2 {
        font-size: 20px;
    }
}