

:root {
    --navy:#142b49;
    --dark:#0b1c32;
    --gold:#ddaa47;
    --line:#e9edf2;
    --muted:#67778b
}

* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth
}

body {
    margin:0;
    font-family:Inter,'Segoe UI',Arial,sans-serif;
    color:var(--navy)
}

a {
    color:inherit;
    text-decoration:none
}

button {
    font:inherit;
    cursor:pointer
}

.skip-link {
    position:absolute;
    transform:translateY(-150%);
    z-index:100;
    background:white;
    padding:12px
}

.skip-link:focus {
    transform:none
}

.site-header {
    position:sticky;
    top:0;
    z-index:30;
    background:#fff;
    border-bottom:1px solid var(--line);
    box-shadow:0 3px 15px #142b4908
}

.nav-shell {
    max-width:1280px;
    margin:auto;
    padding:0 24px;
    min-height:62px;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:16px
}

.logo {
    grid-column:1;
    grid-row:1;
    display:inline-flex;
    align-items:center;
    gap:9px;
    justify-self:start;
    white-space:nowrap
}

.logo-mark {
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:6px;
    background:var(--navy);
    color:white;
    border:1px solid var(--gold);
    font-size:14px;
    font-weight:900
}

.logo-text {
    display:grid;
    gap:4px
}

.logo-text strong {
    font-size:12px;
    letter-spacing:.045em
}

.logo-text small {
    font-size:7px;
    color:var(--muted);
    letter-spacing:.1em
}

.desktop-nav {
    grid-column:2;
    grid-row:1;
    display:flex;
    align-items:center;
    gap:clamp(12px,1.6vw,25px);
    white-space:nowrap
}

.desktop-nav>a,.dropdown-toggle {
    font-size:12px;
    font-weight:650;
    position:relative;
    padding:22px 0;
    border:0;
    background:none;
    color:#233b56
}

.desktop-nav>a::after,.dropdown-toggle::after {
    content:"";
    position:absolute;
    bottom:14px;
    left:0;
    right:100%;
    height:2px;
    background:var(--gold);
    transition:right .18s
}

.desktop-nav>a:hover::after,.desktop-nav>a[aria-current="page"]::after,.dropdown-toggle:hover::after {
    right:0
}

.dropdown {
    position:relative
}

.dropdown-toggle span {
    font-size:13px;
    margin-left:3px
}

.dropdown-menu {
    position:absolute;
    display:none;
    top:100%;
    left:-20px;
    min-width:225px;
    padding:9px;
    background:#fff;
    box-shadow:0 15px 30px #142b492b;
    border:1px solid var(--line);
    border-radius:0 0 10px 10px
}

.dropdown:hover .dropdown-menu,.dropdown:focus-within .dropdown-menu,.dropdown.open .dropdown-menu {
    display:block
}

.dropdown-menu a {
    display:block;
    padding:12px;
    border-radius:5px;
    font-size:13px
}

.dropdown-menu a:hover {
    background:#f5f7fa
}

.menu-toggle {
    display:none;
    justify-self:end;
    border:0;
    background:none;
    color:var(--navy);
    font-size:26px
}

.mobile-nav {
    display:none
}

.main-container {
    max-width:1180px;
    padding:76px 24px 90px;
    margin:auto;
    min-height:55vh
}

.eyebrow {
    color:#aa7c30;
    font-size:12px;
    font-weight:800;
    letter-spacing:.15em;
    text-transform:uppercase
}

h1 {
    font-size:clamp(34px,5vw,58px);
    letter-spacing:-.04em;
    line-height:1.13;
    max-width:780px;
    margin:20px 0
}

.intro {
    font-size:17px;
    line-height:1.8;
    color:#55687a;
    max-width:690px
}

.page-links {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:30px
}

.page-links a {
    background:var(--navy);
    color:white;
    border-radius:7px;
    padding:14px 19px;
    font-size:13px;
    font-weight:700
}

.page-links a:nth-child(even) {
    background:var(--gold);
    color:var(--dark)
}

.site-footer {
    background:var(--dark);
    color:#c3cfdd
}

.footer-grid {
    max-width:1280px;
    margin:auto;
    padding:65px 24px 55px;
    display:grid;
    grid-template-columns:1.6fr 1fr 1fr 1.1fr;
    gap:42px
}

.footer-grid section {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:13px
}

.footer-grid h2 {
    font-size:14px;
    color:white;
    margin:0 0 8px
}

.footer-grid p {
    font-size:13px;
    line-height:1.8;
    margin:0;
    max-width:320px
}

.footer-grid a {
    font-size:13px
}

.footer-grid a:hover {
    color:var(--gold)
}

.footer-logo {
    color:white;
    font-weight:800;
    font-size:18px!important;
    display:flex;
    gap:12px;
    align-items:center
}

.footer-logo span {
    font-size:13px;
    letter-spacing:.06em
}

.contact-link {
    color:var(--gold)
}

.footer-bottom {
    border-top:1px solid #ffffff24;
    max-width:1280px;
    margin:auto;
    padding:23px 24px;
    display:flex;
    justify-content:space-between;
    gap:15px;
    font-size:12px
}

@media(max-width:1040px) {
    .desktop-nav {
        gap:12px
    }

    .desktop-nav>a,.dropdown-toggle {
        font-size:11px
    }

    .logo-text strong {
        font-size:11px
    }

}

@media(max-width:920px) {
    .nav-shell {
        display:flex;
        justify-content:space-between;
        min-height:58px
    }

    .desktop-nav {
        display:none
    }

    .menu-toggle {
        display:block
    }

    .mobile-nav:not([hidden]) {
        display:grid;
        max-height:75vh;
        overflow:auto;
        padding:10px 24px 23px;
        border-top:1px solid var(--line)
    }

    .mobile-nav a,.mobile-nav summary {
        display:block;
        padding:12px 0;
        border-bottom:1px solid var(--line);
        font-size:14px;
        font-weight:600
    }

    .mobile-nav details a {
        padding-left:18px;
        color:var(--muted)
    }

    .footer-grid {
        grid-template-columns:1fr 1fr
    }

}

@media(max-width:520px) {
    .footer-grid {
        grid-template-columns:1fr;
        padding-top:48px
    }

    .footer-bottom {
        flex-direction:column
    }

    .logo-text strong {
        font-size:11px
    }

}

/* GVU homepage components: only content styling, shared navigation remains in style.css */
:root {
    --cream:#f7f5ef;
    --ink:#142b49;
    --brass:#c99c4c
}

.home-main {
    overflow:hidden
}

.hero {
    display:grid;
    grid-template-columns:1.04fr .96fr;
    min-height:620px;
    background:var(--cream);
    position:relative
}

.hero-content {
    padding:110px clamp(26px,5.5vw,96px) 45px max(30px,calc((100vw - 1250px)/2));
    align-self:center;
    position:relative;
    z-index:1
}

.kicker,.overline {
    display:inline-block;
    font-size:11px;
    font-weight:800;
    letter-spacing:.16em;
    color:#a17d43
}

.kicker {
    display:flex;
    align-items:center;
    gap:11px
}

.spark {
    background:#c99c4c;
    width:7px;
    height:7px;
    display:inline-block;
    transform:rotate(45deg)
}

.hero h1 {
    font-size:clamp(44px,5.4vw,83px);
    max-width:750px;
    line-height:1.06;
    letter-spacing:-.055em;
    margin:24px 0
}

.hero h1 em,.solution-section h2 em,.closing-section h2 em {
    font-style:normal;
    color:#bd9045
}

.hero p {
    max-width:510px;
    color:#596779;
    font-size:15px;
    line-height:1.85;
    margin:0
}

.hero-actions {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:30px;
    margin:32px 0 65px
}

.cta-primary {
    display:inline-flex;
    align-items:center;
    gap:32px;
    background:#142b49;
    color:white;
    padding:17px 22px;
    font-size:13px;
    font-weight:750;
    border-radius:4px;
    transition:transform .2s,background .2s
}

.cta-primary:hover {
    transform:translateY(-3px);
    background:#25466d
}

.cta-text {
    font-size:13px;
    font-weight:750;
    display:inline-flex;
    gap:18px;
    align-items:center
}

.cta-text:hover,.arrow-link:hover {
    color:#af8136
}

.hero-proof {
    display:flex;
    gap:31px;
    flex-wrap:wrap
}

.hero-proof span {
    border-left:2px solid #d3bd93;
    padding-left:15px;
    display:grid;
    gap:6px
}

.hero-proof b {
    font-size:13px
}

.hero-proof small {
    font-size:11px;
    color:#7c8591
}

.hero-art {
    position:relative;
    min-height:590px;
    overflow:hidden;
    background:linear-gradient(146deg,#dce1df 5%,#b4c0bd 50%,#8a9b9a 100%)
}

.room-glow {
    position:absolute;
    width:70%;
    height:80%;
    border-radius:50%;
    left:10%;
    top:-30%;
    background:#fcfcf3;
    filter:blur(80px);
    opacity:.75
}

.room-grid {
    position:absolute;
    inset:50% 0 0;
    background:repeating-linear-gradient(0deg,transparent 0 59px,#ffffff35 60px),repeating-linear-gradient(90deg,transparent 0 75px,#ffffff24 76px);
    transform:perspective(500px) rotateX(44deg);
    transform-origin:bottom
}

.window {
    position:absolute;
    right:0;
    top:0;
    width:74%;
    height:58%;
    border:15px solid #e9ede8;
    background:linear-gradient(160deg,#e9eff0 2%,#cbdad9 70%);
    box-shadow:inset 0 0 40px #ffffffad
}

.window i {
    display:block;
    position:absolute;
    top:0;
    bottom:0;
    border-left:10px solid #e9ede8
}

.window i:nth-child(1) {
    left:33%
}

.window i:nth-child(2) {
    left:66%
}

.window i:nth-child(3) {
    top:50%;
    left:0;
    right:0;
    border-left:none;
    border-top:9px solid #e9ede8
}

.desk-surface {
    position:absolute;
    left:15%;
    right:7%;
    height:24px;
    top:60%;
    background:linear-gradient(#e1cbaa,#bd9772);
    transform:skewX(-8deg);
    border-radius:3px;
    box-shadow:0 16px 20px #1b313632
}

.desk-leg {
    position:absolute;
    top:63%;
    width:17px;
    height:27%;
    background:#374b4b
}

.leg-one {
    left:20%
}

.leg-two {
    right:11%
}

.monitor {
    position:absolute;
    top:34%;
    left:42%;
    width:34%;
    height:25%;
    background:linear-gradient(140deg,#334850,#142831);
    border:10px solid #34454b;
    border-radius:10px;
    box-shadow:8px 12px 12px #23394144
}

.monitor-reflection {
    width:60%;
    height:100%;
    background:linear-gradient(120deg,#ffffff14,transparent)
}

.monitor-stand {
    position:absolute;
    left:57%;
    top:58%;
    width:15px;
    height:39px;
    background:#253a41;
    box-shadow:0 26px 0 10px #35474a
}

.keyboard {
    position:absolute;
    top:61%;
    left:52%;
    width:20%;
    height:10px;
    background:#e5e5dd;
    transform:skewX(-20deg)
}

.lamp {
    position:absolute;
    top:45%;
    left:25%;
    width:10px;
    height:88px;
    background:#283f48;
    transform:rotate(25deg)
}

.lamp:before {
    content:"";
    position:absolute;
    top:-22px;
    left:-25px;
    border-bottom:32px solid #34484f;
    border-left:25px solid transparent;
    border-right:25px solid transparent
}

.chair-back {
    position:absolute;
    bottom:12%;
    left:43%;
    width:25%;
    height:27%;
    border-radius:40% 40% 15% 15%;
    transform:rotate(-7deg);
    background:linear-gradient(115deg,#4f6563,#213c42);
    box-shadow:inset -20px 2px 20px #142c2a8c
}

.chair-seat {
    position:absolute;
    bottom:10%;
    left:42%;
    width:27%;
    height:8%;
    border-radius:45%;
    background:#243d40
}

.chair-stem {
    position:absolute;
    bottom:3%;
    left:55%;
    height:10%;
    width:10px;
    background:#263c40
}

.chair-base {
    position:absolute;
    bottom:2%;
    left:48%;
    width:22%;
    height:8px;
    border-radius:50%;
    background:#263c40
}

.plant {
    position:absolute;
    bottom:12%;
    width:80px;
    height:130px;
    z-index:1
}

.plant-left {
    left:4%
}

.plant-right {
    right:1%;
    bottom:15%;
    transform:scale(.7)
}

.plant:before {
    content:"";
    position:absolute;
    bottom:0;
    left:18px;
    width:58px;
    height:65px;
    background:#a38c79;
    clip-path:polygon(0 0,100% 0,83% 100%,17% 100%)
}

.plant i {
    position:absolute;
    bottom:54px;
    left:48px;
    width:3px;
    height:95px;
    background:#456755;
    transform:rotate(-15deg)
}

.plant i:after {
    content:"";
    position:absolute;
    left:-31px;
    top:15px;
    width:70px;
    height:46px;
    border-radius:80% 0 90% 0;
    background:#4c7162;
    transform:rotate(20deg);
    box-shadow:32px 30px 0 -5px #698e77
}

.art-label {
    position:absolute;
    right:5%;
    bottom:6%;
    background:#ffffffed;
    display:flex;
    gap:12px;
    align-items:center;
    padding:16px 20px;
    box-shadow:0 12px 42px #1a2c3022
}

.art-label-mark {
    color:#b99660;
    font-size:23px
}

.art-label span:last-child {
    font-size:12px;
    font-weight:750
}

.art-label small {
    display:block;
    font-size:10px;
    font-weight:400;
    color:#64737c;
    margin-top:5px
}

.marquee {
    border-top:1px solid #e9ebeb;
    border-bottom:1px solid #e9ebeb
}

.marquee-inner {
    max-width:1260px;
    margin:auto;
    min-height:103px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:20px 24px
}

.marquee b {
    font-size:clamp(15px,2.1vw,24px);
    color:#8b969f;
    letter-spacing:.06em
}

.marquee span {
    font-size:10px;
    color:#a1abb4;
    letter-spacing:.17em;
    font-weight:750
}

.section {
    max-width:1280px;
    margin:auto;
    padding:110px 24px
}

.section-heading {
    display:flex;
    align-items:end;
    justify-content:space-between;
    margin-bottom:35px;
    gap:22px
}

.section h2 {
    font-size:clamp(35px,4vw,57px);
    line-height:1.15;
    letter-spacing:-.045em;
    margin:16px 0
}

.arrow-link {
    font-size:13px;
    font-weight:750;
    white-space:nowrap;
    padding-bottom:12px
}

.arrow-link span {
    margin-left:17px
}

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

.category-card {
    min-height:330px;
    padding:24px;
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    overflow:hidden;
    transition:transform .25s,box-shadow .25s
}

.category-card:hover {
    transform:translateY(-5px);
    box-shadow:0 18px 28px #15273a14
}

.cat-desk {
    background:#e8ebea
}

.cat-chair {
    background:#ece7dd
}

.cat-storage {
    background:#e3e7eb
}

.cat-partition {
    background:#e6e9df
}

.cat-index {
    font-size:10px;
    letter-spacing:.12em;
    color:#7e8b91;
    font-weight:750
}

.category-bottom {
    display:flex;
    align-items:end;
    justify-content:space-between;
    z-index:2
}

.category-bottom strong {
    display:block;
    font-size:18px
}

.category-bottom small {
    display:block;
    color:#64727e;
    font-size:11px;
    margin-top:8px
}

.round-arrow {
    width:34px;
    height:34px;
    border-radius:50%;
    background:#fff;
    display:grid;
    place-items:center
}

.product-illustration {
    position:absolute;
    top:30%;
    left:22%;
    width:57%;
    height:34%;
    filter:drop-shadow(8px 12px 9px #10233728)
}

.desk-icon {
    top:40%;
    height:11%;
    background:#a9825f;
    transform:skewX(-13deg);
    border-radius:2px
}

.desk-icon:before,.desk-icon:after {
    content:"";
    position:absolute;
    top:100%;
    width:11px;
    height:95px;
    background:#485c61
}

.desk-icon:before {
    left:6%
}

.desk-icon:after {
    right:8%
}

.chair-icon {
    top:25%;
    left:40%;
    width:27%;
    height:31%;
    border-radius:32% 32% 13% 13%;
    background:linear-gradient(120deg,#51666b,#253a43)
}

.chair-icon:before {
    content:"";
    position:absolute;
    top:93%;
    left:-26%;
    width:145%;
    height:27%;
    background:#394a4e;
    border-radius:50%
}

.chair-icon:after {
    content:"";
    position:absolute;
    top:117%;
    left:47%;
    width:8px;
    height:95px;
    background:#2c4047;
    box-shadow:-33px 76px 0 -2px #2c4047,33px 76px 0 -2px #2c4047
}

.cabinet-icon {
    top:19%;
    left:33%;
    width:37%;
    height:52%;
    background:linear-gradient(90deg,#71858d 0 49%,#63777f 49%);
    border:5px solid #536670;
    box-shadow:7px 8px 0 #394f5860
}

.cabinet-icon:before {
    content:"";
    position:absolute;
    top:12%;
    bottom:12%;
    left:50%;
    border-left:3px solid #405760
}

.cabinet-icon:after {
    content:"";
    position:absolute;
    top:48%;
    left:43%;
    width:6px;
    height:20px;
    background:#ddd8ce;
    box-shadow:22px 0 #ddd8ce
}

.partition-icon {
    top:23%;
    left:20%;
    width:60%;
    height:43%;
    border:6px solid #637c7c;
    background:linear-gradient(90deg,#c2cfd0 0 47%,#6d8c89 47% 52%,#d4d9d3 52%);
    box-shadow:10px 10px 0 #a8b5b0
}

.partition-icon:after {
    content:"";
    position:absolute;
    top:100%;
    left:14%;
    width:7px;
    height:40px;
    background:#526c69;
    box-shadow:115px 0 #526c69
}

.solution-section {
    max-width:none;
    background:#142b49;
    color:white;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10%;
    padding:100px max(24px,calc((100vw - 1232px)/2))
}

.solution-section h2 {
    font-size:clamp(40px,5vw,67px)
}

.solution-left p {
    color:#bfcbd8;
    line-height:1.9;
    max-width:430px;
    margin-bottom:28px;
    font-size:14px
}

.solution-section .cta-primary {
    background:#d4a75b;
    color:#142b49
}

.solution-right {
    align-self:center
}

.solution-card {
    border-bottom:1px solid #ffffff3c;
    display:flex;
    align-items:center;
    gap:20px;
    padding:28px 0
}

.solution-card:last-child {
    border-bottom:0
}

.solution-number {
    font-size:11px;
    color:#d4a75b
}

.solution-card div {
    flex:1
}

.solution-card strong {
    display:block;
    font-size:19px
}

.solution-card small {
    display:block;
    color:#afc0d0;
    margin-top:8px;
    font-size:12px
}

.solution-card>span:last-child {
    font-size:24px;
    color:#d4a75b
}

.closing-section {
    text-align:center
}

.closing-section h2 {
    margin:23px auto;
    max-width:710px
}

.closing-section p {
    color:#607080;
    line-height:1.8;
    font-size:14px;
    max-width:490px;
    margin:0 auto 28px
}

@media(max-width:1050px) {
    .hero {
        grid-template-columns:1.1fr .9fr
    }

    .hero-content {
        padding:75px 28px
    }

    .hero h1 {
        font-size:clamp(39px,5.4vw,64px)
    }

    .hero-proof {
        gap:14px
    }

    .category-grid {
        grid-template-columns:repeat(2,1fr)
    }

    .solution-section {
        gap:6%
    }

}

@media(max-width:760px) {
    .hero {
        display:flex;
        flex-direction:column
    }

    .hero-content {
        padding:60px 24px 40px
    }

    .hero-art {
        min-height:400px
    }

    .hero-actions {
        margin-bottom:45px
    }

    .marquee-inner {
        flex-wrap:wrap;
        justify-content:center;
        gap:15px 30px;
        min-height:80px
    }

    .section {
        padding:75px 22px
    }

    .section-heading {
        align-items:start;
        flex-direction:column
    }

    .solution-section {
        grid-template-columns:1fr;
        gap:38px
    }

    .hero-proof small {
        font-size:10px
    }

}

@media(max-width:480px) {
    .hero h1 {
        font-size:44px
    }

    .hero-proof {
        flex-direction:column;
        gap:12px
    }

    .hero-art {
        min-height:350px
    }

    .category-grid {
        gap:9px
    }

    .category-card {
        min-height:255px;
        padding:14px
    }

    .category-bottom strong {
        font-size:15px
    }

    .category-bottom small {
        font-size:10px
    }

    .category-card .round-arrow {
        width:27px;
        height:27px
    }

    .marquee b {
        font-size:16px
    }

    .solution-card strong {
        font-size:16px
    }

    .art-label {
        padding:10px
    }

}

/* Header dropdown: 5 kategori, tetap ramping */
.dropdown-toggle[aria-expanded="true"]::after,.dropdown:focus-within .dropdown-toggle::after {
    right:0
}

.dropdown-toggle[aria-expanded="true"] span {
    display:inline-block;
    transform:rotate(180deg)
}

.dropdown-menu {
    min-width:220px;
    max-height:min(70vh,420px);
    overflow-y:auto
}

.dropdown-menu a:focus-visible,.dropdown-toggle:focus-visible,.desktop-nav>a:focus-visible {
    outline:2px solid var(--gold);
    outline-offset:3px
}

@media(max-width:1120px) and (min-width:921px) {
    .nav-shell {
        padding:0 14px;
        gap:8px
    }

    .desktop-nav {
        gap:11px
    }

    .logo-text small {
        display:none
    }

    .logo-text strong {
        font-size:10px
    }

    .desktop-nav>a,.dropdown-toggle {
        font-size:11px
    }

}

.mobile-nav details summary {
    cursor:pointer;
    list-style:none
}

.mobile-nav details summary::-webkit-details-marker {
    display:none
}

.mobile-nav details summary::after {
    content:'⌄';
    float:right
}

.mobile-nav details[open] summary::after {
    content:'⌃'
}

/* v3 - floating dropdown: overlays page and never pushes content */
@media (min-width:921px) {
    .site-header,.nav-shell,.desktop-nav,.dropdown {
        overflow:visible
    }

    .dropdown {
        position:relative
    }

    .dropdown-menu {
        position:absolute;
        top:calc(100% - 1px);
        left:-42px;
        right:auto;
        z-index:100;
        width:320px;
        min-width:290px;
        max-width:min(360px,90vw);
        padding:18px 20px;
        background:#fff;
        border:1px solid #e5ebf1;
        border-radius:0 0 16px 16px;
        box-shadow:0 23px 54px rgba(17,39,63,.19);
        display:block;
        visibility:hidden;
        opacity:0;
        pointer-events:none;
        transform:translateY(10px);
        transition:opacity .17s ease,transform .17s ease,visibility .17s ease
    }

    .dropdown:hover .dropdown-menu,.dropdown:focus-within .dropdown-menu,.dropdown.open .dropdown-menu {
        visibility:visible;
        opacity:1;
        pointer-events:auto;
        transform:translateY(0)
    }

    .dropdown-menu a {
        padding:14px 15px;
        font-size:15px;
        font-weight:500;
        line-height:1.35;
        transition:background .16s,color .16s
    }

    .dropdown-menu a:hover,.dropdown-menu a:focus-visible {
        background:#f4f7fa;
        color:#a47a32
    }

    .dropdown:hover .dropdown-toggle::after,.dropdown.open .dropdown-toggle::after {
        right:0
    }

    .dropdown:last-of-type .dropdown-menu {
        left:-85px
    }

}

@media (prefers-reduced-motion:reduce) {
    .dropdown-menu {
        transition:none!important
    }

}

/* ===== UKURAN LOGO RESMI GVU — UBAH DI BAGIAN INI =====
   Desktop: 200px | Tablet: 170px | HP: 155px | HP kecil: 145px
   Klik logo tetap menuju / (beranda), diatur di header.php. */

.site-header .logo {
    width: 300px;
    max-width: 300px;
    min-width: 300px;
}

.site-header .logo-image {
    display: block;
    width: 900px;
    max-width: none;
    height: auto;
    max-height: none;
    object-fit: contain;
}


@media(max-width:1120px) and (min-width:921px) {
    .site-header .logo-image {
        width:170px
    }

}

@media(max-width:920px) {
    .site-header .logo-image {
        width:155px;
        max-height:46px
    }

}

@media(max-width:380px) {
    .site-header .logo-image {
        width:145px
    }

}


/* =======================================================
   GVU HEADER FINAL — LOGO & TOMBOL KONSULTASI
   ======================================================= */
.site-header .nav-shell {
    grid-template-columns: minmax(200px, 1fr) auto minmax(175px, 1fr);
    min-height: 70px;
}
.site-header .logo {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    width: 200px;
    min-width: 0;
}
.site-header .logo .logo-image {
    display: block;
    width: 200px;
    max-width: 100%;
    height: auto;
    max-height: 46px;
    object-fit: contain;
}
.site-header .header-consultation {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 12px 15px;
    white-space: nowrap;
    border-radius: 8px;
    background: #ddaa47;
    color: #142b49;
    text-decoration: none;
    font-size: 12px;
    line-height: 1.25;
    font-weight: 750;
    animation: gvuConsultPulse 2.7s ease-in-out infinite;
    transition: background .2s ease, transform .2s ease;
}
.site-header .header-consultation:hover {
    background: #f0c46d;
    animation-play-state: paused;
    transform: translateY(-1px);
}
.site-header .consultation-dot {
    display: block;
    width: 7px;
    height: 7px;
    flex-shrink: 0;
    background: #142b49;
    border-radius: 50%;
}
@keyframes gvuConsultPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(221,170,71,.18); filter: brightness(1); }
    50% { box-shadow: 0 0 0 6px rgba(221,170,71,.10); filter: brightness(1.08); }
}
@media (max-width: 1220px) and (min-width: 921px) {
    .site-header .nav-shell { gap: 12px; padding: 0 18px; grid-template-columns: minmax(175px, 1fr) auto minmax(165px, 1fr); }
    .site-header .logo { width: 175px; }
    .site-header .logo .logo-image { width: 175px; }
    .site-header .desktop-nav { gap: 11px; }
    .site-header .desktop-nav > a, .site-header .dropdown-toggle { font-size: 11px; }
    .site-header .header-consultation { padding: 11px 12px; font-size: 11px; }
}
@media (max-width: 920px) {
    .site-header .nav-shell { grid-template-columns: 1fr auto; min-height: 62px; }
    .site-header .logo { grid-column: 1; width: 155px; }
    .site-header .logo .logo-image { width: 155px; max-height: 42px; }
    .site-header .header-consultation { display: none; }
    .site-header .menu-toggle { grid-column: 2; }
}
@media (prefers-reduced-motion: reduce) {
    .site-header .header-consultation { animation: none; }
}
