/* Projects only. Shared Header, Footer and inquiry styles remain authoritative. */
.project-pages [hidden] { display: none !important; }
.project-media-placeholder { display: block; width: 100%; height: 100%; }
.project-template-hero, .project-template-preview .site-inquiry { background-color: #092330; background-image: none; }
.project-template-hero::before, .project-template-hero::after { background-image: none; }
.project-detail-hero .project-detail-hero__inner--text { grid-template-columns: minmax(0,1fr); }
.project-lightbox__placeholder { width: 100%; height: 100%; }
.project-pages > .section:not(.site-inquiry) { padding-block: 88px; }
.project-pages #selected-projects, .project-pages #start { scroll-margin-top: 100px; }
.project-pages .section__lead { max-width: 850px; }
.project-section-muted { background: #f6f8f9; }
.project-filters { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0 24px; }
.project-filters a { border: 1px solid #d6e0e4; border-bottom: 2px solid #d6e0e4; background: #f6f8f9; color: var(--gray-600); font: inherit; padding: 14px 20px; min-height: 44px; cursor: pointer; }
.project-filters a[aria-current=true] { border-color: var(--brand-600); color: var(--brand-600); background: #edf6f8; font-weight: 600; }
.project-filters a[data-project-filter=all] { background: transparent; }
.project-filters a:hover { color: var(--brand-600); border-bottom-color: var(--brand-600); }
.project-record-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px 40px; align-items: start; }
.project-record-card { min-width: 0; display: flex; flex-direction: column; border-bottom: 1px solid var(--gray-200); padding-bottom: 24px; }
.project-record-card__image { display: block; aspect-ratio: 16/9; overflow: hidden; background: #edf3f5; }
.project-record-card__image img { width: 100%; height: 100%; aspect-ratio: 16/9; object-fit: cover; object-position: center; display: block; transition: transform .25s ease; }
.project-record-card__image:hover img { transform: scale(1.025); }
.project-record-card__body { display: flex; flex-direction: column; padding-top: 22px; }
.project-record-tags { display: flex; flex-wrap: wrap; gap: 8px 16px; list-style: none; padding: 0; margin: 0 0 12px; font-size: .69rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #236278; }
.project-record-card h3 { font-size: clamp(1.15rem, 1.7vw, 1.5rem); line-height: 1.35; margin: 0 0 12px; }
.project-record-card h3 a { color: var(--ink-900); }
.project-record-card__location { margin: 0 0 3px; font-weight: 500; }
.project-record-card__meta { margin: 0; color: var(--gray-600); font-size: .88rem; }
.project-record-facts { display: flex; gap: 36px; padding: 20px 0; margin: 20px 0 0; border-top: 1px solid var(--gray-200); }
.project-record-facts > div { display: flex; flex-direction: column-reverse; gap: 5px; }
.project-record-facts dt { font-size: .77rem; color: var(--gray-600); }
.project-record-facts dd { margin: 0; font-size: 1.6rem; font-weight: 600; color: var(--ink-900); font-variant-numeric: tabular-nums; }
.project-record-card__scope { font-size: .86rem; line-height: 1.7; margin: 2px 0 0; }
.project-record-card__scope strong { font-size: .76rem; font-weight: 600; }
.project-record-card__link { display: inline-block; margin-top: 28px; padding-top: 0; color: #006e8d; font-weight: 600; font-size: .9rem; min-height: 44px; }
.project-application-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.project-application { color: var(--ink-900); border-top: 2px solid #b6cbd3; padding-top: 24px; }
.project-application h3, .project-participation-grid h3, .project-scope-grid h3 { font-size: 1.08rem; line-height: 1.5; margin: 0 0 12px; }
.project-application p, .project-participation-grid li, .project-scope-grid p { color: var(--gray-600); font-size: .9rem; line-height: 1.75; }
.project-application span { font-size: .85rem; color: #006e8d; font-weight: 600; }
a.project-application:hover { border-color: var(--brand-600); }
.project-participation-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; margin-top: 36px; }
.project-participation-grid article { border-top: 1px solid var(--gray-200); padding-top: 24px; }
.project-participation-grid ul { padding-left: 18px; margin: 0; }
.project-pages .breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; padding-block: 24px; font-size: .78rem; }
.project-detail-hero { padding: 24px 0 64px; }
.project-detail-hero__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.project-detail-hero__media { background: #edf3f5; aspect-ratio: 16/9; overflow: hidden; }
.project-detail-hero__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.project-detail-hero h1 { font-size: clamp(1.9rem, 2.8vw, 2.7rem); line-height: 1.18; letter-spacing: -.025em; text-wrap: balance; margin: 10px 0 22px; }
.project-detail-hero .section__label { display: block; font-size: .75rem; color: #236278; text-transform: uppercase; letter-spacing: .06em; }
.project-detail-hero__summary { font-size: .95rem; line-height: 1.8; color: var(--gray-600); margin: 0 0 18px; }
.project-detail-status { display: inline-block; border-left: 3px solid #5c918e; padding-left: 12px; font-size: .82rem; font-weight: 600; margin: 0 0 8px; }
.project-record-label { color: var(--gray-600); font-size: .75rem; margin: 0 0 24px; }
.project-detail-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
.project-detail-actions .btn { font-size: .87rem; }
.project-text-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: .9rem; color: #006e8d; font-weight: 600; }
.project-pages > .project-snapshot-section { background: #f6f8f9; padding-block: 48px; }
.project-snapshot { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px 32px; margin: 28px 0 0; }
.project-snapshot > div { border-top: 1px solid #d6e0e4; padding-top: 14px; }
.project-snapshot dt { font-size: .75rem; color: var(--gray-600); margin-bottom: 8px; }
.project-snapshot dd { margin: 0; font-weight: 600; line-height: 1.6; font-size: .95rem; }
.project-overview { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.project-overview--text { grid-template-columns: 1fr; max-width: 900px; }
.project-overview p, .project-prose p { font-size: .98rem; line-height: 1.85; color: var(--gray-600); }
.project-prose { max-width: 850px; }
.project-pages figure { margin: 0; min-width: 0; }
.project-overview img { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: contain; display: block; background: #fff; }
.project-pages figcaption { font-size: .79rem; line-height: 1.6; margin-top: 12px; color: var(--gray-600); }
.project-scope-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 28px; margin-top: 32px; }
.project-scope-grid article { padding-top: 22px; border-top: 2px solid #b6cbd3; }
.project-scope-grid p { margin-bottom: 0; }
.project-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; margin-top: 36px; }
.project-gallery a { display: block; position: relative; aspect-ratio: 4/3; overflow: hidden; background: #edf3f5; }
.project-gallery img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.project-gallery--layout { grid-template-columns: repeat(2,minmax(0,1fr)); }
.project-gallery--layout figure:first-child { grid-column: 1 / -1; grid-row: auto; }
.project-gallery--layout a { aspect-ratio: 16/9; overflow: hidden; border: 1px solid #d6e0e4; border-radius: 4px; background: #f6f8f9; }
.project-gallery--layout img, .project-gallery--layout figure:first-child img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: contain; }
.project-gallery__title { margin: 0 0 10px; font-size: 1rem; font-weight: 600; }
.project-gallery--layout figcaption { margin-top: 8px; }
.project-gallery a:hover { outline: 1px solid var(--brand-600); }
.project-gallery__zoom { position: absolute; bottom: 12px; right: 12px; width: 36px; height: 36px; display: grid; place-items: center; color: var(--ink-900); background: #fff; font-size: 1.4rem; border: 1px solid #d6e0e4; }
.project-function-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px 24px; list-style: none; padding: 0; margin: 32px 0; }
.project-function-list li { padding: 16px 0; border-top: 1px solid #d6e0e4; font-size: .9rem; font-weight: 500; }
.project-table-scroll { overflow-x: auto; border-top: 2px solid var(--ink-900); }
.project-equipment-table { border-collapse: collapse; width: 100%; min-width: 530px; background: #fff; font-size: .92rem; }
.project-equipment-table caption { text-align: left; padding: 18px; font-size: .8rem; color: var(--gray-600); }
.project-equipment-table th, .project-equipment-table td { padding: 16px 20px; border-bottom: 1px solid #dce4e7; text-align: left; }
.project-equipment-table thead th { background: #eaf1f3; font-size: .8rem; }
.project-equipment-table tbody th { font-weight: 500; }
.project-equipment-table td:nth-child(2) { font-variant-numeric: tabular-nums; }
.project-equipment-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; }
.project-equipment-links > a { color: var(--ink-900); border-bottom: 1px solid #d6e0e4; padding-bottom: 24px; }
.project-equipment-links img { display: block; width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; }
.project-equipment-links__media { display: block; aspect-ratio: 4/3; overflow: hidden; background: #E8F0F4; }
.project-equipment-links__media img { height: 100%; aspect-ratio: auto; }
.project-equipment-links h3 { margin: 20px 0 8px; font-size: 1.1rem; }
.project-equipment-links p { font-size: .85rem; color: var(--gray-600); }
.project-equipment-links span { font-size: .85rem; color: #006e8d; }
.project-equipment-links > a:hover { border-color: var(--brand-600); }
.project-equipment-links > a:hover h3, .project-record-card h3 a:hover { color: var(--brand-600); }
.project-pages > #project-operation.section { padding-block: 72px; }
.project-operation { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); align-items: center; gap: 32px 64px; }
.project-operation .section__title { font-size: clamp(1.4rem,2.1vw,1.9rem); }
.project-operation .project-prose p:last-child { margin-bottom: 0; }
.project-operation__services { list-style: none; margin: 0; padding: 0; }
.project-operation__services li { padding: 16px 0 16px 22px; border-top: 1px solid #d6e0e4; position: relative; font-size: .95rem; font-weight: 500; }
.project-operation__services li::before { content: ''; position: absolute; left: 0; top: 23px; width: 7px; height: 7px; border: 1px solid var(--brand-600); }
.project-operation > .project-gallery { grid-column: 1 / -1; }
.project-record-grid--related { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.project-record-grid--related h3 { font-size: 1.1rem; }
.project-lightbox { position: fixed; padding: 16px; border: 0; width: min(96vw,1400px); max-width: 96vw; max-height: 94dvh; background: #fff; color: var(--ink-900); }
.project-lightbox::backdrop { background: rgba(6,22,32,.85); }
.project-lightbox__toolbar { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.project-lightbox button, [data-project-reset] { background: #edf3f5; border: 1px solid #c8d8df; padding: 10px 16px; min-height: 44px; color: var(--ink-900); font: inherit; font-size: .85rem; cursor: pointer; }
.project-lightbox button:hover, .project-pages [data-project-reset]:hover { background: #dce9ed; border-color: var(--brand-600); }
.project-lightbox__viewport { height: min(68dvh,800px); overflow: auto; background: #f5f7f8; }
.project-lightbox__viewport img { width: 100%; height: 100%; display: block; object-fit: contain; }
.project-lightbox.is-zoomed .project-lightbox__viewport img { width: 200%; max-width: none; height: 200%; object-fit: contain; }
.project-lightbox__caption { margin: 12px 0 0; font-size: .83rem; }
.project-pages :is(a,button,[tabindex]):not(.site-inquiry *):focus-visible { outline: 3px solid #007c9e; outline-offset: 4px; }
.project-pages img[data-project-image] { color: transparent; }
@media (max-width: 1024px) {
  .project-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 1050px) {
  .project-detail-hero__inner { gap: 32px; }
  .project-scope-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .project-application-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .project-overview { gap: 32px; }
}
@media (max-width: 900px) {
  .project-detail-hero__inner, .project-overview { grid-template-columns: 1fr; }
  .project-detail-hero__media { aspect-ratio: 16/9; }
  .project-detail-hero__body { max-width: 700px; }
  .project-snapshot { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .project-record-grid--related { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .project-function-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .project-pages > .section:not(.site-inquiry) { padding-block: 56px; }
  .project-record-grid, .project-participation-grid, .project-scope-grid { grid-template-columns: 1fr; }

  .project-filters { gap: 10px; }
  .project-filters a { font-size: .82rem; padding: 12px; }
  .project-application-grid { grid-template-columns: 1fr; }
  .project-detail-hero { padding-bottom: 40px; }
  .project-detail-hero h1 { font-size: 1.9rem; }
  .project-detail-hero__summary { font-size: .92rem; }
  .project-snapshot { gap: 24px 20px; }
  .project-snapshot dd { font-size: .86rem; overflow-wrap: anywhere; }
  .project-gallery { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .project-gallery--layout { display: grid; grid-template-columns: minmax(0,1fr); overflow: visible; padding-bottom: 0; gap: 24px; }
  .project-gallery--layout figure:first-child { grid-column: auto; }
  .project-gallery--layout figure img, .project-gallery--layout figure:first-child img { aspect-ratio: auto; object-fit: contain; }
  .project-operation { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .project-pages > #project-operation.section { padding-block: 64px; }
  .project-equipment-links { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 18px; }
  .project-equipment-links h3 { font-size: .94rem; }
  .project-lightbox { padding: 12px; }
  .project-lightbox__toolbar { gap: 5px; }
  .project-lightbox button { padding: 8px 10px; font-size: .76rem; }
}
@media (prefers-reduced-motion: reduce) { .project-record-card__image img { transition: none; } }

/* Native data: preserve existing visual tokens; adapt only optional media counts. */
.project-record-grid { align-items: stretch; }
.project-record-card__body { flex: 1; }
.project-record-card__link { margin-top: auto; padding-top: 28px; }
.project-record-facts { flex-wrap: wrap; gap: 20px 28px; }
.project-record-facts dd { font-size: clamp(1.1rem,1.8vw,1.6rem); }
.project-record-card__summary { color: var(--gray-600); font-size: .9rem; line-height: 1.75; }
.project-detail-hero__body > .project-record-card__meta { margin-bottom: 20px; }
.project-gallery--layout { grid-template-columns: repeat(3,minmax(0,1fr)); }
.project-gallery--layout figure:first-child { grid-column: auto; }
.project-gallery[data-count="1"] { grid-template-columns: minmax(0,1fr); max-width: 960px; margin-inline: auto; }
.project-gallery[data-count="2"] { grid-template-columns: repeat(2,minmax(0,1fr)); }
.project-pagination { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 40px; }
.project-pagination > * { padding: 10px 16px; border: 1px solid #d6e0e4; }
.project-pages h1, .project-pages h3, .project-snapshot dd { overflow-wrap: anywhere; }
.project-equipment-table { min-width: 0; table-layout: fixed; }
.project-equipment-table th, .project-equipment-table td { overflow-wrap: anywhere; }
@media (max-width: 640px) {
 .project-gallery--layout, .project-gallery[data-count="2"] { grid-template-columns: minmax(0,1fr); }
 .project-equipment-table th, .project-equipment-table td { padding: 12px 8px; font-size: .8rem; }
}

/* Compact archive variant only; detail and related cards retain their layout. */
.project-record-card--compact { padding-bottom: 16px; }
.project-record-card--compact .project-record-card__body { padding-top: 16px; }
.project-record-card--compact .project-record-tags { margin-bottom: 8px; }
.project-record-card--compact h3 { margin-bottom: 8px; }
.project-record-card--compact .project-record-card__location { margin: 0 0 10px; font-size: .875rem; line-height: 1.5; color: var(--gray-600); font-weight: 400; overflow-wrap: anywhere; }
.project-record-card--compact .project-record-card__summary { margin: 0; line-height: 1.55; min-height: 4.65em; max-height: 4.65em; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.project-record-card--compact .project-record-facts { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0,1fr); align-items: start; gap: 16px; margin: 16px 0 0; padding: 16px 0; }
.project-record-card--compact .project-record-facts > div { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.project-record-card--compact .project-record-facts dd { order: -1; font-size: 22px; font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }
.project-record-card--compact .project-record-facts dt { font-size: 12px; line-height: 1.4; }
.project-record-card--compact .project-record-card__link { padding-top: 10px; min-height: 44px; }
@media (max-width: 1100px) {
 .project-record-card--compact .project-record-facts dd { font-size: 18px; }
}
@media (max-width: 640px) {
 .project-record-card--compact .project-record-card__summary { -webkit-line-clamp: 4; min-height: 6.2em; max-height: 6.2em; }
 .project-record-card--compact .project-record-facts { gap: 10px; }
 .project-record-card--compact .project-record-facts dt { font-size: 11.5px; }
}

/* Detail-only density; archive cards, media assets and shared inquiry stay unchanged. */
/* Match the local fallback to Noto Sans so breadcrumb wrapping stays stable while it loads. */
@font-face { font-family: "Yutank Noto Segoe"; src: local("Segoe UI"); size-adjust: 105.44%; ascent-override: 101.385%; descent-override: 27.788%; line-gap-override: 0%; }
@font-face { font-family: "Yutank Noto Arial"; src: local("Arial"); size-adjust: 103.74%; ascent-override: 103.046%; descent-override: 28.244%; line-gap-override: 0%; }
.project-detail-compact .breadcrumb { padding-block: 12px; margin-bottom: 24px; gap: 6px; }
.project-detail-compact .container.breadcrumb { font-family: "Noto Sans", "Yutank Noto Segoe", "Yutank Noto Arial", sans-serif; }
.project-detail-compact .breadcrumb [aria-current] { min-width: 0; overflow-wrap: anywhere; }
.project-detail-compact .project-detail-hero { padding: 0 0 48px; }
.project-detail-compact .project-detail-hero__inner { align-items: start; gap: 36px; }
.project-detail-compact .project-detail-hero h1 { font-size: clamp(40px,3vw,44px); line-height: 1.12; margin: 10px 0 14px; }
.project-detail-compact .project-detail-hero__summary { margin: 0 0 14px; line-height: 1.65; max-width: 620px; }
.project-detail-compact .project-hero-tags { display: flex; flex-wrap: wrap; gap: 10px 14px; padding: 0; margin: 0; list-style: none; color: #236278; font-size: 11px; font-weight: 600; line-height: 1.5; letter-spacing: .035em; text-transform: uppercase; }
.project-detail-compact .project-hero-location { margin: 0 0 16px; font-size: 14px; line-height: 1.5; color: var(--gray-600); }
.project-detail-compact .project-hero-facts { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0,1fr); gap: 16px; margin: 0 0 18px; padding: 14px 0 0; border-top: 1px solid #d6e0e4; }
.project-detail-compact .project-hero-facts > div { display: flex; flex-direction: column; min-width: 0; gap: 6px; }
.project-detail-compact .project-hero-facts dd { order: -1; font-size: 22px; font-weight: 600; line-height: 1.3; margin: 0; overflow-wrap: anywhere; }
.project-detail-compact .project-hero-facts dt { font-size: 12px; line-height: 1.4; color: var(--gray-600); }
.project-detail-compact .project-detail-actions { gap: 12px 20px; }
.project-detail-compact > .section:not(.site-inquiry) { padding-block: 56px; }
.project-detail-compact > .section:not(.site-inquiry) .section__title { font-size: clamp(28px,2.3vw,34px); line-height: 1.2; margin: 0 0 24px; }
.project-detail-compact .project-overview-copy { max-width: 860px; }
.project-detail-compact .project-overview-copy p { font-size: .98rem; line-height: 1.75; margin: 0 0 16px; color: var(--gray-600); }
.project-detail-compact .project-overview-copy .project-text-link { margin: 0; }
.project-detail-compact .project-overview-scope { margin-top: 24px; }
.project-detail-compact .project-overview-scope:first-child { margin-top: 0; }
.project-detail-compact .project-scope-title { font-size: 22px; line-height: 1.3; margin: 0 0 16px; }
.project-detail-compact .project-scope-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin: 0; }
.project-detail-compact .project-scope-grid article { padding-top: 12px; }
.project-detail-compact .project-scope-grid h3 { font-size: 15px; line-height: 1.5; margin: 0; }
.project-detail-compact .project-scope-grid p { margin: 8px 0 0; }
.project-detail-compact .project-gallery { margin-top: 24px; gap: 20px; align-items: start; }
.project-detail-compact .project-gallery[data-count="1"] { max-width: 840px; }
.project-detail-compact .project-gallery__title { margin-bottom: 8px; font-size: 15px; }
.project-detail-compact .project-gallery figcaption { margin-top: 8px; line-height: 1.5; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; max-height: 4.5em; overflow: hidden; }
.project-detail-compact .project-equipment-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 28px; }
.project-detail-compact .project-equipment-grid > li { padding: 12px 0; border-bottom: 1px solid #d6e0e4; min-width: 0; }
.project-detail-compact .project-equipment-line { display: flex; justify-content: space-between; align-items: start; gap: 16px; font-size: 15px; line-height: 1.5; }
.project-detail-compact .project-equipment-name { min-width: 0; overflow-wrap: anywhere; }
.project-detail-compact .project-equipment-quantity { flex-shrink: 0; max-width: 40%; text-align: right; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.project-detail-compact .project-equipment-function { font-size: 14px; color: var(--gray-600); line-height: 1.6; margin: 8px 0 0; }
.project-detail-compact > .project-related-equipment.section { padding-block: 40px; }
.project-detail-compact .project-related-links { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 28px; }
.project-detail-compact .project-related-links a { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 14px 0; border-bottom: 1px solid #d6e0e4; font-size: 15px; font-weight: 500; color: var(--ink-900); }
.project-detail-compact .project-related-links a:hover { color: var(--brand-600); border-color: var(--brand-600); }
@media (max-width: 1100px) {
 .project-detail-compact .project-scope-grid, .project-detail-compact .project-equipment-grid, .project-detail-compact .project-related-links { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .project-detail-compact .project-detail-hero__inner { gap: 28px; }
 .project-detail-compact .project-hero-facts dd { font-size: 20px; }
}
@media (max-width: 640px) {
 .project-detail-compact > .section:not(.site-inquiry), .project-detail-compact > .project-related-equipment.section { padding-block: 36px; }
 .project-detail-compact .project-detail-hero { padding-bottom: 36px; }
 .project-detail-compact .project-detail-hero h1 { font-size: 30px; line-height: 1.12; }
 .project-detail-compact .project-detail-hero__inner { gap: 24px; }
 .project-detail-compact > .section:not(.site-inquiry) .section__title { font-size: 28px; margin-bottom: 20px; }
 .project-detail-compact .project-scope-grid { gap: 12px; }
 .project-detail-compact .project-scope-grid h3 { font-size: 14px; }
 .project-detail-compact .project-hero-facts { gap: 10px; }
 .project-detail-compact .project-hero-facts dd { font-size: 20px; }
 .project-detail-compact .project-hero-facts dt { font-size: 11px; }
 .project-detail-compact .project-equipment-grid, .project-detail-compact .project-related-links { grid-template-columns: minmax(0,1fr); }
 .project-detail-compact .project-gallery { gap: 18px; margin-top: 20px; }
}

/* Final detail polish: paired section padding yields a 52px content gap. */
.project-detail-compact .project-detail-hero { padding-bottom: 28px; }
.project-detail-compact > #project-overview.section { padding-bottom: 26px; }
.project-detail-compact > .project-drawings-section.section { padding-block: 26px; }
.project-detail-compact > .project-drawings-section + .section { padding-top: 26px; }
.project-detail-compact > .project-gallery-section.section { padding-bottom: 26px; }
.project-detail-compact > .project-gallery-section + .project-related-equipment.section { padding-top: 26px; }
.project-detail-compact .project-gallery--installation[data-count="2"] { max-width: 1100px; margin-inline: 0; }
@media (max-width: 640px) {
 .project-detail-compact .project-detail-hero { padding-bottom: 16px; }
}

/* Six-field detail Hero: native fields, label-first, no fixed height. */
.project-detail-compact .project-detail-hero__inner { align-items: stretch; }
.project-detail-compact .project-detail-hero__media { align-self: start; }
.project-detail-compact .project-detail-hero__body { display: flex; flex-direction: column; justify-content: space-between; gap: 20px; min-width: 0; }
.project-detail-compact .project-detail-hero h1 { margin: 0; }
.project-detail-compact .project-hero-facts { grid-auto-flow: row; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px 24px; margin: 0; padding: 0; border: 0; }
.project-detail-compact .project-hero-facts > div { border-top: 1px solid #d6e0e4; padding-top: 10px; gap: 6px; }
.project-detail-compact .project-hero-facts dd { order: 0; font-size: 18px; line-height: 1.35; color: var(--ink-900); }
.project-hero-facts__size-line { display: block; }
@media (max-width: 900px) {
 .project-detail-compact .project-detail-hero__body { justify-content: start; }
}
@media (max-width: 640px) {
 .project-detail-compact .project-hero-facts { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 24px; }
 .project-detail-compact .project-hero-facts dd { font-size: 16px; }
 .project-detail-compact .project-hero-facts__multiple-sizes { grid-column: 1 / -1; }
}

/* Keep each tank specification intact, with one row per semicolon-separated size. */
.project-record-card--compact .project-record-card__body { container-type: inline-size; container-name: project-card; }
.project-record-card--compact .project-tank-size dd { container-type: inline-size; }
.project-tank-size__line { display: block; white-space: nowrap; font-size: clamp(11px, calc(100cqw / var(--tank-chars) * 1.65), 20px); line-height: 1.4; }
@container project-card (max-width: 450px) {
  .project-record-card--compact .project-record-facts:has(.project-tank-size--long) { grid-auto-flow: row; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .project-record-card--compact .project-tank-size--long { grid-column: 1 / -1; }
  .project-tank-size--long .project-tank-size__line { font-size: 16px; }
}
