/* Shared phase 5 corrections: clean surfaces, selectable cards, editorial reading. */
[data-cv-card]{cursor:inherit;position:relative;isolation:isolate}
[data-cv-card] :is(p,dd,dt,h2,h3){user-select:text}
.cv-service-card-link::after{content:none!important}
.cv-service-card:focus-within{outline:2px solid var(--cv-yellow,#f6c511);outline-offset:4px}
.cv-case-card:focus-within,.cv-article-card:focus-within{outline:2px solid #222;outline-offset:4px}
.cv-service-card .cv-service-card-link:focus-visible{outline:2px solid var(--cv-yellow);outline-offset:4px}
.cv-service-flow>.cv-landing-details:first-child{padding-top:64px}
.cv-flow-steps .cv-landing-detail-body>p:only-of-type{padding-left:0;counter-increment:none}
.cv-flow-steps .cv-landing-detail-body>p:only-of-type::before{content:none}
.cv-flow-result,.cv-cx-cost,.cv-project-estimate,.cv-material-contact{background:#1f1f1f}
.cv-service-card,.cv-service-card--featured,.cv-catalogue-grid .cv-service-card--featured{background:#1f1f1f}
.cv-material-hero{max-width:1536px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.cv-material-hero h1,.cv-material-hero--case h1{font-size:clamp(29px,2.8vw,43px)}
.cv-material-hero .cv-material-cover{margin:0;max-height:620px;object-fit:contain}
.cv-material-story{padding-block:80px 96px}
.cv-material-body{grid-template-columns:280px minmax(0,800px);gap:56px;max-width:1280px}
.cv-material-prose{font-size:20px;line-height:1.8}
.cv-material-prose p{margin-block:24px}
.cv-material-prose>h2:first-child+p{font-size:22px;line-height:1.75;margin-bottom:42px}
.cv-material-prose h2{font-size:clamp(27px,2.2vw,34px);margin-block:72px 26px}
.cv-material-prose h3{font-size:24px;margin-block:44px 22px}
.cv-material-prose li{margin-bottom:16px}
.cv-material-prose :is(th,td){font-size:16px;padding:16px}
.cv-material-prose figcaption,.cv-chart-source{font-size:14px;line-height:1.7}
.cv-material-metric p{font-size:16px;line-height:1.65}.cv-material-metric strong{font-size:42px}
.cv-material-prose .cv-process-flow>li{font-size:18px;padding:26px;line-height:1.7}
.cv-material-toc{align-self:start;font-size:16px;line-height:1.6;padding:16px 8px 16px 0;max-height:calc(100svh - var(--cv-pin-top,124px) - 24px)}
.cv-material-toc summary{padding:6px 10px}.cv-material-toc ol{list-style:none;padding:0;margin:12px 0}
.cv-material-toc li{margin:0 0 4px}.cv-material-toc .cv-toc-level-3{font-size:14px;margin-left:14px}
.cv-material-toc a{display:block;padding:7px 10px;border-left:3px solid transparent;text-decoration:none;color:#555}
.cv-material-toc a:hover{color:#111;background:#f5f6f7;text-decoration:none}
.cv-material-toc a[aria-current="location"]{color:#111;background:#f1f2f4;border-left-color:var(--cv-yellow,#f6c511)}
.cv-toc-current{display:none}
.cv-material-tail{margin:0!important}.cv-material-page{padding-bottom:0}
.cv-material-bridge,.cv-material-contact-band{padding:72px 0;background:#000;color:#f5f7fa}
.cv-material-bridge h2,.cv-material-contact-band h2,.cv-material-recommendations h2{font-size:clamp(27px,2.5vw,38px);font-weight:400;line-height:1.45;text-transform:uppercase;margin:0 0 30px}
.cv-material-contact-band .cv-container{max-width:1280px}
.cv-material-contact-band p{font-size:20px;line-height:1.8;max-width:720px;margin-bottom:28px;color:#c7c7c7}
.cv-material-bridge .cv-material-contact-band{padding:64px 0 0;border-top:1px solid #333;margin-top:64px}
.cv-material-bridge .cv-material-contact-band .cv-container{width:100%;margin:0}
.cv-material-recommendations{padding:72px 0;background:var(--cv-paper,#f5f7fa);color:#111}
.cv-material-recommendations .cv-cases-grid,.cv-material-recommendations .cv-articles-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none;gap:28px}
.cv-material-recommendations :is(.cv-case-card,.cv-article-card) :is(h2,h3){font-size:22px;line-height:1.55;font-weight:400;text-transform:none;margin:14px 0}
.cv-material-recommendations :is(.cv-case-card,.cv-article-card) p{font-size:16px;line-height:1.7}
.cv-material-recommendations .cv-article-meta{font-size:13px}
@media(max-width:1179px){.cv-material-hero{gap:32px}.cv-material-hero h1,.cv-material-hero--case h1{font-size:30px}.cv-material-body{grid-template-columns:230px minmax(0,1fr);gap:32px}.cv-material-recommendations :is(.cv-articles-grid,.cv-cases-grid){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.cv-material-hero{grid-template-columns:1fr}.cv-material-hero .cv-material-cover{max-height:none}.cv-material-body{display:block}.cv-material-toc{position:sticky;top:var(--cv-pin-top,124px);z-index:5;background:#fff;max-height:min(42svh,360px);border:1px solid #d8d8d8;border-radius:8px;padding:8px;margin-bottom:32px;font-size:15px;box-shadow:0 3px 10px #00000008}.cv-material-toc summary{padding:4px 8px;cursor:pointer}.cv-toc-current{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:12px;line-height:1.5;font-weight:400;color:#555;margin:4px 0 0}.cv-material-toc .cv-toc-level-3{font-size:14px}.cv-recommend-grid--single>article .cv-case-copy{padding-top:22px}}
@media(max-width:600px){.cv-service-flow>.cv-landing-details:first-child{padding-top:36px}.cv-flow-steps .cv-landing-detail-body>p:only-of-type{padding-left:0}.cv-material-hero h1{font-size:27px}.cv-material-hero--case h1{font-size:clamp(22px,5.8vw,28px)}.cv-material-story{padding-block:40px 48px}.cv-material-prose{font-size:18px;line-height:1.8}.cv-material-prose>h2:first-child+p{font-size:19px}.cv-material-prose h2{font-size:25px;margin-top:54px}.cv-material-prose h3{font-size:22px}.cv-material-prose :is(th,td){font-size:15px;padding:12px}.cv-material-prose .cv-process-flow>li{font-size:17px;padding:22px}.cv-material-metric strong{font-size:36px}.cv-material-bridge,.cv-material-contact-band,.cv-material-recommendations{padding-block:44px}.cv-material-bridge .cv-material-contact-band{margin-top:44px;padding-top:40px}.cv-material-contact-band p{font-size:18px}.cv-material-recommendations :is(.cv-articles-grid,.cv-cases-grid){grid-template-columns:1fr}.cv-material-recommendations :is(.cv-case-card,.cv-article-card) :is(h2,h3){font-size:20px}.cv-material-recommendations .cv-article-meta{font-size:12px}}
@media(max-width:800px){.cv-toc-current{display:block;white-space:nowrap;text-overflow:ellipsis;-webkit-line-clamp:unset;min-height:18px}}
/* One external grid for the hero, contents and story, with readable inner text. */
.cv-material-story{padding-inline:0}
.cv-material-hero,.cv-material-body{width:min(1536px,calc(100% - var(--cv-gutter)*2));max-width:none;margin-inline:auto}
.cv-material-body{grid-template-columns:clamp(250px,22vw,336px) minmax(0,1fr);gap:56px;justify-content:initial}
.cv-material-hero,.cv-material-body{grid-template-columns:repeat(12,minmax(0,1fr))}
.cv-material-hero-copy,.cv-material-media{grid-column:span 6;min-width:0}
.cv-material-toc{grid-column:span 3}.cv-material-prose{grid-column:span 9}
.cv-material-prose>:is(p,ul,ol){max-width:800px}
.cv-material-recommendations :is(.cv-cases-grid,.cv-articles-grid){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;max-width:none}
.cv-material-recommendations :is(.cv-case-card,.cv-article-card){display:block;margin:0;max-width:none}
.cv-material-recommendations :is(.cv-case-card,.cv-article-card) :is(h2,h3){font-size:18px;line-height:1.6}
.cv-material-recommendations .cv-case-card :is(h2,h3){font-size:21px}
.cv-material-recommendations :is(.cv-case-card,.cv-article-card) p{font-size:14px;line-height:1.65}
@media(max-width:1179px){.cv-material-body{grid-template-columns:repeat(12,minmax(0,1fr));gap:32px}.cv-material-toc{grid-column:span 4}.cv-material-prose{grid-column:span 8}.cv-material-recommendations :is(.cv-cases-grid,.cv-articles-grid){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.cv-material-hero{grid-template-columns:1fr}.cv-material-hero-copy,.cv-material-media{grid-column:1}.cv-material-body{display:block}}
@media(max-width:600px){.cv-material-recommendations :is(.cv-cases-grid,.cv-articles-grid){grid-template-columns:1fr}}
.cv-company-footer-links{display:flex;gap:24px;flex-wrap:wrap;padding-top:26px;font-size:14px}
[data-cv-carousel]:is(.cv-cases,.cv-articles){--cv-carousel-visible:4}
@media(max-width:1179px){[data-cv-carousel]:is(.cv-cases,.cv-articles){--cv-carousel-visible:2}}
@media(max-width:600px){[data-cv-carousel]:is(.cv-cases,.cv-articles){--cv-carousel-visible:1}}
@media(max-width:600px){.cv-company-footer-links{display:grid;gap:14px}}
