/* services dropdown */
nav li{position:static}
.has-sub{display:flex;align-items:center;gap:2px;flex-wrap:wrap}
.caret{background:none;border:0;color:inherit;cursor:pointer;width:28px;height:28px;display:grid;place-items:center;border-radius:6px}
.caret:hover{color:var(--gold)}
.caret svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.has-sub.open .caret svg{transform:rotate(180deg)}
.sub{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);width:min(1040px,calc(100vw - 32px));background:var(--navy-800);border:1px solid var(--line);border-top:2px solid var(--gold);border-radius:0 0 12px 12px;box-shadow:0 26px 60px rgba(0,0,0,.55);padding:26px 28px 24px;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 30px;z-index:25;text-align:left}
.sub::before{content:"";position:absolute;left:0;right:0;top:-36px;height:36px}
.has-sub.open>.sub{display:grid}
@media (hover:hover) and (min-width:1181px){.has-sub:hover>.sub,.has-sub:focus-within>.sub{display:grid}}
.sg.wide{grid-column:span 2}
.area .vgrid .vcard:last-child:nth-child(odd){grid-column:1/-1}
.sub .sgt{font:600 12.5px var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 10px}
.sg ul+.sgt{margin-top:20px}
.sub ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.sub ul.cols{display:block;columns:2;column-gap:30px}
.sub ul.cols li{break-inside:avoid}
.sub a{display:block;font-size:14.5px;font-weight:500;color:var(--ink);padding:7px 0;border-bottom:0;line-height:1.35}
.sub a:hover{color:var(--gold);border-color:transparent}
.sub a.all{margin-top:16px;color:var(--gold);font-weight:600;border-top:1px solid var(--line);padding-top:14px}
@media (max-width:1180px){
  nav.open{max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);overflow-y:auto}
  .has-sub>a{flex:1}
  .caret{width:44px;height:44px;border:1px solid var(--line);margin-left:8px}
  .sub{position:static;transform:none;width:auto;flex-basis:100%;box-shadow:none;border:0;border-left:2px solid var(--gold);border-radius:0;margin:4px 0 10px 4px;padding:6px 0 4px 16px;grid-template-columns:1fr;background:transparent}
  .sub::before{display:none}
  .sg.wide{grid-column:auto}
  .sub ul.cols{columns:1}
  .sub a{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06)}
}

/* service pages */
.svc-intro{padding-block:72px;background:var(--navy-800);border-bottom:1px solid var(--line)}
.svc-intro .wrap{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:48px;align-items:start}
.svc-intro h2,.docs h2{font-size:clamp(28px,3.2vw,38px)}
.svc-intro p{color:#d6dbea;margin:16px 0 0;max-width:42em}
.side{border:1px solid var(--line);border-radius:12px;background:var(--navy-900);padding:26px;display:grid;gap:16px;position:sticky;top:calc(env(safe-area-inset-top,0px) + 110px)}
.side h3{font-size:22px}
.side p{margin:0;color:var(--muted);font-size:15px}
.side .ln{display:grid;gap:2px}
.side small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.side a.v{font-size:19px;font-weight:600;overflow-wrap:anywhere}
.side a.v:hover{color:var(--gold)}
.side .btn{justify-content:center}
.docs{padding-block:80px;background:var(--navy-900)}
.docs .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.docs ul.chk{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.docs ul.chk li{display:flex;gap:12px;align-items:flex-start;color:#d6dbea}
.docs ul.chk li::before{content:"";flex:none;width:8px;height:8px;background:var(--gold);transform:rotate(45deg);margin-top:9px}
.note{border:1px solid var(--line);border-radius:10px;padding:24px 26px;background:var(--navy-800);color:var(--muted);font-size:15px;display:grid;gap:12px}
.note b{color:var(--ink);font-family:var(--display);font-size:20px}
.note p{margin:0}
.related{padding-block:72px;background:var(--navy-800);border-top:1px solid var(--line)}
.rgrid,.hgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.rcard{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:10px;padding:22px;background:var(--navy-900);transition:border-color .2s,transform .2s}
.rcard:hover{border-color:var(--gold);transform:translateY(-3px)}
.rcard small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.rcard b{font:700 20px/1.2 var(--display)}
.rcard span{color:var(--muted);font-size:14.5px}
.rcard em{font-style:normal;color:var(--gold);font-weight:600;font-size:14px;margin-top:auto;padding-top:6px}
.hub{padding-block:72px;background:var(--navy-900)}
.hub.alt{background:var(--navy-800);border-block:1px solid var(--line)}
.hub h2{font-size:clamp(28px,3.4vw,40px);margin-bottom:8px}
.hub .gp{color:var(--muted);margin:0 0 30px;max-width:46em}
.hub:not(.alt) .rcard{background:var(--navy-800)}
@media (min-width:1021px){
  .hgrid.n4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .hgrid.n5{grid-template-columns:repeat(6,minmax(0,1fr))}
  .hgrid.n5 .rcard{grid-column:span 2}
  .hgrid.n5 .rcard:nth-child(n+4){grid-column:span 3}
  .hgrid.n11{grid-template-columns:repeat(6,minmax(0,1fr))}
  .hgrid.n11 .rcard{grid-column:span 2}
  .hgrid.n11 .rcard:nth-child(n+10){grid-column:span 3}
}
@media (max-width:1020px){
  .svc-intro .wrap,.docs .wrap{grid-template-columns:1fr;gap:32px}
  .side{position:static}
  .rgrid,.hgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1020px) and (min-width:621px){
  .rgrid .rcard:last-child:nth-child(odd),.hgrid .rcard:last-child:nth-child(odd){grid-column:1/-1}
}
@media (max-width:620px){
  .rgrid,.hgrid{grid-template-columns:1fr}
  .svc-intro,.docs,.hub,.related{padding-block:52px}
}
