/* Minimal case-study page, using the existing JourneyWell site styles. */
.project-page{--project-ink:var(--navy,#131628);--project-purple:var(--purple,#6f00ff);color:var(--project-ink)}
.project-page,.project-page *{box-sizing:border-box}
.project-crumb,.project-hero,.project-overview,.project-story,.project-gallery,.project-deliverables,.project-results{max-width:1080px;margin:0 auto;padding-left:24px;padding-right:24px}
.project-crumb{padding-top:20px;padding-bottom:20px;display:flex;justify-content:space-between;gap:16px;color:#666;font-size:12px;font-weight:500}
.project-crumb a,.project-back{color:var(--project-purple);text-decoration:none}.project-crumb a:hover,.project-back:hover{text-decoration:underline}
.project-eyebrow{color:var(--project-purple);font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;margin:0 0 10px}
.project-hero{padding-top:30px;padding-bottom:52px;display:grid;grid-template-columns:1fr;gap:24px}
.project-hero-copy{max-width:760px}.project-hero h1{font-size:clamp(38px,5vw,60px);line-height:1;letter-spacing:-1.5px;text-transform:uppercase;margin:0 0 16px}
.project-lede{font-size:17px;line-height:1.6;color:#555;max-width:460px;margin:0 0 22px}.project-hero .btn-pill,.project-cta .btn-pill{display:inline-block;padding:13px 21px;font-weight:700;text-transform:uppercase}
.project-hero-visual,.project-media{background:#f1f1f3;min-height:280px;aspect-ratio:1.55;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;color:#656571;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.project-hero-visual{width:100%;min-height:clamp(360px,48vw,620px);aspect-ratio:2.05}.project-hero-visual small{display:block;margin-top:7px;font-size:10px;letter-spacing:0;font-weight:400;text-transform:none;color:#777}
.project-hero-visual:has(.project-ct-media),.project-media:has(.project-ct-media){padding:0;overflow:hidden}.project-ct-media{display:block;width:100%;height:100%;object-fit:cover}.project-gallery-grid .project-ct-media{position:absolute;inset:0}.project-gallery-grid .project-media{position:relative;overflow:hidden;padding:0}.project-gallery-grid figure.project-media{margin:0}.project-gallery-grid figure figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 12px 10px;background:linear-gradient(transparent,rgba(0,0,0,.68));color:#fff;text-align:left;font-size:11px;letter-spacing:0;text-transform:none}.project-hero-visual .project-ct-media{position:absolute;inset:0}.project-hero-visual{position:relative;overflow:hidden}.project-vertical-frame .project-ct-media{width:100%;height:100%;object-fit:cover}
.project-overview,.project-story,.project-gallery,.project-deliverables,.project-results{padding-top:52px;padding-bottom:52px;border-top:1px solid #e4e4e8}
.project-overview{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px}.project-section-intro h2,.project-story h2,.project-results h2,.project-gallery h2,.project-cta h2{font-size:clamp(27px,3.2vw,38px);line-height:1.1;letter-spacing:-.5px;text-transform:uppercase;margin:0 0 12px}.project-section-intro>p:last-child,.project-results>div>p:last-child{font-size:15px;line-height:1.65;color:#555;max-width:480px;margin:0}
.project-facts{display:grid;grid-template-columns:1fr 1fr;margin:0;gap:0 24px}.project-facts div{padding:14px 0;border-bottom:1px solid #e4e4e8}.project-facts dt{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#777;font-weight:600}.project-facts dd{margin:6px 0 0;font-size:14px;font-weight:600}
.project-story{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px}.project-story-copy{padding-top:4px}.project-story-copy p{font-size:15px;line-height:1.75;color:#555;margin:0 0 16px}
.project-gallery-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px}.project-gallery-head>p{max-width:320px;color:#666;line-height:1.55;font-size:13px;margin:0 0 3px}.project-gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.project-media{min-height:260px;aspect-ratio:1.45;background:#f1f1f3;color:#73737d;font-size:10px}.project-media.media-wide{grid-column:span 2;grid-row:auto;min-height:clamp(360px,46vw,580px);aspect-ratio:1.95}
.project-vertical{max-width:1080px;margin:0 auto;padding:48px 24px;border-top:1px solid #e4e4e8}.project-vertical-grid{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}.project-vertical-slot{width:min(26vw,260px);margin:0}.project-vertical-frame{width:100%;aspect-ratio:9/16;overflow:hidden;background:#f1f1f3}.project-vertical-frame img,.project-vertical-frame video{display:block;width:100%;height:100%;object-fit:cover}.project-vertical-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;text-align:center;color:#666}.project-vertical-placeholder span{font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}.project-vertical-placeholder small{font-size:10px;font-weight:400;line-height:1.5;text-transform:none;letter-spacing:0}.project-vertical-slot figcaption{padding-top:8px;font-size:10px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.8px}
.project-deliverables{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px}.deliverable-list article{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid #e4e4e8}.deliverable-list article>b{color:var(--project-purple);font-size:11px}.deliverable-list h3{margin:0 0 4px;font-size:14px;text-transform:uppercase}.deliverable-list p{margin:0;color:#666;font-size:13px;line-height:1.5}
.project-results{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.result-placeholder{border:1px solid #e0e0e5;padding:22px;display:flex;flex-direction:column;gap:7px}.result-placeholder strong{color:var(--project-purple);text-transform:uppercase;font-size:10px;letter-spacing:1px}.result-placeholder span{color:#555;font-size:13px;line-height:1.5}
.project-cta{text-align:center;border-top:1px solid #e4e4e8;padding:58px 24px 64px;background:#f7f7f8}.project-cta h2{max-width:620px;margin:0 auto 20px}.project-cta .project-back{display:block;margin:16px auto 0;font-size:12px;font-weight:600}
@media(max-width:700px){.project-crumb,.project-hero,.project-overview,.project-story,.project-gallery,.project-deliverables,.project-results,.project-vertical{padding-left:20px;padding-right:20px}.project-hero{grid-template-columns:1fr;padding-top:18px;padding-bottom:40px;gap:22px}.project-hero-visual{min-height:260px;aspect-ratio:1.3}.project-overview,.project-story,.project-deliverables,.project-results{grid-template-columns:1fr;gap:24px;padding-top:40px;padding-bottom:40px}.project-facts{gap:0 16px}.project-gallery-head{display:block}.project-gallery-head>p{margin-top:8px}.project-gallery-grid{grid-template-columns:1fr 1fr}.project-media.media-wide{grid-column:span 2;grid-row:auto;min-height:260px;aspect-ratio:1.35}.project-media{min-height:190px}.project-vertical-slot{width:calc((100% - 16px)/2)}.project-cta{padding:44px 20px 50px}}

/* Tagged gallery media retains its original landscape format at every breakpoint. */
.project-gallery[hidden],.project-vertical[hidden]{display:none}
.project-gallery-grid .project-media,.project-gallery-grid .project-media.media-wide{aspect-ratio:16/9;min-height:0}

.project-hero-visual[hidden]{display:none}

/* Vertical showcase: full-width motion hero and a quiet portrait gallery. */
.project-page[data-project="commercial-sample-02"] .project-hero{grid-template-columns:1fr;gap:32px}
.project-page[data-project="commercial-sample-02"] .project-hero-copy{max-width:720px}
.project-hero-visual.project-hero-animation{width:100%;aspect-ratio:16/9;min-height:0;padding:0;border:0;background:#6f3aff;border-radius:0;overflow:hidden}
.project-motion-hero{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;pointer-events:none}
.project-vertical{padding-top:64px;padding-bottom:72px}
.project-vertical-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.project-vertical-slot{width:100%;min-width:0}
.project-vertical-frame{border-radius:14px;background:#eeeaf3;isolation:isolate}
.project-vertical-frame video{cursor:pointer}
.project-vertical-frame video:focus-visible{outline:3px solid #6f00ff;outline-offset:-4px}
@media(max-width:700px){.project-vertical-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.project-vertical{padding-top:36px;padding-bottom:44px}.project-vertical-slot{width:100%}.project-vertical-frame{border-radius:10px}}
@media(max-width:420px){.project-vertical-grid{gap:12px}}

.project-vertical-slot[hidden]{display:none}
