/* Content hubs and company page. All selectors are scoped to custom templates. */
.ct-hub-page { padding-top: var(--header-height); background: #fff; }
.ct-page-hero { position: relative; padding: 86px 0 82px; overflow: hidden; }
.ct-page-hero .container.narrow { width: min(calc(100% - 48px), 1040px); }
.ct-page-hero::after {
  content: "";
  position: absolute;
  right: max(24px, calc((100vw - var(--container)) / 2));
  bottom: -95px;
  width: 260px;
  height: 260px;
  border: 1px solid rgba(144, 125, 56, .24);
  border-radius: 50%;
  box-shadow: 0 0 0 36px rgba(201, 192, 161, .12), 0 0 0 72px rgba(201, 192, 161, .08);
}
.ct-page-hero .container { position: relative; z-index: 1; }
.ct-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 64px; color: #858585; font-size: 10px; }
.ct-breadcrumb a:hover { color: var(--red); }
.ct-page-hero h1 { max-width: 980px; margin: 0 0 24px; font-size: clamp(38px, 4.6vw, 60px); line-height: 1.27; font-weight: 480; letter-spacing: .02em; }
.ct-page-lead { max-width: 800px; margin: 0; color: #606060; font-size: 16px; line-height: 1.9; }
.ct-page-lead-stack { display: grid; gap: 6px; }
.ct-page-lead-stack p { margin: 0; }
.ct-page-hero-cta { margin-top: 28px; }

.ct-service-index-page > .ct-detail-section:first-of-type,
.ct-service-detail-page .service-canonical-content > .ct-detail-section:first-child { border-radius: var(--radius-xl) var(--radius-xl) 0 0; }

.ct-listing-section, .ct-feature-section, .ct-company-main { padding: 92px 0 110px; }
.ct-listing-section { background: var(--soft); border-radius: var(--radius-xl) var(--radius-xl) 0 0; }
.ct-content-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 22px; }
.ct-content-card { min-width: 0; overflow: hidden; border-radius: 10px; background: #fff; box-shadow: 0 8px 32px rgba(0, 0, 0, .045); }
.ct-content-card__link { display: flex; flex-direction: column; height: 100%; }
.ct-content-card__image { overflow: hidden; background: #eee; }
.ct-content-card__image img { aspect-ratio: 16 / 10; object-fit: cover; transition: transform .5s ease; }
.ct-content-card:hover .ct-content-card__image img { transform: scale(1.045); }
.ct-content-card__body { display: flex; flex: 1; flex-direction: column; padding: 24px 24px 26px; }
.ct-content-card__meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 7px; margin-bottom: 14px; color: #878787; font-size: 11px; }
.ct-content-card__meta span { padding: 2px 7px; border: 1px solid #ddd; }
.ct-content-card h2 { margin: 0 0 12px; font-size: 20px; line-height: 1.55; font-weight: 600; }
.ct-content-card__body > p { margin: 0 0 22px; color: #6f6f6f; font-size: 14px; line-height: 1.85; }
.ct-content-card__more { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 15px; border-top: 1px solid var(--line); color: #777; font-size: 11px; letter-spacing: .08em; }
.ct-content-card__more i { display: grid; width: 26px; aspect-ratio: 1; place-items: center; border-radius: 50%; color: #fff; background: var(--red); font-style: normal; }
.ct-empty { padding: 48px; border: 1px solid #e5e5e5; border-radius: 12px; background: #fff; text-align: center; }
.ct-empty strong { font-size: 22px; font-weight: 600; }
.ct-empty p { margin: 10px 0 0; color: #777; font-size: 14px; line-height: 1.8; }
.ct-pagination { display: flex; justify-content: center; margin-top: 52px; }
.ct-pagination .page-numbers { display: inline-grid; min-width: 38px; height: 38px; margin: 0 3px; place-items: center; border: 1px solid #ddd; border-radius: 50%; font-size: 11px; }
.ct-pagination .current, .ct-pagination a:hover { border-color: var(--red); color: #fff; background: var(--red); }

/* Purpose-led Guide hub. */
.ct-guide-hub .container.narrow { width: min(calc(100% - 48px), 1120px); }
.ct-guide-hero { background: #fff; }
.ct-guide-section { padding: 92px 0 100px; }
.ct-guide-section-heading { max-width: 760px; margin: 0 0 38px; }
.ct-guide-section-heading h2 { margin: 0; color: #2d2d29; font-size: clamp(28px, 3.5vw, 42px); line-height: 1.4; font-weight: 550; }
.ct-guide-section-heading > p:last-child:not(.eyebrow) { margin: 14px 0 0; color: #6b6b65; font-size: 14px; line-height: 1.85; }
.ct-guide-featured { border-radius: var(--radius-xl) var(--radius-xl) 0 0; background: #f7f6f1; }
.ct-guide-feature-grid { display: grid; gap: 16px; }
.ct-guide-feature-card { overflow: hidden; border: 1px solid rgba(144, 125, 56, .16); border-radius: 15px; background: #fff; box-shadow: 0 10px 34px rgba(42, 38, 24, .045); }
.ct-guide-feature-card > a { min-height: 168px; display: grid; grid-template-columns: 66px minmax(0, 1fr) 38px; align-items: center; gap: 26px; padding: 28px 32px; }
.ct-guide-feature-card__number { color: var(--gold-main); font-family: "Helvetica Neue", Arial, sans-serif; font-size: 33px; font-weight: 650; }
.ct-guide-feature-card small { color: var(--gold-main); font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.ct-guide-feature-card h3 { margin: 7px 0 8px; font-size: clamp(20px, 2.2vw, 27px); line-height: 1.55; font-weight: 600; }
.ct-guide-feature-card p { margin: 0; color: #6c6c66; font-size: 12px; line-height: 1.8; }
.ct-guide-feature-card i { width: 38px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--gold-main); font-style: normal; transition: transform .25s ease; }
.ct-guide-feature-card:hover i { transform: translateX(4px); }
.ct-guide-steps { background: #fff; }
.ct-guide-steps ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.ct-guide-steps li { min-width: 0; }
.ct-guide-steps a { position: relative; min-height: 225px; display: flex; flex-direction: column; padding: 28px 26px; border: 1px solid #e5e2d8; border-radius: 14px; background: #fff; }
.ct-guide-steps a > span { color: var(--gold-main); font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.ct-guide-steps h3 { margin: 26px 0 10px; font-size: 21px; line-height: 1.45; font-weight: 600; }
.ct-guide-steps p { margin: 0; color: #707069; font-size: 12px; line-height: 1.75; }
.ct-guide-steps i { width: 30px; aspect-ratio: 1; display: grid; place-items: center; align-self: flex-end; margin-top: auto; border-radius: 50%; color: #fff; background: var(--gold-main); font-style: normal; }
.ct-guide-topics { background: #2b2b27; }
.ct-guide-topics .ct-guide-section-heading h2 { color: #fff; }
.ct-guide-topic-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ct-guide-topic-grid > a { min-height: 230px; display: flex; flex-direction: column; padding: 29px 27px; border: 1px solid rgba(255, 255, 255, .13); border-radius: 14px; color: #fff; background: rgba(255, 255, 255, .035); }
.ct-guide-topic-grid small { color: var(--gold-sub); font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.ct-guide-topic-grid h3 { margin: 25px 0 9px; color: #fff; font-size: 20px; line-height: 1.5; font-weight: 600; }
.ct-guide-topic-grid p { margin: 0; color: #c3c2ba; font-size: 12px; line-height: 1.75; }
.ct-guide-topic-grid span { display: flex; justify-content: space-between; margin-top: auto; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .12); color: #dedbd0; font-size: 11px; }
.ct-guide-topic-grid i { color: var(--gold-sub); font-style: normal; }
.ct-guide-business { background: #f7f6f1; }
.ct-guide-business-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ct-guide-business-grid > a { min-height: 190px; display: flex; flex-direction: column; padding: 27px 26px; border: 1px solid rgba(144, 125, 56, .16); border-radius: 14px; background: #fff; }
.ct-guide-business-grid h3 { margin: 0 0 11px; font-size: 21px; font-weight: 600; }
.ct-guide-business-grid p { margin: 0; color: #6d6d67; font-size: 12px; line-height: 1.8; }
.ct-guide-business-grid span { display: flex; justify-content: space-between; margin-top: auto; color: var(--gold-main); font-size: 11px; font-weight: 700; }
.ct-guide-business-grid i { font-style: normal; }
.ct-guide-latest .ct-guide-section-heading { margin-bottom: 38px; }
.ct-guide-hub-cta { padding: 92px 0 100px; color: #fff; text-align: center; background: #2b2b27; }
.ct-guide-hub-cta h2 { max-width: 850px; margin: 0 auto 16px; color: #fff; font-size: clamp(29px, 4vw, 47px); line-height: 1.5; font-weight: 520; }
.ct-guide-hub-cta .container > p:not(.eyebrow) { max-width: 720px; margin: 0 auto 28px; color: #cccac1; font-size: 14px; line-height: 1.9; }
.ct-guide-hub-cta .container > div { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.ct-guide-hub-cta a { min-height: 56px; display: inline-flex; align-items: center; justify-content: center; gap: 20px; padding: 10px 25px; border: 1px solid var(--gold-main); border-radius: 999px; color: #fff; background: var(--gold-main); font-size: 12px; font-weight: 700; }
.ct-guide-hub-cta a.is-secondary { background: transparent; }

.ct-case-guide-link { margin-top: 30px; padding: clamp(28px, 4vw, 42px); border: 1px solid rgba(144, 125, 56, .2); border-radius: 16px; background: #fff; }
.ct-case-guide-link > p { margin: 0 0 10px; color: var(--gold-main); font-size: 9px; font-weight: 800; letter-spacing: .15em; }
.ct-case-guide-link h2 { margin: 0 0 18px; font-size: clamp(22px, 3vw, 30px); font-weight: 600; }
.ct-case-guide-link a { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding-top: 18px; border-top: 1px solid #e7e4da; color: #33332e; font-size: 14px; font-weight: 700; line-height: 1.7; }
.ct-case-guide-link a span { color: var(--gold-main); font-size: 18px; }

.ct-media-navigation { padding: 90px 0; background: var(--soft); border-radius: var(--radius-xl) var(--radius-xl) 0 0; }
.ct-media-navigation__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ct-media-channel { position: relative; min-height: 310px; padding: 42px; overflow: hidden; border-radius: 16px; color: #fff; background: #272727; }
.ct-media-channel.is-guide { color: var(--text); background: #fff; box-shadow: 0 10px 44px rgba(0, 0, 0, .06); }
.ct-media-channel > span { position: absolute; right: 25px; top: 10px; color: rgba(255, 255, 255, .07); font-size: 120px; line-height: 1; font-weight: 800; }
.ct-media-channel.is-guide > span { color: rgba(201, 192, 161, .18); }
.ct-media-channel h2 { margin: 0 0 18px; font-size: 30px; font-weight: 500; }
.ct-media-channel > p:not(.eyebrow) { max-width: 340px; margin: 0; color: #c4c4c4; font-size: 12px; line-height: 1.9; }
.ct-media-channel.is-guide > p:not(.eyebrow) { color: #6e6e6e; }
.ct-media-channel > i { position: absolute; right: 34px; bottom: 34px; display: grid; width: 44px; aspect-ratio: 1; place-items: center; border-radius: 50%; color: #fff; background: var(--red); font-style: normal; transition: transform .2s ease; }
.ct-media-channel:hover > i { transform: translateX(5px); }
.ct-feature-section.is-insight { background: #fff; }
.ct-feature-section.is-guide { background-color: var(--soft); border-radius: var(--radius-xl) var(--radius-xl) 0 0; }

.ct-company-main { background: var(--soft); border-radius: var(--radius-xl) var(--radius-xl) 0 0; }
.ct-company-content { padding: clamp(28px, 5vw, 64px); border-radius: 14px; background: #fff; box-shadow: 0 10px 45px rgba(0, 0, 0, .045); }
.ct-company-content > *:first-child { margin-top: 0; }
.ct-company-content > *:last-child { margin-bottom: 0; }
.ct-company-content h2 { margin: 62px 0 26px; padding-left: 18px; border-left: 3px solid var(--red); font-size: clamp(23px, 3vw, 32px); font-weight: 550; }
.ct-company-content h3 { margin: 40px 0 18px; font-size: 20px; font-weight: 600; }
.ct-company-content p, .ct-company-content li { font-size: 14px; line-height: 2; }
.ct-company-content table { width: 100%; border-collapse: collapse; }
.ct-company-content table th, .ct-company-content table td { padding: 19px 16px; border: 0; border-bottom: 1px solid #e5e5e5; text-align: left; font-size: 13px; }
.ct-company-content table th { width: 27%; color: #555; background: transparent; }
.ct-company-content figure img { border-radius: 10px; }
.ct-company-table { margin: 0; }
.ct-company-table > div { display: grid; grid-template-columns: minmax(110px, 25%) 1fr; gap: 24px; padding: 19px 0; border-bottom: 1px solid #e5e5e5; font-size: 13px; }
.ct-company-table dt { font-weight: 600; }
.ct-company-table dd { margin: 0; }
.ct-company-table dd ul { margin: 0; padding-left: 1.25em; }
.ct-company-business-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.ct-company-business-list li { padding: 18px 20px; border: 1px solid #e5e5e5; border-radius: 8px; background: #fafafa; }
.ct-company-message, .ct-company-history { margin-top: 78px; padding-top: 70px; border-top: 1px solid #e5e5e5; }
.ct-company-section-heading { margin-bottom: 34px; }
.ct-company-section-heading .eyebrow { margin: 0 0 11px; }
.ct-company-content .ct-company-section-heading h2 { margin: 0; }
.ct-company-message__grid { display: grid; grid-template-columns: minmax(300px, 39%) minmax(0, 1fr); gap: clamp(40px, 6vw, 74px); align-items: start; }
.ct-company-representative { margin: 0; overflow: hidden; border: 1px solid rgba(144, 125, 56, .2); border-radius: 12px; background: #292929; box-shadow: 0 18px 45px rgba(45, 40, 25, .12); }
.ct-company-representative__portrait { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: #ededeb; }
.ct-company-representative__portrait::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 68%, rgba(27, 27, 25, .16)); pointer-events: none; }
.ct-company-representative__portrait img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 50% 28%; }
.ct-company-representative__portrait > span { position: absolute; left: 18px; top: 18px; z-index: 1; padding: 8px 11px; border: 1px solid rgba(255, 255, 255, .56); border-radius: 999px; color: #fff; background: rgba(34, 34, 31, .45); font-size: 8px; font-weight: 700; letter-spacing: .13em; line-height: 1; backdrop-filter: blur(8px); }
.ct-company-representative__profile { position: relative; padding: 27px 30px 31px; overflow: hidden; color: #fff; background: #292929; }
.ct-company-representative__profile::after { content: ""; position: absolute; right: -76px; bottom: -82px; width: 190px; aspect-ratio: 1; border: 1px solid rgba(201, 192, 161, .24); border-radius: 50%; box-shadow: 0 0 0 27px rgba(201, 192, 161, .055), 0 0 0 54px rgba(201, 192, 161, .025); }
.ct-company-representative__profile > * { position: relative; z-index: 1; }
.ct-company-representative__role { margin: 0 0 9px; color: var(--gold-sub); font-size: 10px !important; font-weight: 700; letter-spacing: .12em; line-height: 1.5 !important; }
.ct-company-representative strong { display: block; font-size: clamp(25px, 3vw, 34px); line-height: 1.35; font-weight: 550; letter-spacing: .04em; }
.ct-company-representative small { display: block; margin-top: 5px; color: var(--gold-sub); font-size: 9px; font-weight: 700; letter-spacing: .16em; }
.ct-company-representative__bio { margin: 22px 0 0; padding-top: 19px; border-top: 1px solid rgba(255, 255, 255, .14); color: #cfcec8; font-size: 11px !important; line-height: 1.9 !important; }
.ct-company-content .ct-company-message__copy h3 { margin: 0 0 26px; color: #292925; font-size: clamp(27px, 3.5vw, 42px); line-height: 1.5; font-weight: 530; letter-spacing: .01em; }
.ct-company-message__copy p { margin: 0 0 16px; color: #5f5f59; }
.ct-company-message__copy p:last-child { margin-bottom: 0; }
.ct-company-history__list { margin: 0; padding: 0; list-style: none; }
.ct-company-history__list li { display: grid; grid-template-columns: minmax(115px, 20%) minmax(0, 1fr); gap: 0; }
.ct-company-history__list li > time, .ct-company-history__list li > span { padding-top: 2px; color: var(--gold-main); font-size: 12px; line-height: 1.4; font-weight: 800; letter-spacing: .12em; }
.ct-company-history__list li > div { position: relative; min-height: 116px; padding: 0 0 43px 46px; border-left: 1px solid rgba(144, 125, 56, .32); }
.ct-company-history__list li:last-child > div { min-height: 0; padding-bottom: 0; border-left-color: transparent; }
.ct-company-history__list li > div::before { content: ""; position: absolute; left: -6px; top: 3px; width: 11px; aspect-ratio: 1; border: 3px solid #fff; border-radius: 50%; background: var(--gold-main); box-shadow: 0 0 0 1px var(--gold-main); }
.ct-company-history__list strong { display: block; margin: 0 0 7px; color: #2d2d29; font-size: 19px; line-height: 1.5; font-weight: 600; }
.ct-company-history__list p { margin: 0; color: #686862; font-size: 13px; line-height: 1.9; }
.ct-company-contact-link { margin: 62px 0 0; }

@media (max-width: 860px) {
  .ct-content-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ct-guide-steps ol, .ct-guide-topic-grid, .ct-guide-business-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ct-media-navigation__grid { grid-template-columns: 1fr; }
	.ct-company-message__grid { grid-template-columns: minmax(260px, 38%) minmax(0, 1fr); gap: 34px; }
}

@media (max-width: 720px) {
  .ct-page-hero { padding: 54px 0 62px; }
  .ct-breadcrumb { margin-bottom: 42px; }
  .ct-page-hero::after { right: -80px; bottom: -110px; width: 220px; height: 220px; }
  .ct-listing-section, .ct-feature-section, .ct-company-main { padding: 68px 0 78px; }
  .ct-content-grid { grid-template-columns: 1fr; }
	.ct-guide-hub .container.narrow { width: min(calc(100% - 32px), 1120px); }
	.ct-guide-section { padding: 68px 0 74px; }
	.ct-guide-section-heading { margin-bottom: 28px; }
	.ct-guide-feature-card > a { min-height: 0; grid-template-columns: 46px minmax(0, 1fr); gap: 16px; padding: 24px 20px; }
	.ct-guide-feature-card__number { font-size: 25px; }
	.ct-guide-feature-card h3 { font-size: 19px; }
	.ct-guide-feature-card p { display: none; }
	.ct-guide-feature-card i { grid-column: 1 / -1; width: 30px; justify-self: end; }
	.ct-guide-steps ol, .ct-guide-topic-grid, .ct-guide-business-grid { grid-template-columns: 1fr; }
	.ct-guide-steps a, .ct-guide-topic-grid > a, .ct-guide-business-grid > a { min-height: 180px; }
	.ct-guide-hub-cta { padding: 72px 0 78px; }
	.ct-guide-hub-cta a { width: 100%; }
  .ct-media-navigation { padding: 68px 0; }
  .ct-media-channel { min-height: 265px; padding: 32px 26px; }
  .ct-media-channel > i { right: 26px; bottom: 26px; }
  .ct-empty { padding: 36px 20px; }
  .ct-company-content { padding: 30px 22px; }
  .ct-company-content table, .ct-company-content tbody, .ct-company-content tr, .ct-company-content th, .ct-company-content td { display: block; width: 100%; }
  .ct-company-content table th { padding-bottom: 5px; border-bottom: 0; color: var(--red); }
  .ct-company-content table td { padding-top: 5px; }
  .ct-company-table > div { grid-template-columns: 90px 1fr; gap: 16px; }
	.ct-company-business-list { grid-template-columns: 1fr; }
	.ct-company-message, .ct-company-history { margin-top: 58px; padding-top: 52px; }
	.ct-company-section-heading { margin-bottom: 26px; }
	.ct-company-message__grid { grid-template-columns: 1fr; }
	.ct-company-representative { width: min(100%, 430px); }
	.ct-company-representative__profile { padding: 25px 24px 28px; }
	.ct-company-content .ct-company-message__copy h3 { font-size: 27px; }
	.ct-company-history__list li { grid-template-columns: 1fr; }
	.ct-company-history__list li > time, .ct-company-history__list li > span { margin-bottom: 13px; }
	.ct-company-history__list li > div { min-height: 0; margin-left: 5px; padding: 0 0 38px 28px; }
	.ct-company-history__list strong { font-size: 17px; }
	.ct-company-contact-link { margin-top: 50px; }
}

/* Trust, policy, case and download pages */
.ct-policy-page{background:#f7f8f5;color:#18201b;min-height:70vh;padding:116px 0 88px}.ct-policy-container{width:min(1080px,calc(100% - 40px));margin:auto}.ct-breadcrumb{display:flex;gap:10px;margin-bottom:48px;font-size:12px;color:#667068}.ct-policy-hero{padding:40px 0 52px;border-bottom:1px solid #d8ddd8}.ct-policy-hero h1{max-width:900px;margin:8px 0 0;font-size:clamp(34px,5vw,64px);line-height:1.18;letter-spacing:-.035em}.ct-policy-content{max-width:1080px;margin:56px auto 0;background:#fff;border:1px solid #e1e5e1;padding:clamp(28px,5vw,64px)}.ct-policy-content h2{margin:1.5em 0 .8em;font-size:clamp(21px,3vw,30px);line-height:1.45}.ct-policy-content h2:first-child{margin-top:0}.ct-policy-content p,.ct-policy-content li,.ct-policy-content dd{font-size:15px;line-height:1.95}.ct-policy-content ul{padding-left:1.4em}.ct-policy-content a{text-decoration:underline;text-underline-offset:3px}.ct-policy-facts{display:grid;grid-template-columns:150px 1fr;border-top:1px solid #dfe4df}.ct-policy-facts dt,.ct-policy-facts dd{margin:0;padding:14px;border-bottom:1px solid #dfe4df}.ct-policy-facts dt{font-weight:700}.ct-policy-note{padding:16px 18px;background:#f2f5f2;border-left:3px solid #518c65}.ct-policy-content .ct-service-table-wrap{overflow:auto;margin:24px 0}.ct-policy-content .ct-service-table{min-width:960px;width:100%;border-collapse:collapse}.ct-policy-content .ct-service-table th,.ct-policy-content .ct-service-table td{border:1px solid #dfe4df;padding:10px;text-align:left;vertical-align:top;font-size:12px;line-height:1.6}.ct-thanks-card{max-width:760px;margin:auto;padding:48px;background:#fff;border:1px solid #dfe4df}.ct-thanks-card h2{margin-top:32px}.ct-thanks-card h2:first-child{margin-top:0}@media(max-width:640px){.ct-policy-page{padding-top:88px}.ct-policy-container{width:min(100% - 24px,1080px)}.ct-policy-content{padding:24px 18px}.ct-policy-facts{grid-template-columns:1fr}.ct-policy-facts dt{padding-bottom:4px;border-bottom:0}.ct-policy-facts dd{padding-top:4px}.ct-thanks-card{padding:28px 20px}}
.ct-policy-content .ct-service-table th,.ct-policy-content .ct-service-table td{font-size:13px;line-height:1.7}
.ct-policy-note h2{margin:0 0 10px;font-size:24px;line-height:1.45}
.ct-policy-note p{margin:0;font-size:14px;line-height:1.85}

@media(max-width:720px){.ct-page-hero .container.narrow{width:min(calc(100% - 32px),1040px)}.ct-page-hero h1{font-size:clamp(34px,10vw,44px);line-height:1.32}.ct-page-lead{font-size:15px}.ct-content-card__body{padding:22px 20px 24px}.ct-content-card h2{font-size:19px}.ct-content-card__body>p{font-size:14px}}

/* Case-study archive and detail. */
.ct-case-archive-page,
.ct-case-detail-page { color: #2d2d29; background: #f7f6f1; }
.ct-case-archive-hero { background: #fff; }
.ct-case-listing { padding: 92px 0 110px; border-radius: var(--radius-xl) var(--radius-xl) 0 0; background: #f7f6f1; }
.ct-case-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.ct-case-card { min-width: 0; overflow: hidden; border: 1px solid rgba(144, 125, 56, .2); border-radius: 16px; background: #fff; box-shadow: 0 10px 38px rgba(45, 40, 25, .055); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.ct-case-card:hover { border-color: rgba(144, 125, 56, .48); box-shadow: 0 16px 45px rgba(45, 40, 25, .1); transform: translateY(-4px); }
.ct-case-card:focus-within { outline: 3px solid rgba(201, 192, 161, .7); outline-offset: 3px; }
.ct-case-card__link { height: 100%; display: flex; flex-direction: column; padding: 30px; color: inherit; text-decoration: none; }
.ct-case-card__link:focus-visible { outline: 0; }
.ct-case-card__company { display: flex; align-items: center; gap: 16px; margin-bottom: 27px; }
.ct-case-logo { width: 76px; min-width: 76px; aspect-ratio: 1; display: grid; place-items: center; margin: 0; padding: 10px; overflow: hidden; border: 1px solid rgba(144, 125, 56, .22); border-radius: 12px; background: #fff; }
.ct-case-logo img { width: 100%; height: 100%; display: block; object-fit: contain; }
.ct-case-card__industry { display: inline-block; margin-bottom: 6px; color: var(--gold-main); font-size: 10px; font-weight: 800; letter-spacing: .06em; }
.ct-case-card__company-name { margin: 0; color: #45453f; font-size: 13px; line-height: 1.55; font-weight: 700; }
.ct-case-card h2 { margin: 0 0 15px; color: #2c2c29; font-size: 21px; line-height: 1.55; font-weight: 600; }
.ct-case-card__link > p { margin: 0 0 28px; color: #676761; font-size: 13px; line-height: 1.85; }
.ct-case-card__more { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: auto; padding-top: 18px; border-top: 1px solid #e8e5dc; color: #77736a; font-size: 11px; font-weight: 700; letter-spacing: .05em; }
.ct-case-card__more i { width: 29px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--gold-main); font-style: normal; }

.ct-case-detail-hero { padding: 42px 0 94px; background: #fff; }
.ct-case-detail-hero .ct-breadcrumb { margin-bottom: 60px; }
.ct-case-detail-hero__grid { display: grid; grid-template-columns: 190px minmax(0, 1fr); align-items: center; gap: clamp(40px, 7vw, 92px); }
.ct-case-logo.is-large { width: 190px; min-width: 190px; padding: 24px; border-radius: 20px; box-shadow: 0 18px 42px rgba(45, 40, 25, .08); }
.ct-case-detail-identity { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 15px; margin: 10px 0 19px; }
.ct-case-detail-identity span { padding: 6px 10px; border: 1px solid rgba(144, 125, 56, .3); border-radius: 999px; color: var(--gold-main); background: #faf9f4; font-size: 10px; font-weight: 800; }
.ct-case-detail-identity strong { color: #4e4e48; font-size: 14px; }
.ct-case-detail-hero h1 { max-width: 900px; margin: 0 0 20px; color: #292925; font-size: clamp(34px, 4.3vw, 58px); line-height: 1.35; font-weight: 540; letter-spacing: -.02em; }
.ct-case-detail-lead { max-width: 760px; margin: 0; color: #62625c; font-size: 15px; line-height: 1.95; }
.ct-case-detail-body { padding: 92px 0 110px; }
.ct-case-detail-layout { width: min(calc(100% - 48px), 1000px); }
.ct-case-detail-layout > .ct-policy-note { margin: 0 0 28px; }
.ct-case-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0 0 44px; overflow: hidden; border: 1px solid rgba(144, 125, 56, .2); border-radius: 16px; background: #e7e3d8; }
.ct-case-facts > div { min-width: 0; padding: 24px 26px; background: #fff; }
.ct-case-facts dt { margin: 0 0 8px; color: var(--gold-main); font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.ct-case-facts dd { margin: 0; color: #4f4f49; font-size: 13px; line-height: 1.85; }
.ct-case-editor-content { padding: clamp(30px, 5vw, 64px); border: 1px solid rgba(144, 125, 56, .16); border-radius: 18px; background: #fff; box-shadow: 0 12px 40px rgba(45, 40, 25, .045); }
.ct-case-editor-content > *:first-child { margin-top: 0; }
.ct-case-editor-content > *:last-child { margin-bottom: 0; }
.ct-case-editor-content h2 { margin: 2.2em 0 .9em; padding-left: 17px; border-left: 3px solid var(--gold-main); color: #2d2d29; font-size: clamp(22px, 3vw, 30px); line-height: 1.5; font-weight: 600; }
.ct-case-editor-content h3 { margin: 1.8em 0 .7em; font-size: 20px; line-height: 1.55; font-weight: 600; }
.ct-case-editor-content p,
.ct-case-editor-content li { color: #55554f; font-size: 15px; line-height: 2; }
.ct-case-editor-content ul,
.ct-case-editor-content ol { margin: 24px 0; padding-left: 1.5em; }
.ct-case-editor-content li + li { margin-top: 8px; }
.ct-case-final-cta { padding: 92px 0 100px; text-align: center; color: #fff; background: #292925; }
.ct-case-final-cta h2 { margin: 0 0 18px; color: #fff; font-size: clamp(29px, 4vw, 46px); line-height: 1.5; font-weight: 520; }
.ct-case-final-cta > .container > p:not(.eyebrow) { max-width: 720px; margin: 0 auto 29px; color: #cac8bf; font-size: 14px; line-height: 1.9; }
.ct-case-final-cta a { width: min(100%, 330px); min-height: 60px; display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; padding: 10px 15px 10px 27px; border-radius: 999px; color: #fff; background: var(--gold-main); font-size: 13px; font-weight: 700; }
.ct-case-final-cta a span { width: 32px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; color: var(--gold-main); background: #fff; }

@media (max-width: 900px) {
	.ct-case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ct-case-detail-hero__grid { grid-template-columns: 150px minmax(0, 1fr); gap: 36px; }
	.ct-case-logo.is-large { width: 150px; min-width: 150px; }
}

@media (max-width: 640px) {
	.ct-case-listing { padding: 66px 0 78px; }
	.ct-case-grid { grid-template-columns: 1fr; }
	.ct-case-card__link { padding: 25px 22px; }
	.ct-case-detail-hero { padding: 30px 0 66px; }
	.ct-case-detail-hero .ct-breadcrumb { margin-bottom: 42px; }
	.ct-case-detail-hero__grid { grid-template-columns: 1fr; gap: 28px; }
	.ct-case-logo.is-large { width: 118px; min-width: 118px; padding: 16px; border-radius: 15px; }
	.ct-case-detail-hero h1 { font-size: clamp(32px, 10vw, 42px); }
	.ct-case-detail-body { padding: 66px 0 78px; }
	.ct-case-detail-layout { width: min(calc(100% - 28px), 1000px); }
	.ct-case-facts { grid-template-columns: 1fr; }
	.ct-case-facts > div { padding: 21px 20px; }
	.ct-case-editor-content { padding: 30px 20px; }
	.ct-case-editor-content p,
	.ct-case-editor-content li { font-size: 14px; }
	.ct-case-final-cta { padding: 70px 0 78px; }
}

/* Download library and request detail. */
.ct-download-page { background: #f7f6f1; }
.ct-download-page > * > .container { width: min(calc(100% - 48px), 1180px); }
.ct-download-hero { padding: 86px 0 82px; background-color: #fff; }
.ct-download-hero .ct-breadcrumb { margin-bottom: 64px; }
.ct-download-detail-hero .ct-breadcrumb { margin-bottom: 58px; }
.ct-download-hero__content { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .65fr); align-items: end; gap: 52px; }
.ct-download-hero h1 { margin: 0; font-size: clamp(38px, 4.6vw, 60px); line-height: 1.27; font-weight: 480; letter-spacing: .02em; }
.ct-download-hero__content > p { margin: 0 0 5px; color: #62625d; font-size: 14px; line-height: 2; }
.ct-download-library { padding: 92px 0 104px; }
.ct-download-section-heading { margin-bottom: 38px; }
.ct-download-section-heading h2 { margin: 0 0 12px; font-size: clamp(25px, 2.6vw, 34px); line-height: 1.45; font-weight: 550; }
.ct-download-section-heading > p:last-child { margin: 0; color: #6f6f69; font-size: 14px; }
.ct-download-grid { display: grid; gap: 28px; }
.ct-download-card { display: grid; grid-template-columns: minmax(250px, 34%) 1fr; min-height: 380px; overflow: hidden; border: 1px solid rgba(144, 125, 56, .2); border-radius: 16px; background: #fff; box-shadow: 0 10px 38px rgba(45, 40, 25, .06); }
.ct-download-card__cover { min-height: 380px; display: grid; place-items: center; padding: 30px; background: #e8e4d8; }
.ct-download-card__cover img { width: auto; max-width: 100%; height: 100%; max-height: 320px; object-fit: contain; box-shadow: 0 15px 30px rgba(35, 31, 20, .18); }
.ct-download-cover { position: relative; width: min(100%, 220px); aspect-ratio: 210 / 297; display: flex; flex-direction: column; padding: 27px 24px 23px; overflow: hidden; color: #fff; background: linear-gradient(145deg, #25251f, #4b4737); box-shadow: 0 15px 32px rgba(35, 31, 20, .2); }
.ct-download-cover::before { content: ""; position: absolute; right: -45%; bottom: 8%; width: 110%; aspect-ratio: 1; border: 1px solid rgba(201, 192, 161, .75); border-radius: 50%; box-shadow: 0 0 0 34px rgba(201, 192, 161, .1), 0 0 0 68px rgba(201, 192, 161, .06); }
.ct-download-cover > span { position: relative; color: var(--gold-sub); font-size: 10px; font-weight: 800; letter-spacing: .18em; }
.ct-download-cover strong { position: relative; margin-top: 38px; font-size: clamp(27px, 3vw, 35px); line-height: 1.35; font-weight: 550; letter-spacing: .04em; }
.ct-download-cover small { position: relative; margin-top: auto; font-size: 10px; font-weight: 700; letter-spacing: .15em; }
.ct-download-card__body { display: flex; flex-direction: column; justify-content: center; padding: clamp(30px, 4vw, 48px); }
.ct-download-card__body h2 { margin: 0 0 14px; color: #2c2c29; font-size: clamp(24px, 2.5vw, 32px); line-height: 1.48; font-weight: 550; }
.ct-download-card__body > p:not(.eyebrow) { max-width: 650px; margin: 0 0 20px; color: #64645f; font-size: 14px; line-height: 1.85; }
.ct-download-card__body ul { display: grid; gap: 7px; margin: 0 0 24px; padding: 0; list-style: none; }
.ct-download-card__body li { position: relative; padding-left: 23px; color: #494944; font-size: 13px; line-height: 1.7; }
.ct-download-card__body li::before { content: "✓"; position: absolute; left: 0; color: var(--gold-main); font-weight: 800; }
.ct-download-card .ct-download-button { min-width: 210px; min-height: 52px; padding: 10px 13px 10px 21px; }
.ct-download-button { width: fit-content; min-width: 230px; min-height: 58px; display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; padding: 12px 16px 12px 24px; border-radius: 999px; color: #fff; background: var(--gold-main); font-size: 13px; font-weight: 700; transition: transform .2s ease, background .2s ease; }
.ct-download-button span { width: 32px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; color: var(--gold-main); background: #fff; }
.ct-download-button:hover { color: #fff; background: var(--red-dark); transform: translateY(-2px); }
.ct-download-note { padding: 35px 0; color: #fff; background: #2b2b27; }
.ct-download-note .container { display: flex; align-items: center; justify-content: center; gap: 26px; }
.ct-download-note strong { font-size: 15px; }
.ct-download-note p { margin: 0; color: #c7c6bf; font-size: 12px; }

.ct-download-detail-hero { padding: 40px 0 90px; background: #fff; }
.ct-download-detail-hero__grid { display: grid; grid-template-columns: minmax(300px, 410px) 1fr; align-items: center; gap: clamp(50px, 8vw, 110px); }
.ct-download-detail-cover { display: grid; place-items: center; min-height: 550px; margin: 0; padding: 42px; background: #e8e4d8; }
.ct-download-detail-cover img { width: auto; max-width: 100%; max-height: 470px; object-fit: contain; box-shadow: 0 20px 42px rgba(35, 31, 20, .2); }
.ct-download-detail-copy h1 { margin: 0 0 22px; font-size: clamp(38px, 5vw, 62px); line-height: 1.3; font-weight: 530; letter-spacing: -.025em; }
.ct-download-detail-copy > p:not(.eyebrow) { max-width: 650px; margin: 0 0 23px; color: #5e5e59; font-size: 15px; line-height: 1.95; }
.ct-download-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 30px; }
.ct-download-badges span { padding: 7px 12px; border: 1px solid rgba(144, 125, 56, .35); border-radius: 999px; color: var(--gold-main); background: #faf9f4; font-size: 11px; font-weight: 700; }
.ct-download-button.is-large { min-width: min(100%, 340px); min-height: 64px; padding-left: 30px; }
.ct-download-detail-copy > small { display: block; margin-top: 13px; color: #7a7a75; font-size: 10px; }
.ct-download-detail-body { padding: 96px 0 110px; }
.ct-download-detail-sections { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.ct-download-detail-section { min-width: 0; padding: 34px 30px; border: 1px solid rgba(144, 125, 56, .18); border-radius: 16px; background: #fff; }
.ct-download-detail-section h2 { margin: 0 0 23px; font-size: 21px; line-height: 1.55; font-weight: 600; }
.ct-download-detail-section ol { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; counter-reset: download-point; }
.ct-download-detail-section li { position: relative; padding-left: 26px; color: #5d5d58; font-size: 13px; line-height: 1.75; counter-increment: download-point; }
.ct-download-detail-section li::before { content: "✓"; position: absolute; left: 0; color: var(--gold-main); font-weight: 800; }
.ct-download-detail-section ol.is-numbered li::before { content: counter(download-point, decimal-leading-zero); top: .1em; font-size: 10px; letter-spacing: .05em; }
.ct-download-editor-content { margin-top: 30px; padding: 40px; border-radius: 16px; background: #fff; }
.ct-download-final-cta { padding: 96px 0 104px; text-align: center; color: #fff; background: #292925; }
.ct-download-final-cta h2 { margin: 0 0 18px; color: #fff; font-size: clamp(30px, 4vw, 48px); line-height: 1.5; font-weight: 520; }
.ct-download-final-cta > .container > p:not(.eyebrow) { margin: 0 0 28px; color: #c9c8c1; font-size: 14px; }
.ct-download-final-cta .ct-download-button { margin-inline: auto; }

@media (max-width: 860px) {
  .ct-download-hero__content { grid-template-columns: 1fr; gap: 28px; }
  .ct-download-card { grid-template-columns: minmax(230px, 36%) 1fr; }
  .ct-download-card__cover { padding: 26px; }
  .ct-download-detail-hero__grid { grid-template-columns: 300px 1fr; gap: 40px; }
  .ct-download-detail-cover { min-height: 430px; padding: 28px; }
  .ct-download-detail-sections { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .ct-download-page > * > .container { width: min(calc(100% - 32px), 1180px); }
  .ct-download-hero { padding: 54px 0 62px; }
  .ct-download-hero .ct-breadcrumb,
  .ct-download-detail-hero .ct-breadcrumb { margin-bottom: 40px; }
  .ct-download-hero h1 { font-size: clamp(34px, 10vw, 44px); }
  .ct-download-library { padding: 68px 0 78px; }
  .ct-download-card { grid-template-columns: 1fr; }
  .ct-download-card__cover { min-height: 320px; padding: 28px; }
  .ct-download-cover { width: min(100%, 200px); padding: 25px 21px 20px; }
  .ct-download-cover strong { margin-top: 34px; font-size: 30px; }
  .ct-download-card__body { padding: 27px 22px 30px; }
  .ct-download-card__body h2 { font-size: 25px; }
  .ct-download-button { width: 100%; }
  .ct-download-note .container { align-items: flex-start; flex-direction: column; gap: 7px; }
  .ct-download-detail-hero { padding: 26px 0 68px; }
  .ct-download-detail-hero__grid { grid-template-columns: 1fr; gap: 38px; }
  .ct-download-detail-cover { min-height: 410px; }
  .ct-download-detail-copy h1 { font-size: 39px; }
  .ct-download-detail-body { padding: 68px 0 76px; }
  .ct-download-detail-section { padding: 28px 23px; }
  .ct-download-final-cta { padding: 72px 0 78px; }
}
