/* Projects · the same warm architectural editorial language as the homepage. */
.projects-refresh,
.case-study.projects-refresh {
  --pr-ink: #203d31;
  --pr-green: #254b3b;
  --pr-deep: #1b3b2e;
  --pr-cream: #f7f3e9;
  --pr-paper: #fbf8ef;
  --pr-sage: #e5e8dc;
  --pr-brass: #d9b77e;
  --pr-line: #cdd7cb;
  font-family: 'DM Sans', sans-serif;
  color: var(--pr-ink);
  background: var(--pr-cream);
}
.projects-refresh *, .projects-refresh *::before, .projects-refresh *::after { box-sizing: border-box; }
.projects-refresh h1, .projects-refresh h2, .projects-refresh h3 { font-family: 'Playfair Display', Georgia, serif; font-weight: 400; letter-spacing: -.035em; }
.projects-refresh a:focus-visible, .projects-refresh button:focus-visible, .projects-refresh [tabindex]:focus-visible { outline: 3px solid var(--pr-brass); outline-offset: 4px; }
.projects-refresh .pr-eyebrow { display: inline-flex; align-items: center; gap: .85rem; font: 700 .72rem/1.3 'DM Sans', sans-serif; letter-spacing: .15em; text-transform: uppercase; color: #d8bd8c; }
.projects-refresh .pr-eyebrow::before { content: ''; width: 30px; height: 1px; background: currentColor; }
.projects-refresh .pr-eyebrow--dark { color: #8c683e; }
.projects-refresh .pr-intro { background: var(--pr-green); color: var(--pr-cream); padding: clamp(4rem, 7vw, 7rem) 0; }
.projects-refresh .pr-intro-grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.7fr); gap: clamp(2rem,6vw,7rem); align-items: end; }
.projects-refresh .pr-intro h1 { color: var(--pr-cream); font-size: clamp(3.3rem,6vw,6.5rem); line-height: 1.07; margin: 1.4rem 0 0; max-width: 850px; }
.projects-refresh .pr-intro h1 em { color: #d8bd8c; font-weight: 400; }
.projects-refresh .pr-intro p { font-size: clamp(1rem,1.5vw,1.2rem); line-height: 1.75; color: #d5e1d6; max-width: 500px; margin: 0 0 .4rem; }
.projects-refresh .pr-wayfinding { background: #e8e9db; border-bottom: 1px solid #d4dacd; }
.projects-refresh .pr-wayfinding .container { min-height: 74px; display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 2rem; padding-block: 1rem; }
.projects-refresh .pr-wayfinding span { margin-right: auto; color: #647267; font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; }
.projects-refresh .pr-wayfinding a { font-size: .86rem; font-weight: 700; border-bottom: 1px solid #8f9f8f; padding: .3rem 0; }
.projects-refresh .pr-wayfinding a:hover { color: #9b713f; }
.projects-refresh .project-browser { background: var(--pr-cream); padding: clamp(3.5rem,6vw,6rem) 0; }
.projects-refresh .pr-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.projects-refresh .pr-section-heading h2 { font-size: clamp(2.3rem,4vw,4rem); line-height: 1.12; margin: .75rem 0 0; }
.projects-refresh .pr-section-heading p { max-width: 370px; line-height: 1.7; color: #5f7066; margin: 0; }
.projects-refresh .project-browser__filters { gap: .55rem; margin-bottom: 2.2rem; border-block: 1px solid var(--pr-line); padding: 1.3rem 0; }
.projects-refresh .project-browser__filters legend { width: 100%; font-size: .72rem; letter-spacing: .13em; text-transform: uppercase; color: #8c683e; margin-bottom: .7rem; }
.projects-refresh .project-browser__filter { border-radius: 2px; background: transparent; border: 1px solid #b5c3b3; color: var(--pr-ink); font-weight: 600; padding: .68rem 1rem; min-height: 44px; transition: background .2s ease, color .2s ease; }
.projects-refresh .project-browser__filter:hover, .projects-refresh .project-browser__filter[aria-pressed="true"] { background: var(--pr-green); border-color: var(--pr-green); color: var(--pr-cream); }
.projects-refresh .project-browser__grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(1rem,2vw,1.5rem); }
.projects-refresh .project-browser__card { display: flex; flex-direction: column; border: 1px solid var(--pr-line); border-radius: 2px; background: var(--pr-paper); color: var(--pr-ink); box-shadow: none; min-width: 0; transition: transform .25s ease, border-color .25s ease; }
.projects-refresh .project-browser__card:hover { transform: translateY(-4px); border-color: #9bae9b; }
.projects-refresh .project-browser__card > picture { overflow: hidden; background: #e5e8dc; }
.projects-refresh .project-browser__image { aspect-ratio: 4/3; transition: transform .45s ease; }
.projects-refresh .project-browser__card:hover .project-browser__image { transform: scale(1.035); }
.projects-refresh .project-browser__card .portfolio-image-placeholder { aspect-ratio: 4/3; background: #e5e8dc; color: #627267; }
.projects-refresh .project-browser__content { padding: clamp(1.2rem,2vw,1.7rem); display: flex; flex-direction: column; flex: 1; }
.projects-refresh .project-browser__title { font-size: clamp(1.45rem,2vw,1.9rem); line-height: 1.2; color: var(--pr-ink); margin: 0 0 1rem; }
.projects-refresh .project-browser__meta { color: #607166; font-size: .8rem; order: -1; text-transform: uppercase; letter-spacing: .07em; margin: 0 0 .8rem; }
.projects-refresh .project-browser__type { background: transparent; color: #89683f; border-radius: 0; padding: 0; font-weight: 600; }
.projects-refresh .project-browser__type:not(:first-child)::before { content: ' / '; color: #98a99a; }
.projects-refresh .project-browser__facts { border-top: 1px solid var(--pr-line); padding-top: 1rem; margin: auto 0 0; color: var(--pr-ink); font-size: .84rem; font-weight: 700; }
.projects-refresh .project-browser__description { color: #5f7066; line-height: 1.65; font-size: .88rem; margin: .9rem 0 0; }
.projects-refresh .pr-card-link { display: block; margin-top: 1.2rem; color: #89683f; font-size: .84rem; font-weight: 700; border-bottom: 1px solid currentColor; width: fit-content; padding-bottom: .2rem; }
.projects-refresh .empty-state { padding: clamp(2rem,5vw,4rem); border: 1px solid var(--pr-line); background: var(--pr-paper); text-align: center; }
.projects-refresh .empty-state p { font: 400 1.6rem 'Playfair Display', Georgia, serif; color: var(--pr-ink); }
.projects-refresh .empty-state a { display: inline-block; padding: .8rem 1.2rem; background: var(--pr-green); color: var(--pr-cream); border-radius: 2px; }
.projects-refresh .pr-cta { background: #e8e8d8; padding: clamp(4rem,7vw,7rem) 0; }
.projects-refresh .pr-cta-grid { display: grid; grid-template-columns: 1fr .8fr; gap: clamp(2rem,7vw,8rem); align-items: end; }
.projects-refresh .pr-cta h2 { font-size: clamp(2.7rem,5vw,5rem); line-height: 1.12; margin: 1rem 0 0; color: var(--pr-ink); }
.projects-refresh .pr-cta h2 em { font-weight: 400; color: #8b6a43; }
.projects-refresh .pr-cta p { color: #516758; line-height: 1.8; max-width: 480px; }
.projects-refresh .pr-cta-actions { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin-top: 1.5rem; }
.projects-refresh .pr-button { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: .9rem 1.4rem; border-radius: 2px; background: var(--pr-brass); color: #173c2c; font: 700 .9rem 'DM Sans', sans-serif; text-align: center; transition: transform .2s ease, opacity .2s ease; }
.projects-refresh .pr-button:hover { transform: translateY(-3px); background: #e4c697; }
.projects-refresh .pr-text-link { color: var(--pr-ink); font-weight: 700; text-decoration: underline; text-underline-offset: 5px; }
/* Detail: retain every existing dynamic section while replacing the card-heavy surface. */
.case-study.projects-refresh .case-study-hero { background: var(--pr-green) !important; padding: clamp(3rem,6vw,6rem) 0; }
.case-study.projects-refresh .hero-pattern { opacity: .16; }
.case-study.projects-refresh .case-study-hero-content { gap: clamp(2rem,5vw,5rem); align-items: end; }
.case-study.projects-refresh .city-approved-badge { padding: 0; border: 0 !important; background: transparent !important; color: #d8bd8c !important; letter-spacing: .15em; text-transform: uppercase; font-size: .72rem; }
.case-study.projects-refresh .city-approved-badge svg { display: none; }
.case-study.projects-refresh .case-study-title { font-size: clamp(3.2rem,5.6vw,6.3rem); line-height: 1.08; font-weight: 400; letter-spacing: -.045em; color: var(--pr-cream) !important; }
.case-study.projects-refresh .case-study-location { color: #d5e1d6 !important; font-size: 1rem; }
.case-study.projects-refresh .case-study-cta-row { gap: 1.3rem; align-items: center; }
.case-study.projects-refresh .case-study-cta-row .btn:first-child { background: var(--pr-brass) !important; color: #173c2c !important; box-shadow: none !important; border-radius: 2px; min-height: 50px; }
.case-study.projects-refresh .case-study-cta-row .btn-outline { border: 0 !important; padding-inline: 0; text-decoration: underline; text-underline-offset: 5px; }
.case-study.projects-refresh .case-study-stats { gap: .5rem; }
.case-study.projects-refresh .case-study-stat { background: #1b3b2e !important; border: 1px solid #42624e !important; border-radius: 2px !important; box-shadow: none !important; }
.case-study.projects-refresh .case-study-stat { align-items: flex-start; flex-direction: column; text-align: left; gap: .3rem; }
.case-study.projects-refresh .case-study-stat-icon { display: none; }
.case-study.projects-refresh .case-study-stat-label { color: #d4b985 !important; text-shadow: none !important; letter-spacing: .12em; text-transform: uppercase; font-size: .7rem; }
.case-study.projects-refresh .case-study-stat-value { color: var(--pr-cream) !important; text-shadow: none !important; font: 400 1.2rem 'Playfair Display', Georgia, serif; }
.case-study.projects-refresh .case-study-gallery { background: #e5e8dc !important; padding: clamp(2rem,5vw,5rem) 0 !important; }
.case-study.projects-refresh .case-study-main-image { border-radius: 2px !important; box-shadow: none !important; margin: 0; }
.case-study.projects-refresh .kent-wa-carousel { border-radius: 2px; box-shadow: none; }
.case-study.projects-refresh .kent-wa-carousel__btn, .case-study.projects-refresh .kent-wa-lightbox button { border-radius: 2px; }
.case-study.projects-refresh .kent-wa-carousel__hint { color: #5f7066; }
.case-study.projects-refresh .case-study-content.section { background: var(--pr-cream) !important; padding: clamp(3rem,6vw,6rem) 0; }
.case-study.projects-refresh .project-facts { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 0; margin: 0 0 clamp(3rem,6vw,6rem); border-block: 1px solid var(--pr-line); }
.case-study.projects-refresh .project-facts__item { background: transparent; border: 0; border-right: 1px solid var(--pr-line); border-radius: 0; padding: 1.4rem 1rem; min-width: 0; }
.case-study.projects-refresh .project-facts__item:first-child { padding-left: 0; }
.case-study.projects-refresh .project-facts__item:last-child { border-right: 0; }
.case-study.projects-refresh .project-facts__label { color: #8c683e; font-size: .7rem; letter-spacing: .12em; }
.case-study.projects-refresh .project-facts__value { color: var(--pr-ink); font: 400 clamp(1.2rem,2vw,1.7rem) 'Playfair Display', Georgia, serif; overflow-wrap: anywhere; }
.case-study.projects-refresh .project-before-after { background: #e5e8dc; padding: clamp(1.5rem,3vw,3rem); margin-bottom: clamp(3rem,6vw,6rem); border: 1px solid var(--pr-line); border-radius: 2px; }
.case-study.projects-refresh .project-before-after__pair { gap: .75rem; margin-top: 1.5rem; }
.case-study.projects-refresh .project-before-after figure { margin: 0; min-width: 0; }
.case-study.projects-refresh .project-before-after img { aspect-ratio: 4/3; object-fit: cover; }
.case-study.projects-refresh .project-before-after figcaption { color: #8c683e; font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; padding-top: .7rem; }
.case-study.projects-refresh .case-study-layout { gap: clamp(2rem,5vw,5rem); align-items: start; }
.case-study.projects-refresh .case-study-section { border-radius: 2px !important; box-shadow: none !important; border: 1px solid var(--pr-line); padding: clamp(1.5rem,3vw,2.5rem) !important; margin-bottom: 1rem !important; background: var(--pr-paper) !important; }
.case-study.projects-refresh .case-study-section-title { color: var(--pr-ink) !important; font-size: clamp(1.8rem,3vw,2.7rem); line-height: 1.2; margin-bottom: 1.25rem; }
.case-study.projects-refresh .case-study-section-title svg { stroke: #a78250; }
.case-study.projects-refresh .case-study-lead, .case-study.projects-refresh .case-study-prose { color: #52685a !important; line-height: 1.8; }
.case-study.projects-refresh .case-study-process { gap: 0; }
.case-study.projects-refresh .case-study-process-step { background: transparent !important; border-radius: 0 !important; border-top: 1px solid var(--pr-line) !important; padding: 1.3rem 0 !important; transform: none !important; box-shadow: none !important; }
.case-study.projects-refresh .case-study-process-icon { background: var(--pr-sage) !important; color: var(--pr-green) !important; border-radius: 2px; }
.case-study.projects-refresh .case-study-process-content h3 { color: var(--pr-ink) !important; }
.case-study.projects-refresh .case-study-process-content p { color: #5f7066 !important; }
.case-study.projects-refresh [data-testid="section-market-insights"], .case-study.projects-refresh [data-testid="section-resources"] { background: var(--pr-deep) !important; border: 0; }
.case-study.projects-refresh [data-testid="section-market-insights"] .case-study-section-title, .case-study.projects-refresh [data-testid="section-resources"] .case-study-section-title { color: var(--pr-cream) !important; }
.case-study.projects-refresh [data-testid="section-resources"] a { border-radius: 2px !important; }
.case-study.projects-refresh .project-resource-link { display: flex; align-items: center; gap: 1rem; background: rgba(255,255,255,.1); padding: 1rem 1.25rem; text-decoration: none; transition: background .2s ease, opacity .2s ease; }
.case-study.projects-refresh .project-resource-link--brass { background: #c7a97a; }
.case-study.projects-refresh .project-resource-link--brass:hover { opacity: .87; }
.case-study.projects-refresh [data-testid="section-resources"] a:hover { background: rgba(255,255,255,.19) !important; }
.case-study.projects-refresh .case-study-sidebar { position: sticky; top: 110px; max-height: none; overflow: visible; }
.case-study.projects-refresh .case-study-sidebar-card { border-radius: 2px !important; box-shadow: none !important; border: 1px solid var(--pr-line); background: #e5e8dc !important; }
.case-study.projects-refresh .case-study-sidebar-title { font-size: 1.7rem; color: var(--pr-ink) !important; }
.case-study.projects-refresh .case-study-cta-card { background: var(--pr-deep) !important; border: 0; }
.case-study.projects-refresh .case-study-cta-card .case-study-sidebar-title { color: var(--pr-cream) !important; }
.case-study.projects-refresh .case-study-related { background: var(--pr-deep); padding: clamp(3.5rem,6vw,6rem) 0; }
.case-study.projects-refresh .case-study-related .section-title { font-size: clamp(2.3rem,4vw,4rem); font-weight: 400; }
.case-study.projects-refresh .portfolio-grid { gap: 1rem; }
.case-study.projects-refresh .portfolio-card { border-radius: 2px; box-shadow: none !important; background: #254b3b !important; }
.case-study.projects-refresh .portfolio-image-wrapper { border-radius: 0; }
.case-study.projects-refresh .portfolio-title { font-size: 1.5rem; font-weight: 400; }
.case-study.projects-refresh .pr-cta { background: #e8e8d8; }
@media (max-width: 1023px) {
  .projects-refresh .project-browser__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .case-study.projects-refresh .project-facts { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .case-study.projects-refresh .project-facts__item { border-bottom: 1px solid var(--pr-line); }
}
@media (max-width: 767px) {
  .projects-refresh .pr-intro-grid, .projects-refresh .pr-cta-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .projects-refresh .pr-intro { padding: 3.5rem 0; }
  .projects-refresh .pr-section-heading { display: block; }
  .projects-refresh .pr-section-heading p { margin-top: 1rem; }
  .case-study.projects-refresh .case-study-sidebar { position: static; }
  .case-study.projects-refresh .project-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .case-study.projects-refresh .project-facts__item:nth-child(2n) { border-right: 0; }
}
@media (max-width: 640px) {
  .projects-refresh .project-browser__grid, .case-study.projects-refresh .project-before-after__pair { grid-template-columns: 1fr; }
  .projects-refresh .pr-wayfinding span { width: 100%; }
  .projects-refresh .pr-cta-actions { align-items: stretch; flex-direction: column; }
  .case-study.projects-refresh .case-study-cta-row { flex-wrap: wrap; }
  .case-study.projects-refresh .project-facts__item { padding: 1rem .6rem; }
  .case-study.projects-refresh .project-facts__item:first-child { padding-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .projects-refresh *, .projects-refresh *::before, .projects-refresh *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}