/* Lead with the client's problem, then show the work and its result. */
.proof-section { background:var(--green); color:var(--white); }
.proof-heading { margin-bottom:34px; }
.proof-heading>.eyebrow { color:var(--gold); }
.proof-heading h2 { max-width:23ch; }
.proof-cases { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.proof-case { min-width:0; padding:28px; border:1px solid #c3cec5; border-radius:10px; background:var(--paper); color:var(--ink); display:flex; flex-direction:column; }
.proof-category { font-size:.875rem; line-height:1.5; font-weight:750; letter-spacing:.1em; text-transform:uppercase; color:var(--mid); }
.proof-case h3 { margin-top:18px; font-size:clamp(1.5rem,2vw,1.75rem); line-height:1.2; letter-spacing:-.03em; font-weight:750; }
.proof-client { margin-top:14px; font-size:.875rem; line-height:1.5; color:var(--mid); }
.proof-work { margin-block:24px 28px; font-size:1rem; line-height:1.6; }
.proof-outcome { min-height:100px; margin-top:auto; padding-top:20px; border-top:1px solid var(--line); }
.proof-outcome strong { display:block; color:var(--green); font-size:1.375rem; font-weight:750; line-height:1.3; letter-spacing:-.025em; }
.proof-outcome p+p { margin-top:8px; font-size:.9375rem; line-height:1.5; color:var(--muted); }
.proof-case .case-study-link { margin-top:0; }
.proof-value { display:grid; grid-template-columns:1fr 1fr; gap:24px 48px; margin-top:32px; padding:28px 32px; border:1px solid #608679; border-radius:10px; }
.proof-value-summary h3 { max-width:29ch; font-size:1.25rem; line-height:1.45; font-weight:600; text-wrap:initial; }
.proof-value-summary h3 strong { color:var(--gold); font-size:2rem; font-weight:750; }
.proof-value-summary>p { margin-top:10px; color:#bdd7cb; font-size:.9375rem; line-height:1.6; }
.proof-engagement-criterion { align-self:center; padding-left:24px; border-left:2px solid var(--gold); }
.proof-engagement-criterion>p { color:var(--white); font-size:1rem; line-height:1.6; }
.proof-engagement-criterion>.proof-criterion-note { margin-top:8px; color:#bdd7cb; font-size:.875rem; line-height:1.5; }
.proof-method { grid-column:1/-1; }
.proof-method summary { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:48px; padding-top:16px; border-top:1px solid #608679; font-size:.875rem; font-weight:700; cursor:pointer; list-style:none; }
.proof-method summary::-webkit-details-marker { display:none; }
.proof-method summary:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.proof-method dl { display:grid; grid-template-columns:1fr 1fr; gap:20px 48px; margin:20px 0 0; }
.proof-method dt { font-size:.875rem; line-height:1.4; font-weight:750; }
.proof-method dd { font-size:.875rem; line-height:1.6; color:#bdd7cb; margin-top:5px; }
.proof-quote { display:grid; grid-template-columns:minmax(0,1fr) minmax(200px,.42fr); gap:24px 40px; margin:32px 0 0; padding:clamp(24px,4vw,40px); border:1px solid #b5c9be; border-radius:10px; background:var(--paper); color:var(--ink); }
.proof-quote-label { grid-column:1/-1; margin:0; color:var(--mid); font-size:.875rem; font-weight:750; line-height:1.5; letter-spacing:.1em; text-transform:uppercase; }
.proof-quote blockquote { min-width:0; margin:0; }
.proof-quote blockquote p { margin:0; max-width:34ch; font-size:clamp(1.5rem,2.5vw,2rem); font-weight:500; color:var(--ink); line-height:1.5; letter-spacing:-.025em; }
.proof-quote figcaption { display:flex; flex-direction:column; justify-content:center; gap:5px; padding-left:24px; border-left:2px solid var(--gold); font-size:.9375rem; line-height:1.6; }
.proof-quote figcaption strong { font-weight:750; color:var(--green); }
.proof-quote figcaption span { color:var(--muted); }
/* Stack below 1000px so each story stays readable without narrow text columns. */
@media(max-width:1000px) {
  .proof-cases { grid-template-columns:1fr; gap:18px; }
  .proof-case h3 { font-size:1.75rem; }
  .proof-outcome { min-height:0; }
  .proof-work { margin-block:20px 24px; max-width:65ch; }
}
@media(max-width:780px) {
  .proof-value { grid-template-columns:1fr; gap:24px; padding:26px; }
  .proof-value-summary h3 { max-width:32ch; }
  .proof-method dl { grid-template-columns:1fr; }
  .proof-quote { grid-template-columns:minmax(0,1fr); gap:20px; margin-top:24px; }
  .proof-quote blockquote p { max-width:none; }
  .proof-quote figcaption { border-left:0; border-top:1px solid var(--line); padding:20px 0 0; }
}
@media(max-width:450px) {
  .proof-case { padding:24px; }
  .proof-case h3 { font-size:1.5rem; }
  .proof-value { padding:24px; }
}

/* Read on the page; the source PDF remains a normal link and download. */
.case-study-link { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:48px; margin-top:auto; padding-top:24px; color:var(--green); font-size:15px; font-weight:750; text-decoration:underline; text-underline-offset:5px; }
.case-study-link>span { font-size:25px; font-weight:400; transition:transform 180ms ease; }
.case-study-link:hover>span { transform:translate(2px,-2px); }
.case-study-link:focus-visible { outline:2px solid var(--green); outline-offset:5px; border-radius:3px; }
.case-study-dialog { width:min(840px,calc(100% - 48px)); max-height:min(900px,calc(100dvh - 48px)); padding:0; border:1px solid #b9ccc0; border-radius:18px; overflow:hidden; }
.case-study-dialog[open] { display:flex; flex-direction:column; }
.case-study-toolbar { display:flex; align-items:center; justify-content:space-between; flex:none; gap:12px; padding:10px 16px 10px 32px; border-bottom:1px solid #d7dfd8; background:var(--paper); }
.case-study-dialog .case-study-toolbar p { margin:0; font-size:13px; line-height:1.5; font-weight:750; color:var(--green); }
.case-study-toolbar p>span { color:var(--muted); font-weight:500; }
.case-study-close { display:grid; place-items:center; width:44px; height:44px; flex:none; border:1px solid #c4d2c9; border-radius:50%; background:transparent; color:var(--green); font-size:28px; line-height:1; }
.case-study-close:hover { background:var(--sage); }
.case-study-body { min-height:0; overflow-y:auto; overscroll-behavior-y:contain; padding:32px; }
.case-study-body:focus-visible { outline:2px solid #84652a; outline-offset:-3px; }
.case-study-body .eyebrow { color:#84652a; font-size:11px; margin:0 0 8px; }
.case-study-body h2 { font-size:clamp(30px,4.3vw,46px); line-height:1.14; letter-spacing:-.035em; margin:12px 0 16px; }
.case-study-dialog .case-study-body p { font-size:16px; line-height:1.65; margin:12px 0 0; color:var(--muted); }
.case-study-dialog .case-study-body .case-study-client { margin:0; font-size:13px; font-weight:700; color:var(--green); }
.case-study-dialog .case-study-body .case-study-lead { color:var(--ink); font-size:18px; line-height:1.5; margin:0; }
.case-study-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding:24px 0; margin:28px 0; border-block:1px solid #c4d2c9; }
.case-study-facts>div { min-width:0; }
.case-study-facts>div+div { padding-left:18px; border-left:1px solid #c4d2c9; }
.case-study-facts dt { font-size:32px; line-height:1.2; font-weight:750; letter-spacing:-.035em; color:var(--green); }
.case-study-facts dd { margin-top:6px; font-size:13px; line-height:1.45; color:var(--muted); }
.case-study-body section+section { margin-top:28px; }
.case-study-body h3 { margin:0; font-size:18px; line-height:1.35; font-weight:750; color:var(--ink); }
.case-study-body ul { margin:12px 0 0; padding-left:20px; font-size:16px; line-height:1.65; color:var(--muted); }
.case-study-body li+li { margin-top:8px; }
.case-study-body li::marker { color:#9a762e; }
.case-study-dialog .case-study-body .case-study-note { font-size:13px; line-height:1.6; padding-left:14px; border-left:2px solid var(--gold); }
.case-study-team { margin-top:28px; padding-top:20px; border-top:1px solid #c4d2c9; }
.case-study-team h3 { font-size:13px; }
.case-study-dialog .case-study-team p { font-size:13px; margin-top:7px; }
.case-study-next { display:inline-flex; align-items:center; gap:12px; min-height:44px; margin-top:22px; font-size:15px; font-weight:750; color:var(--green); text-decoration:underline; text-underline-offset:5px; }
.case-study-actions { display:flex; align-items:center; justify-content:space-between; gap:20px; flex:none; padding:16px 32px; border-top:1px solid #d7dfd8; background:var(--paper); }
.case-study-download,.case-study-view { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:46px; font-size:14px; font-weight:750; line-height:1.4; }
.case-study-download { border-radius:7px; padding:12px 20px; background:var(--green); color:white; }
.case-study-download:hover { background:#1a5749; }
.case-study-view { color:var(--green); text-decoration:underline; text-underline-offset:4px; }
.case-study-dialog a:focus-visible,.case-study-close:focus-visible { outline:2px solid #84652a; outline-offset:4px; }
@media(prefers-reduced-motion:no-preference) {
  .case-study-dialog[open] { animation:case-study-enter 180ms ease-out both; }
}
@keyframes case-study-enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:650px) {
  .case-study-dialog { width:calc(100% - 16px); max-height:calc(100dvh - 16px); border-radius:14px; }
  .case-study-toolbar { padding:8px 12px 8px 22px; }
  .case-study-toolbar p>span { display:block; font-size:11px; }
  .case-study-body { padding:24px 22px; }
  .case-study-body h2 { font-size:32px; }
  .case-study-dialog .case-study-body .case-study-lead { font-size:17px; }
  .case-study-facts { gap:10px; margin-block:24px; padding-block:20px; }
  .case-study-facts>div+div { padding-left:10px; }
  .case-study-facts dt { font-size:25px; }
  .case-study-facts dd { font-size:12px; }
  .case-study-actions { padding:12px 22px calc(12px + env(safe-area-inset-bottom)); gap:12px; }
  .case-study-download { padding-inline:16px; }
}
