/* Monarch homepage: open editorial layouts and a larger architectural canvas. */
.home-body { background: var(--bg); }
.home-body > .shell { width: 100%; }
.home-body .nav, .home-body .site-footer { width: min(1240px, calc(100% - 80px)); margin-inline: auto; }
.home-page { --home-space: clamp(64px, 7vw, 104px); }
.home-page > .section { width: min(1200px, calc(100% - 80px)); margin-inline: auto; padding: var(--home-space) 0; border: 0; }
.home-page .eyebrow { font: 500 11px/1.5 var(--font-mono); letter-spacing: .11em; margin: 0 0 18px; }
.home-page h2 { font-size: clamp(30px, 3.25vw, 44px); line-height: 1.18; letter-spacing: -.025em; font-weight: 400; text-wrap: pretty; }
.home-page .hero { position: relative; isolation: isolate; overflow: hidden; min-height: 710px; padding: 84px max(40px, calc((100% - 1200px)/2)) 88px; display: flex; align-items: flex-start; background: #f1eee6; }
.home-hero-copy { position: relative; z-index: 1; width: 570px; max-width: 49%; }
/* The photographic hero keeps a light surface in both themes. */
.home-page .hero h1 { --gold: #916420; color: #17211c; }
.home-page .hero .eyebrow { color: #745323; }
.home-page .hero .lede { color: #48483e; font-size: 18px; line-height: 1.65; margin-top: 26px; max-width: 48ch; }
.home-page .hero .claim { display: block; font-weight: 500; font-size: 14px; color: #343d34; margin: 20px 0 0; max-width: 45ch; }
.home-page .hero .claim::before { display: none; }
.home-page .hero .actions { gap: 24px; margin-top: 28px; align-items: center; }
.home-page .button { gap: 28px; font-size: 14px; font-weight: 600; box-shadow: none; }
.home-page .hero .button { background: #1b6b52; color: #fffefb; border-color: #1b6b52; }
.home-page .hero .home-text-link { color: #214e3c; }
.home-hero-art { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.home-page .hero::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, rgba(245,242,234,.94), rgba(245,242,234,.87) 30%, rgba(245,242,234,.58) 46%, transparent 68%); }
.home-text-link { display: inline-flex; align-items: center; gap: 14px; color: var(--blue); font-size: 14px; font-weight: 600; line-height: 1.5; min-height: 44px; text-decoration: none; }
.home-text-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.home-text-link > span, .home-card-action > span { transition: transform .2s ease; }
.home-text-link:hover > span, .home-industry:hover .home-card-action > span { transform: translate(2px,-2px); }
.home-proof { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.25fr); gap: 18px 72px; padding: 62px max(40px, calc((100% - 1200px)/2)); background: #163e30; color: #fbfaf6; }
.home-proof-copy { grid-row: span 2; }
.home-proof .eyebrow { color: #d6b77f; }
.home-proof h2 { color: #fbfaf6; font-size: 32px; max-width: 420px; }
.home-proof-copy > p:not(.eyebrow) { font-size: 15px; line-height: 1.6; color: #d1ddd3; margin: 18px 0 8px; max-width: 46ch; }
.home-proof .home-text-link { color: #fbfaf6; }
.home-proof-results { margin: 18px 0 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-self: center; gap: 32px; }
.home-proof-results div { display: flex; flex-direction: column-reverse; gap: 14px; }
.home-proof-results dt { font-size: 14px; color: #d1ddd3; }
.home-proof-results dd { margin: 0; font: 400 clamp(40px,4.5vw,60px)/1 var(--font-display); letter-spacing: -.035em; }
.home-proof-results dd span { font-size: .6em; }
.home-proof-note { grid-column: 2; align-self: end; margin: 0; color: #d1ddd3; font-size: 12px; line-height: 1.5; }
.home-section-head { max-width: 820px; margin-bottom: 42px; }
.home-section-head > p:not(.eyebrow) { margin: 22px 0 0; max-width: 68ch; color: var(--text-soft); font-size: 18px; line-height: 1.65; }
.home-page .section-copy { max-width: none; }
.home-capabilities { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 48px; margin-bottom: 22px; }
.home-capabilities article { padding-top: 22px; border-top: 1px solid var(--line-strong); }
.home-step-number { display: block; margin-bottom: 18px; color: var(--gold); font: 400 11px/1 var(--font-mono); }
.home-capabilities h3 { font: 600 18px/1.35 var(--font-body); }
.home-capabilities p { color: var(--text-soft); font-size: 16px; line-height: 1.65; margin: 12px 0 0; }
.home-workflows { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 80px; margin-top: 70px; padding: 52px 56px; background: var(--panel); }
.home-workflow-intro h3 { font-size: 32px; line-height: 1.25; max-width: 340px; letter-spacing: -.02em; }
.home-workflow-intro > p:not(.eyebrow) { color: var(--text-soft); font-size: 16px; line-height: 1.6; margin: 20px 0 28px; max-width: 30ch; }
.home-workflow-tabs { display: none; flex-direction: column; align-items: stretch; }
.home-workflows.is-enhanced .home-workflow-tabs { display: flex; }
.home-workflows:not(.is-enhanced) .home-workflow-panel + .home-workflow-panel { margin-top: 40px; }
.home-workflow-tabs button { appearance: none; background: none; border: 0; border-bottom: 1px solid var(--line); font: 500 15px/1.5 var(--font-body); color: var(--muted); text-align: left; padding: 17px 24px 17px 0; min-height: 52px; cursor: pointer; position: relative; }
.home-workflow-tabs button[aria-selected="true"] { color: var(--blue); border-bottom-color: var(--blue); }
.home-workflow-tabs button[aria-selected="true"]::after { content: ""; position: absolute; right: 3px; top: calc(50% - 3px); width: 6px; height: 6px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); }
.home-workflow-panel { padding: 0; border: 0; }
.home-workflow-panel[hidden] { display: none; }
.home-example-label { margin: 0 0 12px; color: var(--muted); font: 400 10px/1.5 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; }
.home-workflow-panel h4 { font: 500 24px/1.3 var(--font-display); margin: 0; color: var(--text); }
.home-workflow-request { margin: 14px 0 26px; color: var(--text-soft); font-size: 15px; line-height: 1.5; }
.home-workflow-panel ol { list-style: none; margin: 0; padding: 0; }
.home-workflow-panel li { display: flex; position: relative; gap: 22px; padding-bottom: 25px; }
.home-workflow-panel li:not(:last-child)::before { content: ""; position: absolute; top: 14px; left: 5px; bottom: -4px; width: 1px; background: var(--line-strong); }
.home-workflow-dot { flex: 0 0 11px; height: 11px; margin-top: 6px; border: 1px solid var(--gold); background: var(--panel); transform: rotate(45deg); }
.home-workflow-panel li strong, .home-workflow-panel li div > span { display: block; }
.home-workflow-panel li strong { color: var(--text); font-size: 15px; font-weight: 600; }
.home-workflow-panel li div > span { color: var(--muted); font-size: 14px; line-height: 1.5; margin-top: 4px; }
.home-workflow-result { border-top: 1px solid var(--line); padding-top: 20px; font-size: 15px; line-height: 1.6; color: var(--text-soft); margin: 0 0 12px; }
.home-page #solutions { padding-top: 0; }
.home-industry-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; }
.home-industry { display: flex; min-width: 0; flex-direction: column; text-decoration: none; border: 0; background: none; }
.home-industry > img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; display: block; }
.home-industry > div { display: flex; flex-direction: column; flex: 1; padding-top: 23px; }
.home-industry h3 { font: 600 18px/1.35 var(--font-body); }
.home-industry p { color: var(--text-soft); font-size: 15px; line-height: 1.6; margin: 12px 0 22px; }
.home-card-action { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: auto; color: var(--blue); font-size: 13px; font-weight: 600; min-height: 44px; border-top: 1px solid var(--line); padding-top: 12px; }
.home-industry:hover h3 { color: var(--blue); }
.home-page #governance { width: 100%; background: var(--panel); padding: 66px max(40px, calc((100% - 1200px)/2)); }
.home-page #governance .home-section-head { max-width: 830px; margin-bottom: 28px; }
.home-trust-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 38px; font-size: 14px; color: var(--muted); }
.home-trust-row > span::before { content: "✓"; margin-right: 10px; color: var(--blue); }
.home-trust-row .home-text-link { margin-left: auto; }
.home-reading-head { display: flex; justify-content: space-between; align-items: end; gap: 32px; margin-bottom: 36px; }
.home-reading-head h2 { font-size: 36px; }
.home-page #home-blog-grid { gap: 32px; background: none; border: 0; }
.home-page .blog-card { border: 0; box-shadow: none; background: none; transform: none; }
.home-page .blog-card .blog-body { padding: 22px 0 0; background: none; }
.home-page .blog-card h3 { font-size: 23px; line-height: 1.3; margin-top: 0; }
.home-page .blog-card .tag-row { min-height: 18px; margin-bottom: 10px; }
.home-page .blog-card .blog-tag { min-height: 18px; line-height: 18px; }
.home-page .blog-card .tag-row .blog-tag { margin-bottom: 0; }
.home-page .blog-card .blog-meta { font-size: 12px; margin: 0 0 12px; }
.home-page .blog-card .home-article-action { display: flex; justify-content: space-between; margin-top: auto; padding-top: 24px; color: var(--blue); font: 600 13px/1.5 var(--font-body); }
.home-page .blog-card > img, .home-page .blog-card > .comparison-cover { aspect-ratio: 16/10; height: auto; min-height: 0; width: 100%; border: 0; }
.home-page .comparison-cover { padding: 24px 18px; justify-content: center; }
.home-page .monarch-cover-brand { font: 500 12px/1.5 var(--font-mono); letter-spacing: .15em; text-transform: uppercase; }
.home-page .comparison-cover .monarch-cover-brand img { width: 30px; height: 30px; }
.home-page .final { display: block; padding: 68px max(40px, calc((100% - 1200px)/2)); border: 0; background: #163e30; color: #fbfaf6; }
.home-page .final h2 { max-width: 850px; color: #fbfaf6; }
.home-page .final p { max-width: 62ch; font-size: 17px; color: #d1ddd3; line-height: 1.6; margin: 20px 0 0; }
.home-page .final .signup { margin-top: 30px; box-shadow: none; background: #fbfaf6; max-width: 570px; }
.home-page .final .signup input { background: #fbfaf6; color: #17211c; }
.home-page .final .signup input::placeholder { color: #6b6760; opacity: 1; }
.home-page .final .signup button { background: #d6b77f; color: #17211c; border: 0; }
.home-page .final .home-delivery-link { color: #f2d5a0; margin-top: 16px; }
.home-page .final .confirm { color: #17211c; background: #fbfaf6; border-color: #d6b77f; }
.home-page .final .confirm strong { color: #1b6b52; }
.home-proof :focus-visible, .home-page .final :focus-visible { outline-color: #f2d5a0; }
.home-page [id] { scroll-margin-top: 110px; }
.home-page .region-commitment { width: min(1200px,calc(100% - 80px)); margin: 0 auto; padding: 64px 0 0; }
[data-theme="dark"] .home-page .hero { background: #f1eee6; }
[data-theme="dark"] .home-workflows { background: #201f19; }
@media (min-width: 761px) { .home-workflows.is-enhanced .home-workflow-panels { min-height: 395px; } }
@media (max-width: 1100px) {
  .home-page .hero { min-height: 680px; padding-top: 64px; }
  .home-hero-copy { max-width: 54%; }
  .home-proof { gap: 20px 42px; }
  .home-proof-results { gap: 20px; }
  .home-workflows { gap: 40px; padding: 40px; }
  .home-industry-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px; }
  .home-industry { display: grid; grid-template-columns: 136px minmax(0,1fr); gap: 22px; }
  .home-industry > div { padding-top: 0; }
  .home-capabilities { gap: 28px; }
}
@media (max-width: 760px) {
  .home-body .nav, .home-body .site-footer, .home-page > .section { width: calc(100% - 40px); }
  .home-page .hero { display: block; padding: 44px 20px 56px; min-height: 0; }
  .home-hero-copy { width: auto; max-width: 600px; }
  .home-page .hero h1 { max-width: 600px; }
  .home-page .hero .lede { font-size: 17px; }
  .home-hero-art { object-position: 62% center; }
  .home-page .hero::after { background: linear-gradient(180deg, rgba(245,242,234,.89), rgba(245,242,234,.85) 65%, rgba(245,242,234,.58)); }
  .home-proof { grid-template-columns: 1fr; padding: 44px 20px; gap: 28px; }
  .home-proof-copy { grid-row: auto; }
  .home-proof-results { margin-top: 0; }
  .home-proof-results dd { font-size: 46px; }
  .home-proof-note { grid-column: auto; }
  .home-capabilities { grid-template-columns: 1fr; gap: 26px; }
  .home-capabilities article { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 0 12px; }
  .home-capabilities p { grid-column: 2; margin-top: 10px; }
  .home-step-number { padding-top: 6px; }
  .home-workflows { grid-template-columns: 1fr; margin-top: 40px; padding: 30px 24px; gap: 30px; }
  .home-workflow-intro h3 { font-size: 28px; max-width: none; }
  .home-workflow-intro > p:not(.eyebrow) { max-width: none; margin-bottom: 18px; }
  .home-workflow-tabs { flex-direction: row; flex-wrap: wrap; gap: 10px 20px; }
  .home-workflow-tabs button { padding: 10px 0; min-height: 44px; font-size: 13px; }
  .home-workflow-tabs button[aria-selected="true"]::after { display: none; }
  .home-industry-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 20px; }
  .home-industry { display: flex; }
  .home-industry > div { padding-top: 18px; }
  .home-industry h3 { font-size: 16px; }
  .home-industry p { font-size: 14px; }
  .home-card-action { font-size: 12px; }
  .home-page #governance { padding: 44px 20px; }
  .home-trust-row { gap: 10px 24px; }
  .home-trust-row .home-text-link { margin-left: 0; flex-basis: 100%; }
  .home-reading-head { display: block; }
  .home-reading-head .home-text-link { margin-top: 12px; }
  .home-page #home-blog-grid { grid-template-columns: 1fr; gap: 28px; }
  .home-page .blog-card { display: grid; grid-template-columns: 112px minmax(0,1fr); gap: 20px; }
  .home-page .blog-card > img, .home-page .blog-card > .comparison-cover { aspect-ratio: 1; }
  .home-page .blog-card .blog-body { padding: 0; }
  .home-page .blog-card h3 { font-size: 20px; }
  .home-page .blog-card .home-article-action { padding-top: 16px; }
  .home-page .comparison-cover { padding: 10px 6px; gap: 6px; }
  .home-page .comparison-cover .monarch-cover-brand { font-size: 8px; gap: 3px; letter-spacing: .08em; }
  .home-page .comparison-cover .monarch-cover-brand img { width: 17px; height: 17px; }
  .home-page .comparison-versus { font-size: 8px; }
  .home-page .comparison-cover .vendor-cover-logo { width: 85px; max-width: 90%; height: auto; }
  .home-page .final { padding: 44px 20px; }
  .home-page .region-commitment { width: calc(100% - 40px); padding-top: 44px; }
}
@media (prefers-reduced-motion: reduce) { .home-text-link > span, .home-card-action > span { transition: none; } }

/* Show the full range of workflows without requiring a tab selection. */
.home-workflows { display: block; padding: 42px 0 0; background: none; border-top: 1px solid var(--line); margin-top: 48px; }
.home-workflow-intro h3 { max-width: none; font-size: 32px; }
.home-workflow-intro > p:not(.eyebrow) { max-width: 65ch; margin: 16px 0 32px; }
.home-workflow-panels { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; }
.home-workflow-panel { display: flex; flex-direction: column; padding-top: 22px; border-top: 2px solid var(--gold); }
.home-workflows:not(.is-enhanced) .home-workflow-panel + .home-workflow-panel { margin-top: 0; }
.home-workflow-panel h4 { font-size: 24px; min-height: 2.6em; }
.home-workflow-request { min-height: 3em; }
.home-workflow-panel .home-text-link { margin-top: auto; }
.home-workflow-dot { background: var(--bg); }
[data-theme="dark"] .home-workflows { background: none; }
@media(max-width:760px) {
  .home-workflow-panels { grid-template-columns: 1fr; gap: 28px; }
  .home-workflow-panel h4, .home-workflow-request { min-height: 0; }
  .home-workflow-panel { display: grid; grid-template-columns: 1fr; }
  .home-workflow-intro h3 { font-size: 28px; }
}
.discovery-product-link { margin-top: 18px; }
/* Aligned editorial cards: one image row, one shared reading rhythm. */
@media(min-width:761px) {
 .home-page #home-blog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
 .home-page .blog-card { display:flex; flex-direction:column; }
 .home-page .blog-card .blog-body { display:flex; flex-direction:column; flex:1; }
 .home-page .blog-card > img, .home-page .blog-card > .comparison-cover { aspect-ratio:16/10; object-fit:cover; }
 .home-page .blog-card h3 { font-size:clamp(21px,2vw,27px); }
}

/* A quiet moving application strip, with a persistent keyboard-accessible pause. */
.home-software { width: min(1240px,calc(100% - 80px)); margin: 0 auto; padding: 28px 0 30px; position: relative; }
.home-software-heading { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.home-software-heading p { margin: 0; color: var(--text-soft); font-size: 13px; }
.home-software-heading label { color: var(--muted); font-size: 12px; padding: 12px 0 12px 26px; cursor: pointer; }
.software-pause { position: absolute; right: 84px; top: 40px; accent-color: var(--blue); width: 14px; height: 14px; margin: 0; }
.home-software .logo-marquee { margin-top: 0; width:100%; border: 0; background: none; }
.home-software .logo-track { width:max(200%,2000px); gap:0; padding:18px 0; animation-duration:40s; }
.home-software .logo-set { display:flex; flex:0 0 50%; min-width:0; gap:36px; padding:0 24px; justify-content:space-around; align-items:center; }
.home-software .logo-track img { opacity: .72; }
.software-pause:checked ~ .logo-marquee .logo-track, .home-software .logo-marquee:hover .logo-track { animation-play-state: paused; }
@media(max-width:760px) { .home-software { width: calc(100% - 40px); padding: 20px 0; } .software-pause { top: 32px; } .home-software .logo-track { width:2000px; } .home-software .logo-set { gap:36px; padding:0 24px; } }
@media(prefers-reduced-motion:reduce) {
 .home-software .software-pause, .home-software-heading label, .home-software .logo-set[aria-hidden] { display: none; }
 .home-software .logo-marquee { mask-image: none; -webkit-mask-image: none; overflow: visible; }
 .home-software .logo-track { width: 100%; animation: none; }
 .home-software .logo-set { flex:1; flex-wrap: wrap; justify-content: center; gap: 28px 40px; padding: 10px 0; }
}

/* Homepage revisions: quieter brand strip and warmer article art. */
.home-software .logo-marquee:focus .logo-track { animation-play-state: paused; }
.home-software .logo-marquee:focus-visible { outline: 2px solid var(--blue); outline-offset: 6px; }
.home-page .comparison-cover { background: #e9e4d9; }
.home-page .comparison-cover .monarch-cover-brand { color: #17211c; }
.home-page .comparison-cover .comparison-versus { color: #6b5633; }

/* Native scrolling remains available without JavaScript. */
.home-industry-controls { display:flex; align-items:center; gap:10px; margin:-12px 0 22px; }
.home-industry-controls[hidden] { display:none; }
.home-industry-controls>span { margin-right:auto; font:400 12px var(--font-body); color:var(--muted); }
.home-industry-controls button { width:44px; height:44px; border:1px solid var(--line-strong); color:var(--text); background:none; font-size:22px; cursor:pointer; }
.home-industry-controls button:disabled { opacity:.3; cursor:default; }
.home-industry-controls button:focus-visible,.home-industry-grid:focus-visible { outline:2px solid var(--blue); outline-offset:4px; }
.home-industry-grid { display:grid; grid-auto-flow:column; grid-template-columns:none; grid-auto-columns:calc((100% - 84px)/4); gap:28px; overflow-x:auto; scroll-snap-type:x proximity; padding:2px 2px 24px; scrollbar-color:var(--line-strong) transparent; scrollbar-width:thin; cursor:grab; }
.home-industry-grid.is-dragging { cursor:grabbing; user-select:none; scroll-snap-type:none; }
.home-industry { display:flex; scroll-snap-align:start; }
.home-industry img { pointer-events:none; }
@media(max-width:1000px) { .home-industry-grid { grid-auto-columns:calc((100% - 40px)/2.4); gap:24px; } .home-industry>div { padding-top:20px; } }
@media(max-width:560px) { .home-industry-grid { grid-auto-columns:78%; gap:20px; } .home-industry-controls { margin-top:0; } }

.home-team-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.home-team-links a { position:relative; display:block; padding:24px 34px 24px 0; border-top:1px solid var(--line-strong); color:var(--text); text-decoration:none; }
.home-team-links span { font:500 23px/1.3 var(--font-display); }
.home-team-links p { margin:12px 0 0; color:var(--text-soft); font-size:15px; line-height:1.6; }
.home-team-links b { position:absolute; top:24px; right:0; color:var(--blue); font-weight:400; }
.home-team-links a:hover span { color:var(--blue); }
.home-team-links a:focus-visible { outline:2px solid var(--blue); outline-offset:5px; }
@media(max-width:760px) { .home-team-links { grid-template-columns:1fr; gap:6px; } }

.home-mainframes{width:min(1200px,calc(100% - 80px));margin-inline:auto;display:grid;grid-template-columns:1.25fr 1fr;gap:65px;align-items:center;padding:60px 0;border-top:1px solid var(--line)}.home-mainframes h2{font-size:clamp(30px,3vw,44px);line-height:1.16;margin:15px 0 20px}.home-mainframes p:not(.eyebrow){max-width:520px;margin-bottom:24px}.home-mainframes img{display:block;width:100%;height:auto}.home-mainframes em{color:var(--gold)}@media(max-width:640px){.home-mainframes{width:calc(100% - 40px);grid-template-columns:1fr;gap:25px;padding:35px 0}.home-mainframes img{max-width:400px;margin:auto}}
