.content-page { background: var(--warm-white); }
.content-top { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 14px clamp(20px,5vw,72px); background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.content-logo img { display:block; width:155px; height:auto; }
.content-nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px 20px; align-items:center; font-size:.74rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.content-nav a:hover,.content-nav a:focus-visible { color:var(--green-800); text-decoration:underline; text-underline-offset:4px; }
.content-nav .content-cta { padding:10px 14px; color:white; background:var(--green-800); text-decoration:none; }
.content-hero { padding:clamp(72px,11vw,140px) clamp(22px,8vw,120px) 70px; color:white; background:var(--green-900); }
.content-hero .eyebrow { color:#d8e2d3; font-size:.75rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.content-hero h1 { max-width:960px; margin:14px 0 20px; font-size:clamp(2.8rem,7vw,6.8rem); letter-spacing:-.06em; }
.content-hero > p:last-of-type { max-width:780px; color:rgba(255,255,255,.82); font-size:clamp(1rem,1.7vw,1.25rem); line-height:1.7; }
.content-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.content-button { display:inline-flex; min-height:46px; align-items:center; justify-content:center; padding:12px 18px; color:var(--green-900); background:white; font-size:.76rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.content-button.secondary { color:white; background:transparent; border:1px solid rgba(255,255,255,.48); }
.content-main { width:min(1120px,calc(100% - 44px)); margin:0 auto; padding:64px 0 96px; }
.content-main h2 { margin:10px 0 16px; font-size:clamp(2rem,4vw,3.4rem); }
.content-main h3 { margin-bottom:9px; font-size:1.15rem; }
.content-main p { color:#626960; line-height:1.75; }
.content-main .eyebrow { color:var(--green-800); font-size:.74rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.content-section { padding:26px 0 48px; }
.content-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:24px; }
.content-card { padding:25px; background:white; border:1px solid rgba(51,51,51,.1); box-shadow:0 12px 34px rgba(35,45,34,.04); }
.content-card p + p { margin-top:10px; }
.content-card .credit { display:block; margin-top:16px; color:var(--green-800); font-size:.82rem; font-weight:700; }
.content-note { margin-top:24px; padding:20px 24px; border-left:3px solid var(--parsley); background:#edf1eb; }
.content-note p { color:var(--green-900); }
.content-banner { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:28px; padding:26px; color:white; background:var(--green-900); }
.content-banner p { max-width:610px; color:rgba(255,255,255,.8); }
.content-banner .content-button { flex-shrink:0; }
.content-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px 22px; padding:22px clamp(22px,5vw,72px); color:#626960; background:white; border-top:1px solid var(--line); font-size:.8rem; }
.content-footer a { text-decoration:underline; text-underline-offset:3px; }
@media(max-width:850px) { .content-top { align-items:flex-start; flex-direction:column; gap:10px; } .content-nav { justify-content:flex-start; gap:8px 15px; } }
@media(max-width:620px) { .content-grid { grid-template-columns:1fr; } .content-banner { align-items:flex-start; flex-direction:column; } .content-main { padding-top:45px; } }

.project-photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:28px; }
.project-photo-grid figure { margin:0; background:white; border:1px solid rgba(51,51,51,.1); }
.project-photo-grid img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.project-photo-grid figcaption { padding:12px 14px; color:var(--green-900); font-size:.85rem; font-weight:700; }
@media(max-width:700px) { .project-photo-grid { grid-template-columns:1fr; } }
