/* =========================================================
   RR LEGAL INFRA
   BLUE ECONOMY & WATERFRONT TOURISM
========================================================= */


/* =========================================================
   HERO
========================================================= */

.blue-hero {

    position: relative;

    background:
        linear-gradient(
            rgba(11, 25, 44, 0.86),
            rgba(11, 25, 44, 0.86)
        ),
        url("../images/blueeconomy.jpeg") center/cover no-repeat;

    min-height: 470px;

    display: flex;

    align-items: center;

    color: #fff;
}


.blue-hero-content {

    max-width: 800px;

    padding: 85px 0;

}


.blue-label {

    color: #c69b45;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 3px;

    margin-bottom: 16px;

    text-transform: uppercase;
}


.blue-hero h2 {

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 48px;

    line-height: 1.15;

    margin: 0 0 20px 0;

    font-weight: 700;
}


.blue-hero h2 span {

    display: block;

    color: #c69b45;
}


.blue-hero p {

    max-width: 680px;

    font-size: 15px;

    line-height: 1.8;

    color: #e4e4e4;

    margin-bottom: 30px;
}


/* =========================================================
   HERO BUTTONS
========================================================= */

.blue-hero-buttons {

    display: flex;

    gap: 12px;

    flex-wrap: wrap;
}


.blue-btn-primary,
.blue-btn-secondary {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    padding: 13px 22px;

    font-size: 12px;

    font-weight: 700;

    text-transform: uppercase;

    text-decoration: none;

    transition: all 0.3s ease;
}


.blue-btn-primary {

    background-color: #c69b45;

    color: #0b192c;

    border: 1px solid #c69b45;
}


.blue-btn-primary:hover {

    background-color: #fff;

    border-color: #fff;

    color: #0b192c;

    transform: translateY(-2px);
}


.blue-btn-secondary {

    background-color: transparent;

    color: #fff;

    border: 1px solid #fff;
}


.blue-btn-secondary:hover {

    background-color: #fff;

    color: #0b192c;

    transform: translateY(-2px);
}


/* =========================================================
   INTRODUCTION
========================================================= */

.blue-intro {

    background-color: #fff;

    padding: 85px 0;
}


.blue-intro-grid {

    display: grid;

    grid-template-columns: 1fr 0.85fr;

    gap: 70px;

    align-items: center;
}


.blue-intro-content {

    max-width: 650px;
}


.blue-intro-content h2 {

    color: #0b192c;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 37px;

    line-height: 1.25;

    margin: 7px 0 18px 0;
}


.blue-intro-content h2 span {

    color: #c69b45;
}


.blue-intro-content .gold-line {

    margin: 0 0 25px 0;
}


.blue-intro-content p {

    color: #666;

    font-size: 14px;

    line-height: 1.8;

    margin-bottom: 17px;
}


/* =========================================================
   INTRO VISUAL
========================================================= */

.blue-intro-visual {

    background:
        linear-gradient(
            145deg,
            #0b192c,
            #071322
        );

    padding: 30px;

    border-top: 4px solid #c69b45;

    box-shadow:
        0 15px 40px rgba(0,0,0,0.12);
}


.water-card {

    display: flex;

    align-items: center;

    gap: 18px;

    padding-bottom: 25px;

    border-bottom:
        1px solid
        rgba(255,255,255,0.12);

}


.water-card-icon {

    width: 60px;

    height: 60px;

    border: 1px solid #c69b45;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    color: #c69b45;

    font-size: 25px;
}


.water-card span {

    color: #c69b45;

    font-size: 10px;

    letter-spacing: 2px;

    font-weight: 700;
}


.water-card h3 {

    color: #fff;

    font-family:
        Georgia,
        serif;

    font-size: 23px;

    line-height: 1.3;

    margin: 4px 0 0 0;
}


.water-stat-grid {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 20px;

    margin-top: 25px;
}


.water-stat {

    display: flex;

    flex-direction: column;

    gap: 3px;
}


.water-stat i {

    color: #c69b45;

    font-size: 20px;

    margin-bottom: 4px;
}


.water-stat strong {

    color: #fff;

    font-size: 13px;
}


.water-stat span {

    color: #999;

    font-size: 11px;
}


/* =========================================================
   SERVICES
========================================================= */

.blue-services {

    background-color: #f7f6f3;

    padding: 85px 0;
}


.blue-section-heading {

    text-align: center;

    max-width: 800px;

    margin: 0 auto 50px auto;
}


.blue-section-heading h2 {

    color: #0b192c;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 36px;

    margin: 7px 0 15px 0;
}


.blue-section-heading p {

    color: #666;

    font-size: 14px;

    line-height: 1.7;

    margin-top: 15px;
}


.blue-section-heading .gold-line {

    margin: 0 auto;
}


/* =========================================================
   SERVICE GRID
========================================================= */

.blue-services-grid {

    display: grid;

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

    gap: 22px;
}


/* =========================================================
   SERVICE CARD
========================================================= */

.blue-service-card {

    background-color: #fff;

    border: 1px solid #e4e4e4;

    padding: 25px;

    display: flex;

    align-items: flex-start;

    gap: 18px;

    min-height: 155px;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}


.blue-service-card:hover {

    transform: translateY(-5px);

    border-color: #c69b45;

    box-shadow:
        0 12px 28px rgba(0,0,0,0.08);
}


/* =========================================================
   SERVICE ICON
========================================================= */

.blue-service-icon {

    min-width: 48px;

    width: 48px;

    height: 48px;

    display: flex;

    align-items: center;

    justify-content: center;

    background-color: #0b192c;

    color: #c69b45;

    border-radius: 50%;

    font-size: 18px;

    transition: 0.3s;
}


.blue-service-card:hover
.blue-service-icon {

    background-color: #c69b45;

    color: #0b192c;
}


/* =========================================================
   SERVICE NUMBER
========================================================= */

.blue-service-card span {

    display: block;

    color: #c69b45;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 1px;

    margin-bottom: 4px;
}


/* =========================================================
   SERVICE TITLE
========================================================= */

.blue-service-card h3 {

    margin: 0 0 9px 0;

    color: #0b192c;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 17px;

    line-height: 1.3;
}


/* =========================================================
   SERVICE DESCRIPTION
========================================================= */

.blue-service-card p {

    margin: 0;

    color: #666;

    font-size: 12px;

    line-height: 1.6;
}


/* =========================================================
   MULTIPLE INCOME SECTION
========================================================= */

.income-section {

    background-color: #0b192c;

    color: #fff;

    padding: 90px 0;
}


.income-heading {

    text-align: center;

    max-width: 800px;

    margin: 0 auto 55px auto;
}


.income-heading .section-label {

    color: #c69b45;
}


.income-heading h2 {

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 38px;

    line-height: 1.25;

    margin: 7px 0 18px 0;
}


.income-heading h2 span {

    color: #c69b45;
}


.income-heading .gold-line {

    margin: 0 auto 20px auto;
}


.income-heading p {

    color: #d4d4d4;

    font-size: 14px;

    line-height: 1.8;
}


/* =========================================================
   INCOME GRID
========================================================= */

.income-grid {

    display: grid;

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

    gap: 15px;

    max-width: 950px;

    margin: 0 auto;
}


.income-item {

    position: relative;

    min-height: 155px;

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

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    transition: 0.3s;

    background:
        rgba(255,255,255,0.025);
}


.income-item:hover {

    border-color: #c69b45;

    transform: translateY(-5px);

    background:
        rgba(197,160,89,0.06);
}


.income-item i {

    color: #c69b45;

    font-size: 28px;

    margin-bottom: 12px;
}


.income-item h3 {

    margin: 0;

    color: #fff;

    font-size: 13px;

    font-weight: 600;
}


.income-number {

    position: absolute;

    top: 10px;

    right: 12px;

    color: rgba(198,155,69,0.6);

    font-size: 10px;

    font-weight: 700;
}


/* =========================================================
   INCOME HIGHLIGHT
========================================================= */

.income-highlight {

    max-width: 950px;

    margin: 45px auto 0 auto;

    padding: 28px;

    border-left:
        3px solid #c69b45;

    background:
        rgba(255,255,255,0.04);

    display: flex;

    gap: 20px;

    align-items: flex-start;
}


.income-highlight-icon {

    width: 50px;

    height: 50px;

    min-width: 50px;

    border:
        1px solid #c69b45;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    color: #c69b45;

    font-size: 20px;
}


.income-highlight span {

    color: #c69b45;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2px;
}


.income-highlight h3 {

    margin: 5px 0 8px 0;

    color: #fff;

    font-family: Georgia, serif;

    font-size: 23px;
}


.income-highlight p {

    color: #bbb;

    font-size: 12px;

    line-height: 1.7;

    margin: 0;
}


/* =========================================================
   INTEGRATED DEVELOPMENT
========================================================= */

.integrated-section {

    background-color: #fff;

    padding: 90px 0;
}


.integrated-grid {

    display: grid;

    grid-template-columns:
        1fr 0.8fr;

    gap: 70px;

    align-items: center;
}


.integrated-content {

    max-width: 650px;
}


.integrated-content h2 {

    color: #0b192c;

    font-family:
        Georgia,
        serif;

    font-size: 37px;

    line-height: 1.25;

    margin: 7px 0 18px 0;
}


.integrated-content h2 span {

    color: #c69b45;
}


.integrated-content .gold-line {

    margin: 0 0 25px 0;
}


.integrated-content p {

    color: #666;

    font-size: 14px;

    line-height: 1.8;

    margin-bottom: 17px;
}


/* =========================================================
   CHECKLIST
========================================================= */

.integrated-checklist {

    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 13px 25px;

    margin-top: 25px;
}


.integrated-checklist div {

    color: #444;

    font-size: 12px;

    display: flex;

    align-items: center;

    gap: 8px;
}


.integrated-checklist i {

    color: #c69b45;

    font-size: 13px;
}


/* =========================================================
   INTEGRATED VISUAL
========================================================= */

.integrated-visual {

    display: flex;

    align-items: center;

    justify-content: center;
}


.integrated-circle {

    width: 390px;

    height: 390px;

    border:
        1px solid #d8c08c;

    border-radius: 50%;

    position: relative;

    display: flex;

    align-items: center;

    justify-content: center;

    background:
        radial-gradient(
            circle,
            #f8f5ed 0%,
            #fff 65%
        );
}


.integrated-circle::before {

    content: "";

    position: absolute;

    width: 280px;

    height: 280px;

    border:
        1px dashed #c69b45;

    border-radius: 50%;
}


.circle-center {

    position: relative;

    z-index: 2;

    width: 125px;

    height: 125px;

    border-radius: 50%;

    background-color: #0b192c;

    color: #fff;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    box-shadow:
        0 8px 25px rgba(0,0,0,0.15);
}


.circle-center i {

    color: #c69b45;

    font-size: 23px;

    margin-bottom: 6px;
}


.circle-center strong {

    font-size: 10px;

    letter-spacing: 1px;
}


.circle-center span {

    color: #aaa;

    font-size: 8px;

    margin-top: 3px;
}


/* =========================================================
   CIRCLE ITEMS
========================================================= */

.circle-item {

    position: absolute;

    width: 95px;

    height: 95px;

    background-color: #fff;

    border:
        1px solid #e0d3b6;

    border-radius: 50%;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    color: #0b192c;

    font-size: 10px;

    font-weight: 700;

    gap: 5px;

    box-shadow:
        0 5px 18px rgba(0,0,0,0.08);
}


.circle-item i {

    color: #c69b45;

    font-size: 19px;
}


.circle-top {

    top: -15px;

    left: 50%;

    transform: translateX(-50%);
}


.circle-right {

    right: -15px;

    top: 50%;

    transform: translateY(-50%);
}


.circle-bottom {

    bottom: -15px;

    left: 50%;

    transform: translateX(-50%);
}


.circle-left {

    left: -15px;

    top: 50%;

    transform: translateY(-50%);
}


/* =========================================================
   SUSTAINABILITY
========================================================= */

.sustainability-section {

    background-color: #f7f6f3;

    padding: 85px 0;

    text-align: center;
}


.sustainability-content {

    max-width: 950px;

    margin: 0 auto;
}


.sustainability-content h2 {

    color: #0b192c;

    font-family:
        Georgia,
        serif;

    font-size: 36px;

    margin: 7px 0 18px 0;
}


.sustainability-content h2 span {

    color: #c69b45;
}


.sustainability-content .gold-line {

    margin: 0 auto 20px auto;
}


.sustainability-content > p {

    max-width: 700px;

    margin: 0 auto 45px auto;

    color: #666;

    font-size: 14px;

    line-height: 1.8;
}


.sustainability-grid {

    display: grid;

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

    gap: 20px;
}


.sustainability-grid > div {

    background-color: #fff;

    border:
        1px solid #e5e5e5;

    padding: 30px 22px;

    transition: 0.3s;
}


.sustainability-grid > div:hover {

    transform: translateY(-5px);

    border-color: #c69b45;

    box-shadow:
        0 10px 25px rgba(0,0,0,0.07);
}


.sustainability-grid i {

    color: #c69b45;

    font-size: 28px;

    margin-bottom: 15px;
}


.sustainability-grid h3 {

    color: #0b192c;

    font-family:
        Georgia,
        serif;

    font-size: 17px;

    margin: 0 0 10px 0;
}


.sustainability-grid p {

    color: #666;

    font-size: 12px;

    line-height: 1.7;

    margin: 0;
}


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

.blue-contact {

    background-color: #fff;

    padding: 80px 0;

    text-align: center;
}


.blue-contact-content {

    max-width: 750px;

    margin: 0 auto;
}


.blue-contact h2 {

    color: #0b192c;

    font-family:
        Georgia,
        serif;

    font-size: 38px;

    line-height: 1.25;

    margin: 7px 0 15px 0;
}


.blue-contact h2 span {

    color: #c69b45;
}


.blue-contact p {

    color: #666;

    font-size: 14px;

    line-height: 1.8;

    margin-bottom: 25px;
}


.blue-contact .blue-hero-buttons {

    justify-content: center;
}


/* DARK OUTLINE BUTTON */

.blue-btn-secondary.dark {

    color: #0b192c;

    border-color: #0b192c;
}


.blue-btn-secondary.dark:hover {

    background-color: #0b192c;

    color: #fff;
}


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

.footer-strip {

    background-color: #071322;

    color: #fff;

    padding: 30px 0;
}


.footer-grid {

    display: grid;

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

    gap: 25px;
}


.footer-box {

    display: flex;

    align-items: flex-start;

    gap: 12px;
}


.footer-box > i {

    color: #c69b45;

    font-size: 18px;

    margin-top: 3px;
}


.footer-box-content h5 {

    margin: 0 0 5px 0;

    font-size: 12px;

    color: #fff;

    text-transform: uppercase;

    letter-spacing: 0.5px;
}


.footer-box-content p {

    margin: 0;

    color: #aaa;

    font-size: 11px;

    line-height: 1.5;
}


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

@media screen and (max-width: 1000px) {

    .blue-services-grid {

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


    .blue-intro-grid,
    .integrated-grid {

        grid-template-columns: 1fr;

        gap: 50px;
    }


    .income-grid {

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


    .sustainability-grid {

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


    .footer-grid {

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

}


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

@media screen and (max-width: 700px) {

    .blue-hero {

        min-height: auto;
    }


    .blue-hero-content {

        padding: 60px 0;
    }


    .blue-hero h2 {

        font-size: 34px;
    }


    .blue-hero p {

        font-size: 14px;
    }


    .blue-intro,
    .blue-services,
    .income-section,
    .integrated-section,
    .sustainability-section,
    .blue-contact {

        padding: 60px 0;
    }


    .blue-intro-content h2,
    .integrated-content h2 {

        font-size: 30px;
    }


    .blue-section-heading h2 {

        font-size: 30px;
    }


    /* SERVICES */

    .blue-services-grid {

        grid-template-columns: 1fr;

        gap: 15px;
    }


    .blue-service-card {

        min-height: auto;

        padding: 20px;
    }


    /* INCOME */

    .income-grid {

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

        gap: 12px;
    }


    .income-item {

        min-height: 135px;
    }


    .income-highlight {

        flex-direction: column;

        text-align: center;

        align-items: center;
    }


    /* INTEGRATED */

    .integrated-checklist {

        grid-template-columns: 1fr;
    }


    .integrated-circle {

        width: 320px;

        height: 320px;
    }


    .integrated-circle::before {

        width: 225px;

        height: 225px;
    }


    .circle-center {

        width: 105px;

        height: 105px;
    }


    .circle-item {

        width: 78px;

        height: 78px;

        font-size: 9px;
    }


    .circle-item i {

        font-size: 16px;
    }


    /* SUSTAINABILITY */

    .sustainability-grid {

        grid-template-columns: 1fr;
    }


    /* CONTACT */

    .blue-contact h2 {

        font-size: 30px;
    }


    /* FOOTER */

    .footer-grid {

        grid-template-columns: 1fr;

        gap: 20px;
    }

}


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

@media screen and (max-width: 450px) {

    .container {

        width: 92%;
    }


    .blue-hero h2 {

        font-size: 29px;
    }


    .blue-label {

        font-size: 10px;

        letter-spacing: 2px;
    }


    .blue-hero-buttons {

        flex-direction: column;

        align-items: stretch;
    }


    .blue-btn-primary,
    .blue-btn-secondary {

        width: 100%;

        box-sizing: border-box;
    }


    .blue-intro-content h2,
    .integrated-content h2 {

        font-size: 27px;
    }


    .blue-section-heading h2 {

        font-size: 27px;
    }


    /* INCOME */

    .income-grid {

        grid-template-columns: 1fr;
    }


    .income-highlight h3 {

        font-size: 20px;
    }


    /* CIRCLE */

    .integrated-circle {

        width: 280px;

        height: 280px;
    }


    .integrated-circle::before {

        width: 195px;

        height: 195px;
    }


    .circle-center {

        width: 90px;

        height: 90px;
    }


    .circle-item {

        width: 68px;

        height: 68px;

        font-size: 8px;
    }


    .circle-top {

        top: -8px;
    }


    .circle-right {

        right: -8px;
    }


    .circle-bottom {

        bottom: -8px;
    }


    .circle-left {

        left: -8px;
    }

}