  :root{
    --ink:#1c2b3a;
    --paper:#fbf9f4;
    --brass:#0256bd;
    --alert:#0256bd;
    --alert-deep:#013b85;
    --line:#d8cfbd;
    --muted:#5c6773;
  }

.modal-backdrop.show{ opacity:.75; }

  .notice-modal .modal-dialog{
    max-width:560px;
  }

  .notice-modal .modal-content{
    background: var(--paper);
    border: none;
    border-radius: 2px;
    box-shadow: 0 30px 70px rgba(0,0,0,0.45), 0 0 0 1px var(--line);
    overflow:hidden;
    position:relative;
  }

  /* Top ribbon */
  .notice-modal .modal-content::before{
    content:"";
    position:absolute;
    top:0; left:0; right:0;
    height:6px;
    background: repeating-linear-gradient(
      45deg,
      var(--alert),
      var(--alert) 12px,
      var(--alert-deep) 12px,
      var(--alert-deep) 24px
    );
  }

  .notice-header{
    padding: 34px 40px 18px;
    text-align:center;
    border-bottom: 1px solid var(--line);
    background:
      linear-gradient(180deg, rgba(168,118,44,0.06), transparent 70%);
  }

  .seal{
    width:56px;height:56px;
    margin:0 auto 14px;
    border:2px solid var(--brass);
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    position:relative;
  }
  .seal::after{
    content:"";
    position:absolute;
    inset:5px;
    border:1px solid var(--brass);
    border-radius:50%;
  }
  .seal svg{ width:24px; height:24px; fill:var(--brass); position:relative; }

  .eyebrow{
    letter-spacing:.22em;
    font-size:.7rem;
    text-transform:uppercase;
    color:var(--alert);
    font-family: 'Quicksand', Arial, sans-serif;
    font-weight:700;
    margin-bottom:6px;
  }

  .notice-title{
    font-size:1.5rem;
    font-weight:700;
    color:var(--ink);
    letter-spacing:.01em;
    line-height:1.3;
    margin:0;
  }

  .notice-body{
    padding: 26px 40px 8px;
    color: var(--ink);
  }

  .notice-body p{
    font-size: 1rem;
    line-height:1.75;
    margin-bottom: 16px;
    color:#2c3a48;
  }

  .status-strip{
    display:flex;
    align-items:center;
    gap:10px;
    background: rgba(138,44,29,0.07);
    border-left: 3px solid var(--alert);
    padding: 12px 16px;
    margin: 4px 0 22px;
    font-family:'Quicksand', Arial, sans-serif;
  }
  .status-strip .dot{
    width:9px;height:9px;border-radius:50%;
    background: var(--alert);
    box-shadow: 0 0 0 3px rgba(138,44,29,0.18);
    flex-shrink:0;
    animation: pulse 2.2s ease-in-out infinite;
  }
  @keyframes pulse{
    0%,100%{ box-shadow:0 0 0 3px rgba(138,44,29,0.18); }
    50%{ box-shadow:0 0 0 6px rgba(138,44,29,0.10); }
  }
  .status-strip span{
    font-size:.82rem;
    font-weight:600;
    color: var(--alert-deep);
    letter-spacing:.01em;
  }

  .application-note{
    display:flex;
    align-items:flex-start;
    gap:12px;
    background: #eef4ee;
    border: 1px solid #b9d3ba;
    border-radius:3px;
    padding: 14px 16px;
    margin: 6px 0 24px;
  }
  .application-note svg{
    width:20px;height:20px;
    flex-shrink:0;
    margin-top:2px;
    fill:#3a6b3d;
  }
  .application-note p{
    margin:0;
    font-size:.9rem;
    line-height:1.55;
    color:#2a4a2c;
    font-family:'Quicksand', Arial, sans-serif;
  }
  .application-note strong{
    color:#254d27;
  }

  .requirements{
    background: #f3efe4;
    border: 1px solid var(--line);
    border-radius: 3px;
    padding: 16px 18px 14px;
    margin: 0 0 24px;
    font-family:'Quicksand', Arial, sans-serif;
  }
  .requirements .req-title{
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.14em;
    font-weight:700;
    color: var(--brass);
    margin-bottom:10px;
  }
  .requirements ul{
    list-style:none;
    margin:0; padding:0;
  }
  .requirements li{
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-size:.88rem;
    line-height:1.5;
    color:#2c3a48;
    margin-bottom:9px;
  }
  .requirements li:last-child{ margin-bottom:0; }
  .requirements li svg{
    width:16px; height:16px;
    fill: var(--brass);
    flex-shrink:0;
    margin-top:2px;
  }

  .signature-block{
    margin-top: 6px;
    padding-top: 18px;
    border-top: 1px dashed var(--line);
    font-family:'Quicksand', Arial, sans-serif;
  }
  .signature-block .role{
    font-weight:700;
    font-size:.95rem;
    color:var(--ink);
    margin-bottom:2px;
  }
  .signature-block .org{
    font-size:.82rem;
    color: var(--muted);
    line-height:1.5;
  }

  .notice-footer{
    padding: 20px 40px 32px;
    text-align:center;
  }

  .btn-acknowledge{
    background: var(--ink);
    color: var(--paper);
    border:none;
    padding: 11px 34px;
    font-family:'Quicksand', Arial, sans-serif;
    font-weight:600;
    font-size:.85rem;
    letter-spacing:.05em;
    text-transform:uppercase;
    border-radius:2px;
    transition: background .2s ease, transform .2s ease;
  }
  .btn-acknowledge:hover{
    background: var(--alert-deep);
    color:#fff;
    transform: translateY(-1px);
  }

  .btn-apply{
    background: transparent;
    color: var(--brass);
    border: 1.5px solid var(--brass);
    padding: 10px 30px;
    font-family:'Quicksand', Arial, sans-serif;
    font-weight:600;
    font-size:.85rem;
    letter-spacing:.05em;
    text-transform:uppercase;
    border-radius:2px;
    text-decoration:none;
    display:inline-block;
    transition: background .2s ease, color .2s ease, transform .2s ease;
  }
  .btn-apply:hover{
    background: var(--brass);
    color:#fff;
    transform: translateY(-1px);
  }

  .footer-actions{
    display:flex;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
  }

  @media (max-width: 576px){
    .notice-header, .notice-body, .notice-footer{ padding-left:24px; padding-right:24px; }
    .notice-title{ font-size:1.25rem; }
  }

  @media (prefers-reduced-motion: reduce){
    .status-strip .dot{ animation:none; }
  }