.public-contact-form{display:grid;gap:13px}.public-contact-form label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#34465c}.public-contact-form input,.public-contact-form select,.public-contact-form textarea{width:100%;border:1px solid #dce4ed;border-radius:8px;padding:12px;font:13px "DM Sans",sans-serif;color:#1b2c40;background:#fff;outline:none}.public-contact-form input:focus,.public-contact-form select:focus,.public-contact-form textarea:focus{border-color:#3988ff;box-shadow:0 0 0 3px #3988ff18}.form-success,.form-error{padding:12px 14px;border-radius:8px;font-size:12px}.form-success{background:#e8f8ef;color:#167345}.form-error{background:#fff0ef;color:#a52a23}

.brand-logo{display:block;width:auto;max-width:170px;height:auto;max-height:48px;object-fit:contain}.footer-brand .brand-logo{max-height:42px}@media(max-width:600px){.brand-logo{max-width:135px;max-height:42px}}

/* SafeVision header logo: transparent artwork on navy, no white card/background. */
.site-header .brand{display:flex;align-items:center;flex:0 1 auto;max-width:260px;min-width:0;overflow:visible}
.site-header .brand-logo{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:min(220px,30vw)!important;
  max-height:58px!important;
  object-fit:contain!important;
  object-position:left center!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0!important;
  filter:none!important;
  opacity:1!important;
}
.site-header .brand-logo + span{display:none!important}
.footer .brand-logo{
  display:block!important;width:auto!important;height:auto!important;
  max-width:190px!important;max-height:46px!important;object-fit:contain!important;
  background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;
}
@media(max-width:700px){
  .site-header .brand{max-width:calc(100% - 54px)!important}
  .site-header .brand-logo{max-width:min(190px,66vw)!important;max-height:48px!important}
}

/* SAFEVISION - LIVE STATUS ANIMATION */
.topbar .dot {
    display: inline-block !important;
    position: relative;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #35d6a0 !important;
    box-shadow: 0 0 10px #35d6a0;
    animation: svLiveGlow 1.5s ease-in-out infinite !important;
}

.topbar .dot::after {
    content: "";
    position: absolute;
    inset: -5px;
    border: 1px solid #35d6a0;
    border-radius: 50%;
    animation: svLivePulse 1.8s ease-out infinite;
}

@keyframes svLiveGlow {
    50% {
        opacity: .5;
        box-shadow: 0 0 18px #35d6a0;
    }
}

@keyframes svLivePulse {
    0% {
        transform: scale(.5);
        opacity: 1;
    }
    100% {
        transform: scale(2);
        opacity: 0;
    }
}

/* SafeVision: posisi logo navbar desktop */
.site-header .nav-wrap > a.brand {
    position: relative !important;
    left: -250px !important;
}

/* Posisi normal untuk perangkat mobile */
@media (max-width: 700px) {
    .site-header .nav-wrap > a.brand {
        left: 0 !important;
    }
}

/* SafeVision: geser menu navigasi ke kanan */
@media (min-width: 701px) {
    .site-header .nav-wrap > .nav-menu {
        transform: translateX(250px);
    }
}

@media (max-width: 700px) {
    .site-header .nav-wrap > .nav-menu {
        transform: none;
    }
}


/* SafeVision: unified header alignment */
@media (min-width: 701px) {
    .topbar-inner,
    .site-header .nav-wrap {
        width: min(1600px, calc(100% - 80px));
        max-width: none;
        margin-left: auto;
        margin-right: auto;
    }

    .site-header .nav-wrap > .brand,
    .site-header .nav-wrap > .nav-menu {
        position: static !important;
        left: auto !important;
        transform: none !important;
    }
}

/* FIX: kembalikan logo ke dalam batas container */
@media (min-width: 701px) {
    .site-header .nav-wrap > a.brand {
        position: static !important;
        left: auto !important;
        transform: none !important;
        margin-left: 0 !important;
    }

    .site-header .nav-wrap > nav.nav-menu {
        transform: none !important;
    }
}

/* SafeVision: memperlebar seluruh container halaman */
@media (min-width: 901px) {
    body .container {
        width: min(1400px, calc(100% - 48px));
        margin-left: auto;
        margin-right: auto;
    }
}

/* SafeVision: pusatkan informasi topbar khusus Android/mobile */
@media (max-width: 700px) {
    .topbar-inner {
        justify-content: center !important;
        text-align: center !important;
        width: 100% !important;
    }

    .topbar-inner > span {
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        width: 100%;
    }
}

/* SafeVision: pusatkan copyright dan menu footer di HP */
@media (max-width: 700px) {
    .footer-bottom {
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        flex-direction: column !important;
        gap: 12px !important;
    }

    .footer-bottom > *,
    .footer-bottom-links {
        justify-content: center !important;
        text-align: center !important;
        width: 100%;
    }

    .footer-bottom-links {
        display: flex;
        flex-wrap: wrap;
        gap: 16px !important;
    }
}
