/* Product-specific portfolio framing; shared network identity stays owned by Compass Suite. */
.hero.project-hero { width: min(1280px, 100%); max-width: 1280px !important; padding: 56px 40px !important; min-height: 0 !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; grid-template-rows: auto !important; column-gap: 56px !important; align-items: center !important; }
.project-intro { min-width: 0; }
.project-hero h1 { max-width: 12ch !important; font-size: clamp(2.75rem, 4.7vw, 4.4rem) !important; line-height: 1.03 !important; letter-spacing: -.04em; }
.project-lead { max-width: 42ch; font-size: 1.18rem; line-height: 1.55; color: var(--muted); }
.project-byline { font-size: .92rem; margin: 24px 0; }
.project-hero .hero-actions { gap: 12px !important; }
.project-limit { margin: 24px 0 0; max-width: 55ch; font-size: .86rem; line-height: 1.6; color: var(--muted); }
.project-proof { margin: 0; min-width: 0; }
.project-proof > a { display: block; border: 1px solid var(--line); background: white; }
.project-proof img { display: block; width: 100%; height: auto; }
.project-proof figcaption { font-size: .82rem; line-height: 1.55; margin-top: 16px; color: var(--muted); }
.project-proof figcaption strong { display: block; color: var(--ink); margin-bottom: 4px; }
.project-context { width: min(1200px, calc(100% - 80px)); margin: 0 auto 48px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 36px; border-top: 1px solid var(--line-dark); padding-top: 28px; }
.project-context h2 { font-family: var(--sans) !important; font-size: 1rem !important; letter-spacing: 0; margin: 0 0 12px; }
.project-context p { color: var(--muted); font-size: .95rem; line-height: 1.6; margin: 0 0 12px; }
.project-context a { font-size: .95rem; }
[hidden] { display: none !important; }
@media (max-width: 900px) { .hero.project-hero { grid-template-columns: 1fr !important; gap: 32px !important; } .project-hero h1 { max-width: 16ch !important; } .project-proof { max-width: 680px; } .project-context { gap: 24px; } }
@media (max-width: 640px) { .hero.project-hero { padding: 36px 24px !important; } .project-hero h1 { font-size: 2.75rem !important; } .project-context { width: calc(100% - 48px); grid-template-columns: 1fr; gap: 24px; } .project-lead { font-size: 1.07rem; } .project-proof figcaption { font-size: .85rem; } }

.project-proof figcaption { font-family: var(--sans) !important; text-transform: none !important; letter-spacing: 0 !important; font-size: .86rem !important; }
.project-context { padding-bottom: 0 !important; }
html:not(.js-enabled) .tab-panel[hidden], html:not(.js-enabled) .example-panel[hidden] { display: block !important; }

.case-study { padding: 48px 0 56px !important; margin: 0 0 36px; border-top: 1px solid var(--line-dark); }
.case-opening { max-width: 800px; }
.case-opening h2 { font-size: clamp(2.1rem, 3.5vw, 3.25rem) !important; line-height: 1.08; max-width: 23ch; }
.case-opening > p:last-child { color: var(--muted); max-width: 70ch; font-size: 1.1rem; line-height: 1.65; }
.audit-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; list-style-position: inside; padding: 24px 0; margin: 24px 0 40px; border-block: 1px solid var(--line); }
.audit-flow li { padding: 0; font-size: .85rem; color: var(--signal-dark); }
.audit-flow strong { color: var(--ink); font-size: .95rem; }
.audit-flow span { display: block; color: var(--muted); margin-top: 8px; line-height: 1.6; }
.case-decisions article { display: grid; grid-template-columns: 56px 1fr; gap: 20px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.decision-number { color: var(--signal-dark); font-family: var(--display); font-size: 2rem; }
.case-decisions h3, .case-evidence h3, .case-outcome h3 { font-size: 1.55rem !important; line-height: 1.2; }
.case-decisions p { max-width: 80ch; color: var(--muted); line-height: 1.65; }
.case-decisions .decision-evidence { font-size: .88rem; margin-bottom: 0; }
.case-evidence { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; margin-top: 48px; }
.case-evidence p { color: var(--muted); line-height: 1.65; }
.case-evidence figure { margin: 0; }
.case-evidence img { border: 1px solid var(--line); }
.case-evidence figcaption { font-family: var(--sans) !important; text-transform: none !important; letter-spacing: 0 !important; font-size: .85rem !important; line-height: 1.55; color: var(--muted); margin-top: 12px; }
.case-note { font-size: .9rem; border-left: 2px solid var(--signal-dark); padding-left: 16px; }
.case-outcome { margin-top: 40px; padding: 28px 0 0; border-top: 1px solid var(--line); max-width: 85ch; }
.case-outcome p { color: var(--muted); line-height: 1.65; }
#case-study { scroll-margin-top: 90px; }
@media (max-width: 700px) { .audit-flow { grid-template-columns: 1fr 1fr; gap: 24px 16px; } .case-evidence { grid-template-columns: 1fr; gap: 24px; } .case-decisions article { grid-template-columns: 32px 1fr; gap: 12px; } .case-decisions h3, .case-evidence h3 { font-size: 1.35rem !important; } }
