@charset "UTF-8";
html:has(.case-page){scroll-behavior:auto}

.case-page{width:calc(100% - 104px);max-width:1320px;margin-inline:auto;padding-bottom:80px;--case-secondary:#535c49}
.case-page *{min-width:0}
.case-page .breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding-block:28px 0;font-size:14px;line-height:1.5;color:var(--case-secondary)}
.case-page .breadcrumbs a:hover{text-decoration:underline;text-underline-offset:4px}
.case-page .case-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:46px;align-items:center;padding-block:48px 38px}
.case-page .case-kicker{font-size:13px;line-height:1.55;letter-spacing:1.3px;text-transform:uppercase;font-weight:700;color:var(--case-secondary)}
.case-page .case-hero-copy h1{font-size:clamp(42px,4.6vw,64px);line-height:1.08;letter-spacing:-2.5px;font-weight:500;margin:20px 0 24px;overflow-wrap:break-word}
.case-page .case-deck{font-size:22px;line-height:1.55;color:var(--case-secondary);max-width:650px}
.case-page .case-byline{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;margin-top:28px;font-size:15px;line-height:1.5;color:var(--case-secondary)}
.case-page .case-byline img{width:48px;height:48px;object-fit:cover;object-position:center 24%;border-radius:50%;flex:none}
.case-page .case-byline strong,.case-page .case-byline time{display:block}
.case-page .case-byline strong{color:var(--ink);font-weight:600}
.case-page .case-hero-photo{margin:0}
.case-page .case-hero-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}
.case-page .case-hero-photo figcaption{font-size:14px;line-height:1.55;color:var(--case-secondary);margin-top:12px}
.case-page .case-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 64px}
.case-page .case-fact{padding:26px 24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.case-page .case-fact:first-child{background:var(--lime);border-color:var(--lime)}
.case-page .case-fact strong{display:block;font-size:clamp(30px,3.2vw,44px);font-weight:500;line-height:1.15;letter-spacing:-1.2px;font-variant-numeric:tabular-nums}
.case-page .case-fact span{display:block;margin-top:12px;font-size:17px;line-height:1.5;color:var(--case-secondary)}
.case-page .case-layout{display:grid;grid-template-columns:260px minmax(0,800px);gap:72px;align-items:start;justify-content:space-between}
.case-page .case-toc{position:sticky;top:28px;max-height:calc(100vh - 56px);overflow:auto;padding:22px 0;border-top:1px solid var(--line);font-size:16px;line-height:1.5}
.case-page .case-toc h2,.case-page .case-toc h3,.case-page .case-toc>p{font-size:14px;line-height:1.45;letter-spacing:1px;text-transform:uppercase;font-weight:700;margin:0 0 16px}
.case-page .case-toc ol{padding-left:20px;margin:0;display:grid;gap:13px;color:var(--case-secondary)}
.case-page .case-toc a{display:block;padding:3px 0;text-decoration:none}
.case-page .case-toc a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.case-page .case-body{font-size:20px;line-height:1.75;overflow-wrap:break-word}
.case-page .case-body section{margin:0 0 64px;scroll-margin-top:32px}
.case-page .case-body h2{font-size:clamp(30px,2.9vw,40px);line-height:1.16;letter-spacing:-1.2px;font-weight:500;margin:0 0 25px}
.case-page .case-body h3{font-size:26px;line-height:1.3;letter-spacing:-.6px;font-weight:500;margin:34px 0 18px}
.case-page .case-body p{margin:0 0 21px}
.case-page .case-body p:last-child{margin-bottom:0}
.case-page .case-body ul,.case-page .case-body ol{padding-left:25px;margin:22px 0}
.case-page .case-body li{margin-bottom:10px}
.case-page .case-body a:not(.button){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;overflow-wrap:anywhere}
.case-page .case-body a:not(.button):hover{color:#5e7115}
.case-page .case-note{background:var(--surface);border-left:4px solid #93a451;padding:23px 26px;margin:28px 0;border-radius:0 var(--radius) var(--radius) 0;font-size:18px;line-height:1.65}
.case-page .case-quote{margin:32px 0;padding:4px 0 4px 25px;border-left:4px solid var(--lime);font-size:26px;line-height:1.45;letter-spacing:-.4px}
.case-page .case-quote p{margin:0}
.case-page .case-quote cite{display:block;font-size:16px;font-style:normal;letter-spacing:0;color:var(--case-secondary);margin-top:15px}
.case-page .case-timeline{margin:28px 0 34px}
.case-page .case-body ol.case-timeline,.case-page .case-timeline ol{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:28px 0 34px}
.case-page .case-timeline li{margin:0;padding:22px 18px;border-top:3px solid #b2bf8b;background:var(--surface);border-radius:0 0 var(--radius) var(--radius)}
.case-page .case-timeline li:last-child{border-color:#a7c528}
.case-page .case-timeline strong{font-size:24px;line-height:1.3;font-weight:500;display:block;margin-bottom:10px;letter-spacing:-.5px}
.case-page .case-timeline p{font-size:17px;line-height:1.6;margin:0}
.case-page .case-figure{margin:32px 0}
.case-page .case-figure img{display:block;width:100%;max-width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius)}
.case-page .case-figure figcaption{font-size:16px;line-height:1.6;color:var(--case-secondary);margin-top:12px}
.case-page .case-figure.is-mobile img,.case-page .case-figure--mobile img{width:auto;max-width:min(100%,420px);margin-inline:auto}
.case-page .case-table-wrap{width:100%;max-width:100%;overflow-x:auto;margin:28px 0 30px;border:1px solid var(--line);border-radius:var(--radius);-webkit-overflow-scrolling:touch}
.case-page .case-table-wrap table{width:100%;border-collapse:collapse;font-size:17px;line-height:1.55;text-align:left;font-variant-numeric:tabular-nums}
.case-page .case-table-wrap caption{text-align:left;padding:17px 20px;background:var(--surface);color:var(--case-secondary);font-size:16px;line-height:1.5}
.case-page .case-table-wrap th,.case-page .case-table-wrap td{padding:15px 19px;border-bottom:1px solid var(--line);vertical-align:top}
.case-page .case-table-wrap thead th{background:var(--ink);color:var(--paper);font-weight:500}
.case-page .case-table-wrap tbody tr:nth-child(even){background:#eeeee5}
.case-page .case-table-wrap tr:last-child>*{border-bottom:0}
.case-page .case-table-wrap tfoot th,.case-page .case-table-wrap tfoot td{font-weight:700;border-top:1px solid var(--line);background:var(--surface)}
.case-page .quality-visual{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;align-items:center;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:28px 0}
.case-page .quality-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:7px}
.case-page .quality-cell{aspect-ratio:1;display:block;background:#c7cdbd;border-radius:3px}
.case-page .quality-cell.is-bad{background:#69765c}
.case-page .quality-cell.is-sale{background:var(--lime);outline:1px solid #9cad42;outline-offset:-1px}
.case-page .quality-legend{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:18px;font-size:14px;line-height:1.5;color:var(--case-secondary)}
.case-page .quality-legend>span{display:inline-flex;gap:7px;align-items:center}
.case-page .quality-legend .quality-cell{width:13px;height:13px;flex:none}
.case-page .quality-summary{font-size:18px;line-height:1.6}
.case-page .quality-summary strong{display:block;font-size:44px;line-height:1.1;font-weight:500;letter-spacing:-1.5px;margin-bottom:14px}
.case-page .quality-summary p{margin:0}
.case-page .hypothesis-flow{margin:28px 0}
.case-page .case-body ol.hypothesis-flow,.case-page .hypothesis-flow ol{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:28px 0}
.case-page .hypothesis-flow li{position:relative;padding:19px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);font-size:16px;line-height:1.5;margin:0}
.case-page .hypothesis-flow li:not(:last-child):after{content:'→';position:absolute;right:-14px;top:23px;background:var(--paper);width:26px;text-align:center;border-radius:50%;z-index:1;font-size:21px}
.case-page .hypothesis-flow strong{font-weight:600;display:block;margin-bottom:8px;font-size:18px;line-height:1.35}
.case-page .hypothesis-flow p{margin:0;font-size:16px;line-height:1.5}
.case-page .case-author{display:flex;align-items:flex-start;gap:22px;padding:29px 0;border-block:1px solid var(--line);margin:44px 0;font-size:17px;line-height:1.65}
.case-page .case-author img{width:80px;height:80px;flex:none;border-radius:50%;object-fit:cover;object-position:center 24%}
.case-page .case-author h2,.case-page .case-author h3{font-size:25px;margin:0 0 10px;line-height:1.25;letter-spacing:-.5px}
.case-page .case-author p{font-size:17px;margin:0 0 12px}
.case-page .case-end-cta{background:var(--ink);color:var(--paper);padding:38px;border-radius:var(--radius);margin-top:42px}
.case-page .case-end-cta h2{font-size:34px;line-height:1.2;letter-spacing:-1px;margin-bottom:20px}
.case-page .case-end-cta p{color:#cbd0c0;font-size:19px;line-height:1.6}
.case-page .case-end-cta .button{margin-top:12px;white-space:normal;max-width:100%;text-decoration:none}
.case-page .case-source{font-size:16px;line-height:1.65;color:var(--case-secondary);margin:24px 0}
.case-page .case-source a{overflow-wrap:anywhere}
.case-page .case-faq details{border-bottom:1px solid var(--line)}
.case-page .case-faq details:first-of-type{border-top:1px solid var(--line)}
.case-page .case-faq summary{cursor:pointer;font-size:20px;line-height:1.45;font-weight:500;list-style:none;position:relative;padding:23px 35px 23px 0}
.case-page .case-faq summary::-webkit-details-marker{display:none}
.case-page .case-faq summary:after{content:'+';position:absolute;right:3px;top:23px;font-size:25px;line-height:1.2;font-weight:400}
.case-page .case-faq details[open] summary:after{content:'−'}
.case-page .case-faq details>p,.case-page .case-faq details>div{padding:0 12px 24px 0;font-size:18px;line-height:1.7;color:var(--case-secondary)}
.case-page+.site-footer{padding-top:28px}

@media(max-width:1150px){
  .case-page{width:calc(100% - 64px)}
  .case-page .case-hero{gap:30px}
  .case-page .case-hero-copy h1{font-size:48px;letter-spacing:-1.8px}
  .case-page .case-layout{grid-template-columns:230px minmax(0,800px);gap:40px}
}
@media(max-width:1000px){
  .case-page .case-layout{grid-template-columns:minmax(0,1fr);gap:38px;max-width:800px;margin-inline:auto}
  .case-page .case-toc{position:static;max-height:none;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
  .case-page .case-toc ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 30px}
  .case-page .case-hero-copy h1{font-size:42px}
  .case-page .case-deck{font-size:20px}
  .case-page .case-facts{margin-bottom:40px}
}
@media(max-width:760px){
  .case-page{width:calc(100% - 40px);padding-bottom:52px}
  .case-page .case-hero{grid-template-columns:minmax(0,1fr);gap:30px;padding-block:32px}
  .case-page .case-hero-copy h1{font-size:38px;line-height:1.12;letter-spacing:-1.4px;margin:18px 0 22px}
  .case-page .case-hero-photo img{max-height:420px}
  .case-page .case-byline{margin-top:24px}
  .case-page .case-facts{gap:12px}
  .case-page .case-fact{padding:20px 16px}
  .case-page .case-fact strong{font-size:29px;letter-spacing:-.8px}
  .case-page .case-fact span{font-size:15px;margin-top:10px}
  .case-page .case-body{font-size:18px;line-height:1.75}
  .case-page .case-body section{margin-bottom:48px}
  .case-page .case-body h2{font-size:32px;line-height:1.2;letter-spacing:-.8px;margin-bottom:22px}
  .case-page .case-body h3{font-size:25px;letter-spacing:-.4px;margin-top:28px}
  .case-page .case-quote{font-size:23px;padding-left:20px}
  .case-page .case-timeline strong{font-size:21px}
  .case-page .case-timeline p{font-size:16px}
  .case-page .quality-visual{gap:22px;padding:24px}
  .case-page .quality-grid{gap:5px}
  .case-page .case-body ol.hypothesis-flow,.case-page .hypothesis-flow ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
  .case-page .hypothesis-flow li:nth-child(2):after{display:none}
  .case-page .case-end-cta{padding:29px}
  .case-page .case-end-cta h2{font-size:31px}
  .case-page .case-end-cta p{font-size:18px}
}
@media(max-width:540px){
  .case-page{width:calc(100% - 32px)}
  .case-page .breadcrumbs{font-size:13px;gap:6px 9px;padding-top:22px}
  .case-page .case-kicker{font-size:12px;letter-spacing:1px}
  .case-page .case-hero-copy h1{font-size:34px;letter-spacing:-1.15px}
  .case-page .case-deck{font-size:19px;line-height:1.6}
  .case-page .case-facts{grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:34px}
  .case-page .case-fact{padding:22px}
  .case-page .case-fact strong{font-size:37px;letter-spacing:-1px}
  .case-page .case-fact span{font-size:17px;margin-top:8px}
  .case-page .case-toc{padding:22px 20px}
  .case-page .case-toc ol{grid-template-columns:minmax(0,1fr);gap:10px;padding-left:19px}
  .case-page .case-layout{gap:36px}
  .case-page .case-body h2{font-size:29px;line-height:1.2;letter-spacing:-.7px}
  .case-page .case-body h3{font-size:24px}
  .case-page .case-note{padding:20px;font-size:17px}
  .case-page .case-body ol.case-timeline,.case-page .case-timeline ol{grid-template-columns:minmax(0,1fr);gap:12px}
  .case-page .case-timeline li{padding:20px;border-top:0;border-left:3px solid #b2bf8b}
  .case-page .case-timeline strong{font-size:24px}
  .case-page .case-timeline p{font-size:17px}
  .case-page .case-figure{margin-block:26px}
  .case-page .case-figure figcaption{font-size:15px}
  .case-page .case-table-wrap{margin-block:24px}
  .case-page .case-table-wrap table{font-size:16px;min-width:440px}
  .case-page .case-table-wrap th,.case-page .case-table-wrap td{padding:14px 15px}
  .case-page .case-table-wrap caption{padding:16px;font-size:15px}
  .case-page .quality-visual{grid-template-columns:minmax(0,1fr);padding:22px 20px;gap:24px}
  .case-page .quality-grid{gap:6px}
  .case-page .quality-summary strong{font-size:40px;margin-bottom:10px}
  .case-page .quality-legend{font-size:13px;gap:9px 12px}
  .case-page .case-author{gap:16px;flex-wrap:wrap;padding-block:24px;margin-block:36px}
  .case-page .case-author img{width:70px;height:70px}
  .case-page .case-author>div{flex:1 1 200px}
  .case-page .case-author h2,.case-page .case-author h3{font-size:24px}
  .case-page .case-end-cta{padding:26px 22px}
  .case-page .case-end-cta h2{font-size:29px}
  .case-page .case-end-cta .button{width:100%;font-size:17px;padding:17px 18px;gap:18px}
  .case-page .case-faq summary{font-size:19px;padding-block:21px}
  .case-page .case-faq details>p,.case-page .case-faq details>div{font-size:18px;padding-right:0}
}
@media(max-width:350px){
  .case-page .case-hero-copy h1{font-size:32px;letter-spacing:-1px}
  .case-page .case-body h2{font-size:28px}
  .case-page .case-body ol.hypothesis-flow,.case-page .hypothesis-flow ol{grid-template-columns:minmax(0,1fr)}
  .case-page .hypothesis-flow li:not(:last-child):after{content:'↓';display:block;top:auto;bottom:-20px;right:20px}
  .case-page .quality-grid{gap:4px}
}

/* Markup compatibility for semantic ordered-list diagrams and the final CTA. */
.case-page .quality-legend{display:block;line-height:1.8;margin:18px 0 0}
.case-page .quality-legend>span{display:inline-block}
.case-page .quality-legend .legend-bad{color:#546148;font-weight:600}
.case-page .quality-legend .legend-sale{color:#53621f;font-weight:600}
.case-page .quality-legend .legend-bad::first-letter{color:#69765c}
.case-page .quality-legend .legend-sale::first-letter{color:#a2b931}
.case-page .case-byline time{display:inline}
.case-page .case-end-cta>div{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin:24px 0}
.case-page .case-end-cta .button{margin:0}
.case-page .case-end-cta .button-dark{background:var(--lime);color:var(--ink)}
.case-page .case-end-cta .button-dark:hover{background:#e0f482}
.case-page .case-end-cta>p:last-child{margin-top:24px;font-size:16px}
.case-page .case-end-cta>p:last-child a{display:inline-block;padding-block:6px;text-decoration:underline;text-underline-offset:4px}
.case-page .case-end-cta>.eyebrow{font-size:13px;margin-bottom:20px;color:#cbd0c0}

@media(max-width:540px){.case-page .case-table-wrap table{min-width:0}.case-page .case-table-wide table{min-width:520px}}

.case-page .case-table-wrap td:last-child{white-space:nowrap}
