/* ============================================================
   Utility bar (thin top strip — phone, right-aligned)
   ============================================================ */
.utilitybar {background:var(--pc-blue-deep); color:rgba(255,255,255,0.9); font-size:0.86rem; padding:8px 0;}
.utilitybar .wrap {display:flex; justify-content:flex-end; align-items:center; gap:20px;}
.utilitybar a {color:#fff; font-weight:500; display:inline-flex; align-items:center; gap:6px; transition:opacity .15s;}
.utilitybar a:hover {text-decoration:none; opacity:0.85;}
.utilitybar a.phone::before {content:""; width:14px; height:14px; background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='currentColor' d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.3 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A18 18 0 0 1 2 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.4 0 .7-.3 1l-2.2 2.2z'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='currentColor' d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.3 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A18 18 0 0 1 2 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.4 0 .7-.3 1l-2.2 2.2z'/></svg>") center/contain no-repeat;
}
.utilitybar a.whatsapp::before {content:""; width:15px; height:15px; background-color:#25D366;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347z'/><path d='M12 0C5.373 0 0 5.373 0 12c0 2.127.558 4.122 1.533 5.854L.057 23.428a.75.75 0 0 0 .915.914l5.525-1.476A11.943 11.943 0 0 0 12 24c6.627 0 12-5.373 12-12S18.627 0 12 0zm0 22c-1.907 0-3.693-.5-5.24-1.375l-.375-.214-3.882 1.037 1.04-3.777-.234-.386A9.944 9.944 0 0 1 2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347z'/><path d='M12 0C5.373 0 0 5.373 0 12c0 2.127.558 4.122 1.533 5.854L.057 23.428a.75.75 0 0 0 .915.914l5.525-1.476A11.943 11.943 0 0 0 12 24c6.627 0 12-5.373 12-12S18.627 0 12 0zm0 22c-1.907 0-3.693-.5-5.24-1.375l-.375-.214-3.882 1.037 1.04-3.777-.234-.386A9.944 9.944 0 0 1 2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z'/></svg>") center/contain no-repeat;
}
.utilitybar a.email::before {content:""; width:14px; height:14px; background-color: currentColor;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='currentColor' d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='currentColor' d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z'/></svg>") center/contain no-repeat;
}

@media (max-width:518px) {
    .utilitybar {padding-right:28px;}
    .utilitybar a span {display:none;}
    .utilitybar a svg {width:24px; height:24px;}
}

/* ============================================================
   Top bar
   ============================================================ */
.topbar {background:var(--pc-white); border-bottom:1px solid var(--pc-line); padding:14px 0; font-size:0.95rem; position:sticky; top:0; z-index:50;}
.topbar .wrap {display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
.logo {display:flex; align-items:center; gap:12px; text-decoration:none;}
.logo:hover {text-decoration:none;}
.logo img {height:56px; width:auto; display:block;}
.logo-text {font-family:var(--font-serif); font-weight:600; font-size:1.65rem; letter-spacing:-0.01em; color:var(--pc-blue-deep); line-height:1;}
nav ul {display:flex; gap:26px; list-style:none;}
nav a {color:var(--pc-ink); font-weight:500; position:relative; transition:color .15s;}
nav a::after {content:""; position:absolute; bottom:-4px; left:0; width:0; height:2px; background:var(--pc-blue); transition:width .2s ease;}
nav a:hover {text-decoration:none; color:var(--pc-blue);}
nav a:hover::after, nav a.active::after {width:100%;}
nav a.active {color:var(--pc-blue);}
.topbar {background:var(--pc-white); border-bottom:1px solid var(--pc-line); padding:14px 0; font-size:0.95rem; position:sticky; top:0; z-index:50;}
.topbar .wrap {display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
.logo {display:flex; align-items:center; gap:12px; text-decoration:none;}
.logo:hover {text-decoration:none;}
.logo img {height:56px; width:auto; display:block;}
.logo-text {font-family:var(--font-serif); font-weight:600; font-size:1.65rem; letter-spacing:-0.01em; color:var(--pc-blue-deep); line-height:1;}
nav ul {display:flex; gap:26px; list-style:none;}
nav a {color:var(--pc-ink); font-weight:500; position:relative; transition:color .15s;}
nav a::after {content:""; position:absolute; bottom:-4px; left:0; width:0; height:2px; background:var(--pc-blue); transition:width .2s ease;}
nav a:hover {text-decoration:none; color:var(--pc-blue);}
nav a:hover::after, nav a.active::after {width:100%;}
nav a.active {color:var(--pc-blue);}


/* --- Nav dropdown --- */
nav li {position:relative;}
/* .nav-has-dropdown > a::after {content:none;} */
.nav-has-dropdown > a .nav-arrow {
    transform: translateY(-5px); display:inline-block; margin-left:5px; font-size:2rem; line-height: 0; vertical-align:middle; transition:transform .2s;}
.nav-has-dropdown:hover > a .nav-arrow {transform:rotate(180deg);}
.nav-drop {display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%); background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:10px; box-shadow:0 8px 32px rgba(0,0,0,.12); min-width:230px; padding:8px 0; z-index:999; white-space:nowrap;}
.nav-drop::before {content:""; position:absolute; top:-6px; left:50%; transform:translateX(-50%); border-left:6px solid transparent; border-right:6px solid transparent; border-bottom:6px solid #fff; filter:drop-shadow(0 -2px 1px rgba(0,0,0,.06));}

.nav-drop a {display:block; padding:9px 20px; color:var(--pc-ink) !important; font-size:0.88rem; font-weight:400; transition:background .1s, color .1s;}
.nav-drop a::after {display:none !important;}
.nav-drop a:hover, .nav-drop a.active {background:var(--pc-blue-tint); color:var(--pc-blue) !important;}
.nav-drop-divider {height:1px; background:rgba(0,0,0,.07); margin:6px 10px;}
.nav-drop-all {font-weight:600 !important; color:var(--pc-blue) !important; font-size:0.82rem !important; border-top:1px solid rgba(0,0,0,.07); margin-top:4px;}

.topbar-cta {display:flex; gap:14px; align-items:center;}


@media (min-width:981px) {
.nav-has-dropdown:hover .nav-drop {display:block;}
}


@media (max-width:980px) {
    nav ul {display:none; }
    body:has(nav ul.open) {overflow-y: hidden;}
    nav ul.open {display:flex;     height: 80dvh;
    overflow-y: auto; flex-direction:column; position:absolute; top:100%; left:0; right:0; background:var(--pc-white); border-bottom:1px solid var(--pc-line); padding:16px 28px; gap:14px; box-shadow:0 8px 24px -12px rgba(0,0,0,0.1); z-index:60;}
    .topbar .wrap {position:relative;}
}

@media (max-width:980px) {

    .nav-drop {
        display:none;
        position:static;
        transform:none;
        border:0;
        box-shadow:none;
        border-radius:0;
        padding:8px 0 0;
        background:none;
        min-width:0;
    }

    .nav-drop::before {
        display:none;
    }

    .nav-has-dropdown.open > .nav-drop {
        display:block;
    }

}


@media (max-width:560px) {
    .topbar-cta .btn {display:none;}
}



/* Hamburger */
.hamburger {display:none; background:none; border:none; cursor:pointer; padding:6px; flex-direction:column; gap:5px;}
.hamburger span {display:block; width:22px; height:2px; background:var(--pc-ink); border-radius:2px; transition:.2s;}

@media (max-width:980px) {
    .hamburger {display:flex; margin-left: auto;}
}