/* ATOC procurement: shared blue–green presentation, full project information. */
.procurement-page {font-size: 15px; line-height: 1.75;}
.procurement-page h1 {font-size: clamp(32px,3.4vw,46px); line-height: 1.16; letter-spacing: -.04em; color: var(--navy);}
.procurement-page h2 {font-size: clamp(26px,2.5vw,34px); line-height: 1.22; letter-spacing: -.035em; color: var(--navy);}
.procurement-page h3 {font-size: 19px; line-height: 1.4; letter-spacing: -.025em;}
.procurement-page p+p {margin-top: 14px;}
.procurement-page li {padding-left: 3px;}
.procurement-page li+li {margin-top: 7px;}
.procurement-page ul {padding-left: 19px; list-style: disc; color: var(--text);}
.procurement-page li::marker {color: var(--green);}
.procurement-page :is(a,button) {overflow-wrap: anywhere;}
.procurement-page :is(.pr-panel-body,.pr-bid-panel-body,.pr-requirement-card,.pr-schedule-card,.pr-scope-content,.pr-bid-callout,.pr-info-note,.pr-bid-note) a:not(.pr-btn) {color: var(--blue); text-decoration: underline; text-underline-offset: 3px;}
.procurement-page :is(.pr-content-section,.pr-bid-section) {padding-block: 64px;}
.procurement-page .pr-soft {background: var(--cream);}
.pr-btn {display: inline-flex; align-items: center; justify-content: center; min-height: 48px; max-width: 100%; padding: 13px 19px; border: 1px solid transparent; border-radius: 8px; background: var(--brand-gradient); color: #fff; font-size: 13px; font-weight: 700; line-height: 1.5; text-align: center; transition: background .18s,transform .18s;}
.pr-btn:hover {background: var(--brand-gradient-hover); transform: translateY(-1px);}
.pr-btn-light,.pr-btn-secondary {background: var(--brand-gradient); color: #fff;}
.pr-btn-outline,.pr-btn-outline-light,.pr-btn-white {background: #fff; color: var(--navy); border-color: #bdcfdc;}
.pr-btn-outline:hover,.pr-btn-outline-light:hover,.pr-btn-white:hover {background: var(--mint); color: var(--navy);}
.pr-button-row,.pr-hero-buttons,.pr-scope-toolbar {display: flex; flex-wrap: wrap; align-items: center; gap: 12px;}
.pr-button-row {margin-top: 24px;}
.pr-scope-toolbar {margin-top: 0; margin-bottom: 24px;}
.pr-hero,.pr-bid-hero {padding: 52px 0; background: var(--hero-wash); border-bottom: 1px solid var(--line);}
.pr-hero-grid,.pr-bid-hero-inner {display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); align-items: center; gap: 48px;}
.pr-eyebrow-row,.pr-bid-kicker {display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 20px;}
.pr-status-badge,.pr-bid-status {display: inline-flex; align-items: center; min-height: 30px; padding: 5px 10px; border-radius: 5px; background: var(--mint); color: var(--green); font-size: 13px; font-weight: 800; line-height: 1.4; letter-spacing: .045em;}
.pr-status-badge {background: #e2edf5; color: var(--navy);}
.pr-procurement-label,.pr-bid-solicitation {font-size: 13px; font-weight: 700; line-height: 1.65; letter-spacing: .08em; color: var(--text);}
.pr-hero-subtitle,.pr-subtitle {font-size: 17px; line-height: 1.65; margin-top: 17px; max-width: 560px;}
.pr-hero-location {display: flex; gap: 8px; align-items: center; margin-top: 20px; color: var(--text); font-size: 14px;}
p.pr-hero-location {display: block;}
p.pr-hero-location>strong {color: var(--ink);}
p.pr-hero-location>span {display: block;}
.pr-pin {display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 38px; height: 38px; background: #fff; border: 1px solid var(--line); border-radius: 50%; font-size: 17px;}
.pr-hero-buttons {margin-top: 27px;}
.pr-hero-media,.pr-bid-hero-image {min-width: 0; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: var(--shadow);}
.pr-hero-media>picture,.pr-photo-shell {display: block; overflow: hidden; border-radius: 15px 15px 0 0;}
.pr-hero-media picture img,.pr-photo-shell img {width: 100%; height: auto; aspect-ratio: 1.55; object-fit: cover;}
.pr-hero-media-caption,.pr-image-ribbon {padding: 20px 22px; border-top: 3px solid var(--green);}
.pr-hero-media-caption strong,.pr-image-ribbon strong {display: block; color: var(--navy); font-size: 15px; line-height: 1.5;}
.pr-hero-media-caption span,.pr-image-ribbon span {display: block; margin-top: 6px; color: var(--text); font-size: 13px; line-height: 1.7;}
.pr-summary-strip,.pr-bid-quickbar {background: #fff; border-bottom: 1px solid var(--line);}
.pr-summary-grid,.pr-bid-quick-grid {display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); padding-block: 24px; gap: 24px;}
.pr-summary-card,.pr-bid-quick-card {display: flex; align-items: flex-start; min-width: 0; gap: 12px;}
.pr-summary-key,.pr-qi {display: flex; align-items: center; justify-content: center; flex-shrink: 0; min-width: 38px; height: 38px; padding: 0 5px; background: #edf3f8; color: var(--navy); border-radius: 8px; font-size: 13px; font-weight: 800;}
.pr-qi {font-size: 18px;}
.pr-summary-key.pr-amber,.pr-summary-key.pr-teal {background: var(--mint); color: var(--green);}
.pr-summary-card small,.pr-bid-quick-card>div>span {display: block; color: var(--text); font-size: 13px; line-height: 1.5; margin-bottom: 4px;}
.pr-summary-card strong,.pr-bid-quick-card strong {display: block; color: var(--ink); font-size: 13px; line-height: 1.65; font-weight: 700;}
.pr-action-section,.pr-bid-actions {padding-block: 34px;}
.pr-notice,.pr-bid-note,.pr-info-note,.pr-scope-note {padding: 18px 22px; border: 1px solid #c8decf; border-left: 3px solid var(--green); border-radius: 8px; background: #f0f7f2; font-size: 14px; line-height: 1.75; color: var(--ink);}
.pr-notice {margin-bottom: 24px;}
.pr-action-grid,.pr-bid-actions-grid {display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px;}
.pr-action-card,.pr-bid-action {display: flex; align-items: flex-start; min-width: 0; gap: 12px; padding: 20px 17px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--navy); text-align: left; transition: border-color .18s,background .18s;}
a.pr-action-card:hover,a.pr-bid-action:hover {background: #f0f6fb; border-color: #a5bfd1;}
.pr-action-number,.pr-ai {display: inline-flex; justify-content: center; align-items: center; flex-shrink: 0; min-width: 28px; height: 28px; font-size: 13px; font-weight: 800; color: var(--green); background: var(--mint); border-radius: 6px;}
.pr-action-card strong,.pr-bid-action>span:last-child {display: block; font-size: 13px; line-height: 1.6; font-weight: 700;}
.pr-action-card small,.pr-bid-action small {display: block; margin-top: 5px; color: var(--text); font-size: 13px; font-weight: 500; line-height: 1.65;}
.pr-action-card.pr-disabled {background: var(--cream); color: #536675; border-style: dashed;}
.pr-action-card.pr-disabled .pr-action-number {background: #e5ebef; color: #526779;}
.pr-bid-secondary-links {display: flex; flex-wrap: wrap; gap: 4px 25px; padding-top: 18px;}
.pr-bid-secondary-links a {display: inline-flex; align-items: center; min-height: 40px; font-size: 13px; color: var(--blue); text-decoration: underline; text-underline-offset: 4px;}
.pr-content-layout,.pr-bid-layout {display: grid; grid-template-columns: minmax(0,1fr) 315px; align-items: start; gap: 30px;}
.pr-content-main,.pr-bid-main,.pr-content-aside,.pr-bid-aside {min-width: 0;}
.pr-section-heading,.pr-bid-section-title {display: flex; align-items: flex-start; gap: 17px; margin-bottom: 28px;}
.pr-section-number,.pr-num {display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 42px; height: 42px; background: #e8f1f7; color: var(--navy); border: 1px solid #cfdeea; border-radius: 10px; font-size: 16px; font-weight: 700;}
.pr-green-number,.pr-bid-section-title.pr-green .pr-num {background: var(--mint); border-color: #c8decf; color: var(--green);}
.pr-section-kicker {color: var(--green); font-size: 13px; font-weight: 700; line-height: 1.5; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 5px;}
.pr-section-heading p:last-child,.pr-bid-section-title p {margin-top: 10px; max-width: 760px; line-height: 1.75;}
.pr-panel,.pr-bid-panel {border: 1px solid var(--line); border-radius: 12px; background: #fff;}
.pr-panel-title,.pr-bid-panel-head {padding: 16px 24px; border-bottom: 1px solid var(--line); border-radius: 11px 11px 0 0; background: #edf3f8; color: var(--navy); font-size: 13px; font-weight: 800; line-height: 1.65;}
.pr-green-title,.pr-bid-panel-head.pr-green {background: var(--mint); color: var(--green);}
.pr-panel-body,.pr-bid-panel-body {padding: 24px;}
.pr-panel-spaced {margin-top: 24px;}
.pr-facts-grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 25px; padding-top: 20px; gap: 20px; border-top: 1px solid var(--line);}
.pr-facts-grid small {display: block; color: var(--text); font-size: 13px; margin-bottom: 5px;}
.pr-facts-grid strong {display: block; font-size: 13px; line-height: 1.75;}
.pr-content-aside,.pr-bid-aside {display: flex; flex-direction: column; gap: 20px;}
.pr-aside-card,.pr-bid-deadline-card,.pr-bid-contact-card {border: 1px solid var(--line); border-radius: 12px; background: #fff; padding: 24px;}
.pr-aside-kicker {font-size: 13px; letter-spacing: .09em; font-weight: 800; text-transform: uppercase; color: var(--green); margin-bottom: 7px;}
.pr-aside-card h3,.pr-bid-deadline-card h3,.pr-bid-contact-card h3 {font-size: 20px; margin-bottom: 12px;}
.pr-aside-card p,.pr-bid-deadline-card p,.pr-bid-contact-card p {font-size: 13px;}
.pr-deadline-card,.pr-bid-deadline-card {background: var(--section-gradient); color: #fff; border-color: transparent;}
.pr-deadline-card p,.pr-bid-deadline-card p {color: #d0e0ea;}
.pr-deadline-card .pr-aside-kicker {color: var(--lime);}
.pr-aside-card dl {margin: 20px 0 0;}
.pr-aside-card dl>div {border-top: 1px solid var(--line); padding-top: 13px; margin-top: 13px;}
.pr-aside-card dt {font-size: 13px; color: var(--text); text-transform: uppercase; letter-spacing: .06em;}
.pr-aside-card dd {margin: 5px 0 0; font-size: 13px; font-weight: 700; line-height: 1.7;}
.pr-deadline-card dl>div {border-color: rgba(255,255,255,.19);}
.pr-deadline-card dt {color: #c6dbe7;}
.pr-contact-card>a {display: block; min-height: 34px; color: var(--blue); font-size: 14px; font-weight: 600;}
.pr-contact-card p {margin-bottom: 14px;}
.pr-bid-contact-card a {color: var(--blue); text-decoration: underline; text-underline-offset: 3px;}
.pr-compact-copy p {font-size: 13px;}
.pr-deadline-meta {margin-top: 17px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.22); font-size: 13px; line-height: 1.9; color: #d0e0ea;}
.pr-countdown {display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; margin-top: 18px; font-size: 13px;}
.pr-countdown>div,.pr-countdown>span {min-width: 0; padding: 9px 2px; border: 1px solid rgba(255,255,255,.2); border-radius: 6px; background: rgba(255,255,255,.08); text-align: center;}
.pr-countdown :is(strong,b) {display: block; font-size: 22px; font-weight: 700; line-height: 1.4; font-variant-numeric: tabular-nums;}
.pr-countdown :is(small,span) {font-size: 13px; color: #d0e0ea;}
.pr-countdown>p {grid-column: 1/-1;}
.pr-countdown>.pr-countdown-closed {grid-column: 1/-1; padding: 13px;}
.pr-countdown>.pr-countdown-closed strong {font-size: 18px; letter-spacing: .06em;}
.pr-countdown>.pr-countdown-closed span {display: block; margin-top: 3px; font-size: 13px;}
.pr-scope-grid {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 14px;}
.pr-scope-card {min-width: 0; border: 1px solid var(--line); background: #fff; border-radius: 10px;}
.pr-scope-card>summary {display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 65px; padding: 19px 22px; cursor: pointer; color: var(--navy); font-weight: 700; font-size: 15px; line-height: 1.6; list-style: none;}
.pr-scope-card>summary::-webkit-details-marker {display: none;}
.pr-scope-card>summary::marker {content: '';}
.pr-scope-card>summary::after {content: '+'; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 25px; height: 25px; background: var(--mint); border-radius: 50%; color: var(--green); font-size: 21px; font-weight: 500; line-height: 1;}
.pr-scope-card>summary:hover {background: #f6faf8; border-radius: 9px;}
.pr-scope-card[open]>summary {border-bottom: 1px solid var(--line);}
.pr-scope-card[open]>summary::after {content: '−';}
.pr-scope-content {padding: 21px 24px 25px; color: var(--text); font-size: 15px; line-height: 1.8;}
.pr-scope-content .pr-scope-code {display: inline-block; min-width: 49px; padding: 1px 6px; margin-right: 8px; border-radius: 4px; background: #eaf2f7; color: var(--navy); font-size: 13px; line-height: 1.65; font-weight: 800; vertical-align: 1px;}
.pr-scope-note,.pr-flow {margin-top: 18px; padding: 14px 16px; font-size: 13px; line-height: 1.85;}
.pr-flow {border-radius: 8px; border: 1px solid #c8decf; background: #f0f7f2; color: var(--green); font-weight: 600;}
.pr-flow+ul {margin-top: 16px;}
.pr-document-grid {display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 25px; align-items: start;}
.pr-document-card {display: grid; grid-template-columns: 150px minmax(0,1fr); min-width: 0; border: 1px solid var(--line); border-radius: 12px; background: #fff;}
.pr-document-preview {padding: 18px 12px; border-right: 1px solid var(--line); border-radius: 11px 0 0 11px; background: #edf3f8; display: grid; place-items: center;}
.pr-document-preview picture {display: block; min-width: 0; max-width: 100%;}
.pr-document-preview img {width: 100%; height: auto; max-height: 310px; object-fit: contain; box-shadow: 0 4px 15px #0929431a;}
.pr-document-info {padding: 24px; min-width: 0;}
.pr-document-info>span,.pr-lang {display: inline-block; margin-bottom: 10px; padding: 3px 8px; border-radius: 4px; background: var(--mint); color: var(--green); font-size: 13px; font-weight: 800; letter-spacing: .065em;}
.pr-document-info h3,.pr-doc-info h3 {font-size: 19px; color: var(--navy);}
.pr-document-info p,.pr-doc-info p {font-size: 13px; margin-top: 12px;}
.pr-document-info .pr-btn {margin-top: 18px; font-size: 13px;}
.pr-info-note {margin-top: 20px; padding: 16px; font-size: 13px;}
.pr-doc-grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px;}
.pr-doc-card {border: 1px solid var(--line); border-radius: 12px; background: #fff; min-width: 0;}
.pr-doc-preview {display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(0,1fr); place-items: center; height: 250px; padding: 20px; border-radius: 11px 11px 0 0; border-bottom: 1px solid var(--line); background: #edf3f8;}
.pr-doc-preview picture {display: block; min-width: 0; min-height: 0; width: 100%; height: 100%; max-height: 100%;}
.pr-doc-preview img {display: block; height: 100%; width: 100%; max-width: 100%; max-height: 100%; object-fit: contain; box-shadow: 0 4px 15px #0929431a;}
.pr-doc-icon {font-size: 65px;}
.pr-doc-info {padding: 24px;}
.pr-doc-info>a {display: inline-flex; align-items: center; min-height: 44px; margin-top: 15px; color: var(--blue); font-size: 13px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px;}
.pr-schedule-grid,.pr-requirements-grid {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; gap: 22px;}
.pr-schedule-card,.pr-requirement-card {min-width: 0; padding: 26px; border: 1px solid var(--line); border-radius: 12px; background: #fff;}
.pr-schedule-label {margin-bottom: 8px; color: var(--green); font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;}
.pr-schedule-card h3 {font-size: 22px; color: var(--navy);}
.pr-schedule-card>p:not(.pr-schedule-label) {margin-top: 16px; font-size: 14px;}
.pr-schedule-card .pr-btn {margin-top: 22px;}
.pr-closing-callout,.pr-bid-callout {padding: 25px 28px; border-radius: 12px; border: 1px solid #c8decf; background: #f0f7f2;}
.pr-closing-callout {margin-top: 24px;}
.pr-closing-callout h3,.pr-bid-callout h3 {color: var(--navy);}
.pr-closing-callout p,.pr-bid-callout p {margin-top: 12px; font-size: 14px;}
.pr-requirement-card h3 {margin-bottom: 14px; color: var(--navy);}
.pr-requirement-card ul {font-size: 15px;}
.pr-requirement-card .pr-btn {margin-top: 20px;}
.pr-bid-panel-body>.pr-requirements-grid {gap: 25px;}
.pr-bid-panel-body>.pr-requirements-grid>.pr-requirement-card {border: 0; padding: 0;}
.pr-body-copy {font-size: 15px;}
.pr-small-muted {font-size: 13px; margin-top: 15px;}
.pr-spacer {height: 24px;}
.pr-spacer-lg {height: 28px;}
.pr-mt-18 {margin-top: 20px;}
.pr-timeline {display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; counter-reset: procurement-step;}
.pr-timeline-step {min-width: 0; padding: 22px; border: 1px solid var(--line); border-radius: 10px; background: var(--cream);}
.pr-bubble {display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; margin-bottom: 14px; border-radius: 50%; background: var(--mint); color: var(--green); font-size: 13px; font-weight: 800;}
.pr-timeline-step strong {display: block; color: var(--navy); font-size: 13px; line-height: 1.65;}
.pr-timeline-step small {display: block; margin-top: 7px; color: var(--text); font-size: 13px; line-height: 1.8;}

/* Procurement overview and cross-project navigation. */
.procurement-hub .compact-hero {background: var(--hero-wash);}
.procurement-grid {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px;}
.procurement-project-card {display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 10px 30px #09294308;}
.procurement-card-image {display: block; position: relative; border-radius: 15px 15px 0 0; overflow: hidden; background: var(--cream);}
.procurement-card-image img {width: 100%; height: auto; aspect-ratio: 1.95; object-fit: cover;}
.procurement-card-body {display: flex; flex-direction: column; align-items: flex-start; flex: 1; padding: 30px;}
.procurement-card-status {display: inline-flex; align-items: center; min-height: 28px; padding: 4px 10px; margin-bottom: 15px; border-radius: 5px; background: var(--mint); color: var(--green); font-size: 13px; font-weight: 800; letter-spacing: .04em;}
.procurement-card-status.is-upcoming {background: #e2edf5; color: var(--navy);}
.procurement-card-image .procurement-card-status {position: absolute; left: 20px; bottom: 18px; margin: 0; box-shadow: 0 3px 12px #0929431a;}
.procurement-card-body h2,.procurement-card-body h3 {font-size: 26px; line-height: 1.3; letter-spacing: -.035em; color: var(--navy);}
.procurement-card-body>p {font-size: 15px; line-height: 1.8; margin-top: 15px;}
.procurement-card-meta {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px; width: 100%; margin: 23px 0; padding-block: 19px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 13px;}
.procurement-card-meta small,.procurement-card-meta dt {display: block; color: var(--text); font-size: 13px; text-transform: uppercase; letter-spacing: .07em;}
.procurement-card-meta strong,.procurement-card-meta dd {display: block; margin: 5px 0 0; color: var(--ink); font-size: 13px; font-weight: 600; line-height: 1.8;}
.procurement-card-body>.btn,.procurement-card-body>.text-link {margin-top: auto;}
.procurement-hub-note {display: flex; gap: 18px; margin-top: 28px; padding: 26px 30px; border: 1px solid var(--line); border-left: 3px solid var(--green); border-radius: 10px; background: var(--cream); color: var(--ink); font-size: 14px;}
.procurement-hub-note>span {flex: 0 0 24px; color: var(--green);}
.procurement-hub-note h3 {margin-bottom: 10px;}
.procurement-hub-note p+p {margin-top: 10px;}
.procurement-jumps {display: flex; flex-wrap: wrap; gap: 8px 22px; padding-block: 15px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);}
.procurement-jumps a {display: inline-flex; align-items: center; min-height: 38px; font-size: 13px; font-weight: 700; color: var(--navy);}
.procurement-jumps a:hover {color: var(--green); text-decoration: underline; text-underline-offset: 4px;}

/* Richer colour across procurement cards and controls; dimensions stay shared above. */
.pr-btn {box-shadow: 0 7px 16px #155daf21;}
.pr-btn-outline,.pr-btn-outline-light,.pr-btn-white {background: var(--blue-tint); border-color: #b8d1ef; color: var(--navy); box-shadow: none;}
.pr-btn-outline:hover,.pr-btn-outline-light:hover,.pr-btn-white:hover {background: #d9eaff; border-color: #91b9e4;}
.pr-hero,.pr-bid-hero {background: linear-gradient(120deg,#e9f3ff 0%,#f4f9ff 48%,#e3f3e9 100%);}
.pr-status-badge {background: var(--royal); color: #fff; box-shadow: 0 3px 10px #155daf26;}
.pr-bid-status {background: var(--emerald); color: #fff; box-shadow: 0 3px 10px #187b4c26;}
.pr-hero-media-caption,.pr-image-ribbon {background: linear-gradient(110deg,var(--navy),var(--teal)); border-top-color: #76c99b; border-radius: 0 0 15px 15px;}
.pr-hero-media-caption strong,.pr-image-ribbon strong {color: #fff;}
.pr-hero-media-caption span,.pr-image-ribbon span {color: #eef7fb;}
.pr-summary-strip,.pr-bid-quickbar {background: linear-gradient(110deg,var(--blue-tint),#f1f8f4); border-bottom-color: #c4d9e6;}
.pr-summary-key,.pr-qi {background: var(--royal); color: #fff;}
.pr-summary-key.pr-amber,.pr-summary-key.pr-teal,.pr-bid-quick-card:nth-child(even) .pr-qi {background: var(--emerald); color: #fff;}
.pr-summary-key.pr-navy {background: var(--navy); color: #fff;}
.pr-action-card:not(.pr-disabled),.pr-bid-action {background: linear-gradient(120deg,var(--royal),#104982); border-color: transparent; color: #fff; box-shadow: 0 8px 18px #103b6318;}
.pr-action-card.pr-green:not(.pr-disabled),.pr-bid-action.pr-register {background: linear-gradient(120deg,var(--emerald),#145d3c);}
.pr-action-card.pr-teal:not(.pr-disabled),.pr-bid-action.pr-visit {background: linear-gradient(120deg,var(--teal),#0d5365);}
.pr-bid-action.pr-submit {background: linear-gradient(120deg,var(--navy),#155a81);}
.pr-action-card:not(.pr-disabled) strong,.pr-bid-action>span:last-child {color: #fff;}
.pr-action-card:not(.pr-disabled) small,.pr-bid-action small {color: #f2f8fc;}
.pr-action-card:not(.pr-disabled) .pr-action-number,.pr-bid-action .pr-ai {background: #ffffff24; color: #fff; box-shadow: inset 0 0 0 1px #ffffff30;}
 a.pr-action-card:not(.pr-disabled):hover,a.pr-bid-action:hover {background: linear-gradient(120deg,#0f4c89,#155b56); border-color: transparent;}
.pr-action-card.pr-disabled,.pr-bid-action[aria-disabled="true"],.pr-btn[aria-disabled="true"] {background: #edf1f4; border-color: #c4d1da; border-style: dashed; color: #536675; box-shadow: none; cursor: not-allowed; transform: none;}
.pr-action-card.pr-disabled strong,.pr-bid-action[aria-disabled="true"]>span:last-child {color: #536675;}
.pr-action-card.pr-disabled small,.pr-bid-action[aria-disabled="true"] small {color: #586c7b;}
.pr-action-card.pr-disabled .pr-action-number,.pr-bid-action[aria-disabled="true"] .pr-ai {background: #dce5eb; color: #526779; box-shadow: none;}
a.pr-bid-action[aria-disabled="true"]:hover,.pr-btn[aria-disabled="true"]:hover {background: #edf1f4; border-color: #c4d1da; color: #536675; box-shadow: none; transform: none;}
.pr-bid-secondary-links a {color: var(--royal);}
.pr-section-number,.pr-num {background: var(--royal); border-color: transparent; color: #fff; box-shadow: 0 5px 12px #155daf22;}
.pr-green-number,.pr-bid-section-title.pr-green .pr-num {background: var(--emerald); border-color: transparent; color: #fff; box-shadow: 0 5px 12px #187b4c22;}
.pr-panel,.pr-bid-panel {border-color: #c7d9e9; box-shadow: 0 6px 18px #103b6308;}
.pr-panel-title,.pr-bid-panel-head {background: linear-gradient(110deg,var(--royal),var(--navy)); border-bottom-color: transparent; color: #fff;}
.pr-green-title,.pr-bid-panel-head.pr-green {background: linear-gradient(110deg,var(--emerald),#126354); color: #fff;}
.pr-contact-card,.pr-bid-contact-card {background: var(--teal-tint); border-color: #b8d9db;}
.pr-glance-card {background: var(--blue-tint); border-color: #c5d9ef;}
.pr-scope-card {border-color: #bdd1e6; box-shadow: 0 4px 12px #103b6307;}
.pr-scope-card>summary {background: var(--blue-tint); border-radius: 9px;}
.pr-scope-card:nth-child(even)>summary {background: var(--green-tint);}
.pr-scope-card>summary:hover {background: #d9eaff;}
.pr-scope-card:nth-child(even)>summary:hover {background: #d6eddf;}
.pr-scope-card>summary::after {background: var(--royal); color: #fff;}
.pr-scope-card:nth-child(even)>summary::after {background: var(--emerald); color: #fff;}
.pr-scope-card[open]>summary {background: linear-gradient(110deg,var(--royal),#155a81); border-bottom-color: transparent; border-radius: 9px 9px 0 0; color: #fff;}
.pr-scope-card:nth-child(even)[open]>summary {background: linear-gradient(110deg,var(--emerald),#146957);}
.pr-scope-card[open]>summary::after {background: #ffffff26; color: #fff;}
.pr-scope-content {background: #fff; border-radius: 0 0 9px 9px;}
.pr-scope-content .pr-scope-code {background: var(--blue-tint); color: var(--royal);}
.pr-notice,.pr-bid-note,.pr-info-note,.pr-scope-note {background: var(--green-tint); border-color: #b9d9c5; border-left-color: var(--emerald);}
.pr-bid-note.pr-blue {background: var(--blue-tint); border-color: #bdd1e6; border-left-color: var(--royal);}
.pr-flow {background: var(--teal-tint); border-color: #b8d9db; color: #155567;}
.pr-document-card,.pr-doc-card {border-color: #bcd2e8; box-shadow: 0 8px 20px #103b6310;}
.pr-document-preview,.pr-doc-preview {background: linear-gradient(140deg,#dcecff,#eaf6f0); border-color: #bfd6e8;}
.pr-document-info,.pr-doc-info {background: #f1f7ff; border-radius: 0 0 11px 11px;}
.pr-document-info {border-radius: 0 11px 11px 0;}
.pr-doc-card:nth-child(even) .pr-doc-info {background: var(--green-tint);}
.pr-document-info>span,.pr-lang {background: var(--emerald); color: #fff;}
.pr-doc-card:nth-child(odd) .pr-lang {background: var(--royal);}
.pr-doc-info>a {padding: 8px 14px; max-width: 100%; border-radius: 7px; background: var(--brand-gradient); color: #fff; text-decoration: none; text-align: center; line-height: 1.6; box-shadow: 0 5px 13px #155daf20;}
.pr-doc-info>a:hover {background: var(--brand-gradient-hover); color: #fff;}
.pr-requirement-card,.pr-schedule-card {background: linear-gradient(135deg,#edf5ff,#f8fbff); border-color: #bed3e9; box-shadow: inset 0 3px 0 var(--royal);}
.pr-requirement-card:nth-child(even),.pr-schedule-card:nth-child(even) {background: linear-gradient(135deg,#e8f6ed,#f7fbf8); border-color: #bedbc9; box-shadow: inset 0 3px 0 var(--emerald);}
.pr-bid-panel-body>.pr-requirements-grid>.pr-requirement-card {background: transparent; box-shadow: none;}
.pr-closing-callout,.pr-bid-callout {background: linear-gradient(115deg,var(--blue-tint),var(--green-tint)); border-color: #b4d3cc; box-shadow: inset 0 3px 0 var(--teal);}
.pr-timeline-step {background: var(--blue-tint); border-color: #bdd1e6;}
.pr-timeline-step:nth-child(even) {background: var(--green-tint); border-color: #bedbc9;}
.pr-bubble {background: var(--royal); color: #fff;}
.pr-timeline-step:nth-child(even) .pr-bubble {background: var(--emerald);}
.procurement-project-card {border-color: transparent; background: var(--navy); box-shadow: 0 13px 30px #103b6326;}
.procurement-project-card:nth-child(even) {background: #145e41;}
.procurement-card-body {border-radius: 0 0 15px 15px; background: linear-gradient(135deg,#155a96,var(--navy)); color: #fff;}
.procurement-project-card:nth-child(even) .procurement-card-body {background: linear-gradient(135deg,#18734e,#124d3e);}
.procurement-card-body h2,.procurement-card-body h3 {color: #fff;}
.procurement-card-body>.eyebrow {color: #dbf3e6;}
.procurement-card-body>p {color: #f0f7fc;}
.procurement-card-meta {border-color: #ffffff32;}
.procurement-card-meta small,.procurement-card-meta dt {color: #dfedf5;}
.procurement-card-meta strong,.procurement-card-meta dd {color: #fff;}
.procurement-card-body>.btn,.procurement-card-body>.text-link {background: #fff; color: var(--navy); border-radius: 7px; padding-inline: 16px; box-shadow: 0 4px 12px #09294326;}
.procurement-card-body>.btn:hover,.procurement-card-body>.text-link:hover {background: #eaf5ff; color: var(--navy);}
.procurement-card-status {background: var(--emerald); color: #fff;}
.procurement-card-status.is-upcoming {background: var(--royal); color: #fff;}
.procurement-hub-note {background: linear-gradient(115deg,var(--blue-tint),var(--green-tint)); border-color: #c0d8e5; border-left-color: var(--emerald);}
.procurement-jumps a {background: var(--blue-tint); border-radius: 7px; padding-inline: 12px; color: var(--navy); box-shadow: inset 0 0 0 1px #cedff0;}
.procurement-jumps a:nth-child(even) {background: var(--green-tint); box-shadow: inset 0 0 0 1px #cce4d5;}
.procurement-jumps a:hover,.procurement-jumps a:focus-visible,.procurement-jumps a[aria-current] {background: var(--royal); color: #fff; box-shadow: none; text-decoration: none;}
.procurement-page :is(.pr-action-card:not(.pr-disabled),.pr-bid-action,.pr-scope-card[open]>summary,.pr-hero-media-caption,.pr-image-ribbon):focus-visible,.procurement-card-body :focus-visible {outline-color: #b5e5ca;}

/* Procurement refinement: concise overview, clear reading hierarchy and photo viewing. */
.procurement-hub-hero {padding-block: 30px 36px; border-bottom: 1px solid #cfdfeb; background: linear-gradient(115deg,#eaf3fd 0%,#f6fafb 55%,#e7f3eb 100%);}
.procurement-hub-hero-grid {display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); align-items: center; gap: 48px;}
.procurement-hub-intro,.procurement-hub-visual {min-width: 0;}
.procurement-hub-intro .breadcrumbs {width: 100%; max-width: none; padding: 0; margin: 0 0 18px; font-size: 13px;}
.procurement-hub-intro>.eyebrow {margin-bottom: 13px; font-size: 13px; letter-spacing: .07em;}
.procurement-hub-intro h1 {font-size: clamp(32px,3.55vw,46px); line-height: 1.16; color: var(--navy);}
.procurement-hub-intro>p {max-width: 580px; margin-top: 17px; font-size: 16px; line-height: 1.7;}
.procurement-hub-intro .button-row {margin-top: 22px; gap: 12px;}
.procurement-hub-intro .btn {min-height: 48px; padding: 12px 18px; font-size: 14px;}
.procurement-hub-visual {margin: 0; border-radius: 16px; background: #fff; box-shadow: 0 12px 32px #103b631a;}
.procurement-hub-visual picture {display: block;}
.procurement-hub-visual img {display: block; width: 100%; height: auto; max-height: 280px; aspect-ratio: 1.6; object-fit: cover;}
.procurement-hub-visual figcaption {padding: 14px 18px; border-radius: 0 0 16px 16px; background: linear-gradient(110deg,var(--navy),var(--teal)); color: #edf7fb; font-size: 13px; line-height: 1.65;}
.procurement-hub-visual figcaption strong {color: #fff; font-weight: 700;}
.procurement-hub-visual figcaption strong,.procurement-hub-visual figcaption span {display: block;}
.procurement-hub-visual figcaption span {margin-top: 2px;}
.procurement-hub>.section {padding-block: 56px;}
.procurement-hub .section-head {margin-bottom: 27px; align-items: center;}
.procurement-hub .section-head h2 {font-size: clamp(28px,2.8vw,36px);}
.procurement-card-image img {aspect-ratio: 2.15;}
.procurement-card-body {padding: 26px;}
.procurement-card-body>.eyebrow {margin-bottom: 12px; font-size: 13px; letter-spacing: .025em;}
.procurement-card-body h2,.procurement-card-body h3 {font-size: clamp(23px,2.2vw,27px); line-height: 1.3;}
.procurement-card-body>p {margin-top: 13px; line-height: 1.7;}
.procurement-card-meta {margin-block: 18px; padding-block: 16px; gap: 13px 18px;}
.procurement-card-meta>div:first-child {grid-column: 1/-1;}
.procurement-card-meta small,.procurement-card-meta dt {font-size: 13px; line-height: 1.5; letter-spacing: 0; text-transform: none;}
.procurement-card-meta strong,.procurement-card-meta dd {font-size: 14px; line-height: 1.6; margin-top: 3px;}
.procurement-card-status {min-height: 32px; font-size: 13px; letter-spacing: .015em;}
.procurement-card-body>.text-link {min-height: 46px; font-size: 14px;}
.pr-hero,.pr-bid-hero {padding-block: 30px 40px;}
.pr-hero>.breadcrumbs,.pr-bid-hero>.breadcrumbs {padding: 0; margin-bottom: 24px; font-size: 13px;}
.pr-procurement-label,.pr-bid-solicitation {letter-spacing: .035em;}
.pr-hero-media-caption span,.pr-image-ribbon span {font-size: 13px;}
.pr-hero-media-caption,.pr-image-ribbon {padding: 17px 20px;}
.pr-summary-card strong,.pr-bid-quick-card strong {font-size: 14px; line-height: 1.6;}
.pr-summary-key {min-width: 56px; height: 38px; padding-inline: 7px; letter-spacing: 0;}
.pr-summary-grid,.pr-bid-quick-grid {padding-block: 22px;}
.pr-action-card,.pr-bid-action {min-height: 126px; height: 100%; align-items: flex-start;}
.pr-action-card strong,.pr-bid-action>span:last-child {font-size: 14px; line-height: 1.5;}
.pr-action-card small,.pr-bid-action small {font-size: 13px; line-height: 1.6; font-weight: 400;}
.pr-action-number,.pr-ai {min-width: 30px; height: 30px;}
.pr-aside-card p,.pr-bid-deadline-card p,.pr-bid-contact-card p,.pr-compact-copy p {font-size: 14px; line-height: 1.75;}
.pr-aside-card dt {font-size: 13px; letter-spacing: 0; text-transform: none;}
.pr-aside-card dd {font-size: 14px;}
.pr-panel-title,.pr-bid-panel-head {font-size: 14px; line-height: 1.6;}
.pr-facts-grid strong {font-size: 14px; line-height: 1.65;}
.pr-section-kicker,.pr-aside-kicker,.pr-schedule-label {font-size: 13px; letter-spacing: .035em;}
.pr-info-note,.pr-scope-note,.pr-flow,.pr-small-muted {font-size: 14px; line-height: 1.7;}
.pr-requirement-card,.pr-schedule-card {background: #fff;}
.pr-requirement-card:nth-child(even),.pr-schedule-card:nth-child(even) {background: #f6fbf8;}
.pr-document-grid,.pr-doc-grid {align-items: stretch;}
.pr-doc-card {display: flex; flex-direction: column;}
.pr-doc-preview {flex: 0 0 250px;}
.pr-doc-info {display: flex; flex-direction: column; align-items: flex-start; flex: 1;}
.pr-doc-info>p {margin-bottom: 18px; font-size: 14px; line-height: 1.7;}
.pr-doc-info>a {margin-top: auto; min-height: 46px; font-size: 13px;}
.pr-document-info p {font-size: 14px;}
.pr-document-info>span,.pr-lang {letter-spacing: .035em;}
.pr-timeline-step strong {font-size: 14px; line-height: 1.6;}
.pr-timeline-step small {font-size: 13px; line-height: 1.65;}
.procurement-nav-shell {position: sticky; top: 84px; z-index: 70; border-bottom: 1px solid #d2e0eb; background: rgba(255,255,255,.98); box-shadow: 0 4px 14px #103b6308;}
.procurement-nav-shell .procurement-jumps {flex-wrap: nowrap; gap: 8px; padding-block: 10px; border: 0; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: #b7cbdc transparent; -webkit-overflow-scrolling: touch;}
.procurement-nav-shell .procurement-jumps a {flex-shrink: 0; min-height: 40px; padding-inline: 13px; white-space: nowrap; font-size: 13px;}
.procurement-nav-shell .procurement-jumps a:focus-visible {outline-offset: -3px; outline-color: #86c6ff;}
.procurement-jumps a.is-active,.procurement-jumps a[aria-current=location] {background: var(--royal); color: #fff; box-shadow: none;}
.procurement-page :is(section[id],.pr-contact-card[id],.pr-bid-contact-card[id]) {scroll-margin-top: 64px;}
.pr-property-photo {position: relative; min-width: 0; border-radius: 15px 15px 0 0;}
.pr-property-photo>picture {display: block; overflow: hidden; border-radius: inherit;}
.pr-property-photo picture img {display: block; width: 100%; height: auto; aspect-ratio: 1.55; object-fit: cover;}
.pr-photo-open {position: absolute; right: 14px; bottom: 14px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; max-width: calc(100% - 28px); padding: 10px 13px; border: 1px solid #d2e0eb; border-radius: 8px; background: #fffffff5; color: var(--navy); box-shadow: 0 5px 18px #09294324; font-size: 13px; font-weight: 700; line-height: 1.5;}
.pr-photo-open:hover {background: #fff; color: var(--royal);}
.pr-photo-open svg {width: 17px; height: 17px;}
.pr-photo-dialog {width: min(1100px,calc(100vw - 32px)); max-width: none; height: min(860px,calc(100dvh - 32px)); max-height: calc(100dvh - 32px); padding: 0; border: 1px solid #d2e0eb; border-radius: 16px; background: #fff; color: var(--ink); overflow: hidden; box-shadow: 0 24px 100px #09294366;}
.pr-photo-dialog[open] {display: flex; flex-direction: column;}
.pr-photo-dialog::backdrop {background: #092943b8; backdrop-filter: blur(4px);}
.pr-photo-dialog-head {display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; gap: 18px; padding: 14px 20px; border-bottom: 1px solid var(--line);}
.pr-photo-dialog-head h2 {font-size: 21px; line-height: 1.35; letter-spacing: -.02em; color: var(--navy);}
.pr-photo-close {display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 44px; height: 44px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--cream); color: var(--navy);}
.pr-photo-close:hover {background: var(--blue-tint);}
.pr-photo-view {display: grid; grid-template-rows: minmax(0,1fr) auto; flex: 1; min-height: 0; min-width: 0; margin: 0; background: #eef3f7;}
.pr-photo-viewer-image {display: block; min-width: 0; min-height: 0; width: 100%; height: 100%; max-height: 100%; padding: 12px; object-fit: contain;}
.pr-photo-view figcaption {padding: 10px 20px; border-top: 1px solid var(--line); background: #fff; color: var(--text); font-size: 13px; line-height: 1.6;}
.pr-photo-controls {display: flex; align-items: center; justify-content: center; flex-shrink: 0; gap: 24px; padding: 8px 16px; border-block: 1px solid var(--line); background: #fff;}
.pr-photo-prev,.pr-photo-next {display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 108px; min-height: 44px; padding: 10px 14px; border: 1px solid #c5d9ef; border-radius: 7px; background: var(--blue-tint); color: var(--navy); font-size: 14px; font-weight: 700; line-height: 1.5;}
.pr-photo-prev:hover,.pr-photo-next:hover {background: #d9eaff;}
.pr-photo-counter {min-width: 36px; color: var(--text); font-size: 13px; text-align: center; font-variant-numeric: tabular-nums;}
.pr-photo-thumbs {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); flex-shrink: 0; gap: 10px; padding: 12px 20px; background: var(--cream);}
.pr-photo-thumbs button {display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 64px; padding: 8px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--navy); font-size: 13px; font-weight: 600; line-height: 1.4; text-align: left;}
.pr-photo-thumbs img {width: 64px; height: 44px; flex-shrink: 0; object-fit: cover; border-radius: 4px;}
.pr-photo-thumbs button[aria-current=true],.pr-photo-thumbs button[aria-selected=true],.pr-photo-thumbs button.is-active {border-color: var(--royal); background: var(--blue-tint); box-shadow: inset 0 0 0 1px var(--royal);}
.pr-photo-prev svg {transform: rotate(180deg);}
.pr-photo-dialog #property-photo-note {flex-shrink: 0; margin: 0; padding: 10px 20px; color: var(--text); font-size: 13px; line-height: 1.5; border-top: 1px solid var(--line);}
html.pr-photo-viewer-open {overflow: hidden;}
html.pr-photo-viewer-open body {position: fixed; inset-inline: 0; top: var(--photo-scroll-y,0); width: 100%;}

@media (max-width:1180px) {
  .pr-hero-grid,.pr-bid-hero-inner {gap: 32px;}
  .pr-content-layout,.pr-bid-layout {grid-template-columns: minmax(0,1fr) 290px; gap: 25px;}
  .pr-summary-grid,.pr-bid-quick-grid {gap: 16px;}
  .pr-summary-key {min-width: 56px; width: auto; height: 36px;}
  .pr-qi {min-width: 32px; width: 32px; height: 32px;}
  .pr-summary-card,.pr-bid-quick-card {gap: 9px;}
  .pr-action-card,.pr-bid-action {padding: 17px 14px; gap: 8px;}
  .pr-document-card {grid-template-columns: 110px minmax(0,1fr);}
  .pr-document-info {padding: 20px;}
  .pr-document-info h3 {font-size: 18px;}
}
@media (max-width:960px) {
  .pr-hero-grid,.pr-bid-hero-inner {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px;}
  .pr-hero,.pr-bid-hero {padding-block: 40px;}
  .pr-summary-grid,.pr-bid-quick-grid,.pr-action-grid,.pr-bid-actions-grid {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px;}
  .pr-content-layout,.pr-bid-layout {grid-template-columns: 1fr; gap: 28px;}
  .pr-content-aside,.pr-bid-aside {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start;}
  .pr-glance-card,.pr-bid-aside>.pr-bid-panel {grid-column: 1/-1;}
  .pr-glance-card dl {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; margin-top: 0;}
  .pr-document-grid {grid-template-columns: 1fr;}
  .pr-document-card {grid-template-columns: 180px minmax(0,1fr);}
  .pr-document-preview img {max-height: 240px; width: auto;}
  .pr-document-info {padding: 28px;}
  .pr-timeline {grid-template-columns: repeat(3,minmax(0,1fr));}
  .pr-doc-grid {gap: 16px;}
  .pr-doc-info {padding: 20px;}
  .pr-doc-preview {height: 220px; flex-basis: 220px; padding: 16px;}
  .procurement-card-body {padding: 24px;}
  .procurement-card-body h2,.procurement-card-body h3 {font-size: 23px;}
  .procurement-card-meta {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px;}
}
@media (max-width:700px) {
  .procurement-page :is(.pr-content-section,.pr-bid-section) {padding-block: 44px;}
  .pr-hero,.pr-bid-hero {padding-block: 32px;}
  .pr-hero-grid,.pr-bid-hero-inner {grid-template-columns: 1fr; gap: 30px;}
  .pr-hero-subtitle,.pr-subtitle {font-size: 16px;}
  .pr-hero-media picture img,.pr-photo-shell img {aspect-ratio: 1.7;}
  .pr-hero-media-caption,.pr-image-ribbon {padding: 18px 20px;}
  .pr-summary-grid,.pr-bid-quick-grid {padding-block: 21px; gap: 20px 15px;}
  .pr-summary-card,.pr-bid-quick-card {flex-direction: column; gap: 7px;}
  .pr-summary-key {min-width: 56px; width: auto; padding-inline: 7px;}
  .pr-qi {min-width: 34px; width: auto; padding-inline: 7px;}
  .pr-action-section,.pr-bid-actions {padding-block: 25px;}
  .pr-action-grid,.pr-bid-actions-grid {gap: 12px;}
  .pr-action-card,.pr-bid-action {flex-direction: column; gap: 10px; padding: 18px 16px;}
  .pr-action-card strong,.pr-bid-action>span:last-child {font-size: 14px;}
  .pr-bid-secondary-links {gap: 0 20px;}
  .pr-bid-secondary-links a {font-size: 13px;}
  .pr-section-heading,.pr-bid-section-title {gap: 13px; margin-bottom: 24px;}
  .pr-section-number,.pr-num {width: 34px; height: 34px; border-radius: 8px; font-size: 14px;}
  .pr-section-heading p:last-child,.pr-bid-section-title p {font-size: 14px;}
  .pr-content-aside,.pr-bid-aside {grid-template-columns: 1fr; gap: 16px;}
  .pr-glance-card,.pr-bid-aside>.pr-bid-panel {grid-column: auto;}
  .pr-panel-body,.pr-bid-panel-body {padding: 21px;}
  .pr-panel-title,.pr-bid-panel-head {padding: 15px 21px;}
  .pr-facts-grid {grid-template-columns: 1fr; gap: 14px;}
  .pr-facts-grid strong {font-size: 13px;}
  .pr-scope-grid {grid-template-columns: 1fr; gap: 12px;}
  .pr-scope-card>summary {min-height: 60px; padding: 17px 19px; font-size: 14px;}
  .pr-scope-content {padding: 19px 21px 23px; font-size: 15px;}
  .pr-scope-toolbar {gap: 9px;}
  .pr-scope-toolbar .pr-btn {font-size: 13px; padding: 11px 14px;}
  .pr-schedule-grid,.pr-requirements-grid {grid-template-columns: 1fr; gap: 17px;}
  .pr-schedule-card,.pr-requirement-card {padding: 23px;}
  .pr-schedule-card h3 {font-size: 20px;}
  .pr-closing-callout,.pr-bid-callout {padding: 23px;}
  .pr-doc-grid {grid-template-columns: 1fr; gap: 20px;}
  .pr-doc-preview {height: 260px; flex-basis: 260px; padding: 18px;}
  .pr-doc-info {padding: 23px;}
  .pr-document-card {grid-template-columns: 1fr;}
  .pr-document-preview {border-right: 0; border-bottom: 1px solid var(--line); border-radius: 11px 11px 0 0; padding: 20px;}
  .pr-document-preview img {max-height: 270px;}
  .pr-document-info {padding: 23px; border-radius: 0 0 11px 11px;}
  .pr-notice,.pr-bid-note {padding: 18px; font-size: 13px;}
  .pr-timeline {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px;}
  .pr-timeline-step {padding: 18px 16px;}
  .pr-timeline-step strong {font-size: 14px;}
  .procurement-grid {grid-template-columns: 1fr; gap: 25px;}
  .procurement-card-body {padding: 25px;}
  .procurement-card-meta {grid-template-columns: repeat(2,minmax(0,1fr));}
  .procurement-card-image img {aspect-ratio: 2;}
  .procurement-hub-note {padding: 22px;}
  .procurement-jumps {gap: 5px 17px;}
  .procurement-jumps a {font-size: 13px;}
}
@media (max-width:390px) {
  .pr-btn {font-size: 13px; padding: 12px 15px;}
  .pr-hero-buttons,.pr-bid-hero .pr-button-row {align-items: stretch; flex-direction: column;}
  .pr-glance-card dl {grid-template-columns: 1fr;}
  .pr-action-card,.pr-bid-action {padding: 16px 13px;}
  .pr-summary-card strong,.pr-bid-quick-card strong {font-size: 14px;}
  .pr-section-heading,.pr-bid-section-title {gap: 10px;}
  .procurement-card-meta {grid-template-columns: 1fr;}
}
@media (max-width:1040px) {
  .procurement-nav-shell {top: 72px;}
  .procurement-hub-hero-grid {gap: 30px;}
}
@media (max-width:700px) {
  .procurement-hub-hero {padding-block: 24px 30px;}
  .procurement-hub-hero-grid {grid-template-columns: 1fr; gap: 26px;}
  .procurement-hub-intro .breadcrumbs {margin-bottom: 15px;}
  .procurement-hub-intro>p {font-size: 15px; margin-top: 15px;}
  .procurement-hub-intro .button-row {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 20px;}
  .procurement-hub-intro .btn {padding: 11px 12px; font-size: 13px;}
  .procurement-hub-visual img {aspect-ratio: 1.75; max-height: none;}
  .procurement-hub>.section {padding-block: 40px;}
  .procurement-hub .section-head {align-items: flex-start;}
  .procurement-nav-shell .procurement-jumps {padding-block: 9px; gap: 7px;}
  .procurement-nav-shell .procurement-jumps a {font-size: 13px; padding-inline: 12px;}
  .pr-photo-dialog {width: calc(100vw - 16px); height: calc(100dvh - 16px); max-height: calc(100dvh - 16px); border-radius: 12px;}
  .pr-photo-dialog-head {gap: 12px; padding: 11px 13px;}
  .pr-photo-dialog-head h2 {font-size: 18px;}
  .pr-photo-viewer-image {padding: 8px;}
  .pr-photo-view figcaption {padding: 9px 13px;}
  .pr-photo-controls {gap: 12px; padding-inline: 10px;}
  .pr-photo-prev,.pr-photo-next {min-width: 96px; padding-inline: 10px; font-size: 13px;}
  .pr-photo-thumbs {gap: 8px; padding: 10px;}
  .pr-photo-thumbs button {flex-direction: column; align-items: center; gap: 6px; padding: 7px 5px; text-align: center;}
  .pr-photo-thumbs img {width: 60px; height: 40px;}
}
@media (max-height:560px) {
  .procurement-nav-shell {position: static;}
  .procurement-page :is(section[id],.pr-contact-card[id],.pr-bid-contact-card[id]) {scroll-margin-top: 8px;}
  .pr-photo-dialog {height: calc(100dvh - 16px); max-height: calc(100dvh - 16px);}
  .pr-photo-dialog-head {padding-block: 7px;}
  .pr-photo-dialog-head h2 {font-size: 17px;}
  .pr-photo-view figcaption {padding-block: 6px;}
  .pr-photo-controls {padding-block: 5px;}
  .pr-photo-thumbs {display: none;}
}
@media (prefers-reduced-motion:reduce) {
  .pr-btn {transition: none;}
}
@media print {
  .pr-hero,.pr-bid-hero,.pr-soft,.procurement-hub-hero {background: #fff!important;}
  .procurement-nav-shell,.pr-photo-dialog,.pr-photo-open {display: none!important;}
  .procurement-hub-hero-grid {grid-template-columns: 1fr;}
  .procurement-hub-visual {max-width: 420px; margin-block: 20px; box-shadow: none;}
  .procurement-hub-visual figcaption,.procurement-hub-visual figcaption strong {background: #fff!important; color: #18384d!important;}
  .pr-action-section,.pr-bid-actions,.pr-scope-toolbar,.pr-btn,.procurement-jumps {display: none!important;}
  .pr-content-layout,.pr-bid-layout,.pr-scope-grid {display: block;}
  .pr-scope-card {break-inside: auto; margin-block: 12px;}
  .pr-scope-card>summary {break-after: avoid;}
  .pr-scope-card>.pr-scope-content {display: block!important;}
  .pr-scope-card::details-content {content-visibility: visible!important; display: block!important; height: auto!important;}
  .pr-deadline-card,.pr-bid-deadline-card {background: #fff!important; color: #18384d!important; border-color: #dae4ec;}
  .pr-deadline-card p,.pr-bid-deadline-card p,.pr-deadline-meta {color: #526779!important;}
  .pr-panel-title,.pr-bid-panel-head,.pr-scope-card>summary,.pr-hero-media-caption,.pr-image-ribbon,.procurement-card-body,.pr-status-badge,.pr-bid-status,.procurement-card-status,.pr-section-number,.pr-num,.pr-document-info>span,.pr-lang,.pr-bubble,.pr-summary-key,.pr-qi {background: #fff!important; color: #18384d!important; box-shadow: none!important;}
  .procurement-project-card {background: #fff!important; border-color: #dae4ec; box-shadow: none;}
  .procurement-card-body :is(h2,h3,p,.eyebrow,dt,dd,small,strong),.pr-hero-media-caption :is(strong,span),.pr-image-ribbon :is(strong,span) {color: #18384d!important;}
  .pr-scope-card>summary::after {background: #e8f2ff!important; color: #18384d!important;}
  .pr-doc-info>a {background: #fff!important; color: #103b63!important; box-shadow: none; text-decoration: underline;}
}
