/* Homepage visual system. Product microsites retain their own styles. */
:root { --blue: #254fbd; --blue-dark: #183b91; --ink: #142743; --text: #536176; --muted: #617086; --line: #dce3ec; --soft: #f4f6fa; --radius: 14px; --shadow-soft: none; }
.alma-home { font-family: "Segoe UI", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
.alma-home .shell, .alma-home .platform-section .shell { width: min(1240px, calc(100% - 80px)); }
.alma-home h1, .alma-home h2, .alma-home h3 { text-wrap: balance; }
.alma-home section[id], #home { scroll-margin-top: 100px; }
.alma-home a:focus-visible, .alma-home button:focus-visible { outline: 3px solid #00aeef; outline-offset: 5px; }
.skip-link { position: fixed; top: -80px; left: 20px; z-index: 1000; background: white; color: var(--ink); padding: 16px; }
.skip-link:focus { top: 10px; }
.utility-bar { background: #112744; color: #dce6f5; font-size: 12px; letter-spacing: .025em; }
.utility-bar .shell { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.utility-bar a { text-decoration: none; color: white; }
.utility-bar a span { margin-left: 12px; color: #7ed1ff; }
body.alma-home .compact-header { background: #fffffff5; box-shadow: none; }
body.alma-home .compact-header .nav { min-height: 88px; gap: 24px; padding: 0; flex-wrap: nowrap; }
body.alma-home .compact-header .brand { min-width: 220px; max-width: none; gap: 12px; }
body.alma-home .compact-header .brand img { width: 48px; height: 48px; flex-basis: 48px; border-radius: 0; object-fit: contain; }
body.alma-home .compact-header .brand strong { font-size: 16px; color: #142743; }
body.alma-home .compact-header .brand small { font-size: 10px; font-weight: 500; }
body.alma-home .compact-header .nav-links { width: auto; gap: 19px; margin-left: auto; flex-wrap: nowrap; }
body.alma-home .compact-header .nav-links > a { font-size: 13px; font-weight: 600; }
body.alma-home .compact-header .nav-links > a[href="#clients"], body.alma-home .compact-header .nav-links > a[href="#contact"]:not(.nav-cta) { display: none; }
body.alma-home .compact-header .nav-cta { padding: 12px 17px; border-radius: 7px; box-shadow: none; }
body.alma-home .compact-header .language-switcher { border: 0; background: var(--soft); border-radius: 6px; gap: 0; }
body.alma-home .compact-header .language-option { font-size: 11px; border-radius: 4px; padding: 5px 7px; }
body.alma-home .compact-header .language-option img { display: none; }
.menu-toggle { border: 1px solid var(--line); border-radius: 6px; padding: 10px 14px; background: white; color: var(--ink); font: inherit; cursor: pointer; }
.menu-toggle[hidden] { display: none; }
.alma-home .hero { padding: 84px 0 88px; background: #f4f7fb; }
.alma-home .hero::before { width: 720px; height: 720px; right: -300px; top: -300px; border: 1px solid #dbe5f2; background: transparent; }
.alma-home .hero::after { width: 900px; height: 900px; left: auto; right: -390px; bottom: -200px; border: 1px solid #dbe5f2; background: transparent; }
.alma-home .hero-grid { grid-template-columns: 1.1fr 1fr; gap: 90px; }
.alma-home .eyebrow { padding: 0; border-radius: 0; background: none; font-size: 11px; font-weight: 700; letter-spacing: .13em; line-height: 1.7; }
.alma-home .hero .eyebrow::before { content: ""; width: 24px; height: 2px; background: #008fcd; align-self: center; margin-right: 12px; flex-shrink: 0; }
.alma-home .hero h1 { font-size: clamp(42px, 4.4vw, 64px); line-height: 1.08; font-weight: 650; letter-spacing: -.045em; margin: 24px 0; color: #142743; }
.alma-home .hero-lead { font-size: 17px; line-height: 1.8; max-width: 540px; }
.alma-home .hero-actions { gap: 12px; margin-top: 30px; }
.alma-home .button { border-radius: 7px; font-size: 13px; font-weight: 650; padding: 15px 22px; box-shadow: none; }
.alma-home .hero .primary::after { content: "↗"; margin-left: 20px; }
.alma-home .hero-tags { gap: 10px 22px; margin-top: 28px; }
.alma-home .hero-tags span { padding: 0; border: 0; background: none; font-size: 11px; color: #586a80; font-weight: 500; }
.alma-home .hero-tags span::before { content: "✓"; margin-right: 6px; color: #177c75; }
.alma-home .hero-tags span:first-child, .alma-home .hero-tags span:nth-child(3) { display: none; }
.portfolio-panel { background: #fff; border: 1px solid #dbe3ee; border-radius: 16px; overflow: hidden; box-shadow: 0 22px 65px -30px #1d355c50; }
.portfolio-intro { padding: 28px 30px 24px; color: white; background: #142e51; position: relative; overflow: hidden; }
.portfolio-intro::after { content: ""; position: absolute; right: -38px; top: -72px; width: 210px; height: 210px; border: 32px solid #ffffff06; border-radius: 50%; pointer-events: none; }
.portfolio-kicker { color: #90cffa; font-size: 10px; letter-spacing: .2em; font-weight: 600; }
.portfolio-intro h2 { margin: 14px 0 8px; font-size: 27px; letter-spacing: -.025em; font-weight: 600; }
.portfolio-intro p { margin: 0; font-size: 12px; color: #bdcde2; }
.portfolio-list { padding: 5px 26px; }
.portfolio-product { display: flex; align-items: center; gap: 16px; padding: 16px 0; border-bottom: 1px solid #e9edf3; text-decoration: none; transition: background .15s; }
.portfolio-product:last-child { border: 0; }
.portfolio-product:hover { background: #f4f7fb; }
.portfolio-logo { width: 44px; height: 44px; flex: 0 0 44px; border: 1px solid #e6ebf2; border-radius: 10px; padding: 5px; display: grid; place-items: center; }
.portfolio-logo img { width: 100%; height: 100%; object-fit: contain; }
.portfolio-product-copy { display: grid; gap: 4px; }
.portfolio-product strong { font-size: 15px; font-weight: 650; }
.portfolio-product small { font-size: 11px; color: var(--muted); }
.portfolio-arrow { margin-left: auto; font-size: 19px; color: #6b829d; }
.portfolio-foot { display: flex; align-items: center; gap: 8px; background: #f7f9fc; border-top: 1px solid #e9edf3; padding: 15px 26px; font-size: 10px; color: #586a80; }
.status-dot { width: 6px; height: 6px; background: #258378; border-radius: 50%; }
.alma-home .trust-strip { border-block: 1px solid var(--line); background: white; padding: 32px 0; }
.alma-home .trust-grid { gap: 28px; }
.alma-home .trust-grid > div { border: 0; border-right: 1px solid var(--line); border-radius: 0; padding: 0 20px 0 0; background: none; box-shadow: none; }
.alma-home .trust-grid > div:last-child { border: 0; }
.alma-home .trust-grid strong { color: var(--ink); font-size: 15px; }
.alma-home .trust-grid span { font-size: 12px; line-height: 1.6; }
.alma-home .section { padding: 88px 0; }
.alma-home .section-heading { margin-bottom: 38px; max-width: 740px; }
.alma-home .section-heading.centered { text-align: left; margin-inline: 0; }
.alma-home .section-heading h2, .alma-home .experience-grid h2 { font-size: clamp(28px, 3vw, 42px); line-height: 1.16; letter-spacing: -.035em; font-weight: 600; margin-top: 14px; }
.alma-home .section-heading p:not(.eyebrow) { font-size: 15px; line-height: 1.8; }
.alma-home .decision-card { border: 0; border-top: 1px solid var(--line); border-radius: 0; padding: 25px 20px 0 0; box-shadow: none; background: transparent; }
.alma-home .decision-card > span { font-size: 13px; color: #7188a4; font-weight: 500; }
.alma-home .decision-card h3 { font-size: 20px; font-weight: 600; }
.alma-home .decision-card p { font-size: 14px; }
.alma-home .audience-section { background: #f4f6fa; }
.alma-home .platform-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; }
.alma-home .platform-card { grid-column: span 2; border-radius: 12px; padding: 28px; background: white; border: 1px solid var(--line); box-shadow: none; min-height: 290px; }
.alma-home .platform-card.primary-product { grid-column: span 3; background: #f4f7fb; box-shadow: none; }
.alma-home .platform-card::before { height: 3px; }
.alma-home .platform-card h3 { font-size: 25px; font-weight: 600; }
.alma-home .platform-card p { font-size: 14px; }
.alma-home .platform-card a { font-size: 13px; padding-top: 25px; }
.alma-home .platform-card a::after { content: "↗"; margin-left: auto; }
.alma-home .platform-label-row { flex-wrap: wrap; white-space: normal; }
.alma-home .platform-logo { box-shadow: none; border-radius: 9px; }
.alma-home .conversion-card, .alma-home .deep-card { border-radius: 14px; box-shadow: none; }
.alma-home .security-trust-card { border-radius: 16px; box-shadow: none; }
.alma-home .experience-section { background: #142e51; }
.alma-home .proof-card, .alma-home .proof-mini-card, .alma-home .experience-stats div { border-radius: 10px; box-shadow: none; }
.alma-home .proof-product-heading { display: flex; gap: 12px; align-items: center; }
.alma-home .proof-product-heading .solution-logo { flex: 0 0 48px; }
.alma-home .approach-section .decision-card::before { display: none; }
.alma-home .final-conversion-section { background: #f4f7fb; padding: 64px 0; }
.alma-home .final-conversion-box { background: #142e51; border-radius: 16px; box-shadow: none; }
.alma-home .contact-section { background: #1b3b65; padding: 64px 0; }
.alma-home .site-footer { background: #10243f; }
.alma-home .footer-grid h4 { font-size: 11px; letter-spacing: .1em; }
.alma-home .footer-grid a, .alma-home .footer-grid p { font-size: 13px; }
@media (max-width: 1150px) {
    .alma-home .shell, .alma-home .platform-section .shell { width: calc(100% - 48px); }
    body.alma-home .compact-header .nav-links { gap: 12px; }
    body.alma-home .compact-header .brand { min-width: 195px; }
    body.alma-home .compact-header .brand strong { font-size: 14px; }
    .alma-home .hero-grid { gap: 40px; }
}
@media (max-width: 980px) {
    body.alma-home .compact-header .nav { flex-wrap: wrap; padding: 16px 0; min-height: 78px; gap: 16px; }
    .menu-toggle:not([hidden]) { display: block; margin-left: auto; }
    body.alma-home .compact-header .nav-links { width: 100%; flex-wrap: wrap; gap: 16px 24px; margin: 0; }
    body.alma-home .compact-header .nav-links[data-collapsed="true"] { display: none; }
    body.alma-home .compact-header .nav-links > a { min-height: 40px; }
    body.alma-home .compact-header .language-switcher, body.alma-home .compact-header .nav-cta { order: initial; }
    .alma-home .hero-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
    .alma-home .hero h1 { font-size: 44px; }
    .portfolio-panel { transform: none; }
    .portfolio-intro { padding: 24px; }
    .portfolio-intro h2 { font-size: 24px; }
    .portfolio-list { padding-inline: 18px; }
    .portfolio-foot { padding-inline: 18px; flex-wrap: wrap; }
}
@media (max-width: 760px) {
    body.alma-home .compact-header .brand { min-width: 0; width: auto; flex: 1; }
    body.alma-home .compact-header .brand strong { font-size: 13px; }
    body.alma-home .compact-header .brand small { display: none; }
    body.alma-home .compact-header .nav { gap: 10px; flex-direction: row; align-items: center; }
    .menu-toggle { font-size: 13px; padding: 10px; }
    .alma-home .shell, .alma-home .platform-section .shell { width: calc(100% - 40px); }
    .alma-home .hero { padding: 48px 0; }
    .alma-home .hero-grid { grid-template-columns: 1fr; gap: 40px; }
    .alma-home .hero h1 { font-size: clamp(38px, 8vw, 52px); max-width: 600px; }
    .alma-home .hero-lead { font-size: 16px; }
    .alma-home .hero .button { width: auto; }
    .portfolio-panel { width: 100%; max-width: 580px; }
    .alma-home .trust-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
    .alma-home .trust-grid > div { border: 0; }
    .alma-home .section { padding: 56px 0; }
    .alma-home .platform-grid { grid-template-columns: 1fr; }
    .alma-home .platform-card, .alma-home .platform-card.primary-product { grid-column: auto; min-height: 0; }
    .alma-home .decision-grid { gap: 28px; }
    .alma-home .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px; }
    .alma-home .footer-grid > div:first-child { grid-column: 1 / -1; }
    .utility-bar { font-size: 10px; }
    .utility-bar .shell > span { max-width: 60%; }
    .alma-home .contact-box, .alma-home .final-conversion-box { flex-direction: column; align-items: stretch; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .alma-home *, .alma-home *::before, .alma-home *::after { transition: none !important; animation: none !important; }
}

/* Editorial rhythm and consistent interaction states. */
.alma-home .hero { padding-block: 64px; }
.alma-home .hero-grid { gap: clamp(32px, 5vw, 72px); }
.alma-home .hero h1 { font-weight: 600; }
.alma-home .platform-section { background: #fff; }
.alma-home .company-position-section { background: #f4f6fa; border-block: 1px solid #e5eaf1; }
.alma-home .audience-section { background: #fff; }
.alma-home .platform-card { transition: border-color .18s, box-shadow .18s; }
.alma-home .platform-card:hover, .alma-home .platform-card:focus-within { border-color: #8ca9d5; box-shadow: 0 12px 30px -20px #183b9160; }
.alma-home .platform-card a { min-height: 44px; align-items: center; }
.alma-home .platform-label-row > span:first-child { font-size: 10px; letter-spacing: .09em; }
.alma-home .platform-card .focus-pill, .alma-home .platform-card .new-pill { display: none; }
.alma-home .platform-logo { width: 58px; height: 58px; }
.alma-home .company-value-grid { gap: 36px; }
.alma-home .audience-card h3 { font-size: 18px; }
.alma-home .contact-section { background: #edf3fb; color: var(--ink); border-top: 1px solid var(--line); padding-block: 80px; }
.alma-home .contact-box { color: var(--ink); }
.alma-home .contact-box h2 { font-size: clamp(28px, 3vw, 42px); letter-spacing: -.035em; line-height: 1.2; max-width: 650px; }
.alma-home .contact-box p { color: var(--text); max-width: 620px; line-height: 1.8; }
.alma-home .contact-box .eyebrow { color: var(--blue); }
.alma-home .contact-actions { flex-shrink: 0; flex-direction: column; min-width: 230px; }
.alma-home .contact-actions .white { background: var(--blue); color: white; }
.alma-home .contact-actions .outline-white { border-color: #bacbe1; color: var(--blue); background: white; }
.alma-home .button:hover, .alma-home .nav-cta:hover { filter: brightness(.95); }
.alma-home .footer-grid a { padding-block: 4px; }
@media (min-width: 1000px) {
    .alma-home .company-position-section > .shell { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; }
    .alma-home .company-value-grid { grid-template-columns: 1fr; gap: 25px; }
    .alma-home .company-value-card { position: relative; padding: 20px 0 0 42px; }
    .alma-home .company-value-card > span { position: absolute; left: 0; top: 25px; }
    .alma-home .company-value-card h3 { margin-top: 0; }
}
@media (max-width: 760px) {
    .alma-home .hero { padding-block: 40px; }
    .alma-home .contact-section { padding-block: 50px; }
    .alma-home .contact-actions { min-width: 0; }
}

/* A product-led hero: restrained typography and useful product discovery. */
.alma-home .hero { background: #f6f7f9; padding-block: 68px; }
.alma-home .hero::before, .alma-home .hero::after { display: none; }
.alma-home .hero-grid { grid-template-columns: 1.1fr 1fr; align-items: center; }
.alma-home .hero h1 { font-size: clamp(40px, 4.5vw, 64px); line-height: 1.09; letter-spacing: -.045em; }
.solution-finder { border: 1px solid #dce2e9; border-radius: 10px; box-shadow: 0 12px 35px -24px #14274350; }
.solution-finder .portfolio-intro { background: white; color: var(--ink); padding: 25px 28px 20px; border-bottom: 1px solid var(--line); }
.solution-finder .portfolio-intro::after { display: none; }
.solution-finder .portfolio-kicker { color: #65758b; font-size: 10px; }
.solution-finder .portfolio-intro h2 { font-size: 23px; margin: 12px 0 8px; }
.solution-finder .portfolio-intro p { color: var(--text); font-size: 13px; line-height: 1.6; }
.solution-finder .portfolio-list { padding: 0; }
.solution-finder .portfolio-product { padding: 17px 26px; gap: 15px; border-bottom: 1px solid #e5eaf0; align-items: flex-start; }
.solution-finder .portfolio-logo { box-shadow: none; background: white; }
.solution-finder .portfolio-product-copy { flex: 1; gap: 4px; }
.solution-finder .portfolio-product strong { font-size: 14px; }
.solution-finder .portfolio-product small { font-size: 11px; }
.solution-finder .product-summary { font-size: 12px; line-height: 1.65; color: #536176; margin-top: 6px; }
.solution-finder[data-enhanced] .portfolio-product:not(.is-active) .product-summary { display: none; }
.solution-finder .portfolio-product.is-active { background: #eef3fa; box-shadow: inset 3px 0 #254fbd; }
.solution-finder .portfolio-arrow { padding-top: 5px; }
.solution-finder .portfolio-foot { padding: 14px 26px; }
@media(max-width:760px) {
 .alma-home .hero { padding-block: 40px; }
 .alma-home .hero-grid { grid-template-columns: 1fr; }
 .solution-finder .portfolio-product { padding: 16px 20px; }
 .solution-finder .portfolio-intro { padding: 22px 20px; }
}
@media (hover: hover) and (pointer: fine) {
 .solution-finder[data-enhanced] .portfolio-product { min-height: 82px; position: relative; }
 .solution-finder[data-enhanced] .portfolio-product.is-active { min-height: 154px; }
 .solution-finder .portfolio-arrow { transition: transform .18s; }
 .solution-finder .portfolio-product:hover .portfolio-arrow { transform: translate(2px,-2px); }
}
@media (hover: none) {
 .solution-finder[data-enhanced] .portfolio-product:not(.is-active) .product-summary { display: block; }
}

/* Connected products form the hero composition itself. Blender renders are
   surface components; SVG connections and HTML labels stay crisp at any size. */
.alma-home .hero { background: #f4f6f9; padding-block: 44px; }
.alma-home .hero-grid { grid-template-columns: 1.05fr 1fr; gap: 35px; }
.alma-network { --hover-in: 650ms; --hover-out: 1250ms; position: relative; min-width: 0; }
.network-map { position: relative; width: 100%; aspect-ratio: 500/450; }
.network-connections { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.network-connections path { fill: none; stroke: #c2cedd; stroke-width: 1.2; transition: stroke .25s, stroke-width .25s; }
.network-connections path.is-active { stroke: #2856b8; stroke-width: 2; }
.network-hub { position: absolute; left: 24%; top: 50%; transform: translate(-50%,-50%); width: 120px; height: 120px; }
.network-hub img { width: 100%; height: 100%; }
.network-hub strong { position: absolute; inset: 0; display: grid; place-items: center; color: #133a81; font-size: 17px; letter-spacing: .07em; }
.network-node { position: absolute; transform: translate(-50%,-50%); display: flex; align-items: center; flex-direction: column; width: 140px; text-decoration: none; color: var(--ink); }
.network-node-surface { position: relative; width: 88px; height: 88px; transition: transform .25s, filter .25s; }
.node-render { width: 100%; height: 100%; }
.node-logo { position: absolute; width: 32px; height: 32px; object-fit: contain; left: 28px; top: 26px; mix-blend-mode: multiply; }
.network-node strong { font-size: 12px; font-weight: 600; white-space: nowrap; }
.network-node strong span { color: #8293ab; font-size: 12px; }
.network-node.is-active .network-node-surface { transform: translateY(-4px); filter: drop-shadow(0 8px 8px #3159a325); }
.network-node.is-active strong { color: #254fbd; }
/* The enhanced network supplies its own visible keyboard-focus glow. */
.alma-home .alma-network[data-enhanced] .network-node:focus-visible { outline: none; }
.node-0 { left: 52%; top: 14.45%; }
.node-1 { left: 81%; top: 32.22%; }
.node-2 { left: 82%; top: 64.44%; }
.node-3 { left: 56%; top: 84.44%; }
.node-4 { left: 33%; top: 70%; }
.network-description { display: none; }
.network-preview { min-height: 72px; margin: 10px 0 0 24%; border-top: 1px solid #d9e1ec; padding-top: 14px; font-size: 13px; line-height: 1.7; color: var(--text); }
.alma-network:not([data-enhanced]) .network-description { display: block; font-size: 10px; background: white; padding: 8px; }
@media(max-width:760px) {
 .alma-home .hero-grid { grid-template-columns: 1fr; gap: 20px; }
 .network-hub { width: 100px; height: 100px; }
 .network-node { width: 115px; }
 .network-node-surface { width: 76px; height: 76px; }
 .node-logo { left: 24px; top: 22px; width: 28px; height: 28px; }
 .network-node strong { font-size: 10px; }
 .network-preview { margin-left: 0; }
}
@media(prefers-reduced-motion:reduce) { .network-node-surface, .network-connections path { transition: none; } }
/* Reference-inspired, depth-projected mesh woven around product navigation. */
.abstract-network { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
.abstract-edges line { stroke: #4f8ec2; stroke-width: .65; opacity: .2; }
.abstract-edges line.is-lit { stroke: #248ebd; opacity: .55; }
.abstract-points circle { fill: #2c67a4; }
.abstract-points circle.is-lit { fill: #007fa9; filter: drop-shadow(0 0 3px #50badd90); }
.network-connections { pointer-events: none; }
.network-node strong { background: #f4f6f9ed; padding: 3px 6px; border-radius: 4px; }
.network-map { isolation: isolate; }
.network-hub, .network-node { z-index: 1; }
@media(max-width:760px) { .abstract-edges line { opacity: .14; } }
/* Refined software tiles: brighter Blender surfaces, larger marks, quiet depth. */
.network-node-surface { width: 98px; height: 98px; filter: drop-shadow(0 5px 7px #16365c14); }
.node-logo { width: 39px; height: 39px; left: 29.5px; top: 27px; mix-blend-mode: normal; border-radius: 5px; }
.network-node strong { margin-top: 2px; font-size: 12px; letter-spacing: -.01em; font-weight: 650; }
.network-node.is-active .network-node-surface { transform: translateY(-4px) scale(1.045); filter: drop-shadow(0 10px 10px #254fbd25); }
.network-node.is-active strong span { color: #254fbd; }
.network-hub img { filter: drop-shadow(0 8px 10px #16365c14); }
.network-hub strong { font-size: 16px; font-weight: 700; letter-spacing: .09em; }
@media(max-width:760px) {
 .network-node-surface { width: 78px; height: 78px; }
 .node-logo { width: 32px; height: 32px; left: 23px; top: 21px; }
 .network-node strong { font-size: 10px; }
}
.node-4 { left: 30%; top: 76%; }

/* Pointer-led depth: only the Blender tile tilts; captions and hit areas stay put. */
.network-node { perspective: 650px; }
.network-node-surface {
 transform-style: preserve-3d;
 transform: rotateX(0deg) rotateY(0deg);
 transition: transform var(--hover-out) cubic-bezier(.2,.75,.25,1), filter 260ms ease;
}
.network-node:hover .network-node-surface {
 transition-duration: var(--hover-in), 260ms;
 transition-timing-function: cubic-bezier(.333,0,.667,1), ease;
}
.network-node.is-active .network-node-surface {
 transform: translateY(-5px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) scale(1.035);
 filter: drop-shadow(var(--shadow-x, 0px) 12px 10px #234d852b);
}
.network-node .node-logo { transform: translateZ(9px); }
.network-node-surface::after {
 content: ''; position: absolute; inset: 11%; border-radius: 17%; pointer-events: none;
 background: radial-gradient(circle at var(--light-x, 35%) var(--light-y, 25%), #ffffffa8, #ffffff00 62%);
 opacity: 0; transform: translateZ(10px); transition: opacity 220ms ease;
}
.network-node.is-active .network-node-surface::after { opacity: .7; }
.network-node::before {
 content: ''; position: absolute; width: 165px; height: 165px; top: -31px; left: 50%;
 transform: translateX(-50%); border-radius: 50%; pointer-events: none;
 background: radial-gradient(circle, #71bcf521 0%, #71bcf50b 45%, transparent 70%);
 opacity: 0; transition: opacity 250ms ease; z-index: -1;
}
.network-node.is-active::before { opacity: 1; }
.abstract-edges line.is-lit { stroke: #2586c0; stroke-width: 1; opacity: .72; }
.abstract-points circle.is-lit { fill: #079ac4; filter: drop-shadow(0 0 4px #42bceba8); }
.network-connections path.is-active { stroke: #2779c6; stroke-width: 2; filter: drop-shadow(0 0 3px #73b7e35c); }
@media(prefers-reduced-motion:reduce) {
 .network-node.is-active .network-node-surface { transform: none; }
 .network-node .node-logo, .network-node-surface::after { transform: none; }
 .network-node::before, .network-node-surface::after { transition: none; }
}
.network-node.is-active .network-node-surface::after { opacity: .32; }
/* Commercial hierarchy: Payroll and Taurus are the two featured systems. */
.node-0 { left: 37%; top: 25.56%; }
.node-1 { left: 78%; top: 25.56%; }
.node-2 { left: 86%; top: 76.67%; }
.node-3 { left: 58%; top: 80%; }
.node-4 { left: 30%; top: 76.67%; }
.network-hub { left: 15%; top: 51.11%; width: 86px; height: 86px; }
.network-hub strong { font-size: 12px; }
.featured-node { width: 175px; }
.featured-node .network-node-surface { width: 168px; height: 168px; filter: drop-shadow(0 10px 12px #18365c1c); }
.featured-node .node-logo { width: 65px; height: 65px; left: 51.5px; top: 47px; border-radius: 8px; }
.featured-node strong { font-size: 17px; font-weight: 700; margin-top: 0; }
.node-category { display: block; color: #66778e; font-size: 11px; letter-spacing: .03em; margin-top: 4px; }
.featured-node::before { width: 220px; height: 220px; }
.node-1.is-active .network-node-surface { filter: drop-shadow(var(--shadow-x,0px) 12px 12px #85334226); }
.supporting-node .network-node-surface { width: 80px; height: 80px; }
.supporting-node .node-logo { width: 32px; height: 32px; left: 24px; top: 22px; }
.supporting-node strong { font-size: 10px; color: #56667d; }
.network-preview { margin-left: 15%; }
@media(max-width:760px) {
 .featured-node { width: 132px; }
 .featured-node .network-node-surface { width: 120px; height: 120px; }
 .featured-node .node-logo { width: 48px; height: 48px; left: 36px; top: 33px; }
 .featured-node strong { font-size: 13px; }
 .node-category { font-size: 10px; }
 .supporting-node .network-node-surface { width: 62px; height: 62px; }
 .supporting-node .node-logo { width: 26px; height: 26px; left: 18px; top: 16px; }
 .supporting-node { width: 100px; }
 .supporting-node strong { font-size: 9px; }
 .network-hub { width: 68px; height: 68px; }
 .network-hub strong { font-size: 10px; }
 .network-preview { margin-left: 0; }
}
/* Wettax occupies the middle tier of the product hierarchy. */
.node-2 .network-node-surface { width: 120px; height: 120px; }
.node-2 .node-logo { width: 48px; height: 48px; left: 36px; top: 33px; }
.node-2 strong { font-size: 13px; font-weight: 650; color: var(--ink); }
@media(max-width:760px) {
 .node-2 .network-node-surface { width: 90px; height: 90px; }
 .node-2 .node-logo { width: 36px; height: 36px; left: 27px; top: 25px; }
 .node-2 strong { font-size: 11px; }
}

/* Circular Blender junctions: light belongs on the rim, never over the brand. */
.network-node-surface::after { display: none; }
.network-node .node-logo { z-index: 2; opacity: 1; filter: none; mix-blend-mode: normal; }
.network-node-surface::before {
 content: ''; position: absolute; inset: 10%; border: 1px solid #5e9cbe55;
 border-radius: 50%; pointer-events: none; transform: translateZ(2px);
 box-shadow: 0 0 0 5px #478fb807; transition: border-color 220ms, box-shadow 220ms;
}
.network-node.is-active .network-node-surface::before {
 border-color: #2499c4; box-shadow: 0 0 0 5px #319dc315, 0 0 20px #279ac32a;
}
.abstract-edges .product-spoke { stroke: #5f92b6; stroke-width: 1; opacity: .48; }
.abstract-edges .product-spoke.is-lit { stroke: #078ebc; stroke-width: 1.5; opacity: .95; }
.abstract-points .product-port { fill: #f4f6f9; stroke: #5f92b6; stroke-width: 1.2; }
.abstract-points .product-port.is-lit { fill: #0b9dc4; stroke: #e4faff; }

/* Full-volume crystal junctions: no circular bezel or raised button treatment. */
.network-node-surface::before { display: none; }
.network-node .network-node-surface { filter: drop-shadow(4px 10px 10px #223d571c); }
.network-node.is-active .network-node-surface { filter: drop-shadow(0 4px 14px #319fc44d); transform: rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); }
.network-node .node-logo { left: 31%; top: 29%; width: 38%; height: 38%; transform: translateZ(9px); }
.network-node strong { background: transparent; }
.abstract-points .product-port { fill: #689ab6; stroke: #dff7ff; stroke-width: .8; }

/* Open network volumes: the live mesh continues through translucent shells. */
.network-node .network-node-surface, .network-node.is-active .network-node-surface,
.network-hub img { filter: none; }
.network-node .node-render { opacity: .85; transition: opacity 220ms ease, filter 240ms ease; }
.network-node.is-active .node-render { opacity: .85; }
.network-node::before { display: none; }
.abstract-edges .product-spoke { stroke: #518eaf; stroke-width: .8; opacity: .42; }
.abstract-points .product-port { r: 1.7; fill: #388caa; stroke: none; opacity: .7; }

/* Local hover energy stays in the mesh, behind the untouched product logos. */
.abstract-edges line { transition: stroke 280ms ease, stroke-width 280ms ease, opacity 280ms ease; }
.abstract-points circle { transition: fill 280ms ease, opacity 280ms ease, r 280ms ease; }
.abstract-edges line.is-lit {
 stroke: rgb(var(--network-tint, 113, 152, 174)); stroke-width: 1; opacity: .46;
 filter: drop-shadow(0 0 2px rgba(var(--network-tint, 113, 152, 174), .12));
}
.abstract-edges .product-spoke.is-lit {
 stroke: rgb(var(--network-tint, 97, 143, 168)); stroke-width: 1.05; opacity: .52;
}
.abstract-points circle.is-lit, .abstract-points .product-port.is-lit {
 fill: rgb(var(--network-tint, 108, 154, 175)); opacity: .7; stroke: #f4f6f9; stroke-width: .5;
 filter: drop-shadow(0 0 3px rgba(var(--network-tint, 108, 154, 175), .2));
}
.node-mesh-highlight {
 position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none;
 opacity: 0; transition: opacity var(--hover-out) ease-out;
 filter: var(--mesh-highlight);
}
.network-node.is-active .node-mesh-highlight { opacity: 1; transition-duration: var(--hover-in); }
.abstract-edges line, .network-connections path { transition: stroke var(--hover-in) ease-out, stroke-width var(--hover-in) ease-out, opacity var(--hover-in) ease-out, filter var(--hover-in) ease-out; }
.abstract-points circle { transition: fill var(--hover-in) ease-out, opacity var(--hover-in) ease-out, r var(--hover-in) ease-out, filter var(--hover-in) ease-out; }
.abstract-edges line:not(.is-lit), .abstract-points circle:not(.is-lit),
.network-connections path:not(.is-active):not(.is-hub-lit) { transition-duration: var(--hover-out); transition-timing-function: ease-out; }
.network-node .node-logo { opacity: 1; filter: none; }
@media(prefers-reduced-motion:reduce) {
 .network-node.is-active .network-node-surface { transform: none; }
 .abstract-edges line, .abstract-points circle { transition: none; }
}
.network-connections path.is-active { stroke: rgba(var(--network-tint, 114, 152, 175), .6); stroke-width: 1.5; filter: none; }

/* The product mark leads the hover state; its colour stays untouched. */
.network-node { --brand-light: 71, 135, 180; }
.node-0 { --mesh-highlight: url(#active-mesh-0); }
.node-1 { --mesh-highlight: url(#active-mesh-1); --brand-light: 166, 81, 94; }
.node-2 { --mesh-highlight: url(#active-mesh-2); --brand-light: 74, 126, 171; }
.node-3 { --mesh-highlight: url(#active-mesh-3); --brand-light: 56, 138, 151; }
.node-4 { --mesh-highlight: url(#active-mesh-4); --brand-light: 79, 139, 125; }
.network-node .node-logo {
 transition: transform var(--hover-out) cubic-bezier(.333,0,.667,1), filter var(--hover-out) ease-out;
}
.network-node.is-active .node-logo {
 transform: translateZ(12px) scale(1.04);
 filter: drop-shadow(0 2px 3px #16365c26);
 transition-duration: var(--hover-in), var(--hover-in);
 transition-timing-function: cubic-bezier(.333,0,.667,1), ease-out;
}
.network-node .network-node-surface::after {
 display: block; inset: 19%; border-radius: 50%;
 background: radial-gradient(ellipse, rgba(var(--brand-light), .15), rgba(var(--brand-light), .045) 42%, transparent 72%);
 transform: translateZ(3px); opacity: 0; transition: opacity var(--hover-out) ease-out;
}
.network-node.is-active .network-node-surface::after { opacity: 1; transition-duration: var(--hover-in); }
@media(prefers-reduced-motion:reduce) {
 .network-node.is-active .node-logo { transform: none; }
}
/* JS springs own transforms; CSS still fades the sharp visual highlights. */
.network-node[data-spring-motion] .network-node-surface { transition-property: filter; }
.network-node[data-spring-motion] .node-logo {
 transform: translateZ(var(--logo-depth, 9px)) scale(var(--logo-scale, 1));
 transition-property: filter;
}
@media(prefers-reduced-motion:reduce) {
 .network-node[data-spring-motion] .node-logo { transform: none; }
}

/* The ALMA mark emerges inside the mesh; its outer structure stays connected. */
.network-hub { perspective: 650px; text-decoration: none; }
.network-hub .hub-mesh { opacity: .85; transition: opacity var(--hover-out) ease-out; }
.network-hub strong { transition: opacity var(--hover-out) ease-out; }
.network-hub .hub-logo {
 position: absolute; left: 23%; top: 22%; width: 54%; height: 54%; object-fit: contain;
 border-radius: 50%; opacity: 0; transform: translateY(2px) scale(.96);
 transition: opacity var(--hover-out) ease-out, transform var(--hover-out) cubic-bezier(.333,0,.667,1);
}
.hub-active .network-hub .hub-logo { opacity: 1; transform: translateY(0) scale(1); transition-duration: var(--hover-in); }
.hub-active .network-hub strong { opacity: 0; transition-duration: var(--hover-in); }
.hub-active .network-hub .hub-mesh { opacity: .55; transition-duration: var(--hover-in); }
.alma-home .alma-network[data-enhanced] .network-hub:focus-visible { outline: none; }
.network-connections path.is-hub-lit {
 stroke: rgba(var(--network-tint, 75, 103, 150), .45); stroke-width: 1.35; opacity: 1; filter: none;
 transition-duration: var(--hover-in);
}
@media(prefers-reduced-motion:reduce) {
 .network-hub .hub-logo, .hub-active .network-hub .hub-logo { transform: none; }
}

/* One continuous reveal progress survives rapid changes of hover target. */
.network-hub[data-spring-motion] .hub-logo {
 opacity: var(--hub-reveal, 0);
 transform: translateY(var(--hub-y, 2px)) scale(var(--hub-scale, .96));
 transition: none;
}
.network-hub[data-spring-motion] strong { opacity: calc(1 - var(--hub-reveal, 0)); transition: none; }
.network-hub[data-spring-motion] .hub-mesh { opacity: calc(.85 - .3 * var(--hub-reveal, 0)); transition: none; }
@media(prefers-reduced-motion:reduce) {
 .network-hub[data-spring-motion] .hub-logo { transform: none; }
}

/* ALMA highlights track the exact same spring progress as its revealed logo. */
.hub-network-aura { opacity: var(--hub-emphasis, 0); pointer-events: none; }
.hub-network-aura line { stroke: var(--hub-mesh-tint, #637ba0); stroke-width: 1; }
.hub-network-aura circle { fill: var(--hub-mesh-tint, #637ba0); }
.network-connections path.hub-connection-overlay {
 stroke: var(--hub-mesh-tint, #637ba0); stroke-width: 1.35; opacity: calc(var(--hub-emphasis, 0) * .45);
 filter: none; transition: none;
}
/* Main mesh and halo share the logo's momentum-preserving crossfade. */
.network-node[data-spring-motion] .node-mesh-highlight,
.network-node[data-spring-motion] .network-node-surface::after {
 opacity: var(--node-emphasis, 0);
 transition: none;
}
/* Highlight strength follows the same progress; logo pixels keep their colour. */
.network-node[data-spring-motion] .node-logo {
 opacity: 1;
 filter: drop-shadow(0 2px 3px rgb(22 54 92 / calc(var(--node-emphasis, 0) * .15)));
 transition: none;
}
.network-hub[data-spring-motion] .hub-logo {
 filter: drop-shadow(0 2px 3px rgb(22 54 92 / calc(var(--hub-reveal, 0) * .12)));
}
.network-hub .hub-mesh-highlight {
 position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none;
 filter: url(#active-mesh-alma);
 opacity: var(--hub-reveal, 0);
 transition: none;
}

/* Quiet diagram captions; full names and explanations live below the network. */
.network-node { height: 80px; }
.featured-node { height: 168px; }
.node-2 { height: 120px; }
.network-node strong {
 position: absolute; top: calc(100% - 5px); left: 50%; transform: translateX(-50%);
 margin: 0; padding: 4px 0; background: none; border-radius: 0;
 font-size: 11px; font-weight: 500; line-height: 1.4; letter-spacing: .01em; color: #52647b;
}
.featured-node strong { font-size: 13px; font-weight: 600; }
.node-2 strong { font-size: 12px; font-weight: 550; }
.network-preview { margin-left: 0; margin-top: 28px; min-height: 96px; display: flex; flex-direction: column; gap: 5px; }
.network-preview-title { color: var(--ink); font-size: 13px; font-weight: 600; }
.network-preview-detail { font-size: 12px; line-height: 1.7; }
@media(max-width:760px) {
 .network-node { height: 62px; }
 .featured-node { height: 120px; }
 .node-2 { height: 90px; }
 .network-node strong { font-size: 10px; }
 .featured-node strong, .node-2 strong { font-size: 11px; }
 .network-preview { margin-top: 24px; }
}

/* Stable detail area: names and descriptions crossfade together. */
.alma-network[data-enhanced] .network-preview { display: grid; align-content: start; gap: 0; }
.network-preview-layer {
 grid-area: 1 / 1; align-self: start; display: flex; flex-direction: column; gap: 5px;
 opacity: 0; pointer-events: none; transition: opacity 260ms ease-in-out;
}
.network-preview-layer.is-current { opacity: 1; transition-duration: 420ms; }
.network-preview-layer .network-preview-title { color: var(--detail-accent, var(--ink)); }
.alma-network .network-node strong { color: var(--caption-color, #52647b); }
/* Pointer light is clipped to the existing sharp mesh, never painted on a logo. */
.network-node .node-pointer-light, .network-hub .hub-pointer-light {
 position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none;
 opacity: var(--mesh-pointer-strength,0); filter: var(--mesh-highlight);
 mask-image: radial-gradient(ellipse 33% 35% at var(--mesh-light-x,50%) var(--mesh-light-y,35%), #000 0%, #000b 32%, transparent 100%);
 transform: translateZ(2px); transition: none;
}
.network-hub .hub-pointer-light { filter: url(#active-mesh-alma); }
.network-node .node-journey-light {
 position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none;
 opacity: var(--journey-arrival,0); filter: var(--mesh-highlight);
 transform: translateZ(2px); transition: none;
}
@media(prefers-reduced-motion:reduce) {
 .network-node .node-journey-light { display: none; }
 .network-node .node-pointer-light, .network-hub .hub-pointer-light { display: none; }
}
/* A short branch glint adds directional light, never a perpetual pulse. */
.alma-network .network-connections path.network-light-path {
 fill: none; stroke-width: 1.7; stroke-linecap: round; opacity: 0;
 filter: none; transition: none; pointer-events: none;
}
@media(prefers-reduced-motion:reduce) {
 .alma-network .network-connections path.network-light-path { display: none; }
}
/* Continuous approach intensity, independent of the logo/mesh hover state. */
.alma-network svg.progressive-field .abstract-edges line,
.alma-network svg.progressive-field .abstract-edges line.is-lit {
 stroke: rgb(var(--network-tint,113,152,174));
 stroke-width: calc(.65 + var(--field-reveal,0) * .35);
 opacity: calc((.16 + var(--field-reveal,0) * .3) * var(--field-depth,1));
 filter: drop-shadow(0 0 2px rgb(var(--network-tint,113,152,174) / calc(var(--field-reveal,0) * .12)));
 transition: none;
}
.alma-network svg.progressive-field .abstract-edges .product-spoke,
.alma-network svg.progressive-field .abstract-edges .product-spoke.is-lit {
 opacity: calc(.25 + var(--field-reveal,0) * .27);
 stroke-width: calc(.7 + var(--field-reveal,0) * .35);
}
.alma-network svg.progressive-field .abstract-points circle,
.alma-network svg.progressive-field .abstract-points circle.is-lit {
 fill: var(--point-color,#2c67a4); stroke: none;
 filter: drop-shadow(0 0 2px rgb(var(--network-tint,113,152,174) / calc(var(--field-reveal,0) * .14)));
 transition: none;
}
.alma-network svg.progressive-field .abstract-points .product-port {
 opacity: calc(.45 + var(--field-reveal,0) * .25);
 r: calc(1.4px + var(--junction-light,0) * .9px);
}
/* Sparse field leaves the product filaments and original hover effects in focus. */
.abstract-edges line:not(.is-lit):not(.product-spoke) { opacity: .16; stroke-width: .65; }
.abstract-edges .product-spoke:not(.is-lit) { opacity: .25; stroke-width: .7; }
.abstract-points .product-port { r: 1.4; }
.network-connections path:not(.is-active):not(.hub-connection-overlay) { opacity: .48; }

/* Fine details echo the hero network without adding another animation loop. */
body.alma-home .compact-header .nav-links > a:not(.nav-cta) {
 position: relative;
}
body.alma-home .compact-header .nav-links > a:not(.nav-cta)::after {
 content: ""; position: absolute; bottom: 2px; left: 0; right: 0; height: 2px;
 background: linear-gradient(90deg, #2858c6, #39b4cf);
 transform: scaleX(0); transform-origin: left; transition: transform 260ms ease;
}
body.alma-home .compact-header .nav-links > a:not(.nav-cta):is(:hover, :focus-visible)::after {
 transform: scaleX(1);
}
.alma-home .platform-card::after {
 content: ""; position: absolute; right: -30px; top: -34px;
 width: 180px; height: 180px; border: 1px solid currentColor; border-radius: 50%;
 color: var(--card-accent); opacity: .09; pointer-events: none;
 background: radial-gradient(circle at 24% 31%, currentColor 0 2px, transparent 3px),
             radial-gradient(circle at 67% 78%, currentColor 0 2px, transparent 3px),
             linear-gradient(48deg, transparent 49.7%, currentColor 50%, transparent 50.5%);
 box-shadow: inset 0 0 0 25px #ffffff60, 0 0 0 22px #ffffff45;
 transition: opacity 450ms ease, transform 650ms ease;
}
.alma-home .platform-card > * { position: relative; z-index: 1; }
.alma-home .platform-card:focus-within::after { opacity: .17; }
.alma-home .platform-logo { transition: box-shadow 350ms ease; }
.alma-home .approach-section .decision-card > span {
 display: inline-grid; place-items: center; width: 36px; height: 36px;
 border: 1px solid #cbd9e9; border-radius: 50%; color: #426e9c;
 background: #f8fbff; box-shadow: 0 0 0 5px #fff; margin-top: -44px;
 vertical-align: middle; position: relative;
}
.alma-home .approach-section .decision-grid { padding-top: 14px; }
.alma-home .approach-section .decision-card { overflow: visible; }
.alma-home .security-cert-card {
 transition: border-color 350ms ease, box-shadow 350ms ease;
}
.alma-home .footer-grid a {
 text-decoration: underline; text-decoration-color: transparent;
 text-underline-offset: 5px; transition: color 250ms ease, text-decoration-color 250ms ease;
}
.alma-home .footer-grid a:is(:hover, :focus-visible) {
 color: #fff; text-decoration-color: #79bdd3;
}
.alma-home .contact-box .eyebrow::before {
 content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 12px;
 border-radius: 50%; background: #398bac; box-shadow: 0 0 0 5px #398bac12;
}
@media (hover: hover) and (pointer: fine) {
 .alma-home .platform-card:hover::after { opacity: .17; transform: translate(-5px, 5px); }
 .alma-home .platform-card:hover .platform-logo { box-shadow: 0 7px 20px #14274312; }
 .alma-home .security-cert-card:hover { border-color: #b5cce2; box-shadow: 0 8px 20px -12px #244f7c30; }
}
@media (prefers-reduced-motion: reduce) {
 .alma-home .platform-card:hover::after { transform: none; }
}

/* Reading cues and small architectural details. */
body.alma-home .compact-header .nav-links > a[aria-current="location"] {
 color: #2454b1;
}
body.alma-home .compact-header .nav-links > a[aria-current="location"]::after {
 transform: scaleX(1);
}
.alma-home .trust-grid > div:first-child strong {
 font-size: 24px; line-height: 1.2; letter-spacing: -.035em; color: #285a88;
}
.alma-home .experience-stats div { position: relative; overflow: hidden; }
.alma-home .experience-stats div::after {
 content: ""; position: absolute; right: 16px; top: 17px;
 width: 5px; height: 5px; border-radius: 50%; background: #94d5e7;
 box-shadow: 0 0 0 5px #94d5e709; pointer-events: none;
}
.alma-home .experience-stats div:first-child strong {
 color: #b6e9f4; font-size: 38px; line-height: 1.1; letter-spacing: -.04em;
}
.alma-home .security-cert-label::before {
 content: ""; width: 5px; height: 5px; border: 1px solid #6a9cba;
 border-radius: 50%; margin: 3px 8px 0 0; flex-shrink: 0;
}
.alma-home .approach-section .decision-card { position: relative; }
.alma-home .approach-section .decision-card::after {
 content: ""; position: absolute; top: -3px; right: 0; width: 5px; height: 5px;
 border-radius: 50%; background: #a8c3d9; box-shadow: 0 0 0 4px #fff;
}
.alma-home .site-footer { position: relative; }
.alma-home .site-footer::after {
 content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px;
 background: linear-gradient(90deg, transparent, #6fbad077, transparent); pointer-events: none;
}
@media (max-width: 760px) {
 .alma-home .trust-grid > div:first-child strong { font-size: 22px; }
 .alma-home .experience-stats div:first-child strong { font-size: 32px; }
}

/* Page-wide finish: preserve the content and the network's interaction system. */
body.alma-home .compact-header {
 background: rgb(255 255 255 / .94);
 backdrop-filter: blur(16px);
 border-bottom: 1px solid #dfe7f0;
 box-shadow: 0 4px 24px rgb(20 39 67 / .035);
}
.alma-home .hero {
 background: radial-gradient(ellipse at 82% 35%, #e1f2fa 0, transparent 47%),
             radial-gradient(ellipse at 10% 0, #edf1fc 0, transparent 52%), #f7f9fc;
}
.alma-home .hero h1 { color: #152d4c; }
.alma-home .hero-lead { color: #52637a; }
.alma-home .button, body.alma-home .compact-header .nav-cta {
 transition: box-shadow 240ms ease, background-color 240ms ease, transform 240ms ease;
}
.alma-home .button.primary, body.alma-home .compact-header .nav-cta {
 background: linear-gradient(135deg, #2858c6, #2145aa);
 border: 1px solid #2851b7;
 box-shadow: inset 0 1px 0 #ffffff24, 0 6px 16px #2145aa1c;
}
.alma-home .trust-strip { background: linear-gradient(180deg, #fff, #f9fbfe); }
.alma-home .trust-grid span { color: #627187; }
.alma-home .trust-grid strong { font-weight: 650; letter-spacing: -.015em; }
.alma-home .section-heading .eyebrow { color: #477396; }
.alma-home .section-heading h2 { color: #152d4c; }
.alma-home .platform-section { background: linear-gradient(180deg, #fff 65%, #f8fafd); }
.alma-home .platform-card {
 --card-accent: #348aa7;
 border-radius: 18px; padding: 30px; border-color: #dfe6ef;
 background: linear-gradient(145deg, #fff, #f9fbfe);
 box-shadow: 0 3px 5px #14274303, 0 14px 30px -23px #14274340;
 transition: transform 300ms ease, box-shadow 300ms ease, border-color 300ms ease;
}
.alma-home .platform-card.primary-product {
 background: radial-gradient(ellipse at 100% 0, #e7f1fc, transparent 65%), #fff;
}
.alma-home .platform-card.taurus-priority-card {
 --card-accent: #aa4b61;
 background: radial-gradient(ellipse at 100% 0, #f8eaee, transparent 65%), #fff;
}
.alma-home .platform-card::before { height: 2px; opacity: .7; }
.alma-home .platform-logo {
 width: 64px; height: 64px; border-radius: 14px;
 border: 1px solid #e3e9f1; background: #fff;
 box-shadow: 0 5px 12px #14274308;
}
.alma-home .platform-card p { max-width: 47ch; flex: 1; }
.alma-home .platform-card a {
 margin-top: 22px; padding-top: 17px; border-top: 1px solid #dfe6ef;
 gap: 16px; font-weight: 650;
}
.alma-home .platform-card a::after { transition: transform 240ms ease; }
.alma-home .company-position-section {
 background: radial-gradient(ellipse at 0 50%, #eaf2fc, transparent 60%), #f5f8fc;
}
.alma-home .company-value-card::before, .alma-home .audience-card::before {
 height: 2px; width: 44px; opacity: .65;
}
.alma-home .audience-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.alma-home .audience-card { min-height: 0; padding-bottom: 18px; }
.alma-home .audience-card h3 { line-height: 1.35; }
.alma-home .security-trust-card {
 border-radius: 22px; border-color: #dae4f0;
 box-shadow: 0 24px 70px -45px #203d6c66;
}
.alma-home .security-trust-card::before { height: 3px; }
.alma-home .security-trust-copy h2 {
 font-size: clamp(28px, 3vw, 40px); font-weight: 600; line-height: 1.17;
}
.alma-home .security-trust-copy p { font-size: 15px; }
.alma-home .security-cert-card {
 border-radius: 14px; background: linear-gradient(145deg, #f9fbfe, #eff4fa);
}
.alma-home .security-cert-label {
 font-size: 10px; font-weight: 700; padding: 0; border-radius: 0; background: none;
}
.alma-home .security-badges span { font-size: 11px; font-weight: 600; }
.alma-home .experience-section {
 background: radial-gradient(ellipse at 95% 0, #245475 0, transparent 60%),
             linear-gradient(125deg, #102641, #18395b);
}
.alma-home .proof-card, .alma-home .proof-mini-grid > .proof-mini-card,
.alma-home .experience-stats div {
 background: #ffffff08; border: 1px solid #ffffff20; border-radius: 14px;
 box-shadow: inset 0 1px 0 #ffffff06;
}
.alma-home .contact-section {
 background: radial-gradient(ellipse at 90% 70%, #def0fa, transparent 60%), #eef3fc;
}
.alma-home .site-footer { border-top: 1px solid #ffffff12; }
@media (hover: hover) and (pointer: fine) {
 .alma-home .platform-card:hover {
  transform: translateY(-4px); border-color: var(--card-accent);
  box-shadow: 0 18px 38px -24px #183b9155;
 }
 .alma-home .platform-card a:hover::after { transform: translate(3px, -3px); }
 .alma-home .button:hover, body.alma-home .compact-header .nav-cta:hover {
  transform: translateY(-2px); box-shadow: 0 9px 22px #2145aa26;
 }
}
@media (max-width: 760px) {
 .alma-home .platform-card { padding: 25px; border-radius: 15px; }
 .alma-home .audience-grid { grid-template-columns: 1fr; gap: 22px; }
 .alma-home .security-trust-card { padding: 26px 22px; }
 .alma-home .trust-grid strong { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
 .alma-home .platform-card:hover, .alma-home .button:hover,
 body.alma-home .compact-header .nav-cta:hover { transform: none; }
}
