/* Homepage-only composition. Shared WEB sculpture code and WEB styles stay independent. */
.hp-intro-grid { grid-template-columns: 280px 1fr; align-items: center; gap: 58px; }
.hp-sculpture { min-width: 0; text-align: center; position: relative; }
.hp-sculpture-origin { height: 255px; position: relative; display: grid; place-items: center; }
.hp-sculpture .w2-gl { position: absolute; inset: 0; width: 100%; height: 100%; touch-action: pan-y; cursor: grab; opacity: 0; }
.hp-sculpture.is-ready .w2-gl { opacity: 1; }
.hp-sculpture-fallback { font: 155px/1 'Space Grotesk',sans-serif; color: #344bf0; }
.hp-sculpture.is-ready .hp-sculpture-fallback { opacity: 0; }
.hp-sculpture-controls { display: flex; justify-content: center; gap: 5px; }
.hp-sculpture-controls button { background: none; border: 1px solid #c0cada; border-radius: 3px; padding: 7px 10px; font: 500 9px 'Space Grotesk',sans-serif; color: #64728a; min-height: 31px; }
.hp-sculpture-controls button[aria-pressed="true"][data-w2-shape] { color: #f1f5ff; background: #223250; border-color: #223250; }
.hp-sculpture-controls button:disabled { opacity: .45; cursor: default; }
.hp-sculpture .w2-sculpture-hint { font-size: 10px; color: #64748e; line-height: 1.8; margin-top: 13px; }
.hp-sculpture-caption { display: block; font-size: 8px; color: #8190a9; margin-top: 8px; }
.hp-journey { position: fixed; width: 320px; height: 320px; inset: 0 auto auto 0; z-index: 40; transform-origin: 0 0; pointer-events: none; will-change: transform; }
.hp-journey[hidden] { display: none; }
.hp-journey .w2-gl { display: block; width: 100%; height: 100%; pointer-events: none; }
.hp-journey.is-docked .w2-gl { pointer-events: auto; cursor: grab; touch-action: pan-y; }
.hp-journey .w2-gl:focus-visible { outline: 2px solid #5063ef; border-radius: 50%; outline-offset: -12px; }
.hp-lab-cycle { position: absolute; bottom: 17px; left: 50%; width: 395px; transform: translateX(-50%); display: flex; align-items: center; gap: 16px; z-index: 2; color: #acbedf; }
.hp-lab-cycle .hp-meta { font-size: 9px; white-space: nowrap; }
.hp-lab-cycle #hp-cycle-time { min-width: 25px; text-align: right; font-variant-numeric: tabular-nums; }
.hp-cycle-gauge { flex: 1; height: 3px; overflow: hidden; background: #7a93c42e; }
.hp-cycle-gauge>span { display: block; width: 100%; height: 100%; background: #244cf4; transform-origin: left; }
.hp-motion-paused .hp-cycle-gauge>span { background: #8396b9; }
.hp-lab-controls { bottom: 49px; }
.hp-lab-controls button { min-height: 42px; }
.hp-lab { --hp-lab-mx: 50%; }

/* Four disciplines become one connected, explorable system. */
.hp-cap-tabs { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid #26365040; border-bottom: 1px solid #26365040; }
.hp-cap-tabs>a { min-width: 0; display: flex; align-items: center; gap: 13px; position: relative; padding: 23px 20px; color: #687893; transition: background .25s,color .25s; }
.hp-cap-tabs>a+a { border-left: 1px solid #26365025; }
.hp-cap-tabs strong { font: 600 23px 'Space Grotesk',sans-serif; letter-spacing: -.035em; }
.hp-cap-tab-arrow { margin-left: auto; font-size: 24px; line-height: 1; }
.hp-cap-tabs>a[aria-selected="true"] { color: #14233e; background: #244cf4; }
.hp-cap-tabs>a:hover { color: #14233e; background: #e2e9f7; }
.hp-cap-tabs>a[aria-selected="true"]:hover { background: #244cf4; }
.hp-cap-workspace { display: grid; grid-template-columns: .9fr 1.35fr; gap: 42px; padding: 38px 0; align-items: stretch; }
.hp-cap-copy { display: grid; align-items: center; }
.hp-cap-panel { padding: 25px 0; }
.hp-cap-panel+.hp-cap-panel { border-top: 1px solid #26365030; }
.hp-cap-ready .hp-cap-panel { border: 0; animation: hp-panel-in .45s ease both; }
.hp-cap-panel>.hp-meta { display: block; font-size: 9px; color: #72829d; letter-spacing: .035em; }
.hp-cap-panel h3 { margin: 27px 0 20px; font-size: clamp(25px,2.5vw,35px); line-height: 1.45; letter-spacing: -.055em; font-weight: 500; text-wrap: balance; }
.hp-cap-panel>p { font-size: 13px; line-height: 1.95; color: #61708c; text-wrap: pretty; }
.hp-cap-deliverables { list-style: none; margin: 27px 0 31px; padding: 19px 0; border-top: 1px solid #26365020; border-bottom: 1px solid #26365020; display: grid; gap: 10px; }
.hp-cap-deliverables li { font-size: 12px; color: #354b70; display: flex; align-items: center; gap: 12px; }
.hp-cap-deliverables li>span { color: #5679c2; font-size: 16px; }
.hp-cap-panel .hp-text-link { font-size: 12px; }
.hp-cap-system { min-height: 535px; background: #111b30; color: #dbe6ff; display: flex; flex-direction: column; position: relative; overflow: hidden; isolation: isolate; --system-accent: #244cf4; }
.hp-cap-system::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse at 50% 49%,#446cce2b,transparent 65%); transition: background .5s; }
.hp-cap-system-top,.hp-cap-system-bottom { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 22px 23px; z-index: 1; }
.hp-cap-system-top { border-bottom: 1px solid #94ade620; font-size: 9px; }
.hp-cap-system-top .hp-dot { width: 5px; height: 5px; background: var(--system-accent); }
.hp-cap-system-bottom { margin-top: auto; border-top: 1px solid #94ade620; padding: 17px 20px; }
.hp-cap-system-bottom .hp-meta { font-size: 8px; letter-spacing: .02em; }
.hp-cap-system-bottom>.hp-meta:last-child { color: #8398b9; }
.hp-journey-pause { border: 1px solid #8da9e860; background: transparent; color: #244cf4; border-radius: 50%; flex-shrink: 0; width: 30px; height: 30px; padding: 0; font: 12px 'Space Grotesk',sans-serif!important; }
.hp-journey-pause:disabled { opacity: .4; cursor: default; }
.hp-cap-network { position: relative; flex: 1; min-height: 395px; background-image: radial-gradient(#799adb20 .8px,transparent .8px); background-size: 15px 15px; }
.hp-cap-wires { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; stroke: var(--system-accent); stroke-width: 1; overflow: visible; }
.hp-cap-wires path:first-child { opacity: .2; }
.hp-cap-wires path:last-child { stroke-dasharray: 8 190; stroke-width: 1.5; opacity: .8; animation: hp-system-flow 5s linear infinite; }
.hp-cap-orbit { position: absolute; left: 50%; top: 50%; width: 224px; height: 224px; transform: translate(-50%,-50%); border: 1px solid #84a8ef20; border-radius: 50%; }
.hp-cap-orbit i { position: absolute; inset: -24px; border: 1px dashed #7b9ddb20; border-radius: 50%; animation: hp-orbit 40s linear infinite; }
.hp-cap-orbit i:nth-child(2) { inset: -48px; border-style: solid; border-color: #7b9ddb10; }
.hp-cap-orbit i:nth-child(3) { inset: 20px; border-style: solid; border-color: #7b9ddb20; }
.hp-cap-dock { position: absolute; left: 50%; top: 50%; width: 225px; height: 225px; transform: translate(-50%,-50%); display: grid; place-items: center; }
.hp-cap-core { font: 110px 'Space Grotesk',sans-serif; color: var(--system-accent); transition: opacity .2s,transform .5s; }
.hp-cap-system.has-journey .hp-cap-core { opacity: 0; }
.hp-cap-node { position: absolute; display: flex; flex-direction: column; justify-content: center; gap: 6px; width: 130px; height: 73px; padding: 12px 15px; border: 1px solid #91ace035; background: #192844ed; z-index: 2; transition: border-color .35s,background .35s,transform .5s; }
.hp-cap-node .hp-meta { font-size: 8px; color: #8ca3c9; }
.hp-cap-node strong { font-size: 11px; font-weight: 500; white-space: nowrap; }
.hp-cap-node i { position: absolute; right: 12px; top: 14px; width: 3px; height: 3px; background: var(--system-accent); border-radius: 50%; }
.hp-cap-node-0 { left: 5%; top: 14%; }
.hp-cap-node-1 { right: 5%; top: 14%; }
.hp-cap-node-2 { left: 5%; bottom: 14%; }
.hp-cap-node-3 { right: 5%; bottom: 14%; }
.hp-capabilities[data-system="1"] .hp-cap-system { --system-accent: #aaadff; }
.hp-capabilities[data-system="1"] .hp-cap-system::before { background: radial-gradient(ellipse at 50% 49%,#5d529c30,transparent 65%); }
.hp-capabilities[data-system="1"] .hp-cap-node { border-color: #aaadff50; background: #242338; }
.hp-capabilities[data-system="1"] .hp-cap-orbit { transform: translate(-50%,-50%) rotate(45deg); border-radius: 28%; }
.hp-capabilities[data-system="2"] .hp-cap-system { --system-accent: #8ae1c9; }
.hp-capabilities[data-system="2"] .hp-cap-system::before { background: radial-gradient(ellipse at 50% 49%,#34846d2e,transparent 65%); }
.hp-capabilities[data-system="2"] .hp-cap-node { border-color: #8ae1c950; background: #1a302a; }
.hp-capabilities[data-system="2"] .hp-cap-orbit { transform: translate(-50%,-50%) scale(1.13,.83); }
.hp-capabilities[data-system="3"] .hp-cap-system { --system-accent: #f0bc85; }
.hp-capabilities[data-system="3"] .hp-cap-system::before { background: radial-gradient(ellipse at 50% 49%,#9c68342e,transparent 65%); }
.hp-capabilities[data-system="3"] .hp-cap-node { border-color: #f0bc8550; background: #30291e; }
.hp-capabilities[data-system="3"] .hp-cap-orbit { border-radius: 32% 32% 45% 45%; }
.hp-cap-footnote { border-top: 1px solid #26365030; padding-top: 22px; display: flex; align-items: baseline; gap: 10px; font-size: 11px; color: #636b7e; line-height: 1.8; }
.hp-cap-footnote>span { flex: none; font-size: 14px; line-height: 1; color: #314061; }
.hp-cap-cycle { display: flex; align-items: center; gap: 14px; padding: 11px 2px 12px; border-bottom: 1px solid #26365025; color: #5b6a86; }
.hp-cap-cycle[hidden] { display: none; }
.hp-cap-cycle .hp-meta { font-size: 9px; white-space: nowrap; }
.hp-cap-cycle #hp-cap-cycle-time { min-width: 25px; text-align: right; font-variant-numeric: tabular-nums; }
.hp-cap-cycle .hp-cycle-gauge { background: #2636501f; }
.hp-cap-cycle .hp-cycle-gauge>span { transition: transform .12s linear; }
.hp-cap-cycle.is-paused .hp-cycle-gauge>span { background: #93a1ba; }
.hp-cap-cycle-pause { flex: none; width: 26px; height: 26px; border: 1px solid #26365035; border-radius: 50%; background: transparent; color: #31456d; font-size: 10px; line-height: 1; }
.hp-cap-cycle-pause:hover { background: #e2e9f7; }
.hp-motion-paused .hp-cap-wires path,.hp-motion-paused .hp-cap-orbit i,.hp-journey-is-paused .hp-cap-wires path,.hp-journey-is-paused .hp-cap-orbit i { animation-play-state: paused; }
@keyframes hp-panel-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes hp-system-flow { to { stroke-dashoffset: -396; } }
@keyframes hp-orbit { to { rotate: 360deg; } }
@media(max-width:1100px) {
 .hp-intro-grid { grid-template-columns: 220px 1fr; gap: 30px; }
 .hp-sculpture-origin { height: 220px; }
 .hp-cap-tabs>a { gap: 8px; padding: 20px 14px; }
 .hp-cap-tabs strong { font-size: 20px; }
 .hp-cap-tabs .hp-meta { font-size: 9px; }
 .hp-cap-workspace { gap: 25px; grid-template-columns: 1fr 1.2fr; }
 .hp-cap-node { width: 104px; padding: 10px; }
 .hp-cap-node strong { font-size: 10px; }
 .hp-cap-node-0,.hp-cap-node-2 { left: 4%; }
 .hp-cap-node-1,.hp-cap-node-3 { right: 4%; }
 .hp-cap-dock { width: 170px; height: 170px; }
 .hp-cap-orbit { width: 185px; height: 185px; }
 .hp-cap-system-bottom>.hp-meta:last-child { display: none; }
}
@media(max-width:800px) {
 .hp-intro-grid { grid-template-columns: 1fr; gap: 35px; }
 .hp-sculpture { width: 250px; margin-inline: auto; }
 .hp-sculpture-origin { height: 235px; }
 .hp-cap-workspace { grid-template-columns: 1fr; gap: 23px; padding-top: 26px; }
 .hp-cap-tabs { position: sticky; top: 84px; z-index: 12; background: #f2f4f8; }
 .hp-cap-system { order: -1; }
 .hp-cap-copy { min-height: 355px; }
 .hp-cap-panel { padding: 0; }
 .hp-cap-panel h3 { font-size: 30px; margin: 20px 0 17px; }
 .hp-cap-panel>p { max-width: 590px; font-size: 13px; }
 .hp-cap-deliverables { margin: 20px 0 25px; gap: 8px; }
 .hp-cap-tabs>a { padding: 18px 11px; flex-wrap: wrap; gap: 4px; }
 .hp-cap-tabs .hp-meta { flex-basis: 100%; }
 .hp-cap-tabs strong { font-size: 18px; }
 .hp-cap-tab-arrow { font-size: 17px; }
 .hp-cap-system { min-height: 445px; }
 .hp-cap-network { min-height: 320px; }
 .hp-cap-dock { width: 190px; height: 190px; }
 .hp-cap-node { width: 123px; height: 67px; padding: 11px 13px; }
 .hp-cap-node strong { font-size: 11px; }
 .hp-cap-node-0,.hp-cap-node-2 { left: 5%; }
 .hp-cap-node-1,.hp-cap-node-3 { right: 5%; }
 .hp-cap-orbit { width: 200px; height: 200px; }
}
@media(max-width:540px) {
 .hp-cap-tabs>a { padding: 15px 8px; }
 .hp-cap-tabs strong { font-size: 13px; }
 .hp-cap-tabs .hp-meta { font-size: 8px; }
 .hp-cap-tab-arrow { display: none; }
 .hp-cap-panel h3 { font-size: 27px; }
 .hp-cap-panel>p { font-size: 12px; }
 .hp-cap-deliverables li { font-size: 11px; }
 .hp-cap-copy { min-height: 405px; }
 .hp-cap-node { width: 110px; height: 60px; padding: 9px 11px; }
 .hp-cap-node strong { font-size: 10px; }
 .hp-cap-node-0,.hp-cap-node-2 { left: 5%; }
 .hp-cap-node-1,.hp-cap-node-3 { right: 5%; }
 .hp-cap-node-0,.hp-cap-node-1 { top: 4%; }
 .hp-cap-node-2,.hp-cap-node-3 { bottom: 4%; }
 .hp-cap-network { min-height: 360px; }
 .hp-cap-dock { width: 165px; height: 165px; }
 .hp-cap-orbit { width: 170px; height: 170px; }
 .hp-cap-system-top { padding: 18px 16px; font-size: 8px; }
 .hp-cap-system-bottom { padding: 14px 16px; gap: 8px; }
 .hp-cap-system-bottom .hp-meta { font-size: 7px; }
 .hp-cap-footnote { font-size: 10px; }
 .hp-lab-cycle { width: calc(100% - 38px); gap: 12px; bottom: 19px; }
 .hp-lab-cycle .hp-meta { font-size: 8px; }
 .hp-lab-controls { bottom: 48px; }
}
@media(max-width:360px) {
 .hp-cap-tabs strong { font-size: 11px; }
 .hp-cap-panel h3 { font-size: 24px; }
 .hp-cap-copy { min-height: 435px; }
 .hp-cap-node { width: 100px; padding-inline: 9px; }
 .hp-cap-node strong { font-size: 9px; }
 .hp-cap-system-top { padding-inline: 12px; font-size: 7px; }
 .hp-cap-system-bottom { padding-inline: 12px; }
 .hp-lab-cycle .hp-meta { font-size: 7px; }
}
@media(prefers-reduced-motion:reduce) {
 .hp-journey { display: none; }
 .hp-cap-panel,.hp-cap-wires path,.hp-cap-orbit i { animation: none!important; }
}

/* Cobalt accents and cool neutral surfaces. */
.hp-page { --hp-accent:#244cf4; --hp-signal:#8bacff; }
.hp-hero h1 span,.hp-spark,.hp-lab-heading h2 span { color:var(--hp-signal); }
.hp-dot { background:var(--hp-signal); }
.hp-round-link:hover,.hp-work-visit,.hp-cap-tabs>a[aria-selected="true"] { color:#fff!important; }
.hp-cap-tabs>a[aria-selected="true"]:hover { background:#244cf4; }
.hp-post-feature,.hp-post-feature:hover { color:#fff!important; }
.hp-post-feature p { color:#e0e8ff; }
.hp-post-source { color:#c9dbff; }
.hp-post-destinations>span { border-color:#bed0ff60; background:#ffffff12; }
.hp-post-line,.hp-post-destinations>span::before { background:#b8cbff; }
.hp-post-destinations { border-color:#b8cbff; }
.hp-post-art>small { color:#d1dfff; }
.hp-next { background:#244cf4; color:#fff; }
.hp-next h2 span { -webkit-text-stroke-color:#fff; }
.hp-next-bottom { border-color:#ffffff50; }
.hp-next-bottom p { color:#e0e8ff; }
.hp-solid-link { background:#fff; color:#244cf4!important; }
.hp-cap-system { --system-accent:#8bacff; }
.hp-journey-pause { color:#b1c9ff; }
.hp-lab-controls button[aria-pressed="true"] { background:#244cf4; color:#fff; }
.hp-lab-controls { background:#17243c; border-color:#40547b; }
.hp-lab-controls button { color:#bccbe6; }
.hp-lab-word { color:#a0c1ff08; }
.hp-lab-caption,.hp-lab-footer p { color:#adbedc; }
.hp-lab-footer .hp-text-link { color:#eaf1ff; border-bottom-color:#7ea4f5; }
.hp-lab-footer .hp-text-link span { color:#8fb4ff; }
.hp-lab-footer .hp-text-link:hover { color:#ffffff!important; border-bottom-color:#ffffff; }
.hp-post-destinations { --hp-post-connector:25px; }
.hp-post-destinations>span::before { left:calc(-1px - var(--hp-post-connector)); width:var(--hp-post-connector); transition:left .3s,width .3s; }
.hp-post-feature:hover .hp-post-destinations>span:nth-child(odd)::before { left:calc(-7px - var(--hp-post-connector)); width:calc(var(--hp-post-connector) + 6px); }
.hp-tool>p { color:#b4c4df; }
.hp-tool-image { background:#e5ebf5; }
.hp-tool-image>span { background:#244cf4; color:#fff; }
.hp-partner-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:34px; }
.hp-partner-heading .hp-meta { color:#244cf4; font-size:10px; margin-bottom:17px; }
.hp-partner-heading h3 { font-size:30px; font-weight:650; letter-spacing:-.055em; text-wrap:balance; }
.hp-partner-heading>p { font-size:12px; line-height:1.9; color:#717b8c; }
.hp-partner-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); border-top:1px solid #202e4925; border-left:1px solid #202e4925; }
.hp-partner-grid figure { margin:0; height:104px; padding:16px 23px; display:grid; place-items:center; border-right:1px solid #202e4925; border-bottom:1px solid #202e4925; }
.hp-partner-grid img { width:auto; max-width:100%; max-height:var(--hp-logo-cap); height:auto; object-fit:contain; filter:grayscale(1); mix-blend-mode:multiply; opacity:.64; transition:filter .25s,opacity .25s; }
.hp-partner-grid figure:hover img { filter:none; opacity:1; }
/* Same projects, screenshot framing and stagger as WEB Studio's works section. */
.hp-work-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:52px 26px; }
.hp-work-card:nth-child(even) { margin-top:0; transform:none; }
.hp-work-image { aspect-ratio:1.4; display:grid; place-items:center; padding:21px; background:#e7e9f0; }
.hp-work-0 .hp-work-image { background:#e7e0ed; }
.hp-work-1 .hp-work-image { background:#e4e8e7; }
.hp-work-2 .hp-work-image { background:#e7e4de; }
.hp-work-3 .hp-work-image { background:#e2e9f0; }
.hp-work-image img { width:100%; height:auto; object-fit:contain; box-shadow:0 12px 30px #10152220; }
.hp-work-card:hover .hp-work-image img,.hp-work-card:focus-visible .hp-work-image img { transform:scale(1.045) translateY(-3px); filter:none; }
.hp-work-open { top:auto; right:14px; bottom:14px; width:40px; height:40px; background:#fff; }
.hp-work-info { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-top:23px; }
.hp-work-info h3 { font-size:20px; letter-spacing:-.04em; }
.hp-work-info>span { font-size:10px; color:#6d778b; white-space:nowrap; }
.hp-work-card>p { color:#6d778b; font-size:12px; line-height:1.7; margin-top:8px; }
.hp-all-work { margin-top:100px; }
.hp-tool-catalog { margin-top:60px; }
.hp-tool-group+.hp-tool-group { margin-top:48px; }
.hp-tool-group-title { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #aec8ff35; padding-bottom:16px; font-size:18px; font-weight:500; }
.hp-tool-group-title .hp-meta { font-size:9px; color:#93aace; }
.hp-tool-grid { grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:25px; gap:28px; }
.hp-tool h3 { font:600 17px 'Space Grotesk',sans-serif; letter-spacing:-.02em; }
.hp-tool h3 b { display:none; }
.hp-tool p { font-size:12px; line-height:1.75; }
.hp-tool-image { margin-bottom:17px; aspect-ratio:16/9; }
.hp-tool-image img { object-fit:cover; }
.hp-insight-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin:48px 0; }
.hp-insight-heading h2 { font-size:clamp(30px,3vw,44px); line-height:1.45; letter-spacing:-.055em; font-weight:550; text-wrap:balance; }
.hp-insight-heading h2 span { color:#244cf4; }
.hp-insight-heading>p { color:#68768d; font-size:13px; line-height:1.9; }
.hp-insight-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.hp-insight-card { min-width:0; display:flex; flex-direction:column; }
.hp-insight-card>a:first-child { display:flex; flex-direction:column; flex:1; }
.hp-insight-image { position:relative; overflow:hidden; aspect-ratio:1.5; background:#dde5f2; }
.hp-insight-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:top; transition:transform .5s; }
.hp-insight-card:hover img { transform:scale(1.035); }
.hp-insight-image .hp-meta { position:absolute; left:12px; bottom:12px; background:#f5f7fc; color:#244cf4; padding:7px 9px; font-size:8px; }
.hp-insight-short img { object-fit:contain; object-position:center; }
.hp-insight-card h3 { font-size:23px; line-height:1.5; font-weight:600; letter-spacing:-.045em; margin:23px 0 13px; text-wrap:balance; }
.hp-insight-card p { color:#68768d; font-size:13px; line-height:1.85; text-wrap:pretty; }
.hp-insight-read { margin-top:auto; padding:25px 0 22px; display:flex; align-items:center; justify-content:space-between; font-size:12px; font-weight:500; }
.hp-insight-read b { font-size:24px; color:#244cf4; font-weight:400; }
.hp-insight-channel { display:flex; justify-content:space-between; border-top:1px solid #26365035; padding-top:18px; color:#6c7a91; font-size:11px; }
.hp-journey-badge { position:fixed; z-index:41; width:80px; display:flex; flex-direction:column; align-items:center; gap:10px; color:#586d9c; }
.hp-journey-badge[hidden] { display:none; }
.hp-journey-badge>span { background:#f5f7fce8; border-radius:20px; padding:4px 9px; font:9px 'Space Grotesk',sans-serif; white-space:nowrap; }
.hp-journey-badge button { width:36px; height:36px; border:1px solid #567dd44a; border-radius:50%; background:#f5f7fce8; color:#244cf4; cursor:pointer; }
.hp-journey-badge button:focus-visible { outline:2px solid #244cf4; outline-offset:3px; }
@media(max-width:1000px) { .hp-post-destinations { --hp-post-connector:16px; } }
@media(max-width:1100px) {
 .hp-partner-grid figure { padding-inline:14px; }
 .hp-work-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:46px 24px; }
 .hp-work-info { align-items:start; flex-direction:column; gap:8px; }
 .hp-tool-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .hp-insight-heading { align-items:start; flex-direction:column; gap:23px; }
 .hp-insight-card h3 { font-size:20px; }
}
@media(max-width:720px) {
 .hp-partner-heading { align-items:start; flex-direction:column; gap:16px; }
 .hp-partner-heading h3 { font-size:24px; }
 .hp-partner-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .hp-partner-grid figure { height:80px; padding:13px; }
 .hp-partner-grid img { max-height:min(var(--hp-logo-cap),48px); }
 .hp-work-grid { grid-template-columns:1fr; gap:35px; }
 .hp-work-card:nth-child(even) { transform:none; }
 .hp-work-image { aspect-ratio:1.35; padding:24px; }
 .hp-work-info { flex-direction:row; align-items:center; }
 .hp-work-info h3 { font-size:20px; }
 .hp-work-info>span { font-size:9px; }
 .hp-all-work { margin-top:42px; }
 .hp-tool-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 18px; }
 .hp-tool h3 { font-size:14px; overflow-wrap:anywhere; }
 .hp-tool p { font-size:11px; }
 .hp-tool-image>span { font-size:13px; padding:4px 6px; }
 .hp-tool-group-title { font-size:16px; }
 .hp-insight-heading { margin:30px 0; }
 .hp-insight-heading h2 { font-size:29px; }
 .hp-insight-heading>p { font-size:12px; }
 .hp-insight-grid { grid-template-columns:1fr; gap:38px; }
 .hp-insight-card h3 { font-size:24px; }
 .hp-insight-image { aspect-ratio:1.6; }
 .hp-insight-read { padding:18px 0; }
}
@media(prefers-reduced-motion:reduce) { .hp-journey-badge { display:none; } }

.hp-page .site-consult-bar,.hp-page .site-consult-bar a{color:#fff}
.hp-tool h3{font-family:'Space Grotesk',Arial,sans-serif}
.hp-page .hp-contact-wrap .contact{--contact-color-primary:#244cf4;--contact-color-primary-strong:#1939c5;--contact-color-accent:#648aff;--cta-accent:#8bacff}
.hp-page .hp-contact-wrap .contact-copy{--contact-color-primary-readable:#8bacff}

/* Longer localized labels wrap instead of spilling out of the node box. */
.hp-cap-node { width: max-content; min-width: 130px; max-width: 182px; height: auto; min-height: 73px; }
.hp-cap-node strong { white-space: normal; word-break: keep-all; overflow-wrap: break-word; line-height: 1.45; }
@media (max-width: 1050px) { .hp-cap-node { min-width: 104px; max-width: 150px; } }

