/* =========================================================
   ARRV — Product & Project inner pages + nested mega menus
   (loaded after style.css)
   ========================================================= */

/* ---------- Mega menu: grouped columns with sub-links ---------- */
.dd.mega .dd-m.mm{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 26px;padding:24px 26px 18px}
.dd.mega .dd-m.mm.five{grid-template-columns:1fr 1.15fr 1fr 1fr 1fr}
.mm .mcol h5{display:flex;align-items:center;gap:8px}
.mm .mcol h5 .ico{color:var(--orange);font-size:16px;stroke-width:2}
.mm .mcol a{padding:7px 12px;font-size:14.5px}
.mm .mcol a .ico{font-size:11px}
.mm .mrow{display:flex;flex-direction:column;align-items:stretch;gap:0;border-radius:6px;padding-bottom:6px}
.mm .mrow:hover{background:#f4f7fc}
.mm .mrow>a{flex:1;min-width:0}
.mm .mrow>a:hover{background:none}
.mm .msub{display:flex;gap:6px;padding:0 8px 0 31px;flex:none}
.mm .msub a{padding:2px 7px!important;font-size:11.5px!important;font-weight:600;border:1px solid #d6dfec;border-radius:20px;color:#4a5872;letter-spacing:.2px}
.mm .msub a:hover{border-color:var(--blue);background:var(--blue)!important;color:#fff!important}
.mm .mcol+.mcol{border-left:1px dashed #e6ebf3;padding-left:4px}
@media (max-width:1260px){.dd.mega .dd-m.mm.five{grid-template-columns:repeat(3,minmax(0,1fr))}.mm .mcol+.mcol{border-left:0}}
@media (max-width:1140px){
  .dd.mega.open>.dd-m.mm,.dd.mega.open>.dd-m.mm.five{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px}
  .mm .mrow:hover{background:none}
}
@media (max-width:560px){.dd.mega.open>.dd-m.mm,.dd.mega.open>.dd-m.mm.five{grid-template-columns:1fr}}

/* ---------- Inner hero tweaks ---------- */
.ip-hero .copy{max-width:720px}
.ip-hero .kicker{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-display);font-weight:700;font-size:13px;letter-spacing:2.4px;text-transform:uppercase;color:var(--orange-hi)}
.ip-hero .kicker::before{content:"";width:26px;height:2px;background:var(--orange)}

/* ---------- Layout ---------- */
.ip-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:44px;align-items:start}
.ip-main{min-width:0;display:grid;gap:34px}
@media (max-width:1000px){.ip-layout{grid-template-columns:1fr}.ip-side{position:static!important}}

/* ---------- Media ---------- */
.ip-media{position:relative;margin:0 14px 14px 0}
.ip-media::after{content:"";position:absolute;right:-14px;bottom:-14px;width:46%;height:56%;border-right:4px solid var(--orange);border-bottom:4px solid var(--orange);border-radius:0 0 12px 0;pointer-events:none}
.ip-media .frame{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:16/10;background:#e9eef6;box-shadow:0 18px 40px rgba(15,29,51,.14)}
.ip-media .frame img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.ip-media:hover .frame img{transform:scale(1.04)}
.ip-media .tag{position:absolute;left:16px;top:16px;z-index:1;display:inline-flex;align-items:center;gap:7px;background:var(--ink);color:#fff;font-family:var(--f-display);font-weight:600;font-size:13px;letter-spacing:1px;text-transform:uppercase;padding:7px 14px;border-radius:30px}
.ip-media .tag .ico{color:var(--orange)}

/* ---------- Copy ---------- */
.ip-copy{display:grid;gap:14px}
.ip-copy h2{font-size:clamp(26px,3vw,36px);color:var(--ink)}
.ip-copy .lead{font-size:18px;color:#1d2a44;line-height:1.7}
.ip-copy p{color:#4a5568;line-height:1.8}
.ip-h3{display:flex;align-items:center;gap:12px;font-size:21px;color:var(--ink);margin-bottom:16px}
.ip-h3::before{content:"";width:6px;height:22px;border-radius:3px;background:linear-gradient(180deg,var(--orange),#ff9f1a)}

.ip-feat{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ip-feat li{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:#f6f8fc;border:1px solid #e6ecf4;border-radius:10px;color:#24324a;font-size:15px;line-height:1.5}
.ip-feat li .ico{flex:none;width:22px;height:22px;padding:4px;border-radius:50%;background:var(--blue);color:#fff;stroke-width:3;margin-top:1px}
@media (max-width:620px){.ip-feat{grid-template-columns:1fr}}

.ip-apps{display:flex;flex-wrap:wrap;gap:10px}
.ip-apps span{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:30px;background:#fff;border:1px solid #d6dfec;color:var(--ink);font-weight:500;font-size:14.5px}
.ip-apps span .ico{color:var(--blue);stroke-width:2}

.ip-spec{width:100%;border-collapse:collapse;border:1px solid #e1e7f0;border-radius:10px;overflow:hidden;font-size:15px}
.ip-spec th,.ip-spec td{padding:13px 18px;text-align:left;border-bottom:1px solid #e9eef5;vertical-align:top}
.ip-spec th{width:38%;background:#f4f7fc;color:var(--ink);font-family:var(--f-display);font-weight:600}
.ip-spec td{color:#3d4a60}
.ip-spec tr:last-child th,.ip-spec tr:last-child td{border-bottom:0}
.ip-note{font-size:13.5px;color:#7a869a;margin-top:10px}
@media (max-width:520px){.ip-spec th,.ip-spec td{display:block;width:100%}.ip-spec th{border-bottom:0;padding-bottom:4px}.ip-spec td{padding-top:4px}}

/* process steps */
.ip-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:s}
.ip-steps li{list-style:none;position:relative;padding:20px 18px 18px;border-radius:10px;background:#fff;border:1px solid #e3e8f0;box-shadow:0 6px 18px rgba(15,29,51,.05)}
.ip-steps li::before{counter-increment:s;content:"0" counter(s);display:block;font-family:var(--f-display);font-weight:700;font-size:28px;color:var(--orange);line-height:1;margin-bottom:10px}
.ip-steps b{display:block;color:var(--ink);font-family:var(--f-display);font-size:16px;margin-bottom:4px}
.ip-steps span{font-size:14px;color:#55627a;line-height:1.5}
.ip-steps{padding:0;margin:0}
@media (max-width:820px){.ip-steps{grid-template-columns:1fr 1fr}}
@media (max-width:440px){.ip-steps{grid-template-columns:1fr}}

/* ---------- Sidebar ---------- */
.ip-side{position:sticky;top:110px;display:grid;gap:22px}
.ip-box{border-radius:12px;overflow:hidden;background:#fff;border:1px solid #e3e8f0;box-shadow:0 10px 28px rgba(15,29,51,.07)}
.ip-box h4{display:flex;align-items:center;gap:10px;margin:0;padding:16px 20px;background:var(--ink);color:#fff;font-size:17px;border-bottom:3px solid var(--orange)}
.ip-box h4 .ico{color:var(--orange);font-size:18px}
.ip-links{list-style:none;margin:0;padding:8px}
.ip-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border-radius:7px;color:#2a3850;font-size:15px;line-height:1.35;border-bottom:1px dashed #e8edf5}
.ip-links li:last-child a{border-bottom:0}
.ip-links a .ico{flex:none;color:#9aa7bb;font-size:14px;stroke-width:2.2;transition:transform .2s}
.ip-links a:hover{background:#eef3fc;color:var(--blue)}
.ip-links a:hover .ico{transform:translateX(3px);color:var(--blue)}
.ip-links a[aria-current]{background:var(--blue);color:#fff;font-weight:600;border-bottom-color:transparent}
.ip-links a[aria-current] .ico{color:var(--orange)}
.ip-links .grp{padding:12px 12px 4px;font-family:var(--f-display);font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:#8a95a8;font-weight:700}
.ip-call{position:relative;padding:26px 22px;border-radius:12px;color:#fff;background:linear-gradient(150deg,#0b3478 0%,#082656 60%,#061c42 100%);overflow:hidden}
.ip-call::before{content:"";position:absolute;right:-30px;top:-30px;width:140px;height:140px;border-radius:50%;border:22px solid rgba(245,184,0,.16)}
.ip-call small{display:block;font-family:var(--f-display);letter-spacing:2px;text-transform:uppercase;font-size:12px;color:var(--orange-hi);font-weight:700}
.ip-call h4{font-size:21px;margin:6px 0 10px;color:#fff}
.ip-call p{color:#c3d2ee;font-size:14.5px;margin-bottom:16px}
.ip-call a.ph{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-size:19px;font-weight:600;margin-bottom:8px}
.ip-call a.ph .ico{width:36px;height:36px;padding:8px;border-radius:50%;background:var(--orange);color:var(--on-accent);stroke-width:2}
.ip-call .btn{width:100%;justify-content:center;margin-top:10px}

/* ---------- Tabs (project internal / external) ---------- */
.ip-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:2px solid #e6ecf4;margin-bottom:22px}
.ip-tabs button{display:inline-flex;align-items:center;gap:8px;background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-2px;padding:12px 18px;font-family:var(--f-display);font-weight:600;font-size:16px;color:#55627a;cursor:pointer}
.ip-tabs button .ico{font-size:18px}
.ip-tabs button[aria-selected="true"]{color:var(--blue);border-bottom-color:var(--orange)}
.ip-tabs button:hover{color:var(--ink)}
.ip-pane[hidden]{display:none}
.ip-pane{display:grid;gap:22px}
.ip-pane-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center}
.ip-pane-grid .pic{border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:#e9eef6}
.ip-pane-grid .pic img{width:100%;height:100%;object-fit:cover}
.ip-pane-grid p{color:#4a5568;line-height:1.75;margin-bottom:14px}
.ip-pane-grid .ip-feat{grid-template-columns:1fr}
.ip-pane-grid .ip-feat li{padding:10px 14px}
@media (max-width:720px){.ip-pane-grid{grid-template-columns:1fr}}

/* ---------- Gallery strip ---------- */
.ip-gal{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:180px 180px;gap:12px}
.ip-gal figure{margin:0;border-radius:10px;overflow:hidden;background:#e9eef6;position:relative}
.ip-gal figure:first-child{grid-row:span 2}
.ip-gal img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ip-gal figure:hover img{transform:scale(1.06)}
@media (max-width:620px){.ip-gal{grid-template-columns:1fr 1fr;grid-template-rows:200px 130px 130px}.ip-gal figure:first-child{grid-column:span 2;grid-row:auto}}

/* ---------- Related cards ---------- */
.ip-rel{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ip-card{display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:#fff;border:1px solid #e3e8f0;box-shadow:0 8px 22px rgba(15,29,51,.06);transition:transform .25s,box-shadow .25s}
.ip-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(15,29,51,.12)}
.ip-card .ph{aspect-ratio:4/3;overflow:hidden;background:#e9eef6}
.ip-card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ip-card:hover .ph img{transform:scale(1.06)}
.ip-card .pb{padding:16px 18px 18px;display:grid;gap:6px}
.ip-card .pb small{font-family:var(--f-display);font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:var(--blue);font-weight:700}
.ip-card .pb h3{font-size:17px;color:var(--ink)}
.ip-card .pb .link-more{color:var(--blue);margin-top:4px}
@media (max-width:1000px){.ip-rel{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.ip-rel{grid-template-columns:1fr}}
.ip-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:26px}
.ip-sec-head h2{font-size:clamp(24px,2.8vw,32px);color:var(--ink)}

/* ---------- Overview (hub) cards on products/projects ---------- */
.prod .link-more+.link-more{margin-left:14px}
