.public-site .project-dialog {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    text-align: left;
    padding: 20px 12px !important;
    color: #1d1d1f;
}
.public-site .project-dialog .modal-dialog {
    width: auto;
    max-width: 820px !important;
    height: calc(100% - 24px);
    min-height: 0;
    margin: 12px auto !important;
    padding: 0;
    transform: none;
}
.public-site .project-dialog .modal-content {
    max-height: 100%;
    height: auto;
    padding: 0 !important;
    border: 1px solid #dedee3;
    border-radius: 8px !important;
    background: #fff;
    background-image: none;
    box-shadow: 0 24px 80px rgba(0,0,0,.2);
    text-align: left;
}
.public-site .project-dialog .modal-header {
    flex: 0 0 auto;
    min-height: 64px;
    padding: 12px 28px;
    gap: 16px;
    border-bottom: 1px solid #e8e8ed;
    background: #fbfbfd;
}
.public-site .project-dialog .dialog-label { font-size: 12px; color: #606067; line-height: 1.5; }
.dialog-close {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: #ededf0;
    color: #424245;
    cursor: pointer;
}
.dialog-close:hover { background: #dedee3; }
.dialog-close:focus-visible, .story-enquiry:focus-visible { outline: 3px solid #0071e3; outline-offset: 3px; }
.public-site .project-dialog .modal-body { padding: 32px 40px; overflow-y: auto; overscroll-behavior: contain; }
.public-site .project-dialog .story-intro { position: relative; padding-bottom: 8px; }
.public-site .project-dialog .story-intro-illustrated { padding-right: 128px; min-height: 126px; }
.public-site .project-dialog .story-illustration { display: block; width: 104px; height: 104px; object-fit: contain; margin: 0 0 22px; right: 0px; top: 0; position: absolute; opacity: 50%; pointer-events: none; }
.public-site .project-dialog .story-category { color: #0066cc; font-size: 12px; font-weight: 550; margin: 0 0 10px; }
.public-site .project-dialog .modal-content h2 { margin: 0 0 14px; font-size: 30px; font-weight: 650; line-height: 1.2; text-transform: none; }
.public-site .project-dialog .story-lead { color: #606067; font-size: 19px; line-height: 1.5; margin: 0 0 20px; }
.public-site .project-dialog .story-section { padding: 24px 0; border-top: 1px solid #e8e8ed; }
.public-site .project-dialog h3 { font-size: 19px; margin: 0 0 14px; }
.public-site .project-dialog .story-section > p { color: #606067; font-size: 15px; line-height: 1.75; margin: 0; }
.public-site .project-dialog .story-features { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.public-site .project-dialog .story-features > div { position: relative; padding-left: 24px; }
.public-site .project-dialog .story-features i { position: absolute; left: 0; top: 4px; color: #0071e3; font-size: 13px; }
.public-site .project-dialog h4 { font-size: 15px; margin: 0 0 8px; }
.public-site .project-dialog .story-features p { font-size: 14px; color: #606067; line-height: 1.65; margin: 0; }
.public-site .project-dialog .story-facts { margin: 0; }
.public-site .project-dialog .story-facts > div { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 16px; padding: 10px 0; }
.public-site .project-dialog dt { font-size: 13px; font-weight: 550; }
.public-site .project-dialog dd { color: #606067; font-size: 14px; line-height: 1.65; margin: 0; }
.public-site .project-dialog .story-note { color: #606067; font-size: 12px; line-height: 1.6; margin: 0; }
.public-site .project-dialog .story-screenshot { margin: 24px 0 0; }
.public-site .project-dialog .story-screenshot img { display: block; width: 100%; height: auto; margin: 0; border: 1px solid #dedee3; border-radius: 4px; }
.public-site .project-dialog figcaption { font-size: 12px; color: #606067; margin-top: 10px; }
.public-site .project-dialog .modal-footer {
    flex: 0 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    border-top: 1px solid #e8e8ed;
    background: #fbfbfd;
    padding: 16px 28px;
}
.public-site .project-dialog .modal-footer span { font-size: 13px; color: #606067; }
.public-site .project-dialog .story-enquiry { display: inline-flex; align-items: center; gap: 10px; background: #0071e3; color: #fff; border: 0; border-radius: 8px; padding: 10px 16px; font-size: 14px; font-weight: 500; text-decoration: none; }
.public-site .project-dialog .story-enquiry:hover { background: #0066cc; }
.task-dialog { position: fixed; inset: 0; z-index: 2100; padding: 24px; display: grid; place-items: center; background: rgba(0,0,0,.35); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.task-dialog-panel { width: min(440px,100%); background: #fff; color: #1d1d1f; border: 1px solid #dedee3; border-radius: 8px; box-shadow: 0 24px 80px rgba(0,0,0,.2); }
.task-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px; border-bottom: 1px solid #e8e8ed; }
.task-dialog-header h4 { font-family: inherit; font-size: 20px; text-transform: none; margin: 0; }
.task-dialog-body { padding: 24px; }
.task-dialog-body label { display: block; font-size: 13px; font-weight: 550; margin-bottom: 8px; }
.task-dialog-body input { display: block; width: 100%; padding: 12px; border: 1px solid #86868b; border-radius: 8px; font-size: 16px; }
.task-dialog-body input:focus-visible { outline: 3px solid #0071e3; outline-offset: 2px; }
.task-dialog-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 24px; }
.task-dialog-actions button { border: 1px solid #dedee3; border-radius: 8px; background: #f5f5f7; color: #1d1d1f; padding: 10px 18px; font-size: 14px; }
.task-dialog-actions .task-save { background: #0071e3; border-color: #0071e3; color: #fff; }
@media (max-width: 600px) {
    .public-site .project-dialog { padding: 6px !important; }
    .public-site .project-dialog .modal-dialog { height: calc(100% - 12px); margin: 6px auto !important; }
    .public-site .project-dialog .modal-header, .public-site .project-dialog .modal-footer { padding: 12px 18px; }
    .public-site .project-dialog .modal-body { padding: 24px 20px; }
    .public-site .project-dialog .modal-content h2 { font-size: 25px; }
    .public-site .project-dialog .story-intro-illustrated { padding-right: 88px; }
    .public-site .project-dialog .story-illustration { width: 72px; height: 72px; }
    .public-site .project-dialog .story-lead { font-size: 17px; }
    .public-site .project-dialog .story-features { grid-template-columns: 1fr; gap: 20px; }
    .public-site .project-dialog .story-facts > div { grid-template-columns: 1fr; gap: 4px; }
    .public-site .project-dialog .modal-footer span { max-width: 150px; }
}
@media (prefers-reduced-motion: reduce) { .public-site .project-dialog.fade { transition: none; } }
