
/* Shared premium editorial case-study design, scoped to approved case pages. */
:is(.hft-feature,.case-feature){--hf-ink:#1b221d;--hf-paper:#fffdfa;--hf-accent:#a88956;--hf-line:#d9d4c9}
:is(.hft-feature,.case-feature) .hft-hero{background:#19231e;color:#faf7ef;padding:49px 0 76px;position:relative;overflow:hidden}
:is(.hft-feature,.case-feature) .hft-hero::after{content:"";position:absolute;inset:0 0 auto auto;width:35%;height:100%;pointer-events:none;opacity:.28;background:radial-gradient(ellipse at top right,#596748 0%,transparent 66%)}
:is(.hft-feature,.case-feature) .hft-breadcrumb{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#c7c6b9;font-size:12px;position:relative;z-index:1;margin-bottom:73px}
:is(.hft-feature,.case-feature) .hft-breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px;color:#fff}
:is(.hft-feature,.case-feature) .hft-hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.62fr);gap:clamp(35px,6vw,104px);align-items:end;position:relative;z-index:1}
:is(.hft-feature,.case-feature) .hft-eyebrow,:is(.hft-feature,.case-feature) .hft-section-label,:is(.hft-feature,.case-feature) .hft-aside-label{font-size:11px;font-weight:700;letter-spacing:.125em;line-height:1.5;text-transform:uppercase}
:is(.hft-feature,.case-feature) .hft-eyebrow{color:#dbc193;display:flex;align-items:center;gap:12px}
:is(.hft-feature,.case-feature) .hft-kicker-rule{height:1px;width:29px;background:#d2b982;flex-shrink:0}
:is(.hft-feature,.case-feature) .hft-hero h1{font-size:clamp(48px,5.45vw,78px);line-height:1.065;letter-spacing:-.05em;font-weight:600;max-width:870px;margin:21px 0 26px}
:is(.hft-feature,.case-feature) .hft-deck{font-size:clamp(16px,1.7vw,19px);line-height:1.75;color:#d9dbd0;max-width:790px;margin:0}
:is(.hft-feature,.case-feature) .hft-hero-actions{display:flex;gap:25px;flex-wrap:wrap;align-items:center;margin-top:32px}
:is(.hft-feature,.case-feature) .hft-text-link{font-size:12px;font-weight:700;color:#e6cea0;letter-spacing:.02em;text-decoration:underline;text-decoration-color:rgba(230,206,160,.5);text-underline-offset:6px}
:is(.hft-feature,.case-feature) .hft-text-link:hover{color:#fff}
:is(.hft-feature,.case-feature) .hft-muted-link{color:#c7c6b9}
:is(.hft-feature,.case-feature) .hft-scorecard{border:1px solid rgba(244,244,229,.26);padding:30px 31px 24px;background:rgba(255,255,255,.035);align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end}
:is(.hft-feature,.case-feature) .hft-scorecard-label{font-size:11px;font-weight:700;letter-spacing:.14em;color:#dec999;margin-bottom:17px}
:is(.hft-feature,.case-feature) .hft-score{border-top:1px solid rgba(255,255,255,.19);padding:19px 0 14px}
:is(.hft-feature,.case-feature) .hft-score strong{display:block;font-weight:600;font-size:clamp(39px,4vw,58px);line-height:1.05;letter-spacing:-.05em;color:#faf5e9}
:is(.hft-feature,.case-feature) .hft-score strong span{font-size:22px;letter-spacing:-.025em}
:is(.hft-feature,.case-feature) .hft-score p{font-size:12px;color:#c8cdbf;line-height:1.55;margin:7px 0 0}
:is(.hft-feature,.case-feature) .hft-profile{background:#f0ebe1;border-bottom:1px solid #ddd7cc}
:is(.hft-feature,.case-feature) .hft-profile-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
:is(.hft-feature,.case-feature) .hft-profile-item{padding:25px 27px;border-right:1px solid #d5cdbf}
:is(.hft-feature,.case-feature) .hft-profile-item:first-child{padding-left:0}
:is(.hft-feature,.case-feature) .hft-profile-item:last-child{border-right:0}
:is(.hft-feature,.case-feature) .hft-profile-item span{display:block;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7c6744;margin-bottom:7px}
:is(.hft-feature,.case-feature) .hft-profile-item strong{display:block;font-size:13px;font-weight:600;line-height:1.6;color:#2b2923}
:is(.hft-feature,.case-feature) .hft-layout{display:grid;grid-template-columns:188px minmax(0,1fr);column-gap:clamp(54px,7.5vw,120px);padding-top:94px;padding-bottom:27px}
:is(.hft-feature,.case-feature) .hft-aside{position:sticky;top:118px;align-self:start}
:is(.hft-feature,.case-feature) .hft-anchor-nav{border-top:2px solid var(--hf-accent);padding-top:15px}
:is(.hft-feature,.case-feature) .hft-aside-label{display:block;color:#80683c;margin-bottom:15px}
:is(.hft-feature,.case-feature) .hft-anchor-nav a{display:block;font-size:12px;color:#5e594d;line-height:1.5;padding:12px 0;border-bottom:1px solid var(--line)}
:is(.hft-feature,.case-feature) .hft-anchor-nav a:hover{color:#6e511c;padding-left:5px;transition:padding .15s}
:is(.hft-feature,.case-feature) .hft-aside-note{margin-top:37px;padding-top:20px;border-top:1px solid var(--line)}
:is(.hft-feature,.case-feature) .hft-aside-note span{font-size:10px;letter-spacing:.1em;color:#80683c;font-weight:700}
:is(.hft-feature,.case-feature) .hft-aside-note p{font-size:12px;color:#645d53;line-height:1.6;margin:10px 0 0}
:is(.hft-feature,.case-feature) .hft-content{min-width:0;max-width:910px}
:is(.hft-feature,.case-feature) .hft-section{scroll-margin-top:110px;padding:0 0 65px;margin-bottom:69px;border-bottom:1px solid var(--line)}
:is(.hft-feature,.case-feature) .hft-section:last-child{margin-bottom:25px}
:is(.hft-feature,.case-feature) .hft-section-label{color:#8f6f36;margin-bottom:17px}
:is(.hft-feature,.case-feature) .hft-section h2,:is(.hft-feature,.case-feature) .hft-journey h2,:is(.hft-feature,.case-feature) .hft-outcome h2{font-size:clamp(33px,3.5vw,50px);font-weight:600;line-height:1.16;letter-spacing:-.042em;margin:0 0 26px;max-width:880px}
:is(.hft-feature,.case-feature) .hft-section>p{font-size:16px;line-height:1.9;color:#544e45;margin:0 0 19px;max-width:825px}
:is(.hft-feature,.case-feature) .hft-section>p.hft-lead{font-size:18px;line-height:1.8;color:#292a26}
:is(.hft-feature,.case-feature) .hft-challenges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:40px}
:is(.hft-feature,.case-feature) .hft-challenges>div{padding:20px 0 4px;border-top:2px solid #b39761}
:is(.hft-feature,.case-feature) .hft-challenges span{font-size:10px;color:#8e6a31;letter-spacing:.105em;font-weight:700}
:is(.hft-feature,.case-feature) .hft-challenges h3{font-size:18px;line-height:1.37;letter-spacing:-.025em;margin:13px 0 10px}
:is(.hft-feature,.case-feature) .hft-challenges p{color:#61594f;font-size:13px;line-height:1.75;margin:0}
:is(.hft-feature,.case-feature) .hft-role-header{display:grid;grid-template-columns:minmax(180px,.78fr) minmax(0,1.22fr);gap:32px;padding:14px 0;border-top:2px solid #2c342b}
:is(.hft-feature,.case-feature) .hft-role-header span{font-size:10px;color:#78664c;font-weight:700;letter-spacing:.115em}
:is(.hft-feature,.case-feature) .hft-role{border-top:1px solid var(--line);padding:29px 0;display:grid;grid-template-columns:minmax(180px,.78fr) minmax(0,1.22fr);gap:32px}
:is(.hft-feature,.case-feature) .hft-role:last-child{border-bottom:1px solid var(--line)}
:is(.hft-feature,.case-feature) .hft-role-identity>span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:#896b37;line-height:1.6}
:is(.hft-feature,.case-feature) .hft-role h3{font-size:24px;letter-spacing:-.03em;line-height:1.3;margin:10px 0 0;font-weight:600}
:is(.hft-feature,.case-feature) .hft-role-detail>p{font-size:15px;line-height:1.79;color:#4f4c45;margin:0}
:is(.hft-feature,.case-feature) .hft-role-focus{background:#f3efe7;border-left:2px solid #b4965e;padding:14px 16px;margin-top:17px}
:is(.hft-feature,.case-feature) .hft-role-focus>span{font-size:10px;letter-spacing:.105em;font-weight:700;color:#856831}
:is(.hft-feature,.case-feature) .hft-role-focus p{font-size:12px;line-height:1.75;color:#62594c;margin:5px 0 0}
:is(.hft-feature,.case-feature) .hft-appointment-note{background:#f5f0e8;padding:23px 28px;margin-top:30px;display:grid;grid-template-columns:165px 1fr;gap:26px;align-items:start}
:is(.hft-feature,.case-feature) .hft-appointment-note strong{font-size:15px;line-height:1.5;color:#262b23}
:is(.hft-feature,.case-feature) .hft-appointment-note p{font-size:13px;line-height:1.8;color:#5c554b;margin:0}
:is(.hft-feature,.case-feature) .hft-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:33px;row-gap:33px;margin-top:35px}
:is(.hft-feature,.case-feature) .hft-method{border-top:1px solid #c6bba9;padding-top:20px}
:is(.hft-feature,.case-feature) .hft-method-number{font-size:11px;color:#90733e;letter-spacing:.15em;font-weight:700}
:is(.hft-feature,.case-feature) .hft-method h3{font-size:21px;line-height:1.32;letter-spacing:-.025em;margin:15px 0 11px}
:is(.hft-feature,.case-feature) .hft-method p{font-size:14px;line-height:1.83;color:#5f574d;margin:0}
:is(.hft-feature,.case-feature) .hft-journey{padding:86px 0 90px;background:#efeae0;scroll-margin-top:90px}
:is(.hft-feature,.case-feature) .hft-journey-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:65px;align-items:end}
:is(.hft-feature,.case-feature) .hft-journey h2{max-width:800px;margin-bottom:0}
:is(.hft-feature,.case-feature) .hft-journey-heading>p{font-size:15px;color:#564e43;line-height:1.85;margin:0 0 5px}
:is(.hft-feature,.case-feature) .hft-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:50px;border-top:1px solid #a99e8d}
:is(.hft-feature,.case-feature) .hft-phase{padding:27px 23px 0;border-right:1px solid #c8bca9}
:is(.hft-feature,.case-feature) .hft-phase:first-child{padding-left:0}
:is(.hft-feature,.case-feature) .hft-phase:last-child{border-right:0}
:is(.hft-feature,.case-feature) .hft-phase-top{display:flex;align-items:center;gap:10px;color:#7a613c;font-size:10px;font-weight:800;letter-spacing:.095em;text-transform:uppercase}
:is(.hft-feature,.case-feature) .hft-phase-marker{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid #aa986f;border-radius:50%;font-size:10px}
:is(.hft-feature,.case-feature) .hft-phase h3{font-size:21px;letter-spacing:-.03em;line-height:1.25;font-weight:600;margin:20px 0 10px}
:is(.hft-feature,.case-feature) .hft-phase p{font-size:13px;color:#62594c;line-height:1.8;margin:0}
:is(.hft-feature,.case-feature) .hft-outcome{background:#1d261f;color:#f7f4e9;padding:88px 0;scroll-margin-top:90px}
:is(.hft-feature,.case-feature) .hft-outcome-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,8vw,126px)}
:is(.hft-feature,.case-feature) .hft-outcome .hft-section-label{color:#d7b989}
:is(.hft-feature,.case-feature) .hft-outcome h2{font-size:clamp(35px,3.7vw,53px);margin-bottom:31px}
:is(.hft-feature,.case-feature) .hft-outcome-stats{display:flex;gap:50px;border-top:1px solid rgba(255,255,255,.23);padding-top:20px}
:is(.hft-feature,.case-feature) .hft-outcome-stats div{display:flex;flex-direction:column;gap:4px}
:is(.hft-feature,.case-feature) .hft-outcome-stats strong{font-size:43px;letter-spacing:-.05em;font-weight:600;line-height:1.1}
:is(.hft-feature,.case-feature) .hft-outcome-stats span{font-size:12px;color:#d2d5ca}
:is(.hft-feature,.case-feature) .hft-outcome-copy{border-top:1px solid rgba(255,255,255,.24);padding-top:22px}
:is(.hft-feature,.case-feature) .hft-outcome-copy>p{font-size:16px;color:#d5d9d0;line-height:1.9;margin:0 0 21px}
:is(.hft-feature,.case-feature) .hft-outcome-closer{border-left:2px solid #c7ae74;padding:4px 0 4px 23px;margin-top:27px}
:is(.hft-feature,.case-feature) .hft-outcome-closer strong{font-size:14px}
:is(.hft-feature,.case-feature) .hft-outcome-closer p{font-size:13px;line-height:1.8;color:#c7d0c5;margin:8px 0 0}
:is(.hft-feature,.case-feature) .hft-next{padding:67px 0;background:var(--hf-paper)}
:is(.hft-feature,.case-feature) .hft-next-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(240px,.9fr);gap:70px;align-items:start}
:is(.hft-feature,.case-feature) .hft-next h2{font-size:clamp(28px,3.1vw,41px);line-height:1.22;letter-spacing:-.04em;font-weight:600;margin:15px 0 10px}
:is(.hft-feature,.case-feature) .hft-next p{color:#625a50;line-height:1.7;font-size:15px;max-width:580px}
:is(.hft-feature,.case-feature) .hft-next-links{border-top:1px solid var(--line)}
:is(.hft-feature,.case-feature) .hft-next-links a{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:17px 0;font-size:13px;font-weight:700}
:is(.hft-feature,.case-feature) .hft-next-links a span{color:#806b3d}
:is(.hft-feature,.case-feature) .hft-next-links a:hover{color:#80602a}
:is(.hft-feature,.case-feature) a:focus-visible{outline:3px solid #bb9656;outline-offset:4px}
@media(max-width:1100px){
:is(.hft-feature,.case-feature) .hft-hero-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.56fr);gap:36px}
:is(.hft-feature,.case-feature) .hft-hero h1{font-size:clamp(44px,5.3vw,62px)}
:is(.hft-feature,.case-feature) .hft-layout{column-gap:43px;grid-template-columns:168px minmax(0,1fr)}
:is(.hft-feature,.case-feature) .hft-challenges{gap:15px}
:is(.hft-feature,.case-feature) .hft-role{gap:22px}
}
@media(max-width:900px){
:is(.hft-feature,.case-feature) .hft-hero{padding:35px 0 57px}
:is(.hft-feature,.case-feature) .hft-breadcrumb{margin-bottom:45px}
:is(.hft-feature,.case-feature) .hft-hero-grid{grid-template-columns:1fr;gap:37px}
:is(.hft-feature,.case-feature) .hft-hero h1{font-size:clamp(43px,7vw,68px)}
:is(.hft-feature,.case-feature) .hft-scorecard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:18px 22px}
:is(.hft-feature,.case-feature) .hft-scorecard-label{grid-column:1/-1;margin:0 0 3px}
:is(.hft-feature,.case-feature) .hft-score{padding:12px 0 6px}
:is(.hft-feature,.case-feature) .hft-score strong{font-size:41px}
:is(.hft-feature,.case-feature) .hft-score strong span{font-size:17px}
:is(.hft-feature,.case-feature) .hft-profile-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
:is(.hft-feature,.case-feature) .hft-profile-item:nth-child(2){border-right:0}
:is(.hft-feature,.case-feature) .hft-profile-item:nth-child(-n+2){border-bottom:1px solid #d5cdbf}
:is(.hft-feature,.case-feature) .hft-profile-item:nth-child(3){padding-left:0}
:is(.hft-feature,.case-feature) .hft-layout{display:block;padding-top:42px}
:is(.hft-feature,.case-feature) .hft-aside{position:static;margin-bottom:62px}
:is(.hft-feature,.case-feature) .hft-anchor-nav{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
:is(.hft-feature,.case-feature) .hft-aside-label{width:100%;margin:0 0 3px}
:is(.hft-feature,.case-feature) .hft-anchor-nav a{border:1px solid #ddd4c6;background:#f7f3eb;padding:8px 12px;font-size:11px}
:is(.hft-feature,.case-feature) .hft-aside-note{display:none}
:is(.hft-feature,.case-feature) .hft-content{max-width:none}
:is(.hft-feature,.case-feature) .hft-journey-heading{grid-template-columns:1fr;gap:18px}
:is(.hft-feature,.case-feature) .hft-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
:is(.hft-feature,.case-feature) .hft-phase:nth-child(2){border-right:0}
:is(.hft-feature,.case-feature) .hft-phase:nth-child(-n+2){border-bottom:1px solid #c8bca9;padding-bottom:20px}
:is(.hft-feature,.case-feature) .hft-phase:nth-child(3){padding-left:0}
:is(.hft-feature,.case-feature) .hft-outcome-grid{grid-template-columns:1fr;gap:35px}
}
@media(max-width:620px){
:is(.hft-feature,.case-feature) .hft-hero{padding:24px 0 46px}
:is(.hft-feature,.case-feature) .hft-breadcrumb{font-size:11px;margin-bottom:35px}
:is(.hft-feature,.case-feature) .hft-hero h1{font-size:clamp(38px,10vw,52px);line-height:1.11;margin:17px 0 20px}
:is(.hft-feature,.case-feature) .hft-deck{font-size:16px}
:is(.hft-feature,.case-feature) .hft-hero-actions{gap:19px}
:is(.hft-feature,.case-feature) .hft-scorecard{grid-template-columns:1fr;gap:0}
:is(.hft-feature,.case-feature) .hft-score{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:12px}
:is(.hft-feature,.case-feature) .hft-score strong{font-size:37px}
:is(.hft-feature,.case-feature) .hft-score p{margin:0}
:is(.hft-feature,.case-feature) .hft-profile-inner{grid-template-columns:1fr}
:is(.hft-feature,.case-feature) .hft-profile-item,:is(.hft-feature,.case-feature) .hft-profile-item:first-child,:is(.hft-feature,.case-feature) .hft-profile-item:nth-child(3){padding:14px 0;border-right:0;border-bottom:1px solid #d5cdbf}
:is(.hft-feature,.case-feature) .hft-profile-item:last-child{border:0}
:is(.hft-feature,.case-feature) .hft-profile-item span{margin-bottom:1px}
:is(.hft-feature,.case-feature) .hft-layout{padding-top:27px}
:is(.hft-feature,.case-feature) .hft-aside{margin-bottom:43px}
:is(.hft-feature,.case-feature) .hft-section{padding-bottom:42px;margin-bottom:48px}
:is(.hft-feature,.case-feature) .hft-section h2,:is(.hft-feature,.case-feature) .hft-journey h2,:is(.hft-feature,.case-feature) .hft-outcome h2{font-size:clamp(30px,8vw,39px)}
:is(.hft-feature,.case-feature) .hft-section>p{font-size:15px;line-height:1.8}
:is(.hft-feature,.case-feature) .hft-section>p.hft-lead{font-size:16px}
:is(.hft-feature,.case-feature) .hft-challenges{grid-template-columns:1fr;gap:22px}
:is(.hft-feature,.case-feature) .hft-challenges>div{padding-top:16px}
:is(.hft-feature,.case-feature) .hft-role-header{display:none}
:is(.hft-feature,.case-feature) .hft-role{grid-template-columns:1fr;gap:14px;padding:22px 0}
:is(.hft-feature,.case-feature) .hft-role h3{font-size:22px;margin-top:6px}
:is(.hft-feature,.case-feature) .hft-appointment-note{grid-template-columns:1fr;gap:8px;padding:19px}
:is(.hft-feature,.case-feature) .hft-method-grid{grid-template-columns:1fr;gap:24px}
:is(.hft-feature,.case-feature) .hft-journey,:is(.hft-feature,.case-feature) .hft-outcome{padding:58px 0}
:is(.hft-feature,.case-feature) .hft-timeline{grid-template-columns:1fr;margin-top:28px}
:is(.hft-feature,.case-feature) .hft-phase,:is(.hft-feature,.case-feature) .hft-phase:first-child,:is(.hft-feature,.case-feature) .hft-phase:nth-child(3){padding:17px 0 23px;border-right:0;border-bottom:1px solid #c8bca9}
:is(.hft-feature,.case-feature) .hft-phase:last-child{border-bottom:0;padding-bottom:0}
:is(.hft-feature,.case-feature) .hft-phase h3{margin:12px 0 6px}
:is(.hft-feature,.case-feature) .hft-outcome-stats strong{font-size:35px}
:is(.hft-feature,.case-feature) .hft-next{padding:52px 0}
:is(.hft-feature,.case-feature) .hft-next-grid{grid-template-columns:1fr;gap:24px}
}
@media(prefers-reduced-motion:reduce){:is(.hft-feature,.case-feature) .hft-anchor-nav a{transition:none}}

/* Shared case detail adjustments */
.case-feature .hft-word-stat{font-size:clamp(26px,3vw,39px)!important;letter-spacing:-.04em!important}
.case-feature .hft-scorecard .hft-score{min-width:0}
.case-feature .hft-role-detail{min-width:0}
.case-feature .hft-next-links a{line-height:1.6}

/* Case study collection: same editorial vocabulary, no duplicated top ribbon */
.case-library .case-library-hero{background:#19231e;color:#f8f6ef;padding:44px 0 85px}
.case-library .hft-breadcrumb{font-size:12px;display:flex;align-items:center;gap:12px;color:#c9c6b7;margin-bottom:78px}
.case-library .hft-breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}
.case-library .hft-eyebrow{color:#dcc18d;font-size:11px;letter-spacing:.13em;font-weight:700;display:flex;align-items:center;gap:13px}
.case-library .hft-kicker-rule{height:1px;width:28px;background:#d0b580}
.case-library .case-library-hero-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(245px,.64fr);gap:clamp(40px,7vw,110px);align-items:end}
.case-library .case-library-hero h1{font-size:clamp(49px,5.45vw,77px);font-weight:600;letter-spacing:-.054em;line-height:1.065;margin:22px 0 27px}
.case-library .case-library-hero-grid>div>p{color:#d3d8ce;line-height:1.77;font-size:18px;max-width:775px;margin:0}
.case-library .case-library-context{border-top:1px solid rgba(255,255,255,.28);padding-top:21px}
.case-library .case-library-context>span{font-size:10px;font-weight:700;letter-spacing:.12em;color:#ddc491}
.case-library .case-library-context p{font-size:13px;color:#d1d4c7;line-height:1.68;border-bottom:1px solid rgba(255,255,255,.13);padding:12px 0;margin:0}
.case-library .case-library-body{padding:90px 0 110px}
.case-library .case-library-section-head{max-width:880px;margin-bottom:46px}
.case-library .hft-section-label{font-size:11px;letter-spacing:.12em;color:#8c6d38;font-weight:700}
.case-library .case-library-section-head h2{font-size:clamp(31px,3.5vw,49px);font-weight:600;line-height:1.16;letter-spacing:-.044em;max-width:760px;margin:13px 0 14px}
.case-library .case-library-section-head p{font-size:15px;color:#635d51;line-height:1.73;margin:0}
.case-library .case-library-entry{border-top:1px solid #ccc4b4;display:grid;grid-template-columns:185px minmax(0,1fr);gap:clamp(30px,4.8vw,70px);padding:42px 0 52px}
.case-library .case-library-entry:last-child{border-bottom:1px solid #ccc4b4}
.case-library .case-library-entry-number{display:flex;flex-direction:column;gap:17px}
.case-library .case-library-entry-number>span{font-size:57px;line-height:1.04;letter-spacing:-.06em;color:#9d8252;font-weight:600}
.case-library .case-library-entry-number>small{font-size:10px;letter-spacing:.12em;color:#806638;font-weight:800;line-height:1.6}
.case-library .case-library-facts{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-bottom:14px}
.case-library .case-library-facts span{font-size:11px;letter-spacing:.03em;font-weight:700;padding:6px 12px;border:1px solid #bdb4a3;color:#514939}
.case-library .case-library-entry h3{font-size:clamp(29px,3.2vw,43px);font-weight:600;letter-spacing:-.043em;line-height:1.17;margin:0 0 16px}
.case-library .case-library-entry-main>p{font-size:16px;color:#575148;line-height:1.82;max-width:820px;margin:0 0 27px}
.case-library .case-library-focus{border-top:1px solid #ded8cc;padding-top:15px;margin-bottom:21px}
.case-library .case-library-focus>span,.case-library .case-library-impact>span{font-size:10px;font-weight:800;letter-spacing:.11em;color:#866c41}
.case-library .case-library-focus>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.case-library .case-library-focus>div>span{font-size:12px;line-height:1.45;color:#514d44;padding:8px 11px;background:#f1ede5}
.case-library .case-library-impact{display:grid;grid-template-columns:135px 1fr;gap:14px;border-top:1px solid #ded8cc;padding-top:15px}
.case-library .case-library-impact p{font-size:14px;line-height:1.62;color:#34352f;margin:0}
.case-library .case-library-link{display:inline-flex;gap:13px;margin-top:22px;font-size:13px;font-weight:700;align-items:center;color:#795c26;text-decoration:underline;text-underline-offset:4px}
.case-library .case-library-link:hover{color:#302a1e}
.case-library .case-library-bottom{background:#f0ebe1;padding:78px 0}
.case-library .case-library-bottom-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(45px,8vw,110px);align-items:start}
.case-library .case-library-bottom h2{font-size:clamp(31px,3.4vw,46px);letter-spacing:-.044em;line-height:1.16;margin:12px 0 16px}
.case-library .case-library-bottom p{font-size:15px;line-height:1.78;color:#5b5449;max-width:690px}
.case-library .case-library-bottom-links{border-top:1px solid #c7bdab}
.case-library .case-library-bottom-links a{display:flex;justify-content:space-between;gap:16px;padding:20px 0;border-bottom:1px solid #c7bdab;font-size:13px;font-weight:700;line-height:1.6}
.case-library .case-library-bottom-links a:hover{color:#836b3d}
@media(max-width:1000px){
 .case-library .case-library-hero-grid{gap:35px}
 .case-library .case-library-entry{grid-template-columns:125px 1fr}
}
@media(max-width:760px){
 .case-library .case-library-hero{padding:38px 0 64px}
 .case-library .hft-breadcrumb{margin-bottom:52px}
 .case-library .case-library-hero-grid{grid-template-columns:1fr;gap:34px}
 .case-library .case-library-hero h1{font-size:clamp(43px,8vw,59px)}
 .case-library .case-library-context{max-width:640px}
 .case-library .case-library-body{padding:66px 0 78px}
 .case-library .case-library-entry{grid-template-columns:75px 1fr;gap:23px}
 .case-library .case-library-entry-number>span{font-size:48px}
 .case-library .case-library-bottom-grid{grid-template-columns:1fr;gap:30px}
}
@media(max-width:520px){
 .case-library .case-library-hero{padding:25px 0 53px}
 .case-library .hft-breadcrumb{margin-bottom:36px}
 .case-library .case-library-hero h1{font-size:clamp(39px,10vw,49px)}
 .case-library .case-library-hero-grid>div>p{font-size:16px}
 .case-library .case-library-body{padding:50px 0 66px}
 .case-library .case-library-section-head{margin-bottom:27px}
 .case-library .case-library-entry{display:block;padding:30px 0 39px}
 .case-library .case-library-entry-number{flex-direction:row;align-items:center;gap:15px;margin-bottom:19px}
 .case-library .case-library-entry-number>span{font-size:39px}
 .case-library .case-library-entry-number>small{font-size:10px}
 .case-library .case-library-entry h3{font-size:31px}
 .case-library .case-library-entry-main>p{font-size:15px}
 .case-library .case-library-impact{grid-template-columns:1fr;gap:7px}
 .case-library .case-library-bottom{padding:52px 0}
}

/* Case-study editorial quality: evenly spaced modules and comfortable line lengths. */
:is(.hft-feature,.case-feature,.case-library) :is(h1,h2,h3){text-wrap:balance}
:is(.hft-feature,.case-feature,.case-library) p{text-wrap:pretty;orphans:2;widows:2}
:is(.hft-feature,.case-feature) .hft-hero-grid>*{min-width:0}
:is(.hft-feature,.case-feature) .hft-scorecard{min-width:0}
:is(.hft-feature,.case-feature) .hft-score{min-width:0}
:is(.hft-feature,.case-feature) .hft-score p{max-width:32ch}
:is(.hft-feature,.case-feature) .hft-profile-inner{align-items:stretch}
:is(.hft-feature,.case-feature) .hft-profile-item{display:flex;flex-direction:column;justify-content:center;min-height:92px}
:is(.hft-feature,.case-feature) .hft-profile-item strong{overflow-wrap:normal;line-height:1.55}
:is(.hft-feature,.case-feature) .hft-section>p{max-width:72ch}
:is(.hft-feature,.case-feature) .hft-section>p.hft-lead{max-width:69ch}
:is(.hft-feature,.case-feature) .hft-section h2{max-width:27ch}
:is(.hft-feature,.case-feature) .hft-challenges{align-items:stretch}
:is(.hft-feature,.case-feature) .hft-challenges>div{display:flex;flex-direction:column;min-width:0}
:is(.hft-feature,.case-feature) .hft-challenges h3{min-height:2.7em;margin-bottom:9px}
:is(.hft-feature,.case-feature) .hft-challenges p{line-height:1.78}
:is(.hft-feature,.case-feature) .hft-role{align-items:start}
:is(.hft-feature,.case-feature) .hft-role-identity,:is(.hft-feature,.case-feature) .hft-role-detail{min-width:0}
:is(.hft-feature,.case-feature) .hft-role-detail>p{max-width:69ch;line-height:1.82}
:is(.hft-feature,.case-feature) .hft-role-focus{margin-top:17px}
:is(.hft-feature,.case-feature) .hft-role-focus p{max-width:67ch}
:is(.hft-feature,.case-feature) .hft-method-grid{align-items:stretch}
:is(.hft-feature,.case-feature) .hft-method{min-width:0;display:flex;flex-direction:column}
:is(.hft-feature,.case-feature) .hft-method h3{min-height:2.63em;margin-bottom:12px}
:is(.hft-feature,.case-feature) .hft-method p{max-width:42ch}
:is(.hft-feature,.case-feature) .hft-timeline{align-items:stretch}
:is(.hft-feature,.case-feature) .hft-phase{min-width:0;display:flex;flex-direction:column}
:is(.hft-feature,.case-feature) .hft-phase h3{min-height:2.5em}
:is(.hft-feature,.case-feature) .hft-phase p{max-width:37ch}
:is(.hft-feature,.case-feature) .hft-outcome-copy>p{max-width:70ch}
:is(.hft-feature,.case-feature) .hft-next-grid>*{min-width:0}
.case-library .case-library-hero-grid>*{min-width:0}
.case-library .case-library-context p{line-height:1.75}
.case-library .case-library-entry-main{min-width:0}
.case-library .case-library-entry-main>p{max-width:70ch}
.case-library .case-library-focus>div{align-items:stretch}
.case-library .case-library-focus>div>span{display:inline-flex;align-items:center}
.case-library .case-library-impact p{max-width:75ch}
.case-library .case-library-bottom-grid>*{min-width:0}
@media(max-width:900px){
 :is(.hft-feature,.case-feature) .hft-challenges h3{min-height:0}
 :is(.hft-feature,.case-feature) .hft-method h3{min-height:0}
 :is(.hft-feature,.case-feature) .hft-phase h3{min-height:0}
 :is(.hft-feature,.case-feature) .hft-profile-item{min-height:88px}
}
@media(max-width:620px){
 :is(.hft-feature,.case-feature) .hft-scorecard{gap:0}
 :is(.hft-feature,.case-feature) .hft-profile-item{min-height:0}
 :is(.hft-feature,.case-feature) .hft-role{gap:15px}
 :is(.hft-feature,.case-feature) .hft-section{padding-bottom:41px;margin-bottom:46px}
 :is(.hft-feature,.case-feature) .hft-method-grid{gap:24px}
 :is(.hft-feature,.case-feature) .hft-phase{min-height:0}
 .case-library .case-library-focus>div>span{font-size:11px}
}

/* Comfortable tap targets and legible labels on small screens. */
@media(max-width:900px){
 :is(.hft-feature,.case-feature) .hft-anchor-nav a{min-height:44px;display:inline-flex;align-items:center}
}
@media(max-width:620px){
 :is(.hft-feature,.case-feature) .hft-role-identity>span,
 :is(.hft-feature,.case-feature) .hft-role-focus>span,
 :is(.hft-feature,.case-feature) .hft-profile-item span,
 .case-library .case-library-entry-number>small,
 .case-library .case-library-focus>span,
 .case-library .case-library-impact>span{font-size:11px}
 :is(.hft-feature,.case-feature) .hft-anchor-nav a{font-size:12px}
 :is(.hft-feature,.case-feature) .hft-method p{font-size:14px}
 .case-library .case-library-facts span{font-size:11px;line-height:1.6}
}

/* Accessible contrast in small typography on warm editorial backgrounds. */
:is(.hft-feature,.case-feature) .hft-journey .hft-section-label{color:#6b4e20}
:is(.hft-feature,.case-feature) .hft-method-number{color:#765a2a}
.case-library .case-library-bottom .hft-section-label{color:#654d22}
.case-library .case-library-entry-number>small{color:#654d22}
:is(.hft-feature,.case-feature) .hft-journey :focus-visible,
.case-library .case-library-hero :focus-visible{outline-color:#ddc28a}

/* Clear, restrained anonymization disclosure on every case-study entry point. */
.case-library .case-library-hero .case-confidentiality{max-width:750px;color:#ddd8c9;font-size:13px;line-height:1.74;border-left:2px solid #c7aa77;padding:10px 0 10px 17px;margin:25px 0 0}
.case-library .case-library-hero .case-confidentiality strong{color:#f7eacb;font-weight:700}
:is(.hft-feature,.case-feature) .hft-hero .hft-confidentiality{max-width:700px;color:#d5d1c3;font-size:12px;line-height:1.65;letter-spacing:0;margin:19px 0 0}
:is(.hft-feature,.case-feature) .hft-hero .hft-confidentiality strong{color:#e9d4a8;font-weight:700}
@media(max-width:620px){
 .case-library .case-library-hero .case-confidentiality{font-size:12px;padding-left:12px;margin-top:20px}
 :is(.hft-feature,.case-feature) .hft-hero .hft-confidentiality{font-size:12px;margin-top:15px}
}
