/* Proof stays readable and visible. The client quote has its own testimonial panel. */
.proof-section { background:var(--green); color:var(--white); padding-block:72px 45px; }
.proof-heading { margin-bottom:34px; }
.proof-heading>.eyebrow { color:var(--gold); font-size:12px; }
.proof-heading h2 { font-size:clamp(38px,4.6vw,62px); line-height:1.1; letter-spacing:-.045em; margin-top:19px; }
.proof-heading h2 span:not(.gold-period) { color:#bdd7cb; }
.proof-cases { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:1fr; gap:20px; }
.proof-case { min-width:0; padding:30px 34px 31px; border:1px solid var(--gold); border-radius:10px; background:var(--paper); color:var(--ink); display:flex; flex-direction:column; }
.proof-case-access,.proof-case-roi { background:var(--sage); }
.proof-category { font-size:12px; line-height:1.5; font-weight:800; letter-spacing:.15em; text-transform:uppercase; color:var(--green); }
.proof-metric { color:var(--green); font-size:clamp(78px,10.5vw,144px); line-height:1.05; letter-spacing:-.065em; font-weight:800; font-variant-numeric:lining-nums; margin-block:15px 8px; }
.proof-metric span { letter-spacing:-.045em; }
.proof-metric-row { display:flex; align-items:center; flex-wrap:wrap; gap:0 22px; }
.proof-time { color:var(--green); font-size:19px; line-height:1.3; font-weight:600; margin-block:8px; }
.proof-time strong { font-weight:800; }
.proof-summary { min-height:95px; }
.proof-summary h3 { font-size:25px; line-height:1.25; letter-spacing:-.035em; }
.proof-summary>p { font-size:17px; line-height:1.5; margin-top:6px; color:var(--mid); }
.proof-contribution { margin-top:23px; }
.proof-contribution h4 { display:flex; align-items:center; gap:13px; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.15em; line-height:1.5; color:#84652a; }
.proof-contribution h4::before { content:""; display:block; width:48px; height:2px; flex:none; background:#a4823d; transform-origin:left; }
.proof-contribution>p { font-size:18px; line-height:1.6; margin-top:10px; color:var(--ink); }
.proof-quote { position:relative; margin-block:32px; padding:var(--card-inset); border:1px solid #507d6f; border-left:3px solid var(--gold); border-radius:10px; background:#164d41; }
.proof-quote-label { margin:0 0 20px; padding-right:64px; color:#e4ca93; font-size:12px; font-weight:800; line-height:1.5; letter-spacing:.12em; text-transform:uppercase; }
.proof-quote-mark { position:absolute; top:22px; right:var(--card-inset); font:84px/.85 Georgia,serif; color:var(--gold); height:44px; pointer-events:none; }
.proof-quote>div { min-width:0; }
.proof-quote>div>p { font-size:clamp(27px,2.6vw,36px); font-weight:500; color:var(--white); line-height:1.43; letter-spacing:-.03em; }
.proof-quote-emphasis { font-weight:700; }
.proof-quote footer { display:flex; flex-direction:column; align-items:flex-start; font-size:14px; line-height:1.6; margin-top:24px; padding-top:18px; border-top:1px solid #507d6f; }
.proof-quote footer strong { font-weight:700; }
.proof-quote footer span { color:#d1e2d9; }
.proof-notes { display:grid; grid-template-columns:minmax(0,1fr) minmax(200px,280px); gap:30px; align-items:start; border-top:1px solid #3a685b; padding-top:22px; }
.proof-notes>p { font-size:12px; line-height:1.65; color:#c1d5c9; max-width:800px; }
.proof-notes>small { color:#c1d5c9; font-size:12px; line-height:1.65; border-left:1px solid #567b6f; padding-left:25px; }
@media(prefers-reduced-motion:no-preference) {
  .proof-cases.is-revealed .proof-contribution h4::before { animation:proof-rule-draw .45s ease-out both; }
  .proof-cases.is-revealed .proof-case:nth-child(2) .proof-contribution h4::before { animation-delay:.1s; }
}
@keyframes proof-rule-draw { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@media(max-width:1100px) {
  .proof-section { padding-block:63px 39px; }
  .proof-case { padding:27px 27px 29px; }
  .proof-summary h3 { font-size:23px; }
  .proof-summary>p { font-size:16px; }
  .proof-summary { min-height:111px; }
  .proof-time { font-size:17px; }
  .proof-metric-row { gap:0 15px; }
  .proof-contribution>p { font-size:16px; }
  .proof-quote-break { display:none; }
}
@media(max-width:780px) {
  .proof-section { padding-block:53px 34px; }
  .proof-heading { margin-bottom:29px; }
  .proof-heading h2 { font-size:clamp(35px,6.5vw,49px); margin-top:16px; }
  .proof-cases { grid-template-columns:1fr; gap:18px; }
  .proof-case { padding:28px 30px 30px; }
  .proof-metric { font-size:clamp(84px,18vw,128px); margin-block:13px 9px; }
  .proof-time { font-size:19px; }
  .proof-summary { min-height:0; }
  .proof-summary h3 { font-size:25px; }
  .proof-summary>p { font-size:17px; }
  .proof-contribution { margin-top:25px; }
  .proof-contribution>p { font-size:17px; }
  .proof-quote { margin-block:24px; }
  .proof-quote>div>p { font-size:clamp(25px,4.8vw,31px); line-height:1.45; }
  .proof-notes { grid-template-columns:1fr; gap:13px; padding-top:21px; }
  /* Give stacked notes the requested 60px inset; ease down to 20px on narrow phones. */
  .proof-notes>p,.proof-notes>small { padding-inline:clamp(20px,calc(5vw - 3px),35px); }
  .proof-notes>small { border:0; }
}
@media(max-width:450px) {
  .proof-heading>.eyebrow { font-size:11px; }
  .proof-heading h2 { font-size:35px; }
  .proof-case { padding:24px 23px 25px; }
  .proof-category { font-size:11px; letter-spacing:.13em; }
  .proof-metric { font-size:clamp(72px,22vw,92px); }
  .proof-time { font-size:16px; }
  .proof-summary h3 { font-size:23px; }
  .proof-summary>p { font-size:16px; }
  .proof-contribution>p { font-size:16px; }
  .proof-quote-mark { top:18px; font-size:72px; height:38px; }
  .proof-quote>div>p { font-size:27px; }
  .proof-quote footer { font-size:13px; }
}

.proof-case-care .proof-metric { font-size:clamp(72px,9.5vw,124px); }
@media(max-width:780px) {
  .proof-case-care .proof-metric { font-size:clamp(72px,18vw,112px); }
}
@media(max-width:450px) {
  .proof-case-care .proof-metric { font-size:clamp(64px,19vw,84px); }
}

/* 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; }
}
