/* ETG homepage (RW-01/02, 2026-11-01): offer-first hero, proof, 3 pillars + optional platform explorer,
   4 steps, industries, team, FAQ. One stylesheet for every homepage section above the shared contact + footer.
   Text colours are all >= 4.5:1 on their backgrounds. */

/* ---------- shared section frame ---------- */
.hs { padding: clamp(64px, 8vw, 112px) 0; }
.hs-head { max-width: 760px; margin: 0 0 clamp(32px, 4vw, 48px); }
.hs-head--c { margin-inline: auto; text-align: center; }
.hs-head--c .hp-kick { justify-content: center; }
.hs-h2 { font: 700 clamp(30px, 1.1rem + 1.9vw, 46px)/1.12 var(--f-display); letter-spacing: -.025em; color: #082238; margin: 0 0 14px; text-wrap: balance; }
.hs-lead { font-size: clamp(16.5px, .9rem + .3vw, 18.5px); line-height: 1.6; color: #334155; margin: 0; text-wrap: pretty; }
.hs-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font: 600 16px/1.3 var(--f-body); color: #0A5E8F; text-decoration: underline; text-decoration-color: rgba(10,94,143,.35); text-underline-offset: 5px; text-decoration-thickness: 2px; transition: text-decoration-color .2s, gap .2s; }
.hs-link:hover { text-decoration-color: #FFB81C; gap: 12px; }
.hs-more { margin: clamp(24px, 3vw, 36px) 0 0; text-align: center; }

/* reveal on scroll (JS adds .is-in; content is visible without JS) */
.js-rv [data-rv] { opacity: 0; transform: translateY(22px); transition: opacity .7s cubic-bezier(.2,.7,.1,1), transform .7s cubic-bezier(.2,.7,.1,1); transition-delay: var(--rd, 0ms); }
.js-rv [data-rv].is-in { opacity: 1; transform: none; }

/* ---------- 1. Hero ---------- */
.hh { position: relative; isolation: isolate; overflow: hidden; padding: calc(var(--sh-h, 76px) + clamp(28px, 5vw, 64px)) 0 clamp(56px, 7vw, 96px); background: linear-gradient(180deg, #F2F8FB 0%, #FFFFFF 78%); }
.hh__bg { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.hh__bg i { position: absolute; border-radius: 50%; filter: blur(60px); opacity: .7; }
.hh__bg i:nth-child(1) { width: 46vw; max-width: 640px; aspect-ratio: 1; right: -8vw; top: -10%; background: radial-gradient(closest-side, #CFEAF7, transparent); }
.hh__bg i:nth-child(2) { width: 34vw; max-width: 480px; aspect-ratio: 1; right: 22%; bottom: -18%; background: radial-gradient(closest-side, #D5F2EA, transparent); }
.hh__bg i:nth-child(3) { width: 30vw; max-width: 420px; aspect-ratio: 1; left: -10vw; top: 30%; background: radial-gradient(closest-side, #FFF1CC, transparent); opacity: .6; }
.hh__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: clamp(24px, 4vw, 64px); align-items: center; }
.hh__eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 20px; padding: 7px 14px; border-radius: 999px; background: rgba(255,255,255,.85); border: 1px solid #D9E6EE; font: 600 13.5px/1.3 var(--f-body); color: #22384C; }
.hh__live { width: 8px; height: 8px; border-radius: 50%; background: #0E8A63; box-shadow: 0 0 0 4px rgba(14,138,99,.16); flex: none; }
.hh__title { font: 800 clamp(34px, 1rem + 2.7vw, 54px)/1.07 var(--f-display); letter-spacing: -.035em; color: #082238; margin: 0 0 20px; text-wrap: balance; }
.hh__lead { font-size: clamp(17px, .95rem + .35vw, 19.5px); line-height: 1.6; color: #334155; max-width: 38em; margin: 0 0 28px; }
.hh__cta { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 32px; }
.hh__cta .btn { border-radius: 12px; }
.hh__ghost { --bg: #fff; --fg: #082238; border-color: #C9D8E2; }
.hh__ghost:hover { border-color: #082238; }
.hh__proof { display: grid; grid-template-columns: repeat(4, minmax(0, auto)); gap: 10px 28px; justify-content: start; margin: 0; padding: 18px 0 0; border-top: 1px solid #DCE7EE; }
.hh__proof li { display: flex; flex-direction: column; }
.hh__proof b { font: 800 26px/1.1 var(--f-display); letter-spacing: -.02em; color: #082238; }
.hh__proof span { font: 500 14px/1.35 var(--f-body); color: #44566A; }

/* connected-system visual: Zoho core with six platforms on a ring */
.hh__viz { position: relative; width: 100%; max-width: 500px; aspect-ratio: 1; margin: 0 auto 90px; }
.hh__wires { position: absolute; inset: 0; width: 100%; height: 100%; }
.hh__ring { stroke: #C7DCE7; stroke-width: 1.2; stroke-dasharray: 2 7; stroke-linecap: round; }
.hh__ring--in { stroke: #D8E8EF; }
.hh__wire { stroke: url(#hh-wire); stroke-width: 2; stroke-linecap: round; stroke-dasharray: 6 10; opacity: .75; animation: hh-flow 2.6s linear infinite; }
@keyframes hh-flow { to { stroke-dashoffset: -64; } }
.hh__core { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: grid; justify-items: center; gap: 8px; width: 34%; padding: 22px 14px 16px; border-radius: 26px; background: #fff; border: 1px solid #DCE7EE; box-shadow: 0 30px 60px -30px rgba(8,34,56,.45), 0 0 0 10px rgba(255,255,255,.55); }
.hh__core img { width: 78%; height: auto; }
.hh__core span { font: 700 13px/1.2 var(--f-body); color: #22384C; }
.hh__core::after { content: ""; position: absolute; inset: -10px; border-radius: 34px; border: 2px solid rgba(0,163,217,.35); animation: hh-pulse 3.2s cubic-bezier(.2,.7,.1,1) infinite; }
@keyframes hh-pulse { 0% { opacity: .9; transform: scale(.96); } 100% { opacity: 0; transform: scale(1.18); } }
.hh__node { position: absolute; left: var(--x); top: var(--y); transform: translate(-50%, -50%); display: grid; justify-items: center; gap: 6px; animation: hh-bob 6s ease-in-out infinite; animation-delay: calc(var(--d) * -1); }
.hh__node img, .hh__node svg { width: 64px; height: 64px; padding: 16px; border-radius: 20px; background: #fff; border: 1px solid #DCE7EE; box-shadow: 0 16px 30px -20px rgba(8,34,56,.5); object-fit: contain; }
.hh__node img[src*="aws"] { padding: 18px 12px; }
.hh__node svg { fill: none; stroke: #6D28D9; stroke-width: 1.8; stroke-linecap: round; }
.hh__node em { font: 600 12.5px/1 var(--f-body); font-style: normal; color: #22384C; background: rgba(255,255,255,.9); padding: 4px 8px; border-radius: 999px; }
@keyframes hh-bob { 0%, 100% { translate: 0 0; } 50% { translate: 0 -8px; } }
.hh__toast { position: absolute; right: 0; bottom: -24%; width: 64%; min-height: 74px; padding: 12px 16px; border-radius: 16px; background: #082238; color: #fff; box-shadow: 0 24px 40px -20px rgba(8,34,56,.6); overflow: hidden; }
.hh__toast-k { display: block; font: 700 11.5px/1 var(--f-body); letter-spacing: .06em; text-transform: uppercase; color: #8FE3D6; margin-bottom: 8px; }
.hh__toast-l { position: absolute; left: 16px; right: 16px; top: 34px; font: 500 14px/1.35 var(--f-body); color: #E8F1F6; opacity: 0; animation: hh-toast 12s infinite; }
.hh__toast-l b { color: #fff; font-weight: 700; }
.hh__toast-l:nth-of-type(2) { animation-delay: 0s; } .hh__toast-l:nth-of-type(3) { animation-delay: 4s; } .hh__toast-l:nth-of-type(4) { animation-delay: 8s; }
@keyframes hh-toast { 0% { opacity: 0; transform: translateY(8px); } 4%, 29% { opacity: 1; transform: none; } 33%, 100% { opacity: 0; transform: translateY(-6px); } }

/* ---------- 2. Proof ---------- */
.hs-proof { background: #fff; }
.hs-logos { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px; align-items: center; margin: 0 0 clamp(32px, 4vw, 48px); padding: 18px; border-radius: 20px; background: #F6FAFC; border: 1px solid #E2EBF0; }
.hs-logos li { display: grid; place-items: center; height: 64px; }
.hs-logos img { max-width: 100%; max-height: 52px; width: auto; height: auto; filter: grayscale(1) contrast(1.05); opacity: .8; transition: filter .3s, opacity .3s; }
.hs-logos li:hover img { filter: none; opacity: 1; }
.hs-cases { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 28px); }
.hs-case { position: relative; display: flex; flex-direction: column; gap: 14px; padding: clamp(24px, 3vw, 34px); border-radius: 24px; background: #fff; border: 1px solid #E2EBF0; box-shadow: 0 30px 60px -44px rgba(8,34,56,.45); overflow: hidden; transition: transform .35s cubic-bezier(.2,.7,.1,1), box-shadow .35s; }
.hs-case::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, #1D3F8F, #00A3D9, #00B2A9, #3FB97A); }
.hs-case:hover { transform: translateY(-4px); box-shadow: 0 40px 70px -40px rgba(8,34,56,.5); }
.hs-case__ind { font: 600 13.5px/1.3 var(--f-body); color: #0B6A5E; margin: 0; }
.hs-case__t { font: 700 clamp(20px, .9rem + .7vw, 24px)/1.25 var(--f-display); letter-spacing: -.015em; color: #082238; margin: 0; }
.hs-case > p { color: #334155; margin: 0; font-size: 16.5px; }
.hs-case__apps { display: flex; flex-wrap: wrap; gap: 8px; }
.hs-case__apps li { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: #F3F7F9; border: 1px solid #E2EBF0; }
.hs-case__apps img { width: 26px; height: 26px; }
.hs-quote { margin: 0; padding: 14px 18px; border-left: 3px solid #FFB81C; background: #FFFAEB; border-radius: 0 14px 14px 0; }
.hs-quote blockquote { margin: 0; font: 500 15.5px/1.55 var(--f-body); color: #22384C; }
.hs-quote figcaption { margin-top: 8px; font: 600 13.5px/1.3 var(--f-body); color: #44566A; }
.hs-case__out { display: grid; gap: 6px; }
.hs-case__out li { position: relative; padding-left: 26px; font-size: 15.5px; color: #334155; }
.hs-case__out li::before { content: ""; position: absolute; left: 2px; top: .45em; width: 14px; height: 8px; border-left: 2.5px solid #0E8A63; border-bottom: 2.5px solid #0E8A63; transform: rotate(-45deg); }
.hs-case__link { margin-top: auto; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font: 700 16px/1.3 var(--f-body); color: #0A5E8F; }
.hs-case__link span { transition: transform .25s; }
.hs-case__link:hover span { transform: translateX(4px); }
.hs-case__link::after { content: ""; position: absolute; inset: 0; }
.hs-note { margin: 18px 0 0; font-size: 14px; color: #44566A; text-align: center; }

/* ---------- 3. Pillars ---------- */
.hs-pillars { background: linear-gradient(180deg, #FFFFFF, #F3F8FA); }
.hs-pil { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 24px); }
.hs-pil__card { position: relative; display: flex; flex-direction: column; gap: 12px; padding: clamp(22px, 2.6vw, 30px); border-radius: 24px; background: #fff; border: 1px solid #E2EBF0; transition: transform .35s cubic-bezier(.2,.7,.1,1), box-shadow .35s, border-color .35s; }
.hs-pil__card:hover { transform: translateY(-6px); border-color: color-mix(in srgb, var(--c) 35%, #E2EBF0); box-shadow: 0 34px 60px -40px color-mix(in srgb, var(--c) 70%, transparent); }
.hs-pil__viz { display: flex; align-items: center; gap: 10px; height: 96px; padding: 0 18px; border-radius: 18px; background: var(--t); margin-bottom: 6px; overflow: hidden; }
.hs-pil__viz--run img { width: 44px; height: 44px; padding: 7px; border-radius: 12px; background: #fff; box-shadow: 0 8px 16px -10px rgba(8,34,56,.4); transition: transform .4s cubic-bezier(.2,.7,.1,1); }
.hs-pil__card:hover .hs-pil__viz--run img:nth-child(odd) { transform: translateY(-6px); }
.hs-pil__card:hover .hs-pil__viz--run img:nth-child(even) { transform: translateY(6px); }
.hs-pil__viz--connect { justify-content: center; }
.hs-pil__viz--connect img { width: 48px; height: 48px; padding: 8px; border-radius: 14px; background: #fff; object-fit: contain; box-shadow: 0 8px 16px -10px rgba(8,34,56,.4); }
.hs-pil__viz--connect i { flex: 1; max-width: 56px; height: 2px; background: repeating-linear-gradient(90deg, var(--c) 0 6px, transparent 6px 11px); background-size: 22px 2px; animation: hs-dash 1.2s linear infinite; }
@keyframes hs-dash { to { background-position: 22px 0; } }
.hs-pil__viz--auto { justify-content: center; gap: 6px; }
.hs-pil__viz--auto span { padding: 7px 10px; border-radius: 10px; background: #fff; font: 600 12.5px/1.1 var(--f-body); color: #3B1A87; white-space: nowrap; box-shadow: 0 8px 16px -10px rgba(8,34,56,.4); animation: hs-tick 4.5s infinite; }
.hs-pil__viz--auto span:nth-of-type(2) { animation-delay: 1.5s; } .hs-pil__viz--auto span:nth-of-type(3) { animation-delay: 3s; }
.hs-pil__viz--auto i { width: 12px; height: 2px; background: var(--c); flex: none; }
@keyframes hs-tick { 0%, 100% { outline: 0 solid transparent; } 10%, 30% { outline: 2px solid var(--c); outline-offset: 2px; } }
.hs-pil__n { margin: 0; font: 700 13px/1 var(--f-body); letter-spacing: .08em; text-transform: uppercase; color: var(--c); }
.hs-pil__t { margin: 0; font: 700 22px/1.2 var(--f-display); letter-spacing: -.015em; color: #082238; }
.hs-pil__card > p { margin: 0; color: #334155; font-size: 16.5px; }
.hs-pil__links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 6px; }
.hs-pil__links a { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 14px; border-radius: 999px; border: 1px solid #D5E2EA; font: 600 14.5px/1.2 var(--f-body); color: #082238; transition: background .2s, border-color .2s, color .2s; }
.hs-pil__links a:hover { background: var(--t); border-color: var(--c); color: var(--c); }

/* optional explorer (the old galaxy, now opt-in) */
.hs-x { margin-top: clamp(28px, 3.5vw, 44px); }
.hs-x__toggle { display: flex; align-items: center; gap: 16px; width: 100%; max-width: 640px; margin-inline: auto; padding: 14px 20px 14px 14px; border-radius: 20px; background: #082238; color: #fff; text-align: left; box-shadow: 0 24px 50px -30px rgba(8,34,56,.8); transition: transform .3s cubic-bezier(.2,.7,.1,1), box-shadow .3s; }
.hs-x__toggle:hover { transform: translateY(-2px); box-shadow: 0 30px 60px -30px rgba(8,34,56,.9); }
.hs-x__orbit { position: relative; width: 52px; height: 52px; flex: none; border-radius: 50%; background: radial-gradient(circle, #FFB81C 0 6px, transparent 7px), radial-gradient(circle, rgba(0,163,217,.22), transparent 70%); }
.hs-x__orbit i { position: absolute; inset: 4px; border-radius: 50%; border: 1.5px dashed rgba(143,227,214,.55); animation: hs-spin 9s linear infinite; }
.hs-x__orbit i::after { content: ""; position: absolute; top: -4px; left: 50%; width: 7px; height: 7px; border-radius: 50%; background: #2EC4F5; }
.hs-x__orbit i:nth-child(2) { inset: 12px; animation-duration: 6s; animation-direction: reverse; } .hs-x__orbit i:nth-child(2)::after { background: #7BD389; }
.hs-x__orbit i:nth-child(3) { inset: -2px; animation-duration: 14s; border-color: rgba(255,255,255,.18); } .hs-x__orbit i:nth-child(3)::after { background: #C4B5FD; }
@keyframes hs-spin { to { transform: rotate(360deg); } }
.hs-x__label { flex: 1; display: grid; gap: 2px; }
.hs-x__label b { font: 700 17px/1.25 var(--f-display); }
.hs-x__label small { font: 500 14px/1.3 var(--f-body); color: #C9DCE8; }
.hs-x__chev { width: 22px; height: 22px; fill: none; stroke: #FFB81C; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform .3s; }
.hs-x__toggle[aria-expanded="true"] .hs-x__chev { transform: rotate(180deg); }
.hs-x__panel { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 24px; margin-top: 22px; padding: clamp(18px, 2.4vw, 28px); border-radius: 26px; background: #fff; border: 1px solid #E2EBF0; box-shadow: 0 30px 70px -50px rgba(8,34,56,.5); }
.hs-x__panel.is-opening { animation: hs-open .5s cubic-bezier(.2,.7,.1,1); }
@keyframes hs-open { from { opacity: 0; transform: translateY(-10px) scale(.985); } }
.hs-x__tabs { display: grid; gap: 6px; align-content: start; }
.hs-x__tab { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 10px 14px; border-radius: 14px; font: 600 15.5px/1.2 var(--f-body); color: #22384C; text-align: left; transition: background .2s, color .2s, box-shadow .2s; }
.hs-x__tab img { width: 26px; height: 26px; object-fit: contain; flex: none; }
.hs-x__tab img[src*="aws"] { width: 34px; }
.hs-x__tab:hover { background: #F3F7F9; }
.hs-x__tab[aria-selected="true"] { background: color-mix(in srgb, var(--c) 10%, #fff); color: var(--c); box-shadow: inset 3px 0 0 var(--c); }
.hs-x__pane { padding: 6px 4px; }
.hs-x__panel.is-tabs .hs-x__pane:not(.is-on) { display: none; }
.hs-x__pane.is-on { animation: hs-pane .45s cubic-bezier(.2,.7,.1,1); }
@keyframes hs-pane { from { opacity: 0; transform: translateX(14px); } }
.hs-x__badge { display: inline-block; margin: 0 0 10px; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--c) 9%, #fff); font: 600 13px/1.3 var(--f-body); color: var(--c); }
.hs-x__h { margin: 0 0 8px; font: 700 26px/1.2 var(--f-display); letter-spacing: -.02em; color: #082238; }
.hs-x__p { margin: 0 0 18px; color: #334155; max-width: 46em; }
.hs-x__chips { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
.hs-x__chips a { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 10px 14px; border-radius: 14px; border: 1px solid #E2EBF0; font: 600 15px/1.25 var(--f-body); color: #082238; background: #fff; transition: transform .25s cubic-bezier(.2,.7,.1,1), border-color .25s, box-shadow .25s; }
.hs-x__chips a:hover { transform: translateY(-3px); border-color: var(--c); box-shadow: 0 16px 30px -22px color-mix(in srgb, var(--c) 80%, transparent); }
.hs-x__chips img { width: 26px; height: 26px; object-fit: contain; flex: none; }

/* ---------- 4. Steps ---------- */
.hs-steps { background: #F3F8FA; }
.hs-steps__list { --p: 0; position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 2vw, 24px); counter-reset: none; }
.hs-steps__list::before, .hs-steps__list::after { content: ""; position: absolute; left: 12.5%; right: 12.5%; top: 27px; height: 3px; border-radius: 3px; background: #D3E2EA; }
.hs-steps__list::after { right: auto; width: calc(75% * var(--p)); background: linear-gradient(90deg, #00A3D9, #00B2A9, #3FB97A); transition: width .2s linear; }
.hs-step { position: relative; z-index: 1; display: grid; justify-items: center; text-align: center; gap: 10px; padding: 0 6px; }
.hs-step__n { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: #fff; border: 2px solid #9FB8C8; font: 800 20px/1 var(--f-display); color: #22384C; transition: background .4s, border-color .4s, color .4s, transform .4s cubic-bezier(.2,.7,.1,1); }
.hs-step.is-lit .hs-step__n { background: #082238; border-color: #082238; color: #fff; transform: scale(1.06); box-shadow: 0 0 0 6px rgba(0,163,217,.15); }
.hs-step__t { margin: 6px 0 0; font: 700 20px/1.25 var(--f-display); color: #082238; }
.hs-step p { margin: 0; color: #334155; font-size: 16px; max-width: 30ch; }

/* ---------- 5. Industries ---------- */
.hs-ind { background: #fff; }
.hs-ind__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 18px); }
.hs-ind__grid a { position: relative; display: grid; grid-template-columns: 52px minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 16px; row-gap: 4px; height: 100%; padding: 20px 46px 20px 20px; border-radius: 20px; border: 1px solid #E2EBF0; background: #fff; transition: transform .3s cubic-bezier(.2,.7,.1,1), border-color .3s, box-shadow .3s, background .3s; }
.hs-ind__grid a:hover { transform: translateY(-4px); border-color: var(--c); background: color-mix(in srgb, var(--t) 45%, #fff); box-shadow: 0 26px 50px -36px color-mix(in srgb, var(--c) 80%, transparent); }
.hs-ind__ic { grid-row: 1 / 3; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 15px; background: var(--t); color: var(--c); transition: transform .35s cubic-bezier(.2,.7,.1,1); }
.hs-ind__grid a:hover .hs-ind__ic { transform: rotate(-6deg) scale(1.06); }
.hs-ind__ic svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hs-ind__n { font: 700 18px/1.25 var(--f-display); color: #082238; }
.hs-ind__d { font-size: 15px; line-height: 1.5; color: #44566A; }
.hs-ind__go { position: absolute; right: 18px; top: 20px; font-weight: 700; color: var(--c); transition: transform .25s; }
.hs-ind__grid a:hover .hs-ind__go { transform: translateX(4px); }

/* ---------- 6. Team ---------- */
.hs-team { background: linear-gradient(180deg, #F7FAFC, #FFFFFF); }
.hs-team__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.hs-team__facts { display: grid; gap: 12px; margin: 0 0 28px; }
.hs-team__facts li { position: relative; padding: 0 0 0 30px; color: #334155; font-size: 16.5px; }
.hs-team__facts li::before { content: ""; position: absolute; left: 0; top: .5em; width: 16px; height: 9px; border-left: 2.5px solid #0E8A63; border-bottom: 2.5px solid #0E8A63; transform: rotate(-45deg); }
.hs-team__facts b { color: #082238; }
.hs-certs { padding: 18px 20px; border-radius: 20px; background: #fff; border: 1px solid #E2EBF0; }
.hs-certs__h { margin: 0 0 12px; font: 700 13px/1 var(--f-body); letter-spacing: .08em; text-transform: uppercase; color: #22384C; }
.hs-certs ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 6px; }
.hs-certs li { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border-radius: 999px; background: #F3F7F9; font: 600 14px/1.2 var(--f-body); color: #082238; }
.hs-certs li img { height: 18px; width: auto; }
.hs-team__people { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.hs-person { margin: 0; border-radius: 24px; overflow: hidden; background: #fff; border: 1px solid #E2EBF0; box-shadow: 0 30px 60px -44px rgba(8,34,56,.5); transition: transform .4s cubic-bezier(.2,.7,.1,1); }
.hs-person:nth-child(2) { margin-top: 48px; }
.hs-person:hover { transform: translateY(-6px) rotate(-.4deg); }
.hs-person img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 18%; }
.hs-person figcaption { display: grid; gap: 2px; padding: 16px 18px 18px; }
.hs-person b { font: 700 18px/1.25 var(--f-display); color: #082238; }
.hs-person span { font: 600 14px/1.3 var(--f-body); color: #0B6A5E; }
.hs-person small { margin-top: 6px; font-size: 14.5px; line-height: 1.5; color: #44566A; }

/* ---------- 7. FAQ ---------- */
.hs-faq { background: #F3F8FA; }
.hs-faq__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.hs-faq__head { position: sticky; top: calc(var(--sh-h, 76px) + 24px); margin: 0; }
.hs-faq__cta { margin-top: 24px; border-radius: 12px; white-space: normal; text-align: left; }
.hs-faq__list { display: grid; gap: 12px; }
.hs-faq__item { border-radius: 18px; background: #fff; border: 1px solid #E2EBF0; transition: box-shadow .3s, border-color .3s; }
.hs-faq__item[open] { border-color: #BFD6E3; box-shadow: 0 24px 50px -40px rgba(8,34,56,.5); }
.hs-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; padding: 16px 20px; cursor: pointer; list-style: none; }
.hs-faq__item summary::-webkit-details-marker { display: none; }
.hs-faq__q { margin: 0; font: 700 17.5px/1.35 var(--f-display); color: #082238; }
.hs-faq__icon { position: relative; flex: none; width: 32px; height: 32px; border-radius: 50%; background: #F3F7F9; transition: background .3s, transform .3s; }
.hs-faq__icon::before, .hs-faq__icon::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; margin: -1px 0 0 -6px; border-radius: 2px; background: #082238; transition: transform .3s; }
.hs-faq__icon::after { transform: rotate(90deg); }
.hs-faq__item[open] .hs-faq__icon { background: #FFB81C; transform: rotate(180deg); }
.hs-faq__item[open] .hs-faq__icon::after { transform: rotate(0deg); }
.hs-faq__a { padding: 0 20px 18px; }
.hs-faq__a p { margin: 0; color: #334155; font-size: 16.5px; }
.hs-faq__a a { color: #0A5E8F; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- responsive ---------- */
@media (max-width: 1080px) {
  .hh__grid { grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); }
  .hh__proof { grid-template-columns: repeat(2, minmax(0, auto)); }
  .hs-logos { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .hs-ind__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hs-x__panel { grid-template-columns: 210px minmax(0, 1fr); }
}
@media (max-width: 860px) {
  .hh__grid, .hs-team__grid, .hs-faq__grid { grid-template-columns: minmax(0, 1fr); }
  .hh__viz { display: none; }
  .hs-cases, .hs-pil { grid-template-columns: minmax(0, 1fr); }
  .hs-faq__head { position: static; }
  .hs-steps__list { grid-template-columns: minmax(0, 1fr); gap: 0; padding-left: 4px; }
  .hs-steps__list::before, .hs-steps__list::after { left: 31px; right: auto; top: 28px; bottom: 28px; width: 3px; height: auto; }
  .hs-steps__list::after { bottom: auto; height: calc((100% - 56px) * var(--p)); width: 3px; transition: height .2s linear; }
  .hs-step { grid-template-columns: 56px minmax(0, 1fr); justify-items: start; text-align: left; column-gap: 18px; row-gap: 4px; padding: 0 0 26px; }
  .hs-step__n { grid-row: 1 / 3; }
  .hs-step__t { margin: 12px 0 0; }
  .hs-step p { max-width: none; }
  /* explorer: platform cards instead of tabs */
  .hs-x__panel { grid-template-columns: minmax(0, 1fr); padding: 0; background: none; border: 0; box-shadow: none; gap: 14px; }
  .hs-x__tabs { display: none; }
  .hs-x__panel.is-tabs .hs-x__pane:not(.is-on) { display: block; }
  .hs-x__pane { padding: 20px; border-radius: 20px; background: #fff; border: 1px solid #E2EBF0; border-top: 4px solid var(--c); animation: none; }
  .hs-x__panes { display: grid; gap: 14px; }
}
@media (max-width: 560px) {
  .hh { padding-top: calc(var(--sh-h, 76px) + 20px); }
  .hh__eyebrow { font-size: 12.5px; padding: 6px 12px; }
  .hh__cta .btn { width: 100%; white-space: normal; text-align: center; }
  .hh__proof b { font-size: 22px; }
  .hs-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 12px; gap: 6px; }
  .hs-logos li { height: 52px; }
  .hs-logos li:nth-child(7) { display: none; }
  .hs-ind__grid { grid-template-columns: minmax(0, 1fr); }
  .hs-team__people { gap: 12px; }
  .hs-person:nth-child(2) { margin-top: 28px; }
  .hs-person figcaption { padding: 12px 12px 14px; }
  .hs-person small { display: none; }
  .hs-x__chips { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .hs-x__chips a { font-size: 14px; padding: 8px 10px; gap: 8px; }
  .hs-x__label small { display: none; }
  .hs-faq__q { font-size: 16.5px; }
  /* lighter motion on phones: no fixed full-screen grain layer, no looping hero layers */
  body::after { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .js-rv [data-rv] { opacity: 1; transform: none; transition: none; }
  .hh__wire, .hh__core::after, .hh__node, .hs-pil__viz--connect i, .hs-pil__viz--auto span, .hs-x__orbit i, .hs-x__panel.is-opening, .hs-x__pane.is-on { animation: none; }
  .hh__toast-l { animation: none; }
  .hh__toast-l:nth-of-type(2) { opacity: 1; }
  .hs-steps__list { --p: 1 !important; }
  .hs-step .hs-step__n { background: #082238; border-color: #082238; color: #fff; }
  .hs-case, .hs-pil__card, .hs-ind__grid a, .hs-person, .hs-x__chips a { transition: none; }
}
