/* About + Services hover panels, shared by the homepage and inner-page headers. */
.smp-panel { --smp-blue:#0f62fe; --smp-ink:#141a24; --smp-muted:#667180; --smp-line:#d7dde5; font-family:"Poppins",sans-serif; color:var(--smp-ink); text-align:left; }
.smp-panel a { text-decoration:none; }
.smp-panel p,.smp-panel span,.smp-panel a { text-transform:none; }
.smp-grid { display:grid; grid-template-columns:1fr; gap:6px; }
.smp-group { padding:8px 4px; }
.smp-cat { display:flex; align-items:center; gap:10px; font-size:14px; font-weight:600; letter-spacing:0; text-transform:uppercase; color:var(--smp-ink); padding:6px 0 8px; line-height:1.35; }
.smp-cat i { color:var(--smp-blue); font-size:19px; width:24px; text-align:center; }
.smp-row { position:relative; display:flex; flex-wrap:wrap; align-items:center; }
.smp-link { flex:1 1 0; min-width:0; display:block; padding:9px 4px 9px 34px; color:var(--smp-ink)!important; font-size:15px; line-height:1.4; transition:color .15s ease; }
.smp-name { display:block; font-weight:400; }
.smp-desc { display:block; font-size:12px; color:var(--smp-muted); }
.smp-link:hover,.smp-link:focus-visible { color:var(--smp-blue)!important; }
.smp-plus { position:relative; flex:0 0 36px; width:36px; height:36px; padding:0; border:0; border-radius:6px; background:transparent; color:var(--smp-ink); cursor:pointer; }
.smp-plus::before,.smp-plus::after { content:""; position:absolute; top:50%; left:50%; width:14px; height:2px; margin:-1px 0 0 -7px; background:currentColor; transition:transform .2s ease; }
.smp-plus::after { transform:rotate(90deg); }
.smp-plus:hover { color:var(--smp-blue); background:#eef4ff; }
.smp-row.is-open>.smp-plus::after { transform:rotate(0); }
.smp-sub { display:none; flex:0 0 100%; margin:0 0 6px 34px; padding-left:12px; border-left:2px solid #e5ebf3; }
.smp-row.is-open>.smp-sub { display:block; }
.smp-sub .smp-link { padding:7px 4px; font-size:14px; color:#3a4452!important; }
.smp-cta { display:flex; flex-direction:column; gap:12px; margin-top:10px; padding:16px; border-radius:10px; background:#fdf3d7; }
.smp-cta-text { font-size:14px; font-weight:600; line-height:1.5; color:var(--smp-ink); }
.smp-cta-btn { display:inline-block; align-self:flex-start; padding:12px 22px; border-radius:9px; background:var(--smp-blue); color:#fff!important; font-size:15px; font-weight:500; transition:background .15s ease; }
.smp-cta-btn:hover { background:#0a4fd1; }
.smp-about-links a { display:block; padding:10px 4px; color:var(--smp-ink)!important; font-size:15px; line-height:1.45; }
.smp-about-links a:hover,.smp-about-links a:focus-visible { color:var(--smp-blue)!important; }
.smp-feature { margin-top:10px; padding:16px; border-radius:10px; background:#edf3fd; }
.smp-feature-title { margin-bottom:12px; font-size:18px; font-weight:600; color:var(--smp-ink); line-height:1.3; }
.smp-feature-image { display:block; overflow:hidden; border-radius:8px; background:#fff; }
.smp-feature-image img { display:block; width:100%; height:auto; }
.smp-feature p { margin:12px 0 8px; font-size:14px; line-height:1.6; color:var(--smp-ink); }
.smp-feature-link { display:inline-block; border-bottom:1px solid currentColor; color:var(--smp-blue)!important; font-size:15px; }

@media (min-width:992px) {
  body nav.main_menu .smp-wrap { position:static!important; }
  body nav.main_menu .navbar-collapse,
  body nav.main_menu .navbar-nav,
  body nav.main_menu>.container { position:static; }
  body nav.main_menu .ias2-mega-drop.smp-panel {
    position:absolute; top:100%; left:max(12px, calc(50% - 720px)); right:max(12px, calc(50% - 720px));
    width:auto!important; min-width:0!important; max-height:none!important; overflow:hidden!important;
    padding:0!important; transform:translateY(8px)!important; border:0; border-radius:14px;
    background:#fff; box-shadow:0 26px 60px rgba(9,20,40,.26);
    transition:opacity .18s ease, transform .18s ease;
  }
  body nav.main_menu .ias2-mega-wrap.ias2-open>.ias2-mega-drop.smp-panel { transform:translateY(0)!important; }
  body nav.main_menu .ias2-mega-drop.smp-panel-about { left:max(12px, calc(50% - 600px)); right:max(12px, calc(50% - 600px)); display:grid; grid-template-columns:1fr 1fr; }
  .smp-scroll { max-height:min(452px, calc(100vh - 290px)); overflow-y:auto; padding:26px 30px 10px; scrollbar-color:#c9ced6 transparent; }
  .smp-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 52px; align-items:start; }
  .smp-group { padding:0 0 18px; }
  .smp-group + .smp-group { padding-top:22px; border-top:1px dashed var(--smp-line); }
  .smp-cat { font-size:16px; padding:0 0 12px; }
  .smp-cat i { font-size:22px; width:30px; }
  .smp-link { display:flex; align-items:baseline; gap:12px; padding:10px 4px 10px 40px; font-size:16px; }
  .smp-name { flex:none; }
  .smp-desc { flex:1 1 0; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; opacity:0; transition:opacity .15s ease; }
  .smp-link:hover .smp-desc,.smp-link:focus-visible .smp-desc { opacity:1; }
  .smp-sub { margin-left:40px; }
  .smp-sub .smp-link { padding:7px 4px; font-size:15px; }
  .smp-cta { flex-direction:row; align-items:center; justify-content:space-between; gap:28px; margin:8px; padding:18px 22px; }
  .smp-cta-text { font-size:16px; }
  .smp-cta-btn { flex:none; align-self:center; padding:15px 30px; font-size:16px; }
  .smp-about-links { max-height:min(452px, calc(100vh - 170px)); overflow-y:auto; padding:18px 34px; }
  .smp-about-links a { padding:15px 8px; font-size:17px; }
  .smp-feature { margin:0; padding:26px 34px; border-radius:0; }
  .smp-feature-title { font-size:21px; }
  .smp-feature-image img { height:230px; object-fit:contain; }
  .smp-feature p { font-size:15px; }
}

/* The inner-page header stays a stacked menu until 1200px. */
@media (max-width:1199px) {
  .smp-panel.smp-inner .smp-scroll { max-height:none; overflow:visible; padding:0; }
  .smp-panel.smp-inner .smp-grid { grid-template-columns:1fr; gap:6px; }
  .smp-panel.smp-inner .smp-group + .smp-group { padding-top:8px; border-top:0; }
  .smp-panel.smp-inner .smp-link { display:block; padding:9px 4px 9px 34px; font-size:15px; }
  .smp-panel.smp-inner .smp-sub .smp-link { padding:7px 4px; font-size:14px; }
  .smp-panel.smp-inner .smp-desc { opacity:1; white-space:normal; }
  .smp-panel.smp-inner .smp-cta { flex-direction:column; align-items:flex-start; margin:10px 0 0; }
  .smp-panel.smp-inner .smp-cta-btn { align-self:flex-start; }
  .smp-panel.smp-inner .smp-about-links { max-height:none; padding:0; }
  .smp-panel.smp-inner .smp-feature { margin-top:10px; padding:16px; border-radius:10px; }
}
@media (prefers-reduced-motion:reduce) {
  .smp-panel,.smp-panel * { transition:none!important; }
}
