:root { --round-xl: 48px; --round-lg: 32px; --round-md: 22px; --round-sm: 14px; }
.h3-section { position: relative; padding: 118px 0; overflow: hidden; }
.h3-heading { width: var(--shell); margin: 0 auto 54px; }
.h3-heading > span { color: var(--mardi); font-size: .74rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.h3-heading h2 { max-width: 900px; margin: 18px 0; font-size: clamp(2.75rem, 5vw, 5.4rem); line-height: .98; }
.h3-heading p { max-width: 690px; font-size: 1.06rem; }
.h3-heading-light { color: white; }.h3-heading-light > span { color: var(--pear); }.h3-heading-light p { color: #aaa2af; }
.h3-eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--mardi); font-size: .74rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.h3-eyebrow::before { content: ""; width: 26px; height: 1px; background: linear-gradient(90deg,var(--mardi),var(--magenta)); }
.h3-button { min-height: 52px; padding: 0 22px; display: inline-flex; align-items: center; justify-content: center; gap: 30px; border: 1px solid transparent; border-radius: 999px; font-size: .9rem; font-weight: 600; transition: .2s ease; }
.h3-button:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(26,0,63,.15); }
.h3-button-primary { background: linear-gradient(110deg,var(--mardi),var(--magenta)); color: white; }
.h3-button-dark { background: var(--black); color: white; }.h3-button-light { background: white; color: var(--black); }
.h3-link { display: inline-flex; align-items: center; gap: 18px; padding: 10px 0; border-bottom: 1px solid currentColor; font-size: .9rem; font-weight: 600; }

.h3-hero { padding: 68px 0 76px; background: white; overflow: hidden; }
.h3-hero-inner { width: var(--shell); min-height: 660px; margin: auto; display: grid; grid-template-columns: 1.08fr .92fr; gap: 62px; align-items: center; }
.h3-hero-copy { position: relative; z-index: 2; }
.h3-hero h1 { max-width: 780px; margin: 24px 0 26px; font-size: clamp(3.6rem,7.2vw,7rem); line-height: .92; letter-spacing: -.065em; }
.h3-hero h1 em { color: transparent; background: linear-gradient(100deg,var(--mardi),var(--magenta)); background-clip: text; -webkit-background-clip: text; font-style: normal; }
.h3-hero-copy > p { max-width: 680px; color: #4e4753; font-size: 1.14rem; line-height: 1.65; }
.h3-actions { margin-top: 34px; display: flex; align-items: center; flex-wrap: wrap; gap: 24px; }
.h3-audience { margin-top: 54px; display: flex; flex-wrap: wrap; gap: 8px; }
.h3-audience span { padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; color: #6d6671; font-size: .72rem; }
.h3-hero-art { min-height: 560px; position: relative; display: grid; place-items: center; }
.h3-hero-art::before { content: ""; position: absolute; width: 440px; height: 440px; border-radius: 50%; background: radial-gradient(circle,rgba(248,0,206,.14),transparent 68%); }
.h3-hero-art img { width: min(560px,110%); position: relative; z-index: 1; filter: drop-shadow(0 28px 46px rgba(26,0,63,.2)); }
.h3-float { position: absolute; z-index: 2; padding: 11px 15px; border: 1px solid rgba(26,0,63,.15); border-radius: 999px; background: rgba(255,255,255,.84); box-shadow: 0 15px 35px rgba(26,0,63,.12); backdrop-filter: blur(10px); font-size: .72rem; }
.h3-float-1 { left: 2%; top: 15%; }.h3-float-2 { right: -1%; top: 30%; }.h3-float-3 { left: -3%; bottom: 25%; }.h3-float-4 { right: 3%; bottom: 12%; }

.h3-services { padding-top: 108px; border-radius: var(--round-xl) var(--round-xl) 0 0; background: var(--ivory); }
.h3-service-explorer { width: var(--shell); min-height: 650px; margin: auto; padding: 16px; display: grid; grid-template-columns: .36fr .64fr; grid-template-rows: repeat(4,1fr); gap: 10px 16px; border: 1px solid rgba(26,0,63,.12); border-radius: 42px; background: white; box-shadow: 0 28px 80px rgba(26,0,63,.1); }
.h3-family { display: contents; }
.h3-family-trigger { grid-column: 1; min-height: 130px; padding: 18px 20px; display: grid; grid-template-columns: 32px 1fr 28px; gap: 12px; align-items: center; border: 0; border-radius: 26px; color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.h3-family-trigger > span { color: var(--mardi); font-size: .67rem; }.h3-family-trigger div { display: flex; flex-direction: column; gap: 5px; }
.h3-family-trigger strong { font-family: Manrope,sans-serif; font-size: 1.4rem; }.h3-family-trigger small { color: var(--muted); font-size: .75rem; }
.h3-family-trigger > i { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; font-style: normal; }
.h3-family-trigger.is-active { color: white; background: var(--violet); }.h3-family-trigger.is-active > span,.h3-family-trigger.is-active small { color: #d5ccd9; }.h3-family-trigger.is-active > i { border-color: rgba(255,255,255,.35); transform: rotate(45deg); }
.h3-family-panel { grid-column: 2; grid-row: 1 / 5; min-width: 0; padding: 38px; display: grid; grid-template-columns: .9fr 1.1fr; gap: 34px; position: relative; overflow: hidden; border-radius: 30px; color: white; background: var(--black); }
.h3-family-panel[hidden] { display: none; }.h3-family-panel::after { content: ""; position: absolute; width: 420px; height: 420px; right: -240px; bottom: -260px; border: 70px solid rgba(248,0,206,.18); border-radius: 50%; }
.h3-family-intro,.h3-child-services { position: relative; z-index: 2; }.h3-family-intro > span,.h3-child-services > span { color: var(--pear); font-size: .69rem; letter-spacing: .1em; text-transform: uppercase; }
.h3-family-intro h3 { margin: 72px 0 18px; font-size: clamp(2.5rem,4vw,4.5rem); }.h3-family-intro p { color: #cfc6d3; }
.h3-family-automate .h3-family-intro p { color:#f0e4f0; }
.h3-family-intro > a { margin-top: 38px; display: inline-flex; gap: 22px; align-items: center; font-size: .8rem; font-weight: 600; }.h3-family-intro b { color: var(--pear); }
.h3-child-services { align-self: center; display: flex; flex-direction: column; gap: 8px; }.h3-child-services > span { margin-bottom: 8px; }
.h3-child-services a { padding: 13px 16px; display: flex; justify-content: space-between; gap: 18px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; font-size: .78rem; transition: .2s ease; }
.h3-child-services a:hover { color: var(--black); background: white; }.h3-child-services a i { font-style: normal; }
.h3-family-mark { position: absolute; right: 24px; top: 24px; width: 82px; height: 70px; opacity: .28; }.h3-family-mark i { position: absolute; width: 48px; height: 48px; border: 1px solid white; border-radius: 50%; }.h3-family-mark i:nth-child(2){right:0}.h3-family-mark i:nth-child(3){left:17px;bottom:0}
.h3-family-automate { background: var(--mardi); }.h3-family-optimise { background: var(--violet); }.h3-family-transform { background: linear-gradient(140deg,var(--black),var(--violet)); }

.h3-fit { background: white; }
.h3-fit-grid { width: var(--shell); margin: auto; display: grid; grid-template-columns: .9fr 1.1fr; gap: 72px; align-items: center; }
.h3-fit-copy h2 { margin: 22px 0; font-size: clamp(2.65rem,4.6vw,4.9rem); }.h3-fit-copy p { max-width: 610px; font-size: 1.04rem; }.h3-fit-copy .h3-link { margin-top: 16px; }
.h3-photo-slot { position:relative; margin: 0; min-height: 500px; padding: 12px; display: flex; flex-direction: column; overflow:hidden; border: 1px solid var(--line); border-radius: 40px; background: var(--ivory); }
.h3-photo-slot > img { flex:1; width:100%; min-height:430px; border-radius:30px; object-fit:cover; }
.h3-photo-badge { position:absolute; left:30px; right:30px; bottom:54px; padding:18px 20px; display:flex; flex-direction:column; gap:4px; border:1px solid rgba(255,255,255,.55); border-radius:22px; color:white; background:rgba(26,0,63,.76); backdrop-filter:blur(16px); }
.h3-photo-slot span { color: var(--mardi); font-size: .67rem; letter-spacing: .1em; text-transform: uppercase; }.h3-photo-slot strong { max-width: 330px; text-align: center; font-size: 1.1rem; }
.h3-photo-badge span { color:var(--pear); }.h3-photo-badge strong { max-width:none; text-align:left; }
.h3-photo-slot figcaption { padding: 14px 10px 0; color: var(--muted); font-size: .7rem; }
.h3-fit-cards { width: var(--shell); margin: 74px auto 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.h3-fit-cards article { min-height: 310px; padding: 28px; border: 1px solid var(--line); border-radius: 28px; }.h3-fit-cards article > span { color: var(--mardi); font-size: .68rem; }
.h3-fit-cards article > i { width: 58px; height: 58px; margin: 46px 0 34px; display: block; border: 1px solid var(--violet); border-radius: 50%; position: relative; }.h3-fit-cards article > i::after { content:""; position:absolute; width:30px; height:30px; right:-11px; bottom:-5px; border-radius:50%; background:var(--magenta); mix-blend-mode:multiply; }
.h3-fit-cards h3 { font-size: 1.45rem; }.h3-fit-cards p { margin-bottom: 0; font-size: .88rem; }

.h3-client-strip { padding: 32px 0; color: white; background: var(--black); overflow: hidden; }
.h3-client-label { width: var(--shell); margin: 0 auto 20px; display: flex; justify-content: space-between; gap: 20px; color: #8f8794; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.h3-client-marquee { overflow: hidden; }.h3-client-marquee > div { width: max-content; display: flex; animation: h3-marquee 28s linear infinite; }
.h3-client-marquee span { min-width: 220px; min-height: 78px; padding: 10px 24px; display: flex; align-items: center; justify-content:center; border-right: 1px solid var(--light-line); }
.h3-client-marquee span img { width: 150px; height: 48px; object-fit: contain; flex: none; padding: 7px 10px; border-radius: 10px; background: white; }
@keyframes h3-marquee { to { transform: translateX(-50%); } }

.h3-cases { color: white; background: var(--black); }
.h3-case-rail { width: var(--shell); margin: auto; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(320px,calc((100% - 32px)/3)); gap: 16px; overflow-x: auto; padding: 0 0 24px; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.h3-case { min-height: 580px; overflow: hidden; display: grid; grid-template-rows: 1.08fr .92fr; border-radius: 34px; color: var(--ink); background: white; scroll-snap-align: start; }
.h3-case-image { min-height: 300px; position: relative; display: grid; place-items: center; overflow: hidden; background: var(--ivory); }
.h3-case-image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,5,5,.04),rgba(26,0,63,.5)); }
.h3-case-image > img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; transition:transform .6s ease; }
.h3-case:hover .h3-case-image > img { transform:scale(1.035); }
.h3-case-image b { position: absolute; z-index:2; left: 24px; top: 24px; display:grid; place-items:center; width:38px; height:38px; border-radius:50%; color:white; background:rgba(5,5,5,.58); backdrop-filter:blur(9px); font-size:.68rem; }
.h3-case-logo { position:absolute; z-index:2; left:24px; right:24px; bottom:20px; width:max-content; max-width:calc(100% - 48px); padding:10px 14px; border-radius:16px; background:rgba(255,255,255,.92); box-shadow:0 12px 34px rgba(0,0,0,.16); }
.h3-case-logo img { width:96px; height:34px; object-fit:contain; }
.h3-case-body { padding: 28px; display: flex; flex-direction: column; }.h3-case-body > span { color: var(--mardi); font-size: .67rem; text-transform: uppercase; }.h3-case-body h3 { margin: 18px 0 12px; }.h3-case-body p { font-size: .82rem; }.h3-case-body strong { margin-top: auto; font-size: .78rem; }
.h3-rail-footer { width: var(--shell); margin: 28px auto 0; display: flex; justify-content: space-between; align-items: center; gap: 20px; }.h3-rail-footer > div { display: flex; gap: 8px; }
.h3-rail-footer button { width: 46px; height: 46px; border: 1px solid var(--light-line); border-radius: 50%; color: white; background: transparent; cursor: pointer; }.h3-rail-footer button:hover { color: var(--pear); border-color: var(--pear); }
.h3-rail-footer button:disabled { opacity:.35; cursor:not-allowed; color:white; border-color:var(--light-line); }

.h3-product { background: var(--ivory); border-radius: var(--round-xl) var(--round-xl) 0 0; }
.h3-product-inner { width: var(--shell); margin: auto; display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: center; }
.h3-product-copy img { width: 210px; height:auto; aspect-ratio:1000/320; object-fit:contain; margin: 26px 0; }.h3-product-copy h2 { margin-bottom: 20px; font-size: clamp(2.7rem,4.5vw,4.8rem); }.h3-product-copy p { font-size: 1.02rem; }.h3-product-copy .h3-button { margin-top: 18px; }
.h3-product-media { margin:0; padding:14px; overflow:hidden; border:1px solid var(--line); border-radius:42px; background:white; box-shadow:0 32px 90px rgba(26,0,63,.16); }
.h3-product-media img { width:100%; height:auto; aspect-ratio:1600/898; object-fit:cover; border-radius:30px; }
.h3-product-media figcaption { padding:12px 8px 0; color:var(--muted); font-size:.72rem; }
.h3-product-ui { min-height: 560px; padding: 30px; display: flex; flex-direction: column; justify-content: center; position: relative; overflow: hidden; border-radius: 42px; color: white; background: var(--violet); box-shadow: 0 32px 90px rgba(26,0,63,.22); }
.h3-product-ui::after { content:""; position:absolute; width:400px; height:400px; right:-220px; top:-210px; border:70px solid rgba(248,0,206,.28); border-radius:50%; }
.h3-ui-nav { padding: 0 4px 18px; display: flex; justify-content: space-between; border-bottom: 1px solid var(--light-line); font-size: .72rem; }.h3-ui-nav b { color: var(--pear); }
.h3-ui-flow { margin: 64px 0; display: grid; grid-template-columns: 1fr 30px 1fr 30px 1fr; align-items: center; }.h3-ui-flow > div { min-height: 160px; padding: 20px; display: flex; flex-direction: column; border: 1px solid var(--light-line); border-radius: 28px; background: rgba(255,255,255,.06); }
.h3-ui-flow div span { color: var(--pear); font-size: .64rem; }.h3-ui-flow div strong { margin-top: auto; }.h3-ui-flow div small { margin-top: 5px; color: #b5acba; }.h3-ui-flow > i { height: 1px; background: linear-gradient(90deg,var(--magenta),var(--pear)); }
.h3-ui-insight { padding: 19px 22px; display: flex; justify-content: space-between; gap: 20px; border-radius: 999px; color: var(--black); background: var(--pear); }.h3-ui-insight span { font-size: .67rem; text-transform: uppercase; }.h3-ui-insight strong { font-size: .78rem; }

.h3-process { background: white; }
.h3-path { width: var(--shell); margin: auto; display: grid; grid-template-columns: repeat(4,1fr); gap: 26px; position: relative; }
.h3-path-wave { position: absolute; inset: 0 auto auto 0; width: 100%; height: 180px; overflow: visible; pointer-events: none; }
.h3-path-wave-compact,.h3-path-wave-mobile { display: none; }
.h3-wave-trace { stroke-dasharray: 105 1200; animation: h3-wave-travel 12s linear infinite; }
@keyframes h3-wave-travel { from { stroke-dashoffset: 1305; } to { stroke-dashoffset: 0; } }
.h3-path article { position: relative; z-index: 2; text-align: center; }.h3-step-node { width: 78px; height: 78px; margin: 0 auto 34px; display: grid; place-items: center; border: 2px solid white; border-radius: 50%; color: white; background: var(--violet); box-shadow: 0 0 0 1px rgba(26,0,63,.18); }.h3-step-node span { font-size: .72rem; }
.h3-path h3 { font-size: 1.55rem; }.h3-path p { font-size: .88rem; }.h3-path strong { color: var(--mardi); font-size: .7rem; text-transform: uppercase; }
.h3-process-note { width: max-content; max-width: var(--shell); margin: 68px auto 0; padding: 12px 18px; display: flex; align-items: center; gap: 16px; border: 1px solid var(--line); border-radius: 999px; font-size: .74rem; }.h3-process-note i { color: var(--magenta); font-style: normal; }

.h3-ecosystem { background: var(--ivory); border-radius: var(--round-xl); }
.h3-platform-cloud { width: var(--shell); margin: auto; padding: 34px; position: relative; border: 1px solid var(--line); border-radius: 42px; background: white; }
.h3-platform-cloud { display: grid; grid-template-columns: repeat(5,1fr); gap: 12px; }
.h3-platform { min-height: 132px; padding: 18px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; border: 1px solid var(--line); border-radius: 26px; background:#fff; }.h3-platform img { width:auto; max-width:118px; height:42px; object-fit:contain; }.h3-platform strong { text-align: center; font-size: .78rem; }
.h3-ecosystem-note { width:var(--shell); margin:18px auto 0; color:#655e69; font-size:.7rem; }


.h3-global { color: white; background: var(--violet); }
.h3-global-inner { width: var(--shell); margin: auto; }
.h3-global-intro { display: grid; grid-template-columns: 1.05fr .95fr; gap: 64px; align-items: end; margin-bottom: 44px; }
.h3-global .h3-eyebrow { grid-column: 1 / -1; color: var(--pear); }
.h3-global-intro h2 { margin: 0; max-width: 800px; font-size: clamp(3rem, 6vw, 6.2rem); line-height: .98; }
.h3-global-intro p { max-width: 470px; margin: 0; color: #c8bdd1; font-size: 1.1rem; }
.h3-world-map { position: relative; width: 100%; padding: 12px; border: 1px solid rgba(255,255,255,.3); border-radius: 42px; aspect-ratio: 1200 / 544; background: linear-gradient(135deg,#453063,#261246 45%,#4b255d); box-shadow:0 30px 75px rgba(6,0,16,.24),inset 0 1px rgba(255,255,255,.18); }
.h3-map-canvas { position:relative; width:100%; height:100%; overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:30px; background:#1A003F; }
.h3-map-canvas::before { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px); background-size:48px 48px; mask-image:radial-gradient(circle at 52% 45%,#000 28%,transparent 86%); }
.h3-map-canvas > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.h3-map-point { position: absolute; z-index: 2; display: flex; align-items: center; gap: 9px; transform: translate(-11px,-50%); }
.h3-map-point i { position:relative; width: 15px; height: 15px; display: block; flex: none; border: 4px solid var(--pear); border-radius: 50%; background: white; box-shadow: 0 0 0 8px rgba(194,232,18,.14), 0 0 24px rgba(194,232,18,.4); }
.h3-map-point i::after { content:""; position:absolute; inset:-10px; border:1px solid var(--pear); border-radius:50%; animation:h3-map-pulse 3s ease-out infinite; }
.h3-map-point:nth-of-type(3) i::after{animation-delay:.5s}.h3-map-point:nth-of-type(4) i::after{animation-delay:1s}.h3-map-point:nth-of-type(5) i::after{animation-delay:1.5s}.h3-map-point:nth-of-type(6) i::after{animation-delay:2s}
@keyframes h3-map-pulse{0%{transform:scale(.55);opacity:.8}75%,100%{transform:scale(2.2);opacity:0}}
.h3-map-point b { padding: 7px 12px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; color: white; background: rgba(26,0,63,.77); font-size: .77rem; font-weight: 600; white-space: nowrap; backdrop-filter: blur(12px); }
.h3-map-montreal { left: 29.56%; top: 23%; }.h3-map-london { left: 49.96%; top: 19%; }.h3-map-budapest { left: 55.29%; top: 21.7%; }.h3-map-mumbai { left: 70.24%; top: 40.6%; }.h3-map-jakarta { left: 79.68%; top: 57.5%; }
.h3-map-london b { transform: translate(-112%, -120%); }.h3-map-budapest b { transform: translate(0, 90%); }
.h3-map-caption { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 24px; color: #c8bdd1; font-size: .78rem; }
.h3-map-caption > div { display: flex; flex-wrap: wrap; gap: 8px; }.h3-map-caption > div span { padding: 7px 11px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; }

.h3-insights { background: white; }
.h3-insight-grid { width:var(--shell); margin:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.h3-insight-grid a { min-height:480px; padding:18px; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:30px; transition:.2s ease; }.h3-insight-grid a:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.h3-insight-image { min-height:220px; display:grid; place-items:center; position:relative; overflow:hidden; border-radius:20px; background:var(--ivory); }.h3-insight-image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,5,5,.05),rgba(26,0,63,.58)); }.h3-insight-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }.h3-insight-grid a:hover .h3-insight-image img { transform:scale(1.035); }.h3-insight-image span { position:relative; z-index:2; padding:7px 10px; border-radius:999px; color:white; background:rgba(5,5,5,.45); font-size:.65rem; text-transform:uppercase; backdrop-filter:blur(8px); }.h3-insight-image i { position:absolute; z-index:2; left:16px; top:16px; color:white; font-size:.65rem; font-style:normal; }
.h3-insight-grid a > span { margin-top:22px; color:var(--mardi); font-size:.67rem; text-transform:uppercase; }.h3-insight-grid h3 { margin:18px 0; font-size:1.7rem; }.h3-insight-grid strong { margin-top:auto; font-size:.75rem; }

.h3-faq { display:grid; grid-template-columns:.72fr 1.28fr; gap:80px; padding-inline:max(24px,calc((100% - 1200px)/2)); overflow:visible; background:var(--ivory); border-radius:var(--round-xl) var(--round-xl) 0 0; }.h3-faq-intro { position:sticky; top:110px; align-self:start; }.h3-faq-intro h2 { margin:20px 0; font-size:clamp(2.6rem,4.5vw,4.8rem); }.h3-faq-intro p { max-width:480px; }
.h3-faq-list { border-top:1px solid var(--line); }.h3-faq-list details { border-bottom:1px solid var(--line); }.h3-faq-list summary { padding:22px 0; display:grid; grid-template-columns:34px 1fr 28px; gap:12px; align-items:center; cursor:pointer; list-style:none; font-weight:600; }.h3-faq-list summary::-webkit-details-marker{display:none}.h3-faq-list summary > span { color:var(--mardi); font-size:.66rem; }.h3-faq-list summary i { width:28px; height:28px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; font-style:normal; }.h3-faq-list details[open] summary i { transform:rotate(45deg); }.h3-faq-list details p { max-width:760px; margin:0 0 22px 46px; }

.h3-contact { color:white; background:var(--black); }.h3-contact-inner { width:var(--shell); margin:auto; display:grid; grid-template-columns:.86fr 1.14fr; gap:72px; align-items:start; }.h3-contact .h3-eyebrow { color:var(--pear); }.h3-contact-copy h2 { margin:22px 0; font-size:clamp(3rem,5.1vw,5.5rem); }.h3-contact-copy p { color:#aaa2af; font-size:1.04rem; }.h3-contact-copy ul { margin-top:38px; padding:0; list-style:none; }.h3-contact-copy li { padding:14px 0; border-bottom:1px solid var(--light-line); color:#d2cbd5; }
.h3-contact-form { padding:36px; display:grid; grid-template-columns:1fr 1fr; gap:20px 16px; border-radius:36px; color:var(--ink); background:white; }.h3-contact-form > div,.h3-contact-form label:nth-of-type(3),.h3-contact-form label:nth-of-type(4),.h3-contact-form button,.h3-contact-form .form-status { grid-column:1/-1; }.h3-contact-form > div { padding-bottom:20px; display:flex; justify-content:space-between; gap:18px; border-bottom:1px solid var(--line); }.h3-contact-form > div span { color:var(--mardi); font-size:.72rem; text-transform:uppercase; }.h3-contact-form > div strong { font-size:.72rem; }
.h3-contact-form label { display:flex; flex-direction:column; gap:8px; font-size:.78rem; font-weight:600; text-transform:uppercase; }.h3-contact-form input,.h3-contact-form select,.h3-contact-form textarea { width:100%; padding:13px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; color:var(--ink); background:transparent; text-transform:none; }.h3-contact-form input:focus,.h3-contact-form select:focus,.h3-contact-form textarea:focus { border-color:var(--magenta); }.h3-contact-form input:focus-visible,.h3-contact-form select:focus-visible,.h3-contact-form textarea:focus-visible { outline:3px solid var(--mardi); outline-offset:3px; border-radius:8px; }.h3-contact-form textarea { resize:vertical; }.h3-contact-form .form-status { color:var(--mardi); }

/* Restrained light movement on the existing dark surfaces. */
.h3-cases::before,.h3-global::before,.h3-contact::before {
  content:""; position:absolute; z-index:0; top:-28%; right:-18%; width:min(74vw,970px); aspect-ratio:1; pointer-events:none;
  border-radius:50%; background:radial-gradient(circle,rgba(248,0,206,.12) 0,rgba(137,0,134,.08) 36%,transparent 68%);
  animation:h3-ambient-drift 24s ease-in-out infinite alternate;
}
.h3-global::before { top:-33%; right:auto; left:-15%; background:radial-gradient(circle,rgba(248,0,206,.13),rgba(194,232,18,.045) 38%,transparent 70%); animation-duration:28s; }
.h3-contact::before { top:auto; bottom:-45%; right:-8%; animation-duration:21s; }
.h3-cases>*,.h3-global>*,.h3-contact>* { position:relative; z-index:1; }
.h3-product-ui::after,.h3-family-panel::after { animation:h3-orbit-accent 26s ease-in-out infinite alternate; }
.h3-family-panel :focus-visible,.h3-cases :focus-visible,.h3-global :focus-visible,.h3-product-ui :focus-visible,.h3-contact :focus-visible{outline-color:var(--pear)}
.h3-contact-form button:focus-visible{outline-color:var(--black);box-shadow:0 0 0 2px white}
@keyframes h3-ambient-drift { to { transform:translate3d(-4%,5%,0) scale(1.08); opacity:.72; } }
@keyframes h3-orbit-accent { to { transform:translate3d(-18px,14px,0) rotate(8deg); opacity:.58; } }
@media (prefers-reduced-motion:reduce) {
  .h3-wave-trace,.h3-cases::before,.h3-global::before,.h3-contact::before,.h3-product-ui::after,.h3-family-panel::after,.h3-map-point i::after { animation:none; }
  .h3-wave-trace { stroke-dasharray:none; }
}

@media (prefers-reduced-motion:reduce){.h3-client-marquee>div{animation:none}}
