.usy-blog-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 0 46px;
}

.usy-blog-filters a {
    padding: 12px 22px;
    border: 1px solid rgba(16, 38, 60, .16);
    border-radius: 999px;
    color: #526171;
    background: #fff;
    font-weight: 500;
    transition: transform .22s ease, box-shadow .22s ease, color .22s ease, background-color .22s ease, border-color .22s ease;
}

.usy-blog-filters a:hover,
.usy-blog-filters a.is-active {
    color: #fff;
    background: #10263c;
    border-color: #10263c;
}

.usy-blog-filters a:hover,
.usy-blog-filters a:focus-visible {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(16, 38, 60, .14);
}

.usy-blog-empty {
    grid-column: 1 / -1;
    padding: 35px;
    border: 1px solid rgba(16, 38, 60, .14);
    background: #f7f3eb;
}

.usy-shortcode-page {
    width: 100%;
}

/* Elementor can keep an imported shortcode inside a boxed parent. These two
   content-heavy pages deliberately break out to the viewport like the other
   USY pages, while the sections retain their own readable inner padding. */
.usy-about-page,
.usy-solutions-page {
    width: 100vw;
    max-width: 100vw;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.usy-contact-page .usy-card h2 {
    margin-top: 0;
}

.usy-location-section .elementor-heading-title {
    max-width: 980px;
}

.usy-location-link {
    display: inline-flex;
    align-items: center;
    min-height: 52px;
    margin-top: 24px;
    padding: 14px 22px;
    border: 1px solid #e5bd63;
    border-radius: 5px;
    color: #e5bd63;
    font-weight: 700;
}

.usy-location-link:hover {
    color: #071522;
    background: #e5bd63;
}

.usy-home-copy .elementor-heading-title span {
    color: #c89632;
}

/* Widget Elementor asli pada paket v1.3.0. Semua teks, gambar, dan tombol
   di bagian ini dapat dipilih dan diubah langsung melalui Elementor. */
.usy-hero-editable-image,
.usy-hero-editable-image .elementor-widget-container,
.usy-hero-editable-image img {
    width: 100%;
    height: 100%;
}

.usy-hero-editable-image {
    position: absolute;
    inset: 0;
}

.usy-hero-editable-image img {
    object-fit: cover;
}

.usy-hero-badge {
    position: absolute;
    z-index: 2;
    top: 12%;
    left: -74px;
    width: 148px;
    min-height: 178px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    border-radius: 14px;
    color: #fff;
    background: #091f34;
    box-shadow: 0 18px 38px rgba(16, 38, 60, .18);
}

.usy-hero-badge .elementor-heading-title {
    margin: 0;
    color: #e5bd63 !important;
    font: 700 4rem/1 Georgia, "Times New Roman", serif;
}

.usy-hero-badge p {
    margin: 7px 0 0;
    color: #fff;
}

.usy-editable-grid {
    display: grid;
    gap: 20px;
}

/* Elementor containers use flex by default. These qualified selectors ensure
   the intended USY grids remain intact in the editor and on the public site. */
.elementor-element.usy-editable-grid,
.elementor-element.usy-leadership-grid,
.elementor-element.usy-module-grid {
    display: grid;
    width: 100%;
}

.usy-editable-grid-business {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.usy-editable-grid-business > .usy-editable-card {
    grid-column: span 2;
}

.usy-editable-grid-business > .usy-editable-card:nth-child(4) {
    grid-column: 2 / span 2;
}

.usy-editable-grid-3,
.usy-editable-grid-modules {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.usy-editable-grid-modules {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.usy-editable-stack {
    display: grid;
}

.usy-editable-card {
    min-width: 0;
    padding: 30px;
    border: 1px solid rgba(16, 38, 60, .14);
    background: #fff;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.usy-editable-card:hover,
.usy-editable-card:focus-within {
    z-index: 2;
    transform: translateY(-8px);
    border-color: rgba(200, 150, 50, .72);
    box-shadow: 0 22px 44px rgba(16, 38, 60, .13);
}

.usy-editable-card .usy-card-number {
    margin: 0 0 30px;
    color: rgba(16, 38, 60, .15);
    font: 700 3.1rem/1 Georgia, "Times New Roman", serif;
}

.usy-editable-card .usy-card-label {
    margin: 0 0 10px;
    color: #c89632;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.usy-editable-card .elementor-heading-title {
    color: #10263c;
    font-family: Georgia, "Times New Roman", serif;
}

.usy-editable-card p {
    color: #5f6d7b;
}

.usy-editable-card a {
    color: #c89632;
    font-weight: 700;
}

.usy-section-navy .usy-editable-card {
    border-color: rgba(255, 255, 255, .16);
    background: transparent;
}

.usy-section-navy .usy-editable-card .elementor-heading-title {
    color: #fff;
}

.usy-section-navy .usy-editable-card p {
    color: #c3ccd5;
}

.elementor-element.usy-leadership-section > .elementor-widget-heading,
.elementor-element.usy-leadership-section > .elementor-widget-text-editor {
    max-width: 920px;
    margin-inline: auto;
    text-align: center;
}

.elementor-element.usy-leadership-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 28px;
    max-width: 1180px;
    margin: 45px auto 0;
}

.elementor-element.usy-leadership-grid > .usy-leader-card {
    grid-column: span 2;
}

.elementor-element.usy-leadership-grid > .usy-leader-commissioner {
    grid-column: 3 / span 2;
}

.elementor-element.usy-leadership-grid > .usy-leader-marketing {
    grid-column: 2 / span 2;
}

.elementor-element.usy-leadership-grid > .usy-leader-finance {
    grid-column: 4 / span 2;
}

.usy-leader-card {
    padding: 0;
    overflow: hidden;
}

.usy-leader-card > :not(.usy-leader-photo) {
    margin-inline: 30px;
}

.usy-leader-card > :last-child {
    margin-bottom: 28px;
}

.usy-leader-photo img {
    width: 100%;
    aspect-ratio: 4 / 4.15;
    object-fit: cover;
    object-position: center top;
}

.usy-leadership-section {
    background:
        linear-gradient(135deg, rgba(229,189,99,.08), transparent 34%),
        #10263c;
}

.usy-leadership-section > .elementor-widget-heading .elementor-heading-title {
    color: #fff;
}

.usy-leadership-section > .elementor-widget-text-editor p {
    color: #c8d2dc;
}

.usy-leadership-section .usy-leader-card {
    background: #fff;
}

.usy-leadership-section .usy-leader-card:hover {
    transform: translateY(-9px);
}

.usy-product-category {
    margin-top: 42px;
    padding: 34px;
    border: 1px solid rgba(16, 38, 60, .14);
    background: #f7f3eb;
}

.usy-module-order {
    margin-top: 34px;
    padding: 34px;
    background: #10263c;
}

.usy-module-order .usy-kicker {
    color: #fff;
}

.usy-module-order > .elementor-widget-heading .elementor-heading-title {
    max-width: 760px;
    color: #fff;
}

.usy-module-order > .elementor-widget-text-editor p {
    max-width: 820px;
    color: #c8d2dc;
}

.elementor-element.usy-module-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin-top: 30px;
    background: rgba(255,255,255,.16);
}

.usy-module-grid .usy-editable-card {
    min-height: 250px;
    border: 0;
    background: #10263c;
}

.usy-module-grid .usy-editable-card .elementor-heading-title {
    color: #fff;
}

.usy-module-grid .usy-editable-card p {
    color: #c8d2dc;
}

.usy-product-category {
    border-radius: 4px;
    box-shadow: 0 14px 40px rgba(16,38,60,.06);
}

.usy-client-portal-intro {
    position: relative;
    overflow: hidden;
    align-items: center;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 50px;
    color: #fff;
    background: #10263c;
}

.usy-client-portal-intro::after {
    content: "";
    position: absolute;
    top: -130px;
    right: 18%;
    width: 260px;
    height: 260px;
    border: 1px solid rgba(229,189,99,.55);
    transform: rotate(45deg);
    pointer-events: none;
}

.usy-client-portal-intro .elementor-heading-title {
    color: #fff;
}

.usy-client-portal-intro p {
    max-width: 760px;
    color: #c8d2dc;
}

.usy-client-portal-intro .elementor-widget-button {
    width: auto;
    min-width: max-content;
    z-index: 1;
}

.usy-client-portal-intro .elementor-button {
    color: #10263c;
    background: #e5bd63;
}

.usy-page-hero,
.usy-section {
    position: relative;
}

.usy-page-hero::before {
    content: "";
    position: absolute;
    inset: 0 0 auto auto;
    width: 220px;
    height: 220px;
    border-top: 1px solid rgba(200,150,50,.45);
    border-right: 1px solid rgba(200,150,50,.45);
    pointer-events: none;
}

.usy-solutions-hero {
    background:
        radial-gradient(circle at 88% 25%, rgba(229,189,99,.18), transparent 18%),
        linear-gradient(120deg, #f7f3eb 0 70%, #efe6d7 70%);
}

.usy-client-portal-intro {
    display: grid;
    gap: 34px;
    background: #f7f3eb;
}

.usy-portal-feature-list,
.usy-portal-grid,
.usy-ticket-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.usy-portal-page,
.usy-client-portal,
.usy-portal-login,
.usy-portal-denied {
    width: min(1280px, calc(100% - 36px));
    margin-inline: auto;
}

.usy-portal-login,
.usy-portal-denied {
    position: relative;
    isolation: isolate;
    max-width: 840px;
    min-height: 500px;
    overflow: hidden;
    margin-block: 48px;
    padding: clamp(34px, 5vw, 58px);
    color: #f5f8fb;
    border: 1px solid rgba(229,189,99,.42);
    border-radius: 12px;
    background:
        radial-gradient(circle at 82% 22%, rgba(229,189,99,.22), transparent 22%),
        linear-gradient(115deg, transparent 0 61%, rgba(255,255,255,.035) 61% 62%, transparent 62%),
        linear-gradient(145deg, #102a44, #071522);
    box-shadow: 0 24px 60px rgba(7,21,34,.18);
}

.usy-portal-login::before,
.usy-portal-denied::before {
    content: "";
    position: absolute;
    z-index: -1;
    right: -68px;
    bottom: -84px;
    width: 210px;
    height: 210px;
    border: 1px solid rgba(229,189,99,.48);
    border-radius: 42% 58% 48% 52%;
    transform: rotate(28deg);
    transition: transform .45s ease;
}

.usy-portal-login::after,
.usy-portal-denied::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: 78px;
    right: 54px;
    width: 238px;
    height: 286px;
    border: 1px solid rgba(229,189,99,.28);
    background:
        linear-gradient(45deg, transparent 48.5%, rgba(229,189,99,.23) 49% 51%, transparent 51.5%),
        linear-gradient(-45deg, transparent 48.5%, rgba(229,189,99,.16) 49% 51%, transparent 51.5%);
    background-size: 56px 56px;
    clip-path: polygon(50% 0, 100% 20%, 90% 82%, 50% 100%, 10% 82%, 0 20%);
    opacity: .9;
    transition: transform .45s ease, opacity .45s ease;
}

.usy-portal-visual {
    position: absolute;
    top: 165px;
    right: 126px;
    display: grid;
    width: 94px;
    height: 94px;
    margin: 0;
    place-items: center;
    color: #e5bd63;
    border: 1px solid rgba(229,189,99,.42);
    border-radius: 20px;
    background: rgba(255,255,255,.055);
    box-shadow: inset 0 0 24px rgba(229,189,99,.08);
    transition: transform .3s ease, background-color .3s ease;
}

.usy-portal-login:hover .usy-portal-visual,
.usy-portal-denied:hover .usy-portal-visual {
    transform: translateY(-6px) rotate(3deg);
    background: rgba(229,189,99,.12);
}

.usy-portal-visual svg {
    width: 42px;
    height: 42px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.usy-portal-login:hover::before,
.usy-portal-denied:hover::before {
    transform: rotate(43deg) scale(1.05);
}

.usy-portal-login:hover::after,
.usy-portal-denied:hover::after {
    transform: translateY(-7px) rotate(2deg);
    opacity: 1;
}

.usy-portal-login h1,
.usy-portal-login h2,
.usy-portal-denied h1,
.usy-portal-denied h2 {
    color: #fff;
}

.usy-portal-login p,
.usy-portal-denied p,
.usy-portal-login label {
    color: #cbd6df;
}

.usy-portal-login > h1,
.usy-portal-login > h2,
.usy-portal-login > p,
.usy-portal-login form,
.usy-portal-denied > h1,
.usy-portal-denied > h2,
.usy-portal-denied > p,
.usy-portal-denied > a {
    max-width: 410px;
}

.usy-portal-login form {
    margin-top: 24px;
}

.usy-portal-login input:not([type="checkbox"]):not([type="submit"]) {
    width: min(100%, 380px);
    min-height: 40px;
    padding: 7px 11px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 5px;
    background: rgba(255,255,255,.96);
}

.usy-portal-login input[type="checkbox"] {
    width: 14px;
    height: 14px;
    min-height: 0;
    margin: 0 7px 0 0;
    vertical-align: -2px;
    accent-color: #e5bd63;
}

.usy-portal-login .login-remember {
    display: flex;
    align-items: center;
    gap: 2px;
    margin: 10px 0 17px;
    font-size: .9rem;
}

.usy-portal-login input[type="submit"],
.usy-portal-ticket button {
    min-height: 50px;
    padding: 12px 22px;
    color: #fff;
    border: 0;
    border-radius: 5px;
    background: #c89632;
    font-weight: 700;
    cursor: pointer;
}

.usy-client-portal {
    position: relative;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    padding: 42px max(18px, calc((100vw - 1320px) / 2)) 72px;
    background:
        radial-gradient(circle at 7% 15%, rgba(229,189,99,.13), transparent 18%),
        radial-gradient(circle at 94% 48%, rgba(16,38,60,.07), transparent 24%),
        linear-gradient(180deg, #f8f4ec 0%, #fffdf8 55%, #f5efe4 100%);
}

.usy-client-portal::before,
.usy-client-portal::after {
    content: "";
    position: absolute;
    width: 190px;
    height: 190px;
    border: 1px solid rgba(200,150,50,.2);
    pointer-events: none;
}

.usy-client-portal::before {
    top: 230px;
    left: -90px;
    transform: rotate(45deg);
}

.usy-client-portal::after {
    right: -105px;
    bottom: 220px;
    border-radius: 50%;
}

.usy-portal-hero {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(270px, .65fr);
    gap: clamp(32px, 6vw, 90px);
    align-items: center;
    min-height: 330px;
    overflow: hidden;
    margin: 0 0 22px;
    padding: clamp(34px, 5vw, 66px);
    color: #fff;
    border: 1px solid rgba(229,189,99,.34);
    border-radius: 24px;
    background:
        radial-gradient(circle at 85% 22%, rgba(229,189,99,.2), transparent 20%),
        linear-gradient(135deg, #102d49, #071522);
    box-shadow: 0 28px 70px rgba(7,21,34,.18);
}

.usy-portal-hero::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -130px;
    right: 23%;
    width: 300px;
    height: 300px;
    border: 1px solid rgba(229,189,99,.35);
    transform: rotate(45deg);
}

.usy-portal-hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    right: -70px;
    bottom: -130px;
    width: 310px;
    height: 310px;
    border-radius: 48% 52% 38% 62%;
    background: rgba(229,189,99,.06);
    border: 1px solid rgba(229,189,99,.24);
}

.usy-portal-hero-copy {
    max-width: 760px;
}

.usy-portal-hero h1 {
    margin: 10px 0 18px;
    color: #fff;
    font: 700 clamp(2.4rem, 4.6vw, 4.5rem)/1.04 Georgia, "Times New Roman", serif;
}

.usy-portal-hero-copy > p:last-child {
    max-width: 680px;
    color: #d4dde5;
    font-size: 1.05rem;
}

.usy-portal-hero-card {
    display: flex;
    min-height: 230px;
    flex-direction: column;
    justify-content: center;
    padding: 28px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 18px;
    background: rgba(255,255,255,.065);
    backdrop-filter: blur(10px);
    box-shadow: inset 0 0 30px rgba(229,189,99,.04);
    transition: transform .25s ease, background-color .25s ease;
}

.usy-portal-hero-card:hover {
    transform: translateY(-7px);
    background: rgba(255,255,255,.1);
}

.usy-portal-active {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #e5bd63;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.usy-portal-active i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #66d18f;
    box-shadow: 0 0 0 6px rgba(102,209,143,.12);
}

.usy-portal-hero-card strong {
    margin: 22px 0 7px;
    color: #fff;
    font: 700 1.45rem/1.25 Georgia, "Times New Roman", serif;
}

.usy-portal-hero-card small {
    color: #c8d2dc;
    font-size: .9rem;
    line-height: 1.65;
}

.usy-portal-hero-card .usy-button-secondary {
    align-self: flex-start;
    min-height: 42px;
    margin-top: 22px;
    padding: 9px 17px;
    color: #e5bd63;
    border-color: rgba(229,189,99,.65);
}

.usy-portal-overview {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 0 0 24px;
}

.usy-portal-overview article {
    display: flex;
    gap: 17px;
    align-items: center;
    padding: 20px 22px;
    border: 1px solid rgba(16,38,60,.12);
    border-radius: 14px;
    background: rgba(255,255,255,.85);
    box-shadow: 0 12px 34px rgba(16,38,60,.06);
    transition: transform .22s ease, border-color .22s ease;
}

.usy-portal-overview article:hover {
    transform: translateY(-5px);
    border-color: rgba(200,150,50,.55);
}

.usy-portal-overview article > span {
    display: grid;
    width: 48px;
    height: 48px;
    flex: 0 0 auto;
    place-items: center;
    color: #10263c;
    border-radius: 13px;
    background: #e8c46f;
    font-weight: 800;
}

.usy-portal-overview strong {
    color: #10263c;
}

.usy-portal-overview p {
    margin: 3px 0 0;
    color: #667482;
    font-size: .84rem;
    line-height: 1.5;
}

.usy-portal-section {
    position: relative;
    overflow: hidden;
    margin: 24px 0;
    padding: clamp(26px, 4vw, 46px);
    border: 1px solid rgba(16,38,60,.12);
    border-radius: 20px;
    background:
        radial-gradient(circle at 96% 10%, rgba(229,189,99,.14), transparent 18%),
        rgba(255,255,255,.94);
    box-shadow: 0 16px 44px rgba(16,38,60,.07);
}

.usy-portal-section-heading {
    display: grid;
    grid-template-columns: minmax(240px, .7fr) minmax(280px, 1fr);
    gap: 35px;
    align-items: end;
    margin-bottom: 28px;
}

.usy-portal-section-heading h2 {
    margin: 5px 0 0;
    color: #10263c;
    font: 700 clamp(1.9rem, 3vw, 2.8rem)/1.12 Georgia, "Times New Roman", serif;
}

.usy-portal-section-heading > p {
    margin: 0;
    color: #657382;
}

.usy-portal-grid {
    grid-template-columns: repeat(auto-fill, minmax(250px, 350px));
    align-items: stretch;
}

.usy-portal-grid article,
.usy-ticket-list article {
    display: flex;
    min-height: 220px;
    flex-direction: column;
    padding: 26px;
    border: 1px solid rgba(16,38,60,.13);
    border-top: 4px solid #c89632;
    border-radius: 14px;
    background: #fffdf8;
    box-shadow: 0 10px 28px rgba(16,38,60,.055);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.usy-portal-grid article:hover,
.usy-ticket-list article:hover {
    transform: translateY(-7px);
    border-color: rgba(200,150,50,.62);
    box-shadow: 0 20px 38px rgba(16,38,60,.12);
}

.usy-portal-grid article h3,
.usy-ticket-list article h3 {
    margin: 18px 0 8px;
    color: #10263c;
    font: 700 1.45rem/1.2 Georgia, "Times New Roman", serif;
}

.usy-portal-grid article > div {
    color: #667482;
}

.usy-portal-grid span,
.usy-ticket-list span {
    color: #c89632;
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
}

.usy-portal-grid a {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    min-height: 42px;
    margin-top: auto;
    padding: 9px 15px;
    border: 1px solid rgba(200,150,50,.55);
    border-radius: 6px;
    color: #c89632;
    font-weight: 700;
    transition: transform .2s ease, color .2s ease, background-color .2s ease;
}

.usy-portal-grid a:hover {
    transform: translateX(4px);
    color: #fff;
    background: #c89632;
}

.usy-portal-ticket {
    display: grid;
    gap: 18px;
    max-width: 720px;
}

.usy-portal-ticket label {
    display: grid;
    gap: 7px;
    font-weight: 700;
}

.usy-portal-ticket input,
.usy-portal-ticket textarea {
    width: 100%;
    padding: 13px;
    border: 1px solid rgba(16,38,60,.2);
    border-radius: 7px;
    background: #fffdf8;
}

.usy-portal-support {
    background:
        linear-gradient(110deg, rgba(229,189,99,.13), transparent 40%),
        #fff;
}

.usy-portal-notice {
    margin: 18px 0;
    padding: 16px;
    border-left: 4px solid #c89632;
    background: #f7f3eb;
}

.usy-home-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}

.usy-home-company,
.usy-section-heading-split {
    display: grid;
    grid-template-columns: .75fr 1.65fr;
    gap: clamp(45px, 7vw, 120px);
    align-items: center;
}

.elementor-element.usy-home-company,
.elementor-element.usy-home-business {
    padding-block: 78px;
}

.usy-home-company > div:first-child,
.usy-section-heading-split > .usy-kicker {
    align-self: center;
}

.usy-home-company > div:first-child .usy-kicker,
.usy-section-heading-split > .usy-kicker {
    display: flex;
    align-items: center;
    gap: 22px;
    margin: 0;
    color: #b87f18;
    font-size: clamp(.95rem, 1.15vw, 1.12rem);
    letter-spacing: .16em;
}

.usy-home-company > div:first-child .usy-kicker::after,
.usy-section-heading-split > .usy-kicker::after {
    content: "";
    width: 64px;
    height: 2px;
    background: #c89632;
}

.usy-home-company .elementor-heading-title,
.usy-section-heading-split .elementor-heading-title {
    margin-top: 0;
}

.usy-home-company .usy-text-link {
    display: inline-block;
    margin-top: 8px;
}

.usy-section-heading-split {
    margin-bottom: 55px;
}

.usy-section-heading-split > div > p {
    color: #5f6d7b;
}

.usy-button-primary,
.usy-button-secondary {
    display: inline-flex;
    align-items: center;
    min-height: 54px;
    padding: 15px 24px;
    border: 1px solid #c89632;
    border-radius: 5px;
    font-weight: 700;
    transition: transform .22s ease, box-shadow .22s ease, color .22s ease, background-color .22s ease;
}

.usy-button-primary {
    color: #fff;
    background: #c89632;
}

.usy-button-secondary {
    color: #c89632;
    background: transparent;
}

.usy-button-primary:hover,
.usy-button-primary:focus-visible,
.usy-button-secondary:hover,
.usy-button-secondary:focus-visible {
    transform: translateY(-4px);
    box-shadow: 0 14px 28px rgba(16, 38, 60, .15);
}

.usy-button-secondary:hover,
.usy-button-secondary:focus-visible {
    color: #fff;
    background: #c89632;
}

.usy-intro-copy {
    max-width: 820px;
    margin-bottom: 42px;
}

.usy-business-preview {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 20px;
}

.usy-business-preview article {
    grid-column: span 2;
    min-height: 355px;
    padding: 30px;
    border: 1px solid rgba(16, 38, 60, .14);
    background: #fff;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.usy-business-preview article:hover,
.usy-business-preview article:focus-within {
    z-index: 2;
    transform: translateY(-9px);
    border-color: rgba(200, 150, 50, .75);
    box-shadow: 0 22px 44px rgba(16, 38, 60, .13);
}

.usy-business-preview article:nth-child(4) {
    grid-column: 2 / span 2;
}

.usy-business-preview article > span {
    display: block;
    color: rgba(16, 38, 60, .14);
    font: 700 3.2rem/1 Georgia, "Times New Roman", serif;
}

.usy-business-preview article > p {
    margin-top: 45px;
    color: #c89632;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.usy-business-preview h3 {
    color: #10263c;
    font: 700 1.65rem/1.2 Georgia, "Times New Roman", serif;
}

.usy-business-preview a,
.usy-business-row a {
    color: #c89632;
    font-weight: 700;
}

.usy-business-preview a {
    display: inline-block;
    transition: transform .2s ease, color .2s ease;
}

.usy-business-preview article:hover a,
.usy-business-preview a:focus-visible {
    color: #9d6912;
    transform: translateX(6px);
}

.usy-home-about .elementor-heading-title {
    max-width: 920px;
    color: #fff !important;
}

.usy-home-why {
    display: grid;
    grid-template-columns: .85fr 1.4fr;
    gap: clamp(55px, 8vw, 135px);
}

.usy-home-why-intro > p:last-child {
    color: #c3ccd5;
    font-size: 1.05rem;
    line-height: 1.8;
}

.usy-home-why-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid rgba(255, 255, 255, .16);
    border-left: 1px solid rgba(255, 255, 255, .16);
}

.usy-home-why-grid article {
    min-height: 245px;
    padding: 42px;
    border-right: 1px solid rgba(255, 255, 255, .16);
    border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.usy-home-why-grid span {
    color: #e5bd63;
    font-size: .78rem;
}

.usy-home-why-grid h3 {
    margin: 50px 0 14px;
    color: #fff;
    font: 700 1.65rem/1.2 Georgia, "Times New Roman", serif;
}

.usy-home-why-grid p {
    margin: 0;
    color: #c3ccd5;
    line-height: 1.7;
}

.usy-home-cta {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
    color: #fff;
    border: 1px solid rgba(229, 189, 99, .24);
    background: linear-gradient(118deg, #0b2034 0%, #102f4b 100%);
}

.usy-home-cta::before,
.usy-home-cta::after {
    content: "";
    position: absolute;
    z-index: -1;
    border: 1px solid rgba(229, 189, 99, .5);
    transform: rotate(45deg);
}

.usy-home-cta::before {
    width: 360px;
    height: 360px;
    top: -310px;
    left: 58%;
}

.usy-home-cta::after {
    width: 210px;
    height: 210px;
    right: -140px;
    bottom: -150px;
}

.usy-home-cta .elementor-heading-title {
    max-width: 850px;
    margin-bottom: 0;
    color: #fff !important;
    text-shadow: 0 2px 20px rgba(0, 0, 0, .12);
}

.usy-cta-button {
    display: inline-flex;
    min-width: 270px;
    min-height: 70px;
    padding: 20px 32px;
    align-items: center;
    justify-content: space-between;
    color: #071522;
    border-radius: 8px;
    background: #e5bd63;
    font-weight: 700;
    box-shadow: 0 16px 34px rgba(0, 0, 0, .16);
    transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease;
}

.usy-cta-button:hover,
.usy-cta-button:focus-visible {
    color: #071522;
    background: #f2cd76;
    transform: translateY(-5px) scale(1.015);
    box-shadow: 0 22px 42px rgba(0, 0, 0, .24);
}

.usy-home-latest .usy-blog-card {
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.usy-home-latest .usy-blog-card:hover,
.usy-home-latest .usy-blog-card:focus-within {
    transform: translateY(-9px);
    border-color: rgba(200, 150, 50, .7);
    box-shadow: 0 22px 44px rgba(16, 38, 60, .14);
}

.usy-home-latest .usy-blog-card a {
    display: inline-block;
    transition: transform .2s ease;
}

.usy-home-latest .usy-blog-card:hover a,
.usy-home-latest .usy-blog-card a:focus-visible {
    transform: translateX(6px);
}

.usy-home-solution {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: clamp(50px, 7vw, 110px);
    align-items: center;
    background: #f7f3eb;
    border-block: 1px solid rgba(16, 38, 60, .14);
}

.usy-home-solution-copy > p:not(.usy-kicker) {
    max-width: 720px;
    color: #5f6d7b;
    font-size: 1.05rem;
    line-height: 1.8;
}

.usy-solution-summary {
    display: grid;
    border-top: 1px solid rgba(16, 38, 60, .15);
    border-left: 1px solid rgba(16, 38, 60, .15);
}

.usy-solution-summary article {
    padding: 28px 32px;
    border-right: 1px solid rgba(16, 38, 60, .15);
    border-bottom: 1px solid rgba(16, 38, 60, .15);
    background: rgba(255, 255, 255, .58);
    transition: transform .22s ease, background-color .22s ease, box-shadow .22s ease;
}

.usy-solution-summary article:hover {
    z-index: 2;
    background: #fff;
    transform: translateX(-7px);
    box-shadow: 0 18px 36px rgba(16, 38, 60, .12);
}

.usy-solution-summary span,
.usy-problem-grid span,
.usy-module-grid span,
.usy-service-list span {
    color: #c89632;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .1em;
}

.usy-solution-summary h3 {
    margin: 9px 0 6px;
    color: #10263c;
    font: 700 1.35rem/1.2 Georgia, "Times New Roman", serif;
}

.usy-solution-summary p {
    margin: 0;
    color: #5f6d7b;
    line-height: 1.65;
}

.usy-solutions-hero .usy-button-primary {
    margin-top: 24px;
}

.usy-solutions-heading {
    display: grid;
    grid-template-columns: .65fr 1.55fr;
    gap: clamp(40px, 7vw, 110px);
    align-items: center;
    margin-bottom: 48px;
}

.usy-solutions-heading .elementor-heading-title {
    margin: 0;
}

.usy-problem-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.usy-problem-grid article {
    min-height: 270px;
    padding: 30px;
    border: 1px solid rgba(16, 38, 60, .14);
    background: #fff;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.usy-problem-grid article:hover {
    transform: translateY(-8px);
    border-color: rgba(200, 150, 50, .7);
    box-shadow: 0 20px 40px rgba(16, 38, 60, .13);
}

.usy-problem-grid h3 {
    margin: 44px 0 14px;
    color: #10263c;
    font: 700 1.55rem/1.2 Georgia, "Times New Roman", serif;
}

.usy-problem-grid p {
    color: #5f6d7b;
    line-height: 1.7;
}

.usy-erp-intro,
.usy-solution-fit {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(50px, 8vw, 130px);
    align-items: center;
}

.usy-erp-intro > div:last-child {
    color: #c3ccd5;
    font-size: 1.08rem;
    line-height: 1.8;
}

.usy-module-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.usy-module-grid article {
    min-height: 150px;
    padding: 26px;
    border: 1px solid rgba(16, 38, 60, .14);
    background: #fff;
    transition: transform .22s ease, box-shadow .22s ease;
}

.usy-module-grid article:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 32px rgba(16, 38, 60, .11);
}

.usy-module-grid h3 {
    margin: 35px 0 0;
    color: #10263c;
    font-size: 1rem;
}

.usy-service-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid rgba(16, 38, 60, .14);
    border-left: 1px solid rgba(16, 38, 60, .14);
}

.usy-service-list article {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 20px;
    min-height: 105px;
    padding: 25px;
    align-items: center;
    border-right: 1px solid rgba(16, 38, 60, .14);
    border-bottom: 1px solid rgba(16, 38, 60, .14);
    transition: color .2s ease, background-color .2s ease;
}

.usy-service-list article:hover {
    background: #f7f3eb;
}

.usy-service-list p {
    margin: 0;
    color: #425466;
}

.usy-step-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    padding: 0;
    margin: 0;
    counter-reset: usy-step;
    list-style: none;
    background: rgba(255, 255, 255, .14);
}

.usy-step-grid li {
    min-height: 145px;
    padding: 28px;
    color: #fff;
    background: #091a2b;
    counter-increment: usy-step;
}

.usy-step-grid li::before {
    display: block;
    margin-bottom: 28px;
    color: #e5bd63;
    content: counter(usy-step, decimal-leading-zero);
    font-size: .76rem;
}

.usy-solution-fit ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.usy-solution-fit li {
    padding: 17px 20px;
    color: #425466;
    border: 1px solid rgba(16, 38, 60, .14);
    background: #fff;
}

.usy-solution-faq {
    max-width: 980px;
    margin-inline: auto;
    border-top: 1px solid rgba(16, 38, 60, .16);
}

.usy-solution-faq details {
    border-bottom: 1px solid rgba(16, 38, 60, .16);
}

.usy-solution-faq summary {
    position: relative;
    padding: 24px 50px 24px 0;
    color: #10263c;
    cursor: pointer;
    font-weight: 700;
    list-style: none;
}

.usy-solution-faq summary::-webkit-details-marker {
    display: none;
}

.usy-solution-faq summary::after {
    content: "+";
    position: absolute;
    top: 20px;
    right: 8px;
    color: #c89632;
    font-size: 1.6rem;
    transition: transform .2s ease;
}

.usy-solution-faq details[open] summary::after {
    transform: rotate(45deg);
}

.usy-solution-faq p {
    max-width: 820px;
    padding: 0 45px 24px 0;
    margin: 0;
    color: #5f6d7b;
    line-height: 1.75;
}

.usy-home-about-grid {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 80px;
    align-items: end;
}

.usy-home-about-grid .elementor-widget-text-editor {
    font-size: 1.05rem;
}

.usy-text-link {
    color: #c89632 !important;
    font-weight: 700;
}

.usy-section-heading-row {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 42px;
}

.usy-section-heading-row .elementor-heading-title {
    margin-bottom: 0;
}

.usy-business-list {
    padding-top: 40px !important;
}

.usy-business-row {
    display: grid;
    grid-template-columns: 110px 1fr 1fr;
    gap: 50px;
    padding: 65px 0;
    border-bottom: 1px solid rgba(16, 38, 60, .14);
}

.usy-business-number {
    color: rgba(16, 38, 60, .14);
    font: 700 4rem/1 Georgia, "Times New Roman", serif;
}

.usy-business-row h2 {
    margin: 10px 0 0;
    color: #10263c;
    font: 700 clamp(2rem,3vw,3.2rem)/1.08 Georgia, "Times New Roman", serif;
}

.usy-business-row h3 {
    margin-top: 30px;
    color: #10263c;
    font-size: .78rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.usy-business-row > div:last-child > p,
.usy-business-row li {
    color: #5f6d7b;
}

.usy-business-row ul {
    padding-left: 20px;
}

.usy-structure {
    padding: 100px max(48px, calc((100vw - 1240px) / 2));
    background: #f7f3eb;
    border-block: 1px solid rgba(16, 38, 60, .14);
}

.usy-structure-heading {
    max-width: 760px;
    margin-bottom: 48px;
}

.usy-structure-heading h2 {
    margin: 8px 0 18px;
    color: #10263c;
    font: 700 clamp(2.2rem, 4vw, 3.8rem)/1.08 Georgia, "Times New Roman", serif;
    letter-spacing: -.035em;
}

.usy-structure-heading > p:last-child {
    color: #5f6d7b;
    font-size: 1.05rem;
}

.usy-structure-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 28px;
    max-width: 1180px;
    margin-inline: auto;
    justify-content: center;
    align-items: stretch;
}

.usy-person {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(16, 38, 60, .14);
    grid-column: span 2;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.usy-person:hover {
    transform: translateY(-9px);
    border-color: rgba(200, 150, 50, .72);
    box-shadow: 0 22px 44px rgba(16, 38, 60, .13);
}

.usy-person.usy-commissioner {
    grid-column: 3 / span 2;
    grid-row: 1;
}

.usy-person.usy-president {
    grid-column: 1 / span 2;
    grid-row: 2;
}

.usy-person.usy-general {
    grid-column: 3 / span 2;
    grid-row: 2;
}

.usy-person.usy-production {
    grid-column: 5 / span 2;
    grid-row: 2;
}

.usy-person.usy-marketing {
    grid-column: 2 / span 2;
    grid-row: 3;
}

.usy-person.usy-finance {
    grid-column: 4 / span 2;
    grid-row: 3;
}

.usy-person img {
    display: block;
    width: 100%;
    height: 330px;
    object-fit: cover;
    object-position: center top;
}

/* Bingkai dan titik fokus dibuat konsisten. Semua foto dipotong dari sisi atas
   sehingga ruang kosong asli tidak menggeser tinggi kepala antar-kartu. */
.usy-person.usy-commissioner img { object-position: center 12%; }
.usy-person.usy-president img { object-position: center top; }
.usy-person.usy-general img { object-position: center top; }
.usy-person.usy-production img { object-position: center top; }
.usy-person.usy-marketing img { object-position: center top; }
.usy-person.usy-finance img { object-position: center top; }

.usy-erp-category {
    margin-top: 34px;
    padding: clamp(24px, 4vw, 40px);
    border: 1px solid rgba(16, 38, 60, .14);
    background: #fff;
}

.usy-product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 28px;
}

.usy-product-grid-single {
    grid-template-columns: minmax(0, 1fr);
}

.usy-product-grid article,
.usy-module-grid article {
    min-width: 0;
    padding: 28px;
    border: 1px solid rgba(16, 38, 60, .14);
    background: #fff;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.usy-product-grid article:hover,
.usy-module-grid article:hover {
    transform: translateY(-7px);
    border-color: rgba(200, 150, 50, .72);
    box-shadow: 0 18px 36px rgba(16, 38, 60, .12);
}

.usy-product-grid span,
.usy-module-grid span {
    color: #c89632;
    font-size: .78rem;
    font-weight: 700;
}

.usy-product-grid h3,
.usy-module-grid h3 {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
    color: #10263c;
    font: 700 1.45rem/1.2 Georgia, "Times New Roman", serif;
}

.usy-product-grid h3 {
    font-size: clamp(1.18rem, 1.65vw, 1.45rem);
}

.usy-product-grid p,
.usy-module-grid p {
    color: #5f6d7b;
}

.usy-module-panel {
    margin-top: 34px;
    padding: clamp(26px, 3.5vw, 42px);
    color: #fff;
    background: #10263c;
}

.usy-module-panel > .elementor-heading-title {
    max-width: 780px;
    color: #fff !important;
    background: transparent !important;
}

.usy-solutions-page .usy-module-panel > h2.elementor-heading-title,
.usy-solutions-page .usy-module-panel h2,
.usy-solutions-page .usy-module-panel h2.elementor-heading-title,
.usy-solutions-page section.usy-module-panel > h2 {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: transparent !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

.usy-module-panel > p:not(.usy-kicker) {
    max-width: 820px;
    color: #c8d2dc;
}

.usy-module-panel .usy-module-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 24px;
}

.usy-module-panel .usy-module-grid article {
    display: flex;
    min-height: 0;
    aspect-ratio: 1 / 1;
    flex-direction: column;
    justify-content: flex-start;
    padding: 20px;
    border-color: rgba(255,255,255,.15);
    background: rgba(255,255,255,.035);
}

.usy-module-panel .usy-module-grid h3 {
    margin: 18px 0 8px;
    color: #fff;
    font-size: clamp(1.12rem, 1.45vw, 1.4rem);
}

.usy-module-panel .usy-module-grid p {
    margin: 0;
    color: #c8d2dc;
    font-size: .86rem;
    line-height: 1.55;
}

.usy-service-list article {
    align-items: flex-start;
}

.usy-service-list article h3 {
    margin: 0 0 8px;
    color: #10263c;
    font: 700 1.35rem/1.25 Georgia, "Times New Roman", serif;
}

.usy-portal-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
    overflow: hidden;
}

.usy-portal-cta > div {
    max-width: 820px;
}

.usy-portal-cta > div > p:last-child {
    color: #c8d2dc;
}

.usy-portal-cta .usy-cta-button {
    flex: 0 0 auto;
    color: #10263c;
    background: #e5bd63;
}

.usy-person-copy {
    display: flex;
    flex: 1;
    min-height: 255px;
    flex-direction: column;
    padding: 26px;
}

.usy-person-role {
    margin: 0 0 7px;
    color: #c89632;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.usy-person-copy h3 {
    margin: 0 0 13px;
    color: #10263c;
    font: 700 1.45rem/1.2 Georgia, "Times New Roman", serif;
}

.usy-person-copy > p:last-child {
    margin: 0;
    color: #5f6d7b;
    font-size: .92rem;
    line-height: 1.7;
}

@media (max-width: 1024px) {
    .usy-business-preview article,
    .usy-business-preview article:nth-child(4) {
        grid-column: span 3;
    }

    .usy-business-row {
        grid-template-columns: 80px 1fr;
    }

    .usy-business-row > div:last-child {
        grid-column: 2;
    }

    .usy-structure-grid,
    .usy-module-panel .usy-module-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .usy-structure-grid .usy-person {
        grid-column: auto;
        grid-row: auto;
    }

    .usy-structure-grid .usy-commissioner,
    .usy-structure-grid .usy-finance {
        grid-column: 1 / -1;
        grid-row: auto;
        width: min(100%, 450px);
        justify-self: center;
    }

    .usy-module-panel .usy-module-grid article {
        aspect-ratio: auto;
        min-height: 210px;
    }
}

@media (max-width: 767px) {
    .usy-portal-login,
    .usy-portal-denied {
        min-height: 0;
        padding: 28px 24px;
    }

    .usy-portal-login::after,
    .usy-portal-denied::after {
        top: auto;
        right: -54px;
        bottom: -82px;
        width: 190px;
        height: 220px;
        opacity: .42;
    }

    .usy-portal-visual {
        position: static;
        width: 70px;
        height: 70px;
        margin: 0 0 22px auto;
    }

    .usy-hero-badge {
        top: 22px;
        left: 18px;
        width: 112px;
        min-height: 126px;
        padding: 14px;
    }

    .usy-hero-badge .elementor-heading-title {
        font-size: 2.8rem;
    }

    .elementor-element.usy-editable-grid-business,
    .elementor-element.usy-editable-grid-3,
    .elementor-element.usy-editable-grid-modules,
    .elementor-element.usy-editable-grid-why,
    .elementor-element.usy-leadership-grid,
    .elementor-element.usy-module-grid {
        grid-template-columns: 1fr;
    }

    .elementor-element.usy-leadership-grid > .usy-leader-card,
    .elementor-element.usy-leadership-grid > .usy-leader-card:first-child,
    .elementor-element.usy-leadership-grid > .usy-leader-card:last-child {
        grid-column: 1;
    }

    .usy-module-order ol,
    .usy-portal-feature-list,
    .usy-portal-grid,
    .usy-ticket-list {
        grid-template-columns: 1fr;
    }

    .usy-portal-hero {
        align-items: stretch;
        grid-template-columns: 1fr;
        min-height: 0;
        padding: 28px 22px;
        border-radius: 16px;
    }

    .usy-client-portal {
        padding-top: 22px;
        padding-bottom: 46px;
    }

    .usy-portal-hero-card {
        min-height: 0;
    }

    .usy-portal-overview,
    .usy-portal-section-heading {
        grid-template-columns: 1fr;
    }

    .usy-portal-section-heading {
        gap: 10px;
    }

    .usy-portal-grid {
        grid-template-columns: 1fr;
    }

    .usy-editable-grid-business > .usy-editable-card,
    .usy-editable-grid-business > .usy-editable-card:nth-child(4) {
        grid-column: 1;
    }

    .usy-editable-card {
        padding: 24px;
    }

    .usy-leadership-grid {
        gap: 22px;
        margin-top: 30px;
    }

    .usy-leader-card {
        padding: 0;
    }

    .usy-client-portal-intro {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .usy-client-portal-intro .elementor-widget-button {
        justify-self: start;
    }

    .usy-blog-filters {
        gap: 8px;
        margin-bottom: 30px;
    }

    .usy-blog-filters a {
        padding: 9px 15px;
        font-size: .88rem;
    }

    .usy-structure {
        padding: 70px 18px;
    }

    .usy-structure-grid {
        grid-template-columns: 1fr;
        max-width: 450px;
        margin-inline: auto;
    }

    .usy-structure-grid .usy-person,
    .usy-structure-grid .usy-commissioner,
    .usy-structure-grid .usy-finance {
        grid-column: 1;
        width: 100%;
    }

    .usy-product-grid,
    .usy-module-panel .usy-module-grid {
        grid-template-columns: 1fr;
    }

    .usy-portal-cta {
        align-items: flex-start;
        flex-direction: column;
        gap: 26px;
    }

    .usy-person,
    .usy-person.usy-commissioner {
        grid-column: 1;
    }

    .usy-person img {
        height: 360px;
    }

    .usy-person-copy {
        min-height: 0;
    }

    .usy-home-company,
    .usy-section-heading-split,
    .usy-home-why,
    .usy-home-solution,
    .usy-solutions-heading,
    .usy-erp-intro,
    .usy-solution-fit {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .elementor-element.usy-home-company,
    .elementor-element.usy-home-business {
        padding-block: 62px;
    }

    .usy-home-company > div:first-child .usy-kicker,
    .usy-section-heading-split > .usy-kicker {
        font-size: .9rem;
    }

    .usy-home-why-grid {
        grid-template-columns: 1fr;
    }

    .usy-home-why-grid article {
        min-height: 0;
        padding: 30px 24px;
    }

    .usy-home-why-grid h3 {
        margin-top: 28px;
    }

    .usy-home-cta {
        align-items: stretch;
        flex-direction: column;
    }

    .usy-cta-button {
        min-width: 0;
        width: 100%;
    }

    .usy-problem-grid,
    .usy-module-grid,
    .usy-service-list,
    .usy-step-grid,
    .usy-solution-fit ul {
        grid-template-columns: 1fr;
    }

    .usy-problem-grid article {
        min-height: 0;
    }

    .usy-business-preview {
        grid-template-columns: 1fr;
    }

    .usy-business-preview article,
    .usy-business-preview article:nth-child(4) {
        grid-column: 1;
        min-height: 0;
    }

    .usy-home-about-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .usy-section-heading-row {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 30px;
    }

    .usy-business-row {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 48px 0;
    }

    .usy-business-row > div:last-child {
        grid-column: 1;
    }

    .usy-business-number {
        font-size: 3.2rem;
    }
}

/* -------------------------------------------------------------------------- */
/* Portal experience v2.1.0                                                   */
/* -------------------------------------------------------------------------- */

.usy-portal-cta {
    position: relative;
    isolation: isolate;
    min-height: 360px;
    padding-right: clamp(28px, 4vw, 64px);
    background:
        radial-gradient(circle at 73% 28%, rgba(229,189,99,.18), transparent 16%),
        linear-gradient(135deg, transparent 0 57%, rgba(255,255,255,.035) 57% 58%, transparent 58%),
        #10263c;
}

.usy-portal-cta::before,
.usy-portal-cta::after {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
    transition: transform .5s ease, opacity .5s ease;
}

.usy-portal-cta::before {
    left: -68px;
    bottom: -100px;
    width: 230px;
    height: 230px;
    border: 1px solid rgba(229,189,99,.38);
    border-radius: 50%;
}

.usy-portal-cta::after {
    top: -115px;
    right: 29%;
    width: 250px;
    height: 250px;
    border: 1px solid rgba(229,189,99,.42);
    transform: rotate(45deg);
}

.usy-portal-cta:hover::before {
    transform: translate(12px, -10px) scale(1.04);
}

.usy-portal-cta:hover::after {
    transform: translateY(12px) rotate(50deg);
}

.usy-portal-cta > div:first-child {
    position: relative;
    z-index: 2;
    max-width: 720px;
}

.usy-portal-cta-mascot {
    position: relative;
    z-index: 2;
    width: clamp(150px, 17vw, 225px);
    flex: 0 0 auto;
    filter: drop-shadow(0 18px 25px rgba(1,12,22,.3));
    animation: usy-mascot-float 4.8s ease-in-out infinite;
}

.usy-portal-cta-mascot img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    border: 1px solid rgba(229,189,99,.55);
    border-radius: 42% 42% 18% 18%;
    object-fit: cover;
}

.usy-portal-cta-mascot span {
    position: absolute;
    top: 3px;
    right: -18px;
    padding: 8px 11px;
    color: #10263c;
    border-radius: 12px 12px 12px 2px;
    background: #fffdf8;
    box-shadow: 0 8px 18px rgba(0,0,0,.12);
    font-size: .72rem;
    font-weight: 800;
}

.usy-portal-login-mascot {
    position: absolute;
    z-index: 1;
    right: 38px;
    bottom: 34px;
    width: 255px;
    filter: drop-shadow(0 20px 30px rgba(0,0,0,.28));
    animation: usy-mascot-float 4.8s ease-in-out infinite;
}

.usy-portal-login-mascot img {
    display: block;
    width: 100%;
    border: 1px solid rgba(229,189,99,.42);
    border-radius: 50% 50% 18% 18%;
}

.usy-portal-login .usy-portal-visual {
    top: 98px;
    right: 82px;
    z-index: 2;
    width: 72px;
    height: 72px;
}

.usy-login-badges {
    display: flex;
    max-width: 410px;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

.usy-login-badges span {
    padding: 6px 10px;
    color: #e8c46f;
    border: 1px solid rgba(229,189,99,.3);
    border-radius: 999px;
    background: rgba(255,255,255,.045);
    font-size: .72rem;
    font-weight: 700;
}

.usy-password-field {
    position: relative;
    display: block;
    width: min(100%, 380px);
}

.usy-password-field #user_pass {
    width: 100%;
    padding-right: 106px;
}

.usy-password-toggle {
    position: absolute;
    top: 50%;
    right: 7px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 7px;
    color: #263d52;
    border: 0;
    border-radius: 4px;
    background: transparent;
    font-size: .72rem;
    font-weight: 700;
    cursor: pointer;
    transform: translateY(-50%);
}

.usy-password-toggle:hover,
.usy-password-toggle:focus-visible {
    color: #10263c;
    background: #efe6d7;
}

.usy-password-eye {
    position: relative;
    display: block;
    width: 17px;
    height: 11px;
    border: 1.5px solid currentColor;
    border-radius: 50% / 60%;
}

.usy-password-eye::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: currentColor;
    transform: translate(-50%, -50%);
}

.usy-remember-help {
    max-width: 390px !important;
    margin: -8px 0 0 !important;
    color: #8fa2b3 !important;
    font-size: .72rem;
    line-height: 1.45;
}

.usy-portal-support {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr);
    gap: 30px 48px;
}

.usy-portal-support .usy-portal-section-heading,
.usy-portal-support .usy-ticket-list {
    grid-column: 1 / -1;
}

.usy-ticket-mascot {
    position: relative;
    display: flex;
    min-height: 310px;
    align-items: flex-end;
    overflow: hidden;
    padding: 24px;
    border: 1px solid rgba(16,38,60,.12);
    border-radius: 18px;
    background:
        linear-gradient(180deg, transparent 0 55%, rgba(16,38,60,.92) 55%),
        #f7f3eb;
    box-shadow: 0 12px 30px rgba(16,38,60,.08);
}

.usy-ticket-mascot::before {
    content: "";
    position: absolute;
    top: -55px;
    right: -45px;
    width: 150px;
    height: 150px;
    border: 1px solid rgba(200,150,50,.4);
    border-radius: 50%;
}

.usy-ticket-mascot img {
    position: absolute;
    top: 12px;
    left: 50%;
    width: 185px;
    border-radius: 50%;
    transform: translateX(-50%);
    transition: transform .35s ease;
}

.usy-ticket-mascot:hover img {
    transform: translateX(-50%) translateY(-7px) rotate(-2deg);
}

.usy-ticket-mascot div {
    position: relative;
    z-index: 1;
    color: #fff;
}

.usy-ticket-mascot strong {
    display: block;
    margin-bottom: 5px;
    color: #e8c46f;
}

.usy-ticket-mascot p {
    margin: 0;
    color: #d4dde5;
    font-size: .84rem;
    line-height: 1.55;
}

/* Menyamakan garis wajah tanpa meminta pengguna mengolah ulang foto sumber. */
.usy-person img {
    height: 360px;
    background: #d7d2cf;
    transition: transform .35s ease;
}

.usy-person.usy-president img { transform: scale(1.13) translateY(-20px); }
.usy-person.usy-general img { transform: scale(1.06) translateY(-7px); }
.usy-person.usy-production img { transform: scale(1.08) translateY(30px); }
.usy-person.usy-marketing img { transform: scale(1.04) translateY(10px); }
.usy-person.usy-finance img { transform: scale(1.05) translateY(-5px); }

@keyframes usy-mascot-float {
    0%, 100% { transform: translateY(0) rotate(0); }
    50% { transform: translateY(-9px) rotate(1deg); }
}

@media (max-width: 1024px) {
    .usy-portal-cta-mascot {
        width: 165px;
    }

    .usy-portal-login-mascot {
        right: 22px;
        width: 220px;
        opacity: .9;
    }

    .usy-portal-support {
        grid-template-columns: 1fr;
    }

    .usy-ticket-mascot {
        min-height: 280px;
    }
}

@media (max-width: 767px) {
    .usy-portal-cta {
        min-height: 0;
    }

    .usy-portal-cta-mascot {
        width: 145px;
        margin-inline: auto;
        order: 2;
    }

    .usy-portal-cta .usy-cta-button {
        order: 3;
    }

    .usy-portal-login-mascot {
        position: relative;
        right: auto;
        bottom: auto;
        width: 150px;
        margin: 0 0 20px auto;
    }

    .usy-portal-login .usy-portal-visual {
        display: none;
    }

    .usy-ticket-mascot {
        min-height: 270px;
    }

    .usy-person img {
        height: 330px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .usy-portal-cta-mascot,
    .usy-portal-login-mascot {
        animation: none;
    }

    .usy-ticket-mascot img,
    .usy-portal-cta::before,
    .usy-portal-cta::after {
        transition: none;
    }
}

/* Portal dan dukungan v2.4.0 */
.usy-portal-login {
    overflow: hidden;
    padding: clamp(28px, 5vw, 58px) !important;
    border: 1px solid rgba(229,189,99,.35);
    border-radius: 20px;
    background:
        radial-gradient(circle at var(--usy-x, 78%) var(--usy-y, 22%), rgba(229,189,99,.17), transparent 25%),
        linear-gradient(135deg, #102d49, #071522) !important;
    box-shadow: 0 28px 70px rgba(7,21,34,.2);
}
.usy-portal-login form {
    display: grid;
    gap: 14px;
    width: min(100%, 520px);
}
.usy-portal-login form > label { display: grid; gap: 7px; }
.usy-portal-login input:not([type="checkbox"]) {
    min-height: 50px !important;
    border-radius: 8px !important;
}
.usy-password-field { position: relative; display: block; }
.usy-password-field input { width: 100%; padding-right: 108px !important; }
.usy-password-toggle {
    position: absolute;
    right: 8px;
    top: 50%;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 9px !important;
    color: #10263c !important;
    border: 0 !important;
    background: transparent !important;
    transform: translateY(-50%);
}
.usy-login-submit {
    position: relative;
    z-index: 2;
    display: inline-flex !important;
    width: fit-content !important;
    min-width: 148px;
    min-height: 50px;
    margin: 2px 0 0 !important;
    padding: 12px 24px !important;
    align-items: center;
    justify-content: center;
    color: #071522 !important;
    border: 1px solid #e5bd63 !important;
    border-radius: 8px !important;
    background: #d39b2e !important;
    font-weight: 800;
    transition: transform .24s ease, box-shadow .24s ease, background .24s ease;
}
.usy-login-submit:hover { background: #e5bd63 !important; transform: translateY(-3px); box-shadow: 0 14px 28px rgba(229,189,99,.24); }
.usy-remember-help {
    position: relative;
    z-index: 1;
    clear: both;
    max-width: 520px;
    margin: 12px 0 0 !important;
    padding: 11px 14px;
    border-left: 2px solid #d39b2e;
    background: rgba(255,255,255,.045);
    color: #aebdca !important;
    font-size: .82rem;
    line-height: 1.55;
}
.usy-login-options a { color: #e8c46f !important; text-underline-offset: 4px; transition: color .2s ease, transform .2s ease; }
.usy-login-options a:hover { color: #fff !important; transform: translateX(-3px); }
.usy-security-orbit {
    transform: translate(calc(-50% + var(--usy-shift-x, 0px)), var(--usy-shift-y, 0px)) rotate(13deg);
}
.usy-portal-login:hover .usy-security-orbit {
    transform: translate(calc(-50% + var(--usy-shift-x, 0px)), var(--usy-shift-y, 0px)) rotate(21deg) scale(1.045);
}
.usy-portal-hero-art,
.usy-ticket-guide-art { transform: translate(var(--usy-shift-x, 0px), var(--usy-shift-y, 0px)); transition: transform .18s ease-out; }

.usy-ticket-thread {
    padding: clamp(22px, 4vw, 42px);
    border-radius: 18px;
    box-shadow: 0 18px 44px rgba(16,38,60,.08);
}
.usy-ticket-thread article {
    max-width: 82%;
    margin: 14px 0;
    padding: 16px 18px;
    border: 1px solid rgba(16,38,60,.1);
    border-radius: 14px;
    background: #fff;
}
.usy-ticket-thread article:nth-of-type(even) { margin-left: auto; background: #f4ead7; }
.usy-ticket-thread time { display: block; margin-top: 3px; color: #718091; font-size: .76rem; }
.usy-ticket-reply-form { display: grid; gap: 10px; margin-top: 24px; padding-top: 22px; border-top: 1px solid rgba(16,38,60,.13); }
.usy-ticket-reply-form textarea { width: 100%; min-height: 120px; padding: 14px; border: 1px solid #ccd4dc; border-radius: 10px; }
.usy-ticket-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.usy-ticket-actions button { min-height: 46px; padding: 10px 18px; border: 1px solid #c89632; border-radius: 8px; background: #c89632; color: #071522; font-weight: 800; cursor: pointer; }
.usy-ticket-actions .usy-button-secondary { background: transparent; color: #10263c; }
.usy-ticket-resolved { margin-top: 22px; padding: 15px 18px; border: 1px solid #a9d5b4; border-radius: 10px; background: #eef9f0; color: #245d31; font-weight: 700; }

/* Selaraskan garis mata/bahu pada komposisi foto direksi. */
.usy-person.usy-production img { object-position: 50% 8% !important; }
.usy-person.usy-marketing img { object-position: 50% 8% !important; }

@media (max-width: 767px) {
    .usy-login-options { align-items: flex-start !important; flex-direction: column; gap: 10px !important; }
    .usy-login-submit { width: 100% !important; }
    .usy-ticket-thread article { max-width: 100%; }
}

/* -------------------------------------------------------------------------- */
/* Penyempurnaan v2.1.0                                                       */
/* -------------------------------------------------------------------------- */

.usy-solutions-page .usy-module-panel > h2.elementor-heading-title {
    color: #fff !important;
    background: transparent !important;
    -webkit-text-fill-color: #fff !important;
    text-shadow: none !important;
}

.usy-portal-cta {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(170px, .5fr) auto;
    gap: clamp(28px, 5vw, 72px);
    align-items: center;
    overflow: hidden;
}

.usy-portal-cta-art {
    position: relative;
    width: 180px;
    height: 150px;
    justify-self: center;
}

.usy-portal-cta-art::before,
.usy-portal-cta-art::after,
.usy-portal-cta-art span {
    content: "";
    position: absolute;
    border: 1px solid rgba(229,189,99,.52);
    transition: transform .4s ease, background-color .4s ease;
}

.usy-portal-cta-art::before {
    inset: 18px 22px;
    transform: rotate(45deg);
}

.usy-portal-cta-art::after {
    inset: 42px 48px;
    border-radius: 16px;
    background: rgba(229,189,99,.08);
}

.usy-portal-cta-art span:nth-child(1) { width: 54px; height: 54px; top: 0; left: 0; }
.usy-portal-cta-art span:nth-child(2) { width: 38px; height: 38px; right: 0; bottom: 8px; border-radius: 50%; }
.usy-portal-cta-art span:nth-child(3) { width: 84px; right: 8px; top: 28px; border-width: 1px 0 0; }
.usy-portal-cta:hover .usy-portal-cta-art::before { transform: rotate(55deg) scale(1.05); }
.usy-portal-cta:hover .usy-portal-cta-art::after { transform: translateY(-7px); background: rgba(229,189,99,.15); }

.usy-portal-login {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(245px, .65fr);
    gap: clamp(30px, 6vw, 76px);
    align-items: center;
    max-width: 1040px;
}

.usy-portal-login-copy,
.usy-portal-login-art {
    position: relative;
    z-index: 2;
}

.usy-portal-login-copy h1 {
    margin: 10px 0 16px;
    font: 700 clamp(2.2rem, 4vw, 3.8rem)/1.05 Georgia, serif;
}

.usy-login-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
}

.usy-login-badges span {
    padding: 7px 11px;
    color: #e8c46f;
    border: 1px solid rgba(229,189,99,.28);
    border-radius: 999px;
    background: rgba(255,255,255,.04);
    font-size: .72rem;
    font-weight: 700;
}

.usy-portal-login-art {
    display: grid;
    min-height: 330px;
    place-items: center;
    text-align: center;
}

.usy-portal-login-art > p {
    align-self: end;
    max-width: 250px;
    color: #aebdca;
    font-size: .82rem;
}

.usy-security-orbit {
    position: absolute;
    top: 22px;
    left: 50%;
    width: 230px;
    height: 230px;
    border: 1px solid rgba(229,189,99,.28);
    border-radius: 42% 58% 47% 53%;
    transform: translateX(-50%) rotate(13deg);
    transition: transform .45s ease;
}

.usy-security-orbit::before,
.usy-security-orbit::after,
.usy-security-orbit span {
    content: "";
    position: absolute;
    border: 1px solid rgba(229,189,99,.23);
}

.usy-security-orbit::before { inset: 24px; border-radius: 50%; }
.usy-security-orbit::after { inset: 54px; transform: rotate(45deg); }
.usy-security-orbit span:nth-child(1) { width: 18px; height: 18px; top: 18px; left: 50%; border-radius: 50%; background: #c89632; }
.usy-security-orbit span:nth-child(2) { width: 12px; height: 12px; right: 15px; bottom: 55px; border-radius: 50%; }
.usy-security-orbit span:nth-child(3) { width: 50px; left: -22px; top: 105px; border-width: 1px 0 0; }
.usy-security-orbit svg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 64px;
    height: 64px;
    fill: none;
    stroke: #e8c46f;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transform: translate(-50%, -50%) rotate(-13deg);
}
.usy-portal-login:hover .usy-security-orbit { transform: translateX(-50%) rotate(19deg) scale(1.04); }

.usy-portal-hero-art {
    position: absolute;
    right: 33%;
    bottom: -42px;
    width: 190px;
    height: 190px;
    opacity: .72;
    pointer-events: none;
}
.usy-portal-hero-art i {
    position: absolute;
    border: 1px solid rgba(229,189,99,.35);
}
.usy-portal-hero-art i:nth-child(1) { inset: 18px; transform: rotate(45deg); }
.usy-portal-hero-art i:nth-child(2) { inset: 52px; border-radius: 50%; }
.usy-portal-hero-art i:nth-child(3) { width: 120px; top: 50%; right: -35px; border-width: 1px 0 0; }

.usy-ticket-guide {
    position: relative;
    display: grid;
    min-height: 280px;
    overflow: hidden;
    padding: 30px;
    align-content: end;
    color: #d8e1e8;
    border-radius: 18px;
    background:
        radial-gradient(circle at 72% 25%, rgba(229,189,99,.17), transparent 23%),
        linear-gradient(145deg, #102d49, #071522);
}
.usy-ticket-guide strong { color: #e8c46f; font-size: 1.1rem; }
.usy-ticket-guide p { margin: 8px 0; color: #d8e1e8; }
.usy-ticket-guide small { color: #8fa2b3; }
.usy-ticket-guide-art {
    position: absolute;
    top: 24px;
    right: 28px;
    width: 120px;
    height: 110px;
}
.usy-ticket-guide-art::before,
.usy-ticket-guide-art span {
    content: "";
    position: absolute;
    border: 1px solid rgba(229,189,99,.4);
}
.usy-ticket-guide-art::before { inset: 12px; transform: rotate(45deg); }
.usy-ticket-guide-art span:nth-child(1) { inset: 28px; border-radius: 50%; }
.usy-ticket-guide-art span:nth-child(2) { width: 42px; height: 42px; left: 0; top: 0; }
.usy-ticket-guide-art span:nth-child(3) { width: 32px; height: 32px; right: 0; bottom: 0; }

/* Seluruh potret memakai bingkai dan titik potong yang konsisten. */
.usy-person img,
.usy-person.usy-president img,
.usy-person.usy-general img,
.usy-person.usy-production img,
.usy-person.usy-marketing img,
.usy-person.usy-finance img,
.usy-person.usy-commissioner img {
    width: 100%;
    height: 360px;
    object-fit: cover;
    object-position: 50% 25%;
    transform: none !important;
    background: #d7d2cf;
}

.usy-person-copy {
    flex: 1;
}

@media (max-width: 900px) {
    .usy-portal-cta,
    .usy-portal-login {
        grid-template-columns: 1fr;
    }
    .usy-portal-cta-art { display: none; }
    .usy-portal-login-art { min-height: 240px; }
    .usy-security-orbit { width: 190px; height: 190px; }
}

@media (max-width: 767px) {
    .usy-portal-login { padding: 30px 24px; }
    .usy-portal-login-art { display: none; }
    .usy-person img,
    .usy-person.usy-president img,
    .usy-person.usy-general img,
    .usy-person.usy-production img,
    .usy-person.usy-marketing img,
    .usy-person.usy-finance img,
    .usy-person.usy-commissioner img { height: 330px; }
}

@media (prefers-reduced-motion: reduce) {
    .usy-portal-cta-art *,
    .usy-security-orbit { transition: none !important; }
}

/* Penyempurnaan visual dan portal v2.3.0 */
.usy-module-panel .elementor-heading-title {
    color: #fff !important;
    background: transparent !important;
    text-shadow: none;
}

.usy-person img,
.usy-person.usy-president img,
.usy-person.usy-general img,
.usy-person.usy-production img,
.usy-person.usy-marketing img,
.usy-person.usy-finance img,
.usy-person.usy-commissioner img {
    height: 360px;
    object-fit: cover;
    transform: none !important;
}
.usy-person.usy-commissioner img { object-position: 50% 23%; }
.usy-person.usy-president img { object-position: 50% 30%; }
.usy-person.usy-general img { object-position: 50% 29%; }
.usy-person.usy-production img { object-position: 50% top; }
.usy-person.usy-marketing img { object-position: 50% top; }
.usy-person.usy-finance img { object-position: 50% 30%; }

.usy-location-section {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    gap: clamp(28px, 5vw, 78px);
    align-items: center;
    overflow: hidden;
}
.usy-location-copy { position: relative; z-index: 2; }
.usy-java-map {
    position: relative;
    z-index: 1;
    padding: 24px;
    text-align: center;
    color: #d7e1e9;
}
.usy-java-map svg {
    display: block;
    width: 100%;
    filter: drop-shadow(0 18px 30px rgba(0,0,0,.18));
}
.usy-java-shape {
    fill: rgba(255,255,255,.035);
    stroke: rgba(229,189,99,.56);
    stroke-width: 2;
    transition: fill .35s ease, transform .35s ease;
    transform-origin: center;
}
.usy-java-route {
    fill: none;
    stroke: #e5bd63;
    stroke-width: 2;
    stroke-dasharray: 8 10;
    animation: usy-route 7s linear infinite;
}
.usy-map-pin circle {
    fill: rgba(229,189,99,.1);
    stroke: #e5bd63;
    stroke-width: 2;
}
.usy-map-pin circle:last-child { fill: #e5bd63; }
.usy-location-section:hover .usy-java-shape {
    fill: rgba(229,189,99,.08);
    transform: scale(1.018);
}
.usy-map-pin {
    transform-box: fill-box;
    transform-origin: center;
    animation: usy-pin-welcome 3.6s ease-in-out 2;
}
@keyframes usy-route { to { stroke-dashoffset: -90; } }
@keyframes usy-pin-welcome {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: .72; transform: scale(1.15); }
}

.usy-portal-login h1,
.usy-portal-login h2 {
    font-size: clamp(2.2rem, 4.2vw, 4.5rem) !important;
}
.usy-portal-login .login-remember {
    display: inline-flex;
    width: auto;
    align-items: center;
    gap: 9px;
    margin: 10px 0;
}
.usy-portal-login .login-remember input {
    width: 17px !important;
    height: 17px !important;
    min-height: 0 !important;
}
.usy-portal-login .usy-login-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.usy-portal-login .usy-login-options label {
    display: inline-flex;
    width: auto;
    flex-direction: row;
    align-items: center;
    gap: 9px;
    margin: 0;
}
.usy-portal-login .usy-login-options input {
    width: 17px !important;
    height: 17px !important;
    min-height: 0 !important;
    margin: 0;
}
.usy-portal-login .cf-turnstile {
    margin: 18px 0 14px;
}
.usy-ticket-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 18px;
}
.usy-ticket-thread {
    border-left: 3px solid #d19a2b;
    background: linear-gradient(135deg, #fffaf1, #fff);
}
.usy-ticket-pagination {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}
.usy-ticket-pagination .page-numbers {
    display: inline-grid;
    min-width: 40px;
    min-height: 40px;
    place-items: center;
    padding: 8px 12px;
    border: 1px solid rgba(16,38,60,.18);
    border-radius: 8px;
    background: #fff;
    color: #10263c;
}
.usy-ticket-pagination .current {
    border-color: #c89632;
    background: #c89632;
    color: #fff;
}

/* Jejaring lima bidang tanpa mengulang label kartu yang sudah tersedia. */
.usy-home-about {
    position: relative;
    overflow: hidden;
}
.usy-home-about::before {
    content: "";
    position: absolute;
    left: 4%;
    bottom: 12%;
    width: min(390px, 38vw);
    aspect-ratio: 1.55;
    opacity: .28;
    pointer-events: none;
    background:
        radial-gradient(circle at 8% 62%, #c89632 0 4px, transparent 5px),
        radial-gradient(circle at 30% 24%, #c89632 0 4px, transparent 5px),
        radial-gradient(circle at 54% 70%, #c89632 0 4px, transparent 5px),
        radial-gradient(circle at 74% 18%, #c89632 0 4px, transparent 5px),
        radial-gradient(circle at 94% 54%, #c89632 0 4px, transparent 5px),
        linear-gradient(27deg, transparent 47%, rgba(200,150,50,.8) 48% 49%, transparent 50%),
        linear-gradient(155deg, transparent 47%, rgba(200,150,50,.65) 48% 49%, transparent 50%);
    animation: usy-network-breathe 5s ease-in-out infinite;
}
@keyframes usy-network-breathe { 50% { opacity: .46; transform: translateY(-5px); } }

.usy-home-why-grid article {
    position: relative;
    overflow: hidden;
    transition: transform .28s ease, background-color .28s ease;
}
.usy-home-why-grid article::after {
    content: "";
    position: absolute;
    right: 28px;
    top: 28px;
    width: 42px;
    height: 42px;
    opacity: .3;
    border: 1px solid #e5bd63;
    transform: rotate(45deg);
    transition: transform .35s ease, opacity .35s ease;
}
.usy-home-why-grid article:hover {
    z-index: 1;
    background: rgba(255,255,255,.035);
    transform: translateY(-4px);
}
.usy-home-why-grid article:hover::after { opacity: .72; transform: rotate(135deg); }

/* Layanan tetap linear; elemen data hanya menjadi aksen latar. */
.usy-service-integration,
.usy-module-panel {
    position: relative;
    overflow: hidden;
}
.usy-service-integration::after,
.usy-module-panel::after {
    content: "";
    position: absolute;
    right: -45px;
    top: 12%;
    width: 250px;
    height: 150px;
    opacity: .18;
    pointer-events: none;
    background:
        linear-gradient(90deg, transparent 49%, #e5bd63 50% 51%, transparent 52%),
        linear-gradient(0deg, transparent 49%, #e5bd63 50% 51%, transparent 52%);
    background-size: 42px 42px;
    transform: rotate(-8deg);
}

.usy-auth-panel,
.usy-reset-panel {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(200,150,50,.28);
    border-radius: 18px;
    background: linear-gradient(145deg, #102d49, #071522);
    color: #fff;
    box-shadow: 0 24px 60px rgba(7,21,34,.18);
}
.usy-auth-panel h1,
.usy-auth-panel h2,
.usy-reset-panel h1,
.usy-reset-panel h2 { color: #fff !important; }
.usy-auth-panel::after,
.usy-reset-panel::after {
    content: "";
    position: absolute;
    right: -60px;
    bottom: -80px;
    width: 230px;
    height: 230px;
    border: 1px solid rgba(229,189,99,.35);
    border-radius: 50%;
}

@media (max-width: 800px) {
    .usy-location-section { grid-template-columns: 1fr; }
    .usy-java-map { max-width: 430px; margin-inline: auto; }
    .usy-portal-login h1,
    .usy-portal-login h2 { font-size: clamp(2rem, 10vw, 3rem) !important; }
}

@media (prefers-reduced-motion: reduce) {
    .usy-java-route,
    .usy-map-pin,
    .usy-home-about::before { animation: none !important; }
}

/* Final overrides v2.4.0 */
.usy-person.usy-production img { object-position: 50% 8% !important; }
.usy-person.usy-marketing img { object-position: 50% 8% !important; }
.usy-login-submit {
    display: inline-flex !important;
    width: fit-content !important;
    min-width: 148px;
    min-height: 50px;
    margin: 2px 0 0 !important;
    padding: 12px 24px !important;
    align-items: center;
    justify-content: center;
    color: #071522 !important;
    border: 1px solid #e5bd63 !important;
    border-radius: 8px !important;
    background: #d39b2e !important;
    font-weight: 800;
}
.usy-remember-help { clear: both; margin-top: 12px !important; }
@media (max-width: 767px) { .usy-login-submit { width: 100% !important; } }
