
.udp-project-page{
  --ink:#080909;
  --ink2:#111313;
  --signal:#d6ff52;
  --paper:#f5f4ef;
  --muted:#828780;
  --g:clamp(20px,4vw,64px);
  margin:0;
  background:var(--ink);
  color:var(--paper);
  font-family:"Helvetica Neue",Arial,sans-serif;
  line-height:1.55;
}
.udp-project-page *{box-sizing:border-box}
.udp-project-page a{color:inherit}
.udp-project-page img{display:block;width:100%;height:100%;object-fit:cover}
.udp-shell{display:grid;grid-template-columns:92px 1fr;min-height:100vh}
.udp-rail{position:sticky;top:0;height:100vh;border-right:1px solid #222;background:#090a0a;z-index:30;display:block}
.udp-rail-label{position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);writing-mode:vertical-rl;text-orientation:mixed;font-size:.64rem;letter-spacing:.16em;line-height:1;text-align:center;color:#b7bbb4;white-space:nowrap}
.udp-rail nav{position:absolute;top:61%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:18px}
.udp-rail nav a{position:relative;width:9px;height:9px;border:1px solid #5b6058;border-radius:50%;font-size:0;text-decoration:none;background:#090a0a;transition:background .22s ease,border-color .22s ease}
.udp-rail nav a:hover{border-color:#8c9189}
.udp-rail nav a.active{background:#fff;border-color:#fff}
.udp-main{min-width:0}
.udp-hero{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}
.udp-hero-image{position:relative;overflow:hidden;background:#101212}
.udp-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.5))}
.udp-hero-copy{padding:22vh var(--g) 36px;display:flex;flex-direction:column;justify-content:flex-end;background:#0c0d0d}
.udp-project-page h1,.udp-project-page h2,.udp-project-page h3{margin:0;font-weight:500;line-height:.9;letter-spacing:-.055em}
.udp-project-page h1{font-size:clamp(4rem,7vw,8rem)}
.udp-intent{font-size:clamp(1.08rem,1.6vw,1.65rem);line-height:1.25;color:#b8bcb5;max-width:38ch;margin:32px 0 0}
.udp-project-meta{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #292b2b;margin-top:32px}
.udp-project-meta div{padding:14px 0;border-bottom:1px solid #242626}
.udp-project-meta dt{font-size:.55rem;text-transform:uppercase;letter-spacing:.12em;color:#6e746d}
.udp-project-meta dd{margin:5px 0 0}
.udp-section{padding:clamp(68px,7.5vw,118px) var(--g);border-top:1px solid #242626}
#technical.udp-section{padding-top:clamp(68px,7.5vw,118px);padding-bottom:clamp(68px,7.5vw,118px)}
.udp-section-head{display:block;margin-bottom:48px}
.udp-section h2{font-size:clamp(3rem,5.5vw,6rem);max-width:900px}
.udp-note-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.udp-note-layout{align-items:stretch}
.udp-note-card{border:1px solid #262828;padding:36px 30px;background:#0d0e0e;min-height:340px;display:flex;flex-direction:column;justify-content:flex-start}
.udp-note-card h3{font-size:1.3rem;letter-spacing:-.02em;margin:0 0 20px;min-height:1.3em;display:flex;align-items:flex-start}
.udp-note-card p{color:#afb3ac;margin:0 0 16px}
.udp-note-card p:last-child{margin-bottom:0}
.udp-scope-card{border:1px solid #292b2b;padding:20px;background:#0c0d0d}
.udp-project-page table{width:100%;border-collapse:collapse}
.udp-project-page th{font-size:.56rem;text-transform:uppercase;letter-spacing:.11em;color:#70766f;text-align:left;padding:0 10px 13px;border-bottom:1px solid #333}
.udp-project-page td{padding:17px 10px;border-bottom:1px solid #202222;color:#c5c8c2}
.udp-project-page th:not(:first-child),.udp-project-page td:not(:first-child){text-align:center}
.udp-project-page td:first-child{color:#fff}
.udp-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 4px rgba(214,255,82,.05)}
.udp-dot.other{width:10px;height:10px;background:transparent;border-left:2px solid #67d4cf;border-bottom:2px solid #67d4cf;border-top:0;border-right:0;border-radius:0;transform:none;box-shadow:none}
.udp-dot.off{
  position:relative;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.udp-dot.off:before,
.udp-dot.off:after{
  content:"";
  position:absolute;
  left:3.5px;
  top:-1px;
  width:1px;
  height:10px;
  background:#c76b6b;
}
.udp-dot.off:before{transform:rotate(45deg)}
.udp-dot.off:after{transform:rotate(-45deg)}
.udp-legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:20px;font-size:.72rem;color:#70766f}
.udp-legend span{display:flex;align-items:center;gap:8px}
.udp-systems-table td:first-child a,.udp-team-grid a{text-decoration:none;border-bottom:1px solid #555}
.udp-sub{display:block;font-size:.77rem;color:#6f756e;margin-top:3px}
.udp-team-compact-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:0;
}
.udp-team-compact-row{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:24px;
  padding:18px 20px;
  border:1px solid #242726;
  align-items:center;
  min-height:86px;
}
.udp-team-compact-row dt{
  margin:0;
}
.udp-team-compact-row dt span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 12px;
  border:1px solid #343836;
  border-radius:999px;
  color:#c9cdc6;
  font-size:.7rem;
  letter-spacing:.06em;
  white-space:nowrap;
}
.udp-team-compact-row dd{
  margin:0;
  font-size:1.08rem;
  line-height:1.15;
  color:var(--paper);
}
.udp-team-compact-row dd a{
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid #555;
}
.udp-team-unidecors dt span{
  color:var(--signal);
  border-color:rgba(214,255,82,.45);
}
.udp-team-unidecors dd,
.udp-team-unidecors dd a{
  color:var(--paper);
}
.udp-gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;height:68vh;margin-top:24px}
.udp-gallery figure{margin:0;overflow:hidden;position:relative}
.udp-gallery figure:nth-child(1){grid-column:span 2}
.udp-gallery figure:nth-child(4){grid-column:span 2}
.udp-gallery figcaption{position:absolute;left:9px;bottom:8px;background:#090a0add;padding:5px 7px;font-size:.56rem;text-transform:uppercase;letter-spacing:.09em}
.udp-related{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.udp-related a{text-decoration:none;border:1px solid #242626;padding:10px}
.udp-related .img{aspect-ratio:16/10;overflow:hidden;background:#111}
.udp-related h3{font-size:1rem;line-height:1.1;margin-top:12px}
.udp-related p{font-size:.75rem;color:#747a73}
.udp-cta{padding:12vh var(--g);border-top:1px solid #242626;background:var(--signal);color:#090a0a}
.udp-cta h2{font-size:clamp(4rem,8vw,9rem);max-width:12ch}
.udp-cta p{max-width:58ch;color:#30332f;margin-top:22px}
.udp-buttons{display:flex;gap:10px;margin-top:28px;flex-wrap:wrap}
.udp-btn{padding:14px 19px;border:1px solid #090a0a;text-decoration:none;text-transform:uppercase;font-size:.67rem;letter-spacing:.11em}
.udp-btn.primary{background:#090a0a;color:#fff}
.udp-reveal{opacity:0;transform:translateY(15px);transition:.65s ease}
.udp-reveal.in{opacity:1;transform:none}

/* Minimal Send Drawings popup */
.udp-drawings-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:24px}
.udp-drawings-modal.is-open{display:flex}
.udp-drawings-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(6px)}
.udp-drawings-panel{position:relative;z-index:1;width:min(520px,100%);max-height:82vh;overflow:auto;background:#0b0c0c;border:1px solid #292b2a;padding:34px 30px 30px}
.udp-drawings-close{position:absolute;top:17px;right:17px;width:28px;height:28px;padding:0;border:0;background:transparent;color:#858a83;font-size:20px;line-height:1;cursor:pointer}
.udp-drawings-eyebrow{margin:0 0 12px;color:#70766f;font-size:.56rem;letter-spacing:.13em;text-transform:uppercase}
.udp-drawings-panel h3{margin:0 40px 10px 0;font-size:clamp(1.8rem,4vw,2.5rem);line-height:1;letter-spacing:-.045em}
.udp-drawings-intro{margin:0 0 28px;max-width:44ch;color:#8f948d;font-size:.88rem}
.udp-form-status{color:#cfd3cb}
.udp-drawings-form{display:grid;gap:22px}
.udp-drawings-form label{display:grid;gap:7px;color:#767b74;font-size:.58rem;letter-spacing:.11em;text-transform:uppercase}
.udp-drawings-form input,.udp-drawings-form textarea{width:100%;padding:7px 0 9px;border:0;border-bottom:1px solid #343635;border-radius:0;background:transparent;color:#f5f4ef;font:inherit;outline:none}
.udp-drawings-form textarea{min-height:72px;resize:vertical}
.udp-drawings-form input:focus,.udp-drawings-form textarea:focus{border-bottom-color:#8a8f87}
.udp-drawings-form input[type="file"]{padding:8px 0 10px;color:#8f948d;font-size:.8rem}
.udp-drawings-form input[type="file"]::file-selector-button{margin-right:12px;padding:0;border:0;background:transparent;color:#c4c8c1;font:inherit;font-size:.74rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.udp-drawings-submit{justify-self:start;margin-top:2px;padding:10px 0 6px;border:0;border-bottom:1px solid #6f746d;background:transparent;color:#d8dbd4;font:inherit;font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;cursor:pointer}
body.udp-modal-open{overflow:hidden}

/* Responsive only. Desktop/main layout remains unchanged. */
@media(max-width:900px){
  .udp-shell{grid-template-columns:1fr}
  .udp-rail{display:none}
  .udp-hero{grid-template-columns:1fr}
  .udp-hero-image{height:55vh;order:2}
  .udp-note-layout{grid-template-columns:1fr}
  .udp-gallery{height:auto;grid-template-columns:1fr 1fr;grid-auto-rows:260px}
  .udp-gallery figure{grid-column:auto!important}
  .udp-related{grid-template-columns:1fr}
  .udp-main,.udp-hero,.udp-hero-copy,.udp-hero-image,.udp-section{min-width:0}
}

@media(max-width:620px){
  .udp-section-head{display:block}
  .udp-project-meta{grid-template-columns:1fr}
  .udp-gallery{grid-template-columns:1fr}
  .udp-scope-table,.udp-scope-table tbody,.udp-scope-table tr,.udp-scope-table td{display:block;width:100%}
  .udp-scope-table thead{display:none}
  .udp-scope-table tr{padding:10px 0;border-bottom:1px solid #242626}
  .udp-scope-table td{border:0;text-align:left;padding:5px 0;display:flex;justify-content:space-between}
  .udp-scope-table td[data-stage]:before{content:attr(data-stage);color:#777;font-size:.72rem}
  .udp-systems-table,.udp-systems-table tbody,.udp-systems-table tr,.udp-systems-table td{display:block;width:100%}
  .udp-systems-table thead{display:none}
  .udp-systems-table tr{padding:16px 0;border-bottom:1px solid #242626}
  .udp-systems-table td{border:0;text-align:left!important;padding:4px 0}
  .udp-note-card{padding:30px 22px}
  .udp-team-directory-row{
    grid-template-columns:140px 1fr auto;
    gap:18px;
  }
  .udp-team-directory dd,
  .udp-team-directory a{overflow-wrap:anywhere}
  .udp-drawings-modal{padding:16px}
  .udp-drawings-panel{padding:30px 20px 24px}
}

/* v1.0.5 — responsive hero breathing-space refinement */

@media(max-width:900px){
  .udp-hero-copy{
    padding-top:112px;
    padding-bottom:32px;
  }
}

@media(max-width:620px){
  .udp-hero-copy{
    padding-top:94px;
    padding-bottom:28px;
  }
}


/* Systems Specified — Option 05: Technical Index */
.udp-systems-index{
  display:grid;
  gap:10px;
}
.udp-system-index-row{
  display:grid;
  grid-template-columns:18px .7fr 1.35fr 1fr;
  gap:22px;
  align-items:center;
  padding:15px 18px;
  background:#0d0f0f;
  border:1px solid #222524;
}
.udp-system-marker{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#646a63;
}
.udp-system-index-row:hover .udp-system-marker{
  background:var(--signal);
}
.udp-system-principal a{
  text-decoration:none;
  border-bottom:1px solid #555;
}
.udp-system-name{
  font-size:.92rem;
  color:#c5c8c2;
}
.udp-system-application{
  font-size:.82rem;
  color:#858a83;
}

@media(max-width:900px){
  .udp-system-index-row{
    grid-template-columns:16px .7fr 1.25fr .9fr;
    gap:16px;
  }
}
@media(max-width:620px){
  .udp-system-index-row{
    grid-template-columns:1fr;
    gap:7px;
    padding:16px;
  }
  .udp-system-marker{display:none}
  .udp-system-application{padding-top:4px}
}





/* v1.0.16 — Project Team Compact Principals / line boxes */
@media(max-width:900px){
  .udp-team-compact-grid{
    grid-template-columns:1fr;
  }
  .udp-team-compact-row{
    grid-template-columns:150px 1fr;
    gap:18px;
  }
}
@media(max-width:560px){
  .udp-team-compact-row{
    grid-template-columns:1fr;
    gap:10px;
  }
  .udp-team-compact-row dt span{
    display:inline-flex;
    border-radius:999px;
    padding:5px 12px;
    border:1px solid #343836;
    font-size:.78rem;
  }
  .udp-team-unidecors dt span{
    border-color:rgba(214,255,82,.45);
  }
}
