/* =============================================================================
   CMS home-page modules: the dc-* block templates (authored in the HTML editor, so the class
   names live in the database), the numbers, leadership and services showcases, and the
   icon masks they use.

   Loaded by _PublicLayout only for pages that render CMS blocks (ViewData["CmsUsesBlocks"]).
   The showcases are measured against their reference artwork - see each section's note.
   Every text line uses Poppins, except the handwritten mottos, which follow each reference's hand:
   Kalam (--font-hand) on Services, Satisfy (--font-script) on Leadership and Numbers.
   ============================================================================= */
/* CMS-authored homepage sections drop the content-band padding. */
.content-band:has(> .prose > .dc-values),
.content-band:has(> .prose > .dc-about),
.content-band:has(> .prose > .dc-solutions),
.content-band:has(> .prose > .dc-casestudy),
.content-band:has(> .prose > .dc-divider) { padding: 0; }
.prose:has(> .dc-values), .prose:has(> .dc-about), .prose:has(> .dc-solutions), .prose:has(> .dc-casestudy), .prose:has(> .dc-divider) { width: 100%; max-width: none; }
/* A plain full-width band between home sections: a Text block whose whole body is <div class="dc-divider"></div>. */
.dc-divider { display: block; height: 8px; margin: 0; background: var(--color-blue); }
/* The same rule now leads the shared footer. A page that still ends with only this divider
   would stack a second copy above "Opportunities in Your Hands". */
.public-page > .content-band:last-child:has(> .prose > .dc-divider:only-child) { display: none; }
.dc-values { color: #f8faff; background: radial-gradient(ellipse at 0 0, #51267766, transparent 30%), radial-gradient(ellipse at 90% 100%, #51336e55, transparent 35%), linear-gradient(115deg, #091e30, #0b3448 55%, #0a2134); }
.dc-values__list { list-style: none; margin: 0 auto; padding: 10px clamp(20px, 3vw, 52px); max-width: 1760px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.dc-values__list li { display: flex; align-items: center; gap: clamp(8px, .75vw, 14px); padding: 0 clamp(10px, 1.5vw, 24px); border-left: 1px solid #b2c4d080; min-width: 0; }
.dc-values__list li:first-child { padding-left: 0; border: 0; }
.dc-values__list li:last-child { padding-right: 0; }
.dc-values__icon { display: grid; place-items: center; flex: 0 0 clamp(36px, 3.5vw, 56px); height: clamp(36px, 3.5vw, 56px); border-radius: 50%; border: 1px solid #d7e7f633; background: linear-gradient(140deg, #edf3ff13, #edf3ff03); }
.dc-values__icon img { width: 48%; }
.dc-values h3 { font-size: clamp(12px, 1vw, 17px); font-weight: 600; line-height: 1.25; margin: 0 0 2px; color: var(--header-accent, #f5b73b); }
.dc-values p { font-size: clamp(9px, .7vw, 12px); line-height: 1.35; margin: 0; color: #9eb0c2; }
.dc-about { position: relative; isolation: isolate; overflow: hidden; background: #fcfcfd; color: #0b1932; }
.dc-about__copy { position: relative; z-index: 2; width: 55%; padding: clamp(40px, 4vw, 70px) 0 clamp(44px, 4vw, 72px) clamp(24px, 3.6vw, 64px); }
.dc-about__eyebrow { display: flex; align-items: center; gap: 20px; margin: 0 0 26px; text-transform: uppercase; letter-spacing: .4em; font-size: 12px; font-weight: 600; }
.dc-about__eyebrow::before { content: ''; width: 35px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, #d1870a, #ffcc56); }
.content-band .dc-about h2 { font-size: clamp(32px, 3.55vw, 63px); font-weight: 600; line-height: 1.1; letter-spacing: -.045em; margin: 0 0 28px; }
.dc-about h2 span { color: #bd7b0d; }
.dc-about__intro { color: #405575; font-size: clamp(15px, 1.27vw, 22px); line-height: 1.6; max-width: 740px; margin: 0 0 28px; padding-right: 28px; }
.dc-about__services { list-style: none; display: grid; grid-template-columns: .95fr 1.08fr 1.08fr; padding: 0; margin: 0 0 34px; }
.dc-about__services li { position: relative; padding: 0 22px; }
.dc-about__services li:first-child { padding-left: 0; }
.dc-about__services li + li::before { content: ''; position: absolute; left: 0; top: 18px; bottom: 4px; width: 1px; background: #d1d9e5; }
.dc-about__service-icon { width: 70px; height: 64px; display: grid; place-items: center; border-radius: 16px; background: linear-gradient(140deg, #f8f4ff, #eee7fc); margin-bottom: 10px; }
.dc-about__services li:nth-child(2) .dc-about__service-icon { background: #f3f4f6; }
.dc-about__services h3 { font-size: clamp(12px, 1vw, 17px); line-height: 1.4; font-weight: 600; margin: 0 0 6px; }
.dc-about__services p { font-size: clamp(12px, .94vw, 16px); line-height: 1.55; color: #405575; margin: 0; }
.dc-about__cta { display: inline-flex; gap: 25px; justify-content: space-between; align-items: center; min-height: 56px; padding: 12px 30px; border-radius: 99px; background: #062437; color: #ffc044; border: 1px solid #d79919; text-decoration: none; font-size: clamp(13px, 1.06vw, 18px); font-weight: 500; transition: background .2s; }
.dc-about__cta span { font-size: 26px; line-height: 1; }
.dc-about__cta:hover { background: #123b50; }
.dc-about__visual { position: absolute; inset: 0 0 0 47%; z-index: 1; }
.prose .dc-about__image { width: 100%; height: 100%; object-fit: cover; object-position: center 56%; }
.dc-about__visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #fcfcfd, #fcfcfdc9 8%, #fcfcfd00 32%); }
.dc-about__statement { position: absolute; z-index: 1; top: 17%; left: 17%; width: 255px; padding: 36px 26px 30px; color: #f3f4f8; border: 1px solid #f1f3f7a6; border-radius: 12px; background: linear-gradient(140deg, #26354b99, #102b409e); box-shadow: 0 10px 32px #10233320; backdrop-filter: blur(5px); }
.dc-about__statement > p:first-child { border-left: 2px solid #f0c15f; padding-left: 20px; margin: 0; font-size: clamp(22px, 1.9vw, 33px); font-weight: 300; line-height: 1.35; }
.dc-about__statement span { color: #ffc34e; font-weight: 500; }
.dc-about__promise { margin: 25px 0 0 22px; font-size: 11px; line-height: 2; letter-spacing: .28em; text-transform: uppercase; }
.dc-about__promise::before { content: ''; display: block; width: 35px; height: 3px; background: #ffc34e; margin-bottom: 24px; }
.dc-about__ideas { position: absolute; z-index: 1; right: 6%; bottom: 8%; margin: 0; color: #edf4ff; text-transform: uppercase; font-size: 12px; line-height: 2.4; letter-spacing: .32em; text-shadow: 0 1px 8px #001324; }
.dc-solutions { padding: clamp(52px, 5vw, 88px) clamp(22px, 3.8vw, 64px) clamp(40px, 4vw, 72px); color: #0a1e3e; background: radial-gradient(circle at 100% 30%, #e6efff 0, #f9fbff 31%, transparent 55%), linear-gradient(135deg, #f5f8ff, #fff 57%, #f6fbfc); }
.dc-solutions__head { display: flex; gap: 30px; justify-content: space-between; align-items: center; max-width: 1600px; margin: 0 auto 44px; }
.dc-solutions__head > div { max-width: 850px; }
.dc-solutions__eyebrow, .dc-approach__eyebrow { display: flex; align-items: center; gap: 18px; margin: 0 0 15px; color: #102a51; text-transform: uppercase; letter-spacing: .36em; font-size: 12px; font-weight: 600; }
.dc-solutions__eyebrow::after, .dc-approach__eyebrow::after { content: ''; width: 80px; height: 1px; background: #e4ad3e; }
.content-band .dc-solutions h2 { margin: 0 0 15px; font-size: clamp(34px, 3.4vw, 60px); line-height: 1.12; letter-spacing: -.04em; font-weight: 650; }
.dc-solutions h2 span { color: #336fbd; }
.dc-solutions__head > div > p:last-child { max-width: 820px; margin: 0; color: #4b5d7c; font-size: clamp(15px, 1.25vw, 21px); line-height: 1.55; }
.dc-solutions__motto { flex: 0 0 250px; padding: 14px 0 14px 38px; border-left: 1px solid #a9b8cc; color: #7d8cab; text-transform: uppercase; letter-spacing: .35em; font-size: 12px; line-height: 1.8; }
.dc-solutions__cards { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(12px, 1.3vw, 22px); max-width: 1600px; margin: 0 auto 32px; }
.dc-solution-card { position: relative; overflow: hidden; min-width: 0; border-radius: 13px; background: #f8fbff; box-shadow: 0 12px 27px #10274a0b; }
.prose .dc-solution-card > img { display: block; width: 100%; aspect-ratio: 1.58 / 1; object-fit: cover; }
.dc-solution-card__body { position: relative; min-height: 263px; padding: 42px 24px 20px; }
.dc-solution-card__icon { position: absolute; top: -31px; left: 23px; display: grid; place-items: center; width: 59px; height: 59px; color: #245fa8; border: 1px solid currentColor; border-radius: 50%; background: #eff7ff; font-size: 28px; font-weight: 300; }
.dc-solution-card h3 { min-height: 58px; margin: 0 0 10px; font-size: clamp(16px, 1.25vw, 21px); line-height: 1.3; font-weight: 650; }
.dc-solution-card p { min-height: 76px; margin: 0 0 11px; color: #4b5d7d; font-size: clamp(13px, 1vw, 16px); line-height: 1.55; }
.dc-solution-card a { display: inline-flex; align-items: center; gap: 18px; color: #0e2851; border-bottom: 1px solid #7dabdd; text-decoration: none; font-size: 14px; font-weight: 650; }
.dc-solution-card a span { font-size: 21px; line-height: .7; }
.dc-solution-card--green { background: #f7fffb; } .dc-solution-card--green .dc-solution-card__icon { color: #169e6a; background: #ecfcf4; } .dc-solution-card--green a { border-color: #8acdae; }
.dc-solution-card--violet { background: #f9faff; } .dc-solution-card--violet .dc-solution-card__icon { color: #4e61ff; background: #f1f4ff; } .dc-solution-card--violet a { border-color: #a1adff; }
.dc-solution-card--gold { background: #fffaf2; } .dc-solution-card--gold .dc-solution-card__icon { color: #a36222; background: #fff6e7; } .dc-solution-card--gold a { border-color: #e0b47c; }
.dc-solution-card--rose { background: #fff8f8; } .dc-solution-card--rose .dc-solution-card__icon { color: #a43d49; background: #fff1f2; } .dc-solution-card--rose a { border-color: #e5a2a8; }
.dc-approach { display: grid; grid-template-columns: minmax(270px, .8fr) minmax(500px, 1.75fr) 270px; align-items: stretch; overflow: hidden; max-width: 1600px; min-height: 275px; margin: 0 auto; color: #f6f9ff; border-radius: 13px; background: radial-gradient(circle at 65% 40%, #155779, transparent 38%), linear-gradient(105deg, #071e35, #103954 60%, #081b30); }
.dc-approach__intro { padding: 40px clamp(26px, 3vw, 54px); }
.dc-approach .dc-approach__eyebrow { color: #f4f6fb; font-size: 10px; margin-bottom: 9px; } .dc-approach .dc-approach__eyebrow::after { width: 33px; }
.content-band .dc-approach h2 { margin: 0 0 12px; font-size: clamp(25px, 2vw, 36px); color: #fff; font-weight: 500; }
.dc-approach__intro > p:not(.dc-approach__eyebrow) { margin: 0 0 18px; color: #e0e9f3; font-size: 14px; line-height: 1.55; }
.dc-approach__intro a { display: inline-flex; align-items: center; gap: 16px; padding: 12px 21px; color: #142a45; border-radius: 99px; background: #ffcf64; text-decoration: none; font-size: 13px; font-weight: 650; }
.dc-approach__intro a span { font-size: 20px; }
.dc-approach__steps { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); align-content: center; gap: 18px; list-style: none; margin: 0; padding: 34px 8px; }
.dc-approach__steps::before { content: ''; position: absolute; z-index: 0; top: 53%; right: 11%; left: 12%; height: 1px; background: #f3bc3e; transform: translateY(-18px); }
.dc-approach__steps li { position: relative; z-index: 1; display: flex; align-items: center; flex-direction: column; text-align: center; }
.dc-approach__steps span { display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: 10px; color: #fff; border: 1px solid #b4c5d7; border-radius: 50%; background: #1a405a; font-size: 21px; }
.dc-approach__steps strong { color: #fff; font-size: 14px; } .dc-approach__steps small { margin-top: 3px; color: #e1eafa; font-size: 11px; }
.dc-approach__visual { position: relative; min-height: 275px; overflow: hidden; } .prose .dc-approach__visual img { width: 100%; height: 100%; object-fit: cover; opacity: .5; filter: saturate(.8); }
.dc-approach__visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #103954, transparent 60%), linear-gradient(0deg, #06172add, transparent 60%); }
.dc-approach__visual p { position: absolute; z-index: 1; right: 36px; bottom: 33px; margin: 0; color: #edf4fd; text-transform: uppercase; font-size: 11px; line-height: 2; letter-spacing: .25em; }.dc-approach__visual b { color: #ffc947; }
/* Featured case study: a single full-bleed scene with live CMS content above it. */
.dc-casestudy {
    --case-gold: #ffc344;
    position: relative; isolation: isolate; overflow: hidden; scroll-margin-top: 90px;
    padding-bottom: clamp(28px, 3.5vw, 70px);
    color: #f4f5fa; background: #031323;
}
.dc-casestudy__main { min-height: clamp(570px, 43.65vw, 875px); }
.dc-casestudy__copy { position: relative; z-index: 2; width: 41%; padding: clamp(55px, 5.65vw, 113px) 0 36px 4.2%; }
.dc-casestudy__eyebrow { display: flex; align-items: center; gap: 1.4vw; margin: 0 0 2.1vw; color: #f4f5fa; text-transform: uppercase; letter-spacing: .25em; font-size: clamp(10px, .82vw, 16px); font-weight: 400; }
.dc-casestudy__eyebrow::before { content: ""; width: 2.6vw; min-width: 28px; height: 3px; border-radius: 3px; background: var(--case-gold); }
.content-band .dc-casestudy h2 { margin: 0 0 1.15vw; color: #f5f5f8; font-size: clamp(34px, 3.1vw, 62px); font-weight: 600; line-height: 1.08; letter-spacing: -.025em; }
.dc-casestudy h2 span { color: var(--case-gold); }
.dc-casestudy__intro { max-width: 34vw; margin: 0 0 2.65vw; color: #d9dce5; font-size: clamp(15px, 1.22vw, 24px); line-height: 1.4; }
.dc-casestudy__stats { display: flex; align-items: center; list-style: none; margin: 0 0 2.8vw; padding: 0; }
.dc-casestudy__stats li { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: .8vw; align-items: center; min-width: 0; padding: 0 .85vw; border-left: 1px solid #a3b4ca80; }
.dc-casestudy__stats li:first-child { padding-left: 0; border: 0; }
.dc-casestudy__stats li:last-child { padding-right: 0; }
.dc-casestudy__stat-icon { grid-row: 1 / span 2; display: grid; place-items: center; width: clamp(48px, 4.25vw, 85px); height: clamp(48px, 4.25vw, 85px); border: 1px solid #a6b8cb66; border-radius: 50%; background: radial-gradient(circle at 35% 20%, #1e344766, #02111b80 70%); box-shadow: inset 0 0 0 4px #020d1c55; }
.prose .dc-casestudy__stat-icon img { width: 70%; height: 70%; object-fit: contain; }
.dc-casestudy__stats strong { align-self: end; color: var(--case-gold); font-size: clamp(17px, 1.4vw, 28px); font-weight: 600; line-height: 1.3; }
.dc-casestudy__stats li > span:last-child { align-self: start; color: #f4f5fa; font-size: clamp(10px, .79vw, 16px); line-height: 1.5; }
/* Painted by the shared gold button (theme.css); the block only scales it with the artwork. */
.dc-casestudy__cta { display: inline-flex; align-items: center; justify-content: center; gap: 1.2vw; min-height: clamp(48px, 3.45vw, 69px); padding: .7vw 2.1vw; text-decoration: none; font-size: clamp(14px, 1.16vw, 23px); line-height: 1.4; }
.dc-casestudy__cta span { font-size: 1.65em; font-weight: 400; line-height: 1; }
.dc-casestudy__cta:focus-visible { outline: 3px solid #fff; outline-offset: 5px; }
.dc-casestudy__visual { position: absolute; z-index: 0; inset: 0; }
.prose .dc-casestudy__image { display: block; width: 100%; height: 88%; max-width: none; object-fit: fill; object-position: center; }
.dc-casestudy__visual::before, .dc-casestudy__visual::after { content: ""; position: absolute; inset: 0; pointer-events: none; }
.dc-casestudy__visual::before { background: linear-gradient(110deg, #21315488, #11244222 65%); clip-path: polygon(31% 0, 49% 0, 37% 65%, 55% 100%, 50% 100%); }
.dc-casestudy__visual::after { background: linear-gradient(113deg, #0c1b32d9, #1d2b4980 45%, #06152526); clip-path: polygon(45% 0, 55% 0, 35% 77%, 34% 66%); border-top: 1px solid #afbed333; }
.dc-casestudy::after { content: ""; position: absolute; z-index: 0; inset: 0; pointer-events: none; background: linear-gradient(0deg, #031323e6, transparent 24%), linear-gradient(90deg, #031323b3, transparent 52%); }
.dc-casestudy__motto { position: absolute; z-index: 1; top: 6.5%; right: 6.1%; margin: 0; color: #f4f5fa; text-transform: uppercase; font-size: clamp(11px, 1vw, 20px); font-weight: 400; line-height: 1.6; letter-spacing: .2em; }
.dc-casestudy__motto::before { content: ""; position: absolute; z-index: -1; top: -8vw; right: -4vw; bottom: -24vw; left: -4vw; transform: skewX(-23deg); background: linear-gradient(180deg, #182644b3, #17253d66); pointer-events: none; }
.dc-casestudy__motto::after { content: ""; display: block; width: 2.7vw; height: 3px; margin-top: 1vw; background: var(--case-gold); }
.dc-casestudy__quote { position: absolute; z-index: 1; top: 27.8%; right: 1.5%; display: grid; grid-template-columns: 1fr 30%; column-gap: 1.1vw; width: 28.5%; margin: 0; padding: 1.7vw 1.5vw 1.35vw; color: #f5f5f8; border: 1px solid #b3c0d080; border-radius: 22px; background: linear-gradient(120deg, #273040bb, #111e31cc); box-shadow: 0 12px 34px #0003, inset 0 1px 0 #fff2; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.dc-casestudy__quote blockquote { margin: 0; padding: 0; }
.dc-casestudy__quote blockquote::before { content: "“"; display: block; height: 1.7vw; color: var(--case-gold); font-family: var(--font-sans); font-size: clamp(40px, 3.5vw, 70px); font-weight: 700; line-height: .8; }
.dc-casestudy__quote blockquote p { margin: .1vw 0 .9vw; font-size: clamp(11px, .9vw, 18px); line-height: 1.5; }
.dc-casestudy__quote figcaption { grid-column: 1; margin: 0; color: #f0f1f5; font-size: clamp(10px, .8vw, 16px); line-height: 1.4; }
.dc-casestudy__quote figcaption::before { content: ""; display: block; width: 2vw; height: 2px; margin-bottom: .65vw; background: var(--case-gold); }
.dc-casestudy__quote-meta { grid-column: 2; grid-row: 1 / span 2; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6vw; padding-left: 1.1vw; border-left: 1px solid #c5ced677; text-align: center; }
.prose .dc-casestudy__quote-meta img { width: 4.6vw; height: 5vw; object-fit: contain; opacity: .75; }
.dc-casestudy__quote-meta p { margin: 0; }
.dc-casestudy__quote-meta strong { display: block; margin-bottom: .35vw; color: #e1e6f0; font-size: clamp(8px, .65vw, 13px); font-weight: 400; letter-spacing: .1em; text-transform: uppercase; }
.dc-casestudy__quote-meta span { display: block; color: #e1e6f0; font-size: clamp(7px, .55vw, 11px); letter-spacing: .18em; line-height: 1.5; text-transform: uppercase; }
.dc-casestudy__bar { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.2fr) auto minmax(0, 1fr); align-items: center; gap: 2.5vw; min-height: 9.15vw; margin: 0 3.2%; padding: 1.8vw 1.55vw; border: 1px solid #90abc266; border-radius: 28px; background: linear-gradient(110deg, #05192bad, #243145b3 60%, #0a1729bd); box-shadow: inset 0 1px 0 #fff1; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.dc-casestudy__bar-copy { display: flex; align-items: center; gap: 1.6vw; min-width: 0; }
.dc-casestudy__bar-icon { display: grid; place-items: center; flex: 0 0 5.3vw; width: 5.3vw; height: 5.3vw; border: 1px solid #b4cde21f; border-radius: 50%; background: linear-gradient(135deg, #263d54, #09192a); }
.prose .dc-casestudy__bar-icon img { width: 58%; height: 58%; }
.content-band .dc-casestudy__bar h3 { margin: 0 0 .35vw; color: #f5f5f8; font-size: clamp(17px, 1.4vw, 28px); font-weight: 600; line-height: 1.3; letter-spacing: -.03em; }
.dc-casestudy__bar-copy p { margin: 0; color: #f0f1f6; font-size: clamp(12px, .97vw, 19px); line-height: 1.5; }
.dc-casestudy__cta--bar { justify-self: center; padding-inline: 1.6vw; font-size: clamp(12px, .97vw, 19px); white-space: nowrap; }
.dc-casestudy__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-self: stretch; list-style: none; margin: 0; padding: 0; }
.dc-casestudy__steps li { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .55vw; padding: 0 .7vw; border-left: 1px solid #a3b4ca55; color: #f4f5fa; text-align: center; font-size: clamp(11px, .88vw, 17px); font-weight: 400; line-height: 1.5; }
.dc-casestudy__step-icon { display: grid; place-items: center; width: 2.5vw; height: 2.5vw; }
.prose .dc-casestudy__step-icon img { width: 100%; height: 100%; }
@media (max-width: 1150px) and (min-width: 961px) {
    .dc-casestudy__main { min-height: 610px; }
    .dc-casestudy__copy { width: 54%; padding-top: 54px; }
    .dc-casestudy__intro { max-width: 420px; margin-bottom: 30px; }
    .dc-casestudy__stats { margin-bottom: 32px; }
    .dc-casestudy__quote { top: 23%; width: 33%; padding: 20px 16px; }
    .dc-casestudy__quote-break { display: none; }
    .dc-casestudy__quote blockquote::before { height: 25px; }
    .dc-casestudy__bar { grid-template-columns: 1fr auto; gap: 24px; padding: 24px; }
    .dc-casestudy__bar-icon { flex-basis: 64px; width: 64px; height: 64px; }
    .dc-casestudy__steps { grid-column: 1 / -1; padding-top: 18px; border-top: 1px solid #a3b4ca55; }
    .dc-casestudy__steps li:first-child { border-left: 0; }
    .dc-casestudy__step-icon { width: 32px; height: 32px; } }
@media (max-width: 960px) {
    .dc-casestudy { padding-bottom: 24px; }
    .dc-casestudy::after { display: none; }
    .dc-casestudy__main { min-height: 0; }
    .dc-casestudy__copy { width: 100%; padding: 42px 22px 24px; background: radial-gradient(ellipse at top right, #20315380, transparent 60%); }
    .dc-casestudy__eyebrow { gap: 16px; margin-bottom: 24px; font-size: 10px; }
    .content-band .dc-casestudy h2 { margin-bottom: 20px; font-size: clamp(27px, 6.3vw, 46px); line-height: 1.15; }
    .dc-casestudy__intro { max-width: 540px; margin-bottom: 28px; font-size: 15px; line-height: 1.6; }
    .dc-casestudy__stats { align-items: stretch; justify-content: flex-start; gap: 0; margin-bottom: 30px; }
    .dc-casestudy__stats li { grid-template-columns: 1fr; grid-template-rows: 60px auto 1fr; align-content: start; gap: 4px; flex: 1; padding: 0 12px; }
    .dc-casestudy__stat-icon { grid-row: auto; width: 52px; height: 52px; margin-bottom: 4px; }
    .dc-casestudy__stats strong { font-size: clamp(15px, 4.3vw, 21px); }
    .dc-casestudy__stats li > span:last-child { font-size: 10px; }
    .dc-casestudy__cta { min-height: 50px; padding: 12px 22px; gap: 18px; font-size: 14px; }
    .dc-casestudy__visual { position: relative; inset: auto; height: clamp(440px, 85vw, 560px); }
    .prose .dc-casestudy__image { height: 100%; object-fit: cover; object-position: 73% center; }
    .dc-casestudy__visual::before { display: none; }
    .dc-casestudy__visual::after { clip-path: none; border: 0; background: linear-gradient(180deg, #031323, transparent 18%, transparent 55%, #031323); }
    .dc-casestudy__motto::before { display: none; }
    .dc-casestudy__motto { top: 22px; right: 22px; font-size: 10px; }
    .dc-casestudy__motto::after { width: 30px; margin-top: 10px; height: 2px; }
    .dc-casestudy__quote { top: auto; right: 22px; bottom: 16px; left: 22px; width: auto; padding: 20px 18px; gap: 12px; border-radius: 18px; }
    .dc-casestudy__quote blockquote::before { height: 26px; font-size: 44px; }
    .dc-casestudy__quote blockquote p { margin: 0 0 12px; font-size: 12px; }
    .dc-casestudy__quote-break { display: none; }
    .dc-casestudy__quote figcaption { font-size: 11px; }
    .dc-casestudy__quote figcaption::before { width: 28px; margin-bottom: 10px; }
    .dc-casestudy__quote-meta { gap: 10px; padding-left: 12px; }
    .prose .dc-casestudy__quote-meta img { width: 58px; height: 65px; }
    .dc-casestudy__quote-meta strong { margin-bottom: 6px; font-size: 8px; }
    .dc-casestudy__quote-meta span { font-size: 7px; }
    .dc-casestudy__bar { grid-template-columns: 1fr; gap: 24px; margin: 8px 16px 0; padding: 24px 18px; border-radius: 22px; }
    .dc-casestudy__bar-copy { align-items: flex-start; gap: 14px; }
    .dc-casestudy__bar-icon { flex-basis: 48px; width: 48px; height: 48px; }
    .content-band .dc-casestudy__bar h3 { margin-bottom: 8px; font-size: 18px; line-height: 1.35; }
    .dc-casestudy__bar-copy p { font-size: 12px; line-height: 1.6; }
    .dc-casestudy__cta--bar { justify-self: stretch; font-size: 13px; white-space: normal; }
    .dc-casestudy__steps { gap: 0; padding-top: 20px; border-top: 1px solid #a3b4ca55; }
    .dc-casestudy__steps li { gap: 10px; padding: 0 6px; font-size: 10px; }
    .dc-casestudy__steps li:first-child { border-left: 0; }
    .dc-casestudy__step-icon { width: 32px; height: 32px; } }
@media (prefers-reduced-motion: reduce) { .dc-casestudy__cta { transition: none; } }
@media (min-width: 1760px) { .dc-about__copy { padding-left: max(64px, calc((100vw - 1632px) / 2)); } }
@media (max-width: 1150px) {
    .dc-solutions__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .dc-solution-card__body { min-height: 245px; }
    .dc-approach { grid-template-columns: 300px 1fr; }.dc-approach__visual { display: none; }
    .dc-values__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 0; }
    .dc-values__list li:nth-child(4) { border: 0; padding-left: 0; }
    .dc-values h3 { font-size: 13px; } .dc-values p { font-size: 10px; }
    .dc-about__copy { width: 62%; } .dc-about__visual { left: 53%; }
    .dc-about__statement { left: 20%; width: 205px; padding: 26px 18px; }
    .dc-about__services li { padding: 0 14px; }
    .dc-about__ideas { display: none; } }
@media (max-width: 760px) {
    .dc-solutions { padding: 40px 20px; }.dc-solutions__head { display: block; margin-bottom: 28px; }.dc-solutions__motto { display: none; }
    .dc-solutions__eyebrow { font-size: 10px; }.content-band .dc-solutions h2 { font-size: clamp(31px, 8.5vw, 40px); }.dc-solutions__head > div > p:last-child { font-size: 15px; }
    .dc-solutions__cards { grid-template-columns: 1fr; gap: 16px; }.dc-solution-card { display: grid; grid-template-columns: 43% 57%; }.prose .dc-solution-card > img { height: 100%; aspect-ratio: auto; }.dc-solution-card__body { min-height: 226px; padding: 31px 18px 15px; }.dc-solution-card__icon { top: -1px; left: -29px; width: 52px; height: 52px; font-size: 23px; }.dc-solution-card h3 { min-height: 0; font-size: 16px; }.dc-solution-card p { min-height: 0; font-size: 13px; }.dc-solution-card a { font-size: 12px; }
    .dc-approach { display: block; }.dc-approach__intro { padding: 32px 26px 12px; }.dc-approach__steps { grid-template-columns: repeat(2, 1fr); gap: 22px 4px; padding: 28px 20px 34px; }.dc-approach__steps::before { display: none; }.dc-approach__steps span { width: 53px; height: 53px; font-size: 17px; }.dc-approach__steps strong { font-size: 13px; }
    .dc-values__list { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 10px 18px; gap: 10px 0; }
    .dc-values__list li { border: 0; padding: 0 12px 0 0; gap: 10px; }
    .dc-values__list li:last-child { grid-column: 1 / -1; justify-self: center; }
    .dc-values h3 { font-size: 12px; } .dc-values p { font-size: 9px; } .dc-values p br { display: none; }
    .dc-values__icon { flex-basis: 36px; height: 36px; }
    .dc-about__copy { width: 100%; padding: 38px 24px; }
    .dc-about__eyebrow { font-size: 10px; margin-bottom: 22px; }
    .content-band .dc-about h2 { font-size: clamp(31px, 6.4vw, 46px); }
    .dc-about__intro { padding: 0; font-size: 15px; }
    .dc-about__services { grid-template-columns: 1fr; gap: 23px; }
    .dc-about__services li { padding: 0 0 0 82px; min-height: 64px; }
    .dc-about__services li:first-child { padding-left: 82px; }
    .dc-about__services li + li::before { display: none; }
    .dc-about__service-icon { position: absolute; left: 0; top: 0; width: 62px; height: 62px; }
    .dc-about__services h3 { font-size: 15px; } .dc-about__services p { font-size: 13px; }
    .dc-about__cta { font-size: 13px; padding: 12px 22px; gap: 16px; max-width: 100%; }
    .dc-about__visual { position: relative; inset: auto; height: 400px; }
    .dc-about__visual::after { background: linear-gradient(180deg, #fcfcfd, #fcfcfd00 25%); }
    .dc-about__statement { top: 18%; left: 7%; width: 210px; }
    .dc-about__promise { font-size: 9px; } }

/* Shared by the three showcases. A handwritten motto ends in a tapered brush swoosh; each motto sets its
   size and tilt, and where the swoosh starts, how far it runs and its gap (--swoosh-start/-width/-gap). */
.numbers-categories__heading em::after,.leadership-person footer > span::after,.leadership-closing-signature::after,
.services-showcase__top-signature::after,.services-showcase__side-signature::after,.services-tool__signature::after {
    content:""; display:block; width:var(--swoosh-width,60%); height:.55em; margin:var(--swoosh-gap,.3em) 0 0 var(--swoosh-start,40%); background:var(--swoosh-color,var(--color-gold));
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 16' preserveAspectRatio='none'%3E%3Cpath d='M0 15Q50 1 100 4Q52 7.5 0 15Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 16' preserveAspectRatio='none'%3E%3Cpath d='M0 15Q50 1 100 4Q52 7.5 0 15Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
/* "•"-separated taglines (_TaglineParts.cshtml): gold dots, and phrases that never break inside. */
.showcase-tagline-dot { margin:0 .45em; color:var(--color-gold); font-size:1.6em; line-height:0; letter-spacing:0; vertical-align:-.1em; }
.showcase-tagline-part { white-space:nowrap; }

/* Home numbers: proportions measured from the 1448px reference. */
.numbers-showcase {
    /* Stops growing where the page column does (1516px), like --sv in the Services showcase. */
    --nu: clamp(.72px, .0690608vw, 1.047px);
    --ns-deep: #071d55;
    --ns-blue: #164e8a;
    --ns-gold: #ecb82e;
    padding: calc(36 * var(--nu)) var(--page-inline) calc(17 * var(--nu));
    color: var(--ns-deep);
    background: linear-gradient(180deg, #fff 0%, #fcfeff 78%, #f5faff 100%);
    font: 400 max(.75rem, calc(14 * var(--nu)))/1.3 var(--font-sans);
}
.numbers-showcase *, .numbers-showcase *::before, .numbers-showcase *::after { box-sizing: border-box; }
.numbers-showcase h2, .numbers-showcase h3, .numbers-showcase h4 { color: var(--ns-deep); font-family: var(--font-sans); letter-spacing: -.035em; }
.numbers-showcase a { text-decoration: none; }
.numbers-showcase a:focus-visible { outline: 3px solid var(--color-gold); outline-offset: 3px; }
.numbers-showcase__header { display: flex; align-items: center; gap: calc(24 * var(--nu)); height: calc(35 * var(--nu)); margin: 0 0 calc(10 * var(--nu)); }
.numbers-showcase__title-wrap { display: flex; align-items: center; gap: calc(13 * var(--nu)); padding-right: calc(24 * var(--nu)); border-right: 1px solid #bed0e6; }
.numbers-showcase__title-wrap > span { width: calc(6 * var(--nu)); height: calc(25 * var(--nu)); background: linear-gradient(#ffd049, #f4af0d); }
.numbers-showcase__title-wrap h2 { margin: 0; line-height: 1; white-space: nowrap; }
.numbers-showcase__header > p { margin: 0; font-size: max(.6875rem, calc(10.5 * var(--nu))); font-weight: 600; letter-spacing: .09em; color: #245797; }
.numbers-showcase__header nav { display: flex; gap: calc(13 * var(--nu)); margin-left: auto; }
.numbers-showcase__header nav a,
.numbers-showcase__header nav button { width: calc(36 * var(--nu)); height: calc(36 * var(--nu)); display: grid; place-items: center; padding: 0; border: 1px solid #deebf8; border-radius: 50%; color: #084397; background: #fff; box-shadow: 0 2px 5px #14467912; cursor: pointer; }
.numbers-showcase__header nav a.is-next,
.numbers-showcase__header nav button.is-next { background: linear-gradient(135deg, #ffd763, #ffbb0a); border-color: #ffc828; color: #fff; }
.numbers-showcase__metrics { display: grid; grid-template-columns: 1.035fr 1fr 1fr 1.035fr; gap: calc(13 * var(--nu)); margin-bottom: calc(12 * var(--nu)); }
.numbers-metric { position: relative; overflow: hidden; display: flex; align-items: center; gap: calc(24 * var(--nu)); height: calc(88 * var(--nu)); padding: calc(10 * var(--nu)) calc(23 * var(--nu)); border: 1px solid #dfedfa; border-radius: calc(6 * var(--nu)); background: linear-gradient(105deg,#f2f8ff,#f5faff); }
.numbers-metric__icon, .numbers-category__icon { flex-shrink: 0; display: grid; place-items: center; width: calc(64 * var(--nu)); height: calc(64 * var(--nu)); border-radius: 50%; color: #004394; background: radial-gradient(circle at 30% 20%,#e7f4ff,#cee5fc); }
.numbers-metric__icon i { width: calc(38 * var(--nu)); height: calc(38 * var(--nu)); }
.numbers-metric > div { position: relative; z-index: 1; }
.numbers-metric strong { display: block; font: 700 calc(31 * var(--nu))/1.05 var(--font-sans); letter-spacing: -.045em; color: #04358a; white-space: nowrap; }
.numbers-metric p { margin: calc(3 * var(--nu)) 0 0; font-size: max(.75rem, calc(14 * var(--nu))); color: #003a8b; }
.numbers-metric p::after { content: ""; display: block; width: calc(27 * var(--nu)); height: 1px; margin-top: calc(8 * var(--nu)); background: #8fbeff; }
.numbers-metric__watermark { position: absolute; bottom: calc(-3 * var(--nu)); right: calc(19 * var(--nu)); width: calc(67 * var(--nu)); height: calc(67 * var(--nu)); color: #c6e1fb; opacity: .65; }
.numbers-tone--gold.numbers-metric, .numbers-tone--gold.numbers-category { border-color: #f8ecd3; background: linear-gradient(115deg,#fffdf9,#fffaf0); }
.numbers-tone--gold .numbers-metric__icon, .numbers-tone--gold .numbers-category__icon { color: #b86a00; background: radial-gradient(circle at 30% 20%,#fff5dc,#ffe9b8); }
.numbers-tone--gold.numbers-metric strong, .numbers-tone--gold.numbers-category strong { color: #b96a05; }
.numbers-tone--gold .numbers-metric__watermark { color: #f8df9c; }
.numbers-tone--gold.numbers-metric p::after { background: #efb823; }
.numbers-showcase__content { display: grid; grid-template-columns: 33.2% minmax(0,1fr); gap: calc(12 * var(--nu)); align-items: stretch; }
.numbers-story { position: relative; min-width: 0; padding: calc(18 * var(--nu)) calc(20 * var(--nu)) calc(8 * var(--nu)); border-radius: calc(8 * var(--nu)); color: #fff; background: linear-gradient(145deg,#0b3262 0%,#144e89 100%); box-shadow: 0 9px 22px #20538a13; }
.numbers-story__heading { display: flex; justify-content: space-between; align-items: start; padding-left: calc(17 * var(--nu)); position: relative; }
.numbers-story__heading::before, .numbers-categories__heading::before { content: ""; position: absolute; left: 0; top: calc(1 * var(--nu)); width: calc(6 * var(--nu)); height: calc(28 * var(--nu)); border-radius: 2px; background: linear-gradient(#ffcd35,#f7b713); }
.numbers-story__heading h3 { color: #fff; margin: 0; font-size: calc(27 * var(--nu)); line-height: 1.15; font-weight: 700; }
/* Wraps rather than widening the heading: kept on one line it pushed "View All" off a phone screen. */
.numbers-story__heading p { margin: calc(6 * var(--nu)) 0 0; font-size: max(.6875rem, calc(10 * var(--nu))); letter-spacing: .11em; line-height: 1.2; }
.numbers-story__heading a { padding-top: calc(8 * var(--nu)); color: #ffd020; font-size: max(.75rem, calc(12 * var(--nu))); font-weight: 600; white-space: nowrap; }
.numbers-story__heading a span { margin-left: calc(8 * var(--nu)); font-size: calc(19 * var(--nu)); vertical-align: -1px; }
/* A minimum, not a fixed height: a longer story or name grows the card instead of cutting off the
   "Placed at ..." line. The grid stretches the slide (and so the photo) to the card's height. */
.numbers-story__card { position: relative; display: grid; min-height: calc(205 * var(--nu)); margin: calc(18 * var(--nu)) 0 0; padding: calc(4 * var(--nu)); border: 1px solid #d4e6f8; border-radius: calc(11 * var(--nu)); background: linear-gradient(130deg,#fff,#fcfdff); color: #0c3981; }
.numbers-story__slide { display: grid; grid-template-columns: 46% minmax(0,1fr); }
.numbers-story__slide[hidden] { display: none; }
.numbers-story__photo { position: relative; min-width: 0; height: 100%; border-radius: calc(8 * var(--nu)); overflow: hidden; }
.numbers-story__initial { position: absolute; inset: 0; display: grid; place-items: center; width: 100%; height: 100%; color: #fff; font: 700 calc(64 * var(--nu))/1 var(--font-sans); }
.numbers-story__initial--1 { background: linear-gradient(160deg, #1d6ec4, #0b3d79); }
.numbers-story__initial--2 { background: linear-gradient(160deg, #e0a21a, #8d5e08); }
.numbers-story__initial--3 { background: linear-gradient(160deg, #1aa36a, #0c6844); }
.numbers-story__initial--4 { background: linear-gradient(160deg, #7a45c8, #43207a); }
/* Laid over the photo box rather than sizing it, so the story text alone sets the card height and
   the picture is cropped to fill it (a portrait would otherwise stretch the card to its own shape). */
.numbers-story__photo svg, .numbers-story__photo img, .numbers-story__photo picture { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
.numbers-story__quote { position: relative; min-width: 0; display: flex; flex-direction: column; padding: calc(35 * var(--nu)) calc(9 * var(--nu)) calc(3 * var(--nu)) calc(15 * var(--nu)); }
.numbers-story__quote > span { position: absolute; top: calc(3 * var(--nu)); left: calc(14 * var(--nu)); font: 700 calc(55 * var(--nu))/1 var(--font-sans); color: #f5ac14; }
.numbers-story__quote blockquote { margin: 0; font: 400 max(.75rem, calc(15 * var(--nu)))/1.29 var(--font-sans); color: #0a3986; }
.numbers-story__quote hr { width: calc(33 * var(--nu)); margin: calc(12 * var(--nu)) 0 calc(11 * var(--nu)); border: 0; border-top: 2px solid #edb324; opacity: 1; }
.numbers-story__quote strong { margin-top: auto; font: 700 max(.75rem, calc(16 * var(--nu)))/1.1 var(--font-sans); color: #071b51; }
.numbers-story__quote small { margin-top: calc(3 * var(--nu)); font-size: max(.75rem, calc(10 * var(--nu))); color: #224681; }
.numbers-story__previous, .numbers-story__next { position: absolute; z-index: 2; top: 44%; display: grid; place-items: center; width: calc(30 * var(--nu)); height: calc(30 * var(--nu)); padding: 0; border: 1px solid #e7ecf2; border-radius: 50%; color: #114795; background: #fff; font-size: calc(22 * var(--nu)); box-shadow: 0 3px 7px #102d4c22; cursor: pointer; }
.numbers-story__previous { left: calc(-15 * var(--nu)); }
.numbers-story__next { right: calc(-14 * var(--nu)); background: linear-gradient(135deg,#ffda67,#ffba0c); color: white; border-color: #ffcc45; }
.numbers-story__dots { display: flex; justify-content: center; gap: calc(10 * var(--nu)); margin: calc(9 * var(--nu)) 0 calc(7 * var(--nu)); }
.numbers-story__dots button { width: calc(10 * var(--nu)); height: calc(10 * var(--nu)); padding: 0; border: 0; border-radius: 50%; background: #4e94d8; cursor: pointer; }
.numbers-story__dots button[aria-current="true"] { background: #ffca24; }
.numbers-story__footer { position: relative; display: flex; gap: calc(14 * var(--nu)); align-items: center; margin: 0; padding: calc(8 * var(--nu)) calc(42 * var(--nu)) 0 calc(22 * var(--nu)); border-top: 1px solid #ffffff13; font-size: max(.75rem, calc(12 * var(--nu))); line-height: 1.28; white-space: pre-line; }
.numbers-story__footer i { flex-shrink: 0; width: calc(37 * var(--nu)); height: calc(30 * var(--nu)); color: #ffca2d; }
/* The arrow is drawn (the site icon's shape) rather than typed: Poppins has no "→", so the character
   came from a different fallback font on every device. */
.numbers-story__footer::after { content: ""; position: absolute; right: calc(16 * var(--nu)); top: calc(5 * var(--nu)); width: calc(32 * var(--nu)); height: calc(32 * var(--nu)); border-radius: 50%; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center / 60% no-repeat, #ffffff15; }
/* A column, so the bottom row of cards takes up any height the story panel beside it adds. */
.numbers-categories { display: flex; flex-direction: column; min-width: 0; padding: calc(14 * var(--nu)) calc(12 * var(--nu)) calc(9 * var(--nu)); border: 1px solid #e1edfa; border-radius: calc(9 * var(--nu)); background: linear-gradient(140deg,#fff,#fafdff); box-shadow: 0 8px 18px #17487409; }
.numbers-categories__heading { position: relative; display: flex; align-items: start; gap: calc(20 * var(--nu)); min-height: calc(53 * var(--nu)); padding-left: calc(21 * var(--nu)); }
.numbers-categories__heading h3 { margin: 0; font-size: calc(23 * var(--nu)); line-height: 1; font-weight: 700; }
.numbers-categories__heading p { margin: calc(7 * var(--nu)) 0 0; font-size: max(.6875rem, calc(10 * var(--nu))); letter-spacing: .12em; color: #104b92; }
.numbers-categories__heading em { position: relative; flex-shrink: 0; margin-left: auto; padding-top: calc(6 * var(--nu)); transform: rotate(-14deg); font: 400 max(.75rem, calc(15 * var(--nu)))/1.15 var(--font-script); color: #12448c; white-space: pre-line; --swoosh-start: 38%; --swoosh-width: 66%; --swoosh-gap: .05em; }
.numbers-categories__heading a { flex-shrink: 0; padding-top: calc(7 * var(--nu)); font-size: max(.75rem, calc(10 * var(--nu))); font-weight: 600; color: #034598; }.numbers-categories__heading a span { margin-left: calc(5 * var(--nu)); font-size: calc(18 * var(--nu)); vertical-align: -1px; }
.numbers-categories__top { display: grid; grid-template-columns: 1.72fr 1fr 1fr; gap: calc(12 * var(--nu)); }
.numbers-categories__bottom { flex: 1; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: calc(8 * var(--nu)); margin-top: calc(10 * var(--nu)); }
/* Icon and text sit in the middle of the card: the cards stretch to the height of the row (and of the
   story panel beside them), and top-aligned content left an empty band under it. The arrow keeps
   its bottom-right corner. */
.numbers-category { position: relative; min-width: 0; display: grid; grid-template-columns: calc(66 * var(--nu)) minmax(0,1fr); align-content: center; align-items: center; column-gap: calc(12 * var(--nu)); min-height: calc(140 * var(--nu)); padding: calc(11 * var(--nu)) calc(12 * var(--nu)) calc(17 * var(--nu)); border: 1px solid #e0edfa; border-radius: calc(8 * var(--nu)); color: #08245c; background: linear-gradient(130deg,#fcfeff,#f5faff); transition: box-shadow .15s; }
.numbers-category:hover { color: #08245c; box-shadow: 0 4px 12px #164e8a14; }
.numbers-category__icon { width: calc(66 * var(--nu)); height: calc(66 * var(--nu)); }.numbers-category__icon i { width: 55%; height: 55%; }
.numbers-category h4 { margin: 0; font-size: max(.75rem, calc(15.5 * var(--nu))); line-height: 1.04; font-weight: 700; }
.numbers-category p { margin: calc(5 * var(--nu)) 0 calc(6 * var(--nu)); color: #476b9c; font-size: max(.75rem, calc(11.5 * var(--nu))); line-height: 1.25; }
.numbers-category strong { display: block; font: 700 calc(22 * var(--nu))/1 var(--font-sans); letter-spacing: -.04em; color: #00378e; white-space: nowrap; }
.numbers-category small { display: block; margin-top: calc(5 * var(--nu)); color: #4269a0; font-size: max(.75rem, calc(10 * var(--nu))); line-height: 1; }
.numbers-category > b { position: absolute; left: calc(14 * var(--nu)); bottom: calc(13 * var(--nu)); color: #00a347; font: 600 calc(14 * var(--nu))/1 var(--font-sans); }
.numbers-category > .fa-arrow-right { position: absolute; right: calc(10 * var(--nu)); bottom: calc(7 * var(--nu)); display: grid; place-items: center; width: calc(25 * var(--nu)); height: calc(25 * var(--nu)); border: 1px solid #e1edfa; border-radius: 50%; background: #faffff; color: #0653d0; box-shadow: 0 2px 4px #18498716; }
.numbers-category__badge { display: inline-block!important; width: max-content; padding: calc(4 * var(--nu)) calc(7 * var(--nu)); margin: 0 0 calc(4 * var(--nu))!important; border-radius: calc(10 * var(--nu)); background: #c9e2ff; color: #0650b8!important; font-size: max(.75rem, calc(10 * var(--nu)))!important; }
.numbers-category--featured { grid-template-columns: calc(100 * var(--nu)) minmax(0,1fr); column-gap: calc(16 * var(--nu)); padding: calc(10 * var(--nu)) calc(76 * var(--nu)) calc(12 * var(--nu)) calc(13 * var(--nu)); background: radial-gradient(ellipse at 25% 45%,#e9f6ff,transparent 80%),#f5faff; border-color: #cde5ff; }
.numbers-category--featured .numbers-category__icon { align-self: center; width: calc(100 * var(--nu)); height: calc(100 * var(--nu)); }
.numbers-category--featured .numbers-category__icon i { width: 70%; height: 65%; }
.numbers-category--featured h4 { font-size: calc(21 * var(--nu)); }.numbers-category--featured p { white-space: nowrap; margin: calc(4 * var(--nu)) 0 calc(7 * var(--nu)); }
.numbers-category--featured strong { font-size: calc(31 * var(--nu)); }
.numbers-category--featured > b { left: auto; right: calc(18 * var(--nu)); bottom: calc(34 * var(--nu)); font-size: calc(14 * var(--nu)); text-align: right; }
.numbers-category--featured > b small { margin-top: calc(4 * var(--nu)); font-size: calc(9 * var(--nu)); font-weight: 400; }
.numbers-category--featured::after { content: ""; position: absolute; width: calc(56 * var(--nu)); height: calc(48 * var(--nu)); right: calc(18 * var(--nu)); top: calc(25 * var(--nu)); background: linear-gradient(transparent 83%,#cbe4fc 83%) 0 0/22% 100%,linear-gradient(transparent 56%,#c6e2fc 56%) 26% 0/22% 100%,linear-gradient(transparent 31%,#bddcff 31%) 53% 0/22% 100%,linear-gradient(#aed4ff,#dceeff) 100% 0/18% 100%; background-repeat: no-repeat; }
.numbers-category--featured > .fa-arrow-right { background: linear-gradient(#599dff,#1260e9); color: #fff; width: calc(23 * var(--nu)); height: calc(23 * var(--nu)); }
.numbers-category--small { grid-template-columns: calc(51 * var(--nu)) minmax(0,1fr); column-gap: calc(9 * var(--nu)); min-height: calc(129 * var(--nu)); padding: calc(7 * var(--nu)) calc(8 * var(--nu)) calc(25 * var(--nu)); }
.numbers-category--small .numbers-category__icon { width: calc(51 * var(--nu)); height: calc(51 * var(--nu)); }
.numbers-category--small h4 { margin-top: calc(2 * var(--nu)); font-size: max(.75rem, calc(12 * var(--nu))); line-height: 1.13; }
.numbers-category--small p { min-height: calc(31 * var(--nu)); margin: calc(5 * var(--nu)) 0 calc(6 * var(--nu)); font-size: max(.75rem, calc(10 * var(--nu))); line-height: 1.25; }
.numbers-category--small strong { font-size: calc(19 * var(--nu)); }.numbers-category--small small { font-size: max(.75rem, calc(9 * var(--nu))); }
.numbers-category--small > b { left: calc(9 * var(--nu)); bottom: calc(17 * var(--nu)); font-size: calc(13 * var(--nu)); }
.numbers-category--small > .fa-arrow-right { right: calc(6 * var(--nu)); bottom: calc(5 * var(--nu)); }
.numbers-tone--green .numbers-category__icon { color: #059f52; background: radial-gradient(circle at 30% 20%,#e1f9e9,#c5efd9); }
.numbers-tone--purple .numbers-category__icon { color: #7428d8; background: radial-gradient(circle at 30% 20%,#f1e9ff,#dcd0ff); }
.numbers-showcase h2, .numbers-showcase h3, .numbers-showcase h4,
.numbers-metric strong, .numbers-category strong, .numbers-story__quote strong {
    font-family: var(--font-sans);
}
.numbers-showcase__title-wrap h2 { font-size: calc(28 * var(--nu)); letter-spacing: -.03em; }
.numbers-story__photo, .numbers-story__quote { min-height: 0; }
/* The right padding keeps the text clear of the next-story button, which overlaps the card edge. */
.numbers-story__quote { padding-left: calc(12 * var(--nu)); padding-right: calc(18 * var(--nu)); }
.numbers-story__quote blockquote { font-size: max(.75rem, calc(14.5 * var(--nu))); line-height: 1.31; }
.numbers-story__quote hr { margin-top: calc(11 * var(--nu)); margin-bottom: calc(9 * var(--nu)); }
/* A sharper, lighter type pass (2026-09-28): the reference's 700s read as heavy at real sizes, so
   headings and figures step down to 600, card titles to 500, and the tight tracking opens up. */
.numbers-showcase h2, .numbers-story__heading h3, .numbers-categories__heading h3 { font-weight: 600; letter-spacing: -.015em; }
.numbers-metric strong, .numbers-category strong { font-weight: 600; letter-spacing: -.01em; }
.numbers-category h4 { font-weight: 500; letter-spacing: 0; }
.numbers-story__quote strong { font-weight: 600; }
.numbers-showcase__header > p, .numbers-story__heading a, .numbers-categories__heading a, .numbers-category > b { font-weight: 500; }
/* Locally drawn SVG masks keep every CMS icon visible without a third-party font. */
.numbers-showcase .fa-users { --numbers-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cdefs%3E%3Cmask%20id%3D%22cut%22%3E%3Cg%20fill%3D%22white%22%3E%3Ccircle%20cx%3D%2232%22%20cy%3D%2214%22%20r%3D%228%22%2F%3E%3Ccircle%20cx%3D%2213%22%20cy%3D%2220%22%20r%3D%226%22%2F%3E%3Ccircle%20cx%3D%2251%22%20cy%3D%2220%22%20r%3D%226%22%2F%3E%3Cpath%20d%3D%22M19%2055V37c0-8%205-13%2013-13s13%205%2013%2013v18H19zM4%2050V36c0-7%205-11%2011-10l5%202c-4%204-5%209-5%2015v7H4zM49%2050v-7c0-6-1-11-5-15l5-2c6-1%2011%203%2011%2010v14H49z%22%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3C%2Fdefs%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20mask%3D%22url(%23cut)%22%2F%3E%3C%2Fsvg%3E"); }
.numbers-showcase .fa-building { --numbers-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cdefs%3E%3Cmask%20id%3D%22cut%22%3E%3Cg%20fill%3D%22white%22%3E%3Cpath%20d%3D%22M9%2057V6l28%209v42H9zM40%2020h12v37H40zM4%2057h54v4H4z%22%2F%3E%3Cpath%20d%3D%22M16%2016v7m8-4v7m8-4v7M16%2029v7m8-4v7m8-4v7M16%2042v7m8-4v7m21-25v7m0%206v7%22%20stroke%3D%22black%22%20stroke-width%3D%223%22%2F%3E%3Cpath%20d%3D%22M25%2051h7v10h-7z%22%20fill%3D%22black%22%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3C%2Fdefs%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20mask%3D%22url(%23cut)%22%2F%3E%3C%2Fsvg%3E"); }
.numbers-showcase .fa-briefcase { --numbers-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cdefs%3E%3Cmask%20id%3D%22cut%22%3E%3Cg%20fill%3D%22white%22%3E%3Cpath%20d%3D%22M23%2016V11c0-3%202-5%205-5h10c3%200%205%202%205%205v5h-4v-4c0-1-1-2-2-2h-8c-1%200-2%201-2%202v4zM6%2033l24%208h6l24-8v20c0%204-3%206-6%206H12c-3%200-6-2-6-6zM5%2022c0-3%203-5%206-5h44c3%200%205%202%205%205v7l-25%209h-6L5%2029z%22%2F%3E%3Crect%20x%3D%2229%22%20y%3D%2232%22%20width%3D%227%22%20height%3D%2211%22%20rx%3D%222%22%20fill%3D%22black%22%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3C%2Fdefs%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20mask%3D%22url(%23cut)%22%2F%3E%3C%2Fsvg%3E"); }
.numbers-showcase .fa-graduation-cap { --numbers-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cdefs%3E%3Cmask%20id%3D%22cut%22%3E%3Cg%20fill%3D%22white%22%3E%3Cpath%20d%3D%22M2%2022L32%208l30%2014-30%2014L2%2022zM13%2032l19%209%2019-9v17c-11%209-27%209-38%200V32z%22%2F%3E%3Cpath%20d%3D%22M58%2026v21m-2%200h4v9h-4z%22%20stroke%3D%22white%22%20stroke-width%3D%223%22%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3C%2Fdefs%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20mask%3D%22url(%23cut)%22%2F%3E%3C%2Fsvg%3E"); }
.numbers-showcase .fa-handshake { --numbers-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cdefs%3E%3Cmask%20id%3D%22cut%22%3E%3Cg%20fill%3D%22white%22%3E%3Cpath%20d%3D%22M3%2019l8-10%2013%206-10%2023L2%2029zM61%2019L53%209l-13%206%2010%2024%2012-10zM19%2020l10-7%2010%201%209%2023-14%2013c-2%202-4%201-6-1L14%2037z%22%2F%3E%3Cpath%20d%3D%22M21%2028l10-8%208%204M15%2037l13%2011M21%2033l15%2012M28%2029l14%2011%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3C%2Fdefs%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20mask%3D%22url(%23cut)%22%2F%3E%3C%2Fsvg%3E"); }
.numbers-showcase .fa-person-dress { --numbers-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cdefs%3E%3Cmask%20id%3D%22cut%22%3E%3Cg%20fill%3D%22white%22%3E%3Cpath%20d%3D%22M13%2034c3-8%202-13%204-22C19%203%2027%200%2033%202c10%201%2015%208%2015%2018%200%206%202%2011%205%2015l-13%206H24zM10%2059c0-14%207-21%2014-23l8%2012%208-12c9%204%2015%2011%2015%2023H10z%22%2F%3E%3Cpath%20d%3D%22M23%2014c2%205%209%209%2018%2010-1%2010-5%2015-10%2015-6%200-10-8-10-14z%22%20fill%3D%22black%22%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3C%2Fdefs%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20mask%3D%22url(%23cut)%22%2F%3E%3C%2Fsvg%3E"); }
.numbers-showcase .fa-gear { --numbers-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cdefs%3E%3Cmask%20id%3D%22cut%22%3E%3Cg%20fill%3D%22white%22%3E%3Cpath%20d%3D%22M26%202h12l2%208%207%203%207-4%208%209-5%207%202%208%207%203-2%2012-9%201-5%206%201%208-11%205-5-7-8-1-6%206-10-6%202-8-4-7-8-2V31l8-3%203-7-4-7%209-8%207%204z%22%20transform%3D%22translate%282%200%29%20scale%28.88%29%22%2F%3E%3Ccircle%20cx%3D%2232%22%20cy%3D%2231%22%20r%3D%2211%22%20fill%3D%22black%22%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3C%2Fdefs%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20mask%3D%22url%28%23cut%29%22%2F%3E%3C%2Fsvg%3E"); }
.numbers-showcase .fa-wheelchair { --numbers-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cdefs%3E%3Cmask%20id%3D%22cut%22%3E%3Cg%20fill%3D%22white%22%3E%3Ccircle%20cx%3D%2229%22%20cy%3D%227%22%20r%3D%226%22%2F%3E%3Cpath%20d%3D%22M27%2018v21h17l10%2018%207-4M29%2025h15%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%226%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M19%2027a18%2018%200%201%200%2023%2026%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%225%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3C%2Fdefs%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20mask%3D%22url(%23cut)%22%2F%3E%3C%2Fsvg%3E"); }
.numbers-showcase .fa-leaf { --numbers-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cdefs%3E%3Cmask%20id%3D%22cut%22%3E%3Cg%20fill%3D%22white%22%3E%3Cpath%20d%3D%22M30%2058V35C10%2039%202%2025%203%208c18%200%2030%208%2027%2027V58zM34%2058V35C54%2039%2062%2025%2061%208c-18%200-30%208-27%2027z%22%2F%3E%3Cpath%20d%3D%22M11%2017l19%2020m23-20L34%2037%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%2F%3E%3Cpath%20d%3D%22M30%2035h4v27h-4z%22%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3C%2Fdefs%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20mask%3D%22url(%23cut)%22%2F%3E%3C%2Fsvg%3E"); }
.numbers-showcase .fa-arrows-rotate { --numbers-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cdefs%3E%3Cmask%20id%3D%22cut%22%3E%3Cg%20fill%3D%22white%22%3E%3Cpath%20d%3D%22M53%2016A25%2025%200%200%200%208%2036M11%2048a25%2025%200%200%200%2045-21%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%225%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M44%2017h14V3zM20%2047H6v14z%22%2F%3E%3Ccircle%20cx%3D%2232%22%20cy%3D%2225%22%20r%3D%228%22%2F%3E%3Cpath%20d%3D%22M19%2047v-5a13%2013%200%200%201%2026%200v5z%22%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3C%2Fdefs%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20mask%3D%22url(%23cut)%22%2F%3E%3C%2Fsvg%3E"); }
.numbers-showcase .fa-chart-column { --numbers-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cdefs%3E%3Cmask%20id%3D%22cut%22%3E%3Cg%20fill%3D%22white%22%3E%3Cpath%20d%3D%22M6%2041h10v19H6zM24%2025h10v35H24zM43%209h11v51H43z%22%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3C%2Fdefs%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20mask%3D%22url(%23cut)%22%2F%3E%3C%2Fsvg%3E"); }
.numbers-showcase .fas { display: inline-block; font-style: normal; }
.numbers-showcase .numbers-category > .fa-arrow-right { display: grid; }
.numbers-showcase .fas::before { content: ""; display: block; width: 100%; height: 100%; background: currentColor; mask: var(--numbers-icon) center/contain no-repeat; }
.numbers-showcase .fa-arrow-right, .numbers-showcase .fa-arrow-left { --numbers-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cdefs%3E%3Cmask%20id%3D%22cut%22%3E%3Cg%20fill%3D%22white%22%3E%3Cpath%20d%3D%27M4%2012h15M13%205l7%207-7%207%27%20fill%3D%27none%27%20stroke%3D%27white%27%20stroke-width%3D%272.3%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3C%2Fdefs%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20mask%3D%22url(%23cut)%22%2F%3E%3C%2Fsvg%3E"); }
.numbers-showcase__header .fas { width: calc(14 * var(--nu)); height: calc(14 * var(--nu)); }.numbers-showcase .fa-arrow-left { transform: rotate(180deg); }.numbers-category > .fa-arrow-right::before { width: 52%; height: 52%; }@media (max-width: 1050px) {
    .numbers-showcase { --nu: 1px; padding: 22px var(--page-inline); }
    .numbers-showcase__header { height: auto; flex-wrap: wrap; margin-bottom: 16px; gap: 12px; }.numbers-showcase__header > p { order: 3; flex-basis: 100%; }.numbers-showcase__title-wrap h2 { font-size: 25px; }.numbers-showcase__title-wrap { border: 0; padding: 0; }
    .numbers-showcase__metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }.numbers-metric { gap: 16px; padding: 10px 18px; }.numbers-metric strong { font-size: 28px; }
    .numbers-showcase__content { grid-template-columns: 1fr; gap: 16px; }.numbers-story { max-width: none; }.numbers-story__card { min-height: 240px; }.numbers-story__slide { grid-template-columns: 42% 1fr; }.numbers-story__quote blockquote { font-size: 19px; }.numbers-story__quote { padding: 38px 20px 14px; }.numbers-story__quote strong { font-size: 20px; }.numbers-story__quote small { font-size: 12px; }
    .numbers-categories__heading em { display: none; }.numbers-categories__heading a { margin-left: auto; }.numbers-categories__top { grid-template-columns: 1.6fr 1fr 1fr; gap: 8px; }.numbers-category { grid-template-columns: 1fr; }.numbers-category__icon { width: 44px; height: 44px; margin-bottom: 8px; }.numbers-category--featured { grid-template-columns: 70px 1fr; padding-right: 14px; }.numbers-category--featured .numbers-category__icon { width: 64px; height: 64px; }.numbers-category--featured::after { display: none; }.numbers-category--featured > b { left: 14px; right: auto; bottom: 12px; text-align: left; }.numbers-category--featured > b small { display: inline; }
    .numbers-category--small { grid-template-columns: 1fr; min-height: 180px; }.numbers-category--small p { min-height: 30px; }.numbers-category > b { bottom: 12px; }.numbers-category--featured strong { font-size: 27px; } }@media (max-width: 640px) {
    .numbers-showcase__title-wrap h2 { font-size: 21px; }.numbers-showcase__header { gap: 8px; }.numbers-showcase__header nav { gap: 6px; }.numbers-showcase__header nav a, .numbers-showcase__header nav button { width: 28px; height: 28px; }
    .numbers-metric { gap: 10px; padding: 10px; }.numbers-metric__icon { width: 40px; height: 40px; }.numbers-metric__icon i { width: 26px; height: 26px; }.numbers-metric strong { font-size: clamp(1.125rem, 5.4vw, 1.375rem); }.numbers-metric p { font-size: 12px; }.numbers-metric__watermark { width: 38px; height: 38px; right: 5px; }
    .numbers-story { padding: 16px 14px 12px; }.numbers-story__heading h3 { font-size: 25px; }.numbers-story__heading p { font-size: .6875rem; }.numbers-story__card { min-height: 258px; }.numbers-story__slide { grid-template-columns: 42% 1fr; }.numbers-story__quote { padding: 36px 18px 9px 10px; }.numbers-story__quote blockquote { font-size: 14px; }.numbers-story__quote small { white-space: normal; font-size: .75rem; }.numbers-story__quote strong { font-size: 16px; }.numbers-story__footer { padding-left: 10px; }
    .numbers-categories__heading { flex-wrap: wrap; gap: 8px; padding-bottom: 14px; }.numbers-categories__heading h3 { font-size: 21px; }.numbers-categories__heading p { font-size: .6875rem; }.numbers-categories__heading a { margin-left: 0; padding: 0; }
    .numbers-categories__top { grid-template-columns: repeat(2,minmax(0,1fr)); }.numbers-category--featured { grid-column: 1/-1; grid-template-columns: 100px 1fr; min-height: 152px; padding: 12px 65px 12px 14px; }.numbers-category--featured .numbers-category__icon { width: 88px; height: 88px; }.numbers-category--featured::after { display: block; width: 43px; right: 12px; }.numbers-category--featured > b { left: auto; right: 12px; bottom: 35px; }.numbers-category--featured > b small { display: block; font-size: 8px; }
    .numbers-category:not(.numbers-category--featured) { min-height: 170px; padding-bottom: 36px; }.numbers-categories__bottom { grid-template-columns: repeat(2,minmax(0,1fr)); }.numbers-category--small { grid-template-columns: 45px minmax(0,1fr); gap: 8px; }.numbers-category--small .numbers-category__icon { width: 42px; height: 42px; }.numbers-category--small h4 { font-size: 13px; }.numbers-category--small p { min-height: 40px; font-size: .75rem; }.numbers-category--small strong { font-size: 19px; } }@media (prefers-reduced-motion: reduce) { .numbers-category { transition: none; } }

/* Editable leadership composition, after the 1672 x 941 reference: the Chief Minister's card on the
   left, the other leaders in a 2 x 2 grid of cards beside it.

   The featured card keeps the reference's layered art. It is a size container, so every cqw inside it
   is a share of the card rather than of the section, and the composition holds together at whatever
   width the layout gives the card. The other cards are laid out in flow - portrait and name side by
   side, the quote under both - and sized in rem: a long name or role makes its card taller instead of
   running into the quote, text keeps a readable size on a narrow desktop, and nothing reaches outside
   its own card. */
.leadership-showcase {
    --leadership-blue:#164e8a; --leadership-deep:#08295e; --leadership-gold:#ecb82e;
    container-type:inline-size; position:relative; isolation:isolate; width:100%;
    box-sizing:border-box; overflow:hidden; padding:24px var(--page-inline) 28px;
    color:var(--leadership-deep); background:linear-gradient(120deg,#fbfdff,#f4f9fd 55%,#fff);
}
.leadership-showcase * { box-sizing:border-box; }
.leadership-heading { position:relative; z-index:3; width:64%; margin:0 0 2.5cqw 18%; text-align:center; }
.leadership-eyebrow { display:flex; align-items:center; justify-content:center; gap:2cqw; margin:0 0 1.25cqw; font:600 max(.6875rem,.8cqw)/1.5 var(--font-sans); letter-spacing:.48em; color:#5076a7; }
.leadership-eyebrow span { width:3.2cqw; height:1px; background:#a9bed6; }
.leadership-heading h2 { margin:0; font:700 3.5cqw/.98 var(--font-sans); letter-spacing:-.035em; }
.leadership-heading h2 span,.leadership-heading h2 strong { display:block; }
.leadership-heading h2 strong { color:var(--leadership-gold); font-weight:700; }
.leadership-intro { margin:1cqw 0 0; font:400 max(.9375rem,1.23cqw)/1.4 var(--font-sans); color:#496ca3; letter-spacing:.05em; }
.leadership-side-tagline { position:absolute; right:var(--page-inline); top:3cqw; width:max-content; margin:0; white-space:pre-line; font:500 max(.6875rem,.75cqw)/2.1 var(--font-sans); letter-spacing:.24em; color:#5076a7; }
.leadership-side-tagline::after { content:""; display:block; width:2cqw; height:2px; margin-top:.8cqw; background:var(--leadership-gold); }
.leadership-layout { display:grid; position:relative; grid-template-columns:43% 24% 24%; gap:clamp(18px,1.7cqw,30px) 2%; padding-top:1cqw; align-items:stretch; }

/* A leader's card: portrait and name on the first row, the quote across the second. */
.leadership-person { position:relative; min-width:0; isolation:isolate; display:grid; grid-template-columns:minmax(0,min(40%,200px)) minmax(0,1fr); align-content:start; align-items:center; gap:14px clamp(12px,1cqw,18px); padding:clamp(14px,1.1cqw,20px); }
.leadership-person::before { content:""; position:absolute; inset:0; z-index:-1; border:1px solid var(--color-line); border-radius:16px; background:linear-gradient(135deg,var(--color-surface),var(--color-surface-alt)); box-shadow:var(--shadow-sm); }
/* The reference's blue and gold shapes, cut down to one block behind the card's top-left corner. It
   shows as a coloured edge in the gap and never reaches the next card. */
.leadership-person::after { content:""; position:absolute; z-index:-2; top:-6px; left:-6px; width:44%; height:62%; border-radius:18px 12px 12px; background:var(--leadership-blue); }
.leadership-person:nth-child(3)::after,.leadership-person:nth-child(4)::after { background:var(--leadership-gold); }
.leadership-person-copy { display:contents; }
.leadership-portrait { grid-column:1; grid-row:1; align-self:stretch; position:relative; min-height:clamp(110px,8.4cqw,150px); border-radius:12px; overflow:hidden; background:linear-gradient(180deg,var(--color-tint),var(--color-surface)); }
.leadership-portrait svg,.leadership-portrait picture,.leadership-portrait img { display:block; width:100%; height:100%; }
/* Laid over the panel rather than sizing it: art sized by its own aspect ratio would make a card in a
   wide column as tall as the column is wide. */
.leadership-portrait > :is(svg,picture,img) { position:absolute; left:4px; top:8px; width:calc(100% - 8px); height:calc(100% - 8px); }
.leadership-portrait svg { overflow:visible; }
.leadership-portrait img { object-fit:contain; object-position:center bottom; }
.leadership-identity { grid-column:2; grid-row:1; min-width:0; }
.leadership-identity h3 { margin:0 0 4px; font:600 clamp(.875rem,.95cqw,1.0625rem)/1.3 var(--font-sans); letter-spacing:.01em; }
.leadership-identity p { margin:0; font:500 clamp(.75rem,.78cqw,.875rem)/1.45 var(--font-sans); color:#496ca3; }
.leadership-identity::after { content:""; display:block; width:28px; height:2px; margin-top:10px; background:var(--leadership-gold); }
.leadership-person blockquote { grid-column:1 / -1; grid-row:2; position:relative; margin:0; padding:12px 0 0 clamp(34px,2.6cqw,42px); border-top:1px solid var(--color-line); font:400 clamp(.875rem,.95cqw,1.0625rem)/1.45 var(--font-sans); color:#214782; }
.leadership-person blockquote > span { position:absolute; left:0; top:8px; font:700 clamp(2.25rem,2.6cqw,2.875rem)/1 var(--font-sans); color:var(--leadership-gold); }

/* The featured card. From here down cqw is a share of this card's width; the values are the
   reference's, carried over from section units when the card was 47% of the layout (x 100/47). The
   grid used to stretch it to a square, which the art is drawn for, so it is square in its own right. */
.leadership-person--featured { container-type:inline-size; display:block; grid-row:span 2; align-self:center; aspect-ratio:1; margin-top:-10.4%; padding:0; }
.leadership-person--featured::before { inset:4.26cqw 0 0; border:0; border-radius:4.26cqw; box-shadow:none; background:linear-gradient(130deg,#075a9f,#063b78); clip-path:polygon(0 0,94% 14%,100% 92%,0 100%); }
.leadership-person--featured::after { inset:14.89cqw -1.28cqw 3.62cqw 2.13cqw; width:auto; height:auto; border-radius:4.26cqw; transform:rotate(-3deg); background:var(--leadership-gold); }
.leadership-person--featured .leadership-portrait { position:absolute; z-index:0; top:0; left:7%; width:83%; height:89.36cqw; min-height:0; border-radius:0; overflow:visible; background:none; }
.leadership-person--featured .leadership-portrait > :is(svg,picture,img) { position:static; width:100%; height:100%; }
.leadership-person--featured .leadership-person-copy { display:block; position:absolute; z-index:2; top:51.7cqw; left:3%; width:70%; padding:3.83cqw 3.4cqw 3.4cqw 12.13cqw; background:linear-gradient(110deg,#fffffff5,#fff6edef); border-radius:4.26cqw; }
.leadership-person--featured blockquote { padding:0; border:0; font:400 3.09cqw/1.13 var(--font-sans); }
.leadership-person--featured blockquote > span { left:-9.79cqw; top:-1.7cqw; font-size:14.89cqw; }
.leadership-person footer { display:flex; align-items:end; gap:2.13cqw; margin-top:2.66cqw; }
.leadership-person footer h3 { font:600 max(.6875rem,1.81cqw)/1.4 var(--font-sans); letter-spacing:.17em; text-transform:uppercase; margin:0; }
.leadership-person footer p { font:500 max(.6875rem,1.38cqw)/1.5 var(--font-sans); letter-spacing:.19em; text-transform:uppercase; margin:0; }
/* 5.2em breaks "For a Brighter UP" as the reference does: "For a / Brighter UP". */
.leadership-person footer > span { width:max-content; max-width:5.2em; margin:0 0 2.13cqw 9.57cqw; color:#1d3f86; font:400 2.98cqw/1.15 var(--font-script); transform:rotate(-14deg); --swoosh-start:22%; --swoosh-width:82%; --swoosh-gap:.2em; }
.leadership-person footer > div::before { content:""; display:block; width:6.38cqw; height:2px; background:var(--leadership-gold); margin-bottom:2.13cqw; }
.leadership-featured-motto,.leadership-skills-motto { position:absolute; z-index:1; white-space:pre-line; color:#b5d1e8; font:400 max(.6875rem,1.53cqw)/1.7 var(--font-sans); letter-spacing:.23em; margin:0; }
.leadership-featured-motto::after,.leadership-skills-motto::after { content:""; display:block; width:4.26cqw; height:2px; margin-top:1.7cqw; background:var(--leadership-gold); }
.leadership-featured-motto { left:4.6%; top:11.91cqw; }
.leadership-skills-motto { right:7%; top:22.13cqw; }

.leadership-bottom-tagline { margin:3.2cqw 0 0; font:500 max(.6875rem,.7cqw)/1.5 var(--font-sans); color:#4c6f9e; letter-spacing:.3em; text-transform:uppercase; }
.leadership-bottom-tagline::before { content:""; display:inline-block; width:3cqw; height:2px; background:var(--leadership-gold); margin:0 1.2cqw .2cqw 0; }
/* 3.6em stacks the closing motto one word a line, the tall narrow block the reference draws beside
   the last leader card (Kalam's "Uttar Pradesh" is too wide to share a line in that space). */
.leadership-closing-signature { position:absolute; right:calc(var(--page-inline) - .5cqw); bottom:6.4cqw; width:max-content; max-width:3.6em; margin:0; color:#1d3f86; font:400 1.35cqw/1.12 var(--font-script); white-space:pre-line; transform:rotate(-12deg); --swoosh-start:10%; --swoosh-width:92%; }
.leadership-portal-tagline { position:absolute; right:calc(var(--page-inline) + 3.2cqw); bottom:28px; margin:0; color:#4c6f9e; font:500 max(.6875rem,.7cqw)/1.5 var(--font-sans); letter-spacing:.25em; }
.leadership-orbit { position:absolute; z-index:-1; border:2cqw solid #164e8a08; border-radius:50%; width:18cqw; height:18cqw; }
.leadership-orbit--one { top:0; left:-9cqw; }
.leadership-orbit--two { right:-10cqw; bottom:4cqw; }
.leadership-showcase::before,.leadership-showcase::after { content:""; position:absolute; width:5cqw; height:6cqw; background:radial-gradient(var(--color-gold) 1px,transparent 1px) 0 0/1.1cqw 1.1cqw; opacity:.8; }
.leadership-showcase::before { top:5cqw; left:calc(var(--page-inline) + 7.3cqw); }
.leadership-showcase::after { right:calc(var(--page-inline) - 1cqw); top:26cqw; }

/* Home services and AI tools — all visible copy and artwork is supplied by the CMS block.
   Sized in --sv, the viewport unit capped where the page column stops growing (1516px, the
   header's 1460px plus its gutters): up to there it is exactly 1vw, beyond it the showcase keeps
   the size it has at that width instead of scaling on across a wide monitor. */
.services-showcase {
    --ss-blue:#0758a8; --ss-deep:#08275f; --ss-gold:#f3bd29;
    --sv: min(1vw, 15.16px);
    position:relative; isolation:isolate; overflow:hidden; padding:calc(6.2 * var(--sv)) var(--page-inline) calc(2.8 * var(--sv));
    color:var(--ss-deep); background:linear-gradient(120deg,#fff 0%,#f5fbff 58%,#fffdf8 100%);
}
.services-showcase::before,.services-showcase::after { content:""; position:absolute; z-index:-1; border:calc(2.2 * var(--sv)) solid #0b69bc09; border-radius:50%; width:calc(18 * var(--sv)); height:calc(18 * var(--sv)); }
.services-showcase::before { left:calc(-9 * var(--sv)); top:calc(-10 * var(--sv)); }.services-showcase::after { right:calc(-9 * var(--sv)); bottom:calc(-8 * var(--sv)); }
.services-showcase__dots { position:absolute; top:calc(2 * var(--sv)); left:70%; width:calc(5 * var(--sv)); height:calc(5 * var(--sv)); opacity:.5; background:radial-gradient(#66a8e6 1.5px,transparent 1.5px) 0 0/calc(1.2 * var(--sv)) calc(1.2 * var(--sv)); }
.services-showcase__top-signature { position:absolute; right:4.5%; top:calc(2.1 * var(--sv)); width:max-content; max-width:16em; margin:0; color:#86a3d3; white-space:pre-line; transform:rotate(-19deg); font:400 calc(1.25 * var(--sv))/1.4 var(--font-hand); }
.services-showcase__top { display:grid; grid-template-columns:26.5% 1fr; gap:2.4%; align-items:stretch; max-width:1500px; margin:0 auto; }
.services-showcase__intro { position:relative; padding:0 calc(1.2 * var(--sv)) 0 0; }
.services-showcase__eyebrow { display:flex; align-items:center; gap:calc(1.25 * var(--sv)); margin:0 0 calc(1.5 * var(--sv)); font:600 calc(.75 * var(--sv))/1 var(--font-sans); letter-spacing:.42em; }
.services-showcase__eyebrow span { width:calc(3 * var(--sv)); height:2px; background:var(--ss-gold); }
.services-showcase__intro h2 { max-width:10ch; margin:0; color:var(--ss-deep); font:700 calc(3.35 * var(--sv))/1 var(--font-sans); letter-spacing:-.035em; }
.services-showcase__lede { max-width:24ch; margin:calc(1.45 * var(--sv)) 0 calc(1.8 * var(--sv)); color:#315d99; font:400 calc(1.27 * var(--sv))/1.45 var(--font-sans); }
.services-showcase__intro-points { display:grid; gap:calc(.8 * var(--sv)); padding:0; margin:0; list-style:none; color:#315d99; font:400 calc(.94 * var(--sv))/1.35 var(--font-sans); }
.services-showcase__intro-points li { display:flex; align-items:center; gap:calc(.9 * var(--sv)); }
.services-showcase__intro-points span { display:grid; place-items:center; flex:0 0 calc(3.05 * var(--sv)); height:calc(3.05 * var(--sv)); border-radius:50%; color:#0a4c9f; background:#e8f3fe; font-size:calc(1.15 * var(--sv)); }
.services-showcase__intro-points .icon,.services-showcase__journey-icon .icon,.services-showcase__quick .icon { width:1em; height:1em; }
.services-showcase__side-signature { position:absolute; left:calc(1 * var(--sv)); bottom:calc(-9 * var(--sv)); width:max-content; max-width:12em; margin:0; color:#7d9ccd; white-space:pre-line; transform:rotate(-20deg); font:400 calc(1.3 * var(--sv))/1.35 var(--font-hand); }
.services-showcase__tools { display:grid; grid-template-columns:1fr 1.08fr; gap:calc(1.25 * var(--sv)); }
.services-tool { position:relative; min-height:calc(31.5 * var(--sv)); overflow:hidden; padding:calc(1.4 * var(--sv)) calc(1.55 * var(--sv)) calc(1.2 * var(--sv)); border-radius:calc(1 * var(--sv)); color:#fff; background:linear-gradient(145deg,#086bc5,#014385); box-shadow:0 calc(.8 * var(--sv)) calc(2 * var(--sv)) #0b4d8b18; }
.services-tool--gold { color:var(--ss-deep); background:linear-gradient(145deg,#ffd84e,#f3b91f 82%); }
.services-tool::before { content:""; position:absolute; inset:auto -15% -25% 30%; width:calc(24 * var(--sv)); height:calc(24 * var(--sv)); border:1px solid #ffffff1c; border-radius:50%; }
.services-tool__badge { position:relative; z-index:2; display:inline-flex; align-items:center; gap:calc(.6 * var(--sv)); margin:0 0 calc(1.3 * var(--sv)); padding:calc(.65 * var(--sv)) calc(1.1 * var(--sv)); border-radius:999px; color:#315a9a; background:#fff; font:600 calc(.68 * var(--sv))/1 var(--font-sans); letter-spacing:.16em; }
.services-tool__copy { position:relative; z-index:2; width:58%; }
.services-tool__copy h3 { margin:0 0 calc(.55 * var(--sv)); font:700 calc(2.15 * var(--sv))/1.03 var(--font-sans); }
.services-tool__copy p { margin:0; font:400 calc(1.05 * var(--sv))/1.35 var(--font-sans); }
.services-tool__art { position:absolute; z-index:1; right:2%; top:calc(2.1 * var(--sv)); width:43%; height:calc(15 * var(--sv)); overflow:hidden; }
.services-tool__art picture,.services-tool__art img,.services-tool__art svg { display:block; width:100%; height:100%; object-fit:contain; }
.services-tool__features { position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:calc(.55 * var(--sv)); margin:calc(3 * var(--sv)) 0 calc(1.1 * var(--sv)); padding:0; list-style:none; }
.services-tool__features li { display:flex; align-items:center; gap:calc(.75 * var(--sv)); min-height:calc(3.15 * var(--sv)); padding:calc(.6 * var(--sv)) calc(.85 * var(--sv)); border:1px solid #ffffff2b; border-radius:calc(.65 * var(--sv)); background:#ffffff18; font:600 calc(.77 * var(--sv))/1.15 var(--font-sans); }
.services-tool--gold .services-tool__features li { border-color:#fff7; background:#fff5; }
.services-tool__features .icon { width:calc(1.1 * var(--sv)); height:calc(1.1 * var(--sv)); flex-shrink:0; }
.services-tool__cta { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; width:47%; min-height:calc(3.2 * var(--sv)); padding:calc(.55 * var(--sv)) calc(.95 * var(--sv)) calc(.55 * var(--sv)) calc(1.3 * var(--sv)); border-radius:999px; color:var(--ss-deep); background:#fff; font:600 calc(1.05 * var(--sv))/1 var(--font-sans); text-decoration:none; }
.services-tool__cta span { display:grid; place-items:center; width:calc(2.3 * var(--sv)); height:calc(2.3 * var(--sv)); border-radius:50%; background:var(--ss-gold); font-size:calc(1.5 * var(--sv)); }
/* 6.2em breaks "Smarter Resumes" / "Brighter Opportunities" into the reference's four short lines. */
.services-tool__signature { position:absolute; right:7%; bottom:calc(1.2 * var(--sv)); width:max-content; max-width:6.2em; margin:0; white-space:pre-line; transform:rotate(-16deg); font:400 calc(1.03 * var(--sv))/1.3 var(--font-hand); }
.services-showcase__top-signature { --swoosh-start:43%; --swoosh-width:56%; --swoosh-gap:.5em; }
.services-showcase__side-signature { --swoosh-start:2%; --swoosh-width:84%; --swoosh-gap:.45em; }
.services-tool__signature { --swoosh-start:6%; --swoosh-width:86%; --swoosh-gap:.4em; }
.services-tool--gold .services-tool__signature { --swoosh-start:30%; --swoosh-width:62%; --swoosh-gap:.3em; --swoosh-color:var(--ss-deep); transform:rotate(-20deg); }
.services-showcase__journeys { display:grid; grid-template-columns:repeat(4,1fr); gap:calc(.9 * var(--sv)); width:80%; margin:calc(1.15 * var(--sv)) 0 calc(1 * var(--sv)) auto; }
.services-showcase__journeys article { min-height:calc(13 * var(--sv)); padding:calc(1.1 * var(--sv)) calc(1.25 * var(--sv)); border:1px solid #e3edf7; border-radius:calc(.85 * var(--sv)); background:#fff; box-shadow:0 calc(.8 * var(--sv)) calc(2 * var(--sv)) #0a4c8a0b; }
.services-showcase__journey-icon { display:grid; place-items:center; width:calc(3.8 * var(--sv)); height:calc(3.8 * var(--sv)); margin-bottom:calc(.6 * var(--sv)); border-radius:50%; color:#0c50a5; background:#e3f1ff; font-size:calc(1.5 * var(--sv)); }
.services-showcase__journeys article:nth-child(even) .services-showcase__journey-icon,.services-showcase__journeys article:last-child .services-showcase__journey-icon { color:#bf7b00; background:#fff2cf; }
.services-showcase__journeys h3 { margin:0 0 calc(.4 * var(--sv)); font:700 calc(1.25 * var(--sv))/1.1 var(--font-sans); }
.services-showcase__journeys p { min-height:2.5em; margin:0 0 calc(.7 * var(--sv)); color:#315d99; font:400 calc(.88 * var(--sv))/1.35 var(--font-sans); }
.services-showcase__journeys a { display:flex; justify-content:space-between; align-items:center; color:#0758d4; font:calc(.82 * var(--sv))/1 var(--font-sans); text-decoration:none; }
.services-showcase__journeys a span { display:grid; place-items:center; width:calc(2 * var(--sv)); height:calc(2 * var(--sv)); border:1px solid #8bb9ef; border-radius:50%; font-size:calc(1.2 * var(--sv)); }
.services-showcase__quick { display:grid; grid-template-columns:repeat(7,1fr); max-width:1500px; margin:0 auto; padding:calc(.9 * var(--sv)) calc(1.2 * var(--sv)); border:1px solid #e4edf5; border-radius:calc(.85 * var(--sv)); background:#fff; box-shadow:0 calc(.5 * var(--sv)) calc(1.5 * var(--sv)) #0a4c8a0b; }
.services-showcase__quick a { display:flex; align-items:center; gap:calc(.65 * var(--sv)); min-width:0; padding:0 calc(.85 * var(--sv)); border-right:1px solid #c6d9ed; color:#123b7e; font:calc(.69 * var(--sv))/1.2 var(--font-sans); text-decoration:none; }
.services-showcase__quick a:last-child { border:0; }.services-showcase__quick a > span { display:grid; place-items:center; flex:0 0 calc(2.9 * var(--sv)); height:calc(2.9 * var(--sv)); border-radius:50%; color:#0d4d9c; background:#e7f2fd; font-size:calc(1.15 * var(--sv)); }
/* The shared gold button (theme.css), scaled with the showcase. */
.services-showcase__explore { display:flex; justify-content:center; gap:calc(1.2 * var(--sv)); width:calc(23 * var(--sv)); margin:calc(1.55 * var(--sv)) auto calc(.8 * var(--sv)); padding:calc(1.05 * var(--sv)); font-size:calc(1.05 * var(--sv)); line-height:1; text-decoration:none; }
.services-showcase__bottom-tagline,.services-showcase__portal-tagline { margin:calc(.55 * var(--sv)) 0 0; text-align:center; color:#394a6b; font:500 calc(.69 * var(--sv))/1.5 var(--font-sans); letter-spacing:.24em; text-transform:uppercase; }
.services-showcase__portal-tagline { font-size:calc(.61 * var(--sv)); }.services-showcase__bottom-tagline::before,.services-showcase__bottom-tagline::after { content:""; display:inline-block; width:calc(3.5 * var(--sv)); height:1px; margin:0 calc(1.5 * var(--sv)) calc(.25 * var(--sv)); background:#b3c3d8; }
/* Reference proportions: 1448px canvas, 440px tool-column start, 468px tool height. */
@media (min-width: 901px) {
    .services-showcase { padding:calc(6.75 * var(--sv)) var(--page-inline) calc(2.8 * var(--sv)); background:url('/images/services-showcase-skyline.svg') center bottom / 100% auto no-repeat, radial-gradient(ellipse at 45% 58%,#e6f4ff66,transparent 68%),linear-gradient(120deg,#fff,#f8fcff 60%,#fffef9); }
    .services-showcase * { box-sizing:border-box; }
    .services-showcase__top { grid-template-columns:26.8% minmax(0,1fr); gap:1.4%; max-width:none; align-items:start; }
    .services-showcase__intro { padding:0; }
    .services-showcase__eyebrow { gap:calc(1.4 * var(--sv)); margin:0 0 calc(1.7 * var(--sv)); font-size:max(.6875rem, calc(.84 * var(--sv))); white-space:nowrap; letter-spacing:.35em; }
    /* Sized so Poppins breaks like the reference: "What can I do / on Rojgaar / Sangam?". */
    .services-showcase__intro h2 { max-width:none; font-family:var(--font-sans); font-size:calc(3.78 * var(--sv)); line-height:1.08; letter-spacing:-.045em; }
    .services-showcase__lede { max-width:25ch; margin:calc(1.4 * var(--sv)) 0 calc(2 * var(--sv)); font-size:calc(1.48 * var(--sv)); line-height:1.28; }
    .services-showcase__intro-points { gap:calc(.55 * var(--sv)); font-size:max(.75rem, calc(1.04 * var(--sv))); }
    .services-showcase__intro-points li { gap:calc(1.3 * var(--sv)); padding-right:calc(5 * var(--sv)); min-height:calc(3.1 * var(--sv)); }
    .services-showcase__intro-points span { font-size:calc(1.8 * var(--sv)); }
    .services-showcase__tools { margin-top:calc(1.4 * var(--sv)); gap:calc(1.3 * var(--sv)); }
    .services-tool { min-height:calc(32.25 * var(--sv)); padding:calc(1.45 * var(--sv)) calc(1.55 * var(--sv)) calc(1 * var(--sv)); border:1px solid #ffffff70; background:radial-gradient(ellipse at 90% 90%,#076dbe99,transparent 65%),linear-gradient(135deg,#076ac5,#003d86 65%,#005caf); }
    .services-tool--gold { background:radial-gradient(ellipse at 100% 100%,#ffe57c,transparent 64%),linear-gradient(125deg,#ffdb59,#f7c02d 65%,#ffdb50); }
    .services-tool__badge { padding:calc(.85 * var(--sv)) calc(1.25 * var(--sv)); margin:0 0 calc(1.8 * var(--sv)); font-size:max(.6875rem, calc(.8 * var(--sv))); font-weight:500; }
    .services-tool__copy { width:59%; min-height:calc(10 * var(--sv)); }
    /* Both titles at the reference size; Poppins is wider than the reference face, so "Build My Resume"
       wraps like "Ask Career Assistant" instead of running under the resume artwork. */
    .services-tool__copy h3 { font-family:var(--font-sans); font-size:calc(2.75 * var(--sv)); line-height:1.08; letter-spacing:-.035em; }
    .services-tool__copy p { font-size:max(.75rem, calc(1.3 * var(--sv))); line-height:1.25; margin-top:calc(.65 * var(--sv)); }
    .services-tool--gold .services-tool__copy { width:52%; }
    .services-tool--gold .services-tool__copy p { font-size:max(.75rem, calc(1.18 * var(--sv))); }
    .services-tool__art { right:1%; top:calc(2.2 * var(--sv)); width:42%; height:calc(13.25 * var(--sv)); }
    .services-tool--gold .services-tool__art { right:0; top:calc(1.55 * var(--sv)); width:54%; height:calc(14 * var(--sv)); }
    .services-tool__features { margin:0 0 calc(1.2 * var(--sv)); gap:calc(.55 * var(--sv)) calc(.7 * var(--sv)); }
    .services-tool--gold .services-tool__features { grid-template-columns:.85fr 1.15fr; }
    .services-tool--gold .services-tool__features li { gap:calc(.65 * var(--sv)); padding-inline:calc(.85 * var(--sv)); }
    .services-tool__features li { min-height:calc(3.25 * var(--sv)); padding:calc(.65 * var(--sv)) calc(1.1 * var(--sv)); gap:calc(1 * var(--sv)); font-size:max(.75rem, calc(.94 * var(--sv))); font-weight:500; background:#1682cb70; }
    .services-tool--gold .services-tool__features li { background:#fff5; }
    .services-tool__features .icon { width:calc(1.5 * var(--sv)); height:calc(1.5 * var(--sv)); flex-shrink:0; }
    .services-tool__cta { width:52%; min-height:calc(3.65 * var(--sv)); padding:calc(.5 * var(--sv)) calc(1.1 * var(--sv)) calc(.5 * var(--sv)) calc(2 * var(--sv)); font-size:max(.75rem, calc(1.35 * var(--sv))); }
    .services-tool__cta span { width:calc(2.55 * var(--sv)); height:calc(2.55 * var(--sv)); font-size:calc(1.8 * var(--sv)); flex-shrink:0; }
    .services-tool--gold .services-tool__cta { width:46%; }
    .services-tool__signature { right:3%; bottom:calc(1.5 * var(--sv)); font:400 max(.75rem, calc(1.2 * var(--sv)))/1.3 var(--font-hand); }
    .services-tool--gold .services-tool__signature { right:7.5%; bottom:calc(1.9 * var(--sv)); font-size:max(.75rem, calc(1.33 * var(--sv))); line-height:1.4; }
    .services-showcase__side-signature { left:calc(1.8 * var(--sv)); bottom:calc(-10.5 * var(--sv)); font:400 calc(1.62 * var(--sv))/1.35 var(--font-hand); }
    .services-showcase__top-signature { top:calc(1.6 * var(--sv)); right:calc(var(--page-inline) + 1.46 * var(--sv)); font:400 max(.75rem, calc(1.3 * var(--sv)))/1.4 var(--font-hand); }
    .services-showcase__journeys { width:81.6%; gap:calc(1 * var(--sv)); margin:calc(1.05 * var(--sv)) 0 calc(1 * var(--sv)) auto; }
    .services-showcase__journeys article { position:relative; min-height:calc(14.55 * var(--sv)); padding:calc(.85 * var(--sv)) calc(1.8 * var(--sv)) calc(.6 * var(--sv)); border:0; background:linear-gradient(130deg,#fff,#f9fcff); }
    .services-showcase__journeys article::after { content:""; position:absolute; top:calc(1.6 * var(--sv)); right:calc(1.1 * var(--sv)); width:calc(2.6 * var(--sv)); height:calc(3.3 * var(--sv)); background:radial-gradient(#b8d9fb 1px,transparent 1.5px) 0 0/calc(.75 * var(--sv)) calc(.75 * var(--sv)); }
    .services-showcase__journey-icon { width:calc(4.65 * var(--sv)); height:calc(4.65 * var(--sv)); margin-bottom:calc(.7 * var(--sv)); font-size:calc(2.8 * var(--sv)); }
    .services-showcase__journeys h3 { font-family:var(--font-sans); font-size:calc(1.42 * var(--sv)); letter-spacing:-.03em; }
    .services-showcase__journeys p { font-size:max(.75rem, calc(1.1 * var(--sv))); line-height:1.3; margin:calc(.45 * var(--sv)) 0 calc(.7 * var(--sv)); max-width:23ch; }
    .services-showcase__journeys a { justify-content:flex-start; gap:calc(1.4 * var(--sv)); font-size:max(.75rem, calc(1 * var(--sv))); }
    .services-showcase__journeys a span { width:calc(2.3 * var(--sv)); height:calc(2.3 * var(--sv)); font-size:calc(1.65 * var(--sv)); }
    .services-showcase__quick { margin-left:0; max-width:none; padding:calc(.8 * var(--sv)) calc(.8 * var(--sv)); min-height:calc(5.1 * var(--sv)); }
    .services-showcase__quick a { font-size:max(.75rem, calc(.88 * var(--sv))); gap:calc(1 * var(--sv)); padding:0 calc(.8 * var(--sv)); }
    .services-showcase__quick a > span { flex-basis:calc(3.45 * var(--sv)); height:calc(3.45 * var(--sv)); font-size:calc(2.2 * var(--sv)); }
    .services-showcase__explore { padding:calc(1.25 * var(--sv)); font-size:max(.75rem, calc(1.4 * var(--sv))); margin:calc(1.55 * var(--sv)) auto calc(1.25 * var(--sv)); }
    .services-showcase__bottom-tagline { font-size:max(.6875rem, calc(.86 * var(--sv))); letter-spacing:.12em; }
    .services-showcase__portal-tagline { margin-top:calc(.8 * var(--sv)); font-size:max(.6875rem, calc(.79 * var(--sv))); letter-spacing:.26em; } }
@media (max-width: 900px) {
    .services-showcase { padding:42px var(--page-inline); }.services-showcase__top { grid-template-columns:1fr; gap:28px; }
    .services-showcase__intro { text-align:center; }.services-showcase__intro h2,.services-showcase__lede { max-width:none; }
    .services-showcase__eyebrow { justify-content:center; font-size:.6875rem; }.services-showcase__intro h2 { font-size:clamp(36px,calc(8 * var(--sv)),58px); }
    .services-showcase__lede { font-size:17px; }.services-showcase__intro-points { display:flex; justify-content:center; flex-wrap:wrap; font-size:13px; }
    .services-showcase__intro-points span { flex-basis:38px; height:38px; font-size:22px; }.services-showcase__tools { grid-template-columns:1fr; }
    .services-tool { min-height:500px; padding:22px; border-radius:16px; }.services-tool__badge { padding:10px 16px; font-size:.6875rem; }
    .services-tool__copy h3 { font-size:34px; }.services-tool__copy p { font-size:17px; }.services-tool__art { top:40px; height:220px; }
    .services-tool__features { gap:9px; margin:80px 0 18px; }.services-tool__features li { min-height:50px; padding:10px 13px; font-size:13px; }.services-tool__features .icon { width:18px; height:18px; }
    .services-tool__cta { min-height:48px; width:210px; padding:8px 10px 8px 20px; font-size:16px; }.services-tool__cta span { width:34px; height:34px; font-size:22px; }
    .services-tool__signature { font-size:15px; }.services-showcase__journeys { grid-template-columns:repeat(2,1fr); width:100%; max-width:none; margin:20px 0; gap:12px; }
    .services-showcase__journeys article { min-height:190px; padding:18px; }.services-showcase__journey-icon { width:52px; height:52px; font-size:31px; }
    .services-showcase__journeys h3 { font-size:20px; }.services-showcase__journeys p { font-size:14px; }.services-showcase__journeys a { font-size:13px; }.services-showcase__journeys a span { width:30px; height:30px; font-size:18px; }
    .services-showcase__quick { grid-template-columns:repeat(2,1fr); gap:12px; padding:16px; }.services-showcase__quick a { min-height:48px; border:0; font-size:12px; }.services-showcase__quick a > span { flex-basis:40px; height:40px; font-size:25px; }
    .services-showcase__explore { width:280px; padding:16px; font-size:16px; }.services-showcase__bottom-tagline,.services-showcase__portal-tagline { font-size:.6875rem; }
    .services-showcase__top-signature,.services-showcase__side-signature,.services-showcase__dots { display:none; } }
@media (max-width: 540px) {
    .services-tool { min-height:540px; }.services-tool__copy { width:66%; }.services-tool__art { width:44%; height:180px; }
    .services-tool__signature { right:5%; font-size:14px; }
    .services-tool__features { grid-template-columns:1fr; margin-top:70px; }.services-showcase__journeys { grid-template-columns:1fr; } }
/* Too narrow for the composition: the featured card goes on top, at a width that keeps its art whole,
   the other leaders in two columns under it, and the loose side mottos drop out. */
@media (max-width: 1200px) {
    .leadership-heading { width:100%; margin:0 0 30px; }
    .leadership-side-tagline,.leadership-closing-signature { display:none; }
    .leadership-layout { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; padding-top:0; }
    .leadership-person--featured { grid-column:1 / -1; grid-row:auto; justify-self:center; width:min(100%,640px); margin:0 0 12px; }
    .leadership-portal-tagline { position:static; margin-top:28px; } }
@media (max-width: 760px) {
    .leadership-showcase { padding:30px var(--page-inline); }
    .leadership-eyebrow { gap:12px; margin-bottom:12px; }
    .leadership-heading h2 { font-size:clamp(26px,6vw,44px); }
    .leadership-intro { font-size:.875rem; margin-top:12px; }
    .leadership-featured-motto,.leadership-skills-motto { display:none; }
    .leadership-layout { grid-template-columns:minmax(0,1fr); gap:22px; }
    .leadership-portrait { min-height:132px; }
    .leadership-person blockquote { font-size:1rem; }
    /* The featured card stacks: the portrait, then the quote card over its lower edge. */
    /* The quote card starts over the portrait's cut edge (the reference crops the Chief Minister's
       art just below the shoulders), as it does on desktop, instead of leaving that edge showing. */
    .leadership-person--featured { width:auto; justify-self:stretch; aspect-ratio:auto; margin:0; padding-top:232px; }
    .leadership-person--featured::before { inset:0; border-radius:18px; }
    .leadership-person--featured::after { inset:15px 0 0; }
    .leadership-person--featured .leadership-portrait { left:12%; width:76%; height:440px; overflow:hidden; }
    .leadership-person--featured .leadership-person-copy { position:relative; top:auto; left:auto; width:auto; margin:0 12px 12px; padding:24px 22px 24px 56px; border-radius:18px; }
    .leadership-person--featured blockquote { font-size:1.3125rem; }
    .leadership-person--featured blockquote > span { left:-42px; top:-8px; font-size:65px; }
    .leadership-person footer { gap:4px; margin-top:20px; }
    .leadership-person footer h3 { font-size:.8125rem; }
    .leadership-person footer p { font-size:.6875rem; }
    .leadership-person footer > span { margin:0 0 4px 14px; font-size:19px; }
    .leadership-person footer > div::before { display:none; }
    .leadership-bottom-tagline { font-size:.6875rem; margin-top:30px; }
    .leadership-portal-tagline { font-size:.6875rem; margin-top:26px; } }
/* Home "Trusted Hiring Partners": logo wall after the reference image, set in the site type scale.
   The skyline is the reference's own Vidhan Bhavan, cut to a transparent webp; the dots and gold
   sweeps are drawn here. site.js pages the logos (columns x 2 rows) and adds arrows and dots. */
.hiring-partners {
    --hp-cols: 5;
    position: relative; isolation: isolate; overflow: hidden;
    padding: clamp(48px, 5.5vw, 84px) 0 clamp(44px, 5vw, 72px);
    color: var(--color-text); font-family: var(--font-sans);
    background:
        radial-gradient(circle at -6% 62%, #e9f0f8 0, #eef3fa 18%, transparent 18.2%),
        linear-gradient(180deg, #f8fafd 0%, #fbfcfe 55%, #f5f8fc 100%);
}
/* Never wider than the 432px art itself: stretched to 520px it went soft. */
.hiring-partners::before {
    content: ""; position: absolute; z-index: -1; top: 0; right: 0;
    width: min(34vw, 432px); aspect-ratio: 432 / 300; opacity: .45; pointer-events: none;
    background: url('/images/hiring-partners-skyline.webp') right top / contain no-repeat;
}
.hiring-partners::after {
    content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1672 941' preserveAspectRatio='none'%3E%3Cg fill='none' stroke='%23ecb82e' stroke-width='2.4' stroke-linecap='round' opacity='.75'%3E%3Cpath d='M0 562C120 610 230 690 292 790'/%3E%3Cpath d='M1440 296C1540 318 1620 350 1672 392'/%3E%3C/g%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
.hiring-partners__inner { position: relative; padding: 0 var(--page-inline); }
.hiring-partners__inner::before, .hiring-partners__inner::after {
    content: ""; position: absolute; z-index: -1; width: 150px; height: 110px; pointer-events: none;
    background: radial-gradient(circle, #e9c46a 1.4px, transparent 1.9px) 0 0 / 22px 22px;
}
.hiring-partners__inner::before { left: calc(var(--page-inline) - 12px); top: 90px; }
.hiring-partners__inner::after { right: calc(var(--page-inline) - 12px); bottom: 150px; }

.hiring-partners__head { text-align: center; }
.hiring-partners__ornament { display: flex; align-items: center; justify-content: center; gap: 18px; }
.hiring-partners__ornament::before, .hiring-partners__ornament::after { content: ""; width: 84px; height: 2px; border-radius: 2px; }
.hiring-partners__ornament::before { background: linear-gradient(90deg, transparent, var(--color-gold)); }
.hiring-partners__ornament::after { background: linear-gradient(90deg, #c9d2de, transparent); }
.hiring-partners__ornament i { position: relative; width: 20px; height: 20px; border-radius: 3px; transform: rotate(45deg); background: var(--gradient-gold); }
.hiring-partners__ornament i::after { content: ""; position: absolute; inset: 7px; border-radius: 1px; background: #fff; }
.hiring-partners__head h2 {
    margin: 18px 0 12px; color: var(--color-ink); font-family: var(--font-sans);
    font-size: clamp(1.875rem, 3.4vw, 2.875rem); font-weight: 600; line-height: 1.15; letter-spacing: -.015em;
}
.hiring-partners__head p { max-width: 44rem; margin: 0 auto; color: var(--color-muted); font-size: clamp(.9375rem, 1.1vw, 1.125rem); line-height: 1.6; }

.hiring-partners__stage {
    display: grid; grid-template-columns: 56px minmax(0, 1fr) 56px; align-items: center; column-gap: clamp(12px, 2vw, 32px);
    margin-top: clamp(28px, 3vw, 44px);
}
.hiring-partners__viewport { grid-column: 2; grid-row: 1; overflow: hidden; padding: 10px; margin: -10px; touch-action: pan-y; }
.hiring-partners__track { display: flex; gap: 24px; transition: transform .55s cubic-bezier(.22, .61, .36, 1); }
.hiring-partners__track > .hiring-partners__grid { flex: 0 0 100%; align-content: start; }
.hiring-partners__grid {
    display: grid; grid-template-columns: repeat(var(--hp-cols), minmax(0, 1fr)); gap: clamp(12px, 1.4vw, 20px);
    margin: 0; padding: 0; list-style: none;
}
.hiring-partner { min-width: 0; }
.hiring-partner__tile {
    display: grid; place-items: center; height: clamp(96px, 8vw, 130px); padding: 14px 18px;
    border: 1px solid #edf1f6; border-radius: 12px; background: #fff; color: var(--color-navy); text-decoration: none;
    box-shadow: 0 1px 2px rgba(15, 31, 56, .04), 0 12px 28px -18px rgba(15, 31, 56, .28);
    transition: transform .18s ease, box-shadow .18s ease;
}
a.hiring-partner__tile:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(15, 31, 56, .05), 0 18px 34px -18px rgba(15, 31, 56, .35); }
a.hiring-partner__tile:focus-visible { outline: 3px solid var(--color-gold); outline-offset: 3px; }
.hiring-partner__tile { grid-template: minmax(0, 1fr) / minmax(0, 1fr); }
.hiring-partner__tile img { width: 82%; height: 82%; object-fit: contain; }
.hiring-partner__name { font-size: clamp(1rem, 1.35vw, 1.3125rem); font-weight: 600; line-height: 1.2; letter-spacing: -.01em; text-align: center; overflow-wrap: anywhere; }

.hiring-partners__arrow {
    display: grid; place-items: center; width: 56px; height: 56px; padding: 0;
    border: 1px solid #edf1f6; border-radius: 50%; background: #fff; color: var(--color-navy); cursor: pointer;
    box-shadow: 0 10px 24px -14px rgba(15, 31, 56, .35); transition: box-shadow .18s ease, color .18s ease;
}
.hiring-partners__arrow.is-prev { grid-column: 1; grid-row: 1; }
.hiring-partners__arrow.is-next { grid-column: 3; grid-row: 1; }
.hiring-partners__arrow:hover { color: var(--color-blue-bright); box-shadow: 0 14px 28px -14px rgba(15, 31, 56, .45); }
.hiring-partners__arrow:focus-visible { outline: 3px solid var(--color-gold); outline-offset: 3px; }
.hiring-partners__arrow svg.icon { width: 24px; height: 24px; stroke-width: 2.2; }
.hiring-partners__arrow[hidden] { display: none; }
.hiring-partners__dots { grid-column: 2; grid-row: 2; display: flex; justify-content: center; gap: 4px; margin-top: 18px; }
.hiring-partners__dots[hidden] { display: none; }
.hiring-partners__dots button { display: grid; place-items: center; width: 26px; height: 26px; padding: 0; border: 0; background: none; cursor: pointer; }
.hiring-partners__dots button::before { content: ""; width: 12px; height: 12px; border-radius: 50%; background: #d6dce4; transition: background-color .2s ease; }
.hiring-partners__dots button[aria-current="true"]::before { background: var(--color-gold); }
.hiring-partners__dots button:focus-visible { outline: 2px solid var(--color-gold); border-radius: 50%; }

.hiring-partners__cta-row { margin: clamp(22px, 2.6vw, 36px) 0 0; text-align: center; }
.hiring-partners__cta { min-height: 56px; padding: 12px 38px; gap: 14px; }
.hiring-partners__cta svg.icon { width: 20px; height: 20px; transition: transform .2s ease; }
.hiring-partners__cta:hover svg.icon { transform: translateX(3px); }

.hiring-partners__stats {
    display: flex; justify-content: center; flex-wrap: wrap; row-gap: 20px;
    margin: clamp(36px, 4.2vw, 60px) 0 0; padding: 0; list-style: none;
}
.hiring-partners__stats li { display: flex; align-items: center; gap: 18px; padding: 4px clamp(24px, 4.2vw, 64px); }
.hiring-partners__stats li + li { border-left: 1px solid var(--color-line); }
.hiring-partners__stat-icon { color: var(--color-navy); }
.hiring-partners__stat-icon svg.icon { width: 52px; height: 52px; stroke-width: 1.4; }
.hiring-partners__stats strong { display: block; color: var(--color-ink); font-size: clamp(1.375rem, 1.9vw, 1.75rem); font-weight: 600; line-height: 1.1; letter-spacing: -.01em; }
.hiring-partners__stats small { display: block; margin-top: 6px; color: var(--color-muted); font-size: .8125rem; letter-spacing: .2em; text-transform: uppercase; }

@media (max-width: 1100px) { .hiring-partners { --hp-cols: 4; } }
@media (max-width: 900px) {
    .hiring-partners { --hp-cols: 3; }
    .hiring-partners::before { width: 46vw; opacity: .3; }
    .hiring-partners__stage { grid-template-columns: 44px minmax(0, 1fr) 44px; column-gap: 10px; }
    .hiring-partners__arrow { width: 44px; height: 44px; }
    .hiring-partners__arrow svg.icon { width: 20px; height: 20px; }
}
@media (max-width: 760px) {
    .hiring-partners__stats { flex-direction: column; align-items: center; }
    .hiring-partners__stats li { width: 15rem; padding: 0; }
    .hiring-partners__stats li + li { border-left: 0; }
    .hiring-partners__stat-icon svg.icon { width: 44px; height: 44px; }
    .hiring-partners__inner::before, .hiring-partners__inner::after { display: none; }
}
/* Phones: two logos a row, swiped or stepped with the dots; arrows would squeeze the tiles. */
@media (max-width: 560px) {
    .hiring-partners { --hp-cols: 2; }
    .hiring-partners__stage { grid-template-columns: minmax(0, 1fr); }
    .hiring-partners__viewport, .hiring-partners__dots { grid-column: 1; }
    .hiring-partners__arrow { display: none !important; }
    .hiring-partners__ornament::before, .hiring-partners__ornament::after { width: 56px; }
    .hiring-partners__cta { width: 100%; max-width: 22rem; padding: 12px 20px; }
}
@media (prefers-reduced-motion: reduce) {
    .hiring-partners__track, .hiring-partner__tile, .hiring-partners__cta svg.icon { transition: none; }
}

/* Home showcases below the first screen are laid out and painted when they come near the viewport,
   not during page load: on a mid-range phone that cut the start-up main-thread time by about a
   third. The sizes are only placeholders until a section has rendered once ("auto" then keeps its
   real height), so the scrollbar is close to right from the start. */
.services-showcase, .numbers-showcase, .hiring-partners { content-visibility: auto; }
.services-showcase { contain-intrinsic-size: auto 1100px; }
.numbers-showcase { contain-intrinsic-size: auto 600px; }
.hiring-partners { contain-intrinsic-size: auto 820px; }
@media (max-width: 760px) {
    .services-showcase { contain-intrinsic-size: auto 2800px; }
    .numbers-showcase { contain-intrinsic-size: auto 1800px; }
}

/* =============================================================================
   Page showcases: ShowcaseHero, EcosystemShowcase, StepsShowcase, StatsShowcase, SectorsShowcase
   and StoriesShowcase (Views/Public/_Blocks), first laid out for /placement-cell from its design
   image. They are built from the heading kit in theme.css (.rs-kicker, .rs-heading,
   .rs-icon-disc, .rs-motto); only layout lives here. Backgrounds run edge to edge and the
   content keeps to the header column (--page-inline). Type follows the site scale, not the
   pixels of the reference. Below 1201px each band puts its heading above its content; below
   761px everything stacks.
   ============================================================================= */
.showcase-hero, .showcase-eco, .showcase-steps, .showcase-stats, .showcase-sectors, .showcase-stories {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding-inline: var(--page-inline);
    color: var(--color-text);
}
.showcase-head { min-width: 0; }
.showcase-head__intro {
    max-width: 34em;
    margin: 18px 0 0;
    color: var(--color-muted);
    font-size: clamp(.9375rem, 1.05vw, 1rem);
    line-height: 1.6;
    white-space: pre-line;
}
.showcase-head--on-dark .rs-kicker,
.showcase-head--on-dark .rs-heading > span:first-child { color: var(--color-surface); }
.showcase-head--on-dark .showcase-head__intro { color: rgba(255, 255, 255, .84); }
.showcase-icon-image { width: auto; height: 1em; object-fit: contain; }

/* ---- Hero: copy on the left, artwork on the right fading into the copy column ---- */
.showcase-hero { background: var(--color-sky); }
.showcase-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 39fr) minmax(0, 61fr);
    align-items: center;
}
.showcase-hero__copy { position: relative; z-index: 1; padding-block: clamp(2.25rem, 3.6vw, 3.5rem) clamp(2rem, 3vw, 3rem); }
.showcase-hero__copy > .rs-kicker:empty { margin-bottom: 0; }
.showcase-hero__title {
    margin: 0;
    color: var(--color-blue-dark);
    font-size: clamp(2.75rem, 5.4vw, 5.25rem);
    font-weight: 700;
    letter-spacing: -.005em;
    line-height: .98;
    text-transform: uppercase;
}
.showcase-hero__title > span { display: block; }
.showcase-hero__subtitle {
    max-width: 22em;
    margin: 1.1rem 0 0;
    color: var(--color-blue-dark);
    font-size: clamp(1.0625rem, 1.35vw, 1.3125rem);
    font-weight: 500;
    line-height: 1.35;
}
.showcase-hero__intro {
    max-width: 30em;
    margin: 1rem 0 0;
    color: var(--color-muted);
    font-size: clamp(.9375rem, 1vw, 1rem);
    line-height: 1.6;
    white-space: pre-line;
}
.showcase-hero__badges { display: flex; gap: .75rem 0; margin: 1.6rem 0 0; padding: 0; list-style: none; }
.showcase-hero__badges li {
    display: grid;
    align-content: start;
    gap: .45rem;
    flex: 0 1 auto;
    min-width: 0;
    max-width: 10.5rem;
    padding: 0 1.25rem;
    border-left: 1px solid var(--color-line-strong);
    color: var(--color-blue-dark);
    font-size: .8125rem;
    font-weight: 600;
    line-height: 1.3;
}
.showcase-hero__badges li:first-child { padding-left: 0; border-left: 0; }
.showcase-hero__badge-icon { color: var(--color-gold-deep); font-size: 1.75rem; line-height: 1; }
.showcase-hero__badge-icon svg.icon { stroke-width: 1.6; }
.showcase-hero__cta { margin: 1.6rem 0 0; }
.showcase-hero__art { position: relative; container-type: inline-size; align-self: end; margin-left: -7%; }
.showcase-hero__art img { display: block; width: 100%; height: auto; }
.showcase-hero__motto { position: absolute; top: 3.5%; left: 55%; font-size: max(.9375rem, 3.1cqw); }
.showcase-hero--no-art .showcase-hero__inner { grid-template-columns: minmax(0, 1fr); }

/* ---- Ecosystem: heading | ring of partners | benefits panel to the right edge ---- */
.showcase-eco { background: var(--color-sky); }
.showcase-eco__inner {
    display: grid;
    grid-template-columns: minmax(0, 28fr) minmax(0, 42fr) minmax(0, 30fr);
    gap: 0 clamp(1.5rem, 2.5vw, 2.5rem);
    align-items: center;
}
.showcase-eco__inner > .showcase-head { padding-block: 3.5rem; }
.showcase-eco__orbit { container-type: inline-size; justify-self: center; width: 100%; max-width: 580px; padding-block: 2.25rem; }
.showcase-eco__ring { position: relative; aspect-ratio: 1; }
.showcase-eco__track { position: absolute; inset: 14%; border: 2px dashed var(--color-gold-line); border-radius: 50%; }
.showcase-eco__center {
    position: absolute;
    inset: 30%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .2rem;
    padding: 4%;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 28%, var(--color-blue-bright), var(--color-blue-dark) 72%);
    box-shadow: 0 0 0 12px rgba(22, 78, 138, .08), var(--shadow-lg);
    color: var(--color-surface);
    text-align: center;
}
.showcase-eco__center-icon { font-size: max(1.75rem, 7cqw); line-height: 1; }
.showcase-eco__center-icon svg.icon { stroke-width: 1.5; }
.showcase-eco__center strong { font-size: max(1rem, 4cqw); font-weight: 600; line-height: 1.1; text-transform: uppercase; }
.showcase-eco__center small { color: rgba(255, 255, 255, .82); font-size: max(.75rem, 2.1cqw); line-height: 1.3; }
.showcase-eco__nodes { margin: 0; padding: 0; list-style: none; }
.showcase-eco__node {
    position: absolute;
    top: calc(50% + 36% * sin(var(--a)));
    left: calc(50% + 36% * cos(var(--a)));
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 25%;
    aspect-ratio: 1;
    padding: 2%;
    border-radius: 50%;
    color: var(--color-blue-dark);
    text-align: center;
    transform: translate(-50%, -50%);
}
.showcase-eco__node.is-white { background: var(--color-surface); box-shadow: var(--shadow-sm); }
.showcase-eco__node.is-gold { background: var(--gradient-gold); box-shadow: var(--shadow-gold); }
.showcase-eco__node.is-navy { background: var(--color-blue-dark); color: var(--color-surface); }
.showcase-eco__node-icon { margin-bottom: .3rem; font-size: max(1.25rem, 5cqw); line-height: 1; }
.showcase-eco__node-icon .showcase-icon-image { height: 1.3em; }
.showcase-eco__node strong { font-size: max(.75rem, 2.3cqw); font-weight: 600; line-height: 1.15; }
.showcase-eco__node small { margin-top: .15rem; font-size: max(.75rem, 1.7cqw); line-height: 1.2; opacity: .85; }
.showcase-eco__arrow {
    position: absolute;
    top: calc(50% + 36% * sin(var(--a)));
    left: calc(50% + 36% * cos(var(--a)));
    color: var(--color-blue-dark);
    font-size: max(1rem, 3.4cqw);
    line-height: 0;
    transform: translate(-50%, -50%) rotate(calc(var(--a) + 90deg));
}
/* Too narrow for a ring: the centre becomes a card and the partners a two-column list. */
@container (max-width: 440px) {
    .showcase-eco__ring { display: grid; gap: .75rem; aspect-ratio: auto; }
    .showcase-eco__track, .showcase-eco__arrow { display: none; }
    .showcase-eco__center { position: static; padding: 1.25rem; border-radius: var(--radius-xl); box-shadow: var(--shadow-sm); }
    .showcase-eco__center-icon { font-size: 2rem; }
    .showcase-eco__center strong { font-size: 1.125rem; }
    .showcase-eco__center small { font-size: .8125rem; }
    .showcase-eco__nodes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
    .showcase-eco__node { position: static; width: auto; aspect-ratio: auto; padding: 1rem .75rem; border-radius: var(--radius-xl); transform: none; }
    .showcase-eco__node-icon { font-size: 1.5rem; }
    .showcase-eco__node strong { font-size: .875rem; }
    .showcase-eco__node small { font-size: .75rem; }
}
.showcase-eco__benefits {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-self: stretch;
    padding: 3rem 0 3rem clamp(1.25rem, 2vw, 2rem);
}
/* The panel runs on to the right edge of the screen; the section clips it. */
.showcase-eco__benefits::before { content: ""; position: absolute; z-index: -1; inset: 0 -100vw 0 0; background: var(--color-sky-deep); }
.showcase-eco__benefits > .rs-kicker { margin-bottom: 1.1rem; }
.showcase-eco__benefits ul { display: grid; gap: .85rem; margin: 0; padding: 0; list-style: none; }
.showcase-eco__benefit {
    display: grid;
    grid-template-columns: 2.75rem minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    padding: 1rem 1.15rem;
    border-radius: 12px;
    background: var(--color-surface);
    box-shadow: var(--shadow-sm);
}
.showcase-eco__benefit-icon { display: grid; place-items: center; color: var(--color-blue-dark); font-size: 2rem; line-height: 1; }
.showcase-eco__benefit.is-gold .showcase-eco__benefit-icon { color: var(--color-gold-deep); }
.showcase-eco__benefit strong { display: block; color: var(--color-blue-dark); font-size: .9375rem; font-weight: 600; line-height: 1.3; }
.showcase-eco__benefit p { margin: .2rem 0 0; color: var(--color-muted); font-size: .8125rem; line-height: 1.45; }

/* ---- Steps: heading | numbered steps joined by dotted arrows, on the navy band ---- */
.showcase-steps { padding-block: clamp(2.75rem, 4vw, 3.75rem); background: var(--color-blue); color: var(--color-surface); }
.showcase-steps__inner {
    display: grid;
    grid-template-columns: minmax(0, 26fr) minmax(0, 74fr);
    gap: 2rem clamp(1.5rem, 3vw, 3rem);
    align-items: center;
}
.showcase-steps__list {
    --disc: 4.75rem;
    display: grid;
    grid-template-columns: repeat(var(--steps), minmax(0, 1fr));
    gap: 1.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.showcase-steps__step { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; }
/* The dotted arrow to the next step: from just past this circle to just short of the next. */
.showcase-steps__step:not(:last-child)::after,
.showcase-steps__step:not(:last-child)::before {
    content: "";
    position: absolute;
    right: calc(-1 * (1.5rem + 50% - var(--disc) / 2 - 12px));
}
.showcase-steps__step:not(:last-child)::after {
    top: calc(var(--disc) / 2 - 1px);
    left: calc(50% + var(--disc) / 2 + 12px);
    border-top: 2px dotted rgba(255, 255, 255, .5);
}
.showcase-steps__step:not(:last-child)::before {
    top: calc(var(--disc) / 2 - 5px);
    width: 9px;
    height: 9px;
    border-top: 2px solid rgba(255, 255, 255, .75);
    border-right: 2px solid rgba(255, 255, 255, .75);
    transform: rotate(45deg);
}
.showcase-steps__number { margin-top: 1rem; font-size: 1.5rem; font-weight: 600; line-height: 1; }
.showcase-steps__step strong { margin-top: .55rem; font-size: 1rem; font-weight: 600; line-height: 1.3; }
.showcase-steps__step p { margin: .45rem 0 0; color: rgba(255, 255, 255, .84); font-size: .875rem; line-height: 1.5; }

/* ---- Stats: heading | a row of white cards ---- */
.showcase-stats { padding-block: clamp(2.5rem, 3.5vw, 3.5rem); background: var(--color-sky); }
.showcase-stats__inner {
    display: grid;
    grid-template-columns: minmax(0, 21fr) minmax(0, 79fr);
    gap: 2rem clamp(1.5rem, 3vw, 3rem);
    align-items: center;
}
.showcase-stats__list {
    display: grid;
    grid-template-columns: repeat(var(--stats), minmax(0, 1fr));
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.showcase-stats__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1.5rem 1rem 1.25rem;
    border-radius: 12px;
    background: var(--color-surface);
    box-shadow: var(--shadow-sm);
    text-align: center;
}
.showcase-stats__card::after { content: ""; width: 28px; height: 3px; margin-top: .9rem; border-radius: 2px; background: var(--color-gold); }
.showcase-stats__icon { color: var(--color-blue-dark); font-size: 2.25rem; line-height: 1; }
.showcase-stats__card strong { margin-top: .75rem; color: var(--color-blue-dark); font-size: clamp(1.375rem, 1.9vw, 1.75rem); font-weight: 600; line-height: 1.15; }
.showcase-stats__card > span:last-of-type { margin-top: .35rem; color: var(--color-muted); font-size: .875rem; line-height: 1.35; }

/* ---- Sectors: heading | icon circles | artwork with a motto ---- */
.showcase-sectors { background: var(--color-surface); }
.showcase-sectors__inner {
    display: grid;
    grid-template-columns: minmax(0, 25fr) minmax(0, 47fr) minmax(0, 28fr);
    gap: 2rem clamp(1.5rem, 2.5vw, 2.5rem);
    align-items: center;
}
.showcase-sectors__inner > .showcase-head { padding-block: 3.25rem; }
.showcase-sectors__grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1.6rem .5rem;
    margin: 0;
    padding: 0 0 0 clamp(1.5rem, 2.5vw, 2.5rem);
    border-left: 1px solid var(--color-line);
    list-style: none;
}
/* Keeps the corner of the top row that the motto leans into clear. */
.showcase-sectors__grid.has-motto::before { content: ""; grid-row: 1; grid-column: 5 / 7; }
.showcase-sectors__item { min-width: 0; color: var(--color-blue-dark); text-align: center; }
.showcase-sectors__item > a { display: block; color: inherit; text-decoration: none; }
.showcase-sectors__icon {
    display: grid;
    place-items: center;
    width: 3.75rem;
    height: 3.75rem;
    margin: 0 auto .6rem;
    border-radius: 50%;
    background: var(--color-sky-deep);
    color: var(--color-blue-dark);
    font-size: 1.5rem;
    transition: transform .15s;
}
.showcase-sectors__item.is-gold .showcase-sectors__icon { color: var(--color-gold-deep); }
.showcase-sectors__item > a:hover .showcase-sectors__icon { transform: translateY(-2px); }
.showcase-sectors__item > span:last-child,
.showcase-sectors__item > a > span:last-child { display: block; font-size: .8125rem; font-weight: 500; line-height: 1.3; }
.showcase-sectors__art { position: relative; container-type: inline-size; align-self: end; padding-top: 2rem; }
.showcase-sectors__art img { display: block; width: 100%; height: auto; }
.showcase-sectors__motto { position: absolute; top: 12%; left: -31%; font-size: max(.9375rem, 6cqw); }
.showcase-sectors--no-art .showcase-sectors__inner { grid-template-columns: minmax(0, 26fr) minmax(0, 74fr); }

/* ---- Stories: heading | quote cards ---- */
.showcase-stories { padding-block: clamp(2.75rem, 4vw, 3.5rem); background: var(--color-sky-deep); }
.showcase-stories__inner {
    display: grid;
    grid-template-columns: minmax(0, 25fr) minmax(0, 75fr);
    gap: 2rem clamp(1.5rem, 3vw, 3rem);
    align-items: center;
}
.showcase-stories__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.showcase-story {
    display: grid;
    grid-template-columns: clamp(6.5rem, 9vw, 8.25rem) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: center;
    margin: 0;
    padding: 1.25rem;
    border-radius: var(--radius-xl);
    background: var(--color-surface);
    box-shadow: var(--shadow-sm);
}
.showcase-story__photo {
    display: grid;
    place-items: center;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    border-radius: 50%;
    background: var(--color-sky-deep);
    color: var(--color-blue-dark);
    font-size: 2rem;
    font-weight: 600;
}
.showcase-story__photo picture,
.showcase-story__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.showcase-story__body { align-self: start; }
.showcase-story__mark { display: block; margin-bottom: .35rem; color: var(--color-gold); font-size: 1.75rem; line-height: 1; }
.showcase-story blockquote { margin: 0; color: var(--color-muted); font-size: .875rem; line-height: 1.6; }
.showcase-story figcaption { margin-top: 1rem; }
.showcase-story figcaption::before { content: ""; display: block; width: 40px; height: 3px; margin-bottom: .75rem; border-radius: 2px; background: var(--color-gold); }
.showcase-story figcaption strong { display: block; color: var(--color-blue-dark); font-size: 1rem; font-weight: 600; line-height: 1.3; }
.showcase-story figcaption span { display: block; color: var(--color-muted); font-size: .8125rem; line-height: 1.45; }

/* ---- Tablets: each heading moves above its content ---- */
@media (max-width: 1200px) {
    .showcase-hero__inner { grid-template-columns: minmax(0, 45fr) minmax(0, 55fr); }
    .showcase-steps__inner, .showcase-stats__inner, .showcase-stories__inner { grid-template-columns: minmax(0, 1fr); }
    .showcase-eco__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .showcase-head { grid-column: 1 / -1; max-width: 46rem; }
    .showcase-eco__inner > .showcase-head { padding-block: 3rem 0; }
    .showcase-eco__benefits { padding-block: 2.5rem; }
    .showcase-sectors__inner { grid-template-columns: minmax(0, 62fr) minmax(0, 38fr); }
    .showcase-sectors__inner > .showcase-head { padding-block: 3rem 0; }
    .showcase-sectors__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); padding-left: 0; border-left: 0; }
    .showcase-sectors__grid.has-motto::before { display: none; }
    .showcase-sectors__art { display: flex; flex-direction: column; padding-top: 0; }
    .showcase-sectors__motto { position: static; order: -1; margin: 0 0 1.75rem 8%; font-size: max(1.0625rem, 6cqw); }
    .showcase-sectors--no-art .showcase-sectors__inner { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
    .showcase-hero__inner { grid-template-columns: minmax(0, 1fr); }
    .showcase-hero__copy { padding-bottom: 0; }
    .showcase-hero__art { width: min(100%, 720px); margin: 1.5rem 0 0 auto; }
    .showcase-steps__list { grid-template-columns: repeat(min(var(--steps), 2), minmax(0, 1fr)); row-gap: 2.25rem; }
    .showcase-steps__step::before, .showcase-steps__step::after { display: none; }
    .showcase-stories__list { grid-template-columns: minmax(0, 1fr); }
    .showcase-stats__list { grid-template-columns: repeat(min(var(--stats), 3), minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .showcase-eco__inner, .showcase-sectors__inner { grid-template-columns: minmax(0, 1fr); }
    .showcase-eco__orbit { padding-block: 1.5rem .5rem; }
    .showcase-eco__benefits { padding-inline: 0; }
    .showcase-eco__benefits::before { inset: 0 -100vw; }
    .showcase-stats__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .showcase-sectors__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .showcase-sectors__art { width: min(100%, 360px); justify-self: center; }
}
@media (max-width: 560px) {
    .showcase-hero__badges li { padding: 0 .9rem; }
    .showcase-steps__list { grid-template-columns: minmax(0, 1fr); }
    .showcase-steps__step { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 1rem; align-items: start; text-align: left; }
    .showcase-steps__step > .rs-icon-disc { --disc: 3.75rem; grid-row: 1 / span 3; }
    .showcase-steps__number { margin-top: .2rem; font-size: 1.25rem; }
    .showcase-stats__card { padding-inline: .75rem; }
    .showcase-story { grid-template-columns: minmax(0, 1fr); justify-items: start; }
    .showcase-story__photo { width: 6.5rem; }
}
@media (prefers-reduced-motion: reduce) {
    .showcase-sectors__icon { transition: none; }
}
.showcase-steps, .showcase-stats, .showcase-sectors, .showcase-stories { content-visibility: auto; }
.showcase-steps, .showcase-stats { contain-intrinsic-size: auto 340px; }
.showcase-sectors, .showcase-stories { contain-intrinsic-size: auto 460px; }

/* ---- Placement Cell design match ----
   The rules above lay the family out at every width. These bring it to the 941px reference:
   --d is one pixel of that image, so at 1440px a size written as N * var(--d) is the image's N
   scaled to the screen, stopping where the header column stops (1516px). Headings use the
   reference's serif (--font-display), the second line at its own size (--h2), as in the image.
   Text keeps the 12px floor (11px for tracked capitals); the geometry below 1201px is the
   responsive layout above. The /contact-us hero (--split) is left as it is. */
.showcase-hero:not(.showcase-hero--split), .showcase-eco, .showcase-steps, .showcase-stats, .showcase-sectors, .showcase-stories {
    --d: clamp(1px, calc(100vw / 941), 1.611px);
    --ink: var(--color-blue);
    --copy: #4b5a6e;
}
.showcase-eco { --h1: 31.9; --h2: 24.3; --k: 10.3; --t: 10.8; background: #f2f8fd; }
.showcase-steps { --h1: 27.8; --h2: 24.3; --k: 10.4; --t: 11.06; background: #0c4b8a; }
.showcase-stats { --h1: 27.9; --h2: 29.6; --k: 9.2; --t: 10.5; background: #eff7fe; }
.showcase-sectors { --h1: 22; --h2: 21.7; --k: 9.2; --t: 10.55; background: #f6fbfd; }
.showcase-stories { --h1: 23.4; --h2: 21.3; --k: 9.3; --t: 9.4; background: #e5f2fe; }
:is(.showcase-eco, .showcase-steps, .showcase-stats, .showcase-sectors, .showcase-stories) .showcase-head > .rs-kicker {
    margin-bottom: max(.6rem, calc(9 * var(--d)));
    color: var(--color-navy);
    font-size: max(.6875rem, calc(var(--k) * var(--d)));
    font-weight: 600;
    letter-spacing: .2em;
    line-height: 1.45;
}
:is(.showcase-eco, .showcase-steps, .showcase-stats, .showcase-sectors, .showcase-stories) .showcase-head > .rs-kicker::before {
    width: calc(24 * var(--d));
    height: max(2px, calc(2.5 * var(--d)));
    margin-bottom: max(.6rem, calc(10 * var(--d)));
}
:is(.showcase-eco, .showcase-steps, .showcase-stats, .showcase-sectors, .showcase-stories) .rs-heading {
    color: var(--ink);
    font-family: var(--font-display);
    font-size: max(1.75rem, calc(var(--h1) * var(--d)));
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.08;
}
:is(.showcase-eco, .showcase-steps, .showcase-stats, .showcase-sectors, .showcase-stories) .rs-heading__accent {
    font-size: max(1.625rem, calc(var(--h2) * var(--d)));
    line-height: 1.12;
}
:is(.showcase-eco, .showcase-steps, .showcase-stats, .showcase-sectors, .showcase-stories) .showcase-head__intro {
    max-width: none;
    margin-top: max(.75rem, calc(11 * var(--d)));
    color: var(--copy);
    font-size: max(.9375rem, calc(var(--t) * var(--d)));
    line-height: 1.5;
}
.showcase-head--on-dark .rs-heading > span:first-child,
.showcase-steps .showcase-head > .rs-kicker { color: var(--color-surface); }
.showcase-steps .showcase-head__intro { color: rgba(255, 255, 255, .9); }

/* The line breaks stored with this copy match the 941px reference; below the desktop layout
   the text wraps on its own instead. */
@media (max-width: 1200px) {
    :is(.showcase-eco, .showcase-steps, .showcase-stats, .showcase-sectors, .showcase-stories) .showcase-head__intro,
    .showcase-hero:not(.showcase-hero--split) :is(.showcase-hero__subtitle, .showcase-hero__intro) { white-space: normal; }
}

/* Hero */
.showcase-hero:not(.showcase-hero--split) { background: #f7fbfe; }
.showcase-hero:not(.showcase-hero--split) .showcase-hero__copy > .rs-kicker::before { width: calc(37 * var(--d)); height: max(3px, calc(3 * var(--d))); margin-bottom: 0; }
.showcase-hero:not(.showcase-hero--split) .showcase-hero__title {
    margin-top: max(.5rem, calc(5 * var(--d)));
    color: var(--ink);
    font-family: var(--font-display);
    font-size: max(2.75rem, calc(62.1 * var(--d)));
    font-weight: 700;
    letter-spacing: 0;
    line-height: .92;
}
.showcase-hero:not(.showcase-hero--split) .showcase-hero__title > .rs-heading__accent { font-size: 1.27em; line-height: .8; }
.showcase-hero:not(.showcase-hero--split) .showcase-hero__subtitle {
    max-width: max(19rem, calc(306 * var(--d)));
    margin-top: max(.6rem, calc(5 * var(--d)));
    color: var(--color-blue-dark);
    font-size: max(1.0625rem, calc(14.3 * var(--d)));
    font-weight: 400;
    line-height: 1.4;
}
.showcase-hero:not(.showcase-hero--split) .showcase-hero__intro {
    max-width: max(17rem, calc(258 * var(--d)));
    margin-top: max(.75rem, calc(11 * var(--d)));
    color: var(--copy);
    font-size: max(.9375rem, calc(10.85 * var(--d)));
    line-height: 1.52;
}
.showcase-hero:not(.showcase-hero--split) .showcase-hero__badges { margin-top: max(1.1rem, calc(19 * var(--d))); }
.showcase-hero:not(.showcase-hero--split) .showcase-hero__badges li {
    gap: max(.4rem, calc(7 * var(--d)));
    max-width: none;
    padding: 0 calc(22 * var(--d));
    border-left-color: #cdd8e5;
    color: var(--color-blue-dark);
    font-size: max(.8125rem, calc(9.8 * var(--d)));
    line-height: 1.33;
    white-space: pre-line;
}
.showcase-hero:not(.showcase-hero--split) .showcase-hero__badges li:first-child { padding-left: 0; }
.showcase-hero:not(.showcase-hero--split) .showcase-hero__badge-icon { color: #e5ad2b; font-size: max(1.5rem, calc(23 * var(--d))); }
.showcase-hero:not(.showcase-hero--split) .showcase-hero__badge-icon svg.icon { stroke-width: 1.75; }
.showcase-hero__motto { transform: rotate(-17deg); }

/* Ecosystem */
.showcase-eco__track { border: max(2px, calc(1.6 * var(--d))) dotted #e2b44c; }
.showcase-eco__center { background: radial-gradient(circle at 38% 30%, #1d5fa3, #0e4c8a 68%); box-shadow: 0 0 0 calc(6 * var(--d)) rgba(255, 255, 255, .95), 0 0 0 calc(12 * var(--d)) rgba(14, 76, 138, .07), var(--shadow-lg); }
.showcase-eco__node.is-white { box-shadow: 0 0 0 calc(4 * var(--d)) rgba(255, 255, 255, .7), 0 calc(4 * var(--d)) calc(16 * var(--d)) rgba(14, 60, 120, .12); }
.showcase-eco__node { color: var(--color-blue-dark); }
/* A thin long arrow drawn in the partial: as wide as the span, rotated along the ring. */
.showcase-eco__arrow { width: max(1.5rem, 8cqw); }
.showcase-eco__arrow > svg { display: block; width: 100%; height: auto; overflow: visible; }
.showcase-eco__benefits > .rs-kicker { color: var(--color-navy); font-size: max(.6875rem, calc(10.6 * var(--d))); letter-spacing: .2em; line-height: 1.45; }
.showcase-eco__benefits > .rs-kicker::before { width: calc(22 * var(--d)); height: max(2px, calc(2.5 * var(--d))); margin-bottom: calc(9 * var(--d)); background: #345d93; }
.showcase-eco__benefits::before { background: #f4f9fd; box-shadow: -1px 0 0 #e1ecf8, inset calc(8 * var(--d)) 0 calc(10 * var(--d)) calc(-8 * var(--d)) rgba(14, 76, 138, .10); }
.showcase-eco__benefit { border: 1px solid #e3eaf3; border-radius: max(6px, calc(5 * var(--d))); box-shadow: 0 calc(2 * var(--d)) calc(8 * var(--d)) rgba(16, 40, 80, .06); }
.showcase-eco__benefit.is-gold .showcase-eco__benefit-icon { color: #e9b02f; }
.showcase-eco__benefit strong { color: var(--ink); }
.showcase-eco__benefit p { color: var(--copy); }

/* Steps */
.showcase-steps__step strong { font-weight: 600; }
.showcase-steps__number { font-weight: 700; }

/* Stats */
.showcase-stats__icon { color: var(--ink); }
.showcase-stats__card strong { color: var(--ink); font-weight: 700; }
.showcase-stats__card > span:last-of-type { color: var(--copy); }

/* Sectors: a gold icon sits on a white disc, a navy one on a pale blue disc. */
.showcase-sectors__icon { background: #e6f3fc; color: var(--ink); }
.showcase-sectors__item.is-gold .showcase-sectors__icon { background: var(--color-surface); box-shadow: 0 calc(3 * var(--d)) calc(10 * var(--d)) rgba(14, 60, 120, .10); color: #e9ad2c; }
.showcase-sectors__item > span:last-child, .showcase-sectors__item > a > span:last-child { color: #1e3557; }
.showcase-sectors__motto { transform: rotate(-20deg); }

/* Stories */
.showcase-story__mark { color: #e9b02f; }
.showcase-story blockquote { color: var(--copy); }
.showcase-story figcaption strong { color: var(--ink); font-weight: 700; }

@media (min-width: 1201px) {
    /* Hero: copy | artwork 569 wide, running to the screen edge; the band is the artwork's height. */
    .showcase-hero:not(.showcase-hero--split) .showcase-hero__inner {
        grid-template-columns: minmax(0, 1fr) calc(569 * var(--d));
        align-items: start;
        margin-right: calc(-1 * var(--page-gutter));
    }
    .showcase-hero:not(.showcase-hero--split) .showcase-hero__copy { padding: calc(47 * var(--d)) 0 calc(20 * var(--d)); }
    .showcase-hero:not(.showcase-hero--split) .showcase-hero__art { margin: 0; align-self: stretch; }
    .showcase-hero:not(.showcase-hero--split) :is(.showcase-hero__subtitle, .showcase-hero__intro) { white-space: pre-line; }
    .showcase-hero:not(.showcase-hero--split) .showcase-hero__motto { top: 9.5%; left: 57%; font-size: calc(15.7 * var(--d)); line-height: 1.3; }
    .showcase-hero:not(.showcase-hero--split) .showcase-hero__motto > span + span { padding-left: .95em; }

    /* Ecosystem: heading 235 | ring 345 x 333 | benefits 240 on a panel to the screen edge */
    .showcase-eco__inner {
        grid-template-columns: calc(235 * var(--d)) minmax(0, 1fr) calc(345 * var(--d)) calc(24 * var(--d)) calc(246 * var(--d));
        gap: 0;
        align-items: start;
    }
    .showcase-eco__inner > .showcase-head { grid-column: 1; padding: calc(41 * var(--d)) 0 calc(30 * var(--d)); }
    .showcase-eco__orbit { grid-column: 3; max-width: none; padding: calc(10 * var(--d)) 0 calc(23 * var(--d)); container-type: normal; }
    .showcase-eco__benefits { grid-column: 5; padding: calc(16 * var(--d)) 0 calc(14 * var(--d)) calc(15 * var(--d)); }
    .showcase-eco__ring { aspect-ratio: 345 / 333; }
    .showcase-eco__track { inset: auto; top: 53.75%; left: 50%; width: 75.36%; aspect-ratio: 1; transform: translate(-50%, -50%); }
    .showcase-eco__center { inset: auto; top: 53.75%; left: 50%; width: 42.9%; aspect-ratio: 1; padding: calc(10 * var(--d)); transform: translate(-50%, -50%); gap: calc(3 * var(--d)); }
    .showcase-eco__center-icon { font-size: calc(44 * var(--d)); }
    .showcase-eco__center strong { max-width: 7.2em; font-size: calc(16.3 * var(--d)); line-height: 1.05; }
    .showcase-eco__center small { max-width: 9em; font-size: max(.75rem, calc(7.3 * var(--d))); line-height: 1.3; white-space: pre-line; }
    .showcase-eco__node { top: calc(53.75% + 39.04% * sin(var(--a))); left: calc(50% + 37.68% * cos(var(--a))); width: 28.4%; padding: calc(6 * var(--d)); }
    .showcase-eco__node-icon { margin-bottom: calc(4 * var(--d)); font-size: calc(24 * var(--d)); }
    .showcase-eco__node strong { max-width: 92%; font-size: max(.75rem, calc(8.8 * var(--d))); line-height: 1.15; white-space: pre-line; }
    .showcase-eco__node small { max-width: 90%; margin-top: calc(2 * var(--d)); font-size: max(.75rem, calc(6.2 * var(--d))); line-height: 1.2; }
    .showcase-eco__arrow { top: calc(53.75% + 34.5% * sin(var(--a))); left: calc(50% + 33.3% * cos(var(--a))); width: calc(32 * var(--d)); font-size: inherit; }
    .showcase-eco__benefits > .rs-kicker { margin-bottom: calc(7 * var(--d)); line-height: 1.35; }
    .showcase-eco__benefits ul { gap: calc(10 * var(--d)); }
    .showcase-eco__benefit {
        grid-template-columns: calc(36 * var(--d)) minmax(0, 1fr);
        gap: calc(12 * var(--d));
        min-height: calc(62 * var(--d));
        padding: calc(8 * var(--d)) calc(4 * var(--d)) calc(8 * var(--d)) calc(12 * var(--d));
    }
    .showcase-eco__benefit-icon { font-size: calc(30 * var(--d)); }
    .showcase-eco__benefit strong { font-size: calc(9.65 * var(--d)); line-height: 1.25; white-space: pre-line; }
    .showcase-eco__benefit p { margin-top: calc(3 * var(--d)); font-size: max(.75rem, calc(8.1 * var(--d))); line-height: 1.45; white-space: pre-line; }

    /* Steps: heading 215 | four steps with 59px discs */
    .showcase-steps { padding-block: calc(24 * var(--d)) calc(20 * var(--d)); }
    .showcase-steps__inner { grid-template-columns: calc(215 * var(--d)) minmax(0, 1fr); gap: 0; align-items: start; }
    .showcase-steps__inner > .showcase-head { padding-top: calc(4 * var(--d)); }
    .showcase-steps__list { --disc: calc(59 * var(--d)); gap: 0; }
    .showcase-steps__step .rs-icon-disc { font-size: calc(26 * var(--d)); box-shadow: 0 calc(4 * var(--d)) calc(12 * var(--d)) rgba(0, 20, 50, .25); }
    .showcase-steps__step:not(:last-child)::after { left: calc(50% + var(--disc) / 2 + 20 * var(--d)); right: auto; width: calc(34 * var(--d)); }
    .showcase-steps__step:not(:last-child)::before { left: calc(50% + var(--disc) / 2 + 50 * var(--d)); right: auto; width: calc(6 * var(--d)); height: calc(6 * var(--d)); top: calc(var(--disc) / 2 - 3.5 * var(--d)); }
    .showcase-steps__number { margin-top: calc(10 * var(--d)); font-size: calc(17.5 * var(--d)); }
    .showcase-steps__step strong { margin-top: calc(7 * var(--d)); font-size: calc(10.2 * var(--d)); }
    .showcase-steps__step p { margin-top: calc(6 * var(--d)); font-size: max(.75rem, calc(8.8 * var(--d))); line-height: 1.47; white-space: pre-line; }

    /* Stats: heading 193 | five 123-tall cards */
    .showcase-stats { padding-block: calc(8 * var(--d)) calc(14 * var(--d)); }
    .showcase-stats__inner { grid-template-columns: calc(193 * var(--d)) minmax(0, 1fr); gap: 0; align-items: start; }
    .showcase-stats__inner > .showcase-head { padding-top: calc(10 * var(--d)); }
    .showcase-stats__list { gap: calc(13 * var(--d)); }
    .showcase-stats__card { min-height: calc(123 * var(--d)); padding: calc(17 * var(--d)) calc(8 * var(--d)) calc(17 * var(--d)); border-radius: calc(8 * var(--d)); box-shadow: 0 calc(4 * var(--d)) calc(14 * var(--d)) rgba(14, 60, 120, .07); }
    .showcase-stats__icon { font-size: calc(36 * var(--d)); }
    .showcase-stats__card strong { margin-top: calc(15 * var(--d)); font-size: calc(17.1 * var(--d)); }
    .showcase-stats__card > span:last-of-type { margin-top: calc(6 * var(--d)); font-size: max(.75rem, calc(9 * var(--d))); }
    .showcase-stats__card::after { width: calc(28 * var(--d)); height: max(2px, calc(2.5 * var(--d))); margin-top: calc(12 * var(--d)); }

    /* Sectors: heading 210 | rule | 75-wide icon columns | artwork 219 to the screen edge */
    .showcase-sectors__inner {
        grid-template-columns: calc(217 * var(--d)) minmax(0, 1fr) calc(219 * var(--d));
        gap: 0;
        align-items: start;
        margin-right: calc(-1 * var(--page-gutter));
    }
    .showcase-sectors__inner > .showcase-head { padding: calc(30 * var(--d)) calc(8 * var(--d)) calc(24 * var(--d)) 0; }
    .showcase-sectors__grid {
        grid-template-columns: repeat(6, calc(78 * var(--d)));
        gap: calc(12 * var(--d)) 0;
        align-self: stretch;
        margin: calc(30 * var(--d)) 0 calc(20 * var(--d));
        padding: calc(5 * var(--d)) 0 0 calc(6 * var(--d));
    }
    .showcase-sectors__icon { width: calc(46 * var(--d)); height: calc(46 * var(--d)); margin-bottom: calc(5 * var(--d)); font-size: calc(24 * var(--d)); }
    .showcase-sectors__item > span:last-child, .showcase-sectors__item > a > span:last-child { font-size: max(.75rem, calc(7.6 * var(--d))); line-height: 1.25; white-space: pre; }
    .showcase-sectors__art { align-self: end; padding-top: calc(5 * var(--d)); }
    .showcase-sectors__motto { top: 21%; left: -26%; font-size: calc(13.5 * var(--d)); line-height: 1.25; }
    .showcase-sectors__motto > span + span { padding-left: .9em; }

    /* Stories: heading 205 | two cards, photo 95 x 122 */
    .showcase-stories { padding-block: calc(14 * var(--d)) calc(14 * var(--d)); }
    .showcase-stories__inner { grid-template-columns: calc(226 * var(--d)) minmax(0, 1fr); gap: 0; align-items: start; }
    .showcase-stories__inner > .showcase-head { padding: calc(4 * var(--d)) calc(4 * var(--d)) 0 0; }
    .showcase-stories__list { grid-template-columns: 323fr 304fr; gap: calc(9 * var(--d)); }
    .showcase-story { grid-template-columns: calc(95 * var(--d)) minmax(0, 1fr); gap: calc(16 * var(--d)); align-items: start; min-height: calc(148 * var(--d)); padding: calc(8 * var(--d)) calc(14 * var(--d)) calc(8 * var(--d)) calc(8 * var(--d)); border-radius: calc(8 * var(--d)); }
    .showcase-story__photo { width: calc(95 * var(--d)); height: calc(122 * var(--d)); aspect-ratio: auto; }
    .showcase-story__body { padding-top: calc(2 * var(--d)); }
    .showcase-story__mark { margin-bottom: calc(5 * var(--d)); font-size: calc(14 * var(--d)); }
    .showcase-story blockquote { font-size: max(.75rem, calc(7.9 * var(--d))); line-height: 1.57; white-space: pre-line; }
    .showcase-story figcaption { margin-top: calc(9 * var(--d)); }
    .showcase-story figcaption::before { width: calc(28 * var(--d)); height: max(2px, calc(2.5 * var(--d))); margin-bottom: calc(9 * var(--d)); }
    .showcase-story figcaption strong { font-size: calc(9.6 * var(--d)); }
    .showcase-story figcaption span { font-size: max(.75rem, calc(7.6 * var(--d))); line-height: 1.4; }
}

/* =============================================================================
   Contact showcases: ShowcaseHero layout "split", ChannelsShowcase, EnquiryShowcase,
   SupportShowcase and CtaShowcase (Views/Public/_Blocks), laid out for /contact-us from its design
   image. Same heading kit and header column as the showcases above; here the gold rule sits under
   the kicker (.rs-kicker--under). The cards and panels are inset in the column rather than
   full bleed. Below 1201px the four-up rows go two-up; below 901px the form and the office card
   stack; below 561px everything is one column.
   ============================================================================= */
.showcase-channels, .showcase-enquiry, .showcase-support, .showcase-cta {
    position: relative;
    isolation: isolate;
    padding-inline: var(--page-inline);
    color: var(--color-text);
}
.showcase-outline-btn {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    min-height: 2.75rem;
    padding: .55rem .75rem .55rem 1.1rem;
    border: 1.5px solid var(--color-gold);
    border-radius: 9px;
    background: var(--color-surface);
    color: var(--color-gold-text);
    font-size: .9375rem;
    font-weight: 500;
    text-decoration: none;
    transition: background-color .15s, box-shadow .15s;
}
.showcase-outline-btn:hover { background: var(--color-gold-soft); box-shadow: var(--shadow-gold); }
/* The arrow in a ring that ends the contact buttons. */
.showcase-btn-arrow, .showcase-enquiry__arrow {
    display: inline-grid;
    place-items: center;
    flex: none;
    width: 1.6rem;
    height: 1.6rem;
    border: 1.5px solid currentColor;
    border-radius: 50%;
    font-size: .8125rem;
}
.showcase-btn-arrow svg.icon, .showcase-enquiry__arrow svg.icon { width: 1em; height: 1em; }

/* ---- Hero, layout "split": copy | artwork, then the audiences across the full width ---- */
/* The artwork's own ground is #f7fbfe, so the band matches it and the cut-out has no edge. */
.showcase-hero--split { background: #f7fbfe; }
.showcase-hero--split .showcase-hero__inner { grid-template-columns: minmax(0, 55fr) minmax(0, 45fr); align-items: center; }
.showcase-hero--split .showcase-hero__copy { padding-block: clamp(2.25rem, 3.6vw, 3.25rem) clamp(1.25rem, 2vw, 2rem); }
.showcase-hero--split .showcase-hero__title {
    color: var(--color-navy);
    font-size: clamp(2.5rem, 4.2vw, 3.75rem);
    font-weight: 700;
    letter-spacing: -.015em;
    line-height: 1.05;
    text-transform: none;
}
.showcase-hero--split .showcase-hero__title > span { display: inline; }
.showcase-hero--split .showcase-hero__intro { max-width: 32em; margin-top: 1.25rem; font-size: clamp(1rem, 1.15vw, 1.0625rem); }
.showcase-hero--split .showcase-hero__art { width: min(100%, 500px); justify-self: end; align-self: end; margin: clamp(1.25rem, 2vw, 1.75rem) 0 0; }
.showcase-hero__audiences {
    display: grid;
    grid-template-columns: repeat(var(--badges), minmax(0, 1fr));
    margin: 0;
    padding: 1.25rem 0 clamp(1.75rem, 2.6vw, 2.5rem);
    list-style: none;
}
.showcase-hero__audiences li {
    display: flex;
    align-items: flex-start;
    gap: .9rem;
    min-width: 0;
    padding: .25rem clamp(.9rem, 1.6vw, 1.75rem);
    border-left: 1px solid var(--color-line);
}
.showcase-hero__audiences li:first-child { padding-left: 0; border-left: 0; }
.showcase-hero__audiences .rs-icon-disc { --disc: 3.25rem; color: var(--color-navy); }
.showcase-hero__audiences .rs-icon-disc--white { box-shadow: var(--shadow-sm); }
.showcase-hero__audiences strong { display: block; color: var(--color-navy); font-size: .9375rem; font-weight: 600; line-height: 1.3; }
.showcase-hero__audiences small { display: block; margin-top: .3rem; color: var(--color-muted); font-size: .8125rem; line-height: 1.5; }

/* ---- Contact cards ---- */
.showcase-channels { padding-block: clamp(2.5rem, 3.6vw, 3.25rem) clamp(1.25rem, 2vw, 1.75rem); }
.showcase-channels__list {
    display: grid;
    grid-template-columns: repeat(min(var(--channels), 4), minmax(0, 1fr));
    gap: clamp(1rem, 1.6vw, 1.5rem);
    margin: clamp(1.5rem, 2.4vw, 2rem) 0 0;
    padding: 0;
    list-style: none;
}
.showcase-channels__card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    padding: clamp(1.25rem, 1.8vw, 1.6rem);
    border: 1px solid var(--color-line-soft);
    border-radius: var(--radius-xl);
    background: var(--color-surface);
    box-shadow: var(--shadow-sm);
}
.showcase-channels__card > .rs-icon-disc { --disc: 3.25rem; margin-bottom: 1.1rem; }
.showcase-channels__card > .rs-icon-disc--gold { color: var(--color-navy); box-shadow: none; }
.showcase-channels__card h3 { margin: 0; color: var(--color-navy); font-size: 1.0625rem; font-weight: 500; line-height: 1.3; }
.showcase-channels__value { margin: .5rem 0 0; color: var(--color-navy); font-size: .875rem; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.showcase-channels__value--lg { font-size: clamp(1.375rem, 1.7vw, 1.5rem); font-weight: 700; letter-spacing: -.005em; line-height: 1.3; }
.showcase-channels__value a { color: inherit; text-decoration: none; }
.showcase-channels__value a:hover { color: var(--color-blue); text-decoration: underline; }
.showcase-channels__text { margin: .6rem 0 0; color: var(--color-muted); font-size: .875rem; line-height: 1.55; white-space: pre-line; }
.showcase-channels__link {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin-top: .85rem;
    color: var(--color-blue);
    font-size: .875rem;
    font-weight: 600;
    text-decoration: none;
}
.showcase-channels__link:hover { text-decoration: underline; }
.showcase-channels__link svg.icon { width: 1rem; height: 1rem; }

/* ---- Enquiry form | office ---- */
.showcase-enquiry { padding-block: clamp(1.25rem, 2vw, 1.75rem); }
.showcase-enquiry__inner {
    display: grid;
    grid-template-columns: minmax(0, 58fr) minmax(0, 42fr);
    gap: clamp(1rem, 1.6vw, 1.5rem);
    align-items: stretch;
}
.showcase-enquiry--form-only .showcase-enquiry__inner { grid-template-columns: minmax(0, 1fr); }
.showcase-enquiry__panel {
    min-width: 0;
    padding: clamp(1.5rem, 2.4vw, 2.25rem);
    border-radius: var(--radius-xl);
    background: linear-gradient(160deg, var(--color-blue) 0%, var(--color-blue-dark) 100%);
    color: var(--color-surface);
    box-shadow: var(--shadow-lg);
}
.showcase-enquiry__panel .showcase-head__intro { max-width: none; margin-top: .9rem; }
.showcase-enquiry__message {
    margin: 1.25rem 0 0;
    padding: .75rem 1rem;
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, .12);
    color: var(--color-surface);
    font-size: .875rem;
    line-height: 1.5;
}
.showcase-enquiry__message--success { background: #e7f6ec; color: #17603a; font-weight: 500; }
.showcase-enquiry__message--error { background: #fdecea; color: #a02a1c; font-weight: 500; }
.showcase-enquiry__form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin-top: 1.5rem;
}
.showcase-enquiry__field { position: relative; min-width: 0; }
.showcase-enquiry__field--wide { grid-column: 1 / -1; }
.showcase-enquiry__field :is(input, select, textarea) {
    display: block;
    width: 100%;
    min-height: 3rem;
    padding: .7rem 1rem .7rem 2.75rem;
    border: 1px solid transparent;
    border-radius: var(--radius-lg);
    background: var(--color-surface);
    color: var(--color-navy);
    font-size: .875rem;
    line-height: 1.4;
    transition: border-color .15s, box-shadow .15s;
}
.showcase-enquiry__field :is(input, textarea)::placeholder { color: var(--color-muted); opacity: 1; }
.showcase-enquiry__field select { padding-right: 2.5rem; appearance: none; cursor: pointer; }
.showcase-enquiry__field select:invalid { color: var(--color-muted); }
.showcase-enquiry__field select option { color: var(--color-navy); }
.showcase-enquiry__field textarea { min-height: 6.75rem; padding-bottom: 1.75rem; resize: vertical; }
.showcase-enquiry__field :is(input, select, textarea):focus { border-color: var(--color-gold); box-shadow: 0 0 0 3px rgba(247, 197, 60, .35); outline: none; }
.showcase-enquiry__icon, .showcase-enquiry__chevron {
    position: absolute;
    top: 1.5rem;
    display: grid;
    place-items: center;
    color: var(--color-navy);
    font-size: 1rem;
    transform: translateY(-50%);
    pointer-events: none;
}
.showcase-enquiry__icon { left: 1rem; }
.showcase-enquiry__chevron { right: 1rem; color: var(--color-muted); }
.showcase-enquiry__icon svg.icon, .showcase-enquiry__chevron svg.icon { width: 1em; height: 1em; }
.showcase-enquiry__count { position: absolute; right: .9rem; bottom: .55rem; color: var(--color-muted); font-size: .75rem; pointer-events: none; }
.showcase-enquiry__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem 1.25rem;
    grid-column: 1 / -1;
    margin-top: .75rem;
}
.showcase-enquiry__submit { gap: .75rem; min-height: 3rem; padding: .55rem .75rem .55rem 1.75rem; }
.showcase-enquiry__note {
    flex: 1 1 14rem;
    margin: 0;
    padding-left: 1.25rem;
    border-left: 1px solid rgba(255, 255, 255, .28);
    color: rgba(255, 255, 255, .86);
    font-size: .8125rem;
    line-height: 1.5;
}
.showcase-enquiry__office {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: clamp(1.5rem, 2.4vw, 2.25rem);
    border: 1px solid var(--color-line-soft);
    border-radius: var(--radius-xl);
    background: var(--color-surface);
    box-shadow: var(--shadow-sm);
}
.showcase-enquiry__office .showcase-head__intro { margin-top: .9rem; }
.showcase-enquiry__address {
    display: flex;
    align-items: flex-start;
    gap: .9rem;
    margin-top: 1.25rem;
    padding: 1rem 1.25rem;
    border-radius: var(--radius-lg);
    background: var(--color-sky-deep);
    color: var(--color-text);
    font-size: .875rem;
    font-style: normal;
    line-height: 1.55;
}
.showcase-enquiry__address strong { display: block; color: var(--color-navy); font-weight: 600; }
.showcase-enquiry__address span span { display: block; }
.showcase-enquiry__pin { flex: none; margin-top: .1rem; color: var(--color-navy); font-size: 1.5rem; line-height: 1; }
.showcase-enquiry__pin svg.icon { width: 1em; height: 1em; }
.showcase-enquiry__map {
    position: relative;
    display: block;
    flex: 1 1 0;
    min-height: 11rem;
    margin-top: 1rem;
    overflow: hidden;
    border: 1px solid var(--color-line-soft);
    border-radius: var(--radius-lg);
    background: var(--color-surface-alt);
}
/* The map fills whatever height the form beside it leaves, so the two cards end together. */
.showcase-enquiry__map :is(img, iframe) { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; object-fit: cover; }
.showcase-enquiry__map picture { display: contents; }

/* ---- Support links: a warm panel, heading | icon links over one button ---- */
.showcase-support { padding-block: clamp(1.25rem, 2vw, 1.75rem); }
.showcase-support__inner {
    display: grid;
    grid-template-columns: minmax(0, 46fr) minmax(0, 54fr);
    gap: clamp(1.5rem, 3vw, 3rem);
    align-items: center;
    padding: clamp(1.75rem, 2.8vw, 2.5rem);
    border: 1px solid #f3ead2;
    border-radius: var(--radius-xl);
    background: linear-gradient(180deg, #fffcf3 0%, #fdf8ea 100%);
}
.showcase-support__inner .showcase-head__intro { max-width: 30em; }
.showcase-support__side {
    display: grid;
    justify-items: center;
    gap: 1.5rem;
    min-width: 0;
    padding-left: clamp(1.25rem, 2.6vw, 2.5rem);
    border-left: 1px solid #efe4c6;
}
.showcase-support__list {
    display: grid;
    grid-template-columns: repeat(var(--items), minmax(0, 1fr));
    gap: 1rem clamp(.75rem, 1.6vw, 1.5rem);
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center;
}
.showcase-support__list li { display: grid; justify-items: center; align-content: start; gap: .6rem; min-width: 0; }
.showcase-support__list .rs-icon-disc { --disc: 3.25rem; }
.showcase-support__list .rs-icon-disc--gold { color: var(--color-navy); box-shadow: none; }
.showcase-support__list .rs-icon-disc--sky { background: #e3edf9; }
.showcase-support__list strong { color: var(--color-navy); font-size: .9375rem; font-weight: 600; line-height: 1.3; }
.showcase-support__list a { color: inherit; text-decoration: none; }
.showcase-support__list a:hover strong { color: var(--color-blue); text-decoration: underline; }
.showcase-support__list p { max-width: 14em; margin: -.25rem 0 0; color: var(--color-muted); font-size: .8125rem; line-height: 1.5; }
.showcase-support__cta { margin: 0; }

/* ---- Closing call to action: a rounded navy band ---- */
.showcase-cta { padding-block: clamp(1.25rem, 2vw, 1.75rem) clamp(2.5rem, 4vw, 3.5rem); }
.showcase-cta__inner {
    position: relative;
    z-index: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem 2.5rem;
    overflow: hidden;
    padding: clamp(1.75rem, 3vw, 2.75rem) clamp(1.5rem, 3.4vw, 3rem);
    border-radius: var(--radius-xl);
    background: linear-gradient(120deg, var(--color-blue) 0%, var(--color-blue-dark) 100%);
    color: var(--color-surface);
    box-shadow: var(--shadow-lg);
}
/* The soft circle in the band's right corner. */
.showcase-cta__inner::after {
    content: "";
    position: absolute;
    right: -4rem;
    bottom: -7rem;
    z-index: -1;
    width: 16rem;
    height: 16rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, .06);
}
.showcase-cta .rs-heading { font-size: clamp(1.75rem, 2.5vw, 2.25rem); }
.showcase-cta .showcase-head__intro { max-width: 36em; margin-top: .75rem; }
.showcase-cta__button { gap: .75rem; padding-right: .75rem; }

@media (max-width: 1200px) {
    .showcase-hero__audiences { grid-template-columns: repeat(min(var(--badges), 2), minmax(0, 1fr)); row-gap: 1.25rem; }
    .showcase-hero__audiences li:nth-child(odd) { padding-left: 0; border-left: 0; }
    .showcase-channels__list { grid-template-columns: repeat(min(var(--channels), 2), minmax(0, 1fr)); }
    .showcase-support__inner { grid-template-columns: minmax(0, 1fr); }
    .showcase-support__side { padding: 1.5rem 0 0; border-top: 1px solid #efe4c6; border-left: 0; }
}
@media (max-width: 900px) {
    .showcase-hero--split .showcase-hero__inner { grid-template-columns: minmax(0, 1fr); }
    .showcase-hero--split .showcase-hero__art { width: min(100%, 460px); justify-self: center; }
    .showcase-enquiry__inner { grid-template-columns: minmax(0, 1fr); }
    .showcase-enquiry__map { flex: none; aspect-ratio: 16 / 10; min-height: 0; }
}
@media (max-width: 560px) {
    .showcase-hero__audiences { grid-template-columns: minmax(0, 1fr); }
    .showcase-hero__audiences li { padding-left: 0; border-left: 0; }
    .showcase-channels__list, .showcase-enquiry__form { grid-template-columns: minmax(0, 1fr); }
    .showcase-support__list { grid-template-columns: minmax(0, 1fr); }
    .showcase-enquiry__note { padding-left: 0; border-left: 0; }
    .showcase-cta__button { width: 100%; justify-content: center; }
}
.showcase-support, .showcase-cta { content-visibility: auto; contain-intrinsic-size: auto 320px; }

/* ---- Contact Us design match ----
   The contact rules above lay these bands out at every width. These bring them to the 935px
   reference image: --d is one pixel of that image, so at 1280px a size written as N * var(--d)
   is the image's N scaled to the screen, stopping where the header column stops (1516px). The
   N values were fitted to the widths of the reference's own lines. Headings use Times-style Tinos
   (--c-serif), the face of the image. Text keeps the 12px floor (11px for tracked capitals).
   Card and panel edges stay on the header column; the copy inside the bands sits 25-27
   reference pixels further in, as it does in the image. Below 1201px the responsive layout above
   decides the geometry. */
:is(.showcase-hero--split, .showcase-channels, .showcase-enquiry, .showcase-support, .showcase-cta) {
    --d: clamp(1px, calc(100vw / 935), 1.621px);
    --c-ink: #0b2550;
    --c-copy: #5b6676;
    --c-line: #e3e9f1;
    --c-serif: "Tinos", "Times New Roman", var(--font-display);
}
:is(.showcase-channels, .showcase-enquiry, .showcase-support, .showcase-cta) { background: #fbfdff; }

/* The shared head: kicker, the short gold rule under it, a serif heading, the intro. */
:is(.showcase-hero--split .showcase-hero__copy, .showcase-channels, .showcase-enquiry, .showcase-support, .showcase-cta) .rs-kicker {
    margin: 0;
    color: var(--c-ink);
    font-size: max(.6875rem, calc(11.2 * var(--d)));
    font-weight: 600;
    letter-spacing: .24em;
    line-height: 1.3;
}
:is(.showcase-hero--split .showcase-hero__copy, .showcase-channels, .showcase-enquiry, .showcase-support, .showcase-cta) .rs-kicker--under:not(:empty)::after {
    width: calc(39 * var(--d));
    height: max(2px, calc(3 * var(--d)));
    margin-top: calc(9.5 * var(--d));
}
.showcase-enquiry .showcase-enquiry__panel .rs-kicker, .showcase-cta .showcase-cta__inner .rs-kicker { color: var(--color-surface); }
:is(.showcase-channels, .showcase-enquiry, .showcase-support, .showcase-cta) .rs-heading {
    margin-top: calc(9.5 * var(--d));
    color: var(--c-ink);
    font-family: var(--c-serif);
    font-size: max(1.75rem, calc(41.2 * var(--d)));
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.1;
}
:is(.showcase-channels, .showcase-enquiry, .showcase-support, .showcase-cta) .showcase-head__intro {
    max-width: none;
    margin-top: calc(7 * var(--d));
    color: var(--c-copy);
    font-size: max(.875rem, calc(13.4 * var(--d)));
    line-height: 1.6;
}

/* Hero */
.showcase-hero--split .showcase-hero__copy { padding: calc(56 * var(--d)) 0 0 calc(27 * var(--d)); }
.showcase-hero--split .showcase-hero__title {
    margin-top: calc(4.5 * var(--d));
    color: var(--c-ink);
    font-family: var(--c-serif);
    font-size: max(2.5rem, calc(63.4 * var(--d)));
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.05;
}
.showcase-hero--split .showcase-hero__intro {
    max-width: calc(445 * var(--d));
    margin-top: calc(9 * var(--d));
    color: var(--c-copy);
    font-size: max(.9375rem, calc(14.8 * var(--d)));
    line-height: 1.62;
}
.showcase-hero--split .showcase-hero__art { width: 100%; max-width: calc(397 * var(--d)); margin: calc(22 * var(--d)) calc(-2 * var(--d)) 0 0; }
.showcase-hero__audiences { margin-top: calc(-10 * var(--d)); padding: 0 0 calc(35 * var(--d)) calc(25 * var(--d)); }
.showcase-hero__audiences li { gap: calc(12 * var(--d)); border-left-color: var(--c-line); }
.showcase-hero__audiences .rs-icon-disc { --disc: calc(50 * var(--d)); font-size: calc(22 * var(--d)); color: var(--c-ink); }
.showcase-hero__audiences .rs-icon-disc--white { box-shadow: 0 calc(3 * var(--d)) calc(12 * var(--d)) rgba(15, 40, 80, .1); }
.showcase-hero__audiences strong { padding-top: calc(6 * var(--d)); color: var(--c-ink); font-size: max(.875rem, calc(11.4 * var(--d))); font-weight: 600; }
.showcase-hero__audiences small { margin-top: calc(7 * var(--d)); color: var(--c-copy); font-size: max(.75rem, calc(9.5 * var(--d))); line-height: 1.62; }

/* Contact cards */
.showcase-channels { padding-block: calc(18 * var(--d)) 0; }
.showcase-channels .showcase-head { padding-left: calc(25 * var(--d)); }
.showcase-channels__list { gap: calc(17 * var(--d)); margin-top: calc(16.5 * var(--d)); }
.showcase-channels__card {
    min-height: calc(210 * var(--d));
    padding: calc(20 * var(--d)) calc(13 * var(--d)) calc(19 * var(--d)) calc(22 * var(--d));
    border: 0;
    border-radius: calc(10 * var(--d));
    box-shadow: 0 calc(2 * var(--d)) calc(14 * var(--d)) rgba(15, 40, 80, .08);
}
.showcase-channels__card > .rs-icon-disc { --disc: calc(52 * var(--d)); margin-bottom: calc(13 * var(--d)); font-size: calc(22 * var(--d)); }
.showcase-channels__card > .rs-icon-disc--sky { background: #dae9fb; color: #10346b; }
.showcase-channels__card > .rs-icon-disc--gold { background: #f8cf5f; color: #10346b; }
.showcase-channels__card h3 { color: var(--c-ink); font-size: max(1rem, calc(14.6 * var(--d))); font-weight: 500; }
.showcase-channels__value { margin-top: calc(10 * var(--d)); color: var(--c-ink); font-size: max(.8125rem, calc(11.6 * var(--d))); font-weight: 600; line-height: 1.55; }
.showcase-channels__value--lg { margin-top: calc(11 * var(--d)); font-size: max(1.375rem, calc(20.3 * var(--d))); font-weight: 600; letter-spacing: 0; line-height: 1.25; }
.showcase-channels__text { margin-top: calc(9 * var(--d)); color: var(--c-copy); font-size: max(.8125rem, calc(11.3 * var(--d))); line-height: 1.55; }
/* A card with no value (the address) sets its lines in the darker value colour, as in the image. */
.showcase-channels__card h3 + .showcase-channels__text { margin-top: calc(8 * var(--d)); color: #2b384d; font-size: max(.8125rem, calc(10.5 * var(--d))); }
.showcase-channels__link { margin-top: calc(6 * var(--d)); color: #1a4a86; font-size: max(.8125rem, calc(12 * var(--d))); }

/* Enquiry form | office */
.showcase-enquiry { padding-block: calc(24 * var(--d)) 0; }
.showcase-enquiry__inner { gap: calc(17 * var(--d)); }
.showcase-enquiry__panel {
    padding: calc(24 * var(--d)) calc(25 * var(--d)) calc(25 * var(--d)) calc(28 * var(--d));
    border-radius: calc(10 * var(--d));
    background: linear-gradient(160deg, #10457c 0%, #164f88 100%);
    box-shadow: 0 calc(6 * var(--d)) calc(20 * var(--d)) rgba(11, 40, 87, .18);
}
.showcase-enquiry .rs-heading { margin-top: calc(7.5 * var(--d)); font-size: max(1.75rem, calc(33.3 * var(--d))); }
.showcase-enquiry__panel .rs-heading { color: var(--color-surface); }
.showcase-enquiry__panel .showcase-head__intro { margin-top: calc(7.5 * var(--d)); color: rgba(255, 255, 255, .9); font-size: max(.875rem, calc(12.3 * var(--d))); }
.showcase-enquiry__form { gap: calc(10 * var(--d)) calc(11 * var(--d)); margin-top: calc(19 * var(--d)); }
.showcase-enquiry__field :is(input, select, textarea) {
    min-height: calc(40 * var(--d));
    padding: calc(9 * var(--d)) calc(14 * var(--d)) calc(9 * var(--d)) calc(39 * var(--d));
    border-radius: calc(6 * var(--d));
    color: var(--c-ink);
    font-size: max(.8125rem, calc(11.3 * var(--d)));
}
.showcase-enquiry__field :is(input, textarea)::placeholder, .showcase-enquiry__field select:invalid { color: #6b7280; }
.showcase-enquiry__field select { padding-right: calc(36 * var(--d)); }
.showcase-enquiry__field textarea { min-height: calc(98 * var(--d)); padding-bottom: calc(24 * var(--d)); }
.showcase-enquiry__icon, .showcase-enquiry__chevron { top: calc(20 * var(--d)); color: #1d2f4c; font-size: max(.875rem, calc(13 * var(--d))); }
.showcase-enquiry__icon { left: calc(14 * var(--d)); }
.showcase-enquiry__chevron { right: calc(14 * var(--d)); color: #4b5563; }
.showcase-enquiry__count { right: calc(10 * var(--d)); bottom: calc(6 * var(--d)); color: #6b7280; font-size: max(.75rem, calc(9 * var(--d))); }
.showcase-enquiry__actions { gap: calc(12 * var(--d)) calc(19 * var(--d)); margin-top: calc(10 * var(--d)); }
.showcase-enquiry__submit {
    gap: calc(14 * var(--d));
    min-width: calc(190 * var(--d));
    min-height: calc(40 * var(--d));
    padding: calc(8 * var(--d)) calc(12 * var(--d)) calc(8 * var(--d)) calc(28 * var(--d));
    border-radius: calc(8 * var(--d));
    font-size: max(.875rem, calc(12.9 * var(--d)));
    justify-content: space-between;
}
.showcase-enquiry__arrow, .showcase-btn-arrow { width: calc(18 * var(--d)); height: calc(18 * var(--d)); border-width: max(1px, calc(1.4 * var(--d))); font-size: calc(10 * var(--d)); }
.showcase-enquiry__note { white-space: pre-line; padding-left: calc(19 * var(--d)); border-left-color: rgba(255, 255, 255, .3); color: rgba(255, 255, 255, .92); font-size: max(.75rem, calc(10.1 * var(--d))); line-height: 1.58; }
.showcase-enquiry__office {
    padding: calc(24 * var(--d)) calc(22 * var(--d)) calc(19 * var(--d));
    border: 1px solid #edf2f8;
    border-radius: calc(10 * var(--d));
    background: #f7fbfe;
    box-shadow: 0 calc(2 * var(--d)) calc(14 * var(--d)) rgba(15, 40, 80, .06);
}
.showcase-enquiry__office .rs-heading { margin-top: calc(11.5 * var(--d)); }
.showcase-enquiry__office .showcase-head__intro { margin-top: calc(11 * var(--d)); font-size: max(.8125rem, calc(11.3 * var(--d))); line-height: 1.68; }
.showcase-enquiry__address {
    gap: calc(19 * var(--d));
    margin-top: calc(16 * var(--d));
    padding: calc(13 * var(--d)) calc(20 * var(--d)) calc(13 * var(--d)) calc(21 * var(--d));
    border-radius: calc(8 * var(--d));
    background: #e8f2fa;
    color: #2b384d;
    font-size: max(.8125rem, calc(11.6 * var(--d)));
    line-height: 1.55;
}
.showcase-enquiry__address strong { color: var(--c-ink); }
.showcase-enquiry__pin { color: #10346b; font-size: calc(24 * var(--d)); }
.showcase-enquiry__map { margin-top: calc(14 * var(--d)); border: 0; border-radius: calc(8 * var(--d)); }

/* Grievance & support */
.showcase-support { padding-block: calc(21 * var(--d)) 0; }
.showcase-support__inner {
    padding: calc(31 * var(--d)) calc(28 * var(--d)) calc(8 * var(--d));
    border: 1px solid #f3eedd;
    border-radius: calc(10 * var(--d));
    background: #faf7ee;
}
.showcase-support .rs-heading { margin-top: calc(7.5 * var(--d)); font-size: max(1.75rem, calc(33.2 * var(--d))); }
.showcase-support .showcase-head__intro { max-width: calc(370 * var(--d)); margin-top: calc(12 * var(--d)); font-size: max(.8125rem, calc(11.3 * var(--d))); line-height: 1.72; }
.showcase-support__side { gap: calc(26 * var(--d)); border-color: #ece5cf; }
.showcase-support__list { gap: calc(10 * var(--d)); }
.showcase-support__list li { gap: calc(7 * var(--d)); }
.showcase-support__list .rs-icon-disc { --disc: calc(52 * var(--d)); font-size: calc(23 * var(--d)); color: #10346b; }
.showcase-support__list .rs-icon-disc--sky { background: #dfeafa; }
.showcase-support__list .rs-icon-disc--gold { background: #f8cf5f; }
.showcase-support__list strong { color: var(--c-ink); font-size: max(.8125rem, calc(11.8 * var(--d))); font-weight: 600; }
.showcase-support__list p { max-width: calc(130 * var(--d)); margin-top: calc(-4 * var(--d)); color: #6f7480; font-size: max(.75rem, calc(9.4 * var(--d))); line-height: 1.7; }
.showcase-outline-btn {
    gap: calc(16 * var(--d));
    min-height: calc(38 * var(--d));
    padding: calc(7 * var(--d)) calc(12 * var(--d)) calc(7 * var(--d)) calc(18 * var(--d));
    border: max(1px, calc(1.4 * var(--d))) solid #f2c445;
    border-radius: calc(8 * var(--d));
    background: #fffdf6;
    color: #b07a06;
    font-size: max(.8125rem, calc(11.7 * var(--d)));
    font-weight: 500;
}
.showcase-outline-btn .showcase-btn-arrow { width: calc(20 * var(--d)); height: calc(20 * var(--d)); border-color: #e7b12a; color: #d79d14; }
/* On the gold buttons the arrow sits in a filled, darker gold disc. */
:is(.showcase-enquiry__submit, .showcase-cta__button) :is(.showcase-enquiry__arrow, .showcase-btn-arrow) { border-color: transparent; background: rgba(176, 116, 0, .28); color: var(--color-navy); }

/* Closing call to action */
.showcase-cta { padding-block: calc(20 * var(--d)) calc(23 * var(--d)); }
.showcase-cta__inner {
    min-height: calc(159 * var(--d));
    padding: calc(29 * var(--d)) calc(97 * var(--d)) calc(28 * var(--d)) calc(33 * var(--d));
    border-radius: calc(12 * var(--d));
    background: linear-gradient(100deg, #0e4176 0%, #135090 100%);
    box-shadow: none;
}
.showcase-cta__inner::after { right: calc(-58 * var(--d)); bottom: calc(-36 * var(--d)); width: calc(140 * var(--d)); height: calc(140 * var(--d)); background: rgba(255, 255, 255, .07); }
.showcase-cta .rs-kicker--under:empty::before { width: calc(39 * var(--d)); height: max(2px, calc(3 * var(--d))); margin-bottom: 0; }
.showcase-cta .rs-heading { margin-top: calc(8 * var(--d)); color: var(--color-surface); font-size: max(1.75rem, calc(39.6 * var(--d))); }
.showcase-cta .showcase-head__intro { max-width: calc(420 * var(--d)); margin-top: calc(5.5 * var(--d)); color: rgba(255, 255, 255, .92); font-size: max(.875rem, calc(12.9 * var(--d))); line-height: 1.62; }
.showcase-cta__button {
    gap: calc(12 * var(--d));
    min-width: calc(205 * var(--d));
    min-height: calc(40 * var(--d));
    padding: calc(8 * var(--d)) calc(12 * var(--d)) calc(8 * var(--d)) calc(18 * var(--d));
    border-radius: calc(8 * var(--d));
    font-size: max(.8125rem, calc(10.4 * var(--d)));
    font-weight: 500;
    justify-content: space-between;
    position: relative;
    top: calc(8 * var(--d));
}

@media (min-width: 1201px) {
    .showcase-hero--split .showcase-hero__inner { grid-template-columns: minmax(0, 1fr) calc(397 * var(--d)); align-items: start; }
    .showcase-enquiry__inner { grid-template-columns: minmax(0, 513fr) minmax(0, 360fr); }
    .showcase-hero__audiences li { padding: 0 calc(10 * var(--d)) 0 calc(15 * var(--d)); }
    .showcase-hero__audiences li:first-child { padding-left: 0; }
    .showcase-support__inner { grid-template-columns: minmax(0, 424fr) minmax(0, 467fr); gap: 0; align-items: start; padding-right: 0; }
    .showcase-support__side { justify-items: start; align-self: stretch; margin-top: calc(-10 * var(--d)); padding: 0 calc(24 * var(--d)) 0 calc(28 * var(--d)); }
}
@media (max-width: 760px) {
    .showcase-hero--split .showcase-hero__copy, .showcase-hero__audiences, .showcase-channels .showcase-head { padding-left: 0; }
    .showcase-cta__inner { padding-right: calc(33 * var(--d)); }
    .showcase-support__list p { max-width: 18rem; }
}
