/* ================================================================
   Contact / Services / Glossary
   ================================================================ */
.page-head{padding-top:calc(var(--nav-h) + clamp(52px,8vw,92px));padding-bottom:clamp(28px,4vw,44px)}
.page-head .eyebrow{margin-bottom:20px}
.page-head h1{font-size:clamp(33px,5.2vw,60px);font-weight:800;letter-spacing:-.038em;line-height:1.04;margin-bottom:20px}

/* ---------------- contact ---------------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.85fr);gap:clamp(28px,4vw,56px);align-items:start}
.contact-card{border:1px solid var(--line);border-radius:8px;background:var(--surface-2);padding:clamp(24px,3vw,34px)}
.contact-card > h2{font-size:20px;margin-bottom:6px}
.contact-card > .sub{font-size:13.6px;color:var(--dim);margin-bottom:24px;line-height:1.6}
.contact-card .form{max-width:none;margin:0}

.next{display:flex;flex-direction:column;gap:2px;position:sticky;top:92px}
.next-step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:16px;padding:18px 0;border-bottom:1px solid var(--line-soft)}
.next-step:last-child{border-bottom:0}
.next-n{width:34px;height:34px;border-radius:50%;border:1px solid var(--steel);display:grid;place-items:center;
  font-family:var(--mono);font-size:11px;font-weight:700;color:var(--cyan);background:var(--surface)}
.next-step h3{font-size:15.5px;margin-bottom:6px;letter-spacing:-.012em}
.next-step p{font-size:13.4px;color:#A5B1CD;line-height:1.6}
.next-note{margin-top:22px;padding:18px 20px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}
.next-note p{font-size:13.2px;color:var(--dim);line-height:1.62}
.next-note b{color:var(--white);font-weight:600}
.next-note a{color:var(--cyan)}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}.next{position:relative;top:0}}

/* ---------------- services ---------------- */
.svc-nav{display:flex;gap:6px;padding:6px;border:1px solid var(--line);border-radius:6px;background:var(--surface);
  flex-wrap:wrap;margin-bottom:26px;position:sticky;top:calc(var(--nav-h) + 10px);z-index:60;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.svc-nav button{flex:1 1 180px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  padding:13px 16px;border-radius:4px;border:1px solid transparent;background:transparent;color:var(--dim);
  cursor:pointer;transition:all .22s;min-height:44px}
.svc-nav button:hover{background:var(--surface-2);color:var(--white)}
.svc-nav button[aria-selected="true"]{background:var(--surface-3);border-color:rgba(45,212,255,.42);color:var(--white)}
.svc-nav button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}

.svc{display:none}
.svc.on{display:block;animation:svcIn .38s cubic-bezier(.2,.9,.3,1)}
@keyframes svcIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.svc.on{animation:none}}

.svc-hero{border:1px solid var(--line);border-radius:8px;background:linear-gradient(160deg,var(--surface-3),var(--surface));
  padding:clamp(26px,3.4vw,38px);margin-bottom:16px;position:relative;overflow:hidden}
.svc-hero::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:var(--grad)}
.svc-hero .k{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--dimmer);margin-bottom:13px}
.svc-hero h2{font-size:clamp(24px,3vw,33px);margin-bottom:14px}
.svc-hero p{font-size:15.5px;line-height:1.68;color:#B4C0D9;max-width:62ch}

.svc-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(266px,1fr));gap:13px;margin-bottom:16px}
.svc-col{border:1px solid var(--line-soft);border-radius:6px;background:var(--surface-2);padding:24px}
.svc-col h3{font-size:13px;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);
  font-weight:500;margin-bottom:15px}
.svc-col ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:11px}
.svc-col li{font-size:13.8px;color:#A9B5D0;line-height:1.58;padding-left:19px;position:relative}
.svc-col li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:1px;background:var(--steel)}
.svc-col li b{color:var(--white);font-weight:600;display:block;margin-bottom:2px}

.svc-shape{border:1px solid var(--line);border-radius:6px;background:var(--surface-2);overflow:hidden}
.svc-shape .hd{padding:18px 24px;border-bottom:1px solid var(--line-soft);font-family:var(--mono);
  font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--dimmer)}
.svc-row{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);gap:20px;padding:16px 24px;
  border-bottom:1px solid var(--line-soft);font-size:13.8px}
.svc-row:last-child{border-bottom:0}
.svc-row .lab{color:var(--cyan);font-weight:600}
.svc-row .val{color:#A9B5D0;line-height:1.58}
@media (max-width:620px){.svc-row{grid-template-columns:1fr;gap:5px}}

/* ---------------- glossary ---------------- */
.gl-controls{display:flex;flex-direction:column;gap:14px;margin-bottom:26px}
.gl-search{position:relative}
.gl-search input{width:100%;padding:16px 18px 16px 48px;border-radius:6px;font-family:var(--sans);font-size:15px;
  background:var(--surface-2);border:1px solid var(--line);color:var(--white)}
.gl-search input::placeholder{color:var(--dimmer)}
.gl-search input:focus{outline:none;border-color:var(--cyan)}
.gl-search svg{position:absolute;left:17px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--dimmer)}
.gl-cats{display:flex;gap:7px;flex-wrap:wrap}
.gl-cat{font-size:12.5px;padding:9px 15px;border-radius:99px;cursor:pointer;border:1px solid var(--line);
  background:var(--surface);color:var(--dim);transition:all .22s;min-height:40px}
.gl-cat:hover{border-color:var(--steel);color:var(--white)}
.gl-cat[aria-pressed="true"]{background:var(--grad);border-color:transparent;color:#04060D;font-weight:700}
.gl-cat:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.gl-count{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--dimmer)}

.gl-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.gl-item{border:1px solid var(--line-soft);border-radius:6px;background:var(--surface-2);padding:22px 24px;
  transition:border-color .25s,transform .3s cubic-bezier(.34,1.3,.5,1)}
.gl-item:hover{border-color:var(--steel);transform:translateY(-3px)}
.gl-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:11px}
.gl-term{font-size:16.5px;font-weight:700;letter-spacing:-.018em}
.gl-tag{font-family:var(--mono);font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--dimmer);
  border:1px solid var(--line);border-radius:2px;padding:4px 8px;flex:none;white-space:nowrap}
.gl-def{font-size:14px;color:#AEBAD4;line-height:1.65;margin-bottom:13px}
.gl-why{padding-top:12px;border-top:1px dashed var(--line);font-size:13px;color:var(--dim);line-height:1.58}
.gl-why b{color:var(--cyan);font-weight:600}
.gl-empty{text-align:center;padding:56px 20px;color:var(--dim);font-size:15px;display:none}
.gl-empty.on{display:block}
mark{background:rgba(45,212,255,.24);color:var(--white);border-radius:2px;padding:0 2px}
