/* Shared static feature overview and detail layouts. */
.feature-page-hero { padding-top: 32px; padding-bottom: 88px; }
.breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:12px; color:#626d80; font-size:13px; line-height:1.6; margin-bottom:72px; }
.breadcrumbs a { color:#315b9b; min-height:30px; display:inline-flex; align-items:center; }
.feature-page-hero h1 { font-size:clamp(42px,5vw,72px); line-height:1.08; letter-spacing:-.055em; font-weight:600; margin:24px 0; max-width:1000px; }
.feature-page-hero > p { font-size:20px; line-height:1.6; max-width:700px; color:#626d80; margin-bottom:28px; }
.feature-hero-note { display:flex; align-items:center; gap:10px; font-size:13px; color:#626d80; margin-top:28px; }
.feature-page-closing { padding-top:88px; padding-bottom:88px; text-align:center; }
.feature-page-closing h2 { margin:24px 0; font-size:clamp(34px,4vw,52px); line-height:1.12; letter-spacing:-.045em; }
.feature-page-closing > p { color:#626d80; margin:0 auto 28px; max-width:640px; font-size:17px; line-height:1.6; }
.feature-page-closing .feature-small { font-size:13px; line-height:1.7; margin:24px auto 0; }
.directory-card h3 a { color:inherit; }
.directory-card h3 a:hover { color:#2556d8; }
.feature-read-link { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; border-top:1px solid #e6ecf5; padding-top:14px; color:#29539b; font-size:14px; line-height:1.5; }
.feature-detail-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:72px; }
.feature-detail-hero h1 { font-size:clamp(42px,4.5vw,64px); }
.feature-title-dot { color:#2556d8; }
.feature-detail-grid > div > p { font-size:20px; line-height:1.65; color:#626d80; }
.feature-page-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:32px; }
.feature-page-actions .button { font-size:14px; }
.feature-back-link { color:#29539b; min-height:44px; display:inline-flex; align-items:center; font-size:14px; }
.feature-concept { padding:36px; background:linear-gradient(140deg,#182741,#1e3765); color:white; border:1px solid #375076; border-radius:16px; }
.feature-concept-top { display:flex; align-items:center; gap:12px; padding-bottom:28px; border-bottom:1px solid #435574; margin-bottom:36px; font-size:11px; letter-spacing:.06em; }
.feature-concept-top small { margin-left:auto; font-size:10px; color:#b9c9e5; }
.feature-concept .section-label { color:#b9c9e5; font-size:11px; }
.feature-concept blockquote { margin:24px 0 40px; font-size:clamp(23px,2.6vw,34px); line-height:1.4; letter-spacing:-.025em; }
.feature-concept-bottom { border-top:1px solid #435574; padding-top:22px; display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; font-size:11px; color:#b9c9e5; }
.feature-detail-section,.feature-related { background:#f7f9fd; border-block:1px solid #e3e9f2; }
.feature-detail-copy { display:grid; grid-template-columns:1fr 1fr; gap:88px; }
.feature-detail-copy h2 { font-size:clamp(30px,3.2vw,44px); letter-spacing:-.04em; line-height:1.2; margin-top:22px; }
.feature-detail-copy p { font-size:19px; line-height:1.8; color:#626d80; }
.feature-detail-copy .feature-small { font-size:14px; line-height:1.8; margin-top:24px; }
.feature-workflow-heading h2,.feature-related-heading h2 { font-size:clamp(30px,3.3vw,44px); letter-spacing:-.04em; line-height:1.2; margin-top:20px; }
.feature-workflow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin-top:48px; }
.feature-workflow article { border-top:1px solid #ccd8eb; padding-top:24px; }
.feature-workflow article > span { color:#2556d8; font-size:14px; }
.feature-workflow h3 { font-size:22px; line-height:1.3; letter-spacing:-.03em; margin:24px 0 14px; }
.feature-workflow p { color:#626d80; font-size:16px; line-height:1.7; }
.feature-related-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:40px; }
@media(max-width:900px) { .feature-detail-grid { gap:36px; } .feature-detail-grid,.feature-detail-copy { grid-template-columns:1fr; } .feature-detail-copy { gap:28px; } .feature-concept { max-width:680px; } .feature-workflow { gap:24px; } }
@media(max-width:650px) { .feature-page-hero { padding-top:24px; padding-bottom:56px; } .breadcrumbs { margin-bottom:44px; font-size:12px; gap:8px; } .feature-page-hero h1 { font-size:40px; } .feature-page-hero > p,.feature-detail-grid > div > p { font-size:18px; } .feature-concept { padding:24px; } .feature-concept-top { font-size:10px; gap:8px; } .feature-concept blockquote { font-size:26px; } .feature-workflow { grid-template-columns:1fr; gap:28px; } .feature-workflow h3 { margin-top:16px; } .feature-related-heading { align-items:start; flex-direction:column; } .feature-page-closing { padding-block:56px; } .feature-page-actions { gap:12px; } }

/* Industry overview and dedicated solution pages. */
.solution-directory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.solution-directory-card { padding:32px; }
.solution-directory-card h2 { font-size:28px; letter-spacing:-.035em; line-height:1.2; margin:24px 0 16px; }
.solution-directory-card h2 a { color:inherit; }
.solution-directory-card h2 a:hover { color:#2556d8; }
.solution-directory-card > p { min-height:0; font-size:17px; }
.solution-directory-card ul { color:#626d80; font-size:15px; line-height:1.8; padding-left:20px; margin-bottom:24px; }
.solution-directory-card li { padding-left:4px; margin:8px 0; }
.solution-concept-insight { font-size:16px; color:#c9d8f1; line-height:1.7; margin:-12px 0 32px; }
.solution-capabilities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin:44px 0 32px; }
.solution-capabilities > div { padding-top:22px; border-top:1px solid #cad6e9; }
.solution-capabilities span { font-size:14px; color:#2556d8; }
.solution-capabilities h3 { font-size:23px; line-height:1.4; letter-spacing:-.025em; margin-top:18px; font-weight:500; }
.solution-scope-note { font-size:14px; line-height:1.8; color:#626d80; max-width:850px; }
.solution-closing-links { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:24px; }
@media(max-width:650px) { .solution-directory-grid,.solution-capabilities { grid-template-columns:1fr; } .solution-directory-card { padding:24px; } .solution-directory-card h2 { font-size:26px; } .solution-capabilities { gap:24px; } .solution-closing-links { gap:12px; } }

/* Editorial content varies by the job: ledgers, statements, journals and industry compositions. */
.feature-story,.industry-story { border-top:1px solid #e4e9f2; }
.story-title { max-width:850px; margin-bottom:44px; }
.story-title h2 { margin:22px 0; font-size:clamp(32px,3.8vw,49px); line-height:1.14; letter-spacing:-.045em; }
.story-title > p { font-size:18px; line-height:1.8; }
.story-step { display:block; font-size:12px; color:#6b5788; margin-bottom:18px; }
.feature-story article h3 { font-size:25px; line-height:1.3; letter-spacing:-.035em; margin-bottom:16px; }
.feature-story article p { font-size:17px; line-height:1.8; margin-bottom:0; }
.story-workbench { background:#f7f9fd; border:1px solid #dfe6f2; border-radius:12px; padding:34px; }
.story-workbench-label { font-size:11px; letter-spacing:.07em; color:#647594; border-bottom:1px solid #dce4f2; padding-bottom:22px; }
.story-workbench article { padding:26px 0; display:grid; grid-template-columns:40px 180px 1fr; gap:24px; align-items:start; border-bottom:1px solid #e0e7f2; }
.story-workbench article h3 { margin:0; }
.story-line-note { font-size:14px; line-height:1.8; color:#6c6480; padding-top:24px; }
.story-equation { background:linear-gradient(120deg,#edf2ff,#fceef7); }
.story-equation article { grid-template-columns:40px 1fr; }
.story-equation article p { grid-column:2; color:#203e7d; font-size:24px; font-variant-numeric:tabular-nums; }
.story-diff article:first-of-type { color:#6b7487; }
.story-diff article:last-of-type { border-left:3px solid #8a4a91; padding-left:20px; }
.story-notebook { max-width:920px; margin-left:auto; padding:38px; border:1px solid #dfdfec; background:linear-gradient(120deg,#fff,#faf5fc); border-radius:12px; }
.story-paper-label { font-size:11px; letter-spacing:.1em; color:#735c80; padding-bottom:24px; border-bottom:1px solid #e4e4ef; }
.story-notebook article { padding:28px 0; border-bottom:1px solid #e4e4ef; }
.story-conversation article { margin:24px 0; padding:24px; border-radius:12px; max-width:85%; background:#eff3fd; border:0; }
.story-conversation article:last-of-type { margin-left:auto; background:#f4edf8; }
.story-comparison { display:grid; grid-template-columns:1fr 1fr; border-block:1px solid #dbe3f1; }
.story-comparison article { padding:36px; }
.story-comparison article + article { border-left:1px solid #dbe3f1; background:#f8f6fc; }
.story-path { display:grid; grid-template-columns:1fr 1fr; gap:48px; border-top:2px solid #c8d5ee; }
.story-path article { padding:30px 0; }
.story-path .story-step { display:grid; place-items:center; width:38px; height:38px; border:1px solid #cbd7ef; border-radius:50%; background:#f3f6fd; }
.story-mapping article:last-child { background:#f2f5fd; padding-inline:28px; }
.story-calendar article { border-bottom:1px solid #d9e2f1; }
.story-editorial { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.story-editorial article { padding:30px; border-left:2px solid #d0d9ed; }
.story-editorial .story-line-note { grid-column:1 / -1; padding:0 30px; }
.story-address { background:#172b51; border-radius:12px; padding:20px; }
.story-address article { border-color:#6c7e9d; }
.story-address h3 { color:white; }
.story-address p,.story-address .story-step,.story-address .story-line-note { color:#c8d4ed; }
.story-answer { display:grid; grid-template-columns:1fr 1fr; gap:70px; padding-top:60px; margin-top:30px; }
.story-answer h3 { font-size:24px; line-height:1.4; letter-spacing:-.025em; margin-top:18px; }
.story-answer > p { font-size:17px; line-height:1.9; }
.story-next { margin-top:36px; border-top:1px solid #dce4f1; padding:22px 0 0; display:flex; justify-content:space-between; gap:24px; color:#294f96; font-size:17px; min-height:50px; }
.industry-story article h3 { font-size:24px; letter-spacing:-.03em; margin:14px 0; }
.industry-story article > span { color:#85518b; font-size:12px; }
.industry-story article p { font-size:16px; line-height:1.85; margin:0; }
.industry-stages { display:grid; gap:30px; }
.industry-counter { display:grid; grid-template-columns:1fr 1.3fr; gap:64px; }
.industry-focus { background:linear-gradient(130deg,#edf2ff,#f9eaf5); border-radius:12px; padding:36px; align-self:start; }
.industry-focus > span { font-size:11px; color:#5e6c86; letter-spacing:.08em; }
.industry-focus strong { font-size:30px; line-height:1.4; letter-spacing:-.04em; display:block; margin:28px 0; }
.industry-focus p { font-size:16px; line-height:1.8; }
.industry-fulfilment { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.industry-lane { border:1px solid #dbe3f0; border-radius:10px; padding:28px; background:#f8fafe; }
.industry-lane > span { display:block; font-size:12px; color:#657793; margin-bottom:16px; }
.industry-lane b { font-size:25px; font-weight:500; letter-spacing:-.025em; }
.industry-fulfilment .industry-stages { grid-column:1 / -1; grid-template-columns:repeat(3,minmax(0,1fr)); padding-top:20px; }
.expiry-ruler { display:flex; justify-content:space-between; padding:24px 0; border-bottom:3px solid #bfa0cc; gap:20px; font-size:12px; color:#6e4b82; }
.industry-expiry .industry-stages { grid-template-columns:repeat(3,minmax(0,1fr)); padding-top:32px; }
.industry-service-desk { display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.service-scope { padding:36px; background:#f5f7fc; border:1px solid #e0e6f0; border-radius:10px; align-self:start; }
.service-scope strong { display:block; font-size:23px; margin-bottom:14px; font-weight:500; }
.service-scope span { font-size:16px; line-height:1.9; color:#63718a; }
.service-scope hr { border:0; border-top:1px solid #dce3f0; margin:28px 0; }
.industry-engagement { max-width:920px; padding:40px; border:1px solid #e1ddec; background:#fcf9fd; margin-inline:auto; }
.engagement-heading { padding-bottom:24px; margin-bottom:30px; border-bottom:1px solid #e1ddec; font-size:12px; color:#72577c; letter-spacing:.1em; }
.industry-engagement article { border-bottom:1px solid #e6e0ee; padding-bottom:24px; }
.location-map { background:#192e53; padding:36px; color:#e9effb; border-radius:12px; }
.location-map > span { font-size:12px; letter-spacing:.1em; }
.location-map > div { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin:32px 0; }
.location-map b { padding:24px; text-align:center; border:1px solid #6c7f9f; background:#2a4269; border-radius:8px; font-weight:500; }
.location-map small { font-size:13px; color:#c4d0e7; }
.industry-locations .industry-stages { grid-template-columns:repeat(3,1fr); margin-top:36px; }
.industry-scope { display:grid; grid-template-columns:1fr 2fr; gap:40px; margin-top:50px; padding:28px 0; border-block:1px solid #dde4ef; }
.industry-scope h3 { font-size:22px; letter-spacing:-.03em; margin:0; }
.industry-scope p { font-size:16px; line-height:1.9; margin:0; }
@media(max-width:750px) { .story-title > p { font-size:16px; } .story-workbench { padding:24px; } .story-workbench article { grid-template-columns:28px 1fr; gap:16px; } .story-workbench article p { grid-column:2; font-size:16px; } .story-notebook { padding:24px; } .story-comparison,.story-path,.story-editorial,.story-answer,.industry-counter,.industry-service-desk,.industry-fulfilment,.industry-scope { grid-template-columns:1fr; gap:24px; } .story-comparison article { padding:28px 20px; } .story-comparison article + article { border-left:0; border-top:1px solid #dbe3f1; } .story-editorial .story-line-note { grid-column:auto; } .story-path article { padding:24px 0; } .story-answer { padding-top:30px; margin-top:20px; } .industry-fulfilment .industry-stages,.industry-expiry .industry-stages,.industry-locations .industry-stages { grid-template-columns:1fr; } .industry-engagement { padding:24px; } .location-map { padding:24px; } .location-map > div { gap:10px; } .location-map b { padding:16px 8px; font-size:14px; } .story-conversation article { max-width:100%; } }

/* Keep every unique composition inside its column at intermediate widths. */
.feature-detail-grid > *, .story-workbench article > *, .story-path > *, .story-editorial > *, .story-comparison > *, .story-answer > *, .industry-stages > *, .industry-counter > *, .industry-service-desk > *, .industry-fulfilment > *, .location-map > div > * { min-width:0; }
.feature-page-hero h1, .story-title h2, .story-workbench p, .story-editorial p, .story-notebook p, .story-next, .location-map b, .industry-lane b { overflow-wrap:anywhere; }
.breadcrumbs a { min-height:44px; }
.breadcrumbs [aria-current] { overflow-wrap:anywhere; min-width:0; }
@media(max-width:900px) {
  .feature-page-hero h1 { font-size:clamp(36px,5.3vw,58px); }
}
@media(max-width:650px) {
  .feature-page-hero h1 { font-size:clamp(33px,9.1vw,40px); }
  .feature-page-actions > .button { width:100%; }
  .feature-page-actions { align-items:stretch; }
  .story-workbench article { grid-template-columns:24px minmax(0,1fr); }
  .story-workbench article h3 { font-size:22px; }
  .story-equation article p { font-size:20px; }
  .expiry-ruler { font-size:10px; gap:10px; }
  .location-map > div { grid-template-columns:1fr; }
  .story-answer { gap:12px; }
  .story-answer > p { font-size:16px; }
}
