.home-hero { width: var(--shell); min-height: 760px; margin: 0 auto; padding: 110px 0 84px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: center; position: relative; }
.hero-grid-lines { position: absolute; inset: 0 -100vw; z-index: -1; background-image: linear-gradient(rgba(26,0,63,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(26,0,63,.055) 1px, transparent 1px); background-size: 88px 88px; mask-image: linear-gradient(to bottom, black, transparent 90%); }
.home-hero h1 { max-width: 800px; margin: 22px 0 28px; }
.home-hero h1 span { color: transparent; background: linear-gradient(100deg, var(--mardi), var(--magenta)); background-clip: text; -webkit-background-clip: text; }
.home-hero-copy > p { max-width: 670px; font-size: 1.15rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.hero-intelligence { width: min(460px, 95%); aspect-ratio: 1; margin-left: auto; position: relative; display: grid; place-items: center; background: var(--violet); border-radius: 50%; box-shadow: var(--shadow); }
.intelligence-ring { position: absolute; inset: 14%; border: 1px solid rgba(255,255,255,.42); border-radius: 42% 58% 55% 45%; transform: rotate(23deg); }
.intelligence-ring::before, .intelligence-ring::after { content: ""; position: absolute; inset: 13%; border: 1px solid rgba(248,0,206,.7); border-radius: 50%; transform: rotate(52deg); }
.intelligence-ring::after { inset: 28%; border-color: var(--pear); }
.intelligence-core { width: 105px; height: 105px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(145deg, var(--mardi), var(--magenta)); color: white; font-size: 1.4rem; font-weight: 600; }
.signal { position: absolute; padding: 10px 13px; background: white; border: 1px solid var(--line); box-shadow: 0 12px 30px rgba(0,0,0,.14); font-size: .75rem; }
.signal-a { top: 8%; left: 4%; }.signal-b { right: -4%; top: 26%; }.signal-c { left: -2%; bottom: 19%; }.signal-d { right: 8%; bottom: 6%; background: var(--pear); }
.solutions-section, .process-section, .insights-section, .faq-section { padding: 110px 0; background: white; }
.solutions-grid { width: var(--shell); margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.cases-section { padding: 110px 0; background: var(--black); color: white; }
.case-scroller { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(310px, 34vw); gap: 18px; overflow-x: auto; padding: 0 max(24px, calc((100% - 1200px) / 2)) 30px; scrollbar-width: thin; }
.case-card { min-height: 520px; background: white; color: var(--ink); }
.case-visual { min-height: 310px; padding: 24px; background: var(--violet); color: white; position: relative; overflow: hidden; }
.case-visual div { position: absolute; width: 260px; height: 260px; right: -50px; bottom: -80px; border: 70px solid var(--magenta); border-radius: 50%; }
.case-copy { padding: 26px; }.case-copy h3 { margin: 18px 0; }.case-copy p { font-size: .86rem; }
.cases-section > .button { margin: 28px max(24px, calc((100% - 1200px) / 2)) 0; }
.product-section { width: var(--shell); margin: 0 auto; padding: 120px 0; display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: center; }
.product-copy img { width: 230px; margin: 24px 0; }.product-copy h2 { font-size: clamp(2.5rem, 4.5vw, 4.8rem); }.product-copy p { font-size: 1.08rem; }.product-copy .button { margin-top: 20px; }
.product-ui { padding: 30px; background: white; border: 1px solid var(--line); box-shadow: var(--shadow); }.product-ui.large { min-height: 480px; }
.process-grid { width: var(--shell); margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); }
.process-grid article { min-height: 320px; padding: 30px; border-right: 1px solid var(--line); }.process-grid article:last-child { border-right: 0; }.process-grid article > span { color: var(--mardi); }.process-grid h3 { margin-top: 100px; }
.ecosystem-section { padding: 110px 0; background: var(--violet); color: white; position: relative; }.ecosystem-section::after { content: ""; position: absolute; inset: auto 0 0; height: 8px; background: linear-gradient(90deg, var(--mardi), var(--magenta), var(--pear)); }
.tech-grid { width: var(--shell); margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--light-line); border-left: 1px solid var(--light-line); }.tech-grid div { min-height: 130px; display: grid; place-items: center; border-right: 1px solid var(--light-line); border-bottom: 1px solid var(--light-line); font-size: 1.15rem; }
.global-section { width: var(--shell); margin: 0 auto; padding: 120px 0; display: grid; grid-template-columns: 1.25fr .75fr; gap: 80px; align-items: center; }
.global-map { min-height: 460px; position: relative; overflow: hidden; background: var(--black); color: white; }.map-grid { position: absolute; inset: 0; background-image: linear-gradient(var(--light-line) 1px, transparent 1px), linear-gradient(90deg, var(--light-line) 1px, transparent 1px); background-size: 56px 56px; mask-image: radial-gradient(circle, black, transparent 78%); }
.city-pin { position: absolute; display: flex; gap: 9px; align-items: center; font-size: .78rem; }.city-pin i { width: 11px; height: 11px; border-radius: 50%; background: var(--pear); box-shadow: 0 0 0 6px rgba(194,232,18,.18); }.pin-1{left:52%;top:31%}.pin-2{left:76%;top:68%}.pin-3{left:45%;top:35%}.pin-4{left:69%;top:56%}.pin-5{left:20%;top:34%}
.city-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }.city-list span { padding: 8px 11px; border: 1px solid var(--line); font-size: .75rem; }
.insight-grid { width: var(--shell); margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }.insight-grid a { min-height: 330px; padding: 28px; display: flex; flex-direction: column; border: 1px solid var(--line); }.insight-grid a > span { color: var(--mardi); font-size: .72rem; text-transform: uppercase; }.insight-grid h3 { margin-top: 90px; }.insight-grid em { margin-top: auto; font-style: normal; font-size: .82rem; }
.faq-section { padding-top: 20px; }.faq-list { width: var(--shell); margin: 0 auto; border-top: 1px solid var(--line); }.faq-list details { border-bottom: 1px solid var(--line); }.faq-list summary { padding: 24px 0; cursor: pointer; font-size: 1.15rem; font-weight: 600; }.faq-list details p { max-width: 750px; padding-bottom: 22px; }
.home-contact { padding: 100px max(24px, calc((100% - 1200px) / 2)); display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; background: var(--violet); color: white; }.home-contact > div > span { color: var(--pear); font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; }.home-contact h2 { margin: 20px 0; }.home-contact p { color: #cfc5d8; }.home-contact ol { display: grid; gap: 10px; padding-left: 20px; }.home-contact form { padding: 38px; background: var(--mardi); }.home-contact form h3 { font-size: 2.1rem; }

.service-nav { position: sticky; top: 76px; z-index: 50; background: white; border-bottom: 1px solid var(--line); }.family-links, .child-links { display: flex; width: var(--shell); margin: 0 auto; overflow-x: auto; scrollbar-width: none; }.family-link { flex: 1 0 150px; padding: 17px; text-align: center; color: var(--muted); border-right: 1px solid var(--line); }.family-link.is-active { background: var(--violet); color: white; }.child-links { padding: 10px 0; gap: 8px; }.child-link { flex: 0 0 auto; min-height:44px; display:inline-flex; align-items:center; padding:8px 11px; border:1px solid var(--line); font-size:.8rem; }.child-link.is-current { background: var(--mardi); color: white; border-color: var(--mardi); }
.service-hero { padding: 96px max(24px, calc((100% - 1200px) / 2)); display: grid; grid-template-columns: 1.05fr .95fr; gap: 70px; align-items: center; background: white; }.service-b .service-hero { background: var(--black); color: white; }.service-b .service-hero p { color: #aaa3b0; }.hero-copy h1 { margin: 24px 0; font-size: clamp(3.4rem, 6.8vw, 6.6rem); }.hero-copy > p { max-width: 670px; font-size: 1.1rem; }
.snapshot-strip { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.snapshot-strip div { min-height: 150px; padding: 26px; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--line); }.snapshot-strip span { color: var(--mardi); }.snapshot-strip strong { font-size: 1.15rem; }
.page-details { width: var(--shell); margin: 0 auto; padding: 110px 0; display: grid; grid-template-columns: 230px minmax(0, 800px); gap: 80px; }.page-details aside { position: sticky; top: 178px; align-self: start; display: flex; flex-direction: column; gap: 12px; }.page-details aside span { margin-bottom: 8px; color: var(--mardi); font-size: .72rem; text-transform: uppercase; }.page-details aside a { color: var(--muted); font-size: .86rem; }
.section-dark { padding: 110px max(24px, calc((100% - 1200px) / 2)); background: var(--black); color: white; }.section-dark .section-heading { width: auto; margin: 0 0 54px; }.section-dark .section-heading > span { color: var(--pear); }.delivery-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--light-line); }.delivery-grid article { min-height: 310px; padding: 28px; border-right: 1px solid var(--light-line); }.delivery-grid span { color: var(--pear); }.delivery-grid h3 { margin-top: 90px; }.delivery-grid p { color: #aaa3b0; }
.proof-panel { display: grid; grid-template-columns: 1.1fr .9fr; min-height: 560px; }.proof-art { position: relative; display: grid; place-items: center; background: var(--violet); color: white; overflow: hidden; }.proof-art > span { z-index: 1; font-size: .74rem; letter-spacing: .12em; }.proof-orbit { position: absolute; width: 380px; height: 380px; border: 90px solid var(--magenta); border-radius: 50%; }.proof-copy { padding: 70px; display: flex; flex-direction: column; justify-content: center; }.proof-copy > span { color: var(--mardi); font-size: .75rem; text-transform: uppercase; }.proof-copy h2 { margin: 22px 0; font-size: clamp(2.6rem, 4.5vw, 4.8rem); }

.simple-hero { padding: 120px max(24px, calc((100% - 1200px) / 2)); background: white; }.simple-hero.dark { background: var(--black); color: white; }.simple-hero h1 { max-width: 1000px; margin: 24px 0; }.simple-hero p { max-width: 730px; font-size: 1.15rem; }.simple-hero.dark p { color: #aaa3b0; }
.hub-grid { display: grid; grid-template-columns: repeat(2, 1fr); }.hub-card { min-height: 600px; padding: 50px max(24px, calc((100vw - 1200px) / 2)); border-top: 1px solid var(--line); border-right: 1px solid var(--line); }.hub-card > span { color: var(--mardi); font-size: .75rem; text-transform: uppercase; }.hub-card h2 { margin: 30px 0 20px; font-size: clamp(2.5rem, 4vw, 4.5rem); }.hub-card ul { columns: 2; margin: 35px 0; padding-left: 20px; color: var(--muted); }
.case-hub-grid { display: grid; grid-template-columns: repeat(2, 1fr); }.case-hub-card { display: grid; grid-template-columns: .9fr 1.1fr; min-height: 430px; border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); }.case-hub-art { min-height: 100%; padding: 24px; position: relative; overflow: hidden; background: var(--violet); color: white; }.case-hub-art i { position: absolute; width: 220px; height: 220px; right: -50px; bottom: -70px; border: 55px solid var(--magenta); border-radius: 50%; }.case-hub-card > div:last-child { padding: 34px; display: flex; flex-direction: column; align-items: flex-start; }.case-hub-card > div > span { color: var(--muted); font-size: .68rem; letter-spacing: .1em; }.case-hub-card h2 { margin: auto 0 18px; font-size: 2rem; }.case-hub-card a { margin-top: auto; font-weight: 600; }
.case-detail-hero { padding: 110px max(24px, calc((100% - 1200px) / 2)) 0; background: var(--black); color: white; }.case-detail-hero h1 { max-width: 1080px; margin: 25px 0; }.case-detail-hero > p { max-width: 720px; color: #aaa3b0; }.case-meta { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 70px; border-top: 1px solid var(--light-line); }.case-meta div { min-height: 120px; padding: 22px; border-right: 1px solid var(--light-line); }.case-meta span, .case-meta strong { display: block; }.case-meta span { color: #aaa3b0; font-size: .7rem; text-transform: uppercase; }.case-meta strong { margin-top: 28px; }
.case-primary-visual { min-height: 620px; display: grid; place-items: center; background: var(--mardi); color: white; font-size: .75rem; letter-spacing: .12em; }.case-story { width: var(--shell); margin: 0 auto; padding: 110px 0; display: grid; grid-template-columns: 220px 1fr; gap: 80px; }.case-story aside { position: sticky; top: 120px; align-self: start; display: flex; flex-direction: column; gap: 12px; }.case-story aside span { color: var(--mardi); font-size: .75rem; text-transform: uppercase; }.case-story section { padding: 0 0 90px; }.case-story section > span { color: var(--mardi); }.case-story section h2 { margin: 15px 0; }.system-flow { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-top: 30px; }.system-flow span { padding: 16px 20px; background: var(--violet); color: white; }.result-placeholders { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }.result-placeholders div { padding: 30px; border-right: 1px solid var(--line); font-size: 2.6rem; }.result-placeholders small { display: block; margin-top: 8px; color: var(--muted); font-size: .72rem; }
.contact-hero { padding: 100px max(24px, calc((100% - 1200px) / 2)); display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; align-items: start; }.contact-hero h1 { margin: 24px 0; font-size: clamp(3.7rem, 6.8vw, 6.8rem); }.contact-hero > div > p { font-size: 1.1rem; }.contact-promises { margin-top: 44px; border-top: 1px solid var(--line); }.contact-promises div { display: grid; grid-template-columns: 40px 1fr; gap: 12px; padding: 18px 0; border-bottom: 1px solid var(--line); }.contact-form { padding: 42px; background: var(--violet); color: white; box-shadow: var(--shadow); }.contact-form h2 { font-size: 2.5rem; }.contact-form .button { margin-top: 26px; }.contact-details { padding: 110px max(24px, calc((100% - 1200px) / 2)); display: grid; grid-template-columns: 1fr 1fr; gap: 80px; background: var(--black); color: white; }.contact-details > div > span { color: var(--pear); font-size: .75rem; text-transform: uppercase; }.contact-details h2 { margin: 22px 0; }.contact-details ol { padding-left: 22px; }.contact-details li { padding: 16px 0; border-bottom: 1px solid var(--light-line); }.contact-details li p { margin: 5px 0 0; color: #aaa3b0; }.global-contact { padding: 38px; background: var(--violet); }.global-contact h3 { margin-top: 22px; font-size: 2.5rem; }.global-contact p { color: #cfc5d8; }.global-contact div { display: flex; flex-wrap: wrap; gap: 8px; }.global-contact div span { padding: 8px 10px; border: 1px solid var(--light-line); font-size: .75rem; }
.product-hero { padding: 110px max(24px, calc((100% - 1200px) / 2)); display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: center; }.product-hero img { width: 230px; margin: 24px 0; }.product-hero h1 { margin: 24px 0; font-size: clamp(3.4rem, 6vw, 6rem); }.product-hero .button { margin-top: 20px; }.channel-flow { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 260px; }.channel-flow span { padding: 18px 20px; background: var(--violet); color: white; }.product-capabilities { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--black); color: white; }.product-capabilities div { min-height: 350px; padding: 38px; border-right: 1px solid var(--light-line); }.product-capabilities span { color: var(--pear); }.product-capabilities h2 { margin-top: 100px; font-size: 2.5rem; }.product-capabilities p { color: #aaa3b0; }
.editorial-grid { display: grid; grid-template-columns: repeat(3, 1fr); }.editorial-grid article { min-height: 460px; padding: 40px; border-top: 1px solid var(--line); border-right: 1px solid var(--line); }.editorial-grid span { color: var(--mardi); }.editorial-grid h2 { margin-top: 120px; font-size: 2.6rem; }
