/* Crawlable project pages: shared palette and type from style.css. */
.project-breadcrumb { padding-top: 28px; color: var(--muted); font-size: 11px; }
.project-breadcrumb ol { display: flex; gap: 12px; list-style: none; padding: 0; margin: 0; flex-wrap: wrap; }
.project-breadcrumb li + li::before { content: '/'; margin-right: 12px; color: var(--gold-deep); }
.project-breadcrumb a { text-decoration: underline; text-underline-offset: 4px; }
.project-nav { display: flex; align-items: center; gap: 30px; font-size: 11px; }
.project-nav a { min-height: 44px; display: inline-flex; align-items: center; gap: 18px; }
.project-nav a:last-child { color: var(--gold-light); }
.project-intro { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 7%; padding-block: 44px 70px; }
.project-intro .eyebrow { color: var(--gold-deep); margin-bottom: 22px; }
.project-intro h1 { font-size: clamp(45px, 5vw, 76px); line-height: 1.05; overflow-wrap: anywhere; }
.project-kind { font-family: var(--serif); color: var(--gold-deep); font-size: 23px; margin-top: 18px; }
.project-description { color: var(--muted); margin-top: 22px; font-size: 14px; max-width: 520px; }
.project-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; border-block: 1px solid var(--line); padding-block: 23px; margin: 28px 0 12px; }
.project-facts dt { color: var(--muted); font-size: 9px; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 8px; }
.project-facts dd { margin: 0; font-family: var(--serif); font-size: clamp(21px, 2vw, 29px); line-height: 1.25; }
.project-facts small { font: 9px var(--sans); color: var(--muted); }
.project-price-note { color: var(--muted); font-size: 10px; line-height: 1.8; margin-bottom: 24px; }
.project-cover { margin: 0; }
.project-cover img { width: 100%; height: clamp(340px, 39vw, 570px); object-fit: cover; }
.project-cover figcaption { margin-top: 11px; font-size: 10px; color: var(--muted); }
.project-resources { border-top: 1px solid var(--line); padding-block: 65px; display: grid; grid-template-columns: 1fr 1fr; gap: 7%; }
.project-resources .eyebrow, .project-related > .eyebrow, .project-location .eyebrow { color: var(--gold-deep); margin-bottom: 20px; }
.project-resources h2, .project-gallery h2, .project-related h2 { font-size: clamp(34px, 3.7vw, 52px); }
.project-resource-links > a { display: block; position: relative; border-bottom: 1px solid var(--line); padding: 20px 35px 20px 0; }
.project-resource-links > a:first-child { padding-top: 0; }
.project-resource-links strong { display: block; font: 24px var(--serif); color: var(--ink); }
.project-resource-links span { display: block; font-size: 12px; margin-top: 8px; color: var(--muted); }
.project-resource-links b { position: absolute; right: 0; top: 20px; font-size: 24px; font-weight: 400; color: var(--gold-deep); }
.project-resource-links > a:first-child b { top: 0; }
.project-resource-links a:hover strong, .project-related a:hover strong { color: var(--gold-deep); }
.project-gallery { padding-block: 10px 65px; }
.project-gallery > p { color: var(--muted); font-size: 12px; margin: 15px 0 25px; }
.project-gallery > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.project-gallery figure { margin: 0; min-width: 0; }
.project-gallery img { width: 100%; height: 240px; object-fit: cover; }
.project-gallery figcaption { font-size: 9px; color: var(--muted); margin-top: 9px; }
.project-location { display: grid; grid-template-columns: 1fr 1fr; gap: 7%; padding-block: 60px; border-top: 1px solid var(--line); }
.project-location > div > p:not(.eyebrow) { color: var(--muted); font-size: 13px; margin-bottom: 20px; }
.project-related { border-top: 1px solid var(--line); padding-block: 60px 80px; }
.project-related ul { list-style: none; padding: 0; margin: 30px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.project-related a { display: block; position: relative; border-block: 1px solid var(--line); padding: 22px 32px 22px 0; height: 100%; }
.project-related strong { display: block; font: 25px var(--serif); }
.project-related span { display: block; color: var(--muted); font-size: 12px; margin-top: 8px; }
.project-related b { position: absolute; right: 0; top: 21px; font-weight: 400; font-size: 22px; color: var(--gold-deep); }
.project-contact .eyebrow { color: var(--gold-light); margin-bottom: 22px; }
@media (max-width: 800px) {
  .project-header { height: auto; min-height: 90px; gap: 15px; padding-block: 8px; }
  .project-header .brand { flex-basis: 150px; }
  .project-header .brand img { width: 150px; height: 65px; }
  .project-nav { gap: 10px; flex-direction: column; align-items: flex-end; font-size: 10px; }
  .project-nav a { min-height: 30px; }
  .project-intro, .project-resources, .project-location { grid-template-columns: 1fr; gap: 32px; }
  .project-intro { padding-top: 30px; padding-bottom: 50px; }
  .project-intro h1 { font-size: clamp(43px, 9vw, 65px); letter-spacing: -1.8px; }
  .project-cover img { height: 380px; }
  .project-resources, .project-location { padding-block: 45px; }
  .project-gallery > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-gallery img { height: 230px; }
  .project-related ul { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .project-header .brand { flex-basis: 125px; }
  .project-header .brand img { width: 125px; }
  .project-nav { font-size: 9px; gap: 0; }
  .project-kind { font-size: 22px; }
  .project-cover img { height: 310px; }
  .project-facts { gap: 18px; }
  .project-facts dd { font-size: 22px; }
  .project-gallery > div, .project-related ul { grid-template-columns: 1fr; }
  .project-gallery img { height: 265px; }
}
