/* Personnel entry — threshold between public and internal systems */
:root {
  --personnel-green:#67ee9c;
  --personnel-blue:#6bc4ff;
  --personnel-red:#d95353;
  --personnel-steel:#92a1ad;
  --personnel-ease:cubic-bezier(.16,1,.3,1);
}
.ph {
  min-height:730px;display:flex;align-items:center;
  background:linear-gradient(112deg,#070a0c 0%,#090e13 55%,#0a1116 100%);
}
.ph::after {
  background:
    linear-gradient(90deg,rgba(7,10,12,.98) 4%,rgba(7,10,12,.82) 47%,rgba(7,10,12,.18) 80%,rgba(7,10,12,.6)),
    radial-gradient(circle at 79% 47%,rgba(107,196,255,.055),transparent 35%);
}
.ph-inner { max-width:1200px;width:100%;padding-right:min(44vw,540px); }
.ph-h1 { font-size:clamp(3.2rem,7vw,6.8rem);letter-spacing:-.05em;line-height:.84; }
.ph-h1 .b { color:var(--personnel-blue);text-shadow:none; }
.ph-div.bl,.sl.bl { color:var(--personnel-blue); }
.motion-ready .ph-bc,.motion-ready .ph-div,.motion-ready .ph-h1,.motion-ready .ph-sub { animation:none;opacity:1; }

.access-threshold {
  position:absolute;z-index:2;right:clamp(1rem,5vw,6rem);top:50%;width:clamp(390px,44vw,650px);
  aspect-ratio:1;transform:translateY(-47%);pointer-events:none;opacity:.8;
  -webkit-mask-image:radial-gradient(circle,#000 58%,transparent 80%);
  mask-image:radial-gradient(circle,#000 58%,transparent 80%);
}
.access-threshold svg { width:100%;height:100%;overflow:visible; }
.threshold-grid,.threshold-frame,.threshold-route,.threshold-scan { fill:none;vector-effect:non-scaling-stroke; }
.threshold-grid { stroke:rgba(220,231,234,.05);stroke-width:.6; }
.threshold-frame { stroke:rgba(146,161,173,.34);stroke-width:.9; }
.threshold-frame.blue { stroke:rgba(107,196,255,.5); }
.threshold-frame.green { stroke:rgba(103,238,156,.48); }
.threshold-route { stroke:rgba(107,196,255,.52);stroke-width:1.15; }
.threshold-scan { stroke:rgba(103,238,156,.42);stroke-width:.8;stroke-dasharray:4 8; }
.threshold-node { fill:#091015;stroke:var(--personnel-steel);stroke-width:1; }
.threshold-core { fill:rgba(103,238,156,.055);stroke:var(--personnel-green);stroke-width:1.2; }
.motion-ready .threshold-frame,.motion-ready .threshold-route { stroke-dasharray:1200;stroke-dashoffset:1200;animation:thresholdTrace 1.4s .34s var(--personnel-ease) forwards; }
.motion-ready .threshold-scan { animation:thresholdResolve .9s .75s backwards var(--personnel-ease); }
.motion-ready .threshold-node,.motion-ready .threshold-core { animation:thresholdNode .46s 1s backwards var(--personnel-ease);transform-box:fill-box;transform-origin:center; }
@keyframes thresholdTrace { to{stroke-dashoffset:0} }
@keyframes thresholdResolve { from{opacity:0;stroke-dashoffset:28} }
@keyframes thresholdNode { from{opacity:0;transform:scale(.45)} }
.threshold-readout { position:absolute;right:6%;bottom:9%;padding:.42rem .65rem;border-right:1px solid rgba(107,196,255,.26);text-align:right;font:500 .5rem/1.7 'Share Tech Mono',monospace;letter-spacing:.16em;color:rgba(220,231,234,.48); }

#personnel-hero-field,#personnel-access-field { position:absolute;inset:0;width:100%;height:100%;pointer-events:none; }
.personnel-section { position:relative;overflow:hidden;padding-top:7rem;padding-bottom:7rem;background:linear-gradient(135deg,#0a1013,var(--bg2) 57%,#091016); }
.personnel-section .pgi { position:relative;z-index:2;max-width:1180px; }
.portal-grid { grid-template-columns:minmax(0,1fr) minmax(380px,.95fr);gap:clamp(3rem,7vw,7rem); }
.chk { display:grid;gap:7px; }
.chk-i { position:relative;padding:.72rem .9rem .72rem 2.5rem;border:1px solid rgba(220,231,234,.065);background:rgba(220,231,234,.012);transition:transform .3s var(--personnel-ease),border-color .3s,background-color .3s; }
.chk-i::before { left:1rem; }
.chk-i:hover { transform:translateX(5px);border-color:rgba(107,196,255,.15);background:rgba(107,196,255,.018); }
.access-tiers { gap:7px;background:transparent; }
.tier { position:relative;overflow:hidden;border:1px solid rgba(220,231,234,.07);background:linear-gradient(100deg,rgba(17,23,27,.97),rgba(10,14,18,.95));transition:transform .32s var(--personnel-ease),border-color .3s,background-color .3s; }
.tier::after { content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:linear-gradient(90deg,var(--personnel-blue),var(--personnel-green));transition:width .5s var(--personnel-ease); }
.tier:hover { transform:translateX(6px);border-color:rgba(107,196,255,.17);background:#10171c; }
.tier:hover::after { width:100%; }
.tier-dot { border-radius:1px;transform:rotate(45deg);box-shadow:none; }

.portal-access-card {
  position:relative;overflow:hidden;padding:2.8rem 2.5rem;text-align:left;border:1px solid rgba(107,196,255,.12);
  background:linear-gradient(145deg,rgba(17,24,29,.98),rgba(8,12,16,.97));
  clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));
}
.portal-access-card::before { content:'ACCESS';position:absolute;right:.7rem;top:.6rem;font:800 5rem/1 'Exo 2',sans-serif;color:var(--personnel-blue);opacity:.025; }
.portal-access-card::after { content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(var(--personnel-blue),var(--personnel-green),transparent);opacity:.62; }
.portal-access-label { font:600 .65rem/1.4 'Share Tech Mono',monospace;letter-spacing:.18em;color:var(--personnel-green);margin-bottom:1rem; }
.portal-access-copy { font-size:.92rem;color:var(--mid);line-height:1.75;margin-bottom:1.8rem;max-width:440px; }
.portal-route { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:1.8rem 0 2rem;background:rgba(220,231,234,.07); }
.portal-route-step { position:relative;padding:1rem .7rem;background:#0b1014;min-height:78px;font:500 .55rem/1.55 'Share Tech Mono',monospace;letter-spacing:.1em;color:var(--mid); }
.portal-route-step strong { display:block;margin-bottom:.25rem;color:var(--personnel-blue);font-size:.58rem; }
.portal-route-step::after { content:'→';position:absolute;right:-5px;top:50%;z-index:2;transform:translateY(-50%);color:var(--dim); }
.portal-route-step:last-child::after { display:none; }
.portal-access-card .btn { position:relative;z-index:1; }
.portal-access-card .btn::after { content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent,rgba(107,196,255,.16),transparent);transform:translateX(-110%);transition:transform .65s var(--personnel-ease); }
.portal-access-card .btn:hover::after { transform:translateX(110%); }
.portal-help { border-color:rgba(107,196,255,.12);background:linear-gradient(90deg,rgba(107,196,255,.03),transparent); }

[data-theme="light"] .ph { background:linear-gradient(112deg,#e8efed,#e7edf0 55%,#dfe9ee); }
[data-theme="light"] .ph::after { background:linear-gradient(90deg,rgba(240,243,245,.98) 4%,rgba(240,243,245,.78) 48%,rgba(240,243,245,.14) 80%,rgba(240,243,245,.5)); }
[data-theme="light"] .access-threshold { opacity:.47; }
[data-theme="light"] .threshold-grid { stroke:rgba(28,69,76,.08); }
[data-theme="light"] .threshold-frame { stroke:rgba(28,69,76,.34); }
[data-theme="light"] .threshold-frame.blue,[data-theme="light"] .threshold-route { stroke:rgba(0,100,158,.5); }
[data-theme="light"] .threshold-frame.green,[data-theme="light"] .threshold-scan { stroke:rgba(0,122,67,.48); }
[data-theme="light"] .threshold-node { fill:#e6edef;stroke:#31545a; }
[data-theme="light"] .threshold-core { fill:rgba(0,122,67,.045);stroke:#007a43; }
[data-theme="light"] .threshold-readout { color:rgba(28,69,76,.58);border-color:rgba(0,100,158,.24); }
[data-theme="light"] .personnel-section { background:linear-gradient(135deg,#e3ece8,var(--bg2) 57%,#dce8ed); }
[data-theme="light"] .chk-i,[data-theme="light"] .tier,[data-theme="light"] .portal-access-card { background:linear-gradient(110deg,rgba(250,252,252,.98),rgba(218,228,231,.94));border-color:rgba(28,69,76,.12); }
[data-theme="light"] .tier:hover { background:#edf4f3;border-color:rgba(0,100,158,.22); }
[data-theme="light"] .portal-route { background:rgba(28,69,76,.1); }
[data-theme="light"] .portal-route-step { background:#edf2f3; }

@media(max-width:1000px){.ph-inner{padding-right:0}.access-threshold{right:-18%;width:74vw;opacity:.14}.ph{min-height:680px}.portal-grid{grid-template-columns:1fr}}
@media(max-width:700px){.access-threshold{right:-50%;width:115vw;opacity:.08}.portal-access-card{padding:2rem 1.5rem}.portal-route{grid-template-columns:1fr}.portal-route-step{min-height:0}.portal-route-step::after{right:1rem;top:auto;bottom:-9px;transform:rotate(90deg)}}
@media(prefers-reduced-motion:reduce){.motion-ready .threshold-frame,.motion-ready .threshold-route,.motion-ready .threshold-scan,.motion-ready .threshold-node,.motion-ready .threshold-core{animation:none;stroke-dashoffset:0}}
