:root{
  --ink:#0B2A3F;
  --ink-soft:#16384F;
  --teal:#0E7C7B;
  --teal-dark:#0A5F5E;
  --teal-light:#E4F2F1;
  --gold:#C99A3D;
  --gold-light:#FBF1DD;
  --paper:#FAFAF8;
  --mist:#F1F5F5;
  --slate:#54636C;
  --slate-light:#8B98A0;
  --line:#DEE6E6;
  --green:#2E8B57;
  --green-light:#E7F4EC;
  --amber:#C0791E;
  --amber-light:#FBEFE0;
  --red:#C0392B;
  --red-light:#FBEAE8;
  --radius:10px;
  --shadow:0 6px 24px rgba(11,42,63,0.08);
  --shadow-lg:0 18px 48px rgba(11,42,63,0.16);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',system-ui,sans-serif;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
}
.font-display{font-family:'Fraunces',serif;}
.font-mono{font-family:'IBM Plex Mono',monospace;}
h1,h2,h3,h4,.pa-display{font-family:'Fraunces',serif; letter-spacing:-0.01em;}
a{text-decoration:none;}
.pa-page{display:block;}
.pa-page-anim{animation:pa-fade .4s ease;}
@keyframes pa-fade{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);}}
:focus-visible{outline:3px solid var(--gold); outline-offset:2px;}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}

/* ---------- Top utility bar ---------- */
.pa-topbar{background:var(--ink); color:#cfe3e0; font-size:0.82rem;}
.pa-topbar a{color:#cfe3e0; opacity:0.9;}
.pa-topbar a:hover{opacity:1; color:#fff;}

/* ---------- Nav ---------- */
.pa-navbar{background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:1030;}
.pa-logo-mark{width:42px; height:42px; flex-shrink:0;}
.pa-logo-word{font-family:'Fraunces',serif; font-weight:700; font-size:1.45rem; color:var(--ink); letter-spacing:-0.02em; line-height:1;}
.pa-logo-sub{font-size:0.62rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--teal-dark); font-weight:600;}
.pa-nav-link{font-weight:600; font-size:0.93rem; color:var(--ink-soft) !important; padding:0.5rem 0.9rem !important; border-radius:8px; position:relative;}
.pa-nav-link:hover, .pa-nav-link.active{color:var(--teal-dark) !important; background:var(--teal-light);}
.pa-btn-teal{background:var(--teal); border:none; color:#fff; font-weight:600; padding:0.55rem 1.25rem; border-radius:8px; transition:all .2s ease;}
.pa-btn-teal:hover{background:var(--teal-dark); color:#fff;}
.pa-btn-gold{background:var(--gold); border:none; color:var(--ink); font-weight:700; padding:0.55rem 1.25rem; border-radius:8px; transition:all .2s ease;}
.pa-btn-gold:hover{background:#b3852f; color:var(--ink);}
.pa-btn-outline{background:transparent; border:1.5px solid var(--ink); color:var(--ink); font-weight:600; padding:0.5rem 1.2rem; border-radius:8px;}
.pa-btn-outline:hover{background:var(--ink); color:#fff;}
.pa-btn-outline-light{background:transparent; border:1.5px solid rgba(255,255,255,.55); color:#fff; font-weight:600; padding:0.5rem 1.2rem; border-radius:8px;}
.pa-btn-outline-light:hover{background:rgba(255,255,255,.12); border-color:#fff;}

/* ---------- Hero ---------- */
.pa-hero{
  background:
    radial-gradient(1100px 480px at 88% -10%, rgba(201,154,61,0.25), transparent 60%),
    linear-gradient(135deg, var(--ink) 0%, var(--ink-soft) 45%, var(--teal-dark) 100%);
  color:#fff; position:relative; overflow:hidden;
}
.pa-hero::after{
  content:""; position:absolute; inset:0;
  background-image:radial-gradient(rgba(255,255,255,0.07) 1px, transparent 1px);
  background-size:22px 22px; opacity:0.5; pointer-events:none;
}
.pa-hero-eyebrow{font-family:'IBM Plex Mono',monospace; font-size:0.78rem; letter-spacing:0.14em; text-transform:uppercase; color:#9FD6CF;}
.pa-hero h1{font-size:clamp(2.1rem, 4.2vw, 3.6rem); line-height:1.06; font-weight:600;}
.pa-hero p.lead{color:#D8E6E3; max-width:540px;}

/* ---------- Ledger strip (signature element) ---------- */
.pa-ledger{background:var(--ink-soft); border-top:1px solid rgba(255,255,255,0.08); border-bottom:1px solid rgba(255,255,255,0.08); overflow:hidden; position:relative;}
.pa-ledger-label{background:var(--gold); color:var(--ink); font-family:'IBM Plex Mono',monospace; font-size:0.72rem; font-weight:700; letter-spacing:0.08em; padding:0.5rem 0.9rem; flex-shrink:0; z-index:2; position:relative;}
.pa-ledger-track{display:flex; gap:2.5rem; white-space:nowrap; animation:pa-scroll 38s linear infinite; padding:0.6rem 0;}
.pa-ledger:hover .pa-ledger-track{animation-play-state:paused;}
@keyframes pa-scroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}
.pa-ledger-item{font-family:'IBM Plex Mono',monospace; font-size:0.82rem; color:#cfe3e0; display:flex; align-items:center; gap:0.5rem;}
.pa-dot{width:7px; height:7px; border-radius:50%; flex-shrink:0;}
.pa-dot-open{background:#4FD18B;}
.pa-dot-soon{background:var(--gold);}
.pa-dot-closed{background:#8B98A0;}

/* ---------- Section basics ---------- */
.pa-section{padding:4.5rem 0;}
.pa-section-alt{background:var(--mist);}
.pa-eyebrow{font-family:'IBM Plex Mono',monospace; font-size:0.75rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--teal-dark); font-weight:600;}
.pa-section h2{font-size:clamp(1.65rem,2.6vw,2.3rem); font-weight:600; margin-top:0.4rem;}
.pa-sub{color:var(--slate); max-width:620px;}

/* ---------- Cards ---------- */
.pa-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); transition:box-shadow .2s ease, transform .2s ease;}
.pa-card:hover{box-shadow:var(--shadow); transform:translateY(-2px);}
.pa-tender-card{padding:1.4rem;}
.pa-ref{font-family:'IBM Plex Mono',monospace; font-size:0.74rem; color:var(--slate-light); letter-spacing:0.02em;}
.pa-status{display:inline-flex; align-items:center; gap:0.4rem; font-size:0.72rem; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; padding:0.28rem 0.65rem; border-radius:30px;}
.pa-status-open{background:var(--green-light); color:var(--green);}
.pa-status-soon{background:var(--amber-light); color:var(--amber);}
.pa-status-closed{background:#EEF0F1; color:var(--slate-light);}
.pa-cat-badge{background:var(--teal-light); color:var(--teal-dark); font-size:0.72rem; font-weight:600; padding:0.25rem 0.6rem; border-radius:6px;}
.pa-tender-title{font-weight:700; font-size:1.05rem; color:var(--ink); margin:0.6rem 0 0.3rem;}
.pa-deadline{font-size:0.84rem; color:var(--slate);}
.pa-deadline strong{color:var(--ink);}

/* ---------- Stats ---------- */
.pa-stat{padding:1.6rem; text-align:center;}
.pa-stat-num{font-family:'Fraunces',serif; font-size:2.6rem; font-weight:600; color:var(--ink); line-height:1;}
.pa-stat-label{font-size:0.82rem; color:var(--slate); text-transform:uppercase; letter-spacing:0.06em; margin-top:0.4rem;}

/* ---------- Process timeline ---------- */
.pa-process{display:flex; flex-wrap:wrap; gap:0; counter-reset:step;}
.pa-step{flex:1 1 180px; padding:1.5rem 1.2rem; position:relative; border-top:2px solid var(--line);}
.pa-step-num{font-family:'IBM Plex Mono',monospace; color:var(--gold); font-weight:700; font-size:0.95rem;}
.pa-step h4{font-size:1rem; margin:0.5rem 0 0.3rem;}
.pa-step p{font-size:0.85rem; color:var(--slate); margin:0;}

/* ---------- Footer ---------- */
.pa-footer{background:var(--ink); color:#C8D6D4;}
.pa-footer h6{color:#fff; font-weight:700; font-size:0.85rem; letter-spacing:0.04em; text-transform:uppercase; margin-bottom:1rem;}
.pa-footer a{color:#AFC4C1;}
.pa-footer a:hover{color:#fff;}
.pa-footer-bottom{border-top:1px solid rgba(255,255,255,0.1); font-size:0.82rem; color:#8FA5A2;}
.pa-social{width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,0.08); display:inline-flex; align-items:center; justify-content:center; color:#fff; transition:.2s;}
.pa-social:hover{background:var(--teal);}

/* ---------- Forms ---------- */
.pa-form-control, .form-control, .form-select{border-radius:8px; border:1.5px solid var(--line); padding:0.6rem 0.85rem;}
.pa-form-control:focus, .form-control:focus, .form-select:focus{border-color:var(--teal); box-shadow:0 0 0 3px rgba(14,124,123,0.15);}
.form-label{font-weight:600; font-size:0.88rem; color:var(--ink-soft);}

/* ---------- Page header band ---------- */
.pa-pagehead{background:var(--ink); color:#fff; padding:3.2rem 0 2.4rem; position:relative; overflow:hidden;}
.pa-pagehead::after{content:""; position:absolute; inset:0; background:radial-gradient(700px 300px at 90% 0%, rgba(14,124,123,0.45), transparent 70%);}
.pa-pagehead h1{position:relative; font-size:clamp(1.8rem,3vw,2.6rem); font-weight:600;}
.pa-breadcrumb{font-family:'IBM Plex Mono',monospace; font-size:0.78rem; color:#9FD6CF; position:relative;}

/* ---------- Filters ---------- */
.pa-filterbar{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1.1rem; box-shadow:var(--shadow);}

/* ---------- Accordion tweak ---------- */
.accordion-button:not(.collapsed){background:var(--teal-light); color:var(--teal-dark); box-shadow:none;}
.accordion-button:focus{box-shadow:0 0 0 3px rgba(14,124,123,0.15);}

/* ---------- Leadership ---------- */
.pa-avatar{width:84px; height:84px; border-radius:50%; background:linear-gradient(135deg,var(--teal),var(--ink)); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-weight:600; font-size:1.5rem;}

/* ---------- Admin ---------- */
.pa-admin-shell{display:flex; min-height:100vh; background:#0F1B24;}
.pa-admin-sidebar{width:230px; background:#0B161D; color:#9FB3BA; flex-shrink:0; padding:1.4rem 1rem;}
.pa-admin-sidebar .nav-link{color:#9FB3BA; font-weight:600; font-size:0.9rem; padding:0.6rem 0.8rem; border-radius:8px; margin-bottom:0.2rem;}
.pa-admin-sidebar .nav-link.active, .pa-admin-sidebar .nav-link:hover{background:rgba(255,255,255,0.07); color:#fff;}
.pa-admin-main{flex:1; background:var(--mist); padding:2rem; min-height:100vh;}
.pa-admin-card{background:#fff; border-radius:var(--radius); border:1px solid var(--line); padding:1.4rem;}
.pa-admin-table th{font-size:0.75rem; text-transform:uppercase; letter-spacing:0.04em; color:var(--slate-light); border-bottom:2px solid var(--line); font-weight:700;}
.pa-admin-table td{vertical-align:middle; font-size:0.9rem;}
.pa-login-shell{min-height:100vh; background:linear-gradient(135deg, var(--ink), var(--ink-soft) 60%, var(--teal-dark)); display:flex; align-items:center; justify-content:center; padding:2rem;}
.pa-login-card{background:#fff; border-radius:14px; padding:2.4rem; width:100%; max-width:420px; box-shadow:var(--shadow-lg);}
.pa-demo-hint{background:var(--gold-light); border:1px dashed var(--gold); border-radius:8px; padding:0.7rem 0.9rem; font-size:0.82rem; color:#7A5A1E;}

/* ---------- Misc ---------- */
.pa-skip-link{position:absolute; left:-999px; top:0; background:var(--gold); color:var(--ink); padding:0.6rem 1rem; z-index:2000; font-weight:700;}
.pa-skip-link:focus{left:0.5rem; top:0.5rem;}
.pa-toast-wrap{position:fixed; top:1rem; right:1rem; z-index:2050;}
.pa-empty{text-align:center; padding:3rem 1rem; color:var(--slate);}
.pa-doc-row{display:flex; align-items:center; justify-content:space-between; padding:0.85rem 0; border-bottom:1px solid var(--line);}
.pa-doc-row:last-child{border-bottom:none;}
@media (max-width:768px){
  .pa-admin-shell{flex-direction:column;}
  .pa-admin-sidebar{width:100%; display:flex; overflow-x:auto; gap:0.3rem;}
  .pa-admin-sidebar .nav{flex-direction:row !important;}
}
/* ===== Multi-page additions ===== */
.pa-content-section{padding:3.5rem 0;}
.pa-content-section.alt{background:var(--mist);}
.pa-lead-text{font-size:1.05rem; color:var(--slate); line-height:1.75;}
.pa-prose p{color:var(--slate); line-height:1.8; margin-bottom:1rem;}
.pa-prose h2{font-family:'Fraunces',serif; font-size:1.5rem; color:var(--ink); margin:2rem 0 1rem;}
.pa-prose h2:first-child{margin-top:0;}
.pa-method-card{background:#fff; border:1px solid #E4E9EA; border-radius:14px; padding:1.6rem; height:100%; transition:.2s;}
.pa-method-card:hover{border-color:var(--teal); box-shadow:0 10px 24px rgba(11,42,63,0.08); transform:translateY(-3px);}
.pa-method-num{font-family:'IBM Plex Mono',monospace; font-size:.78rem; color:var(--teal); letter-spacing:.06em;}
.pa-step-row{display:flex; gap:1.1rem; align-items:flex-start; padding:1.3rem 0; border-bottom:1px solid #E4E9EA;}
.pa-step-row:last-child{border-bottom:none;}
.pa-step-num{flex:0 0 auto; width:42px; height:42px; border-radius:50%; background:var(--teal-light); color:var(--teal-dark); display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono',monospace; font-weight:700;}
.pa-sidebar-card{background:#fff; border:1px solid #E4E9EA; border-radius:14px; padding:1.5rem;}
.pa-sidebar-card h6{font-family:'IBM Plex Mono',monospace; font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; color:var(--teal-dark); margin-bottom:.9rem;}
.pa-office-card{background:#fff; border:1px solid #E4E9EA; border-radius:14px; padding:1.4rem; height:100%;}
.pa-office-card .pa-office-tag{font-family:'IBM Plex Mono',monospace; font-size:.72rem; color:var(--teal); letter-spacing:.06em;}
.pa-mini-stat{text-align:center; padding:1rem .5rem;}
.pa-mini-stat .num{font-family:'Fraunces',serif; font-size:1.7rem; color:var(--ink); font-weight:600;}
.pa-mini-stat .lbl{font-size:.72rem; color:var(--slate); text-transform:uppercase; letter-spacing:.06em;}
.pa-toc{position:sticky; top:90px;}
.pa-toc a{display:block; padding:.4rem 0; color:var(--slate); font-size:.86rem; border-left:2px solid transparent; padding-left:.8rem;}
.pa-toc a:hover, .pa-toc a.active{color:var(--teal-dark); border-left-color:var(--teal); font-weight:600;}
.pa-checklist li{padding:.5rem 0; display:flex; gap:.6rem; align-items:flex-start; border-bottom:1px dashed #E4E9EA;}
.pa-checklist li:last-child{border-bottom:none;}
.pa-checklist i{color:var(--teal); margin-top:.2rem;}
@media(max-width:991.98px){
  .pa-navbar .navbar-collapse{background:#fff; margin-top:.75rem; padding:.25rem 0 1rem; border-top:1px solid var(--line);}
  .pa-navbar .navbar-nav{width:100%;}
  .pa-navbar .navbar-nav .nav-item{width:100%;}
  .pa-navbar .navbar-nav .pa-nav-link{display:block; width:100%;}
  .pa-navbar .navbar-nav li:last-child{margin-top:.5rem;}
  .pa-navbar .navbar-nav li:last-child .pa-btn-teal{display:block; text-align:center;}
}
