/* Project records: real site photography, clear client attribution, compact detail. */
body.projects-page main .pp-project-grid { gap:22px; align-items:stretch; }
body.projects-page main .pp-project-card { padding:10px; border:1px solid #dce4e8; border-radius:14px; background:#fff; box-shadow:0 2px 4px #1b323b03,0 12px 30px #1b323b08; transition:border-color .2s,box-shadow .2s,transform .2s; }
body.projects-page main .pp-project-card:hover { border-color:#aebfc7; box-shadow:0 8px 30px #1b323b15; transform:translateY(-3px); }
body.projects-page main .pp-project-card .pp-card-link { grid-template-columns:minmax(0,40%) minmax(0,1fr); min-height:250px; height:100%; gap:0; }
body.projects-page main .pp-project-card .pp-card-media { min-height:250px; height:100%; border-radius:8px; overflow:hidden; background:#e9eef0; isolation:isolate; }
body.projects-page main .pp-project-card .pp-card-media>img { position:absolute; inset:0; width:100%; height:100%; min-height:0; aspect-ratio:auto; object-fit:cover; transition:transform .4s; }
body.projects-page main .pp-project-card .pp-card-media:after { display:block; content:""; position:absolute; inset:65% 0 0; background:linear-gradient(transparent,#142a35a8); z-index:1; }
body.projects-page main .pp-project-card .pp-sector-badge { z-index:2; bottom:14px; left:14px; right:12px; max-width:none; padding:0; border:0; background:none; color:#fff; font-size:11px; font-weight:400; line-height:1.6; text-shadow:0 1px 4px #0006; }
body.projects-page main .pp-project-body { padding:18px 16px 8px 24px; justify-content:flex-start; min-width:0; }
body.projects-page main .pp-project-category { display:flex; align-items:center; gap:8px; margin:0 0 16px; font-size:11px; color:#875033; line-height:1.6; }
body.projects-page main .pp-project-category svg { width:18px; height:18px; flex:0 0 18px; margin:0; }
body.projects-page main .pp-project-body h3 { margin:0 0 10px; color:#213743; font-weight:500; }
body.projects-page main .pp-card-client { margin:0 0 20px; color:#64757f; font-size:13px; line-height:1.7; }
body.projects-page main .pp-card-action { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:auto; padding-top:14px; border-top:1px solid #e8edef; color:#263e49; font-size:12px; font-weight:500; }
body.projects-page main .pp-card-arrow { position:static; display:grid; place-items:center; width:32px; height:32px; flex:0 0 32px; border-radius:50%; background:#edf2f4; color:#314d5b; transition:background .2s,color .2s; }
body.projects-page main .pp-card-link:hover .pp-card-arrow { background:#213743; color:#fff; }
body.projects-page main .pp-pagination { gap:8px; margin-top:30px; }
body.projects-page main .pp-pagination button { border-radius:8px; }
@media(prefers-reduced-motion:reduce) {
 body.projects-page main .pp-project-card,
 body.projects-page main .pp-project-card .pp-card-media>img,
 body.projects-page main .pp-card-arrow { transition:none; }
 body.projects-page main .pp-project-card:hover,
 body.projects-page main .pp-card-link:hover .pp-card-media>img { transform:none; }
}

body.projects-page .pp-dialog { width:min(1060px,calc(100% - 48px)); max-height:calc(100dvh - 48px); padding:0; border:1px solid #ffffff42; border-radius:16px; background:#fff; box-shadow:0 30px 100px #06121b66; }
body.projects-page .pp-dialog::backdrop { background:#10222fcc; backdrop-filter:blur(7px); }
body.projects-page .pp-dialog-header { padding:12px 22px; background:#fff; border-bottom:1px solid #e5ebee; }
body.projects-page .pp-dialog-header .pp-system-label { color:#637883; font-size:11px; letter-spacing:1px; }
body.projects-page .pp-dialog-header>button { display:grid; place-items:center; width:40px; height:40px; flex:0 0 40px; border-radius:8px; background:#f1f5f6; border:1px solid #e0e7eb; cursor:pointer; }
body.projects-page .pp-dialog-header>button:hover { background:#e3ebef; }
body.projects-page .pp-dialog-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:stretch; }
body.projects-page .pp-dialog figure { display:flex; flex-direction:column; margin:0; padding:24px; background:#192e39; min-width:0; justify-content:center; }
body.projects-page .pp-photo-stage { display:flex; align-items:center; justify-content:center; width:100%; height:clamp(320px,56dvh,510px); background:#11232c; border:1px solid #ffffff12; border-radius:8px; overflow:hidden; }
body.projects-page .pp-dialog figure img { width:100%; height:100%; max-height:none; object-fit:contain; }
body.projects-page .pp-dialog figcaption { display:flex; align-items:center; justify-content:space-between; gap:12px; text-align:left; margin:16px 0 0; color:#bed0d9; font-size:11px; line-height:1.7; }
body.projects-page .pp-dialog figcaption span { color:#fff; }
body.projects-page .pp-dialog-copy { display:flex; flex-direction:column; padding:30px 32px; min-width:0; }
body.projects-page .pp-dialog-eyebrow { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
body.projects-page [data-dialog-icon] { display:grid; place-items:center; width:42px; height:42px; flex:0 0 42px; background:#fff1e8; color:#c85920; border:1px solid #f1dfd3; border-radius:10px; }
body.projects-page [data-dialog-icon] svg { width:23px; height:23px; }
body.projects-page .pp-dialog-eyebrow .cp-kicker { margin:0; font-size:11px; color:#667c87; letter-spacing:0; line-height:1.6; }
body.projects-page .pp-dialog-eyebrow .cp-kicker:before { display:none; }
body.projects-page .pp-dialog h2 { font-size:25px; line-height:1.5; font-weight:500; color:#203845; margin:0 0 22px; }
body.projects-page .pp-dialog dl { display:grid; gap:16px; margin:0 0 24px; border:0; padding:18px 20px; background:#f3f6f7; border-radius:8px; }
body.projects-page .pp-dialog dl>div { display:block; margin:0; font-size:14px; line-height:1.7; }
body.projects-page .pp-dialog dt { color:#6b7e88; font-size:11px; margin-bottom:4px; }
body.projects-page .pp-dialog dd { color:#2b4350; }
body.projects-page .pp-dialog h3 { font-size:15px; font-weight:500; color:#223b48; margin-bottom:8px; }
body.projects-page .pp-dialog-copy>[data-dialog-summary] { margin:0 0 26px; font-size:14px; line-height:1.85; color:#586e7b; }
body.projects-page .pp-dialog-contact { margin-top:auto; padding-top:20px; border-top:1px solid #e2e9ed; display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px; }
body.projects-page .pp-dialog-contact p { margin:0; font-size:12px; color:#627782; }
body.projects-page .pp-dialog-contact .cp-btn { min-height:44px; padding:12px 18px; font-size:13px; border-radius:7px; }
@media(max-width:1000px) {
 body.projects-page main .pp-project-grid { grid-template-columns:1fr; gap:18px; }
 body.projects-page main .pp-project-card .pp-card-link { grid-template-columns:minmax(0,34%) minmax(0,1fr); min-height:220px; }
 body.projects-page main .pp-project-card .pp-card-media { min-height:220px; }
 body.projects-page main .pp-project-body { padding:20px 20px 12px 26px; }
 body.projects-page .pp-dialog-copy { padding:24px; }
 body.projects-page .pp-dialog h2 { font-size:23px; }
}
@media(max-width:680px) {
 body.projects-page main .pp-project-card { padding:8px; border-radius:12px; }
 body.projects-page main .pp-project-card .pp-card-link { grid-template-columns:1fr; min-height:0; height:auto; }
 body.projects-page main .pp-project-card .pp-card-media { height:clamp(180px,55vw,250px); min-height:0; }
 body.projects-page main .pp-project-body { padding:20px 12px 10px; }
 body.projects-page main .pp-project-category { margin-bottom:12px; font-size:12px; }
 body.projects-page main .pp-project-body h3 { margin-bottom:8px; }
 body.projects-page main .pp-card-client { font-size:14px; margin-bottom:18px; }
 body.projects-page main .pp-card-action { font-size:13px; }
 body.projects-page .pp-dialog { width:calc(100% - 24px); max-height:calc(100dvh - 24px); border-radius:12px; }
 body.projects-page .pp-dialog-header { padding:10px 16px; }
 body.projects-page .pp-dialog-header .pp-system-label { font-size:10px; letter-spacing:.5px; }
 body.projects-page .pp-dialog-grid { grid-template-columns:1fr; }
 body.projects-page .pp-dialog figure { padding:16px; }
 body.projects-page .pp-photo-stage { height:clamp(240px,43dvh,360px); }
 body.projects-page .pp-dialog figcaption { margin-top:12px; font-size:10px; }
 body.projects-page .pp-dialog-copy { padding:24px 20px; }
 body.projects-page .pp-dialog h2 { font-size:22px; }
 body.projects-page .pp-dialog-eyebrow { margin-bottom:16px; }
 body.projects-page .pp-dialog dl { padding:16px; }
 body.projects-page .pp-dialog-contact { display:block; }
 body.projects-page .pp-dialog-contact p { margin-bottom:12px; }
 body.projects-page .pp-dialog-contact .cp-btn { display:flex; justify-content:space-between; width:100%; }
}
