/* Research-led journeys. Reading, exploration and pilot preparation. */
.visually-hidden { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0 }
.editor-hero { padding:30px 0 70px }
.editor-hero .product-breadcrumb { margin-bottom:48px }
.editor-hero-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,.85fr); gap:95px; align-items:center }
.editor-hero h1 { font-size:clamp(46px,5.4vw,79px); line-height:1.06; max-width:940px; letter-spacing:-.045em; text-wrap:balance }
/* Two-sentence hero titles: one sentence per line, each balanced, so a wrap never leaves a one-word orphan. */
.editor-hero h1>.sentence { display:block; text-wrap:balance }
.editor-hero p { max-width:720px; font-size:17px; line-height:1.85; color:var(--muted); margin-top:28px }
.editor-hero .plain-label { margin-bottom:25px }
.editor-side-note { border-left:1px solid var(--line); padding-left:32px }
.editor-side-note>span { font-size:11px; color:var(--muted) }
.editor-side-note p { font:400 27px/1.55 var(--serif); color:var(--ink); margin-top:20px }
.editor-section,.editor-industries,.editor-related,.editor-faq-section,.product-research,.pilot-scope-section { padding:78px 0 }
.editor-section-heading { display:flex; justify-content:space-between; align-items:end; gap:65px; margin-bottom:40px }
.editor-section-heading h2 { font-size:clamp(34px,3.5vw,50px) }
.editor-section-heading>p { font-size:14px; line-height:1.85; color:var(--muted); max-width:500px }
.editor-link { display:inline-flex; align-items:center; gap:16px; font-size:12px; line-height:1.6; border-bottom:1px solid currentColor; padding:4px 0; width:fit-content }
.editor-link svg { width:16px; height:16px; stroke:currentColor; stroke-width:1.5; fill:none; flex:none }
.editor-link:hover svg { transform:translate(2px,-2px) }
.editor-actions { display:flex; align-items:center; gap:25px; flex-wrap:wrap; margin-top:30px }
.editor-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:100px }
.editor-split h2 { font-size:clamp(37px,3.6vw,53px) }
.editor-body>p { font-size:15px; line-height:1.95; color:var(--muted) }
.editor-small { font-size:12px; line-height:1.8; color:var(--muted); margin-top:25px; max-width:72ch }
.editor-body p+p { margin-top:20px }
.editor-industries { background:#edf1f6 }
.industry-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px }
.industry-card { border-top:1px solid var(--line); padding:27px 0 0; min-width:0; display:flex; align-items:flex-start; flex-direction:column }
.industry-symbol { width:68px; height:64px; margin-bottom:27px }
.industry-symbol svg { width:100%; height:100%; fill:var(--ink) }
.industry-symbol .motif-line { stroke:var(--paper); fill:none }
.industry-card>span { font-size:11px; color:var(--muted) }
.industry-card h3 { font-size:34px; line-height:1.15; margin:17px 0 }
.industry-card p { font-size:14px; line-height:1.8; color:var(--muted); margin-bottom:24px; max-width:330px }
.industry-card>.editor-link { margin-top:auto }
.industry-cover { padding:35px; max-width:290px; justify-self:center; width:100%; color:var(--muted) }
.industry-cover>svg { width:100%; height:auto; fill:var(--ink) }
.industry-cover .motif-line { fill:none; stroke:var(--paper) }
.industry-cover>span { display:block; font-size:11px; margin-top:30px; padding-top:15px; border-top:1px solid var(--line) }
.editor-legal-note { margin-top:25px; padding:22px 0 0; border-top:1px solid var(--line); color:var(--muted); font-size:12px; line-height:1.85 }
.editor-legal-note>a { display:inline-block; margin-top:13px; text-decoration:underline; text-underline-offset:3px }
.role-strip { display:flex; gap:0; margin-bottom:28px; flex-wrap:wrap }
.role-strip>span { font-size:12px; padding:10px 24px 10px 0; display:flex; align-items:center }
/* The arrow opens the next role, so a wrapped line starts with an arrow instead of ending with one. */
.role-strip>span+span::before { content:"→"; margin-right:24px; color:var(--muted) }
.industry-case { display:grid; grid-template-columns:.7fr 1fr 1.6fr; gap:36px; padding:29px 0; border-bottom:1px solid var(--line); align-items:start; margin-top:25px }
.industry-case>span { font-size:11px; color:var(--muted) }
.industry-case h3 { font-size:28px }
.industry-case p { font-size:13px; line-height:1.85; color:var(--muted) }
.pilot-scope-section,.editor-cta { --muted:#4c5d77; background:#cbdcec }
.scope-columns { display:grid; grid-template-columns:1fr 1fr; gap:80px }
.scope-columns>div { border-top:1px solid var(--line); padding-top:24px }
.scope-columns h3 { font-size:28px; margin-bottom:23px }
.scope-columns ul { list-style:none; padding-left:0; color:var(--muted); font-size:14px; line-height:1.9 }
.scope-columns li { position:relative; padding:0 0 12px 21px }
.scope-columns li::before { content:""; position:absolute; left:0; top:.8em; width:5px; height:5px; background:currentColor; border-radius:1px }
.audience-links { display:flex; gap:22px; flex-wrap:wrap; margin-top:25px }
.editor-related { background:#e7edf5 }
.insight-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px }
.insight-grid:has(>.insight-card:nth-child(2):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)) }
.insight-card { border-top:1px solid var(--line); padding-top:24px; display:flex; flex-direction:column; min-width:0 }
.insight-card-meta { display:flex; justify-content:space-between; gap:20px; font-size:11px; color:var(--muted) }
.insight-card h3 { font-size:32px; line-height:1.2; margin:22px 0 19px }
.insight-card h3 a:hover { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:6px }
.insight-card p { color:var(--muted); font-size:13px; line-height:1.9; margin-bottom:26px }
.insight-card-bottom { margin-top:auto; display:flex; justify-content:space-between; align-items:center; gap:20px }
.insight-card-bottom>span { font-size:11px; color:var(--muted) }
.insight-card-bottom .editor-link { font-size:11px }
.library-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:45px 60px }
.library-grid .insight-card { padding:30px 0 10px }
.library-grid .insight-featured { background:#1b2454; color:#f8f9fc; border-radius:5px; padding:33px; --muted:#c4d1e6; --ink:#fff; --line:#ffffff44 }
.insight-featured h3 { font-size:39px }
.editor-method { padding:65px 0 }
.editor-method p { font-size:14px; line-height:1.9; color:var(--muted) }
.editor-method p+p { margin-top:18px }
.editor-filters { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto; gap:13px 25px; align-items:end; margin-bottom:42px }
.editor-filters label { font-size:11px; color:var(--muted); display:flex; gap:9px; flex-direction:column }
.editor-filters input,.editor-filters select { font-size:14px; line-height:1.6; background:#fff; border:1px solid #a6b4c6; border-radius:4px; padding:11px 13px; color:#253955; min-height:46px; width:100% }
.editor-filters button { border:0; border-bottom:1px solid currentColor; color:var(--ink); background:none; font-size:12px; padding:10px 0; align-self:end; margin-bottom:3px }
.editor-filters [role=status] { grid-column:1/-1; font-size:11px; color:var(--muted); padding-top:6px }
.library-empty { padding:40px 0 60px; border-top:1px solid var(--line) }
.library-empty h2 { font-size:35px }
.library-empty p { color:var(--muted); margin-top:20px; font-size:14px }
.faq-library { max-width:none }.faq-library>* { max-width:1020px }
.editor-faq { border-top:1px solid var(--line); scroll-margin-top:120px }
.editor-faq:last-child { border-bottom:1px solid var(--line) }
.editor-faq summary { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:23px 0; font:400 18px/1.6 var(--sans); cursor:pointer; list-style:none }
.editor-faq summary::-webkit-details-marker { display:none }
.editor-faq summary>span[aria-hidden] { font-size:22px; flex:none; transition:transform .2s }
.editor-faq[open] summary>span[aria-hidden] { transform:rotate(45deg) }
.editor-faq>div { padding:0 30px 28px 0 }
.editor-faq p { font-size:14px; line-height:1.9; color:var(--muted) }
.editor-faq .editor-link { margin-top:17px }
.editor-faq-section h2 { margin-bottom:25px }
.editor-cta { padding:65px 0 }
.editor-cta>.wrap { display:flex; gap:80px; align-items:center; justify-content:space-between }
.editor-cta h2 { font-size:45px; margin:20px 0 }
.editor-cta p { font-size:14px; line-height:1.8; color:var(--muted); max-width:710px }
.editor-cta .button { flex:none }
.article-hero { padding:29px 0 38px }
.article-hero .product-breadcrumb { margin-bottom:43px }
.article-meta { display:flex; gap:25px; align-items:center; color:var(--muted); font-size:11px; margin-bottom:24px }
.article-hero h1 { font-size:clamp(45px,4.75vw,70px); line-height:1.1; max-width:24ch; text-wrap:balance }
.article-deck { max-width:795px; color:var(--muted); font-size:18px; line-height:1.8; margin-top:27px }
.article-byline { border-top:1px solid var(--line); padding-top:22px; margin-top:33px; display:flex; justify-content:space-between; gap:20px; font-size:11px; color:var(--muted) }
.article-reading { padding:20px 0 85px }
.reading-grid { display:grid; grid-template-columns:minmax(0,240px) minmax(0,780px); gap:95px; align-items:start; justify-content:space-between }
.article-nav { position:sticky; top:127px; display:flex; flex-direction:column; align-items:flex-start; gap:17px; font-size:12px; line-height:1.7; padding-top:9px }
.article-nav>span { font-size:11px; color:var(--muted); margin-bottom:6px }
.article-nav>a:hover { text-decoration:underline; text-underline-offset:4px }
.article-nav .worksheet-link { font-size:11px; border-top:1px solid var(--line); margin-top:11px; padding-top:21px; width:100% }
.article-body { min-width:0; font-size:16px; line-height:1.95 }
.article-body>.article-lead { font:400 27px/1.55 var(--serif); margin-bottom:43px }
.article-body>section { margin:0 0 48px; scroll-margin-top:125px }
.article-body h2 { font-size:35px; line-height:1.2; margin:0 0 22px }
.article-body p { margin-bottom:21px }
.article-body section>p,.article-body section>ul,.article-body section>ol,.article-body aside { max-width:58ch }
.article-body p>a { text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px }
.editor-note { background:#eef2f7; border-left:3px solid #8eaccd; padding:23px 28px; margin:28px 0; color:#2b405c; --ink:#2b405c; --muted:#4d617c; font-size:14px }
.editor-note>strong { font-weight:550; font-size:12px }
.editor-note p { margin:12px 0 0!important; line-height:1.85; max-width:68ch }
.article-checklist { padding:0; list-style:none; counter-reset:items; margin:25px 0 }
.article-checklist>li { padding:16px 0 16px 32px; border-top:1px solid var(--line); font-size:14px; line-height:1.8; position:relative }
.article-checklist>li::before { content:""; position:absolute; width:13px; height:13px; border:1px solid currentColor; left:0; top:21px; opacity:.7 }
.article-table-wrap { overflow:auto; scrollbar-width:thin; margin:22px 0; max-width:100% }
.editor-table { border-collapse:collapse; width:100%; font-size:13px; text-align:left; line-height:1.8; min-width:610px }
.editor-table th,.editor-table td { vertical-align:top; border-bottom:1px solid var(--line); padding:18px 22px 18px 0 }
.editor-table thead th { font-weight:500; color:var(--muted); font-size:11px; border-top:1px solid var(--line) }
.editor-table tbody th { font-weight:500; min-width:170px }
.editor-table td { color:var(--muted) }
.editor-table .editor-link { font-size:11px; white-space:nowrap }
.article-sources { border-top:1px solid var(--line); padding-top:26px; font-size:12px; line-height:1.8; color:var(--muted) }
.article-sources p,.article-sources li,.editor-legal-note p { max-width:72ch }
.article-sources h2 { font:500 14px var(--sans); color:var(--ink) }
.article-sources ul { padding-left:17px; margin-bottom:23px }
.article-sources li { margin-bottom:12px }
.article-next-step { padding:29px 0 0; border-top:1px solid var(--line) }
.article-next-step>span { font-size:11px; color:var(--muted) }
.article-next-step h2 { font-size:36px; margin-top:22px }
.article-next-step>p { font-size:14px; color:var(--muted) }
.article-next-step .editor-actions { gap:20px; align-items:flex-start; flex-direction:column }
/* One reading measure for the whole article column (≈ the 58ch body text at 16px): lead, headings, notes and sources share the right edge. */
.article-body>.article-lead,.article-body>section>h2,.article-body section>p,.article-body section>ul,.article-body section>ol,.article-body aside,.editor-note,.article-sources p,.article-sources ul,.article-next-step>h2,.article-next-step>p,.article-sources,.article-next-step { max-width:36.5rem }
.editor-note p,.article-sources li { max-width:none }
.article-body h2 { text-wrap:balance }
.data-lineage { display:flex; align-items:center; justify-content:space-between; gap:12px; border-block:1px solid var(--line); padding:26px 0; margin:26px 0 }
.data-lineage>span { font-size:15px }
.data-lineage small { display:block; font-size:11px; color:var(--muted); margin-top:4px }
.data-lineage>b { font-weight:400; color:var(--muted) }
.pilot-planner-section { padding:65px 0; background:#e7edf5 }
.pilot-planner-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px }
.planner-fields { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-content:start }
.planner-fields>label { display:flex; flex-direction:column; gap:10px; font-size:12px; min-width:0 }
.planner-fields select { font-size:13px; line-height:1.7; background:white; color:#253955; border:1px solid #a6b4c6; border-radius:4px; padding:12px 36px 12px 10px; text-overflow:ellipsis; width:100%; min-height:47px }
.planner-fields .editor-small { grid-column:1/-1; margin-top:0 }
.pilot-guide { grid-column:1/-1; min-width:0; border-top:1px solid var(--line); padding-top:24px }
.pilot-guide h3 { font-size:27px; margin-bottom:20px }
.pilot-guide dl>div+div { margin-top:16px }
.pilot-guide dt { font:500 12px/1.7 var(--sans); margin-bottom:4px }
.pilot-guide dd { font:400 14px/1.8 var(--sans); color:var(--muted); margin:0 }
.pilot-guide-links { display:flex; flex-wrap:wrap; align-items:center; gap:8px 22px; margin-top:20px }
.pilot-guide-links a { white-space:normal; min-height:44px }
.preparation-list { border:1px solid #b6c5d8; background:#f6f8fb; color:#2c405e; padding:28px; border-radius:6px }
.preparation-list h3 { font-size:27px }
.preparation-list>p { font-size:12px; line-height:1.8; color:#526580; margin-top:16px }
.preparation-list label { display:flex; align-items:flex-start; gap:12px; font-size:13px; line-height:1.7; padding:12px 0; border-bottom:1px solid #d3dde9; cursor:pointer }
.preparation-list input { width:16px; height:16px; flex:none; margin-top:4px; accent-color:#334e7c }
.preparation-list [data-preparation-items] { margin-top:16px }
.preparation-count { font-variant-numeric:tabular-nums }
.pilot-summary { border-top:1px solid var(--line); margin-top:40px; padding-top:32px }
.pilot-summary h3 { font-size:30px }
.pilot-summary pre { white-space:pre-wrap; font:400 13px/1.9 var(--sans); margin:20px 0 0; color:var(--muted); overflow-wrap:anywhere; background:#fff; border:1px solid var(--line); border-radius:4px; padding:20px 24px; max-width:620px }
.pilot-summary .button { margin-top:24px }
.pilot-summary .editor-small { font-size:11px; margin-top:16px }
.pilot-brief-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px }
.pilot-summary .pilot-brief-actions .button { margin-top:0; min-height:44px; white-space:normal }
.pilot-contact .contact-copy>.editor-small { margin-top:30px; font-size:12px }
.pilot-contact form { --ink:#1b2454; --muted:#596680; --line:#d0d5df }
.product-research { border-top:1px solid var(--line) }
@media(max-width:1180px) {
  .editor-hero-grid { gap:55px; grid-template-columns:minmax(0,1.8fr) minmax(0,.8fr) }
  .editor-hero h1 { font-size:61px }
  .editor-split { gap:55px }
  .editor-section-heading { gap:45px }
  .industry-grid { gap:28px }
  .industry-card h3 { font-size:29px }
  .reading-grid { grid-template-columns:190px minmax(0,1fr); gap:60px }
  .pilot-planner-grid { gap:40px }
  .planner-fields { grid-template-columns:1fr }
  .industry-case { grid-template-columns:.7fr 1.2fr 1.5fr; gap:25px }
  .insight-grid { gap:25px }
  .insight-card h3 { font-size:29px }
  .insight-card-bottom { flex-wrap:wrap; gap:9px }
  .editor-cta>.wrap { gap:40px }
  .editor-cta h2 { font-size:39px }
}
@media(max-width:960px) {
  .editor-hero-grid { gap:40px }
  .editor-hero h1 { font-size:51px }
  .editor-hero p { font-size:15px }
  .editor-side-note { padding-left:24px }
  .editor-side-note p { font-size:23px }
  .industry-cover { padding:15px }
  .editor-split { gap:37px }
  .editor-split h2 { font-size:39px }
  .industry-grid { gap:25px }
  .industry-card h3 { font-size:26px }
  .industry-card p { font-size:12px }
  .industry-card .editor-link { font-size:11px }
  .industry-case { grid-template-columns:1fr 1.5fr }
  .industry-case>span { grid-column:1/-1 }
  .reading-grid { grid-template-columns:155px minmax(0,1fr); gap:39px }
  .article-nav { font-size:11px }
  .article-hero h1 { font-size:55px }
  .article-body { font-size:15px }
  .article-body>.article-lead { font-size:24px }
  .article-body h2 { font-size:31px }
  .scope-columns { gap:40px }
  .editor-faq summary { font-size:16px }
  .editor-cta>.wrap { display:block }
  .editor-cta .button { margin-top:25px }
  .insight-card h3 { font-size:27px }
  .library-grid { gap:35px }
  .insight-featured h3 { font-size:34px }
  .pilot-planner-grid { gap:30px }
  .preparation-list { padding:23px }
  .preparation-list h3 { font-size:25px }
  .pilot-summary { gap:40px }
}
@media(max-width:760px) {
  .editor-hero { padding:24px 0 47px }
  .editor-hero .product-breadcrumb,.article-hero .product-breadcrumb { margin-bottom:31px; flex-wrap:wrap; row-gap:5px }
  .editor-hero-grid { grid-template-columns:1fr; gap:30px }
  .editor-hero h1 { font-size:clamp(39px,7.2vw,55px); line-height:1.1 }
  .editor-hero .plain-label { margin-bottom:20px }
  .editor-hero p { font-size:15px; margin-top:23px }
  .editor-side-note { border-left:0; border-top:1px solid var(--line); padding:20px 0 0 }
  .editor-side-note p { font-size:23px; margin-top:13px }
  .editor-side-note p { line-height:1.5 }
  .editor-section,.editor-industries,.editor-related,.editor-faq-section,.product-research,.pilot-scope-section { padding:52px 0 }
  .editor-section-heading { display:block; margin-bottom:28px }
  .editor-section-heading h2 { font-size:36px }
  .editor-section-heading>.editor-link { margin-top:23px }
  .editor-section-heading>p { margin-top:22px; font-size:14px }
  .editor-split { grid-template-columns:minmax(0,1fr); gap:29px }
  .editor-split h2 { font-size:38px }
  .editor-actions { gap:21px; margin-top:26px }
  .editor-link { font-size:12px }
  .industry-grid { grid-template-columns:1fr; gap:38px }
  .industry-card { display:grid; grid-template-columns:62px minmax(0,1fr); gap:0 23px; padding-top:25px }
  .industry-symbol { grid-row:1/5; width:57px; height:55px; margin:5px 0 }
  .industry-card h3 { font-size:31px; margin:13px 0 }
  .industry-card>span { font-size:11px }
  .industry-card p { font-size:14px; max-width:none; margin-bottom:17px }
  .industry-card>.editor-link { grid-column:2; font-size:12px }
  .industry-cover { display:none }
  .industry-case { display:block; padding-top:22px }
  .industry-case h3 { margin:15px 0 18px; font-size:29px }
  .industry-case p { font-size:14px }
  .role-strip>span { padding-right:14px }
  .role-strip>span+span::before { margin-right:14px }
  .scope-columns { grid-template-columns:1fr; gap:28px }
  .scope-columns h3 { font-size:28px }
  .scope-columns ul { font-size:14px }
  .editor-body>p { font-size:15px }
  .editor-legal-note { font-size:12px }
  .insight-grid,.insight-grid:has(>.insight-card:nth-child(2):last-child),.library-grid { grid-template-columns:1fr; gap:32px }
  .insight-card h3 { font-size:32px }
  .insight-card p { font-size:14px }
  .insight-card-bottom { flex-wrap:nowrap }
  .library-grid .insight-featured { padding:27px }
  .insight-featured h3 { font-size:35px }
  .editor-filters { grid-template-columns:1fr auto; gap:17px; align-items:end; margin-bottom:31px }
  .editor-filters label:first-child { grid-column:1/-1 }
  .editor-filters input,.editor-filters select { font-size:16px }
  .editor-filters label { font-size:12px }
  .editor-filters button { font-size:11px }
  .editor-method { padding:50px 0 }
  .editor-faq summary { font-size:16px; padding:22px 0; gap:20px }
  .editor-faq>div { padding-right:0 }
  .editor-faq p { font-size:14px }
  .editor-cta { padding:48px 0 }
  .editor-cta h2 { font-size:38px }
  .editor-cta p { font-size:14px }
  .article-hero { padding:23px 0 25px }
  .article-meta { gap:20px; flex-wrap:wrap }
  .article-hero h1 { font-size:clamp(38px,7vw,54px) }
  .article-deck { font-size:16px; margin-top:23px }
  .article-byline { display:block; line-height:1.9; padding-top:18px }
  .article-byline>span { display:block }
  .article-reading { padding:0 0 52px }
  .reading-grid { grid-template-columns:1fr; gap:35px }
  .article-nav { position:static; display:grid; grid-template-columns:1fr 1fr; gap:12px 23px; border-bottom:1px solid var(--line); padding-bottom:26px; font-size:12px }
  .article-nav>span,.article-nav .worksheet-link { grid-column:1/-1 }
  .article-body { font-size:16px }
  .article-body>.article-lead { font-size:20px; line-height:1.55 }
  .article-body h2 { font-size:32px }
  .article-body>section { margin-bottom:37px }
  .editor-note { padding:20px; font-size:14px }
  .editor-table { font-size:12px; min-width:0 }
  .article-checklist>li { font-size:14px }
  .article-sources { font-size:12px }
  .article-sources h2 { font-size:14px }
  .article-next-step h2 { font-size:33px }
  .data-lineage { gap:9px }
  .data-lineage>span { font-size:12px }
  .pilot-planner-section { padding:45px 0 }
  .pilot-planner-grid { grid-template-columns:1fr; gap:30px }
  .planner-fields { grid-template-columns:1fr 1fr; gap:20px }
  .planner-fields select { font-size:16px }
  .planner-fields>label { font-size:12px }
  .preparation-list { padding:24px }
  .preparation-list h3 { font-size:28px }
  .preparation-list label { font-size:14px }
  .preparation-list input { width:18px; height:18px }
  .pilot-summary { display:block; margin-top:30px; padding-top:27px }
  .pilot-summary h3 { font-size:29px }
  .pilot-summary pre { font-size:13px }
  .pilot-summary .button { margin-top:25px }
  .editor-small { font-size:12px }
  .product-breadcrumb { overflow-wrap:anywhere }
}
@media(max-width:420px) {
  .editor-hero h1,.article-hero h1 { font-size:37px; overflow-wrap:anywhere }
  .industry-card { grid-template-columns:45px minmax(0,1fr); gap:0 17px }
  .industry-symbol { width:42px; height:44px }
  .industry-card h3 { font-size:28px }
  .editor-actions { align-items:flex-start; flex-direction:column }
  .planner-fields { grid-template-columns:1fr }
  .article-nav { grid-template-columns:1fr }
  .article-nav>span,.article-nav .worksheet-link { grid-column:1 }
  .editor-filters { grid-template-columns:1fr }
  .editor-filters button { justify-self:start }
  .article-deck { font-size:15px }
  .editor-faq summary { font-size:15px }
  .data-lineage>span { font-size:11px }
  .insight-card-bottom { flex-wrap:wrap }
}
.industry-card h3 { hyphens:auto; overflow-wrap:anywhere }
@media print {
  .article-nav,.editor-filters,.editor-related,.editor-cta,.article-next-step,.editor-actions,.pilot-contact { display:none }
  .article-hero,.article-reading,.editor-section { padding:20px 0 }
  .reading-grid,.editor-hero-grid,.editor-split { display:block }
  .article-hero h1 { font-size:35px }
  .article-body { font-size:12px }
  .article-body h2 { font-size:24px }
  .article-sources { font-size:10px }
  .article-body section { break-inside:avoid }
  .editor-table { min-width:0 }
  .article-byline { display:block }
}
.insight-audience { display:block; font:400 11px/1.7 var(--sans); color:var(--muted); margin:0 0 20px }
/* Tablet widths: the hero side note sits in a 180-230px column; keep its serif copy inside it. */
@media(min-width:761px) and (max-width:1100px) {
  .editor-side-note p { font-size:20px }
}
@media(min-width:761px) and (max-width:860px) {
  .editor-side-note p { font-size:18px }
}
/* Tables: columns wrap on tablets; on phones every row becomes a card whose cells carry their column header (data-label, set in build). */
@media(min-width:761px) and (max-width:1024px) {
  .editor-table { min-width:0 }
  .editor-table tbody th { min-width:0 }
}
@media(max-width:760px) {
  .editor-table,.editor-table tbody,.editor-table tr,.editor-table th,.editor-table td { display:block; width:auto }
  .editor-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap }
  .editor-table tbody tr { border-top:1px solid var(--line); padding:14px 0 16px }
  .editor-table tbody tr:last-child { border-bottom:1px solid var(--line) }
  .editor-table tbody th,.editor-table td { border:0; padding:3px 0; min-width:0 }
  .editor-table tbody tr>:first-child { color:var(--ink); font-weight:500; font-size:13px }
  .editor-table [data-label]::before { content:attr(data-label); display:block; color:var(--muted); font-size:11px; font-weight:500; letter-spacing:.02em; line-height:1.6 }
  .editor-table [data-label=""]::before { content:none }
  .editor-table tbody tr>:not(:first-child) { margin-top:8px }
  .editor-table .editor-link { white-space:normal }
}
/* Arbeitsfall cards: the step strip and the link sit at the foot of every card, aligned across a row. */
.practice-card { display:flex; flex-direction:column }
.practice-card>.practice-sequence { margin-top:auto }
.insight-card>.insight-audience { margin-top:auto }
.insight-card>.insight-audience+.insight-card-bottom { margin-top:0 }
.practice-card>.plain-label { margin-bottom:0 } /* flex items do not collapse margins: the heading keeps its 24px */
/* Touch screens: secondary links are at least 44px tall; the underline stays under the text.
   This file loads after products.css, so the same selectors also cover the product panel links. */
@media(max-width:760px),(pointer:coarse) {
  .editor-filters button { min-height:44px }
  .editor-link,.product-detail-link,.outcome-ledger .product-detail-link { min-height:44px; padding-block:0; border-bottom:0; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:6px }
  .product-panel-footer>a,.suite-topline>a { min-height:44px }
}
/* In a table cell the 44px box reaches into the cell padding, so its text starts on the row's first line. */
@media(min-width:761px) and (pointer:coarse) {
  .editor-table td>.editor-link { margin-block:-11px }
}
/* Industry pages: the example row below the workflow table starts on the table's own column edges. */
@media(min-width:961px) {
  .article-table-wrap:has(+ .industry-case) .editor-table { table-layout:fixed }
  .article-table-wrap:has(+ .industry-case) .editor-table thead th:nth-child(1) { width:19% }
  .article-table-wrap:has(+ .industry-case) .editor-table thead th:nth-child(2) { width:42% }
  .industry-case { grid-template-columns:19% 42% minmax(0,1fr); gap:0 }
  .industry-case>* { padding-right:22px }
}
/* Touch screens: table-of-contents links are full 44px rows (the gap shrinks so the list stays compact). */
@media(max-width:760px),(pointer:coarse) {
  .article-nav>a { display:flex; align-items:center; min-height:44px }
  .article-nav { row-gap:0 }
}
/* One heading scale on phones: section titles stay below the page title and break into balanced lines.
   This file loads last on every page, so it overrides the section-specific sizes in site/products/identity.css. */
@media(max-width:760px) {
  main h2,.contact h2,.pilot-heading h2,.depth-heading h2,.shared-heading h2,.presence h2,.sectors-heading h2,.story-grid h2,
  .editor-section-heading h2,.editor-split h2,.editor-cta h2,.gallery-heading h2,.module-pilot h2,.deployment-grid h2 { font-size:clamp(30px,8.6vw,36px); text-wrap:balance }
}
/* Two heading tiers above phone width: section titles and sub-section titles (gallery, story, work cases). */
@media(min-width:761px) {
  .contact h2,.pilot-heading h2,.depth-heading h2,.shared-heading h2,.presence h2,.deployment-grid h2 { font-size:clamp(40px,4.15vw,60px) }
  .gallery-heading h2,.editor-section-heading h2 { font-size:clamp(34px,3.5vw,50px) }
}
/* Touch tablets and narrow windows: every form field uses 16px, like the contact form and the demo tools. */
@media(max-width:960px),(pointer:coarse) {
  .editor-filters input,.editor-filters select,.planner-fields select { font-size:16px }
}

.fictional-sample{margin:0 0 32px;padding:28px;border:1px solid var(--line);background:#fffdf8;font-size:14px;line-height:1.85}.fictional-sample>strong{display:block;margin-bottom:12px}.fictional-sample .sample-provenance{font-size:12px;color:var(--muted);margin-top:15px}
