.promo-page > .project-story { padding: clamp(28px,5vw,80px); }
.project-story h2 { font-size: clamp(30px,4.2vw,64px); line-height: 1.3; font-weight: 500; letter-spacing: -.03em; margin: 28px 0; }
.project-story h2 small { display: block; font-size: .45em; letter-spacing: 0; margin-bottom: 20px; }
.project-story__label { margin-top: 16px; font-size: 13px; color: var(--muted); }
.project-story__intro { max-width: 750px; font-size: clamp(14px,1.3vw,19px); line-height: 1.85; }
.project-story__services { display:flex; flex-wrap:wrap; gap:12px 30px; padding:24px 0; margin-top:24px; border-top:1px solid var(--line); font-size:13px; }
.project-story figure { margin:0; min-width:0; }
.project-story img { width:100%; height:auto; display:block; border-radius:12px; }
.project-story figcaption { font-size:12px; padding:14px 0; color:var(--muted); }
.project-story__breakdown { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; margin:40px 0; }
.project-story__breakdown span { font-size:12px; color:var(--accent); }
.project-story h3 { font-size:24px; font-weight:500; margin:14px 0; }
.project-story__breakdown p { font-size:15px; line-height:1.85; }
.project-story__gallery { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.project-story footer { margin-top:30px; border-top:1px solid var(--line); padding-top:24px; display:flex; justify-content:space-between; gap:20px; font-size:14px; }
.project-story a { color:inherit; text-underline-offset:5px; }
@media(max-width:700px) { .project-story__breakdown,.project-story__gallery { grid-template-columns:1fr; gap:24px; } .project-story footer { flex-direction:column; } }
