/* Profil RSUD Mimika */
.rsud-profile { position:relative; padding:92px 0; overflow:hidden; background:#fff; font-family:'Montserrat','Segoe UI',sans-serif; }.rsud-profile::before { content:''; position:absolute; width:430px; height:430px; right:-185px; bottom:-230px; border-radius:50%; background:radial-gradient(circle,rgba(124,173,139,.17),transparent 70%); }
.director-card { position:relative; display:block; width:min(100%,400px); margin:auto; padding:10px; overflow:hidden; color:#fff; background:linear-gradient(145deg,#f7f3e9,#9abb86 45%,#3f6b55); border:0; border-radius:28px; box-shadow:0 23px 46px rgba(39,76,58,.2); text-align:left; transition:transform .35s ease,box-shadow .35s ease; }.director-card:hover { transform:translateY(-8px) rotate(-1deg); box-shadow:0 30px 58px rgba(39,76,58,.27); }.director-frame { display:block; overflow:hidden; border:1px solid rgba(255,255,255,.7); border-radius:21px; background:#e8f1eb; }.director-frame img { display:block; width:100%; height:430px; object-fit:cover; object-position:top; transition:transform .6s ease; }.director-card:hover img { transform:scale(1.04); }.director-card-shine { position:absolute; inset:10px; pointer-events:none; border-radius:21px; background:linear-gradient(120deg,rgba(255,255,255,.35),transparent 30%,transparent 68%,rgba(255,255,255,.14)); }.director-open { position:absolute; top:26px; right:25px; padding:8px 11px; color:#426e57; background:rgba(255,255,255,.9); border-radius:10px; font-size:.62rem; font-weight:800; }.director-open i { margin-right:4px; }.director-name { position:absolute; right:18px; bottom:18px; left:18px; display:grid; padding:13px 15px; background:rgba(35,70,53,.8); border:1px solid rgba(255,255,255,.18); border-radius:15px; backdrop-filter:blur(10px); }.director-name strong { font-size:.82rem; }.director-name small { margin-top:4px; color:rgba(255,255,255,.74); font-size:.59rem; }
.profile-kicker { display:inline-flex; align-items:center; gap:7px; padding:8px 13px; color:#638772; background:#f1f7f2; border-radius:99px; font-size:.66rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }.profile-kicker i { color:#bc9342; }.rsud-profile h2 { max-width:650px; margin:16px 0; color:#294d3e; font-size:clamp(1.9rem,3.3vw,2.8rem); font-weight:800; line-height:1.18; letter-spacing:-.045em; }.rsud-profile h2 span { color:#b89042; }.profile-about { color:#688075; font-size:.9rem; line-height:1.85; }.profile-vision { display:flex; gap:13px; margin-top:22px; padding:15px; background:linear-gradient(135deg,#f7fbf8,#edf6ef); border-left:4px solid #c59a45; border-radius:0 15px 15px 0; }.profile-vision > i { display:grid; flex:0 0 auto; width:35px; height:35px; place-items:center; color:#fff; background:#668b73; border-radius:10px; }.profile-vision span { color:#3f6852; font-size:.67rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }.profile-vision p { margin:4px 0 0; color:#60776b; font-size:.78rem; line-height:1.6; }.profile-more { display:inline-flex; align-items:center; gap:9px; margin-top:22px; padding:0; color:#9b742e; background:none; border:0; font-size:.76rem; font-weight:800; }.profile-more i { transition:transform .25s ease; }.profile-more:hover i { transform:translateX(5px); }
.rsud-profile-modal .modal-content { overflow:hidden; border:0; border-radius:25px; box-shadow:0 28px 70px rgba(34,72,52,.28); font-family:'Montserrat','Segoe UI',sans-serif; }.rsud-profile-modal .modal-header { padding:25px 30px; color:#fff; background:linear-gradient(135deg,#376a52,#83a88f); border:0; }.rsud-profile-modal .modal-header span { color:#f6dea1; font-size:.63rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }.rsud-profile-modal .modal-header h3 { margin:5px 0 0; font-size:1.35rem; font-weight:800; }.rsud-profile-modal .btn-close { background-color:#fff; border-radius:50%; opacity:.9; }.rsud-profile-modal .modal-body { padding:30px; color:#637a6e; font-size:.86rem; line-height:1.8; }.modal-director { overflow:hidden; background:#f0f7f2; border-radius:18px; }.modal-director img { width:100%; height:270px; object-fit:cover; object-position:top; }.modal-director div { display:grid; padding:14px; }.modal-director span { color:#9b762e; font-size:.62rem; font-weight:800; text-transform:uppercase; }.modal-director strong { margin-top:4px; color:#315541; font-size:.84rem; }.modal-director small { margin-top:4px; font-size:.66rem; }.modal-welcome span { color:#a17b30; font-size:.65rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.modal-welcome h4,.modal-about h4,.modal-value h4 { color:#315541; font-size:1.03rem; font-weight:800; }.modal-welcome h4 { margin:5px 0 11px; }.modal-welcome p,.modal-about p,.modal-value p { white-space:normal; }.modal-about { margin:28px 0 15px; padding:20px; background:#f8fbf8; border-radius:16px; }.modal-about h4 { display:flex; gap:8px; align-items:center; }.modal-about h4 i { color:#b78c38; }.modal-value { height:100%; padding:19px; background:linear-gradient(135deg,#f8fcf9,#edf5ef); border:1px solid rgba(100,145,116,.12); border-radius:16px; }.modal-value > i { color:#ba9140; font-size:1.3rem; }.modal-value h4 { margin:8px 0; }.structure-link { display:flex; align-items:center; gap:12px; margin-top:18px; padding:15px; color:#456d57; background:#fffaf0; border:1px solid rgba(198,157,70,.25); border-radius:15px; text-decoration:none; transition:.25s ease; }.structure-link:hover { color:#456d57; transform:translateY(-3px); box-shadow:0 12px 22px rgba(152,117,48,.12); }.structure-link > i:first-child { display:grid; width:39px; height:39px; place-items:center; color:#fff; background:#b68b38; border-radius:11px; }.structure-link span { display:grid; }.structure-link strong { font-size:.76rem; }.structure-link small { color:#897957; font-size:.62rem; }.structure-link > i:last-child { margin-left:auto; color:#b68b38; }
.director-card { cursor:pointer; text-decoration:none; }.director-card:hover { color:#fff; }.profile-more { text-decoration:none; }.director-card:focus-visible,.profile-more:focus-visible,.structure-link:focus-visible,.profile-social-links a:focus-visible { outline:3px solid rgba(184,144,66,.35); outline-offset:4px; }.modal-about-main { height:100%; margin:0; }.modal-actions { display:grid; gap:15px; margin-top:18px; }.modal-actions .structure-link { margin-top:0; }.profile-social-links { display:flex; flex-wrap:wrap; gap:10px; }.profile-social-links a { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px; padding:10px 13px; color:#315541; background:#f6faf7; border:1px solid rgba(100,145,116,.18); border-radius:12px; font-size:.72rem; font-weight:800; text-decoration:none; transition:transform .25s ease,box-shadow .25s ease,background .25s ease; }.profile-social-links a:hover { color:#315541; background:#fff; transform:translateY(-3px); box-shadow:0 12px 24px rgba(49,85,65,.12); }.profile-social-links i { color:#b68b38; font-size:1rem; }.profile-social-links .bi-whatsapp { color:#1f9d55; }.profile-social-links .bi-facebook { color:#1877f2; }.profile-social-links .bi-instagram { color:#c13584; }.profile-social-links .bi-tiktok { color:#111; }
@media (max-width:991.98px) { .rsud-profile { padding:70px 0; }.director-card { max-width:355px; }.rsud-profile .col-lg-7 { text-align:center; }.profile-vision { text-align:left; }.rsud-profile-modal .modal-body { padding:22px; } }@media (max-width:575.98px) { .rsud-profile { padding:58px 0; }.director-frame img { height:360px; }.director-open { top:20px; right:20px; font-size:.56rem; }.rsud-profile h2 { font-size:1.72rem; }.profile-about { font-size:.84rem; }.rsud-profile-modal .modal-header { padding:20px; }.rsud-profile-modal .modal-body { padding:18px; }.structure-link { align-items:flex-start; } }

/* Modal profil RSUD - refinement */
.rsud-profile-modal .modal-dialog { max-width:1080px; }
.rsud-profile-modal .modal-content { border-radius:20px; background:#fbfdfb; }
.rsud-profile-modal .modal-header { align-items:center; padding:22px 26px; background:linear-gradient(135deg,#315f4a,#6f967b); }
.rsud-profile-modal .modal-header span { display:inline-flex; align-items:center; gap:7px; color:#f9e8b7; }
.rsud-profile-modal .modal-header h3 { line-height:1.25; letter-spacing:0; }
.rsud-profile-modal .btn-close { width:34px; height:34px; padding:0; box-shadow:none; }
.rsud-profile-modal .modal-body { padding:26px; background:linear-gradient(180deg,#ffffff 0%,#f7fbf8 100%); }
.modal-director { height:100%; border:1px solid rgba(91,132,105,.16); background:#fff; border-radius:16px; box-shadow:0 14px 28px rgba(42,80,59,.08); }
.modal-director img { height:300px; background:#eef5f0; }
.modal-director div { padding:16px 17px 18px; }
.modal-director span { display:inline-flex; align-items:center; gap:6px; color:#9b762e; letter-spacing:.05em; }
.modal-director strong { color:#274b3a; font-size:.92rem; line-height:1.4; }
.modal-director small { color:#7a8b82; font-weight:600; }
.modal-about-main,.modal-value { border:1px solid rgba(91,132,105,.14); background:#fff; box-shadow:0 14px 28px rgba(42,80,59,.06); }
.modal-about-main { display:flex; flex-direction:column; justify-content:center; padding:22px 24px; border-left:5px solid #b89042; }
.modal-about h4,.modal-value h4 { margin-bottom:10px; color:#274b3a; line-height:1.35; }
.modal-about p,.modal-value p { margin:0; color:#62786d; line-height:1.8; }
.modal-value { padding:21px; border-radius:16px; }
.modal-value > i { display:grid; width:42px; height:42px; place-items:center; color:#fff; background:#668b73; border-radius:12px; font-size:1.12rem; }
.rsud-profile-modal .row .col-md-6:nth-child(2) .modal-value > i { background:#b89042; }
.modal-actions { grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr); align-items:center; gap:14px; margin-top:18px; }
.structure-link { min-height:68px; padding:14px 16px; color:#fff; background:linear-gradient(135deg,#b98d3b,#d1aa61); border:0; border-radius:14px; box-shadow:0 14px 26px rgba(154,112,39,.18); }
.structure-link:hover { color:#fff; box-shadow:0 18px 32px rgba(154,112,39,.24); }
.structure-link > i:first-child { width:42px; height:42px; color:#b98d3b; background:#fff; border-radius:12px; }
.structure-link strong { color:#fff; font-size:.78rem; line-height:1.35; }
.structure-link small { color:rgba(255,255,255,.82); font-size:.64rem; }
.structure-link > i:last-child { color:#fff; }
.profile-social-links { justify-content:flex-end; gap:9px; padding:10px; background:#fff; border:1px solid rgba(91,132,105,.13); border-radius:14px; box-shadow:0 12px 24px rgba(42,80,59,.06); }
.profile-social-links a { width:44px; height:44px; min-height:44px; padding:0; gap:0; color:#315541; background:#f4f8f5; border-radius:50%; font-size:0; }
.profile-social-links a span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.profile-social-links i { font-size:1.18rem; }
.profile-social-links a:hover { background:#fff; transform:translateY(-3px); }

@media (max-width:767.98px) {
    .rsud-profile-modal .modal-body { padding:18px; }
    .modal-director img { height:260px; }
    .modal-about-main { padding:18px; }
    .modal-actions { grid-template-columns:1fr; }
    .profile-social-links { justify-content:center; }
    .structure-link { align-items:center; }
}

/* Halaman detail Profil RSUD */
.profile-detail-body { margin:0; color:#2d4338; background:#f4f8f6; font-family:'Montserrat','Segoe UI',sans-serif; }
.profile-detail-page { min-height:100vh; overflow:hidden; }
.profile-detail-hero { position:relative; padding:26px 0 64px; color:#fff; background:linear-gradient(135deg,#285642 0%,#6f967b 100%); }
.profile-detail-hero::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(25,54,42,.78),rgba(25,54,42,.22)); pointer-events:none; }
.profile-detail-hero .container { position:relative; z-index:1; }
.profile-detail-nav { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:38px; }
.profile-detail-nav a { display:inline-flex; align-items:center; gap:9px; min-height:44px; padding:10px 14px; color:#fff; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.18); border-radius:12px; font-size:.76rem; font-weight:800; text-decoration:none; backdrop-filter:blur(12px); transition:transform .25s ease,background .25s ease; }
.profile-detail-nav a:hover { color:#fff; background:rgba(255,255,255,.18); transform:translateY(-2px); }
.profile-detail-nav .profile-structure-top { min-height:52px; padding:12px 16px; color:#315541; background:#fff; border:0; box-shadow:0 18px 36px rgba(17,43,31,.18); }
.profile-detail-nav .profile-structure-top:hover { color:#315541; background:#f9fbf9; }
.profile-detail-nav .profile-structure-top i:first-child { display:grid; width:30px; height:30px; place-items:center; color:#fff; background:#b89042; border-radius:9px; }
.profile-detail-kicker { display:inline-flex; align-items:center; gap:8px; padding:9px 13px; color:#f9e8b7; background:rgba(255,255,255,.12); border-radius:999px; font-size:.68rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.profile-detail-hero h1 { max-width:760px; margin:16px 0; font-size:clamp(2rem,4vw,3.75rem); font-weight:800; line-height:1.12; letter-spacing:0; }
.profile-detail-hero p { max-width:760px; margin:0; color:rgba(255,255,255,.86); font-size:.94rem; line-height:1.85; }
.profile-detail-social { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.profile-detail-social a { display:inline-flex; align-items:center; gap:9px; min-height:44px; padding:10px 14px; color:#315541; background:#fff; border-radius:999px; font-size:.72rem; font-weight:800; text-decoration:none; box-shadow:0 14px 28px rgba(20,49,35,.14); transition:transform .25s ease,box-shadow .25s ease; }
.profile-detail-social a:hover { transform:translateY(-3px); box-shadow:0 18px 34px rgba(20,49,35,.2); }
.profile-detail-social i { font-size:1.08rem; }
.profile-detail-social .wa i { color:#1f9d55; }
.profile-detail-social .fb i { color:#1877f2; }
.profile-detail-social .ig i { color:#c13584; }
.profile-detail-social .tt i { color:#111; }
.profile-detail-director { position:relative; max-width:390px; margin:0 0 0 auto; overflow:hidden; background:#fff; border:1px solid rgba(255,255,255,.45); border-radius:18px; box-shadow:0 26px 52px rgba(17,43,31,.28); }
.profile-detail-director img { display:block; width:100%; height:455px; object-fit:cover; object-position:top; background:#eef5f0; }
.profile-detail-director figcaption { position:absolute; right:14px; bottom:14px; left:14px; display:grid; padding:15px 16px; color:#fff; background:rgba(31,64,48,.84); border:1px solid rgba(255,255,255,.18); border-radius:14px; backdrop-filter:blur(12px); }
.profile-detail-director span { color:#f9e8b7; font-size:.66rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.profile-detail-director strong { margin-top:5px; font-size:.95rem; line-height:1.35; }
.profile-detail-director small { margin-top:4px; color:rgba(255,255,255,.72); font-size:.67rem; font-weight:700; }
.profile-detail-content { position:relative; padding:54px 0 74px; }
.profile-detail-card { height:100%; padding:24px; background:#fff; border:1px solid rgba(91,132,105,.14); border-radius:16px; box-shadow:0 16px 36px rgba(38,74,54,.08); }
.profile-detail-card span { display:inline-flex; align-items:center; gap:8px; color:#9b762e; font-size:.68rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.profile-detail-card h2 { margin:12px 0 13px; color:#274b3a; font-size:1.15rem; font-weight:800; line-height:1.35; letter-spacing:0; }
.profile-detail-card p { margin:0; color:#62786d; font-size:.9rem; line-height:1.85; }
.profile-detail-greeting { border-left:5px solid #b89042; }
.profile-detail-contact { display:flex; flex-direction:column; gap:12px; background:linear-gradient(135deg,#fff,#f7fbf8); }
.profile-detail-contact a { display:inline-flex; align-items:center; gap:10px; color:#315541; font-size:.82rem; font-weight:800; text-decoration:none; overflow-wrap:anywhere; }
.profile-detail-contact a i { color:#b89042; }
.profile-detail-value > i { display:grid; width:46px; height:46px; place-items:center; color:#fff; background:#668b73; border-radius:13px; font-size:1.2rem; }
.profile-detail-value.accent > i { background:#b89042; }
.profile-detail-value h2 { margin-top:14px; }

@media (max-width:991.98px) {
    .profile-detail-hero { padding-bottom:52px; }
    .profile-detail-director { margin:34px auto 0; }
}

@media (max-width:575.98px) {
    .profile-detail-nav { align-items:stretch; flex-direction:column; margin-bottom:28px; }
    .profile-detail-nav a { justify-content:center; }
    .profile-detail-hero { padding-top:18px; }
    .profile-detail-hero h1 { font-size:2rem; }
    .profile-detail-social a { flex:1 1 calc(50% - 8px); justify-content:center; }
    .profile-detail-director img { height:380px; }
    .profile-detail-content { padding:34px 0 50px; }
    .profile-detail-card { padding:20px; }
}

/* Halaman profil RSUD - bright sage polish */
@keyframes profileFloatSoft {
    0%,100% { transform:translateY(0); }
    50% { transform:translateY(-10px); }
}

@keyframes profileFadeUp {
    from { opacity:0; transform:translateY(18px); }
    to { opacity:1; transform:translateY(0); }
}

@keyframes profileGlowSlide {
    0% { transform:translateX(-45%) rotate(10deg); opacity:.15; }
    50% { opacity:.32; }
    100% { transform:translateX(45%) rotate(10deg); opacity:.15; }
}

.profile-detail-body { background:#f7fbf8; color:#294b3c; }
.profile-detail-body .topbar { position:relative; z-index:5; }
.profile-detail-body .main-navbar { position:sticky; top:0; z-index:6; background:rgba(255,255,255,.94); box-shadow:0 12px 28px rgba(51,93,71,.08); backdrop-filter:blur(14px); }
.profile-detail-page { background:linear-gradient(180deg,#f7fbf8 0%,#ffffff 48%,#eef7f1 100%); }
.profile-detail-hero { padding:32px 0 74px; color:#274b3a; background:linear-gradient(135deg,#f6fbf7 0%,#dfeee5 58%,#fff7e5 100%); }
.profile-detail-hero::before { background:radial-gradient(circle at 12% 18%,rgba(126,166,139,.22),transparent 32%),radial-gradient(circle at 86% 12%,rgba(205,170,95,.2),transparent 30%); }
.profile-detail-hero::after { content:''; position:absolute; top:10%; right:-12%; width:46%; height:84%; background:linear-gradient(110deg,transparent,rgba(255,255,255,.6),transparent); pointer-events:none; animation:profileGlowSlide 8s ease-in-out infinite; }
.profile-page-actions { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:34px; animation:profileFadeUp .55s ease both; }
.profile-page-actions a { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; padding:11px 15px; color:#3c6651; background:#fff; border:1px solid rgba(95,141,122,.16); border-radius:13px; font-size:.76rem; font-weight:800; text-decoration:none; box-shadow:0 12px 26px rgba(70,112,88,.1); transition:transform .25s ease,box-shadow .25s ease,background .25s ease; }
.profile-page-actions a:hover { color:#315541; background:#fbfefc; transform:translateY(-3px); box-shadow:0 16px 32px rgba(70,112,88,.14); }
.profile-page-actions .profile-structure-top { min-height:58px; padding:12px 18px; color:#fff; background:linear-gradient(135deg,#6f967b,#b89042); border:0; box-shadow:0 18px 36px rgba(99,139,113,.22); }
.profile-page-actions .profile-structure-top:hover { color:#fff; background:linear-gradient(135deg,#638c71,#c39b4c); }
.profile-page-actions .profile-structure-top i:first-child { display:grid; width:34px; height:34px; place-items:center; color:#6f967b; background:#fff; border-radius:10px; }
.profile-detail-kicker { color:#4e7a62; background:#fff; border:1px solid rgba(95,141,122,.16); box-shadow:0 10px 22px rgba(71,111,88,.08); }
.profile-detail-hero h1 { color:#274b3a; text-wrap:balance; animation:profileFadeUp .65s ease .06s both; }
.profile-detail-hero p { color:#60796b; animation:profileFadeUp .65s ease .12s both; }
.profile-detail-social { animation:profileFadeUp .65s ease .18s both; }
.profile-detail-social a { color:#315541; border:1px solid rgba(95,141,122,.12); box-shadow:0 12px 24px rgba(70,112,88,.11); }
.profile-detail-director { background:#fff; border:8px solid rgba(255,255,255,.72); border-radius:20px; box-shadow:0 26px 54px rgba(76,120,91,.2); animation:profileFloatSoft 6s ease-in-out infinite; }
.profile-detail-director::before { content:''; position:absolute; inset:14px; border:1px solid rgba(255,255,255,.8); border-radius:14px; pointer-events:none; z-index:1; }
.profile-detail-director img { height:470px; }
.profile-detail-director figcaption { z-index:2; background:rgba(255,255,255,.9); border:1px solid rgba(95,141,122,.18); color:#274b3a; box-shadow:0 14px 28px rgba(37,75,55,.12); }
.profile-detail-director span { color:#9b762e; }
.profile-detail-director small { color:#74887e; }
.profile-detail-content { margin-top:-34px; padding:0 0 78px; }
.profile-detail-card { border:1px solid rgba(95,141,122,.13); border-radius:18px; box-shadow:0 18px 38px rgba(63,105,78,.09); animation:profileFadeUp .7s ease both; transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.profile-detail-card:hover { transform:translateY(-5px); border-color:rgba(184,144,66,.24); box-shadow:0 24px 48px rgba(63,105,78,.13); }
.profile-detail-card span { color:#8f6d2e; }
.profile-detail-greeting { background:linear-gradient(135deg,#fff 0%,#f8fcf9 100%); border-left:6px solid #9abb86; }
.profile-detail-contact { background:linear-gradient(135deg,#fff 0%,#f3faf5 100%); }
.profile-detail-contact a { padding:11px 12px; background:#f7fbf8; border-radius:12px; transition:background .25s ease,transform .25s ease; }
.profile-detail-contact a:hover { background:#edf6ef; transform:translateX(4px); }
.profile-detail-value { background:#fff; }
.profile-detail-value > i { background:linear-gradient(135deg,#6f967b,#8fb99e); box-shadow:0 14px 24px rgba(95,141,122,.22); }
.profile-detail-value.accent > i { background:linear-gradient(135deg,#b89042,#d8b66d); }

@media (max-width:991.98px) {
    .profile-detail-body .main-navbar { top:0; }
    .profile-detail-content { margin-top:-20px; }
    .profile-detail-director { animation:none; }
}

@media (max-width:575.98px) {
    .profile-page-actions { align-items:stretch; flex-direction:column; }
    .profile-page-actions a { width:100%; }
    .profile-detail-hero { padding:22px 0 54px; }
    .profile-detail-director img { height:390px; }
    .profile-detail-social a { border-radius:14px; }
}

/* Koreksi warna profil: sage lembut, bukan hijau pekat */
.profile-detail-body { background:#f8faf7; color:#34433d; }
.profile-detail-body .main-navbar { background:rgba(255,255,255,.96); box-shadow:0 12px 28px rgba(80,93,86,.08); }
.profile-detail-page { background:linear-gradient(180deg,#fafcf9 0%,#ffffff 46%,#f1f5f2 100%); }
.profile-detail-hero { color:#34433d; background:linear-gradient(135deg,#fbfcfa 0%,#e8eee9 52%,#fff6df 100%); }
.profile-detail-hero::before { background:radial-gradient(circle at 12% 18%,rgba(170,187,176,.24),transparent 34%),radial-gradient(circle at 88% 10%,rgba(213,183,112,.22),transparent 30%); }
.profile-detail-kicker { color:#6d7f74; border-color:rgba(148,163,153,.22); box-shadow:0 10px 22px rgba(89,101,94,.07); }
.profile-detail-hero h1 { color:#303f39; }
.profile-detail-hero p { color:#68776f; }
.profile-page-actions a { color:#506359; border-color:rgba(148,163,153,.22); box-shadow:0 12px 24px rgba(89,101,94,.08); }
.profile-page-actions a:hover { color:#303f39; box-shadow:0 16px 30px rgba(89,101,94,.12); }
.profile-page-actions .profile-structure-top { color:#fff; background:linear-gradient(135deg,#c59a45,#d7b86f); box-shadow:0 18px 34px rgba(169,128,52,.2); }
.profile-page-actions .profile-structure-top:hover { background:linear-gradient(135deg,#b88c38,#d3ad5d); }
.profile-page-actions .profile-structure-top i:first-child { color:#b88c38; }
.profile-detail-social a { color:#45564e; border-color:rgba(148,163,153,.18); box-shadow:0 12px 24px rgba(89,101,94,.09); }
.profile-detail-director { box-shadow:0 26px 54px rgba(89,101,94,.16); }
.profile-detail-director figcaption { color:#303f39; border-color:rgba(148,163,153,.2); box-shadow:0 14px 28px rgba(89,101,94,.1); }
.profile-detail-card { border-color:rgba(148,163,153,.18); box-shadow:0 18px 38px rgba(89,101,94,.08); }
.profile-detail-card:hover { border-color:rgba(197,154,69,.24); box-shadow:0 24px 48px rgba(89,101,94,.12); }
.profile-detail-card h2 { color:#303f39; }
.profile-detail-card p { color:#65736d; }
.profile-detail-greeting { background:linear-gradient(135deg,#fff 0%,#fbfdfb 100%); border-left-color:#c8d5cc; }
.profile-detail-contact { background:linear-gradient(135deg,#fff 0%,#f6f9f6 100%); }
.profile-detail-contact a { color:#45564e; background:#f6f8f6; }
.profile-detail-contact a:hover { background:#edf2ee; }
.profile-detail-contact a i { color:#c59a45; }
.profile-detail-value > i { background:linear-gradient(135deg,#8fa196,#b9c8be); box-shadow:0 14px 24px rgba(143,161,150,.2); }
.profile-detail-value.accent > i { background:linear-gradient(135deg,#c59a45,#d9bc76); box-shadow:0 14px 24px rgba(197,154,69,.2); }

/* Compact profile layout */
.profile-detail-hero { padding:22px 0 42px; }
.profile-page-actions { margin-bottom:18px; }
.profile-page-actions a { min-height:40px; padding:8px 12px; font-size:.7rem; }
.profile-page-actions .profile-structure-top { min-height:44px; padding:9px 13px; }
.profile-page-actions .profile-structure-top i:first-child { width:28px; height:28px; border-radius:8px; }
.profile-detail-kicker { padding:7px 11px; font-size:.62rem; }
.profile-detail-hero h1 { max-width:700px; margin:11px 0 10px; font-size:clamp(1.75rem,3.1vw,3rem); line-height:1.08; }
.profile-detail-hero p { max-width:720px; display:-webkit-box; overflow:hidden; font-size:.84rem; line-height:1.65; -webkit-line-clamp:5; -webkit-box-orient:vertical; }
.profile-detail-social { gap:8px; margin-top:14px; }
.profile-detail-social a { min-height:38px; padding:8px 12px; font-size:.68rem; box-shadow:0 10px 20px rgba(89,101,94,.08); }
.profile-detail-director { max-width:330px; border-width:6px; border-radius:17px; }
.profile-detail-director img { height:345px; }
.profile-detail-director figcaption { right:10px; bottom:10px; left:10px; padding:11px 12px; border-radius:12px; }
.profile-detail-director span { font-size:.58rem; }
.profile-detail-director strong { margin-top:3px; font-size:.82rem; }
.profile-detail-director small { margin-top:2px; font-size:.6rem; }
.profile-detail-content { margin-top:-22px; padding:0 0 46px; }
.profile-detail-content .row { --bs-gutter-y:1rem; --bs-gutter-x:1rem; }
.profile-detail-card { padding:18px; border-radius:14px; }
.profile-detail-card span { font-size:.61rem; }
.profile-detail-card h2 { margin:8px 0 9px; font-size:1rem; }
.profile-detail-card p { font-size:.82rem; line-height:1.65; }
.profile-detail-greeting p { display:-webkit-box; overflow:hidden; -webkit-line-clamp:8; -webkit-box-orient:vertical; }
.profile-detail-contact { gap:9px; }
.profile-detail-contact a { padding:8px 10px; font-size:.75rem; }
.profile-detail-value > i { width:38px; height:38px; border-radius:11px; font-size:1rem; }
.profile-detail-value h2 { margin-top:10px; }
.profile-detail-value p { display:-webkit-box; overflow:hidden; -webkit-line-clamp:7; -webkit-box-orient:vertical; }

@media (max-width:991.98px) {
    .profile-detail-hero { padding-bottom:34px; }
    .profile-detail-director { max-width:310px; margin-top:20px; }
    .profile-detail-director img { height:320px; }
}

@media (max-width:575.98px) {
    .profile-detail-hero { padding:16px 0 34px; }
    .profile-page-actions { gap:9px; margin-bottom:16px; }
    .profile-detail-hero h1 { font-size:1.72rem; }
    .profile-detail-hero p { -webkit-line-clamp:6; }
    .profile-detail-social a { flex:1 1 calc(50% - 6px); min-height:36px; padding:8px 9px; }
    .profile-detail-director img { height:310px; }
    .profile-detail-content { padding-bottom:34px; }
    .profile-detail-card { padding:15px; }
}

/* Profile detail latest layout */
.profile-detail-director { max-width:410px; }
.profile-detail-director img { height:500px; }
.profile-detail-greeting { max-height:320px; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#c8d5cc #f5f8f5; }
.profile-detail-greeting::-webkit-scrollbar { width:8px; }
.profile-detail-greeting::-webkit-scrollbar-track { background:#f5f8f5; border-radius:999px; }
.profile-detail-greeting::-webkit-scrollbar-thumb { background:#c8d5cc; border-radius:999px; }
.profile-detail-greeting p { display:block; overflow:visible; -webkit-line-clamp:unset; }

/* Section SIPOLI setelah profil direktur */
.sipoli-service-section {
    position:relative;
    padding:70px 0 82px;
    overflow:hidden;
    background:linear-gradient(180deg,#f7fbf8 0%,#ffffff 100%);
    font-family:'Montserrat','Segoe UI',sans-serif;
}

.sipoli-service-section::before {
    content:'';
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 12% 18%,rgba(191,207,197,.24),transparent 28%),
        radial-gradient(circle at 88% 10%,rgba(218,184,109,.14),transparent 24%);
    pointer-events:none;
}

.sipoli-service-card {
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);
    gap:34px;
    align-items:center;
    padding:34px;
    color:#303f39;
    background:rgba(255,255,255,.92);
    border:1px solid #e4eee8;
    border-radius:22px;
    box-shadow:0 22px 48px rgba(84,101,91,.1);
}

.sipoli-service-card::before {
    content:'';
    position:absolute;
    right:-70px;
    top:-80px;
    width:240px;
    height:240px;
    background:rgba(102,139,115,.1);
    border:1px solid rgba(102,139,115,.12);
    border-radius:50%;
}

.sipoli-service-card::after {
    content:'';
    position:absolute;
    left:-90px;
    bottom:-110px;
    width:260px;
    height:260px;
    background:radial-gradient(circle,rgba(197,154,69,.16),transparent 68%);
    border-radius:50%;
}

.sipoli-service-card > * {
    position:relative;
    z-index:1;
}

.sipoli-service-kicker {
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 14px;
    color:#7a8b82;
    background:#f6faf7;
    border:1px solid #e3eee7;
    border-radius:12px;
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.sipoli-service-main h2 {
    max-width:620px;
    margin:17px 0 14px;
    color:#303f39;
    font-size:clamp(1.85rem,3.2vw,2.75rem);
    font-weight:800;
    line-height:1.14;
}

.sipoli-service-main p {
    max-width:620px;
    margin:0 0 18px;
    color:#65736d;
    font-size:.96rem;
    line-height:1.8;
}

.sipoli-store-link {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:50px;
    padding:13px 18px;
    color:#fff;
    background:linear-gradient(135deg,#668b73,#315f4a);
    border-radius:12px;
    font-size:.8rem;
    font-weight:800;
    text-decoration:none;
    box-shadow:0 14px 26px rgba(49,95,74,.16);
    transition:transform .25s ease,box-shadow .25s ease;
}

.sipoli-store-link:hover {
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 18px 32px rgba(49,95,74,.22);
}

.sipoli-service-tutorials {
    padding:22px;
    background:#f8fbf9;
    border:1px solid #e4eee8;
    border-radius:18px;
}

.sipoli-service-tutorials > div:first-child span {
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#9b762e;
    font-size:.64rem;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.sipoli-service-tutorials h3 {
    margin:8px 0 17px;
    color:#303f39;
    font-size:1.16rem;
    font-weight:800;
}

.sipoli-tutorial-grid {
    display:grid;
    gap:12px;
}

.sipoli-tutorial-grid a {
    display:grid;
    grid-template-columns:54px minmax(0,1fr);
    gap:14px;
    align-items:center;
    padding:15px;
    color:#303f39;
    background:#fff;
    border:1px solid #e4eee8;
    border-radius:14px;
    text-decoration:none;
    transition:background .25s ease,transform .25s ease;
}

.sipoli-tutorial-grid a:hover {
    color:#303f39;
    background:#f9fcfa;
    transform:translateX(3px);
}

.sipoli-tutorial-grid a > i {
    display:grid;
    width:54px;
    height:54px;
    place-items:center;
    color:#fff;
    background:linear-gradient(135deg,#c59a45,#d8b66d);
    border-radius:14px;
    font-size:1.25rem;
}

.sipoli-tutorial-grid b {
    display:block;
    font-size:.86rem;
    font-weight:800;
}

.sipoli-tutorial-grid em,
.sipoli-tutorial-grid small {
    display:block;
    margin-top:2px;
    color:#728179;
    font-size:.7rem;
    font-style:normal;
    line-height:1.35;
}

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

@media (max-width:575.98px) {
    .sipoli-service-section {
        padding-bottom:48px;
    }

    .sipoli-service-card {
        padding:18px;
        border-radius:20px;
    }

    .sipoli-tutorial-grid a {
        align-items:flex-start;
    }
}

/* Menu pelayanan geser di bawah reservasi */
.service-menu-strip {
    position:relative;
    padding:0 0 58px;
    overflow:hidden;
    background:linear-gradient(180deg,#ffffff 0%,#f7fbf8 100%);
    font-family:'Montserrat','Segoe UI',sans-serif;
}

.service-menu-head {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:16px;
}

.service-menu-head span {
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:8px;
    padding:8px 12px;
    color:#6d7f74;
    background:#fff;
    border:1px solid #e4eee8;
    border-radius:12px;
    box-shadow:0 10px 22px rgba(84,101,91,.07);
    font-size:.64rem;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.service-menu-head span i {
    color:#c59a45;
}

.service-menu-head h2 {
    margin:0;
    color:#303f39;
    font-size:clamp(1.25rem,2vw,1.75rem);
    font-weight:800;
    line-height:1.2;
}

.service-menu-controls {
    display:flex;
    gap:8px;
}

.service-menu-controls button {
    display:grid;
    width:40px;
    height:40px;
    place-items:center;
    color:#557f69;
    background:#fff;
    border:1px solid #e5eee8;
    border-radius:12px;
    box-shadow:0 10px 22px rgba(84,101,91,.08);
}

.service-menu-track {
    display:grid;
    grid-auto-columns:clamp(170px,18vw,220px);
    grid-auto-flow:column;
    gap:12px;
    overflow-x:auto;
    padding:4px 0 14px;
    scroll-snap-type:x mandatory;
    scrollbar-width:thin;
}

.service-menu-card {
    min-height:142px;
    padding:16px;
    background:#fff;
    border:1px solid #e4eee8;
    border-radius:16px;
    box-shadow:0 16px 32px rgba(84,101,91,.08);
    scroll-snap-align:start;
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.service-menu-card:hover {
    transform:translateY(-4px);
    border-color:#d9e7df;
    box-shadow:0 20px 40px rgba(84,101,91,.12);
}

.service-menu-card span {
    display:grid;
    width:46px;
    height:46px;
    place-items:center;
    color:#fff;
    background:linear-gradient(135deg,#668b73,#315f4a);
    border-radius:14px;
    box-shadow:0 12px 22px rgba(49,95,74,.18);
    font-size:1.18rem;
}

.service-menu-card:nth-child(1) span { background:linear-gradient(135deg,#e45f5f,#9f2f2f); box-shadow:0 12px 22px rgba(228,95,95,.2); }
.service-menu-card:nth-child(2) span { background:linear-gradient(135deg,#55a782,#277257); box-shadow:0 12px 22px rgba(85,167,130,.2); }
.service-menu-card:nth-child(3) span { background:linear-gradient(135deg,#6f8fd9,#385aa5); box-shadow:0 12px 22px rgba(111,143,217,.2); }
.service-menu-card:nth-child(4) span { background:linear-gradient(135deg,#d17793,#9c3e5d); box-shadow:0 12px 22px rgba(209,119,147,.2); }
.service-menu-card:nth-child(5) span { background:linear-gradient(135deg,#d74848,#8e2323); box-shadow:0 12px 22px rgba(215,72,72,.2); }
.service-menu-card:nth-child(6) span { background:linear-gradient(135deg,#b18a4a,#7a5a22); box-shadow:0 12px 22px rgba(177,138,74,.2); }
.service-menu-card:nth-child(7) span { background:linear-gradient(135deg,#5eacc2,#28788f); box-shadow:0 12px 22px rgba(94,172,194,.2); }
.service-menu-card:nth-child(8) span { background:linear-gradient(135deg,#8c74c9,#58409c); box-shadow:0 12px 22px rgba(140,116,201,.2); }
.service-menu-card:nth-child(9) span { background:linear-gradient(135deg,#55a4a1,#236f6b); box-shadow:0 12px 22px rgba(85,164,161,.2); }
.service-menu-card:nth-child(10) span { background:linear-gradient(135deg,#6d7f90,#35495a); box-shadow:0 12px 22px rgba(109,127,144,.2); }
.service-menu-card:nth-child(11) span { background:linear-gradient(135deg,#d7a348,#9b6d1f); box-shadow:0 12px 22px rgba(215,163,72,.2); }
.service-menu-card:nth-child(12) span { background:linear-gradient(135deg,#ef8aa5,#b94d6d); box-shadow:0 12px 22px rgba(239,138,165,.2); }

.service-menu-card strong {
    display:block;
    margin-top:14px;
    color:#9b762e;
    font-size:1rem;
    font-weight:800;
    letter-spacing:.04em;
}

.service-menu-card small {
    display:block;
    margin-top:5px;
    color:#62746b;
    font-size:.72rem;
    font-weight:700;
    line-height:1.4;
}

@media (max-width:575.98px) {
    .service-menu-strip {
        padding-bottom:42px;
    }

    .service-menu-head {
        align-items:flex-start;
        flex-direction:column;
    }

    .service-menu-track {
        grid-auto-columns:68vw;
    }
}

@media (max-width:991.98px) {
    .profile-detail-director { max-width:380px; }
    .profile-detail-director img { height:440px; }
}

@media (max-width:575.98px) {
    .profile-detail-director { max-width:100%; }
    .profile-detail-director img { height:420px; }
    .profile-detail-greeting { max-height:300px; }
}

/* Foto direktur + sambutan sejajar */
.profile-detail-hero { padding-bottom:58px; }
.profile-detail-content { margin-top:-34px; }
.profile-detail-director-inline { max-width:100%; height:100%; margin:0; animation:none; }
.profile-detail-director-inline img { height:430px; }
.profile-detail-director-inline figcaption { background:rgba(255,255,255,.92); }
.profile-detail-greeting { min-height:430px; max-height:430px; }
.profile-detail-about { background:linear-gradient(135deg,#fff 0%,#fbfdfb 100%); border-left:6px solid #d8c189; }
.profile-detail-about p { display:block; overflow:visible; }

@media (max-width:991.98px) {
    .profile-detail-director-inline img { height:420px; }
    .profile-detail-greeting { min-height:auto; max-height:340px; }
}

@media (max-width:575.98px) {
    .profile-detail-hero { padding-bottom:44px; }
    .profile-detail-director-inline img { height:390px; }
    .profile-detail-greeting { max-height:320px; }
}

/* Final profile header and aligned director section */
.profile-page-actions { justify-content:flex-end; }
.profile-detail-hero h1 { max-width:880px; font-size:clamp(1.85rem,3vw,3.05rem); line-height:1.14; }
.profile-detail-director-inline,.profile-detail-greeting { height:420px; min-height:420px; max-height:420px; }
.profile-detail-director-inline img { height:100%; }
.profile-detail-greeting { overflow-y:auto; }

@media (max-width:991.98px) {
    .profile-page-actions { justify-content:flex-start; }
    .profile-detail-director-inline,.profile-detail-greeting { height:auto; min-height:auto; }
    .profile-detail-director-inline img { height:420px; }
    .profile-detail-greeting { max-height:340px; }
}

@media (max-width:575.98px) {
    .profile-detail-hero h1 { font-size:1.58rem; line-height:1.2; }
    .profile-page-actions .profile-structure-top { width:100%; }
    .profile-detail-director-inline img { height:360px; }
}
