/* TG3 mega-menu chrome — namespaced under .tg3nav to avoid clashing with legacy .nav */
/* ===== announcement bar (orange-equivalent → TG3 cobalt) ===== */
.tg3nav .annc {background:linear-gradient(90deg,var(--cobalt-deep),var(--cobalt));color:#fff;font-size:13.5px;
  display:flex;align-items:center;justify-content:center;gap:14px;padding:11px 20px;position:relative}
.tg3nav .annc .tag {background:rgba(255,255,255,.18);font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;padding:4px 9px;border-radius:5px}
.tg3nav .annc a {color:#fff;font-weight:600;text-decoration:none;border-bottom:1.5px solid rgba(255,255,255,.6);padding-bottom:1px}
.tg3nav .annc .x {position:absolute;right:18px;opacity:.7;cursor:pointer;background:none;border:none;color:#fff;font-size:16px}

/* ===== nav shell ===== */
.tg3nav .shell {max-width:1320px;margin:0 auto;padding:0 24px;position:relative}
.tg3nav .nav {display:flex;align-items:center;gap:8px;height:70px;padding:0 8px 0 18px;
  background:var(--navy);border-radius:16px;position:relative;z-index:30;box-shadow:0 18px 44px -22px rgba(8,24,46,.6)}
.tg3nav .brand {font-family:var(--font-display);font-weight:800;font-size:23px;color:#fff;letter-spacing:-.02em;padding-right:18px}
.tg3nav .brand b {color:var(--cobalt-bright)}
.tg3nav .menu {display:flex;align-items:center;gap:2px}
.tg3nav .menu>.it {position:relative}
.tg3nav .menu>.it>a, .tg3nav .menu>.it>button {font-family:var(--font-body);font-size:14.5px;font-weight:500;color:rgba(255,255,255,.82);
  background:none;border:none;cursor:pointer;padding:10px 14px;border-radius:9px;display:inline-flex;align-items:center;gap:7px;transition:background .16s,color .16s}
.menu>.it>a:hover,.menu>.it>button:hover,.menu>.it.on>button{color:#fff;background:rgba(255,255,255,.09)}
.tg3nav .menu .chev {transition:transform .24s;opacity:.6}
.tg3nav .menu>.it.on .chev {transform:rotate(180deg)}
.tg3nav .sp {flex:1}
.tg3nav .region {font-family:var(--font-mono);font-size:12px;color:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.18);padding:8px 12px;border-radius:8px;margin-right:8px}
.tg3nav .book {color:#fff;border:1px solid rgba(255,255,255,.28);padding:11px 16px;border-radius:9px;font-size:14px;font-weight:500;text-decoration:none;margin-right:8px;display:inline-flex;gap:7px;align-items:center}
.book:hover{background:rgba(255,255,255,.08)}
.tg3nav .signup {background:var(--cobalt);color:#fff;padding:12px 18px;border-radius:9px;font-size:14px;font-weight:600;text-decoration:none;transition:transform .16s,box-shadow .16s}
.signup:hover{transform:translateY(-1px);box-shadow:0 12px 26px -10px rgba(26,111,227,.7)}

/* ===== dropdown shell ===== */
.tg3nav .dd {position:absolute;top:calc(100% + 14px);left:0;opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .22s cubic-bezier(.2,.8,.2,1),transform .22s cubic-bezier(.2,.8,.2,1),visibility .22s;z-index:25}
.tg3nav .menu>.it.on .dd {opacity:1;visibility:visible;transform:translateY(0)}
.tg3nav .panel {background:#fff;border-radius:18px;box-shadow:0 36px 80px -28px rgba(8,24,46,.55),0 0 0 1px rgba(11,23,48,.05);overflow:hidden}
.tg3nav .eyebrow {font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--cobalt);margin-bottom:0}
.tg3nav .foot {background:var(--navy);color:#fff;padding:18px 28px;display:flex;align-items:center;gap:14px}
.tg3nav .foot .fi {width:36px;height:36px;border-radius:9px;background:rgba(74,147,240,.16);display:flex;align-items:center;justify-content:center;color:var(--cobalt-bright)}
.tg3nav .foot .ft {font-size:14px;font-weight:600;color:#fff}
.tg3nav .foot .fs {font-size:13px;color:rgba(255,255,255,.6)}
.tg3nav .foot .fcta {margin-left:auto;font-weight:600;font-size:13.5px;color:var(--cobalt-bright);text-decoration:none;display:inline-flex;gap:7px;align-items:center}

/* ===== SERVICES: split rail + live preview ===== */
.tg3nav .dd-serv {width:760px}
.tg3nav .serv-grid {display:grid;grid-template-columns:300px 1fr}
.tg3nav .serv-rail {padding:22px 16px;border-right:1px solid var(--border)}
.tg3nav .srow {display:flex;align-items:center;gap:13px;padding:11px 13px;border-radius:11px;cursor:pointer;text-decoration:none;transition:background .14s}
.srow:hover,.srow.act{background:var(--cobalt-soft)}
.tg3nav .srow .si {width:34px;height:34px;border-radius:9px;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--cobalt);flex:none}
.tg3nav .srow.act .si {background:var(--cobalt);color:#fff;border-color:var(--cobalt)}
.tg3nav .srow .st {display:block;font-size:14.5px;font-weight:600;color:var(--ink)}
.tg3nav .srow .sd {display:block;font-size:12px;color:var(--slate-3);margin-top:2px}
.tg3nav .srow .sar {margin-left:auto;color:var(--cobalt);opacity:0;transition:opacity .14s}
.srow:hover .sar,.srow.act .sar{opacity:1}
.tg3nav .serv-prev {padding:28px 30px;background:linear-gradient(165deg,#fff,#f5f9ff);position:relative}
.tg3nav .pv {display:none}.pv.act{display:block;animation:fade .25s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.pv .ptag{display:inline-block;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--cobalt);background:var(--cobalt-soft);padding:4px 9px;border-radius:5px}
.pv h3{font-family:var(--font-display);font-weight:700;font-size:23px;margin:14px 0 8px;color:var(--ink)}
.pv p{font-size:14px;color:var(--slate-2);line-height:1.6;max-width:42ch}
.pv .stat{margin:20px 0;display:flex;align-items:baseline;gap:10px;padding:16px;background:var(--navy);border-radius:12px}
.pv .stat b{font-family:var(--font-display);font-weight:700;font-size:30px;color:#fff;line-height:1}
.pv .stat span{font-family:var(--font-mono);font-size:11px;color:rgba(255,255,255,.55)}
.pv .checks{margin:16px 0 0;display:flex;flex-direction:column;gap:9px}
.pv .ck{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--slate)}
.pv .ck svg{color:var(--cobalt);flex:none}
.pv .pgo{margin-top:18px;font-weight:600;font-size:14px;color:var(--cobalt);text-decoration:none;display:inline-flex;gap:7px;align-items:center}

/* ===== SOLUTIONS: tri-column icon cards ===== */
.dd-sol{width:880px}
.sol-pad{padding:28px 30px 24px}
.sol-cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px}
.sol-col .ttl{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--slate-3);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.scard{display:flex;align-items:flex-start;gap:12px;padding:10px 10px;border-radius:11px;text-decoration:none;transition:background .14s}
.scard:hover{background:var(--bone)}
.scard .ic{width:36px;height:36px;border-radius:10px;background:var(--cobalt-soft);display:flex;align-items:center;justify-content:center;color:var(--cobalt);flex:none}
.scard .nm{display:block;font-size:14px;font-weight:600;color:var(--ink)}
.scard .ds{display:block;font-size:12px;color:var(--slate-3);margin-top:2px;line-height:1.4}
.badge{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;background:var(--cobalt);color:#fff;padding:2px 6px;border-radius:4px;margin-left:7px;vertical-align:middle}

/* ===== RESOURCES: two-zone (tools launcher + content list) ===== */
.dd-res{width:840px}
.res-grid{display:grid;grid-template-columns:1.35fr 1fr}
.res-tools{padding:26px 28px;border-right:1px solid var(--border)}
.res-tools .ttl,.res-side .ttl{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--slate-3);margin-bottom:16px;display:flex;align-items:center;gap:8px}
.res-tools .ttl .pill{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;background:var(--cobalt-soft);color:var(--cobalt);padding:3px 7px;border-radius:5px}
.tgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tchip{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:10px;text-decoration:none;border:1px solid var(--border);transition:border-color .14s,background .14s,transform .14s}
.tchip:hover{border-color:var(--cobalt);background:var(--cobalt-soft);transform:translateY(-1px)}
.tchip .tk{font-family:var(--font-mono);font-weight:600;font-size:12px;color:var(--cobalt);background:#fff;border:1px solid var(--border);border-radius:7px;width:38px;height:30px;display:flex;align-items:center;justify-content:center;flex:none}
.tchip .tn{font-size:13px;font-weight:600;color:var(--ink)}
.tmore{margin-top:14px;font-family:var(--font-mono);font-size:12px;color:var(--cobalt);text-decoration:none;display:inline-flex;gap:7px;align-items:center}
.res-side{padding:26px 26px}
.rlink{display:flex;align-items:flex-start;gap:12px;padding:11px 11px;border-radius:11px;text-decoration:none;transition:background .14s}
.rlink:hover{background:var(--bone)}
.rlink .ic{width:38px;height:38px;border-radius:10px;background:var(--cobalt-soft);display:flex;align-items:center;justify-content:center;color:var(--cobalt);flex:none}
.rlink .nm{display:block;font-size:14px;font-weight:600;color:var(--ink)}
.rlink .ds{display:block;font-size:12px;color:var(--slate-3);margin-top:2px;line-height:1.4}

/* ===== PRICING: 3 plan cards ===== */
.dd-price{width:820px}
.price-pad{padding:24px 26px 22px}
.price-save{display:flex;align-items:center;gap:10px;background:var(--cobalt-soft);border-radius:10px;padding:11px 16px;margin-bottom:18px;font-size:13px;color:var(--ink)}
.price-save b{background:var(--cobalt);color:#fff;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;padding:4px 8px;border-radius:5px}
.price-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.pcard{border:1px solid var(--border);border-radius:14px;padding:20px;display:flex;flex-direction:column;transition:border-color .16s,transform .16s}
.pcard:hover{border-color:var(--cobalt);transform:translateY(-2px)}
.pcard.feat{border-color:var(--cobalt);box-shadow:0 0 0 1px var(--cobalt)}
.pcard .ptag{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-3)}
.pcard.feat .ptag{color:var(--cobalt)}
.pcard h4{font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--ink);margin:4px 0 2px}
.pcard .sub{font-size:11.5px;color:var(--slate-3);margin-bottom:12px;min-height:30px}
.pcard .amt{font-family:var(--font-display);font-weight:700;font-size:26px;color:var(--ink);line-height:1}
.pcard .amt small{font-size:12px;color:var(--slate-3);font-weight:500}
.pcard ul{list-style:none;margin:14px 0 16px;display:flex;flex-direction:column;gap:7px}
.pcard li{font-size:12px;color:var(--slate);display:flex;gap:7px;align-items:flex-start;line-height:1.35}
.pcard li svg{color:var(--cobalt);flex:none;margin-top:1px}
.pcard .pbtn{margin-top:auto;text-align:center;font-size:13px;font-weight:600;padding:10px;border-radius:9px;text-decoration:none;border:1px solid var(--cobalt);color:var(--cobalt)}
.pcard.feat .pbtn{background:var(--cobalt);color:#fff;border-color:var(--cobalt)}

/* ============ MOBILE + RESPONSIVE ============ */
.tg3nav .burger{display:none;background:none;border:none;cursor:pointer;padding:10px;margin-left:auto}
.tg3nav .burger span{display:block;width:22px;height:2px;background:#fff;margin:4px 0;transition:transform .2s,opacity .2s}
.tg3nav.open-mobile .burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.tg3nav.open-mobile .burger span:nth-child(2){opacity:0}
.tg3nav.open-mobile .burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media (max-width: 1080px){
  .tg3nav .burger{display:block}
  .tg3nav .region,.tg3nav .book{display:none}
  .tg3nav .menu{position:fixed;inset:0 0 0 auto;width:min(420px,86vw);background:var(--navy);
    flex-direction:column;align-items:stretch;gap:0;padding:84px 20px 28px;transform:translateX(100%);
    transition:transform .28s cubic-bezier(.2,.8,.2,1);overflow-y:auto;z-index:120;box-shadow:-20px 0 60px -20px rgba(0,0,0,.6)}
  .tg3nav.open-mobile .menu{transform:translateX(0)}
  .tg3nav .menu>.it{width:100%;border-bottom:1px solid rgba(255,255,255,.08)}
  .tg3nav .menu>.it>a,.tg3nav .menu>.it>button{width:100%;justify-content:space-between;padding:16px 6px;font-size:16px;border-radius:0}
  .tg3nav .menu>.it>button .chev{margin-left:auto}
  /* dropdowns become inline accordions on mobile */
  .tg3nav .dd{position:static;opacity:1;visibility:visible;transform:none;width:100%!important;
    max-height:0;overflow:hidden;transition:max-height .3s ease;padding:0}
  .tg3nav .it.on .dd{max-height:1400px}
  .tg3nav .panel{box-shadow:none;border-radius:0;background:transparent}
  .tg3nav .dd-serv,.tg3nav .dd-sol,.tg3nav .dd-res,.tg3nav .dd-price{width:100%}
  .tg3nav .serv-grid,.tg3nav .res-grid{grid-template-columns:1fr}
  .tg3nav .serv-prev{display:none} /* hide live-preview on mobile; rail links are enough */
  .tg3nav .serv-rail{border-right:none;padding:6px 0}
  .tg3nav .sol-cols{grid-template-columns:1fr;gap:14px}
  .tg3nav .price-cards{grid-template-columns:1fr;gap:10px}
  .tg3nav .res-tools{border-right:none;padding:14px 0}
  .tg3nav .res-side{padding:14px 0}
  .tg3nav .tgrid{grid-template-columns:1fr 1fr}
  .tg3nav .srow,.tg3nav .scard,.tg3nav .rlink{color:#fff}
  .tg3nav .srow .st,.tg3nav .scard .nm,.tg3nav .rlink .nm{color:#fff}
  .tg3nav .panel .ttl,.tg3nav .res-tools .ttl,.tg3nav .res-side .ttl{color:rgba(255,255,255,.6)}
  .tg3nav .srow:hover,.tg3nav .srow.act,.tg3nav .scard:hover,.tg3nav .rlink:hover{background:rgba(255,255,255,.06)}
  .tg3nav .foot{background:rgba(255,255,255,.04);border-radius:10px;margin-top:8px}
  .tg3nav .pcard{background:rgba(255,255,255,.03)}
  .tg3nav .pcard h4,.tg3nav .pcard .amt{color:#fff}
  .tg3nav .annc{font-size:12.5px;padding:10px 36px 10px 14px}
  .tg3nav .annc .tag{display:none}
  /* mobile menu backdrop */
  .tg3nav .scrim{display:none;position:fixed;inset:0;background:rgba(8,24,46,.5);z-index:110}
  .tg3nav.open-mobile .scrim{display:block}
}

/* ============ KEYBOARD FOCUS ============ */
.tg3nav a:focus-visible,.tg3nav button:focus-visible{outline:2px solid var(--cobalt-bright);outline-offset:2px;border-radius:6px}
.tg3nav .menu>.it>button:focus-visible{outline-offset:-2px}

/* rotating value bar (Option B) */
.tg3nav .annc{background:var(--navy-deep);color:rgba(255,255,255,.92);border-bottom:1px solid var(--navy-2)}
.tg3nav .annc .tag{background:var(--cobalt);color:#fff}
.tg3nav .annc a{color:var(--cobalt-bright);border-bottom-color:rgba(74,147,240,.5)}
.tg3nav .annc .rot .msg{display:none}
.tg3nav .annc .rot .msg.on{display:inline;animation:fade .4s ease}
