/* ===== InfoPearl Tech: dropdown / mega menu ===== */
.menu{gap:6px!important}
.dd{position:relative}
.dd-top{display:inline-flex;align-items:center;gap:6px;padding:10px 12px;border-radius:999px;text-decoration:none}
.dd-top::after{display:none!important}
.dd-caret{transition:transform .25s ease;opacity:.7}
.dd:hover .dd-caret,.dd:focus-within .dd-caret{transform:rotate(180deg);opacity:1}
.dd:hover>.dd-top,.dd:focus-within>.dd-top{color:var(--ink)!important;background:color-mix(in srgb,var(--chip) 70%,transparent)}
.menu a.dd-top.active{color:var(--ink)!important;box-shadow:inset 0 -2px 0 #df8c16}

.dd-panel{position:absolute;top:calc(100% + 10px);left:50%;z-index:60;min-width:260px;padding:14px;
  background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 70px -24px rgba(0,0,0,.55),0 0 0 1px rgba(240,162,52,.06);
  opacity:0;visibility:hidden;transform:translate(-50%,8px) scale(.98);transform-origin:top center;
  transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s}
.dd-panel::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px} /* hover bridge */
.dd:hover>.dd-panel,.dd:focus-within>.dd-panel{opacity:1;visibility:visible;transform:translate(-50%,0) scale(1);transition-delay:0s}
.dd.mega3 .dd-panel{width:min(760px,calc(100vw - 40px))}
.dd:last-of-type .dd-panel,.dd:nth-last-of-type(2) .dd-panel{left:auto;right:-20px;transform:translate(0,8px) scale(.98)}
.dd:last-of-type:hover .dd-panel,.dd:last-of-type:focus-within .dd-panel,.dd:nth-last-of-type(2):hover .dd-panel,.dd:nth-last-of-type(2):focus-within .dd-panel{transform:none}

.dd-grid{display:grid;gap:6px}
.dd.mega3 .dd-grid{grid-template-columns:repeat(3,1fr);gap:10px}
.dd-col{display:grid;align-content:start;gap:2px}
.dd-h{font:600 .7rem/1 var(--mono)!important;letter-spacing:.14em;text-transform:uppercase;color:#f0a234!important;padding:8px 10px 10px!important;text-decoration:none}
.dd-col a:not(.dd-h){display:grid;gap:2px;padding:9px 10px!important;border-radius:10px;text-decoration:none;color:var(--ink)!important;font-weight:600!important;font-size:.9rem!important;transition:background .18s ease,transform .18s ease}
.dd-col a:not(.dd-h)::after{display:none!important}
.dd-col a small{font-weight:500;font-size:.78rem;color:var(--muted)}
.dd-col a:not(.dd-h):hover{background:var(--chip);transform:translateX(3px)}
.dd-col a:not(.dd-h):hover span{color:#f0a234}
.dd-foot{display:flex!important;justify-content:space-between;align-items:center;margin-top:10px;padding:12px 14px!important;border-radius:12px;text-decoration:none;
  background:linear-gradient(90deg,rgba(240,162,52,.14),rgba(164,185,251,.08));color:var(--ink)!important;font-weight:700!important;font-size:.88rem!important}
.dd-foot::after{display:none!important}
.dd-foot:hover{background:linear-gradient(90deg,rgba(240,162,52,.24),rgba(164,185,251,.12))}

/* Hide desktop dropdowns where the burger menu takes over */
@media (max-width:1060px){.menu .dd{display:none}}

/* ---------- Mobile drawer accordions ---------- */
.drawer .wrap{gap:0!important;max-height:calc(100vh - 140px);overflow:auto}
.dm{border-bottom:1px solid var(--line)}
.dm summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:14px 4px;font-weight:700;cursor:pointer;color:var(--ink)}
.dm summary::-webkit-details-marker{display:none}
.dm[open] summary .dd-caret{transform:rotate(180deg)}
.dm-list{display:grid;padding:0 0 10px 8px}
.drawer .dm-list a{border:0!important;padding:9px 6px!important;font-weight:500!important;color:var(--muted);font-size:.95rem}
.drawer .dm-list a.dm-all{color:#f0a234;font-weight:700!important}
.drawer a.dm-plain{padding:14px 4px!important;font-weight:700!important}

/* keep the header (and its dropdowns) above page content */
header{z-index:80!important}
header:not([style*="position"]){position:sticky}
.dd-panel{background:var(--surface)!important}
/* anchor links land below the sticky header */
[id]{scroll-margin-top:120px}

/* links from listing cards to detail pages */
a.sub-link{color:inherit;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size .3s,color .2s}
a.sub-link:hover{color:#f0a234;background-size:100% 1.5px}
.prod .link-more{margin-right:16px;color:var(--ink)!important;opacity:.85}
.prod .link-more:hover{color:#f0a234!important;opacity:1}
.ind-more{display:inline-block;margin-top:8px;font-weight:700;font-size:.88rem;color:#5fd3b5;text-decoration:none;transition:transform .25s}
.ind-more:hover{transform:translateX(5px)}

/* 5-column Services mega menu */
.nav{position:relative}
.dd.mega5{position:static}
.dd.mega5 .dd-panel{left:50%;width:min(1180px,calc(100vw - 32px));transform:translate(-50%,8px) scale(.98)}
.dd.mega5:hover .dd-panel,.dd.mega5:focus-within .dd-panel{transform:translate(-50%,0) scale(1)}
.dd.mega5 .dd-grid{grid-template-columns:repeat(5,1fr);gap:8px}
.dd.mega5 .dd-col a:not(.dd-h){padding:8px 10px!important;font-size:.86rem!important}
.dd.mega5 .dd-col a small{font-size:.74rem}
.dd-h{display:block}
.drawer .dm-g{display:block;margin:12px 0 2px;padding:0 6px;font:600 .68rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#f0a234}

/* "More services" grid on the Services page */
.svx{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.svx-g{grid-column:1/-1;margin:18px 0 2px;font:600 .74rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#f0a234}
.svx a{position:relative;display:grid;gap:8px;padding:20px;border-radius:18px;text-decoration:none;color:var(--ink);background:var(--card);border:1px solid var(--line);overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s}
.svx a::before{content:"";position:absolute;right:-60px;top:-60px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(240,162,52,.22),transparent 70%);transition:transform .5s}
.svx a:hover{transform:translateY(-5px);border-color:rgba(240,162,52,.55);box-shadow:0 24px 50px -28px rgba(240,162,52,.6)}
.svx a:hover::before{transform:scale(1.5)}
.svx .ico{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;color:#0b1b26;background:linear-gradient(135deg,#f0a234,#d77a57)}
.svx b{font:700 1.02rem/1.3 var(--display)}
.svx span.t{color:var(--muted);font-size:.88rem;line-height:1.5}
.svx em{font-style:normal;font-weight:700;font-size:.84rem;color:#f0a234}
@media (max-width:1060px){.svx{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.svx{grid-template-columns:1fr}}
