/* TraCarta mega menu. Shared by every page; the markup lives in each page's header. */
.hd nav.mm{align-self:stretch;align-items:stretch}
.mm-i{display:flex;align-items:center;gap:3px}
.hd nav.mm .mm-a{display:flex;align-items:center}
.mm-x{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin:0;padding:0;border:0;background:none;color:var(--m);cursor:pointer;transition:color .15s}
.mm-x svg{transition:transform .2s ease}
.mm-i:hover>.mm-x,.mm-i.open>.mm-x{color:#fff}
.mm-i.open>.mm-x svg{transform:rotate(180deg)}
.mm-x:focus-visible{outline:2px solid var(--uvD);outline-offset:2px}
.hd nav.mm .mm-i.open>.mm-a{color:#fff;border-color:var(--uvD)}

/* Panel */
.mm-p{position:absolute;left:0;right:0;top:100%;background:#fff;color:var(--ink);overflow:hidden;
  box-shadow:0 40px 70px -40px rgba(20,14,44,.55),0 1px 0 var(--hair);
  opacity:0;visibility:hidden;transform:translateY(-6px);pointer-events:none;
  transition:opacity .18s ease,transform .22s ease,visibility 0s linear .22s}
.mm-i.open>.mm-p,html:not(.mmjs) .mm-i:hover>.mm-p,html:not(.mmjs) .mm-i:focus-within>.mm-p{
  opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .18s ease,transform .22s ease,visibility 0s}
.mm-p:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--rv),var(--uvD) 60%,transparent)}
.mm-in{padding-top:40px}
.mm-g{display:grid;gap:44px;padding-bottom:40px;align-items:stretch}
.mm-gs{grid-template-columns:1fr 1fr 330px;padding-bottom:32px}
.mm-gi{grid-template-columns:1fr 360px}
.mm-gn{grid-template-columns:1.25fr 1fr 320px}
.mm-ga{grid-template-columns:1fr 1fr 320px}
.mm-col{min-width:0}

/* Reset the header's own link styles inside panels */
.hd .mm-p a,.hd .mm-p a:hover{padding:0;border:0;color:inherit;text-decoration:none;font-weight:inherit}
.mm-h{margin:0 0 6px;padding-bottom:12px;border-bottom:1px solid var(--hair);font:600 11.5px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}
.mm-h2{margin-top:22px}

/* Service items */
.hd nav.mm .mm-l{display:block;padding:12px 14px;margin:0 -14px;transition:background .15s}
.hd nav.mm .mm-l:hover{background:var(--stage)}
.mm-l small{display:block;font:500 11.5px/1.3 var(--body);color:var(--uv);letter-spacing:.02em;margin-bottom:4px}
.mm-l b{display:block;font:600 16px/1.3 var(--disp);color:var(--ink);transition:color .15s}
.mm-l>span{display:block;font:400 14px/1.5 var(--body);color:var(--slate);margin-top:4px}
.mm-l:hover b{color:var(--rv)}
.mm-b{display:inline-block;font:600 10.5px/1 var(--body);font-style:normal;letter-spacing:.08em;text-transform:uppercase;padding:4px 7px;margin-left:8px;vertical-align:3px;background:var(--stage2);color:var(--rv)}
.mm-s b{font-size:15.5px}
.mm-s>span{font-size:13.5px;margin-top:2px}

/* Feature cards */
.hd nav.mm .mm-f{display:flex;flex-direction:column;color:#fff;min-height:100%;position:relative;overflow:hidden}
.mm-fb{display:flex;flex-direction:column;gap:8px;padding:24px 26px 26px;flex:1;position:relative}
.mm-fb>small{font:600 11.5px/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:#CFC4F2}
.mm-fb>b{font:600 21px/1.22 var(--disp);letter-spacing:-.01em}
.mm-fb>span{font:400 14.5px/1.55 var(--body);color:rgba(255,255,255,.82)}
.mm-fb>em{font:600 14px var(--body);font-style:normal;margin-top:auto;padding-top:14px;display:inline-flex;align-items:center;gap:8px}
.mm-ar{transition:transform .2s ease;flex:none}
.mm-f:hover .mm-ar,.mm-more:hover .mm-ar,.mm-cta:hover .mm-ar,.mm-btn:hover .mm-ar{transform:translateX(3px)}
.mm-fimg{background:#3A1C7A}
.mm-ph{display:block;height:150px;background-size:cover;background-position:center;position:relative;transition:transform .6s ease}
.mm-ph:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(58,28,122,.15),rgba(58,28,122,.85))}
.mm-fimg:hover .mm-ph{transform:scale(1.04)}
.mm-fdk,.mm-fct{background:repeating-linear-gradient(118deg,rgba(171,148,236,.11) 0 1px,transparent 1px 24px),linear-gradient(155deg,#3D1F7E 0%,#2A1758 45%,#23232B 100%)}
.mm-stat{display:flex;gap:32px;border-top:1px solid rgba(255,255,255,.18);padding-top:16px;margin-top:10px}
.mm-stat>span{font:400 13px var(--body);color:rgba(255,255,255,.75)}
.mm-stat b{display:block;font:400 34px/1 var(--disp);letter-spacing:-.03em;color:#CFC4F2;margin-bottom:4px}
.hd nav.mm .mm-frp{background:var(--stage);color:var(--ink)}
.mm-frp .mm-fb>small{color:var(--uv)}
.mm-frp .mm-fb>span{color:#3D3D48}
.mm-frp .mm-fb>em{color:var(--rv)}
.mm-doc{display:block;position:relative;width:104px;height:132px;margin:26px 26px 0;background:#fff;box-shadow:0 18px 30px -18px rgba(46,26,94,.45);border-top:4px solid var(--rv);padding:14px 12px;transform:rotate(-3deg);transition:transform .3s ease}
.mm-frp:hover .mm-doc{transform:rotate(0) translateY(-2px)}
.mm-doc i{display:block;height:5px;background:var(--stage2);margin-bottom:7px}
.mm-doc i:nth-child(1){width:80%;background:#CDBFEA}.mm-doc i:nth-child(2){width:95%}.mm-doc i:nth-child(3){width:60%}
.mm-doc img,header .hd .mm-doc img{position:absolute;left:12px;bottom:12px;height:9px!important;width:auto!important;filter:invert(1) brightness(.2)}
header .hd .mm-p1 img{height:44px!important;width:44px!important;max-width:none!important}
.mm-ct{display:flex;flex-direction:column;gap:4px;margin-top:8px}
.hd nav.mm .mm-ct a{font:500 15px var(--body);color:#fff}
.hd nav.mm .mm-ct a:hover{color:#CFC4F2}
.hd nav.mm .mm-btn{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--rv);font:600 14px var(--body);padding:11px 16px}

/* Industries */
.mm-two{display:grid;grid-template-columns:1fr 1fr;column-gap:36px}
.hd nav.mm .mm-n{display:flex;gap:14px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--hair)}
.mm-n i{font:500 12px var(--disp);font-style:normal;color:var(--uv);width:20px;flex:none}
.mm-n b{font:500 15.5px/1.35 var(--disp);color:var(--ink);transition:color .15s,transform .2s;display:block}
.mm-n:hover b{color:var(--rv);transform:translateX(3px)}

/* Insights */
.hd nav.mm .mm-r{display:block;padding:13px 0;border-bottom:1px solid var(--hair);font:500 15.5px/1.4 var(--disp);color:var(--ink);transition:color .15s}
.hd nav.mm .mm-r:hover{color:var(--rv)}
.hd nav.mm .mm-more{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font:600 14px var(--body);color:var(--rv)}

/* About */
.hd nav.mm .mm-p1{display:flex;gap:14px;align-items:center;padding:11px 14px;margin:0 -14px;transition:background .15s}
.hd nav.mm .mm-p1:hover{background:var(--stage)}
.mm-p1 img{width:44px;height:44px;border-radius:50%;object-fit:cover;filter:grayscale(1);transition:filter .3s;flex:none;display:block}
.mm-p1:hover img{filter:none}
.mm-p1 b{display:block;font:600 15px/1.3 var(--disp);color:var(--ink)}
.mm-p1 span span{display:block;font:400 13px/1.4 var(--body);color:var(--slate)}

/* Services footer bar */
.mm-bar{position:relative;display:flex;align-items:center;gap:12px 28px;flex-wrap:wrap;padding:18px 0}
.mm-bar:before{content:"";position:absolute;top:0;bottom:0;left:-100vw;right:-100vw;background:#F7F5FB;border-top:1px solid var(--hair);z-index:-1}
.mm-ov{font:500 14px var(--body);color:var(--slate)}
.mm-bl{display:flex;gap:24px;flex-wrap:wrap}
.hd nav.mm .mm-bl a{font:600 14px var(--body);color:var(--ink)}
.hd nav.mm .mm-bl a:hover{color:var(--rv)}
.hd nav.mm .mm-cta{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font:600 14px var(--body);color:#fff;background:var(--rv);padding:10px 16px}
.hd nav.mm .mm-cta:hover{background:#4E22A0}

/* Dim the page behind an open panel */
body:after{content:"";position:fixed;left:0;right:0;top:72px;bottom:0;background:rgba(20,16,34,.38);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:9}
body.mm-on:after{opacity:1}

/* Laptops: tighter */
@media(max-width:1280px) and (min-width:1121px){.mm-gs,.mm-gn,.mm-ga{grid-template-columns:1fr 1fr 290px;gap:32px}.mm-gi{grid-template-columns:1fr 300px;gap:32px}.mm-l>span{font-size:13.5px}}

/* Phones and tablets: the menu becomes an accordion inside the existing mobile menu */
@media(max-width:1120px){
  body:after{display:none}
  header.open .hd nav.mm{max-height:calc(100vh - 72px);overflow-y:auto;overscroll-behavior:contain;align-items:stretch}
  .mm-i{display:grid;grid-template-columns:1fr 48px;align-items:center;border-bottom:1px solid #45454D}
  header.open .hd nav.mm .mm-i>.mm-a{border-bottom:0!important}
  .mm-x{width:48px;height:48px;color:#fff}
  .mm-p{position:static;grid-column:1/-1;display:none;opacity:1;visibility:visible;transform:none;pointer-events:auto;box-shadow:none;background:transparent;color:#fff;transition:none}
  .mm-p:before{display:none}
  .mm-i.open>.mm-p{display:block}
  .mm-in{padding:0 0 14px!important;max-width:none}
  .mm-g{display:block;padding:0}
  header.open .hd nav.mm .mm-p a.mm-f,header.open .hd nav.mm .mm-p div.mm-f,header .hd nav.mm .mm-p .mm-f,.mm-ov,.mm-l small,.mm-l>span,.mm-s>span,header .hd .mm-p1 img,.mm-p1 span span,.mm-n i{display:none!important}
  .mm-b{background:rgba(171,148,236,.18);color:#CFC4F2;vertical-align:1px}
  .mm-h{border:0;color:#9A9AA6;padding:12px 0 4px;margin:0}
  .mm-two{display:block}
  .mm-bar{display:block;padding:8px 0 0}
  .mm-bar:before{display:none}
  .mm-bl{display:block}
  header.open .hd nav.mm .mm-p a{display:block!important;padding:10px 0 10px 14px!important;margin:0!important;border:0!important;background:none!important;color:#D8D8DF!important;font:400 15px/1.4 var(--body)!important}
  header.open .hd nav.mm .mm-p a b{font:inherit;color:inherit}
  header.open .hd nav.mm .mm-p .mm-cta{color:#CFC4F2!important;font-weight:600!important}
}
@media(prefers-reduced-motion:reduce){.mm-p,.mm-x svg,.mm-ph,.mm-doc,.mm-ar,.mm-n b,body:after{transition:none!important}}

/* Services page index: room for Hotel GST Reconciliation */
@media(min-width:901px){.idx{grid-template-columns:repeat(6,1fr)}}
