/* Hero banner RSUD Mimika */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;0,800;1,600&display=swap');

.hero { --sage:#5d826f; --sage-dark:#274b3d; --ink:#244036; --muted:#668075; position:relative; isolation:isolate; overflow:hidden; background:linear-gradient(125deg,#fbfdfb 0%,#edf5ef 48%,#dcece0 100%); font-family:'Montserrat','Segoe UI',sans-serif; }
.hero *, .hero *::before, .hero *::after { box-sizing:border-box; }
.hero::before, .hero::after { content:''; position:absolute; z-index:-1; border-radius:50%; pointer-events:none; transition:opacity .6s ease,transform .8s ease; }
.hero::before { width:410px; height:410px; top:-170px; right:16%; background:radial-gradient(circle,rgba(255,255,255,.88),rgba(194,224,202,.25) 42%,transparent 70%); filter:blur(12px); animation:ambient-glow 8s ease-in-out infinite; }
.hero::after { width:320px; height:320px; bottom:-150px; left:27%; background:radial-gradient(circle,rgba(107,162,126,.26),transparent 70%); filter:blur(18px); animation:ambient-glow 7s ease-in-out -3s infinite; }
.hero:hover::before { opacity:1; transform:scale(1.16) translate(-18px,12px); }.hero:hover::after { opacity:.9; transform:scale(1.2) translate(14px,-10px); }
.hero-row { min-height:640px; padding:82px 0 72px; }.hero .container { position:relative; z-index:3; }
.hero-grid { position:absolute; inset:0; z-index:-3; opacity:.5; background-image:linear-gradient(rgba(93,130,111,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(93,130,111,.07) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(90deg,#000,transparent 75%); }
.hero-blob { position:absolute; z-index:-2; border-radius:50%; filter:blur(3px); pointer-events:none; transition:transform .7s ease,opacity .7s ease; }.hero-blob.one { width:570px; height:570px; top:-280px; left:-185px; background:rgba(126,172,143,.25); }.hero-blob.two { width:560px; height:560px; right:-170px; bottom:-260px; background:rgba(89,133,105,.22); }.hero-blob.three { width:240px; height:240px; top:13%; right:40%; background:rgba(255,255,255,.65); filter:blur(45px); }.hero:hover .hero-blob.one { transform:scale(1.12) translate(22px,16px); }.hero:hover .hero-blob.two { transform:scale(1.12) translate(-22px,-16px); }.hero:hover .hero-blob.three { opacity:.95; transform:scale(1.35); }
.hero-copy { position:relative; z-index:2; }.hero-badge { display:inline-flex; align-items:center; gap:9px; padding:8px 14px; margin-bottom:15px; color:var(--sage-dark); font-size:.76rem; font-weight:700; letter-spacing:.02em; background:rgba(255,255,255,.75); border:1px solid rgba(93,130,111,.18); border-radius:99px; box-shadow:0 10px 24px rgba(40,72,56,.08); }.hero-badge i { color:#dc5f67; }
.hero-title { max-width:620px; margin:0 0 14px; color:var(--ink); font-family:'Montserrat','Segoe UI',sans-serif; font-size:clamp(2.35rem,4vw,4.1rem); font-weight:800; line-height:1.12; letter-spacing:-.045em; }.hero-subtitle { max-width:550px; margin:0; color:var(--muted); font-size:.94rem; line-height:1.72; letter-spacing:.005em; }
.hero-buttons { display:flex; flex-wrap:wrap; gap:10px; margin-top:23px; }.btn-hero,.btn-outline-hero { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:52px; padding:0 22px; border-radius:15px; font-size:.9rem; font-weight:700; text-decoration:none; transition:transform .25s ease,box-shadow .25s ease,background .25s ease; }.btn-hero { color:#fff; background:linear-gradient(135deg,#476f5c,#78a38c); box-shadow:0 15px 25px rgba(52,102,76,.23); }.btn-outline-hero { color:var(--sage-dark); border:1px solid rgba(68,111,88,.2); background:rgba(255,255,255,.66); }.btn-hero:hover,.btn-outline-hero:hover { transform:translateY(-3px); color:#fff; box-shadow:0 18px 30px rgba(52,102,76,.25); }.btn-outline-hero:hover { background:var(--sage); }
.hero-quick-links { display:flex; gap:10px; margin-top:20px; }.hero-quick-links a { display:flex; align-items:center; gap:10px; min-width:185px; padding:11px 13px; color:var(--ink); text-decoration:none; background:rgba(255,255,255,.62); border:1px solid rgba(255,255,255,.8); border-radius:15px; box-shadow:0 9px 20px rgba(52,83,65,.07); transition:.25s ease; }.hero-quick-links a:hover { color:var(--sage-dark); transform:translateY(-4px); background:#fff; box-shadow:0 15px 25px rgba(52,83,65,.12); }.hero-quick-links i { display:grid; width:37px; height:37px; place-items:center; color:#fff; background:var(--sage); border-radius:11px; font-size:1.05rem; }.hero-quick-links a:last-child i { background:#c96b68; }.hero-quick-links span { font-size:.77rem; font-weight:700; line-height:1.2; }.hero-quick-links small { display:block; margin-top:3px; color:var(--muted); font-size:.64rem; font-weight:500; }
.hero-image-wrapper { position:relative; display:grid; min-height:525px; place-items:center; }.hero-image-wrapper::before { content:''; position:absolute; z-index:1; width:85%; height:72%; right:-6%; top:14%; border-radius:48%; background:radial-gradient(ellipse at center,rgba(152,219,172,.58),rgba(115,180,135,.2) 42%,transparent 72%); filter:blur(22px); opacity:.38; transform:translateX(25px) scale(.88); transition:opacity .5s ease,transform .5s ease; pointer-events:none; }.hero-image-wrapper:hover::before { opacity:1; transform:translateX(45px) scale(1.08); }.hero-light { position:absolute; width:550px; height:550px; background:radial-gradient(circle,rgba(100,154,119,.35),rgba(105,157,122,.1) 55%,transparent 70%); border-radius:50%; filter:blur(7px); animation:hero-pulse 5s ease-in-out infinite; }
.hero-image { position:relative; z-index:2; width:min(112%,610px); overflow:hidden; padding:8px; border:1px solid rgba(255,255,255,.9); border-radius:26px; background:linear-gradient(135deg,#fff 0%,#b8d3c0 25%,#f9fdf9 48%,#6f9c7d 100%); box-shadow:-12px 16px 0 rgba(63,110,79,.12),0 25px 55px rgba(39,75,61,.26); cursor:pointer; transform-style:preserve-3d; transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease; }.hero-image::before { content:''; position:absolute; z-index:2; inset:7px; border:1px solid rgba(255,255,255,.72); border-radius:20px; box-shadow:inset 2px 2px 3px rgba(255,255,255,.9),inset -3px -4px 8px rgba(38,77,57,.2); pointer-events:none; }.hero-image::after { content:''; position:absolute; z-index:1; inset:8px; pointer-events:none; border-radius:19px; background:linear-gradient(118deg,rgba(255,255,255,.4) 0%,rgba(255,255,255,.1) 25%,transparent 42%,rgba(255,255,255,.15) 58%,transparent 70%); mix-blend-mode:screen; transition:transform .65s ease,opacity .45s ease; }.hero-image img { display:block; width:100%; height:455px; object-fit:cover; border-radius:19px; transition:transform .6s ease,filter .6s ease; }.hero-image:hover { transform:translateY(-8px); box-shadow:-16px 21px 0 rgba(63,110,79,.15),0 34px 68px rgba(39,75,61,.3),24px 0 42px rgba(163,235,184,.72); }.hero-image:hover::after { opacity:.92; transform:translateX(18%); }.hero-image:hover img { transform:scale(1.04); filter:saturate(1.06) brightness(1.04); }.hero-image:active { transform:perspective(1000px) translateY(-2px) rotateY(-7deg) rotateX(3deg) rotateZ(-1deg); box-shadow:-22px 20px 0 rgba(63,110,79,.18),0 18px 35px rgba(39,75,61,.24),22px 0 45px rgba(163,235,184,.82); transition-duration:.12s; }
.hero-image-badge { position:absolute; z-index:3; top:18px; right:18px; padding:8px 12px; color:var(--sage-dark); background:rgba(255,255,255,.86); backdrop-filter:blur(10px); border-radius:99px; font-size:.72rem; font-weight:700; }.hero-image-badge i { color:#4d9a69; margin-right:4px; }.image-dots { position:absolute; z-index:1; right:-8px; top:23px; width:118px; height:118px; background-image:radial-gradient(#709783 2px,transparent 2.5px); background-size:15px 15px; opacity:.7; }
.image-stat { position:absolute; z-index:3; display:flex; align-items:center; gap:9px; padding:10px 13px; color:var(--sage-dark); background:rgba(255,255,255,.88); border:1px solid rgba(255,255,255,.8); border-radius:14px; box-shadow:0 12px 25px rgba(39,75,61,.14); font-size:.66rem; line-height:1.25; animation:stat-float 4s ease-in-out infinite; }.image-stat i { color:#dd6870; font-size:1.18rem; }.image-stat strong { font-size:.74rem; }.image-stat-top { top:86px; left:-20px; }.image-stat-bottom { right:-18px; bottom:35px; animation-delay:-2s; }.image-stat-bottom i { color:var(--sage); }
.medical-orbit { position:absolute; z-index:1; display:grid; width:54px; height:54px; place-items:center; color:var(--sage); background:rgba(255,255,255,.68); border:1px solid rgba(255,255,255,.9); border-radius:50%; box-shadow:0 12px 26px rgba(39,75,61,.1); font-size:1.35rem; animation:stat-float 4.5s ease-in-out infinite; transition:transform .35s ease,box-shadow .35s ease,background .35s ease; }.hero:hover .medical-orbit { background:rgba(255,255,255,.95); box-shadow:0 0 0 8px rgba(202,232,211,.26),0 15px 30px rgba(39,75,61,.16); }.hero:hover .orbit-one { transform:translateY(-8px) rotate(12deg); }.hero:hover .orbit-two { transform:translateY(-8px) rotate(-12deg); }.hero:hover .orbit-three { transform:translateY(-8px) rotate(-12deg); }.orbit-one { top:18%; left:4%; }.orbit-two { top:17%; right:6%; animation-delay:-1s; }.orbit-three { bottom:10%; left:43%; transform:rotate(-25deg); animation-delay:-2.5s; }
#heroSlider .carousel-item .hero-copy { opacity:0; transform:translateX(-25px); transition:.65s ease .1s; }#heroSlider .carousel-item .hero-image-wrapper { opacity:0; transform:translateX(30px); transition:.7s ease .15s; }#heroSlider .carousel-item.active .hero-copy,#heroSlider .carousel-item.active .hero-image-wrapper { opacity:1; transform:translateX(0); }
.hero .carousel-indicators { bottom:28px; margin:0; }.hero .carousel-indicators button { width:9px; height:9px; margin:0 4px; border:0; border-radius:99px; background:#a5c1ae; opacity:1; transition:.25s ease; }.hero .carousel-indicators .active { width:31px; background:var(--sage-dark); }.hero .carousel-control-prev,.hero .carousel-control-next { top:50%; width:43px; height:43px; border-radius:50%; background:rgba(255,255,255,.7); opacity:0; transition:.25s ease; }.hero:hover .carousel-control-prev,.hero:hover .carousel-control-next { opacity:1; }.hero .carousel-control-prev { left:18px; }.hero .carousel-control-next { right:18px; }.hero .carousel-control-prev-icon,.hero .carousel-control-next-icon { width:1.2rem; filter:invert(31%) sepia(15%) saturate(1237%) hue-rotate(105deg); }
@keyframes hero-pulse { 50% { transform:scale(1.08); opacity:.7; } }@keyframes stat-float { 50% { transform:translateY(-9px); } }@keyframes ambient-glow { 0%,100% { opacity:.5; transform:scale(.92); } 50% { opacity:1; transform:scale(1.1); } }
@media (max-width:991.98px) { .hero { text-align:center; }.hero-row { min-height:auto; padding:90px 0 70px; }.hero-buttons,.hero-quick-links { justify-content:center; }.hero-image-wrapper { min-height:500px; margin-top:26px; }.hero-image { width:min(90vw,580px); }.hero-image img { height:425px; }.orbit-one { left:8%; }.orbit-two { right:8%; }.orbit-three { display:none; } }
@media (max-width:575.98px) { .hero-row { padding-top:78px; }.hero-title { font-size:2.1rem; }.hero-subtitle { font-size:.9rem; }.hero-buttons { flex-direction:column; }.btn-hero,.btn-outline-hero { width:100%; }.hero-quick-links { flex-direction:column; }.hero-quick-links a { width:100%; text-align:left; }.hero-image-wrapper { min-height:365px; }.hero-light { width:330px; height:330px; }.hero-image { width:82vw; border-width:6px; }.hero-image img { height:290px; }.image-stat { padding:8px; }.image-stat-top { left:0; top:60px; }.image-stat-bottom { right:0; bottom:15px; }.medical-orbit { width:42px; height:42px; font-size:1rem; }.hero .carousel-control-prev,.hero .carousel-control-next { display:none; } }

@keyframes positive-fade {
    0% { opacity:0; transform:translateY(10px) scale(.96); }
    14%,78% { opacity:.92; transform:translateY(0) scale(1); }
    100% { opacity:0; transform:translateY(-10px) scale(.98); visibility:hidden; }
}

.hero-quick-links {
    flex-wrap:wrap;
}

.hero-quick-links a:nth-child(2) i {
    background:#8fa196;
}

.hero-quick-links a:nth-child(3) i {
    background:#c59a45;
}

.hero-positive-rating {
    background:rgba(255,255,255,.72);
    box-shadow:0 18px 44px rgba(197,154,69,.16),0 0 36px rgba(255,246,223,.88);
    animation:positive-fade 5s ease forwards;
}

.hero-positive-rating i {
    color:#c59a45!important;
}

.btn-igd-hero {
    color:#fff;
    background:linear-gradient(135deg,#c43f43,#e36a61);
    border:1px solid rgba(196,63,67,.22);
    box-shadow:0 15px 26px rgba(196,63,67,.22);
}

.btn-igd-hero:hover {
    color:#fff;
    background:linear-gradient(135deg,#a93439,#d4554d);
    box-shadow:0 18px 32px rgba(196,63,67,.3);
}

.hero-quick-links a:nth-child(3) i {
    background:#c59a45;
}

.igd-hero-modal .modal-content {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border:0;
    border-radius:24px;
    color:#fff;
    background:#8f2228;
    box-shadow:0 30px 80px rgba(109,24,28,.4);
    font-family:'Montserrat','Segoe UI',sans-serif;
}

.igd-modal-bg {
    position:absolute;
    inset:0;
    z-index:-2;
    background:
        linear-gradient(90deg,rgba(122,24,30,.94) 0%,rgba(159,39,43,.78) 48%,rgba(209,76,66,.5) 100%),
        url('../../../assets/img/background/gedung -ird.png') center/cover no-repeat;
}

.igd-hero-modal .modal-content::after {
    content:'';
    position:absolute;
    inset:0;
    z-index:-1;
    background:
        radial-gradient(circle at 12% 12%,rgba(255,255,255,.18),transparent 26%),
        radial-gradient(circle at 90% 86%,rgba(255,189,171,.28),transparent 30%),
        linear-gradient(180deg,rgba(116,20,25,.08),rgba(116,20,25,.28));
    pointer-events:none;
}

.igd-hero-modal .modal-header {
    align-items:flex-start;
    gap:13px;
    padding:24px 26px 18px;
    border:0;
}

.igd-modal-icon {
    display:grid;
    flex:0 0 auto;
    width:52px;
    height:52px;
    place-items:center;
    color:#fff;
    background:linear-gradient(135deg,#e21f2b,#ff766a);
    border:1px solid rgba(255,255,255,.28);
    border-radius:16px;
    box-shadow:0 16px 28px rgba(121,18,25,.35);
    font-size:1.35rem;
}

.igd-hero-modal small {
    display:block;
    margin-bottom:5px;
    color:#ffe0c7;
    font-size:.66rem;
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.igd-hero-modal h3 {
    margin:0;
    color:#fff;
    font-size:1.55rem;
    font-weight:900;
    line-height:1.25;
}

.igd-hero-modal .btn-close {
    margin-left:auto;
    padding:10px;
    background-color:#fff;
    border-radius:50%;
    opacity:.95;
}

.igd-hero-modal .modal-body {
    padding:0 26px 28px;
}

.igd-lead {
    max-width:660px;
    margin:0 0 10px;
    color:#fff;
    font-size:1rem;
    font-weight:800;
    line-height:1.7;
}

.igd-hero-modal .modal-body p:not(.igd-lead) {
    max-width:690px;
    margin:0;
    color:rgba(255,255,255,.82);
    font-size:.86rem;
    line-height:1.8;
}

.igd-service-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
    margin-top:20px;
}

.igd-service-grid span {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:52px;
    padding:10px;
    color:#fff;
    background:rgba(255,255,255,.16);
    border:1px solid rgba(255,226,220,.28);
    border-radius:14px;
    font-size:.7rem;
    font-weight:800;
    text-align:center;
    backdrop-filter:blur(10px);
}

.igd-service-grid i {
    color:#ffd1c4;
    font-size:1rem;
}

@media (max-width:767.98px) {
    .igd-service-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:480px) {
    .igd-hero-modal .modal-header,
    .igd-hero-modal .modal-body {
        padding-right:18px;
        padding-left:18px;
    }

    .igd-service-grid {
        grid-template-columns:1fr;
    }
}
.hero-message {
    position:relative;
    padding:24px 0;
    background:linear-gradient(180deg,#ffffff 0%,#f7fbf8 100%);
    font-family:'Montserrat','Segoe UI',sans-serif;
}

.hero-message .container {
    position:relative;
}

.hero-message p {
    max-width:1080px;
    margin:0 auto;
    padding:22px 28px;
    color:#506359;
    background:#fff;
    border:1px solid #e4eee8;
    border-left:5px solid #c59a45;
    border-radius:16px;
    box-shadow:0 14px 30px rgba(84,101,91,.08);
    font-size:1.04rem;
    font-weight:600;
    line-height:1.7;
    text-align:center;
}

.hero-message strong {
    color:#315f4a;
    font-weight:800;
}

@media (max-width:575.98px) {
    .hero-message {
        padding:18px 0;
    }

    .hero-message p {
        padding:17px 18px;
        font-size:.9rem;
        text-align:left;
    }
}
