:root { --project-ink:#1b2d24; --project-gold:#c8923a; --project-cream:#f4efe6; --project-muted:#5d665f; --project-line:#d8ddd5; }
* { box-sizing:border-box; }
body.project-page { margin:0; background:#fff; color:var(--project-ink); font-family:"DM Sans",Arial,sans-serif; line-height:1.6; }
.project-shell { width:min(100% - 40px, 1040px); margin:0 auto; }
.project-nav { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:76px; border-bottom:1px solid var(--project-line); }
.project-brand { color:var(--project-ink); font-family:"Playfair Display",Georgia,serif; font-size:1.25rem; font-weight:800; text-decoration:none; }
.project-nav-links { display:flex; gap:18px; align-items:center; }
.project-nav-links a { color:var(--project-ink); font-size:.92rem; font-weight:700; text-decoration:none; }
.project-nav-links .project-cta { background:var(--project-ink); border-radius:999px; color:#fff; padding:9px 14px; }
.project-hero { background:var(--project-cream); padding:72px 0 62px; }
.project-kicker { color:#8d5a13; font-size:.73rem; font-weight:800; letter-spacing:.13em; margin:0 0 15px; text-transform:uppercase; }
.project-hero h1 { font-family:"Playfair Display",Georgia,serif; font-size:clamp(2.15rem,5.2vw,4.25rem); line-height:1.05; letter-spacing:-.03em; margin:0; max-width:850px; }
.project-lead { color:var(--project-muted); font-size:1.1rem; margin:20px 0 0; max-width:700px; }
.project-section { padding:66px 0; }
.project-section.tint { background:#f7f8f5; }
.project-section h2 { font-family:"Playfair Display",Georgia,serif; font-size:clamp(1.7rem,3.3vw,2.45rem); line-height:1.14; margin:0 0 16px; }
.project-section p { max-width:760px; }
.project-gallery { display:grid; gap:20px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:30px; }
.project-image-card { background:#fff; border:1px solid var(--project-line); border-radius:18px; overflow:hidden; }
.project-image-card img { aspect-ratio:4 / 3; display:block; object-fit:cover; width:100%; }
.project-image-card p { font-size:.8rem; font-weight:800; letter-spacing:.1em; margin:0; padding:12px 15px; text-transform:uppercase; }
.project-grid { display:grid; gap:18px; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:26px; }
.project-card { background:#fff; border:1px solid var(--project-line); border-radius:16px; padding:20px; }
.project-card h3 { font-size:1rem; margin:0 0 8px; }
.project-card p { color:var(--project-muted); font-size:.95rem; margin:0; }
.project-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.project-links a { border:1px solid var(--project-ink); border-radius:999px; color:var(--project-ink); font-size:.9rem; font-weight:800; padding:9px 13px; text-decoration:none; }
.project-closing { background:var(--project-ink); color:#fff; padding:62px 0; }
.project-closing h2 { font-family:"Playfair Display",Georgia,serif; font-size:clamp(1.8rem,3.6vw,2.7rem); line-height:1.1; margin:0 0 14px; }
.project-closing p { color:#dbe3dc; max-width:680px; }
.project-closing a { background:var(--project-gold); border-radius:999px; color:#1b2d24; display:inline-block; font-weight:900; padding:12px 18px; text-decoration:none; }
.project-footer { background:#132119; color:#dbe3dc; font-size:.9rem; padding:28px 0; }
.project-footer a { color:#fff; }
@media (max-width:720px) { .project-shell { width:min(100% - 28px,1040px); } .project-nav { min-height:68px; } .project-nav-links a:not(.project-cta) { display:none; } .project-hero { padding:54px 0 46px; } .project-section { padding:48px 0; } .project-gallery,.project-grid { grid-template-columns:1fr; } }
