@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700&family=Oxygen:wght@300;400;700&display=swap');


* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Inter', sans-serif;
    background-image: url("CIPUT dh bagus.jpg");
    background-attachment: fixed;
    background-size: cover;
    background-repeat: no-repeat;
    color: white;
    scroll-behavior: smooth;
}


.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 40px;
    background-color: transparent; 
    position: sticky;
    top: 0;
    z-index: 1000;
    flex-wrap: nowrap; 
    flex-direction: row; 
}

.logo img {
    height: 30px; 
}

nav {
    flex: 1;
    display: flex;
    justify-content: center;
}

.navi {
    list-style: none;
    display: flex;
    gap: 25px; 
}

.navi > li {
    position: relative;
}

.navi a,
.dropbtn {
    color: white;
    text-decoration: none;
    padding: 10px 14px; 
    font-weight: bold;
    font-size: 1em; 
    display: inline-block; 
}

.dropdown-content {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: white;
    min-width: 180px;
    box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.2);
    z-index: 100;
}

.dropdown-content a {
    color: #1B3541;
    padding: 12px 16px;
    display: block;
    font-weight: bold;
    text-decoration: none;
}

.dropdown-content a:hover {
    background-color: #1B3541;
    color: white;
}

.dropdown:hover .dropdown-content {
    display: block;
}

form {
    width: 200px; 
    flex-shrink: 0; 
    order: unset; 
    margin-bottom: 0; 
}

form input[type="text"] {
    width: 100%;
    padding: 8px;
    border: none;
    background-color: #133358;
    color: white;
    font-size: 14px;
    border-radius: 0;
}


main {
    padding: 60px 40px;
}

h1 {
    font-size: 60px;
    font-family: "Palanquin Dark", sans-serif;
    margin-bottom: 20px;
    margin-top: 80px;
    margin-left: 30px;
}

h2 {
    font-size: 28px;
    font-family: 'Oxygen', sans-serif;
    margin-top: 15px;
    margin-left: 30px;
    font-weight: 400;
}

h3 {
    margin-top: 40px;
    display: inline-block;
    background-color: #C8D2DE;
    padding: 14px 20px;
    border-radius: 40px;
    color: #7C6565;
    font-weight: bold;
    cursor: pointer;
    text-decoration: none;
    margin-bottom: 20px;
    margin-left: 30px;
}

h3:hover {
    background-color: #1B3541;
    color: white;
}

#ciputra-section {
    background-color: #E0E1DD;
    padding: 60px 40px;
    text-align: center;
}

#ciputra-section h2 {
    font-size: 32px;
    font-weight: bold;
    color: #1B3541;
    margin-bottom: 10px;
}

#ciputra-section .subtext {
    font-size: 16px;
    color: #444;
    margin-bottom: 40px;
    font-family: 'Oxygen', sans-serif;
    text-align: center; 
}

.founders {
    display: grid;
   
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 50px;
    justify-content: center;
    align-items: start;
}

.founder {
    text-align: center;
}

.founder img {
    width: 190px;
    height: 190px;
    object-fit: cover;
    display: block; 
    margin-left: auto;
    margin-right: auto;
}

.founder p {
    margin-top: 10px;
    font-size: 14px;
    color: #1B3541;
    font-family: 'Oxygen', sans-serif;
}

.subtext {
	width: 900px;
    margin-left: auto;
    margin-right: auto;
  
    
    
    display: flex; 
    justify-content: center; 
    align-items: center; 
}
#wisdom-section {
    background-color: #E0E1DD;
    padding: 60px 40px; 
    text-align: center;
}

#wisdom-section h2 {
    font-size: 32px;
    font-weight: bold;
    color: #1B3541;
    margin-bottom: 10px;
}

#wisdom-section .subtext {
    font-size: 16px;
    color: #444;
    margin-bottom: 40px;
    font-family: 'Oxygen', sans-serif;
}

.wisdomz {
    display: flex;
    justify-content: center;
    flex-wrap: wrap; 
    gap: 20px; 
}

.wisdomzz {
    text-align: center;
    width: 269px; 
    flex-shrink: 0;
}

.wisdomzz img {
    width: 269px; 
    height: 240px;
    object-fit: cover;
    margin-bottom: 0px;
}

.wisdomzz p {
    font-size: 13px;
    color: #000000;
    font-family: 'Oxygen', sans-serif;
    background-color: #C3C6CB;
    text-align: left;
    min-height: 100px;
    padding: 10px;
    box-sizing: border-box;
}
.click {
    font-family: 'Oxygen', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #1B3541;
    text-decoration: none;
    text-align: left;
    display: inline-block;
    padding: 5px 0;
    transition: color 0.3s ease;
    margin-top: auto;
}

.click:hover {
    color: #527506;
}

#company-section {
    background-color: #E0E1DD;
    padding: 60px 40px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

#company-section h2 {
    font-size: 32px;
    font-weight: bold;
    color: #1B3541;
    margin-bottom: 40px;
}

#footer-section {
    background-image: url("bawah footer-01.png");
    background-attachment: fixed;
    background-size: cover;
    background-repeat: no-repeat;
    scroll-behavior: smooth;
    font-family: "Oxygen", sans-serif;
    font-weight: 700;
    font-style: normal;
}

.ciputra-info-section {
    display: flex;
    justify-content: space-between;
    padding: 100px 40px;
    font-family: 'Inter', sans-serif;
    color: white;
    gap: 60px;
    flex-wrap: wrap;
}

.info-left,
.info-right {
    padding: 0 80px;
}

.social-icons {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

.phone,
.address {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 15px;
}

.quote {
    font-size: 16px;
    margin-bottom: 20px;
    line-height: 1.6;
}

.description {
    font-size: 15px;
    margin: 20px 0;
    line-height: 1.6;
}

.cta {
    background-color: #527506;
    color: #FFFFFF;
    border-radius: 30px;
    padding: 15px;
    outline: none;
    border: none;
    font-family: "Oxygen", sans-serif;
    font-weight: 700;
    font-style: normal;
}

.cta:hover {
    background-color: #FFFFFF;
    color: #527506;
    cursor: pointer;
}

.klik{
    font-family: 'Oxygen', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #FFF;
    text-decoration: none;
    text-align: left;
    display: inline-block;
    transition: color 0.3s ease;
    margin-top: auto;
}

.klik:hover {
    color: #527506;
}
.footer-copyright {
    margin-left: 120px;
    margin-top: 0px;
    font-size: 14px;
    color: #FFFFFF;
}


@media screen and (max-width: 1024px) {
    .header {
        flex-wrap: wrap;
        padding: 10px 20px;
        gap: 10px;
    }

    nav {
        order: 2;
        width: 100%;
        justify-content: center;
        margin-top: 10px;
    }

    form {
        order: 3;
        width: 100%;
        margin-top: 10px;
    }

    .navi {
        flex-wrap: wrap;
        justify-content: center;
        gap: 15px;
    }

    h1 {
        font-size: 40px;
        margin-left: 50px;
    }

    h2 {
        font-size: 22px;
        margin-left: 50px;
    }

    h3 {
        margin-left: 15px;
        font-size: 50px;
    }

    .subtext {
        width: 100%;
        flex-direction: column;
        padding: 0 10px;
        text-align: center;
    }

    .ciputra-info-section {
        flex-direction: column;
        padding: 60px 20px;
    }

    .info-left,
    .info-right {
        padding: 0;
    }

    .dropdown-content {
        position: absolute;
        
        top: 100%;
        left: 0;
        background-color: white;
        box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.2);
        display: none;
    }

    .dropdown:hover .dropdown-content {
        display: block;
    }

    
    .footer-copyright {
        text-align: left; 
        margin-left: 20px; 
    }
}


@media screen and (max-width: 900px) {
    .ciputra-group-section {
        flex-direction: column; 
        gap: 40px; 
        align-items: center; 
        padding-left: 20px;
        padding-right: 20px;
    }

    h3 {
        font-size: 20px;
        margin-left: 20px;
        text-align: center;
    }

    .subtext {
        text-align: center;
        padding: 0 15px;
    }

    .wisdomzz img {
        width: 260px;
        height: 260px;
    }

    .wisdomz p {
        width: 265px;
		 height: 160px;
    }

    .footer-copyright {
        margin-left: 20px;
        font-size: 13px;
        text-align: left;
    }
}


/* ========== MOBILE (max-width: 768px) ========== */
@media screen and (max-width: 768px) {
    .header {
        flex-direction: column;
        align-items: flex-start;
        padding: 10px 20px;
    }

    nav {
        width: 100%;
        justify-content: center;
    }

    .navi {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }

    form {
        width: 100%;
    }

    h1 {
        font-size: 40px;
        margin-left: 30px;
    }

    h2 {
        font-size: 20px;
        margin-left: 30px;
    }

    h3 {
        font-size: 10px;
        margin-left: 30px;
    }

    #ciputra-section,
    #wisdom-section,
    #company-section {
        padding: 40px 20px;
    }

    .founders {
        grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
        gap: 30px;
    }

    .founder img {
        width: 160px;
        height: 160px;
    }

    .wisdomz {
        gap: 15px;
    }

    .wisdomzz {
        width: 100%;
    }

    .wisdomzz img {
        width: 330px;
        height: 330px;
    }

    .wisdomz p {
        font-size: 12px;
        min-height: 50px;
        width: 330px;
        margin: 0 auto;
    }

    .ciputra-info-section {
        padding: 50px 20px;
        gap: 30px;
    }

    .description,
    .quote,
    .phone,
    .address {
        font-size: 14px;
    }

    .cta {
        width: 130px;
        text-align: center;
    }

    .dropdown-content {
        position: absolute;
       
        top: 100%;
        left: 0;
        background-color: white;
        box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.2);
        display: none;
    }

    .dropdown:hover .dropdown-content {
        display: block;
    }

   
    .footer-copyright {
        text-align: left; 
        margin-left: 20px; 
        
    }
}


/* ========== SMALL MOBILE (max-width: 480px) ========== */
@media screen and (max-width: 480px) {
    h1 {
        font-size: 35px;
        margin-left: 18px;
    }

    h2 {
        font-size: 20px;
        margin-left: 18px;
    }

    h3 {
        font-size: 10px;
    }

    .dropdown-content {
        position: static;
        box-shadow: none;
    }

    .founders {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .founder img {
        width: 150px;
        height: 150px;
    }

    .wisdomzz p {
        font-size: 12px;
        min-height: 50px;
        width: 200px;
        margin: 0 auto;
    }

    .wisdomzz img {
        width: 200px;
        height: 200px;
    }

    .click,
    .klik {
        font-size: 12px;
    }

    .cta {
        padding: 10px;
        font-size: 14px;
        width: 130px;
    }

    .dropdown-content {
        position: absolute;
        top: 100%;
        left: 0;
        background-color: white;
        box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.2);
        display: none;
        z-index: 999;
    }

    .dropdown:hover .dropdown-content {
        display: block;
    }
   
    .footer-copyright {
        text-align: left; 
        margin-left: 15px; 
    }
}

#group-page {
    background-image: url("bg.png");
    background-attachment: fixed;
    background-size: cover;
    background-repeat: no-repeat;
}

#group-page .ciputra-group-section {
    display: flex;
   
    align-items: flex-start;
    padding-bottom: 130px;
    padding-top: 130px; 
    max-width: 1400px; 
    max-height: 1500px;
    
    padding-left: 40px; 
    padding-right: 40px; 
    box-sizing: border-box; 
    gap: 340px; 
    width: 100%;
}

#group-page .group-left {
    text-align: left;
    margin-left: 0; 
    padding-top: 0; 
    flex-shrink: 0; 
}

#group-page .group-left h1 {
    font-size: 64px;
    font-weight: 700;
    line-height: 1.1;
    margin-left: 0;
    font-family: "Palanquin Dark", sans-serif;
    margin-top: 8px;
    color: white;
}

#group-page .group-left .group {
    font-size: 42px;
    font-weight: 600;
    font-family: "Palanquin Dark", sans-serif;
    color: white;
}

#group-page .group-left .tagline {
    font-size: 20px;
    font-style: italic;
    margin-top: 65px;
    margin-left: 0;
    color: white;
    font-family: 'Oxygen', sans-serif;
    font-weight: 300;
    width: 380px; 
}

#group-page .group-right p {
    font-size: 15px;
    line-height: 1.8;
    margin-right: 0;
    text-align: justify;
    width: 700px; 
    margin-top: 0; 
    font-family: 'Oxygen', sans-serif;
    font-weight: 300;
    padding: 0;
    margin-bottom: 0;
    color: white;
    flex-shrink: 0; 
}


#sustainable {
    background-color: #C8D2DE;
    min-height: 70vh;
    padding-bottom: 100px;
  
    padding-left: 0px; 
    padding-right: 0px; 
    box-sizing: border-box; 

    display: flex; 
    align-items: flex-start; 
    gap: 80px; 
    flex-wrap: wrap; 
	max-width: none;
}
.left h2 {
    font-family: 'Oxygen', sans-serif;
    font-weight: 700;
    color: #000000;
    margin-bottom: 20px;
    font-size: 28px;
    width: 600px; 
	margin-left: -10px;
}

.left p {
    font-family: 'Oxygen', sans-serif;
    font-weight: 300;
    color: #000000;
    text-align: justify;
    max-width: 600px; 
    line-height: 1.8;
	margin-left: -40px;
}

#sustainable .right {
    flex: 1;
    max-width: 350px;
    height: 400px;
    align-self: flex-start;
    cursor: pointer;
    padding-top: 60px;
	margin-right: 50px;
}

.flip-card {
    width: 350px;
    height: 200px;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 0.8s;
}

.right.flipped .flip-card {
    transform: rotateY(180deg);
}

#sustainable .right img {
    width: 350px;
    height: 400px;
    object-fit: cover;
    backface-visibility: hidden;
    position: absolute;
}

.right .front {
    z-index: 2;
    transform: rotateY(0deg);
}

.right .back {
    transform: rotateY(180deg);
}


.ciputra-hospital-section {
    background-color: #fff;
    padding: 50px 0;
    text-align: center;
}

.ciputra-hospital-section h2 {
    font-size: 40px;
    font-weight: 700;
    color: #000;
    margin-bottom: 50px;
    font-family: "Palanquin Dark", sans-serif;
}

.hospital-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.hospital-item {
    border: 1px solid #ddd;
    padding: 10px;
    text-align: left;
    background-color: #f9f9f9;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}

.hospital-item img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    margin-bottom: 10px;
}

.hospital-item p {
    font-size: 12px;
    line-height: 1.5;
    color: #333;
    font-family: 'Oxygen', sans-serif;
    font-weight: 300;
    margin: 0;
    padding: 0 5px;
}

.milestone-section {
    background-color: white;
	display: flex;
    align-items: flex-start;
    padding-left: 50px; 
    box-sizing: border-box; 
    gap: 300px;
    flex-wrap: wrap;
	padding-top: 40px;
	padding-bottom: 40px;
	max-width: none;
}

.milestone-img {
    flex: 1;
    display: flex;
    justify-content: flex-start; 
    position: relative;
    max-width: 500px;
}

.milestone-img img {
    width: 350px;
    height: 400px;
    margin-left: 0; 
    margin-top: 30px;
}

.milestone-text {
    flex: 1;
}

.milestone-text h2 {
    font-size: 28px;
    font-weight: 700;
    color: #000000;
	margin-top: 50px;
	margin-left: -2px;
}

.milestone-text p {
    font-family: 'Oxygen', sans-serif;
    font-weight: 300;
    color: #000000;
    text-align: justify;
	max-width: 600px;
	margin-top: 50px;
    line-height: 1.8;
}

@media screen and (min-width: 850px) and (max-width: 900px) {
    #group-page .ciputra-group-section {
        flex-direction: column;
        align-items: center;
        gap: 50px;
        padding: 80px 30px;
    }

    #group-page .group-left h1 {
        font-size: 42px;
        text-align: center;
    }

    #group-page .group-left .group {
        font-size: 28px;
        text-align: center;
    }

    #group-page .group-left .tagline {
        font-size: 16px;
        text-align: center;
        width: 100%;
    }

    #group-page .group-right p {
        font-size: 15px;
        text-align: justify;
        padding: 0 20px;
    }

    #sustainable {
        flex-direction: column;
        align-items: center;
        gap: 40px;
        padding: 60px 20px;
    }

    #sustainable .left h2,
    #sustainable .left p {
        width: 100%;
        text-align: center;
        margin-left: 0;
    }

    #sustainable .right {
        width: 90%;
        max-width: 400px;
        margin: 0 auto;
    }

    .flip-card {
        width: 100%;
        height: 300px;
    }

    #sustainable .right img {
        width: 100%;
        height: 300px;
        object-fit: cover;
    }

    .milestone-section {
        flex-direction: column;
        align-items: center;
        gap: 40px;
        padding: 50px 20px;
    }

    .milestone-img img {
        width: 100%;
        height: auto;
    }

    .milestone-text {
        text-align: center;
    }

    .milestone-text h2 {
        font-size: 24px;
    }

    .milestone-text p {
        font-size: 15px;
        text-align: justify;
        width: 100%;
        line-height: 1.6;
    }
}

@media screen and (max-width: 1200px) {
    #group-page .ciputra-group-section {
        flex-direction: column;
        align-items: center;
        gap: 60px;
        padding: 80px 20px;
    }

    #group-page .group-left h1 {
        font-size: 48px;
    }

    #group-page .group-left .group {
        font-size: 32px;
    }

    #group-page .group-left .tagline {
        font-size: 18px;
        width: 100%;
        text-align: center;
    }

    #group-page .group-right p {
        width: 100%;
        padding: 0 20px;
    }

    #sustainable {
        flex-direction: column;
        align-items: center;
        gap: 40px;
        padding: 60px 20px;
    }

    #sustainable .left h2,
    #sustainable .left p {
        width: 100%;
        margin-left: 0;
        text-align: center;
    }

    #sustainable .right {
        align-self: center;
        margin-right: 0;
    }

    .milestone-section {
        flex-direction: column;
        align-items: center;
        gap: 40px;
        padding: 40px 20px;
    }

    .milestone-img {
        justify-content: center;
    }

    .milestone-img img {
        width: 100%;
        height: auto;
    }

    .milestone-text {
        text-align: center;
    }

    .milestone-text h2,
    .milestone-text p {
        margin-left: 0;
    }
}

/* === iPad Air Portrait (820px x 1180px) === */
@media screen and (min-width: 810px) and (max-width: 830px) and (orientation: portrait) {
    #group-page .group-left h1 {
        font-size: 42px;
        text-align: center;
    }

    #group-page .group-left .group {
        font-size: 28px;
        text-align: center;
    }

    #group-page .group-left .tagline {
        font-size: 18px;
        margin-top: 50px;
        text-align: center;
        width: 100%;
    }

    #group-page .group-right p {
        font-size: 15px;
        text-align: justify;
    }

    #sustainable .right {
        width: 100%;
        max-width: 100%;
    }

    #sustainable .left h2 {
        margin-top: 20px;
    }

    #sustainable .left p {
        text-align: justify;
        margin-bottom: -20px;
    }

    .flip-card,
    #sustainable .right img {
        width: 480px;
        height: 330px;
        margin-left: auto;
        margin-right: auto;
    }

    .milestone-text h2 {
        font-size: 30px;
    }

    .milestone-text p {
        font-size: 15px;
        width: auto;
    }
}
@media screen and (max-width: 1024px) and (orientation: portrait) {
    #group-page .group-left h1 {
        font-size: 44px;
        text-align: center;
    }

    #group-page .group-left .group {
        font-size: 30px;
        text-align: center;
    }

    #group-page .group-left .tagline {
        font-size: 18px;
        margin-top: 50px;
        text-align: center;
        width: 100%;
    }

    #group-page .group-right p {
        font-size: 16px;
        text-align: justify;
        padding: 0 30px;
    }

    #sustainable .right {
        width: 100%;
        max-width: 100%;
    }

    #sustainable .left h2 {
        font-size: 32px;
        margin-top: 20px;
        text-align: center;
    }

    #sustainable .left p {
        text-align: justify;
        font-size: 16px;
        padding: 0 30px;
        margin-bottom: -20px;
		width: 1050px;
    }

    .flip-card {
        width: 520px;
        height: 360px;
        margin: 20px auto;
    }

    #sustainable .right img {
        width: 520px;
        height: 360px;
        display: block;
        margin: 0 auto;
    }

    .milestone-text h2 {
        font-size: 30px;
        text-align: center;
    }

    .milestone-text p {
        font-size: 16px;
        width: 90%;
        margin: 0 auto;
        text-align: justify;
    }
}

}


/* ---------- TABLET <= 768px ---------- */
@media screen and (max-width: 768px) {
    #group-page .group-left h1 {
        font-size: 38px;
        text-align: center;
    }

    #group-page .group-left .group {
        font-size: 26px;
        text-align: center;
    }

    #group-page .group-left .tagline {
        font-size: 16px;
        margin-top: 40px;
        text-align: center;
        width: 100%;
    }

    #group-page .group-right p {
        font-size: 14px;
        text-align: justify;
    }
	#sustainable{
		width: 500px;
	}

    #sustainable .right {
        width: 100%;
        max-width: 100%;
    }
	
	#sustainable .left h2{
		margin-top: 10px;
		
	}
	
	#sustainable .left p{
		text-align: justify;
		margin-bottom: -30px;
		
	}

    .flip-card {
        width: 500px;
        height: 350px;
		margin-left: 95px;
    }

    #sustainable .right img {
        width: 500px;
        height: 350px;
    }

    .milestone-text h2 {
        font-size: 28px;
    }

    .milestone-text p {
        font-size: 14px;
		width: 1020px;
    }
}

@media screen and (max-width: 480px) {
    
    #sustainable {
        display: flex;
        flex-direction: column;
        align-items: flex-start; 
        padding: 10px; 
		padding-top: 0px;
		padding-bottom: 150px;
        gap: 30px;
        box-sizing: border-box;
    }

    #sustainable .left {
        width: 100%;
        box-sizing: border-box;
    }

    #sustainable .left h2 {
        font-size: 20px;
        line-height: 1.3;
        text-align: justify; 
		text-align: center;
		display: block;
        margin-bottom: 10px;
		padding-top: -300px;
		margin-left: 0px;
    }

    #sustainable .left p {
        font-size: 15px;
        line-height: 1.6;
        text-align: justify;
        width: 350px;
		margin-left: -15px;
    }

    #sustainable .right {
        width: 300px;
        box-sizing: border-box;
        display: flex;
        justify-content: center;
		height: 250px;
		margin-left: -75px;
    }

    #sustainable .right img {
        width: 300px; 
        height: auto;
        object-fit: cover;
        display: block;
		margin-left: 20px;
	}
		
		
    .milestone-section {
        flex-direction: column;
        align-items: center;
        gap: 40px;
        padding: 40px 20px;
    }

    .milestone-img {
        justify-content: center;
    }

    .milestone-img img {
        width: 300px;
        height: 330px;
    }

    .milestone-text {
        text-align: center;
		font-size: 10px;
    }

    .milestone-text h2,
    .milestone-text p {
        margin-left: 0;
    }
	.milestone-text h2{
		font-size: 20px;
	}
	.milestone-text p{
		font-size: 15px;
        line-height: 1.6;
        text-align: justify;
        width: 300px;
		margin-left: 20px;
		
	}
}


#healthcare-page {
    background-image: url("pas.jpg");
    background-attachment: fixed;
    background-size: cover;
    background-repeat: no-repeat;
}
#healthcare-page .ciputra-healthcare-section {
    display: flex;
    
	justify-content: space-between;
    align-items: flex-start;
    padding-bottom: 150px;
    padding-top: 0px;
    max-width: 1400px; 
    max-height: 500px;
   
    padding-left: 27px;
    padding-right: 5px; 
    box-sizing: border-box; 
    gap: 300px; 
    width: 100%;
}

#healthcare-page .healthcare-left h1 {
    font-size: 70px;
    line-height: 1.1;
    margin-left: 5px;
 font-family: "Palanquin Dark", sans-serif;
  font-weight: 400;
  font-style: normal;
    margin-top: 120px;
}

#healthcare-page .healthcare-left .group {
    font-size: 42px;
    font-weight: 400;
    font-family: "Palanquin Dark", sans-serif;
}

#healthcare-page .healthcare-left .tagline {
    font-size: 20px;
    font-style: italic;
    margin-top: 50px;
    color: white;
    font-family: 'Oxygen', sans-serif;
    font-weight: 300;
}

#healthcare-page .healthcare-right p {
    font-size: 15px;
    line-height: 1.8;
    text-align: justify;
    width: 700px;
    font-family: 'Oxygen', sans-serif;
    font-weight: 300;
    margin-top: 130px;
	margin-right: -90px;
	
}

#medical {
    background-color: #C8D2DE;
    min-height: 70vh;
}

.content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
    flex-wrap: wrap;
}

.left {
    flex: 1;
    min-width: 300px;
    margin-top: 60px;
    padding-left: 20px;
}

.left h2 {
    font-family: 'Oxygen', sans-serif;
    font-weight: 700;
    color: #000000;
    margin-bottom: 20px;
    padding-left: 25px;
    margin-top: 50px;
}

.left p {
    font-family: 'Oxygen', sans-serif;
    font-weight: 300;
    color: #000000;
    text-align: justify;
    max-width: 750px;
    padding-left: 55px;
}

#healthacare-page .right {
    align-self: flex-start;
    cursor: pointer;
    margin-top: 100px;
}

#healthcare-page .right img {
    height: 550px;
    display: block; 
    max-width: 400px; 
    max-height: 2000px; 
    object-fit: cover; 
	padding-right: 60px;
    
}

.wealness-section { 
    background-color: #e0e1dd;
	    display: flex;
   
	justify-content: space-between;
    align-items: flex-start;
    padding-bottom: 100px;
    padding-top: 50px;
    max-width: 1800px; 
    max-height: 900px;
   
    padding-left: 27px; 
    box-sizing: border-box; 
    gap: 400px; 
    width: 100%;
}

.wealness-img {
    width: 200px;
    height: 200px;
    margin-top: 60px;
}


.wealness-text h2 {
    font-size: 28px;
    font-weight: 700;
    color: #000000;
    margin-left: 110px;
	padding-top: 45px;
	max-width: 800px;
	margin-top: 60px;
}

.wealness-text p {
    font-family: 'Oxygen', sans-serif;
    font-weight: 300;
    color: #000000;
    text-align: justify;
    margin-left: 110px;
	max-width: 720px;
	line-height: 1.8;
	margin-top: 20px;
}


.ciputra-hospital-section {
    background-color: #E0E1DD;
    text-align: center;
    padding: 40px 0; 
}

.ciputra-hospital-section h2 {
    font-size: 40px;
    color: #000;
    margin-bottom: 30px; 
    font-family: 'Oxygen', sans-serif;
    font-weight: 700;
    margin-top: 0; 
	margin-left: 20px;
}


.hospital-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr); 
    gap: 20px; 
    max-width: 1510px; 
    margin: 0 auto; 
    padding: 0 35px; 
}

.hospital-item {
    border: 1px solid #ddd;
    padding: 10px;
    text-align: left;
    background-color: #f9f9f9;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    display: flex; 
    flex-direction: column; 
    justify-content: flex-start; 
    align-items: flex-start; 
    height: 100%; 
    box-sizing: border-box; 
}


.hospital-second {
    display: grid;
    grid-template-columns: repeat(4, 1fr); 
    gap: 20px; 
    max-width: 1200px; 
    margin: 30px auto 0 auto; 
    padding: 0 20px; 
}

.hospital-itemz {
    border: 1px solid #ddd;
    padding: 10px;
    text-align: left;
    background-color: #f9f9f9;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    display: flex; 
    flex-direction: column; 
    justify-content: flex-start; 
    align-items: flex-start; 
    height: 100%;
    box-sizing: border-box; 
}


.hospital-item img,
.hospital-itemz img {
    width: 100%; 
    height: 150px; 
    object-fit: cover; 
    margin-bottom: 10px; 
}


.hospital-item p,
.hospital-itemz p {
    font-size: 12px;
    line-height: 1.5;
    color: #333;
    font-family: 'Oxygen', sans-serif;
    font-weight: 300;
    background-color: #D9D9D9;
    min-height: 80px; 
    flex-grow: 1; 
    width: 100%; 
    padding: 5px; 
    box-sizing: border-box; 
	text-align: center;
	text-align: justify;
}

.linkz{
    font-family: 'Oxygen', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #000;
    text-decoration: none;
    text-align: left;
    display: inline-block;
    transition: color 0.3s ease;
    margin-top: auto;
}

.linkz:hover {
    color: #527506;
}


@media screen and (max-width: 1024px) {
    #healthcare-page .ciputra-healthcare-section {
        flex-direction: column;
        align-items: center;
        gap: 40px;
        padding: 50px 20px;
        max-height: none;
    }

    #healthcare-page .healthcare-left h1 {
        font-size: 50px;
        text-align: center;
    }

    #healthcare-page .healthcare-left .group {
        font-size: 30px;
        text-align: center;
    }

    #healthcare-page .healthcare-left .tagline {
        text-align: center;
        margin-top: 20px;
    }

    #healthcare-page .healthcare-right p {
        width: 100%;
        padding: 0 10px;
        margin-top: 20px;
        text-align: justify;
        margin-right: 0;
    }

    .wealness-section {
        flex-direction: column;
        align-items: center;
        gap: 20px;
        padding: 50px 20px;
        max-height: none;
    }

    .wealness-text h2,
    .wealness-text p {
        margin-left: 0;
        text-align: center;
        padding: 0;
    }

    .wealness-text h2 {
        font-size: 24px;
    }

    .wealness-img {
        margin: 0 auto;
    }

    .content {
        flex-direction: column;
        align-items: center;
        gap: 30px;
    }

    .left,
    .right {
        width: 100%;
        padding: 0 15px;
    }

    .left h2,
    .left p {
        padding-left: 0;
        text-align: center;
    }

    #healthcare-page .right img {
        max-width: 100%;
        height: auto;
        padding-right: 0;
        margin: 0 auto;
    }

    .hospital-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .hospital-second {
        grid-template-columns: repeat(2, 1fr);
    }
}



@media screen and (max-width: 768px) {
    #healthcare-page .healthcare-left h1 {
        font-size: 40px;
    }

    #healthcare-page .healthcare-left .group {
        font-size: 26px;
    }

    #healthcare-page .healthcare-left .tagline {
        font-size: 16px;
    }
	#medical .left h2{
	    margin-left: 70px;
		
	}
	
	#medical .left p{
	    text-align: justify;
		width: 700px;
		margin-left: 10px;
		
	}

    .wealness-text h2 {
        font-size: 22px;
    }

    .wealness-text p {
        font-size: 14px;
    }

    .hospital-grid {
        grid-template-columns: repeat(2, 1fr);
        padding: 0 15px;
    }

    .hospital-second {
        grid-template-columns: repeat(1, 1fr);
        padding: 0 15px;
    }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
    #healthcare-page .healthcare-left h1 {
        font-size: 40px;
        text-align: center;
    }

    #healthcare-page .healthcare-left .group {
        font-size: 26px;
        text-align: center;
    }

    #healthcare-page .healthcare-left .tagline {
        font-size: 16px;
        text-align: center;
        margin-top: 30px;
        margin-left: auto;
        margin-right: auto;
        width: 80%;
    }

    #healthcare-page .healthcare-right p {
        font-size: 16px;
        text-align: justify;
        margin: 0 20px;
    }

    #medical .left h2 {
        font-size: 24px;
        margin-left: 0;
        text-align: center;
    }

    #medical .left p {
        font-size: 16px;
        margin: 10px auto;
        width: 90%;
        text-align: justify;
    }

   
    .wealness-container {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        justify-content: center;
        flex-wrap: wrap;
        gap: 20px;
        padding: 20px;
    }

    .wealness-img img {
        width: 300px;
        height: auto;
        max-width: 100%;
        margin: 0 auto;
        display: block;
        object-fit: cover;
    }

    .wealness-text {
        max-width: 500px;
        padding: 0 15px;
        box-sizing: border-box;
    }

    .wealness-text h2 {
        font-size: 26px;
        text-align: center;
        margin-bottom: 10px;
    }

    .wealness-text p {
        font-size: 16px;
        text-align: justify;
        line-height: 1.6;
        margin: 0 auto;
        width: 100%;
    }

    .ciputra-hospital-section h2 {
        font-size: 24px;
        text-align: center;
        margin-bottom: 30px;
    }

    .hospital-grid,
    .hospital-second {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        padding: 0 20px;
        width: 100%;
    }

    .hospital-item p,
    .hospital-itemz p {
        font-size: 13px;
        text-align: justify;
    }

    .linkz {
        font-size: 14px;
        display: block;
        text-align: center;
    }
}

/* === iPad Mini: 481px - 768px === */
@media screen and (min-width: 481px) and (max-width: 768px) {
    #healthcare-page .healthcare-left h1 {
        font-size: 36px;
        text-align: center;
    }

    #healthcare-page .healthcare-left .group {
        font-size: 24px;
        text-align: center;
    }

    #healthcare-page .healthcare-left .tagline {
        font-size: 15px;
        text-align: center;
        margin-top: 20px;
        width: 85%;
        margin-left: auto;
        margin-right: auto;
    }

    #healthcare-page .healthcare-right p {
        font-size: 15px;
        text-align: justify;
        margin: 0 20px;
    }

    #medical .left h2 {
        font-size: 22px;
        text-align: center;
        margin-left: 0;
    }

    #medical .left p {
        font-size: 15px;
        width: 90%;
        margin: 10px auto;
        text-align: justify;
    }

    .wealness-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 20px;
        gap: 20px;
    }

    .wealness-img img {
        width: 280px;
        height: auto;
        margin: 0 auto;
        display: block;
    }

    .wealness-text {
        width: 90%;
    }

    .wealness-text h2 {
        font-size: 24px;
        text-align: center;
        padding-top: 0;
        margin-bottom: 10px;
    }

    .wealness-text p {
        font-size: 15px;
        text-align: justify;
        margin: 0 auto;
        line-height: 1.6;
    }

    .ciputra-hospital-section h2 {
        font-size: 22px;
        text-align: center;
        margin-bottom: 25px;
    }

    .hospital-grid,
    .hospital-second {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 0 20px;
        width: 100%;
    }

    .hospital-item p,
    .hospital-itemz p {
        font-size: 13px;
        text-align: justify;
    }

    .linkz {
        font-size: 13px;
        text-align: center;
        display: block;
    }
}


/* === HP KECIL: max-width 480px === */
@media screen and (max-width: 480px) {
    #healthcare-page .healthcare-left h1 {
        font-size: 32px;
    }

    #healthcare-page .healthcare-left .group {
        font-size: 22px;
    }

    #healthcare-page .healthcare-left .tagline {
        font-size: 14px;
    }

    #healthcare-page .healthcare-right p {
        font-size: 14px;
    }
	
	#medical .left h2{
		font-size: 18px;
		margin-left: -130px;
	}
	#medical .left p{
		font-size: 15px;
		margin-left: 10px;
		margin-right: 10px;
		width: 320px;
		text-align: justify;
	}
	
	.wealness-img img{
		width: 250px;
		height: 250px;
		margin-left: -30px;
		margin-bottom: -50px;
	}


    .wealness-text h2 {
        font-size: 20px;
		padding-top: -50px;
    }

    .wealness-text p {
        font-size: 15px;
		text-align: justify;
		width: 320px;
		margin-left: 5px;
    }
	
	.ciputra-hospital-section h2{
		font-size: 20px;
		margin: 0 auto;
		margin-bottom: 20px;
	}

    .hospital-grid,
    .hospital-second {
        grid-template-columns: 1fr;
        gap: 15px;
        padding: 0 10px;
		width: 330px;
    }
	


    .hospital-item p,
    .hospital-itemz p {
        font-size: 11px;
    }

    .linkz {
        font-size: 12px;
    }
}

/* ========================================================== */
/* START CAROUSEL STYLES FOR COMPANY SECTION - FINAL ADJUSTED VERSION */
/* ========================================================== */

#company-section .subtext {
    font-size: 16px;
    color: #444;
    margin-top: 40px;
    margin-bottom: 60px;
    font-family: 'Oxygen', sans-serif;
    text-align: center;
    line-height: 1.6;
}

.carousel-outer-wrapper {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 40px; 
    box-sizing: border-box;
}

.carousel-container-outer {
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
    max-width: 2100px; 
}

.carousel-wrapper {
    display: flex;
    transition: transform 0.5s ease-in-out;
    transform: translateX(0);
    gap: 20px; 
}

.carousel-slide {
    flex-shrink: 0;
    position: relative;
    background-color: #f8f8f8;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 380px; 
    flex: 0 0 calc((100% - 40px) / 3); 
}

.carousel-slide img {
    width: 100%; 
    height: 220px; 
    object-fit: cover; 
    display: block;
}

.slide-overlay {
    position: relative;
    background-color: #E0E1DD;
    padding: 18px;
    box-sizing: border-box;
    color: #1B3541;
    text-align: left;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.slide-title {
    font-family: 'Oxygen', sans-serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.4;
    margin-bottom: 12px;
    color: #1B3541;
    min-height: 70px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.read-more {
    font-family: 'Oxygen', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #1B3541;
    text-decoration: none;
    text-align: left;
    display: inline-block;
    padding: 5px 0;
    transition: color 0.3s ease;
    margin-top: auto;
}

.read-more:hover {
    color: #527506;
}

.carousel-prev,
.carousel-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    cursor: pointer;
    font-size: 24px;
    z-index: 10;
    border-radius: 50%;
    width: 45px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background-color 0.3s ease;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.carousel-prev {
    left: 0;
    transform: translate(-100%, -50%);
    margin-left: 20px;
}

.carousel-next {
    right: 0;
    transform: translate(100%, -50%);
    margin-right: 20px;
}

.carousel-prev:hover,
.carousel-next:hover {
    background-color: rgba(0, 0, 0, 0.8);
}

.carousel-dots {
    text-align: center;
    padding-top: 25px;
    margin-top: 25px;
    position: relative;
}

.dot {
    height: 12px;
    width: 12px;
    margin: 0 6px;
    background-color: #bbb;
    border-radius: 50%;
    display: inline-block;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.dot.active {
    background-color: #717171;
}

@media screen and (max-width: 1024px) {
    .carousel-slide {
        flex: 0 0 calc((100% - 20px) / 2);
    }
}

@media screen and (max-width: 768px) {
    .carousel-container-outer {
        overflow: hidden;
    }
    .carousel-slide {
        flex: 0 0 100%;
    }
    .carousel-outer-wrapper {
        padding: 0 20px;
    }
    .carousel-prev,
    .carousel-next {
        width: 38px;
        height: 38px;
        font-size: 20px;
    }
}

@media screen and (max-width: 480px) {
    .carousel-slide {
        height: 360px;
    }
    .carousel-slide img {
        height: 200px;
    }
    .slide-title {
        font-size: 16px;
    }
    .read-more {
        font-size: 13px;
    }
}


#contact-page {
    background-image: url("bg contact-01.png");
    background-attachment: fixed;
    background-size: cover;
    background-repeat: no-repeat;
	max-height: 30px;
}

#contact-page h1{
   text-align: center;
   font-family: "Palanquin Dark", sans-serif;
   font-weight: 550;
   font-style: normal;
   font-size: 80px;
   margin-top: 90px;
}

#contact-page h2{
   text-align: center;
   font-family: "Paytone One", sans-serif;
   font-weight: 700;
   font-style: normal;
   font-size: 120px;
   margin-top: 5px;
}


.map-container {
    width: 100%; 
    max-width: 2000px; 
   
    margin-bottom: 0; 
    position: relative;
    height: 550px; 
    overflow: hidden;
    margin-top: 80px;
    border: 3px solid white; 
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    z-index: 2; 
}


.map-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}



.contact-form-section {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #e0e6ec; 
}

.contact-form-container {
    text-align: center; 
}

.contact-form-container h4 {
    color: #333; 
	font-family: "Palanquin Dark", sans-serif;
    font-weight: 400;
  font-style: normal;
	margin-top: 80px;
	font-size: 70px;
	margin-bottom: 20px;
}

.contact-form {
    display: flex;
    flex-direction: column; 
    align-items: center; 
    width: 100%; 
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 2fr; 
    gap: 20px; 
    width: 100%; 
    margin-bottom: 50px; 
	width: 1000px;
}

.form-left {
    display: flex;
    flex-direction: column; 
    gap: 20px; 
}

.form-right {
    display: flex;
    flex-direction: column; 
}

.form-field {
    width: 100%; 
}

.form-field input,
.form-field textarea {
    width: 100%; 
    padding: 15px; 
    border: none; 
    background-color: #8faec9; 
    color: #fff; 
    font-size: 1.1em; 
    border-radius: 5px; 
    box-sizing: border-box; 
}

.form-field input::placeholder,
.form-field textarea::placeholder {
    color: #fff; 
    opacity: 0.8; 
}

.form-field textarea {
    min-height: 193px; 
	resize: none;
}

.submit-button-container {
    text-align: center; 
    width: 100%; 
	padding-bottom: 80px;
}

.submit-button {
    background-color: #4b6a4a;
    color: #fff; 
    padding: 15px 40px; 
    border: none; 
    border-radius: 25px; 
    font-size: 1.2em; 
    font-weight: bold; 
    cursor: pointer; 
    transition: background-color 0.3s ease; 
    text-transform: uppercase; 
}
 
.submit-button:hover {
    background-color: #3a523a; 
}
.linkedin-section {
    background-color: #E0E1DD;
    padding: 100px 0; 
}

.linkedin-content-wrapper {
    max-width: 1200px; 
    margin: 0 auto; 
    padding: 0 10px; 
    box-sizing: border-box;
}

.linkedin-header-and-content {
    display: flex;
    align-items: flex-start;
    gap: 75px; 
    flex-wrap: wrap; 
}

.linkedin-text {
    width: 250px; 
	padding-left: 50px;
}

.linkedin-text h5 {
    font-family: "Palanquin Dark", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 50px;
    color: #000000;
    line-height: 1.0;
    margin-bottom: 0;
    text-align: left;
}

.linkedin-cards-container {
    display: flex;
    flex-wrap: wrap; 
    gap: 30px;
    flex-grow: 1; 
    justify-content: flex-start; 
}

.linkedin-card {
    background-color: #fff;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    padding-bottom: 15px;
    
    width: 360px; 
    flex-shrink: 0; 
}

.linkedin-card img {
    display: block;
    width: 100%; 
    height: 300px; 
    object-fit: cover;
    margin-bottom: 15px;
   
}

.linkedin-card .card-content {
    padding: 0 15px; 
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.linkedin-card .perihal-kami {
    font-size: 14px;
    line-height: 1.6;
    color: #333;
    margin-bottom: 15px;
}

.linkedin-card .click-here-button {
    display: inline-block;
    background-color: #1B3541;
    color: white;
    padding: 8px 15px;
    text-decoration: none;
    font-weight: bold;
    margin-top: auto;
    align-self: flex-start;
    transition: background-color 0.3s ease;
}

.linkedin-card .click-here-button:hover {
    background-color: #527506;
}

/* === Mobile & Tablet (max-width: 1024px) === */
@media screen and (max-width: 1024px) {
    #contact-page h1 {
        font-size: 48px;
        margin-top: 50px;
    }

    #contact-page h2 {
        font-size: 70px;
    }

    .map-container {
        height: 350px;
        margin-top: 50px;
    }

    .contact-form-container h4 {
        font-size: 45px;
        margin-top: 60px;
    }

    .form-grid {
        display: flex;
        flex-direction: column;
        width: 90%; 
        max-width: 600px;
        margin: 0 auto 40px auto;
    }

    .form-left,
    .form-right {
        width: 100%;
    }

    .form-field input,
    .form-field textarea {
        font-size: 1em;
    }

    .submit-button {
        font-size: 1em;
        padding: 12px 30px;
    }

    /* LinkedIn section */
    .linkedin-header-and-content {
        flex-direction: column;
        gap: 40px;
        padding: 0 20px;
    }

    .linkedin-text {
        width: 100%;
        padding-left: 0;
        text-align: center;
    }

    .linkedin-text h5 {
        font-size: 40px;
        text-align: center;
    }

    .linkedin-cards-container {
        justify-content: center;
    }

    .linkedin-card {
        width: 90%; 
        max-width: 360px;
    }
}

/* === HP Kecil (max-width: 480px) === */
@media screen and (max-width: 480px) {
    #contact-page h1 {
        font-size: 36px;
    }

    #contact-page h2 {
        font-size: 50px;
    }

    .map-container {
        height: 250px;
    }

    .contact-form-container h4 {
        font-size: 35px;
    }

    .form-field input,
    .form-field textarea {
        font-size: 0.95em;
        padding: 12px;
    }

    .submit-button {
        padding: 12px 25px;
        font-size: 0.95em;
    }

    .linkedin-text h5 {
        font-size: 32px;
    }

    .linkedin-card {
        height: auto;
    }

    .linkedin-card img {
        height: 200px;
    }
}


/* Ciputra University Carousel Section */
.ciputra-university-carousel {
    text-align: center;
    padding: 50px 0;
    background-color: #FFFFFF; 
    overflow: hidden; 
}

.ciputra-university-carousel h2 {
    font-family:  'Oxygen', sans-serif;
    font-weight: 700;
    font-size: 2.5em;
    margin-bottom: 40px;
    color: #333;
}

.carousel-container {
    display: flex;
    align-items: center;
    justify-content: center; 
    max-width: 1600px; 
	margin-left: 60px;
	margin-right: 50px;
    position: relative;
    overflow: hidden; 
}

.carousel-slides-wrapper {
    display: flex; 
    transition: transform 0.5s ease-in-out; 
    width: 100%; 
    position: relative; 
}

.carousel-slide-group {
    display: flex; 
    flex-shrink: 0; 
    width: 100%; 
    justify-content: center; 
    align-items: flex-start; 
    gap: 20px; 
}

.carousel-slide {
    flex: 0 0 calc((100% - 40px) / 3); 
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    background-color: #fff; 
    overflow: hidden; 
    display: flex; 
    flex-direction: column;
    position: relative; 
    box-sizing: border-box; 
    transition: none; 
    min-height: 320px; 
    justify-content: space-between; 
}


.ciputra-university-carousel .carousel-slide img {
    width: 100%; 
    height: 270px; 
    object-fit: cover; 
    display: block; 
    margin: 0 auto; 
}

.slide-caption {
    background-color: #dbe2bd; 
    color: #333;
    padding: 40px 10px; 
    font-family: 'Inter', sans-serif; 
    font-weight: 700;
    font-size: 1.1em;
    text-align: center;
    text-transform: uppercase;
}

.carousel-arrow {
    background: none;
    border: none;
    font-size: 3em;
    color: #ccc;
    cursor: pointer;
    padding: 0 10px;
    outline: none;
    transition: color 0.3s ease;
    z-index: 10;
    position: absolute; 
    top: 50%;
    transform: translateY(-50%);
}

.left-arrow {
    left: 0; 
}

.right-arrow {
    right: 0; 
}

.carousel-arrow:hover {
    color: #999;
}

.left-arrow::before {
    content: '\2039'; 
}

.right-arrow::before {
    content: '\203A'; 
}

.carousel-dots {
    margin-top: 30px;
    display: flex;
    justify-content: center;
    gap: 10px;
}

.dot {
    height: 10px;
    width: 10px;
    background-color: #bbb; 
    border-radius: 50%;
    display: inline-block;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.dot.active {
    background-color: #333; 
}

.carousel-description {
    font-family: 'Oxygen', sans-serif; 
    font-size: 1.1em;
    color: #555;
    max-width: 1000px;
    margin: 30px auto 0;
    line-height: 1.6;
}

@media (max-width: 1024px) {
    .ciputra-university-carousel h2 {
        font-size: 2em; 
        margin-bottom: 30px;
    }

    .carousel-container {
        max-width: 90%; 
        margin: 0 auto; 
        padding: 0 40px; 
    }

    .carousel-slide-group {
        gap: 15px; 
    }

    .carousel-slide {
        flex: 0 0 calc((100% - 15px) / 2);
        min-height: 280px; 
    }

    .ciputra-university-carousel .carousel-slide img {
        height: 220px; 
    }

    .slide-caption {
        padding: 30px 10px; 
        font-size: 1em; 
    }

    .carousel-arrow {
        font-size: 2.5em; 
    }

    .left-arrow {
        left: 5px; 
    }

    .right-arrow {
        right: 5px; 
    }

    .carousel-dots {
        margin-top: 20px;
    }

    .carousel-description {
        font-size: 1em;
        max-width: 90%;
    }
}

/* Ponsel (lebar maksimum 768px) */
@media (max-width: 768px) {
    .ciputra-university-carousel {
        padding: 30px 0;
    }

    .ciputra-university-carousel h2 {
        font-size: 1.8em; 
        margin-bottom: 25px;
    }

    .carousel-container {
        padding: 0 10px; 
    }

    .carousel-slide-group {
        gap: 0; 
    }

    .carousel-slide {
        flex: 0 0 100%;
        min-height: auto; 
    }

    .ciputra-university-carousel .carousel-slide img {
        height: 180px;
    }

    .slide-caption {
        padding: 20px 10px;
        font-size: 0.9em;
    }

    .carousel-arrow {
        font-size: 2em; 
        padding: 0 5px;
    }

    .left-arrow {
        left: 0;
    }

    .right-arrow {
        right: 0;
    }

    .carousel-dots {
        margin-top: 15px;
        gap: 8px;
    }

    .dot {
        height: 8px;
        width: 8px;
    }

    .carousel-description {
        font-size: 0.9em;
        max-width: 90%;
        margin: 20px auto 0;
    }
}

/* Ponsel Sangat Kecil (lebar maksimum 480px) - Opsional, untuk penyesuaian yang lebih halus */
@media (max-width: 480px) {
    .ciputra-university-carousel h2 {
        font-size: 1.5em;
    }
    .carousel-arrow {
        font-size: 1.8em;
    }
}



#sustainabilityreport-page {
	background-image: url("bg sustain-01.jpg");
    background-attachment: fixed;
    background-size: cover;
    background-repeat: no-repeat;
}

#sustainabilityreport-page .sustainabilityreport-section {
    display: flex;
    padding-bottom: 110px;
    padding-top: 80px; 
    max-width: 1400px; 
    max-height: 1500px;
    padding-left: 5px; 
    padding-right: 40px; 
    box-sizing: border-box; 
    gap: 240px; 
    width: 100%;
}

.sustain-left h1{
font-size: 64px;
    font-weight: 700;
    line-height: 1.1;
    font-family: "Palanquin Dark", sans-serif;
    margin-top: 20px;
    color: white;
	margin-left: 30px;
}

.sustain-left .group {
    font-size: 42px;
    font-weight: 600;
    font-family: "Palanquin Dark", sans-serif;
    color: white;
	margin-top: 0px;
	margin-bottom: 80px;
}

.sustain-left .taglinesustain {
    font-size: 20px;
    font-style: italic;
    margin-left: 30px;
    color: white;
    font-family: 'Oxygen', sans-serif;
    font-weight: 300;
    width: 380px; 
	margin-top: 0px;
}

.sustain-right p {
    font-size: 15px;
    line-height: 1.8;
    text-align: justify;
    width: 750px;
    font-family: 'Oxygen', sans-serif;
    font-weight: 300;
    margin-top: 20px;
	margin-left: 65px;
	
}

#innovation {
    background-color: #FFFFFF;
    min-height: 70vh;
}

#innovation .content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
    flex-wrap: wrap;
}

#innovation .left {
    flex: 1;
    min-width: 300px;
    margin-top: 50px;
    padding-left: 20px;
}

#innovation .left h2 {
    font-family: 'Oxygen', sans-serif;
    font-weight: 700;
    color: #000000;
    margin-bottom: 20px;
    padding-left: 25px;
    margin-top: 50px;
}

#innovation .right {
    align-self: flex-start;
    cursor: pointer;
    margin-top: 60px;
}

#innovation .right img {
    height: 450px;
    display: block; 
    max-width: 700px; 
    max-height: 1000px; 
    object-fit: cover; 
	padding-right: 40px;
    
}
#development .content {
     background-color: white;
	display: flex;
    align-items: flex-start;
    padding-left: 50px; 
    box-sizing: border-box; 
    gap: 150px;
    flex-wrap: wrap;
	padding-top: 40px;
	padding-bottom: 40px;
	max-width: none;
}

#development .right {
    flex: 1;
    margin-top: 80px;
}

#development .right h2 {
    font-family: 'Oxygen', sans-serif;
    font-weight: 700;
    color: #000000;
    margin-bottom: 20px;
    margin-top: 50px;
	margin-left: 0px;
}

#development .right p{
font-family: 'Oxygen', sans-serif;
    font-weight: 300;
    color: #000000;
    text-align: justify;
    max-width: 1000px;
	line-height: 1.8;
	margin-right: 60px;
}

#development .left {
      flex: 1;
    display: flex;
    justify-content: flex-start; 
    position: relative;
    max-width: 500px;
}

#development .left img {
     width: 550px;
    height: 450px;
    margin-left: -35px; 
    margin-top: 30px;
    
}

#csr-section {
	background-color: #FFFFFF;
    min-height: 70vh;
}
.csr-section h5 {
font-size: 30px;
    color: #000;
    margin-bottom: 0px; 
    font-family: "Oxygen", sans-serif;
  font-weight: 700;
  font-style: normal;
    margin-top: 70px; 
	margin-left: 20px;
	text-align: center;
}

.csr-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); 
    gap: 20px; 
    max-width: 1510px; 
    margin: 0 auto; 
    padding: 0 35px; 
}

.csr-item {
    padding: 10px;
    text-align: left;
    background-color: #f9f9f9;
    display: flex; 
    flex-direction: column;
    justify-content: flex-start; 
    align-items: flex-start; 
    height: 320px; 
    box-sizing: border-box;
	margin-bottom: 20px;
	margin-top: 60px;
}
.csr-item img{
width: 100%;
    height: 300px;
    object-fit: cover;
    margin-bottom: 10px;
}

.sustaintext-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); 
    gap: 20px; 
    max-width: 1510px; 
    margin: 0 auto; 
    padding: 0 35px; 
	color: #000000
}

.sustaintext-item p{
	text-align: center;
	margin-bottom: 70px;
}
/* ============ RESPONSIVE DESIGN ============ */

/* === DESKTOP KECIL: max-width 1200px === */
@media screen and (max-width: 1200px) {
    #sustainabilityreport-page .sustainabilityreport-section {
        flex-direction: column;
        gap: 60px;
        padding-left: 30px;
        padding-right: 30px;
        align-items: center;
    }

    .sustain-left h1,
    .sustain-left .taglinesustain {
        margin-left: 0;
        text-align: center;
    }

    .sustain-right p {
        width: 100%;
        margin-left: 0;
        padding: 0 20px;
    }

    #innovation .content,
    #development .content {
        flex-direction: column;
        gap: 40px;
        padding-left: 20px;
        padding-right: 20px;
    }

    #development .left img,
    #innovation .right img {
        width: 100%;
        height: auto;
        margin-left: 0;
    }

    .csr-grid,
    .sustaintext-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* === TABLET: max-width 768px === */
@media screen and (max-width: 768px) {
    .sustain-left h1 {
        font-size: 42px;
    }

    .sustain-left .group {
        font-size: 28px;
        text-align: center;
    }

    .sustain-left .taglinesustain {
        font-size: 16px;
        width: auto;
        margin-left: 0;
        text-align: center;
    }

    .sustain-right p {
        font-size: 14px;
    }

    #innovation .content .left h2,
    #development .content .right h2 {
        text-align: center;
        margin-left: 28px;
    }
	
	#innovation .content .left p{
		text-align: justify;
		width: 680px;
		margin-left: 10px;
	}
	
	#development .content .right h2{
		font-size: 30px;
		margin-right: 35px;
	}
	

    #development .right p {
        margin-right: 0;
        padding: 0 15px;
        text-align: justify;
    }
	
	#innovation .right img {
        width: 550px;
        height: 500px;
		margin: 0 auto;
    }
	
	#development .left img{
		 width: 550px;
        height: 500px;
		margin-left: 70px;
		
	}

    .csr-grid,
    .sustaintext-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .csr-section h5 {
        font-size: 32px;
        text-align: center;
		margin-right: 30px;
    }
}

/* === iPad Air & iPad Pro (Portrait & Landscape): width 769px - 1024px === */
@media screen and (min-width: 769px) and (max-width: 1024px) {
    .sustain-left h1 {
        font-size: 42px;
    }

    .sustain-left .group {
        font-size: 28px;
        text-align: center;
    }

    .sustain-left .taglinesustain {
        font-size: 16px;
        width: auto;
        margin-left: 0;
        text-align: center;
    }

    .sustain-right p {
        font-size: 14px;
    }

    #innovation .content .left h2,
    #development .content .right h2 {
        text-align: center;
        margin-left: 28px;
    }

    #innovation .content .left p {
        text-align: justify;
        width: 680px;
        margin-left: 10px;
    }

    #development .content .right h2 {
        font-size: 30px;
        margin-right: 35px;
    }

    #development .right p {
        margin-right: 0;
        padding: 0 15px;
        text-align: justify;
    }

    #innovation .right img {
        width: 550px;
        height: 500px;
        margin: 0 auto;
    }

    #development .left img {
        width: 550px;
        height: 500px;
        margin-left: 70px;
    }

    .csr-grid,
    .sustaintext-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .csr-section h5 {
        font-size: 32px;
        text-align: center;
        margin-right: 30px;
    }
}



/* === MOBILE: max-width 480px === */
@media screen and (max-width: 480px) {
    .sustain-left h1 {
        font-size: 32px;
    }

    .sustain-left .group {
        font-size: 22px;
    }

    .sustain-left .taglinesustain {
        font-size: 14px;
    }

    .sustain-right p {
        font-size: 13px;
        line-height: 1.6;
		width: 350px;
    }

    #innovation .right img,
    #development .left img {
        width: 350px;
        height: 300px;
		margin: 0 auto;
    }
	
	#innovation .content .left  h2{
		font-size: 18px;
		margin-left: -165px;
	}
	
	#innovation .content .left p{
		font-size: 13px;
		text-align: justify;
		width: 315px;
		margin-left: -10px;
	}
	#development .content .right h2{
		margin-top: -20px;
		margin-left: 30px;
		font-size: 20px;
	}
	#development  .content .right  p{
		width: 335px;
		margin-left:  -15px;
		font-size: 13px;
	}
	
	.csr-section h5{
		font-size: 18px;
		margin-left: 35px;
	}

    .csr-grid,
    .sustaintext-grid {
        grid-template-columns: 1fr 1fr; 
        gap: 15px; 
        padding: 0 15px;
    }

    .csr-item,
    .sustaintext-item {
        display: flex; 
        flex-direction: column; 
        align-items: center; 
        background-color: #f9f9f9;
        padding: 10px;
        box-sizing: border-box;
        width: 100%;
        height: auto;
    }

    .csr-item img,
    .sustaintext-item img {
        width: 100%; 
        height: auto;
        object-fit: cover;
        margin-bottom: 5px; 
        display: block;
    }

    .csr-item p,
    .sustaintext-item p {
      width: 100%; 
    max-width: 100px; 
    background-color: rgba(255, 255, 255, 0.6); 
		text-align: left;
		height: 1px;
		font-size: 14px;
    }
}