:root {
  color-scheme: dark;
  --ink: #050506;
  --panel: #101012;
  --panel-soft: #151518;
  --white: #f5f3f1;
  --text: #b9b8c0;
  --muted: #73727d;
  --orange: #ff7548;
  --orange-light: #ffc0a5;
  --violet: #7566ff;
  --line: rgba(255,255,255,.12);
  --max-width: 1240px;
  --pad: clamp(1.25rem, 6vw, 6.5rem);
  font-family: Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  background: var(--ink);
  color: var(--white);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
body { min-width: 320px; margin: 0; overflow-x: hidden; background: var(--ink); animation: page-enter .52s cubic-bezier(.2,.7,.2,1) both; }
img, video, canvas, svg { max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { color: #080808; background: var(--orange-light); }
.skip-link { position: fixed; z-index: 30; top: 1rem; left: 1rem; padding: .8rem 1rem; transform: translateY(-160%); background: var(--white); color: var(--ink); }
.skip-link:focus { transform: none; }
.section-wrap { width: min(100%, var(--max-width)); margin-inline: auto; padding-inline: var(--pad); }
.site-header { position: relative; z-index: 20; display: flex; align-items: center; justify-content: space-between; width: min(100%, 1440px); margin-inline: auto; padding: 1.25rem var(--pad); }
.brand { display: inline-flex; align-items: center; gap: .7rem; font-size: 1.03rem; font-weight: 700; letter-spacing: -.06em; }
.brand-light { color: #9d9ba4; font-weight: 500; }
.brand-logo { width: 2rem; height: 2rem; object-fit: contain; filter: brightness(0) invert(1); }
.main-nav { display: flex; align-items: center; gap: clamp(1.3rem, 3.5vw, 3.1rem); padding: .85rem 1.55rem; border: 1px solid rgba(255,255,255,.08); border-radius: 99px; background: rgba(26,26,29,.72); backdrop-filter: blur(16px); }
.main-nav a, .text-link { color: #c7c5ca; font-size: .82rem; transition: color .2s ease; }
.main-nav a:hover, .text-link:hover { color: var(--orange-light); }
.button { display: inline-flex; min-height: 2.9rem; align-items: center; justify-content: center; gap: 1.6rem; padding: .72rem 1.2rem; border: 1px solid transparent; border-radius: 99px; font-size: .78rem; font-weight: 600; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button.is-loading { position: relative; color: transparent !important; pointer-events: none; }
.button.is-loading > * { visibility: hidden; }
.button.is-loading::before, .chat-send.is-loading::before, .support-composer button.is-loading::before { position: absolute; top: 50%; left: 50%; width: 1.05rem; height: 1.05rem; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; content: ""; transform: translate(-50%,-50%); animation: button-bubble-ring 1.15s ease-in-out infinite; }
.button.is-loading::after, .chat-send.is-loading::after, .support-composer button.is-loading::after { position: absolute; top: 50%; left: 50%; width: .32rem; height: .32rem; border-radius: 50%; background: var(--orange-light); box-shadow: 0 0 .75rem rgba(255,117,72,.8); content: ""; transform: translate(-50%,-50%); animation: button-bubble 1.15s ease-in-out infinite; }
.button-light { background: var(--white); color: #141416; }
.button-light:hover { background: var(--orange-light); }
.button-hot { background: linear-gradient(110deg, #ff794a, #ffb28b); color: #18100d; box-shadow: 0 0 28px rgba(255,105,61,.16); }
.button-hot:hover { background: #ffc0a5; }
.button-outline { border-color: rgba(255,143,105,.8); background: transparent; }
.button-outline:hover { background: rgba(255,117,72,.12); }
.menu-toggle { display: none; }

@media (max-width: 820px) {
  .site-header { position: relative; }
  .menu-toggle { display: flex; width: 2.6rem; height: 2.6rem; flex: 0 0 auto; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; margin-left: auto; border: 1px solid var(--line); border-radius: 50%; background: #121214; cursor: pointer; }
  .menu-toggle span { width: .9rem; height: 1px; background: var(--white); transition: transform .2s ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3px) rotate(-45deg); }
  .main-nav { position: absolute; top: calc(100% - .25rem); right: var(--pad); left: var(--pad); display: none; flex-direction: column; align-items: stretch; gap: 0; padding: .5rem 1rem; border-radius: 1rem; background: rgba(21,21,24,.97); box-shadow: 0 18px 40px rgba(0,0,0,.35); }
  .main-nav.is-open { display: flex; }
  .main-nav a { padding: .85rem .3rem; border-bottom: 1px solid var(--line); }
  .main-nav a:last-child { border: 0; }
  .nav-cta { min-height: 2.5rem; margin-left: .55rem; padding: .55rem .8rem; gap: .5rem; font-size: .68rem; }
}

.hero { position: relative; min-height: 720px; padding-top: clamp(3rem, 7vw, 6.8rem); padding-bottom: 3.5rem; isolation: isolate; }
.hero-art { position: absolute; z-index: -1; inset: 0 calc(var(--pad) * -.4); overflow: hidden; pointer-events: none; }
.hero-art::before, .hero-art::after { position: absolute; z-index: 2; width: clamp(6rem, 12vw, 11rem); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(255,232,212,.72) 0, rgba(255,117,72,.32) 12%, rgba(117,102,255,.17) 34%, transparent 72%); content: ""; opacity: 0; pointer-events: none; mix-blend-mode: screen; animation: hero-impact 12s ease-out infinite; }
.hero-art::before { top: 52%; left: 57%; animation-delay: 1.8s; }
.hero-art::after { top: 76%; left: 34%; width: clamp(5rem, 9vw, 8rem); animation-delay: 7.6s; }
.hero-art.is-randomized .orb, .page-hero-glow.is-randomized, .article-hero-art.is-randomized, .approach-orb.is-randomized { animation: none; transition: transform var(--drift-time, 5s) cubic-bezier(.37,0,.25,1); will-change: transform; }
.site-bubble-field { position: fixed; z-index: 12; inset: 0; width: 100%; height: 100%; overflow: hidden; pointer-events: none; mix-blend-mode: screen; }
.orb { position: absolute; border-radius: 43% 57% 57% 43% / 49% 39% 61% 51%; opacity: .84; filter: blur(1px); transform: rotate(-24deg); }
.orb-one { top: -13rem; left: 23%; width: min(55vw, 700px); height: min(51vw, 650px); background: radial-gradient(ellipse at 37% 25%, rgba(255,173,42,.74), transparent 3.5%), radial-gradient(ellipse at 76% 38%, rgba(124,98,255,.82), transparent 3%), radial-gradient(ellipse at 44% 68%, rgba(255,77,40,.9), transparent 3%), radial-gradient(ellipse at 60% 54%, #050506 48%, transparent 69%); box-shadow: inset 12px 8px 32px rgba(255,112,50,.3), inset -16px -9px 36px rgba(105,88,255,.48); animation: hero-bubble-one 10s ease-in-out infinite alternate; }
.orb-two { top: 5rem; right: -16rem; width: 33rem; height: 27rem; background: radial-gradient(ellipse at 52% 50%, #050506 50%, transparent 65%); box-shadow: inset 12px 10px 25px rgba(83,112,255,.7), inset -12px -10px 35px rgba(11,191,201,.3); animation: hero-bubble-two 13s ease-in-out infinite alternate; }
.orb-three { top: 31rem; left: 20%; width: 48rem; height: 36rem; border-radius: 44% 56% 56% 44% / 51% 43% 57% 49%; background: radial-gradient(ellipse at 38% 17%, rgba(255,103,40,.74), transparent 5%), radial-gradient(ellipse at 70% 85%, rgba(91,86,255,.83), transparent 9%), radial-gradient(ellipse at 51% 50%, #050506 52%, transparent 70%); box-shadow: inset 13px 9px 31px rgba(255,109,48,.42), inset -13px -12px 35px rgba(92,83,255,.52); animation: hero-bubble-three 15s ease-in-out infinite alternate; }
.orb-four { top: 26rem; right: 1%; width: 18rem; height: 20rem; background: radial-gradient(ellipse at 50% 50%, #050506 48%, transparent 66%); box-shadow: inset 9px 6px 24px rgba(112,84,255,.56), inset -7px -5px 16px rgba(255,97,44,.45); animation: hero-bubble-four 11s ease-in-out infinite alternate-reverse; }
.hero-topline { display: flex; align-items: flex-start; justify-content: space-between; }
.eyebrow { margin: 0; color: #a09da5; font-size: .65rem; font-weight: 600; letter-spacing: .13em; line-height: 1.5; }
.pulse-dot { display: inline-block; width: .42rem; height: .42rem; margin-right: .45rem; border-radius: 50%; background: var(--orange); box-shadow: 0 0 13px var(--orange); vertical-align: .03rem; }
.hero-stat { display: flex; flex-direction: column; align-items: flex-end; padding-right: 2%; }
.hero-stat strong { font-size: 2rem; font-weight: 500; letter-spacing: -.06em; }
.hero-stat small { color: var(--text); font-size: .65rem; }
.hero h1 { position: relative; z-index: 1; margin: 3rem 0 2.1rem; font-size: clamp(4.5rem, 13vw, 10.2rem); font-weight: 500; letter-spacing: -.095em; line-height: .77; }
.hero-indent { display: inline-block; margin-left: clamp(1rem, 18vw, 14rem); }
.hero-accent { background: linear-gradient(95deg, #ff7951 6%, #f5d0c5 48%, #958cff 92%); background-clip: text; -webkit-text-fill-color: transparent; }
.hero-bottom { position: relative; z-index: 2; display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-top: 3.6rem; }
.hero-bottom > p { max-width: 18rem; margin: 0; color: #c2c0c6; font-size: .95rem; line-height: 1.7; }
.hero-actions { display: flex; align-items: center; gap: 1.8rem; padding-right: 1rem; }
.text-link { border-bottom: 1px solid rgba(255,255,255,.34); padding-bottom: .35rem; }
.hero-note { display: flex; align-items: center; gap: .55rem; margin-top: 5.2rem; color: #9d9aa3; font-size: .68rem; }
.note-line { width: 2rem; height: 1px; background: linear-gradient(90deg, var(--orange), transparent); }

.partner-band { overflow: hidden; padding-top: 3.5rem; padding-bottom: 4.5rem; border-bottom: 1px solid var(--line); }
.partner-band > .eyebrow { margin-bottom: 1.8rem; text-align: center; }
.partner-viewport { width: calc(100% + var(--pad) + var(--pad)); margin-inline: calc(0px - var(--pad)); overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); }
.partner-track { display: flex; width: max-content; animation: partner-marquee 72s linear infinite; will-change: transform; }
.partner-band:hover .partner-track, .partner-band:focus-within .partner-track { animation-play-state: paused; }
.partner-list { display: flex; flex: 0 0 auto; align-items: center; flex-wrap: nowrap; gap: clamp(2rem, 4vw, 4.5rem); padding-right: clamp(2rem, 4vw, 4.5rem); color: rgba(239,237,242,.8); }
.partner-list span { flex: 0 0 auto; font-size: clamp(.85rem, 1.7vw, 1.2rem); font-weight: 700; letter-spacing: -.06em; white-space: nowrap; }
.partner-list span:nth-child(2), .partner-list span:nth-child(5) { font-size: 1.35rem; letter-spacing: -.08em; }
.partner-list .partner-core { font-weight: 500; letter-spacing: -.04em; }
@keyframes partner-marquee { to { transform: translateX(-50%); } }

.intro { padding-top: clamp(5rem, 11vw, 9rem); padding-bottom: clamp(5rem, 10vw, 8rem); }
.eyebrow-index { margin-left: 1rem; color: #625f68; font-variant-numeric: tabular-nums; }
.intro-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); gap: 4rem; align-items: end; margin-top: 2rem; }
h2 { margin: 0; font-size: clamp(2.75rem, 6.4vw, 5.7rem); font-weight: 500; letter-spacing: -.075em; line-height: .99; }
.muted { color: #75737e; }
.intro-copy { max-width: 27rem; padding-bottom: .3rem; color: var(--text); font-size: .93rem; line-height: 1.75; }
.intro-copy p { margin: 0 0 1rem; }
.under-link { display: inline-block; margin-top: .7rem; padding-bottom: .45rem; border-bottom: 1px solid var(--orange); color: var(--white); font-size: .8rem; }
.under-link span { margin-left: .75rem; color: var(--orange); }
.intro-metrics { display: grid; grid-template-columns: repeat(4, 1fr); align-items: end; gap: 1rem; margin-top: clamp(4rem, 9vw, 8rem); padding-top: 1.4rem; border-top: 1px solid var(--line); }
.intro-metrics > div { display: flex; flex-direction: column; gap: .4rem; }
.intro-metrics strong { font-size: clamp(2rem, 4vw, 3.6rem); font-weight: 500; letter-spacing: -.07em; }
.intro-metrics span { color: var(--muted); font-size: .72rem; }
.intro-metrics .metric-caption { justify-self: end; color: #aaa7b0; font-size: .78rem; line-height: 1.6; }

.services { padding-top: 2rem; padding-bottom: clamp(5rem, 10vw, 9rem); }
.section-heading, .products-top { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; }
.section-heading h2, .products-top h2 { margin-top: 1.6rem; }
.section-lede { max-width: 19rem; margin: 0 0 .4rem; color: var(--text); font-size: .86rem; line-height: 1.7; }
.service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .7rem; margin-top: 3.2rem; }
.service-card { position: relative; min-height: 17rem; padding: 1.45rem; overflow: hidden; border: 1px solid rgba(255,255,255,.06); border-radius: 1.2rem; background: linear-gradient(145deg, #171719, #0e0e10 68%); transition: border-color .28s ease, transform .28s ease; }
.service-card:hover { transform: translateY(-5px); border-color: rgba(255,132,89,.42); }
.service-card-feature { background: radial-gradient(ellipse at 5% 90%, rgba(94,78,255,.23), transparent 55%), linear-gradient(145deg, #171719, #0e0e10 68%); }
.card-number { color: #797680; font-size: .65rem; font-variant-numeric: tabular-nums; }
.service-glyph { display: block; margin: 2rem 0 1.25rem; color: #eee9e7; font-size: 2rem; text-shadow: 0 0 18px rgba(255,122,73,.48); }
.service-card:nth-child(3n) .service-glyph { color: #b4aaff; text-shadow: 0 0 20px rgba(115,95,255,.55); }
.service-card h3 { max-width: 13rem; margin: 0 0 .6rem; font-size: 1.05rem; font-weight: 500; letter-spacing: -.03em; }
.service-card p { max-width: 17rem; margin: 0; color: #a19fa8; font-size: .74rem; line-height: 1.65; }
.service-card > a { position: absolute; right: 1.2rem; bottom: 1.1rem; display: grid; width: 2rem; height: 2rem; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--orange-light); }
.service-card > a, .service-glyph { transition: transform .28s ease, color .28s ease, border-color .28s ease, background .28s ease; }

.products { padding-top: clamp(4rem, 8vw, 7rem); padding-bottom: clamp(5rem, 10vw, 9rem); border-top: 1px solid var(--line); }
.slider-controls { display: flex; gap: .55rem; padding-bottom: .25rem; }
.slider-arrow, .insight-arrow { display: grid; width: 2.8rem; height: 2.8rem; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; background: transparent; color: var(--white); cursor: pointer; transition: background .2s ease, border-color .2s ease; }
.slider-arrow:hover, .insight-arrow:hover { border-color: var(--orange); background: rgba(255,117,72,.12); }
.product-lede { margin-top: 1.4rem; }
.product-viewport, .insights-viewport { overflow: hidden; margin-top: 2.6rem; }
.product-viewport.is-draggable, .insights-viewport.is-draggable { cursor: grab; touch-action: pan-y; user-select: none; }
.product-viewport.is-dragging, .insights-viewport.is-dragging { cursor: grabbing; }
.product-track, .insights-track { display: flex; gap: 1rem; transition: transform .5s cubic-bezier(.2,.7,.2,1); will-change: transform; }
.product-slide { flex: 0 0 calc(33.333% - .67rem); min-width: 0; }
.product-slide-link { display: block; height: 100%; color: inherit; }
.product-slide-link:focus-visible { outline: 2px solid var(--orange); outline-offset: 5px; border-radius: .5rem; }
.product-visual { position: relative; display: grid; height: 16rem; margin-bottom: 1.15rem; overflow: hidden; place-items: center; border: 1px solid rgba(255,255,255,.08); border-radius: 1rem; background: #101013; isolation: isolate; }
.product-visual::before, .product-visual::after { position: absolute; z-index: -1; content: ""; border-radius: 48% 52% 63% 37% / 39% 43% 57% 61%; }
.product-visual::before { width: 16rem; height: 13rem; background: radial-gradient(ellipse at 30% 20%, rgba(255,111,62,.8), transparent 4%), radial-gradient(ellipse at 75% 75%, rgba(104,92,255,.85), transparent 6%), radial-gradient(ellipse at 50% 50%, #060607 48%, transparent 72%); box-shadow: inset 9px 5px 25px rgba(255,114,65,.44), inset -10px -7px 25px rgba(111,90,255,.42); animation: float-one 14s ease-in-out infinite alternate; }
.product-visual::after { width: 7rem; height: 7rem; border: 1px solid rgba(255,255,255,.17); transform: rotate(35deg); }
.product-visual.is-randomized::before, .insight-art.is-randomized::before { animation: none; transform: var(--bubble-transform, translate3d(0,0,0) rotate(0deg) scale(1)); transition: transform var(--bubble-drift-time, 6s) cubic-bezier(.37,0,.25,1); will-change: transform; }
.product-visual.is-randomized::after { animation: product-orbit var(--orbit-duration, 16s) linear var(--orbit-delay, 0s) infinite; }
.product-visual > span { position: absolute; top: 1rem; left: 1rem; color: rgba(255,255,255,.68); font-size: .57rem; letter-spacing: .15em; }
.visual-core { position: relative; color: rgba(255,255,255,.92); font-size: 2.6rem; text-shadow: 0 0 25px rgba(255,120,77,.8); }
.visual-access::before { box-shadow: inset 9px 5px 25px rgba(114,98,255,.55), inset -10px -7px 25px rgba(255,108,65,.35); }
.visual-network::before { transform: rotate(60deg); }
.visual-forensics::before { box-shadow: inset 9px 5px 25px rgba(81,192,207,.48), inset -10px -7px 25px rgba(124,96,255,.42); }
.visual-ai::before { box-shadow: inset 9px 5px 25px rgba(255,99,68,.49), inset -10px -7px 25px rgba(225,117,211,.42); }
.product-slide-link > .eyebrow { color: #827f88; font-size: .57rem; }
.product-slide h3 { margin: .55rem 0; font-size: 1.35rem; font-weight: 500; letter-spacing: -.04em; }
.product-slide-link > p:not(.eyebrow) { min-height: 3rem; margin: 0 0 1rem; color: #aaa7b0; font-size: .79rem; line-height: 1.6; }
.product-slide-cta, .insight-card-cta { display: inline-flex; gap: 1rem; align-items: center; color: var(--white); font-size: .73rem; }
.product-slide-cta > span, .insight-card-cta > span { color: var(--orange); }
.product-visual, .product-slide h3, .product-slide-cta > span, .insight-art, .insight-card h3, .insight-card-cta > span { transition: transform .32s ease, color .32s ease, border-color .32s ease, box-shadow .32s ease; }
.slider-progress { height: 1px; margin-top: 2rem; background: rgba(255,255,255,.15); }
.slider-progress span { display: block; width: 20%; height: 100%; transform: translateX(0); background: var(--orange); transition: transform .4s ease; }
.product-support { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 2rem; margin-top: 1.3rem; color: #898690; font-size: .68rem; }
.product-support span::before { margin-right: .5rem; color: var(--orange); content: "↗"; }
.product-support a { margin-left: auto; color: var(--white); }

.approach { position: relative; display: grid; grid-template-columns: .8fr 1fr .9fr; align-items: center; gap: 2rem; min-height: 35rem; padding-top: 4rem; padding-bottom: 4rem; overflow: hidden; border-block: 1px solid var(--line); }
.approach-art { position: relative; display: grid; min-height: 25rem; place-items: center; }
.approach-orb { width: min(27vw, 22rem); aspect-ratio: 1; border-radius: 42% 58% 54% 46% / 49% 42% 58% 51%; background: radial-gradient(ellipse at 27% 20%, rgba(255,111,49,.85), transparent 5%), radial-gradient(ellipse at 72% 70%, rgba(109,92,255,.8), transparent 6%), radial-gradient(ellipse at center, #060607 44%, transparent 71%); box-shadow: inset 12px 8px 27px rgba(255,102,41,.35), inset -11px -7px 28px rgba(110,87,255,.45); animation: float-three 15s ease-in-out infinite alternate; }
.orbit { position: absolute; width: 90%; height: 52%; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; transform: rotate(-32deg); }
.orbit-b { width: 72%; height: 100%; transform: rotate(38deg); border-color: rgba(255,116,72,.22); }
.orbit-c { width: 100%; height: 75%; transform: rotate(64deg); border-color: rgba(121,109,255,.24); }
.approach-copy h2 { margin: 1.5rem 0; font-size: clamp(2.5rem, 4.5vw, 4rem); }
.approach-copy > p:not(.eyebrow) { max-width: 25rem; color: var(--text); font-size: .8rem; line-height: 1.75; }
.approach-copy .button { margin-top: .8rem; }
.approach-points { align-self: center; }
.approach-points > div { display: grid; grid-template-columns: 2.4rem 1fr; gap: .8rem; padding: 1.1rem 0; border-bottom: 1px solid var(--line); color: var(--white); font-size: .8rem; line-height: 1.5; }
.approach-points > div:first-child { border-top: 1px solid var(--line); }
.approach-points b { color: var(--orange); font-size: .62rem; font-weight: 500; }
.approach-points small { color: #898690; font-size: .68rem; }

.insights { padding-top: clamp(5rem, 10vw, 8rem); padding-bottom: clamp(5rem, 10vw, 8rem); }
.insight-controls { padding-bottom: .3rem; }
.insight-card { flex: 0 0 calc(33.333% - .67rem); min-width: 0; }
.insight-card-link { display: block; height: 100%; color: inherit; }
.insight-card-link:focus-visible { outline: 2px solid var(--orange); outline-offset: 5px; border-radius: .5rem; }
.insight-art { position: relative; display: flex; height: 13rem; align-items: flex-end; padding: 1.1rem; overflow: hidden; border: 1px solid rgba(255,255,255,.07); border-radius: 1rem; background: #131315; isolation: isolate; }
.insight-art::before { position: absolute; z-index: -1; width: 15rem; height: 15rem; border-radius: 50%; background: radial-gradient(circle at 33% 28%, rgba(255,131,57,.86), transparent 8%), radial-gradient(circle at 65% 74%, rgba(113,94,255,.85), transparent 12%), radial-gradient(circle at center, #09090a 42%, transparent 66%); box-shadow: inset 8px 4px 25px rgba(255,108,49,.4), inset -8px -6px 24px rgba(107,91,255,.38); content: ""; animation: float-two 15s ease-in-out infinite alternate; }
.insight-art::after { position: absolute; z-index: -2; inset: 0; background: radial-gradient(ellipse at 50% 95%, rgba(255,96,53,.15), transparent 60%); content: ""; }
.insight-art.is-randomized::before { border-radius: 48% 52% 63% 37% / 39% 43% 57% 61%; }
.insight-art span { color: rgba(255,255,255,.73); font-size: .58rem; letter-spacing: .13em; line-height: 1.7; }
.insight-art i { position: absolute; top: 1.2rem; right: 1.2rem; width: 1.8rem; height: 1.8rem; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; }
.insight-art-two::before { filter: hue-rotate(34deg); }
.insight-art-three::before { filter: hue-rotate(-25deg); }
.insight-art-four::before { filter: hue-rotate(120deg); }
.insight-card-link > .eyebrow { margin-top: 1.1rem; font-size: .57rem; }
.insight-card h3 { max-width: 22rem; min-height: 4.2rem; margin: .7rem 0 1rem; font-size: 1.08rem; font-weight: 500; letter-spacing: -.025em; line-height: 1.35; }

.contact { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 8vw, 7rem); padding-top: clamp(4rem, 8vw, 7rem); padding-bottom: clamp(4rem, 8vw, 7rem); border-top: 1px solid var(--line); background: radial-gradient(ellipse at 2% 15%, rgba(103,78,255,.1), transparent 38%); }
.contact-heading h2 { margin: 1.5rem 0; font-size: clamp(2.8rem, 6vw, 5rem); }
.contact-heading > p:not(.eyebrow) { max-width: 23rem; color: var(--text); font-size: .87rem; line-height: 1.7; }
.contact-details { display: flex; flex-direction: column; gap: .55rem; margin-top: 2.5rem; color: #a8a5ae; font-size: .76rem; }
.contact-details a { color: var(--orange-light); }
.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; align-content: center; }
.contact-form label { display: flex; flex-direction: column; gap: .55rem; color: #d8d5db; font-size: .7rem; }
.contact-form input, .contact-form textarea, .contact-form select { width: 100%; padding: .9rem .1rem; border: 0; border-bottom: 1px solid rgba(255,255,255,.2); border-radius: 0; outline: 0; background: transparent; color: var(--white); font-size: .83rem; resize: vertical; }
.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus { border-color: var(--orange); }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: #706d77; }
.contact-form select { color: #aaa7b0; }
.contact-form select option { color: #111; }
.optional { align-self: flex-end; margin-top: -1.1rem; color: #77747d; font-size: .52rem; letter-spacing: .08em; }
.form-wide { grid-column: 1 / -1; }
.contact-form .button { justify-self: start; min-width: 12rem; border: 0; cursor: pointer; }
.contact-form .form-honeypot { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.form-status { min-height: 1.1rem; margin: -.6rem 0 0; color: #b8b3be; font-size: .72rem; }
.form-status.is-error { color: #ff927e; }
.site-footer { border-top: 1px solid var(--line); }
.footer-top { display: grid; grid-template-columns: 1fr 1fr auto; align-items: start; gap: 2rem; padding-block: 2.1rem; }
.footer-top > p { max-width: 19rem; margin: 0; color: #928f98; font-size: .77rem; line-height: 1.6; }
.back-top { color: #bbb8c0; font-size: .72rem; }
.footer-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .8rem; padding-block: 1rem 1.6rem; border-top: 1px solid var(--line); color: #77747d; font-size: .63rem; }
.footer-bottom a { color: #aaa7b0; }

[data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .7s ease var(--reveal-delay, 0ms), transform .7s cubic-bezier(.2,.7,.2,1) var(--reveal-delay, 0ms); }
[data-reveal].is-visible { opacity: 1; transform: none; }
@keyframes page-enter { from { opacity: 0; } to { opacity: 1; } }
@keyframes button-bubble-ring { 0%, 100% { opacity: .45; transform: translate(-50%,-50%) scale(.68); } 50% { opacity: 1; transform: translate(-50%,-50%) scale(1.18); } }
@keyframes button-bubble { 0%, 100% { transform: translate(-50%,-50%) scale(.72); } 50% { transform: translate(calc(-50% + .42rem),calc(-50% - .32rem)) scale(1.12); } }
@keyframes float-one { from { transform: rotate(-24deg) translate3d(0,0,0) scale(1); } to { transform: rotate(-16deg) translate3d(12px,-18px,0) scale(1.025); } }
@keyframes float-two { from { transform: rotate(28deg) translate3d(0,0,0); } to { transform: rotate(35deg) translate3d(-14px,13px,0); } }
@keyframes product-orbit { from { transform: rotate(35deg) scale(1); } to { transform: rotate(395deg) scale(1.07); } }
@keyframes float-three { from { transform: rotate(-20deg) translate3d(0,0,0); } to { transform: rotate(-12deg) translate3d(14px,-12px,0); } }
@keyframes hero-bubble-one { 0% { transform: rotate(-24deg) translate3d(0,0,0) scale(1); } 35% { transform: rotate(-15deg) translate3d(38px,-28px,0) scale(1.06); } 68% { transform: rotate(-32deg) translate3d(-28px,25px,0) scale(.98); } 100% { transform: rotate(-20deg) translate3d(20px,36px,0) scale(1.035); } }
@keyframes hero-bubble-two { 0% { transform: rotate(28deg) translate3d(0,0,0) scale(1); } 38% { transform: rotate(40deg) translate3d(-38px,32px,0) scale(1.065); } 70% { transform: rotate(22deg) translate3d(30px,-28px,0) scale(.98); } 100% { transform: rotate(34deg) translate3d(-18px,-38px,0) scale(1.035); } }
@keyframes hero-bubble-three { 0% { transform: rotate(-20deg) translate3d(0,0,0) scale(1); } 36% { transform: rotate(-10deg) translate3d(32px,-38px,0) scale(1.055); } 69% { transform: rotate(-29deg) translate3d(-34px,30px,0) scale(.98); } 100% { transform: rotate(-16deg) translate3d(22px,34px,0) scale(1.03); } }
@keyframes hero-bubble-four { 0% { transform: rotate(28deg) translate3d(0,0,0) scale(1); } 34% { transform: rotate(42deg) translate3d(-25px,36px,0) scale(1.07); } 72% { transform: rotate(20deg) translate3d(34px,-30px,0) scale(.98); } 100% { transform: rotate(36deg) translate3d(-20px,-32px,0) scale(1.04); } }
@keyframes hero-impact { 0%, 46%, 100% { opacity: 0; transform: scale(.25); } 49% { opacity: .8; transform: scale(.72); } 53% { opacity: .45; transform: scale(1.2); } 58% { opacity: 0; transform: scale(1.85); } }

@media (max-width: 900px) {
  :root { --pad: clamp(1.25rem, 5vw, 3rem); }
  .site-header { padding-block: 1rem; }
  .main-nav { gap: 1.2rem; padding-inline: 1.1rem; }
  .hero { min-height: 650px; }
  .hero h1 { font-size: clamp(4.2rem, 9.2vw, 6rem); letter-spacing: -.085em; }
  .hero-accent { font-size: .82em; white-space: nowrap; }
  .intro-grid { grid-template-columns: minmax(0, 1.1fr) minmax(220px, .9fr); gap: 2rem; }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .approach { grid-template-columns: .8fr 1.2fr; }
  .approach-art { grid-row: span 2; }
  .approach-points { grid-column: 2; }
  .approach-orb { width: min(34vw, 20rem); }
  .product-slide, .insight-card { flex-basis: calc(50% - .5rem); }
}

@media (max-width: 640px) {
  .site-header { min-height: 4.3rem; }
  .menu-toggle { display: flex; width: 2.6rem; height: 2.6rem; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; margin-left: auto; border: 1px solid var(--line); border-radius: 50%; background: #121214; }
  .menu-toggle span { width: .9rem; height: 1px; background: var(--white); transition: transform .2s ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3px) rotate(-45deg); }
  .main-nav { position: absolute; top: calc(100% - .25rem); right: var(--pad); left: var(--pad); display: none; flex-direction: column; align-items: stretch; gap: 0; padding: .5rem 1rem; border-radius: 1rem; background: rgba(21,21,24,.97); }
  .main-nav.is-open { display: flex; }
  .main-nav a { padding: .85rem .3rem; border-bottom: 1px solid var(--line); }
  .main-nav a:last-child { border: 0; }
  .nav-cta { min-height: 2.5rem; margin-left: .55rem; padding: .55rem .8rem; gap: .5rem; font-size: .68rem; }
  .brand { gap: .5rem; font-size: .93rem; }
  .brand-logo { width: 1.55rem; height: 1.55rem; }
  .hero { min-height: 650px; padding-top: 3.3rem; }
  .hero-topline .eyebrow { max-width: 12rem; font-size: .55rem; }
  .hero-stat strong { font-size: 1.45rem; }
  .hero-stat small { font-size: .56rem; }
  .hero h1 { margin-top: 4.5rem; font-size: clamp(2.6rem, 11.5vw, 4.25rem); letter-spacing: -.075em; line-height: .9; }
  .hero-indent { margin-left: 16vw; }
  .hero-accent { font-size: .78em; letter-spacing: -.065em; white-space: nowrap; }
  .orb-one { top: -2rem; left: 27%; width: 30rem; height: 26rem; }
  .orb-two { top: 9rem; right: -16rem; }
  .orb-three { top: 26rem; left: -6rem; width: 35rem; height: 27rem; }
  .orb-four { top: 29rem; right: -5rem; width: 13rem; height: 14rem; }
  .hero-bottom { flex-direction: column; align-items: flex-start; gap: 1.4rem; margin-top: 3.4rem; }
  .hero-bottom > p { max-width: 16rem; font-size: .84rem; }
  .hero-actions { gap: 1.2rem; padding: 0; }
  .hero-note { margin-top: 3.7rem; }
  .partner-band { padding-top: 2rem; padding-bottom: 3rem; }
  .partner-list { gap: 1.7rem; padding-right: 1.7rem; }
  .partner-list span { font-size: .8rem; }
  .intro-grid, .contact { grid-template-columns: 1fr; gap: 1.8rem; }
  .intro-grid { margin-top: 1.4rem; }
  h2 { font-size: clamp(2.65rem, 12vw, 4rem); }
  .intro-copy { font-size: .84rem; }
  .intro-metrics { grid-template-columns: repeat(2, 1fr); row-gap: 1.7rem; margin-top: 3.5rem; }
  .intro-metrics .metric-caption { justify-self: start; }
  .section-heading, .products-top { align-items: flex-end; }
  .section-heading { display: block; }
  .section-heading h2, .products-top h2 { margin-top: 1.1rem; }
  .section-lede { margin-top: 1.4rem; }
  .service-grid { gap: .55rem; margin-top: 2rem; }
  .service-card { min-height: 16rem; padding: 1rem; border-radius: .9rem; }
  .service-glyph { margin: 1.6rem 0 1rem; font-size: 1.6rem; }
  .service-card h3 { font-size: .95rem; }
  .service-card p { font-size: .68rem; }
  .service-card > a { right: .7rem; bottom: .7rem; width: 1.7rem; height: 1.7rem; }
  .slider-arrow, .insight-arrow { width: 2.35rem; height: 2.35rem; }
  .product-slide, .insight-card { flex-basis: 84%; }
  .product-visual { height: 15rem; }
  .product-support { display: grid; grid-template-columns: 1fr 1fr; font-size: .61rem; }
  .product-support a { grid-column: 1 / -1; margin: .4rem 0 0; }
  .approach { grid-template-columns: 1fr; gap: 1rem; padding-block: 3rem; }
  .approach-art { grid-row: auto; min-height: 18rem; }
  .approach-orb { width: min(65vw, 18rem); }
  .approach-copy h2 { font-size: clamp(2.65rem, 12vw, 4rem); }
  .approach-points { grid-column: auto; margin-top: 1rem; }
  .insight-controls { margin-top: 1.5rem; }
  .insight-art { height: 12rem; }
  .insight-card h3 { min-height: 3rem; }
  .contact-form { grid-template-columns: 1fr; gap: 1rem; }
  .contact-form > * { grid-column: 1; }
  .footer-top { grid-template-columns: 1fr auto; gap: 1rem; }
  .footer-top > p { grid-row: 2; }
  .back-top { grid-column: 2; grid-row: 1; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 420px) {
  :root { --pad: 1rem; }
  .brand { font-size: .85rem; }
  .brand-logo { width: 1.4rem; height: 1.4rem; }
  .nav-cta { margin-left: .35rem; padding-inline: .65rem; font-size: .62rem; }
  .hero { min-height: 0; padding-top: 2.5rem; padding-bottom: 2rem; }
  .hero h1 { margin-top: 4rem; font-size: clamp(2.4rem, 10.6vw, 3rem); }
  .hero-indent { margin-left: 13vw; }
  .hero-actions { align-items: flex-start; flex-wrap: wrap; gap: .9rem 1.1rem; }
  .hero-actions .button { min-height: 2.7rem; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 13rem; }
  .service-card p { max-width: 22rem; font-size: .74rem; }
  .slider-controls { flex: 0 0 auto; }
  .products-top, .section-heading { gap: 1rem; }
  .products-top h2 { max-width: 11ch; font-size: clamp(2.25rem, 10vw, 3rem); }
  .product-slide, .insight-card { flex-basis: 92%; }
  .footer-top { grid-template-columns: 1fr; }
  .footer-top > p, .back-top { grid-column: 1; grid-row: auto; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
}

/* Multi-page content system */
.page-hero { position: relative; min-height: 440px; padding-top: clamp(3rem, 7vw, 6rem); padding-bottom: 4rem; overflow: hidden; isolation: isolate; }
.page-hero-glow { position: absolute; z-index: -1; top: -16rem; right: -10rem; width: min(75vw, 62rem); height: 45rem; border-radius: 46% 54% 58% 42% / 43% 44% 56% 57%; background: radial-gradient(ellipse at 22% 27%, rgba(255,112,59,.7), transparent 4%), radial-gradient(ellipse at 76% 58%, rgba(104,88,255,.72), transparent 4%), radial-gradient(ellipse at center, #050506 46%, transparent 69%); box-shadow: inset 10px 8px 31px rgba(255,105,49,.34), inset -14px -8px 30px rgba(105,88,255,.45); transform: rotate(-27deg); animation: float-one 15s ease-in-out infinite alternate; }
.breadcrumb { display: inline-flex; gap: .7rem; align-items: center; margin-bottom: 4rem; color: #88858e; font-size: .67rem; text-transform: uppercase; letter-spacing: .1em; }
.breadcrumb span { color: var(--orange); }
.page-eyebrow { margin-bottom: 1.2rem; }
.page-hero h1 { position: relative; max-width: 950px; margin: 0; font-size: clamp(3.2rem, 8vw, 7.5rem); font-weight: 500; letter-spacing: -.085em; line-height: .91; }
.page-intro { position: relative; max-width: 46rem; margin: 1.5rem 0 1.5rem; color: #c2c0c7; font-size: clamp(.9rem, 1.5vw, 1.05rem); line-height: 1.8; }
.page-hero .button { position: relative; margin-top: 1rem; }
.page-stats { position: relative; display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.7rem; }
.page-stats span { padding: .7rem .9rem; border: 1px solid rgba(255,255,255,.12); border-radius: 99px; background: rgba(14,14,16,.56); color: #d0cdd5; font-size: .7rem; }
.content-body { padding-top: 1rem; }
.content-section { padding-block: clamp(3rem, 6vw, 5.5rem); border-top: 1px solid var(--line); }
.content-section-heading { display: grid; grid-template-columns: .75fr 1.25fr; gap: 1.5rem 3rem; align-items: end; margin-bottom: 2.2rem; }
.content-section-heading .eyebrow { grid-column: 1 / -1; }
.content-section-heading h2 { font-size: clamp(2.4rem, 5vw, 4.5rem); }
.content-lede { max-width: 30rem; margin: 0; color: var(--text); font-size: .88rem; line-height: 1.7; }
.content-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.content-card, .step-card { min-height: 11rem; padding: 1.4rem; border: 1px solid rgba(255,255,255,.08); border-radius: 1rem; background: linear-gradient(145deg, #171719, #0c0c0e); transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease; }
.content-card h3, .step-card h3 { margin: 1.3rem 0 .65rem; font-size: 1.03rem; font-weight: 500; letter-spacing: -.03em; }
.content-card p, .step-card p { margin: 0; color: #a5a2ac; font-size: .76rem; line-height: 1.65; }
.card-index { color: var(--orange); font-size: .6rem; letter-spacing: .1em; }
.content-card ul { display: grid; gap: .45rem; margin: 1rem 0 0; padding-left: 1rem; color: #aaa7b0; font-size: .72rem; line-height: 1.55; }
.content-list { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem 2rem; margin: 0; padding: 0; list-style: none; }
.content-list li { display: flex; gap: .7rem; padding: .85rem 0; border-bottom: 1px solid var(--line); color: #c7c4cc; font-size: .8rem; line-height: 1.55; }
.content-list li span { color: var(--orange); }
.steps-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.ceo-quote { max-width: 58rem; margin: 0; padding: clamp(1.5rem, 4vw, 3rem); border-left: 2px solid var(--orange); border-radius: 0 1rem 1rem 0; background: radial-gradient(ellipse at 0 50%, rgba(109,91,255,.15), transparent 58%), #101012; }
.ceo-photo { float: right; width: clamp(4rem, 9vw, 7rem); aspect-ratio: 1; margin: 0 0 1rem 1.2rem; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; object-fit: cover; }
.ceo-photo.image-unavailable, .person-avatar.image-unavailable { display: grid; place-items: center; background: radial-gradient(circle at 32% 28%, rgba(255,130,79,.58), transparent 42%), radial-gradient(circle at 72% 76%, rgba(117,98,255,.34), transparent 48%), #151419; color: #f7eee9; font-weight: 600; letter-spacing: .04em; }
.ceo-photo.image-unavailable { font-size: clamp(1rem, 2vw, 1.5rem); }
.person-avatar.image-unavailable { font-size: .95rem; }
.ceo-quote > p { margin: 0; color: #e1dfe5; font-size: clamp(1rem, 2vw, 1.35rem); line-height: 1.75; }
.ceo-quote footer { display: flex; flex-direction: column; gap: .2rem; margin-top: 1.3rem; font-size: .78rem; }
.ceo-quote footer span { color: #8d8a94; font-size: .68rem; }
.people-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.person-card { display: grid; grid-template-columns: 3.25rem 1fr; gap: .3rem .8rem; align-items: center; min-height: 11rem; padding: 1.2rem; border: 1px solid rgba(255,255,255,.08); border-radius: 1rem; background: linear-gradient(145deg, #171719, #0c0c0e); transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease; }
.person-avatar { display: grid; width: 3.25rem; height: 3.25rem; place-items: center; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; background: radial-gradient(circle at 30% 30%, rgba(255,130,79,.65), transparent 45%), linear-gradient(145deg, #26232f, #0c0c0e 70%); color: #fff; font-size: 1.1rem; object-fit: cover; transition: transform .32s ease, border-color .32s ease; }
.person-card h3 { margin: 0; font-size: .9rem; font-weight: 500; }
.person-role { margin: .35rem 0 0; color: var(--orange-light); font-size: .62rem; line-height: 1.45; }
.person-bio { grid-column: 1 / -1; align-self: start; margin: .5rem 0 0; color: #a7a4ad; font-size: .7rem; line-height: 1.6; }
.contact-card { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding: 1rem 1.2rem; border: 1px solid var(--line); border-radius: .9rem; background: #101012; transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease; }
.contact-card p { margin: 0; color: #c6c3cc; font-size: .8rem; }
.contact-card a { color: var(--orange-light); font-size: .8rem; }
.contact-card a span { margin-left: .6rem; }
.media-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; margin-top: 2rem; }
.media-grid figure { height: 12rem; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.08); border-radius: .9rem; background: #111113; transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease; }
.media-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s cubic-bezier(.2,.7,.2,1); }
.contact-form-panel { margin-top: 2rem; padding: clamp(1.2rem, 4vw, 2.5rem); border: 1px solid var(--line); border-radius: 1rem; background: #101012; }
.article-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
.article-card { padding-bottom: 1.4rem; border-bottom: 1px solid var(--line); transition: transform .25s ease, border-color .25s ease; }
.article-card-link { display: block; height: 100%; color: inherit; }
.article-card-link:focus-visible { outline: 2px solid var(--orange); outline-offset: 5px; border-radius: .5rem; }
.article-card:hover { transform: translateY(-4px); border-color: rgba(255,117,72,.55); }
.article-art { position: relative; display: flex; height: 12rem; align-items: flex-end; margin-bottom: 1rem; padding: 1rem; overflow: hidden; border: 1px solid rgba(255,255,255,.08); border-radius: .9rem; background: radial-gradient(ellipse at 72% 30%, rgba(255,114,62,.65), transparent 8%), radial-gradient(ellipse at 28% 74%, rgba(106,92,255,.68), transparent 9%), radial-gradient(ellipse at center, #080809 42%, #161519 75%); transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease; }
.article-card:hover .article-art { transform: scale(1.015); border-color: rgba(255,117,72,.34); box-shadow: 0 12px 32px rgba(255,104,66,.1); }
.article-art span, .article-hero-art span { color: rgba(255,255,255,.65); font-size: .56rem; letter-spacing: .15em; }
.article-art-2 { filter: hue-rotate(32deg); }
.article-art-3 { filter: hue-rotate(-25deg); }
.article-art-4 { filter: hue-rotate(76deg); }
.article-card-link > .eyebrow { margin-top: .75rem; font-size: .57rem; }
.article-card h3 { margin: .7rem 0; font-size: 1.05rem; font-weight: 500; line-height: 1.4; }
.article-card:hover h3 { color: var(--orange-light); }
.article-card-link > p:not(.eyebrow) { min-height: 3rem; margin: 0 0 .8rem; color: #a6a3ad; font-size: .74rem; line-height: 1.6; }
.article-card .under-link { margin-top: .3rem; font-size: .7rem; }
.article-card .under-link > span { display: inline-block; transition: transform .2s ease; }
.article-card:hover .under-link > span { transform: translateX(4px); }

@media (hover: hover) {
  .service-card:hover .service-glyph { transform: translateY(-4px) rotate(-7deg) scale(1.08); }
  .service-card:hover > a { transform: translate(2px, -2px); border-color: var(--orange); background: rgba(255,117,72,.12); }
  .product-slide-link:hover .product-visual { transform: translateY(-3px); border-color: rgba(255,117,72,.38); box-shadow: 0 14px 36px rgba(255,104,66,.1); }
  .product-slide-link:hover h3, .insight-card-link:hover h3 { color: var(--orange-light); }
  .product-slide-link:hover .product-slide-cta > span, .insight-card-link:hover .insight-card-cta > span { transform: translate(4px, -2px); }
  .insight-card-link:hover .insight-art { transform: translateY(-3px); border-color: rgba(255,117,72,.38); box-shadow: 0 14px 36px rgba(255,104,66,.1); }
  .content-card:hover, .step-card:hover, .person-card:hover, .contact-card:hover, .media-grid figure:hover { transform: translateY(-4px); border-color: rgba(255,117,72,.38); box-shadow: 0 14px 34px rgba(255,104,66,.08); }
  .person-card:hover .person-avatar { transform: scale(1.06); border-color: rgba(255,117,72,.55); }
  .media-grid figure:hover img { transform: scale(1.055); }
}
.content-card:focus-within, .step-card:focus-within, .person-card:focus-within, .contact-card:focus-within { border-color: rgba(255,117,72,.55); }
@media (prefers-reduced-motion: reduce) { .article-card, .article-art, .article-card .under-link > span { transition: none; } .article-card:hover { transform: none; } .article-card:hover .article-art { transform: none; } }
.inner-cta { padding-top: clamp(4rem, 8vw, 7rem); padding-bottom: clamp(4rem, 8vw, 7rem); border-top: 1px solid var(--line); background: radial-gradient(ellipse at 15% 50%, rgba(102,77,255,.12), transparent 50%); }
.inner-cta h2 { margin: 1.2rem 0 1.5rem; font-size: clamp(2.8rem, 6vw, 5rem); }
.footer-links { display: flex; flex-wrap: wrap; gap: .7rem 1.5rem; padding-block: .8rem 1.2rem; border-top: 1px solid var(--line); color: #a6a3ad; font-size: .69rem; }
.footer-links a:hover { color: var(--orange-light); }
.article-page { position: relative; min-height: 70vh; padding-top: 2rem; padding-bottom: 5rem; overflow: hidden; }
.article-hero-art { position: absolute; z-index: -1; top: 3rem; right: -5rem; display: flex; width: min(46vw, 36rem); height: min(38vw, 29rem); align-items: flex-end; padding: 1.5rem; overflow: hidden; border: 1px solid rgba(255,255,255,.07); border-radius: 42% 58% 57% 43% / 51% 44% 56% 49%; background: radial-gradient(ellipse at 27% 24%, rgba(255,114,62,.7), transparent 5%), radial-gradient(ellipse at 70% 71%, rgba(106,92,255,.72), transparent 8%), radial-gradient(ellipse at center, #060607 44%, transparent 71%); box-shadow: inset 10px 7px 29px rgba(255,105,49,.3), inset -14px -8px 29px rgba(105,88,255,.4); animation: float-two 16s ease-in-out infinite alternate; }
.article-page > .eyebrow { position: relative; margin-top: 3rem; }
.article-page h1 { position: relative; max-width: 52rem; margin: 1rem 0; font-size: clamp(3rem, 7vw, 6.5rem); font-weight: 500; letter-spacing: -.08em; line-height: .96; }
.article-summary { position: relative; max-width: 40rem; margin: 1.5rem 0 4rem; color: #c0bdc5; font-size: 1rem; line-height: 1.75; }
.article-body { max-width: 44rem; margin-left: min(18vw, 12rem); color: #b8b5be; font-size: .94rem; line-height: 1.9; }
.article-body p { margin: 0 0 1.4rem; }
.article-body h2 { margin: 2.5rem 0 .8rem; color: #f6f3f7; font-size: clamp(1.25rem, 2.4vw, 1.7rem); line-height: 1.25; letter-spacing: -.025em; }
.article-byline { margin: -2.6rem 0 3rem; color: #88848e; font-size: .7rem; }
.article-source { max-width: 44rem; margin: 2.5rem 0 0 min(18vw, 12rem); }

@media (max-width: 900px) {
  .content-card-grid, .article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .people-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .content-section-heading { grid-template-columns: 1fr; gap: .8rem; }
  .content-section-heading .eyebrow { grid-column: auto; }
  .steps-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .page-hero { min-height: 0; padding-top: 2rem; padding-bottom: 3rem; }
  .breadcrumb { margin-bottom: 3rem; font-size: .55rem; }
  .page-hero h1 { font-size: clamp(3rem, 13vw, 5rem); }
  .page-intro { font-size: .84rem; }
  .page-hero-glow { top: -3rem; right: -15rem; width: 33rem; height: 31rem; }
  .content-section { padding-block: 3rem; }
  .content-section-heading h2 { font-size: clamp(2.3rem, 10vw, 3.5rem); }
  .content-card-grid, .article-grid, .people-grid, .steps-grid, .content-list { grid-template-columns: 1fr; }
  .media-grid { grid-template-columns: 1fr; }
  .content-card, .step-card { min-height: 0; }
  .person-card { min-height: 9rem; }
  .contact-card { align-items: flex-start; flex-direction: column; }
  .footer-links { gap: .8rem 1rem; }
  .article-hero-art { top: 8rem; right: -12rem; width: 28rem; height: 24rem; }
  .article-page h1 { font-size: clamp(2.7rem, 12vw, 4.5rem); }
  .article-summary { margin-bottom: 2.5rem; font-size: .88rem; }
  .article-body { margin-left: 0; font-size: .85rem; }
}
/* Live chat and in-site legal pages */
.chat-widget { position: fixed; z-index: 1000; right: clamp(1rem, 3vw, 2.5rem); bottom: clamp(1rem, 3vw, 2rem); isolation: isolate; pointer-events: auto; font-family: inherit; }
.chat-unread-badge { position: absolute; top: -.35rem; right: -.4rem; display: grid; min-width: 1rem; height: 1rem; padding: 0 .2rem; place-items: center; border: 2px solid #ff7548; border-radius: 999px; background: #fff; color: #18181b; font-size: .56rem; line-height: 1; }
.chat-unread-badge[hidden], .chat-reply-alert[hidden] { display: none; }
.chat-reply-alert { position: absolute; right: 0; bottom: calc(100% + .65rem); width: max-content; max-width: min(20rem, calc(100vw - 2rem)); padding: .75rem .9rem; border: 1px solid rgba(255,117,72,.48); border-radius: .7rem; background: #171518; box-shadow: 0 10px 30px rgba(0,0,0,.4); color: #eee; font-size: .7rem; line-height: 1.5; animation: chat-alert-in .2s ease-out; }
@keyframes chat-alert-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
.chat-launcher { position: relative; z-index: 1; display: flex; min-height: 3rem; align-items: center; gap: .7rem; padding: .85rem 1.15rem; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: linear-gradient(120deg, #ff6842, #f28b67); box-shadow: 0 12px 36px rgba(0,0,0,.42); color: #fff; font: inherit; font-size: .78rem; font-weight: 600; cursor: pointer; touch-action: manipulation; transition: transform .2s ease, box-shadow .2s ease; }
.chat-launcher:hover { transform: translateY(-2px); box-shadow: 0 16px 42px rgba(255,104,66,.24); }
.chat-launcher-icon { position: relative; display: grid; width: 1.5rem; height: 1.5rem; place-items: center; border-radius: 50%; background: rgba(0,0,0,.18); }
.chat-launcher-icon svg { width: 1.05rem; height: 1.05rem; }
.chat-launcher-online { position: absolute; right: -.13rem; bottom: -.08rem; width: .48rem; height: .48rem; border: 2px solid #ff7548; border-radius: 50%; background: #5bea91; box-shadow: 0 0 0 2px rgba(91,234,145,.2); animation: chat-online-pulse 2s infinite; }
@keyframes chat-online-pulse { 50% { box-shadow: 0 0 0 5px rgba(91,234,145,.06); } }
.chat-panel { position: absolute; right: 0; bottom: calc(100% + .85rem); display: flex; width: min(23rem, calc(100vw - 2rem)); height: min(36rem, calc(100dvh - 7rem)); flex-direction: column; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 1.1rem; background: #0d0d10; box-shadow: 0 24px 80px rgba(0,0,0,.62); }
.chat-panel[hidden] { display: none; }
.chat-header { display: flex; align-items: flex-start; justify-content: space-between; gap: .8rem; padding: 1.2rem 1.15rem 1rem; border-bottom: 1px solid var(--line); background: radial-gradient(ellipse at 0 0, rgba(255,104,66,.15), transparent 65%); }
.chat-header .eyebrow { margin: 0 0 .38rem; color: var(--orange-light); font-size: .58rem; letter-spacing: .14em; }
.chat-header h2 { margin: 0 0 .45rem; color: var(--white); font-size: 1.25rem; }
.chat-presence { display: flex; align-items: center; gap: .4rem; color: #aaa7b0; font-size: .65rem; }
.chat-presence[hidden] { display: none; }
.chat-presence i { width: .4rem; height: .4rem; border-radius: 50%; background: #76d49b; box-shadow: 0 0 10px #76d49b; }
.chat-close { width: 2rem; height: 2rem; border: 1px solid var(--line); border-radius: 50%; background: #17171a; color: #eee; font-size: 1.25rem; cursor: pointer; }
.chat-identity { display: grid; gap: .7rem; padding: 1rem 1.1rem; }
.chat-identity[hidden] { display: none; }
.chat-identity label { display: grid; grid-template-columns: 1fr auto; gap: .25rem .5rem; color: #dfdce3; font-size: .69rem; }
.chat-identity label span { color: #77747d; font-size: .58rem; text-transform: uppercase; }
.chat-identity input { grid-column: 1 / -1; width: 100%; padding: .62rem .7rem; border: 1px solid var(--line); border-radius: .45rem; background: #141417; color: #fff; font: inherit; }
.chat-begin { justify-self: start; padding: .65rem .9rem; border: 0; cursor: pointer; }
.chat-transcript { display: flex; min-height: 0; flex: 1; flex-direction: column; gap: .7rem; overflow-y: auto; padding: 1rem; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.chat-message { max-width: 88%; padding: .72rem .82rem; border: 1px solid rgba(255,255,255,.08); border-radius: .8rem .8rem .8rem .2rem; background: #17171b; color: #e7e4eb; font-size: .75rem; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.chat-message[data-sender="visitor"] { align-self: flex-end; border-color: rgba(255,111,76,.27); border-radius: .8rem .8rem .2rem .8rem; background: rgba(255,104,66,.13); }
.chat-message[data-sender="agent"] { border-color: rgba(117,98,255,.3); background: rgba(117,98,255,.12); }
.chat-sender { display: block; margin-bottom: .25rem; color: #a09ca7; font-size: .57rem; letter-spacing: .08em; text-transform: uppercase; }
.chat-composer { display: grid; grid-template-columns: 1fr 2.6rem; align-items: end; gap: .5rem; margin: 0 .8rem; padding: .55rem; border: 1px solid var(--line); border-radius: .72rem; background: #151518; }
.chat-composer textarea { width: 100%; max-height: 6rem; border: 0; outline: 0; background: transparent; color: #fff; font: inherit; font-size: .75rem; resize: vertical; }
.chat-composer textarea::placeholder { color: #77747d; }
.chat-send { width: 2.4rem; height: 2.4rem; border: 0; border-radius: .55rem; background: var(--orange); color: white; font-size: 1.1rem; cursor: pointer; }
.chat-send.is-loading { position: relative; color: transparent; pointer-events: none; }
.support-composer button.is-loading { position: relative; color: transparent; pointer-events: none; }
.chat-send:disabled { opacity: .45; cursor: not-allowed; }
.chat-note, .chat-status { min-height: .9rem; margin: .35rem .95rem .6rem; color: #85818b; font-size: .57rem; }
.chat-status:empty { display: none; }
.chat-status.is-error { color: #ff9078; }
.chat-handoff{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .9rem;border-top:1px solid var(--line);font-size:.62rem;color:#aaa}.chat-human{padding:.4rem .6rem;border:1px solid #ff7958;border-radius:999px;background:transparent;color:#ff9a7d;cursor:pointer}.chat-human:disabled{opacity:.48;cursor:not-allowed}.chat-typing{display:flex;align-items:center;gap:.25rem;min-height:1.5rem;padding:.2rem 1rem;color:#aaa}.chat-typing[hidden]{display:none}.chat-typing span{width:.3rem;height:.3rem;border-radius:50%;background:#ff9475;animation:chat-pulse 1s infinite alternate}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}.chat-typing small{margin-left:.4rem;font-size:.6rem}@keyframes chat-pulse{to{opacity:.25;transform:translateY(-3px)}}
.chat-end { padding: .4rem .6rem; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; background: transparent; color: #e6e3e9; font: inherit; cursor: pointer; }
.chat-end:hover, .chat-end:focus-visible { border-color: #ff7958; color: #ff9a7d; }
.chat-end[hidden], .chat-suggestions[hidden] { display: none; }
.chat-suggestions { padding: .45rem .9rem .65rem; border-top: 1px solid var(--line); }
.chat-suggestions > span { display: block; margin-bottom: .45rem; color: #a6a2ac; font-size: .58rem; letter-spacing: .08em; text-transform: uppercase; }
.chat-suggestions > div { display: flex; flex-wrap: wrap; gap: .35rem; }
.chat-suggestions button { padding: .4rem .6rem; border: 1px solid rgba(255,117,72,.36); border-radius: 999px; background: rgba(255,117,72,.08); color: #ffd0bd; font: inherit; font-size: .62rem; cursor: pointer; }
.chat-suggestions button:hover, .chat-suggestions button:focus-visible { border-color: #ff906c; background: rgba(255,117,72,.18); }
.chat-suggestions button:disabled { opacity: .45; cursor: not-allowed; }
.chat-followup{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;padding:.65rem .9rem;border-top:1px solid var(--line);font-size:.62rem;color:#ddd}.chat-followup[hidden]{display:none}.chat-followup label{width:100%}.chat-followup input{flex:1;min-width:9rem;padding:.5rem;border:1px solid #514443;border-radius:.4rem;background:#17171b;color:#fff}.chat-followup button{padding:.55rem .7rem;border:0;border-radius:.4rem;background:#ff6842;color:#fff;cursor:pointer}.chat-followup button:disabled{opacity:.5}
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; clip-path: inset(50%); }
.legal-document { padding-top: clamp(2rem, 5vw, 4rem); padding-bottom: clamp(4rem, 8vw, 7rem); }
.legal-document > .eyebrow { margin-top: 3rem; color: var(--orange-light); }
.legal-document h1 { max-width: 16ch; margin: .7rem 0; font-size: clamp(3rem, 8vw, 6.5rem); line-height: .98; letter-spacing: -.065em; }
.legal-updated { color: #898690; font-size: .72rem; }
.legal-intro { max-width: 48rem; margin: 2.2rem 0 4rem; padding: 1.2rem 1.4rem; border-left: 2px solid var(--orange); background: linear-gradient(90deg, rgba(255,104,66,.08), transparent); color: #d1ced6; font-size: 1.05rem; line-height: 1.75; }
.legal-intro p { margin: 0; }
.legal-sections { max-width: 52rem; }
.legal-toc { max-width: 52rem; margin: 0 0 2.5rem; padding: 1.2rem 1.4rem; border: 1px solid var(--line); border-radius: .9rem; background: #121216; }
.legal-toc h2 { margin: 0 0 .9rem; color: #f4f1f6; font-size: 1rem; }
.legal-toc ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem 1.5rem; margin: 0; padding-left: 1.3rem; color: #ff916f; }
.legal-toc a { color: #c9c5ce; font-size: .73rem; line-height: 1.5; }
.legal-toc a:hover, .legal-toc a:focus-visible { color: #ff916f; }
.legal-section { display: grid; grid-template-columns: 9rem 1fr; gap: .35rem 2rem; padding: 1.8rem 0; border-top: 1px solid var(--line); }
.legal-section:target { scroll-margin-top: 1.5rem; }
.legal-section .eyebrow { grid-row: span 2; margin: .25rem 0; color: #85818b; font-size: .59rem; }
.legal-section h2 { margin: 0; color: #f4f1f6; font-size: clamp(1.2rem, 2vw, 1.55rem); letter-spacing: -.025em; }
.legal-section > p:last-child { margin: .55rem 0 0; color: #aaa7b0; font-size: .83rem; line-height: 1.8; }
.legal-related { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.legal-related a { padding: .7rem .9rem; border: 1px solid var(--line); border-radius: 999px; color: #e8e5ed; font-size: .72rem; }
.legal-related a span { margin-left: .5rem; color: var(--orange-light); }
@media (max-width: 600px) {
  .legal-toc ol { grid-template-columns: 1fr; }
  .chat-widget { right: max(.75rem, env(safe-area-inset-right)); bottom: max(1.25rem, calc(env(safe-area-inset-bottom) + 1rem)); }
  .chat-panel { position: fixed; z-index: 1001; right: max(.5rem, env(safe-area-inset-right)); bottom: calc(4.25rem + max(1rem, calc(env(safe-area-inset-bottom) + .75rem))); width: min(26rem, calc(100vw - 1rem)); height: min(38rem, calc(100vh - 5rem)); height: min(38rem, calc(100dvh - 5rem)); max-height: calc(100dvh - 5rem); border-radius: 1rem; }
  .legal-section { grid-template-columns: 1fr; gap: .4rem; }
  .legal-section .eyebrow { grid-row: auto; }
}
@media (max-width: 360px) {
  .contact-form-panel { padding: 1rem; }
  .g-recaptcha { transform: scale(.82); transform-origin: left top; margin-bottom: -14px; }
  .chat-widget { right: max(.65rem, env(safe-area-inset-right)); bottom: max(1.25rem, calc(env(safe-area-inset-bottom) + 1rem)); }
  .chat-launcher { gap: .45rem; padding: .72rem .85rem; font-size: .7rem; }
}
@media (max-width: 420px) {
  .page-hero h1 { font-size: clamp(2.5rem, 11.5vw, 3.4rem); letter-spacing: -.075em; overflow-wrap: anywhere; }
  .article-page h1 { font-size: clamp(2.2rem, 10vw, 3.25rem); letter-spacing: -.06em; overflow-wrap: anywhere; }
  .legal-document h1 { font-size: clamp(2.5rem, 11.5vw, 3.6rem); letter-spacing: -.06em; }
}
@media (prefers-reduced-motion: reduce) { .chat-launcher { transition: none; } .chat-launcher-online, .chat-typing span { animation: none; } }
@media (prefers-reduced-motion: reduce) { .partner-track { animation: none; } .partner-viewport { overflow-x: auto; -webkit-mask-image: none; mask-image: none; } }

@view-transition { navigation: auto; }
::view-transition-old(root) { animation: page-transition-out .18s ease-in both; }
::view-transition-new(root) { animation: page-transition-in .34s cubic-bezier(.2,.7,.2,1) both; }
@keyframes page-transition-out { to { opacity: 0; transform: translateY(-5px) scale(.996); } }
@keyframes page-transition-in { from { opacity: 0; transform: translateY(7px) scale(.996); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
}
