/* 1536px composition: laptop gutters approximately half the 1920-based treatment. */
@media (min-width:721px) and (max-width:1535px){html{font-size:1.041667vw}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0vw; background: rgb(250, 249, 251); color: rgb(33, 29, 39); font-family: Montserrat, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible { outline: rgb(169, 124, 204) solid 0.195312vw; outline-offset: 0.325521vw; }
img { max-width: 100%; display: block; }
header { max-width: 93.75vw; margin: auto; height: 7.03125vw; padding: 0vw 6%; display: flex; align-items: center; justify-content: space-between; gap: 2.083333vw; border-bottom: 0.065104vw solid rgb(230, 226, 233); }
.brand { width: 10.677083vw; flex-shrink: 0; }
.brand img { width: 100%; height: 4.036458vw; object-fit: contain; }
nav { display: flex; align-items: center; gap: 2.213542vw; font-size: 0.78125vw; font-weight: 600; }
nav > a:hover { color: rgb(119, 43, 154); }
.nav-contact { background: rgb(240, 235, 245); padding: 0.976562vw 1.302083vw; border-radius: 1.953125vw; }
.nav-contact span { margin-left: 1.302083vw; }
.menu { display: none; }
.skip { position: absolute; top: -6.510417vw; }
.skip:focus { top: 0.651042vw; background: white; padding: 0.651042vw; z-index: 100; }
.hero { max-width: 93.75vw; margin: auto; display: grid; grid-template-columns: 1.1fr 1fr; padding: 4.557292vw 6% 4.231771vw; gap: 3.255208vw; align-items: center; }
.eyebrow { font-size: 0.651042vw; letter-spacing: 0.104167vw; font-weight: 650; display: block; margin-bottom: 1.627604vw; color: rgb(34, 34, 34); }
.dot { width: 0.455729vw; height: 0.455729vw; background: rgb(116, 50, 152); display: inline-block; border-radius: 50%; margin-right: 0.520833vw; }
h1, h2, h3, p { margin-top: 0vw; }
h1 { font-size: clamp(2.994792vw, 4.9vw, 4.817708vw); line-height: 1.04; letter-spacing: -0.221354vw; font-weight: 650; margin-bottom: 1.692708vw; }
em { font-style: normal; color: rgb(116, 50, 152); }
h2 { font-size: clamp(2.083333vw, 3.3vw, 3.125vw); letter-spacing: -0.123698vw; line-height: 1.15; font-weight: 600; margin-bottom: 1.302083vw; }
h2 > span { color: rgb(140, 84, 173); }
p { font-size: 0.911458vw; line-height: 1.85; color: rgb(34, 34, 34); }
.hero-copy > p { max-width: 29.947917vw; }
.hero-actions { display: flex; gap: 1.627604vw; align-items: center; margin-top: 1.953125vw; }
.button { display: inline-flex; justify-content: space-between; align-items: center; gap: 1.5625vw; background: rgb(109, 43, 141); color: white; padding: 1.171875vw 1.5625vw; border: 0vw; border-radius: 0.390625vw; font-size: 0.78125vw; font-weight: 600; cursor: pointer; transition: background 0.2s, transform 0.2s; }
.button:hover { background: rgb(84, 32, 104); transform: translateY(-0.130208vw); }
.text-link { font-size: 0.78125vw; font-weight: 650; display: inline-block; }
.text-link span { padding-left: 0.651042vw; }
.text-link:hover { color: rgb(117, 51, 148); }
.hero-proof { display: flex; align-items: center; gap: 1.757812vw; margin-top: 2.864583vw; }
.hero-proof > span { font-size: 0.585938vw; color: rgb(34, 34, 34); padding-right: 1.757812vw; border-right: 0.065104vw solid rgb(221, 214, 226); }
.hero-proof > span:last-child { border: 0vw; padding-right: 0vw; line-height: 1.6; }
.hero-proof b { display: block; font-size: 1.627604vw; font-weight: 600; color: rgb(48, 36, 54); margin-bottom: 0.325521vw; }
.hero-proof strong { color: rgb(34, 34, 34); font-weight: 600; }
.hero-art { height: 33.463542vw; background: rgb(230, 220, 235); position: relative; border-radius: 0.651042vw; overflow: hidden; isolation: isolate; }
.hero-art::before { content: ""; position: absolute; width: 29.296875vw; height: 29.296875vw; border: 0.065104vw solid rgb(196, 174, 207); border-radius: 50%; left: 5.208333vw; top: 6.510417vw; box-shadow: rgba(214, 199, 224, 0.23) 0vw 0vw 0vw 2.929688vw, rgba(214, 199, 224, 0.2) 0vw 0vw 0vw 5.859375vw; }
.art-label { position: absolute; top: 1.627604vw; left: 1.757812vw; font-size: 0.520833vw; letter-spacing: 0.130208vw; color: rgb(124, 99, 138); }
.big-mark { position: absolute; width: 22.135417vw; left: -3.580729vw; top: 11.393229vw; transform: rotate(-15deg); opacity: 0.35; }
.big-mark img { width: 42.317708vw; max-width: none; }
.design-card { position: absolute; left: 23%; top: 15%; width: 67%; height: 71%; background: rgb(252, 250, 252); transform: rotate(-7deg); border: 0.065104vw solid rgb(254, 252, 255); box-shadow: rgba(80, 40, 108, 0.145) 0.846354vw 1.627604vw 2.278646vw; padding: 1.692708vw; border-radius: 0.325521vw; }
.design-top { display: flex; justify-content: space-between; font-size: 0.455729vw; letter-spacing: 0.032552vw; }
.design-top > span:last-child { font-size: 1.302083vw; }
.design-title { font-size: clamp(2.018229vw, 3.8vw, 3.580729vw); line-height: 1.13; letter-spacing: -0.130208vw; font-weight: 750; margin-top: 2.278646vw; }
.design-title span { color: rgb(123, 71, 153); }
.design-bottom { font-size: 0.455729vw; line-height: 1.6; letter-spacing: 0.084635vw; margin-top: 1.627604vw; color: rgb(34, 34, 34); }
.floating-label { position: absolute; bottom: 5.533854vw; left: 1.302083vw; background: rgb(48, 34, 56); color: white; padding: 1.106771vw 1.432292vw; transform: rotate(4deg); font-size: 0.716146vw; box-shadow: rgba(48, 34, 56, 0.125) 0vw 0.520833vw 1.171875vw; }
.floating-label .dot { background: rgb(188, 145, 217); }
.art-bottom { position: absolute; bottom: 1.432292vw; left: 1.692708vw; right: 1.692708vw; display: flex; justify-content: space-between; font-size: 0.520833vw; color: rgb(130, 111, 143); }
.reference-strip { max-width: 82.552083vw; margin: 0vw auto; padding: 2.278646vw 0vw 2.864583vw; display: flex; gap: 1.953125vw; align-items: center; border-bottom: 0.065104vw solid rgb(230, 225, 233); }
.reference-label { min-width: 10.416667vw; }
.reference-label .eyebrow { font-size: 0.520833vw; margin-bottom: 0.520833vw; }
.reference-label p { font-size: 0.716146vw; line-height: 1.6; margin-bottom: 0vw; }
.logos { display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; gap: 2.604167vw; flex: 1 1 0%; }
.logos > div { height: 5.859375vw; display: flex; align-items: center; justify-content: center; }
.logos img { max-height: 5.208333vw; max-width: 10.091146vw; object-fit: contain; filter: grayscale(1); opacity: 0.65; transition: 0.2s; }
.logos img:hover { filter: none; opacity: 1; }
.reference-strip > .text-link { font-size: 0.651042vw; }
.section { max-width: 93.75vw; margin: auto; padding: 6.25vw 6%; }
.section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.953125vw; margin-bottom: 2.604167vw; }
.section-head .eyebrow { margin-bottom: 1.041667vw; }
.section-head h2 { margin-bottom: 0vw; }
.section-head > p { font-size: 0.78125vw; line-height: 1.85; margin-bottom: 0vw; }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.976562vw; }
.service { background: rgb(240, 237, 243); border: 0.065104vw solid rgb(230, 224, 235); padding: 1.757812vw 1.692708vw 1.302083vw; min-height: 14.778646vw; transition: background 0.2s, transform 0.2s, color 0.2s; border-radius: 0.325521vw; }
.service:hover { background: rgb(110, 43, 141); color: white; transform: translateY(-0.260417vw); }
.service-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.822917vw; }
.service-icon { font-size: 1.822917vw; color: rgb(121, 71, 149); line-height: 1; }
.small-arrow { font-size: 1.432292vw; opacity: 0.5; }
.service h3 { font-size: 1.106771vw; font-weight: 600; letter-spacing: -0.026042vw; margin-bottom: 0.651042vw; }
.service p { font-size: 0.716146vw; margin-bottom: 1.432292vw; }
.service-bottom { display: flex; justify-content: space-between; border-top: 0.065104vw solid rgb(221, 212, 227); padding-top: 0.846354vw; font-size: 0.585938vw; font-weight: 600; }
.service:hover p, .service:hover .service-icon { color: rgb(234, 216, 244); }
.service:hover .service-bottom { border-color: rgb(154, 105, 177); }
.works { background: rgb(243, 240, 245); max-width: none; }
.works > * { max-width: 82.552083vw; margin-left: auto; margin-right: auto; }
.work-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 1.627604vw; }
.work-image, .web-art { height: 22.460938vw; position: relative; border-radius: 0.390625vw; overflow: hidden; background: rgb(48, 37, 54); }
.work-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.35s; }
.work:hover .work-image img { transform: scale(1.025); }
.project-tag { position: absolute; bottom: 1.041667vw; left: 1.041667vw; background: rgba(255, 255, 255, 0.93); color: rgb(53, 37, 62); border-radius: 0.195312vw; font-size: 0.455729vw; font-weight: 600; letter-spacing: 0.039062vw; padding: 0.520833vw 0.651042vw; }
.work-caption { display: flex; justify-content: space-between; align-items: center; margin-top: 1.302083vw; }
.work-caption small { font-size: 0.520833vw; letter-spacing: 0.065104vw; color: rgb(34, 34, 34); }
.work-caption h3 { font-size: 1.106771vw; font-weight: 600; letter-spacing: -0.019531vw; margin: 0.520833vw 0vw 0vw; }
.work-caption > span { font-size: 1.822917vw; color: rgb(114, 64, 142); }
.web-art { background: rgb(216, 212, 217); padding: 2.929688vw 1.5625vw; }
.mini-browser { background: rgb(248, 247, 243); box-shadow: rgba(41, 32, 44, 0.19) 0vw 0.976562vw 2.278646vw; transform: rotate(5deg); height: 16.601562vw; overflow: hidden; border-radius: 0.390625vw; }
.browser-bar { display: flex; align-items: center; gap: 0.260417vw; background: rgb(237, 233, 238); height: 1.627604vw; padding: 0.520833vw; }
.browser-bar i { width: 0.260417vw; height: 0.260417vw; border-radius: 50%; background: rgb(172, 158, 174); }
.browser-bar span { font-size: 0.390625vw; margin-left: 0.976562vw; color: rgb(34, 34, 34); }
.mini-site { position: relative; padding: 1.627604vw; }
.mini-site > span { font-size: 0.390625vw; letter-spacing: 0.065104vw; }
.mini-site h3 { position: relative; z-index: 1; margin: 1.627604vw 0vw 1.302083vw; font-size: 1.888021vw; font-weight: 550; line-height: 1.05; letter-spacing: -0.065104vw; }
.mini-button { background: rgb(48, 34, 56); color: white; width: 8.138021vw; padding: 0.585938vw; font-size: 0.390625vw; position: relative; z-index: 1; }
.art-orbit { position: absolute; width: 10.416667vw; height: 10.416667vw; background: rgb(163, 141, 179); border-radius: 50%; top: 2.929688vw; right: -2.929688vw; box-shadow: rgba(73, 52, 81, 0.44) -1.302083vw -0.651042vw 1.953125vw inset; }
.approach { max-width: 93.75vw; margin: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 7.161458vw; padding: 6.184896vw 6%; }
.approach > div > p { max-width: 24.739583vw; font-size: 0.78125vw; }
.steps { padding-top: 1.627604vw; }
.steps article { display: flex; gap: 1.953125vw; border-bottom: 0.065104vw solid rgb(227, 220, 231); padding: 1.822917vw 0vw; }
.steps article > span { color: rgb(153, 116, 174); font-size: 0.716146vw; }
.steps h3 { font-size: 1.041667vw; font-weight: 600; margin-bottom: 0.651042vw; }
.steps p { font-size: 0.716146vw; margin-bottom: 0vw; max-width: 22.135417vw; }
.cta { background: rgb(46, 34, 53); color: white; max-width: 82.552083vw; margin: 0vw auto 5.208333vw; padding: 3.580729vw 3.90625vw; display: grid; grid-template-columns: 1fr auto; position: relative; border-radius: 0.455729vw; overflow: hidden; }
.cta .eyebrow { color: rgb(188, 163, 201); font-size: 0.585938vw; }
.cta h2 { font-size: 2.799479vw; letter-spacing: -0.110677vw; }
.cta h2 span { color: rgb(185, 135, 215); }
.cta p { font-size: 0.716146vw; color: rgb(180, 167, 189); margin-bottom: 0vw; }
.round-link { width: 6.184896vw; height: 6.184896vw; border-radius: 50%; background: rgb(179, 140, 201); color: rgb(48, 34, 55); display: flex; align-items: center; justify-content: center; font-size: 2.929688vw; align-self: center; grid-row: span 2; transition: transform 0.2s; }
.round-link:hover { transform: rotate(45deg); }
footer { max-width: 93.75vw; padding: 0vw 6% 1.5625vw; margin: auto; }
.footer-top { display: flex; align-items: center; gap: 3.255208vw; padding: 1.953125vw 0vw 2.929688vw; }
.footer-top img { width: 9.309896vw; height: 3.580729vw; object-fit: contain; }
.footer-top p { font-size: 0.651042vw; margin-bottom: 0vw; }
.footer-top > a { margin-left: auto; font-size: 0.716146vw; }
.footer-bottom { display: flex; justify-content: space-between; padding-top: 1.432292vw; border-top: 0.065104vw solid rgb(230, 224, 233); font-size: 0.520833vw; color: rgb(34, 34, 34); }
.page-intro { max-width: 93.75vw; padding: 5.533854vw 6% 3.255208vw; margin: auto; }
.page-intro h1 { max-width: 61.848958vw; }
.page-intro p { max-width: 44.270833vw; }
.compact { padding-top: 1.302083vw; }
.service-hero { max-width: 93.75vw; padding: 5.533854vw 6%; display: grid; grid-template-columns: 1.4fr 1fr; gap: 4.557292vw; margin: auto; align-items: center; }
.service-hero h1 { font-size: 4.231771vw; }
.service-hero p { max-width: 40.364583vw; }
.service-symbol { aspect-ratio: 1 / 1; background: rgb(232, 220, 237); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11.71875vw; color: rgb(122, 59, 155); }
.service-detail { max-width: 93.75vw; margin: auto; padding: 1.953125vw 6% 5.208333vw; display: grid; grid-template-columns: 1fr 1fr; gap: 5.859375vw; }
.service-detail p { max-width: 26.041667vw; font-size: 0.78125vw; }
.service-detail ol { list-style: none; padding: 0vw; margin: 0vw; }
.service-detail li { border-bottom: 0.065104vw solid rgb(223, 215, 229); padding: 1.627604vw 0vw; display: flex; align-items: center; gap: 1.953125vw; font-size: 0.911458vw; font-weight: 550; }
.service-detail li span { font-size: 0.651042vw; color: rgb(155, 115, 177); }
.service-note { max-width: 82.552083vw; background: rgb(238, 231, 242); padding: 2.604167vw; margin: 0vw auto 4.557292vw; }
.service-note h3 { font-size: 1.497396vw; }
.service-note p { max-width: 50.78125vw; font-size: 0.78125vw; margin-bottom: 0vw; }
.reference-page .logos { gap: 1.953125vw; }
.reference-page .logos > div { height: 13.020833vw; background: rgb(238, 234, 241); border-radius: 0.390625vw; }
.reference-page .logos img { max-width: 13.671875vw; max-height: 8.463542vw; filter: none; opacity: 1; }
.muted { font-size: 0.716146vw; color: rgb(34, 34, 34); margin-top: 1.5625vw; }
.project-image { max-width: 82.552083vw; margin: 0vw auto 3.90625vw; }
.project-image img { width: 100%; border-radius: 0.455729vw; }
.project-copy { max-width: 71.614583vw; margin: 0vw auto; padding: 0.651042vw 5% 5.208333vw; display: grid; grid-template-columns: 1fr 1fr; gap: 4.231771vw; }
.project-copy p { font-size: 0.846354vw; }
.single { grid-template-columns: 1fr; max-width: 52.083333vw; }
.single .web-art { height: 32.552083vw; padding: 4.557292vw; }
.single .mini-browser { height: 22.786458vw; }
.single .mini-site h3 { font-size: 3.580729vw; }
.about-stats { max-width: 82.552083vw; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.627604vw; margin: 0vw auto 5.208333vw; padding: 2.929688vw; background: rgb(238, 231, 243); }
.about-stats b { font-size: 4.231771vw; font-weight: 550; display: block; color: rgb(121, 61, 151); }
.about-stats span { font-size: 0.78125vw; }
.contact-layout { max-width: 93.75vw; margin: auto; padding: 5.208333vw 6% 6.510417vw; display: grid; grid-template-columns: 1.1fr 1fr; gap: 5.859375vw; }
.contact-layout h1 { font-size: 4.036458vw; }
.contact-layout > div > p { font-size: 0.78125vw; }
.contact-email { display: block; font-size: 1.106771vw; font-weight: 600; margin-top: 2.278646vw; }
.contact-phone { display: block; margin-top: 1.171875vw; font-size: 0.911458vw; }
.contact-layout form { background: rgb(238, 233, 242); padding: 2.278646vw; border-radius: 0.455729vw; }
label { display: block; font-size: 0.651042vw; font-weight: 600; margin-bottom: 1.171875vw; }
input, select, textarea { display: block; width: 100%; border-width: medium medium 0.065104vw; border-style: none none solid; border-color: currentcolor currentcolor rgb(207, 195, 216); border-image: none; background: transparent; padding: 0.78125vw 0vw; font-size: 0.78125vw; color: rgb(50, 39, 59); outline: none; border-radius: 0vw; }
input:focus, textarea:focus, select:focus { border-color: rgb(120, 54, 156); }
textarea { resize: vertical; }
.form-note, #form-status { font-size: 0.585938vw; margin: 0.911458vw 0vw 0vw; line-height: 1.6; }
.contact-layout .button { width: 100%; }
.works { padding-left: calc(50% - 41.276042vw); padding-right: calc(50% - 41.276042vw); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}
.logos img[src$="fabrika.png"], .logos img[src$="fabrika.png"]:hover { filter: brightness(0); opacity: 0.65; }
.reference-page .logos img[src$="fabrika.png"] { opacity: 0.85; }
.hero-v2 { max-width: none; background: rgb(37, 28, 45); color: rgb(255, 255, 255); padding: 4.947917vw max(6%, -41.276042vw + 50vw) 4.557292vw; grid-template-columns: 1.1fr 1fr; gap: 3.580729vw; position: relative; overflow: hidden; }
.hero-v2::before { content: ""; position: absolute; width: 43.619792vw; height: 43.619792vw; border: 0.065104vw solid rgba(141, 103, 155, 0.133); border-radius: 50%; right: -23.4375vw; top: -25.390625vw; pointer-events: none; }
.hero-v2 .eyebrow { color: rgb(179, 155, 194); font-size: 0.585938vw; letter-spacing: 0.097656vw; }
.hero-v2 .dot { background: rgb(186, 133, 216); }
.hero-v2 h1 { font-weight: 700; font-size: clamp(2.929688vw, 4.8vw, 4.6875vw); line-height: 1.04; letter-spacing: -0.221354vw; }
.hero-v2 h1 em { color: rgb(203, 167, 224); }
.hero-v2 .hero-copy > p { color: rgb(195, 182, 204); font-size: 0.78125vw; max-width: 30.598958vw; }
.hero-v2 .button { background: rgb(196, 160, 221); color: rgb(41, 28, 52); border-radius: 0.195312vw; }
.hero-v2 .button:hover { background: rgb(223, 201, 238); }
.hero-v2 .hero-proof { margin-top: 2.278646vw; }
.hero-v2 .hero-proof b, .hero-v2 .hero-proof strong { color: rgb(238, 228, 244); }
.hero-v2 .hero-proof > span { color: rgb(157, 138, 170); border-color: rgb(99, 84, 111); }
.hero-art-v2 { height: 32.877604vw; background: rgb(55, 39, 63); border: 0.065104vw solid rgb(99, 80, 108); border-radius: 0.195312vw; overflow: visible; isolation: isolate; transform: rotate(2deg); }
.hero-art-v2::before { width: 18.880208vw; height: 18.880208vw; left: auto; right: -2.929688vw; top: 3.90625vw; border-radius: 0vw; background: linear-gradient(135deg, rgb(170, 128, 192), rgb(73, 50, 86)); border-width: medium; border-style: none; border-color: currentcolor; border-image: none; transform: rotate(25deg); box-shadow: none; z-index: -1; opacity: 0.6; }
.art-heading { display: flex; justify-content: space-between; padding: 1.627604vw 1.822917vw; border-bottom: 0.065104vw solid rgba(120, 97, 131, 0.333); font-size: 0.520833vw; letter-spacing: 0.071615vw; color: rgb(189, 166, 201); }
.art-heading > span:last-child { font-weight: 700; color: rgb(239, 227, 245); font-size: 0.846354vw; }
.brand-editorial { padding: 2.604167vw 1.627604vw 1.627604vw; position: relative; }
.brand-word { font-weight: 750; line-height: 1.05; font-size: clamp(2.539062vw, 4.6vw, 4.427083vw); letter-spacing: -0.195312vw; color: rgb(248, 242, 252); }
.brand-word.outlined { color: transparent; -webkit-text-stroke: 0.065104vw rgb(215, 194, 227); font-size: clamp(2.34375vw, 4.2vw, 3.90625vw); }
.brand-word.lilac { color: rgb(192, 149, 221); }
.art-signature { font-size: 0.455729vw; letter-spacing: 0.130208vw; color: rgb(193, 170, 204); margin-top: 1.432292vw; }
.social-stack { display: flex; gap: 0.651042vw; position: absolute; left: 1.888021vw; bottom: 4.361979vw; transform: rotate(-5deg); }
.social-stack a { height: 3.841146vw; width: 3.841146vw; background: rgb(250, 247, 252); display: flex; align-items: center; justify-content: center; border-radius: 0.78125vw; box-shadow: rgba(24, 14, 35, 0.25) 0.260417vw 0.455729vw 0vw; transition: transform 0.2s; }
.social-stack a:hover { transform: translateY(-0.455729vw); }
.social-stack img { width: 1.888021vw; height: 1.888021vw; }
.hero-art-v2 .art-bottom { color: rgb(197, 178, 208); font-size: 0.455729vw; border-top: 0.065104vw solid rgba(120, 97, 131, 0.333); padding-top: 1.106771vw; }
.hero-art-v2 .art-bottom > span:last-child { font-size: 1.5625vw; line-height: 0.6; }
.platform-band { padding: 2.213542vw max(6%, -41.276042vw + 50vw); background: rgb(234, 227, 239); display: grid; grid-template-columns: 14.973958vw 1fr; align-items: center; gap: 1.953125vw; }
.platform-intro .eyebrow { font-size: 0.455729vw; letter-spacing: 0.071615vw; margin-bottom: 0.716146vw; }
.platform-intro h2 { font-size: 1.236979vw; letter-spacing: -0.045573vw; line-height: 1.3; margin-bottom: 0vw; }
.platform-grid { display: grid; grid-template-columns: repeat(8, minmax(0vw, 1fr)); gap: 1.041667vw; }
.platform-grid a { display: flex; flex-direction: column; align-items: center; gap: 0.78125vw; font-size: 0.520833vw; font-weight: 550; }
.platform-grid img { width: 1.822917vw; height: 1.822917vw; object-fit: contain; transition: transform 0.2s; }
.platform-grid a:hover img { transform: translateY(-0.325521vw); }
.reference-strip { padding-top: 2.473958vw; padding-bottom: 2.473958vw; }
.brand-manifesto { max-width: 93.75vw; margin: auto; padding: 5.533854vw 6% 0.325521vw; }
.brand-manifesto h2 { font-size: clamp(2.213542vw, 4.3vw, 3.971354vw); line-height: 1.12; letter-spacing: -0.16276vw; max-width: 68.359375vw; }
.manifesto-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 4.557292vw; max-width: 61.848958vw; margin: 1.953125vw 0vw 0.78125vw; }
.manifesto-columns p { font-size: 0.846354vw; line-height: 1.9; }
.service { background: rgb(238, 232, 242); border: 0.065104vw solid rgb(218, 205, 228); border-radius: 0.195312vw; padding: 1.888021vw 1.757812vw 1.497396vw; }
.service:nth-child(3n+2) { background: rgb(233, 226, 237); }
.service:nth-child(3n) { background: rgb(225, 213, 233); }
.service:hover { background: rgb(100, 40, 139); }
.service-icon { display: flex; align-items: center; gap: 0.78125vw; height: 2.408854vw; color: rgb(116, 57, 149); }
.service-icon img { width: 2.018229vw; height: 2.018229vw; object-fit: contain; }
.service-icon svg { width: 2.278646vw; height: 2.278646vw; }
.service-top { margin-bottom: 2.148438vw; }
.service h3 { font-size: 1.236979vw; font-weight: 650; }
.service p { font-size: 0.78125vw; }
.service-bottom { font-size: 0.651042vw; }
.service:hover .service-icon img { filter: brightness(0) invert(1); }
.works { background: rgb(232, 224, 237); }
.works .work-image { border-radius: 0.195312vw; }
.cta { background: rgb(100, 40, 139); border-radius: 0.195312vw; }
.cta .eyebrow { color: rgb(223, 203, 234); }
.cta h2 { font-weight: 650; }
.cta p { color: rgb(224, 204, 233); }
.cta .round-link { background: rgb(227, 203, 237); }
.cta h2 span { color: rgb(212, 174, 233); }
.about-stats { background: rgb(46, 34, 53); color: rgb(211, 191, 220); }
.about-stats b { color: rgb(212, 173, 234); }
.service-symbol { background: rgb(228, 213, 238); }
.page-intro h1 { font-weight: 650; }
.service-hero h1 { font-weight: 650; }
.service-symbol-brands { gap: 1.302083vw; }
.service-symbol-brands img { width: 4.557292vw; height: 4.557292vw; object-fit: contain; }
.service-symbol-brands svg { width: 7.8125vw; height: 7.8125vw; }
.client-preview { padding-top: 2.604167vw; padding-bottom: 2.604167vw; border-bottom: 0.065104vw solid rgb(230, 225, 233); }
.client-grid { display: grid; grid-template-columns: repeat(8, minmax(0vw, 1fr)); gap: 1.5625vw 1.302083vw; isolation: isolate; }
.client-logo, .client-logo:hover { margin: 0vw; height: 6.510417vw; min-width: 0vw; padding: 0.651042vw 0.325521vw; display: flex; align-items: center; justify-content: center; background: none; border: 0vw; border-radius: 0vw; box-shadow: none; }
.client-logo img { max-width: 100%; max-height: 5.078125vw; width: auto; height: auto; object-fit: contain; opacity: 1; filter: none; mix-blend-mode: normal; }
.reference-page .client-grid { grid-template-columns: repeat(7, minmax(0vw, 1fr)); gap: 2.083333vw 1.5625vw; }
.client-grid, .reference-page .client-grid { grid-template-columns: repeat(6, minmax(0vw, 1fr)); }
.client-logo, .reference-page .client-logo { height: 7.552083vw; padding: 0.78125vw 0.260417vw; }
.client-logo img, .reference-page .client-logo img { max-height: 5.859375vw; max-width: 100%; height: auto; object-fit: contain; opacity: 1; filter: none !important; mix-blend-mode: normal !important; }
.reference-group + .reference-group { margin-top: 3.515625vw; padding-top: 2.083333vw; border-top: 0.065104vw solid rgb(222, 215, 227); }
.reference-group h2 { font-size: 1.367188vw; font-weight: 600; letter-spacing: -0.026042vw; line-height: 1.35; color: rgb(81, 69, 89); margin: 0vw 0vw 1.627604vw; }
.hero-art-v2::before { content: none; }
.abi-art-cube { position: absolute; width: 18.880208vw; height: 18.880208vw; right: -2.929688vw; top: 3.90625vw; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, rgba(170, 128, 192, 0.6), rgba(73, 50, 86, 0.6)); transform: rotate(25deg); z-index: -1; pointer-events: none; }
.abi-art-cube img { display: block; width: 44%; height: auto; opacity: 0.42; transform: rotate(-25deg); }
.hero-art-v2 .brand-editorial { padding-top: 5.859375vw; }
.platform-band { grid-template-columns: 14.973958vw minmax(0vw, 1fr); }
.platform-window { min-width: 0vw; overflow: hidden; padding: 0.78125vw 0vw; }
.platform-track { display: flex; width: max-content; animation: 42s linear 0s infinite normal none running platform-flow; }
.platform-track .platform-grid { display: flex; flex: 0 0 auto; gap: 0vw; grid-template-columns: none; }
.platform-track .platform-grid a { flex: 0 0 7.291667vw; width: 7.291667vw; gap: 0.976562vw; font-size: 0.846354vw; font-weight: 600; line-height: 1.35; white-space: nowrap; }
.platform-track .platform-grid img { width: 1.953125vw; height: 1.953125vw; object-fit: contain; }
.platform-window:hover .platform-track, .platform-window:focus-within .platform-track { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) {
  .platform-track { animation: auto ease 0s 1 normal none running none; }
  .platform-window { overflow-x: auto; }
  .platform-track .platform-grid[aria-hidden] { display: none; }
}
.platform-band { padding-top: 1.041667vw; padding-bottom: 1.041667vw; grid-template-columns: 13.671875vw minmax(0vw, 1fr); gap: 1.5625vw; }
.platform-intro h2 { font-size: 1.171875vw; line-height: 1.3; margin: 0vw; letter-spacing: -0.026042vw; }
.platform-window { padding: 0.130208vw 0vw; }
.platform-track { animation-duration: 58s; }
.platform-track .platform-grid a { gap: 0.520833vw; }
.platform-band { grid-template-columns: minmax(0vw, 1fr); gap: 0vw; }
.platform-track .platform-grid a { font-size: 0.716146vw; }
.hero-abi-signature { position: absolute; left: 1.888021vw; bottom: 4.427083vw; width: 12.369792vw; line-height: 0; }
.hero-abi-signature img { display: block; width: 100%; height: auto; }
.hero-abi-signature { left: 1.888021vw; right: 1.888021vw; bottom: 4.752604vw; width: auto; display: flex; align-items: center; gap: 1.432292vw; line-height: 1.4; }
.hero-abi-signature img { width: 8.138021vw; flex: 0 0 auto; height: auto; }
.abi-tagline { border-left: 0.065104vw solid rgba(185, 155, 205, 0.333); padding-left: 1.432292vw; display: flex; flex-direction: column; gap: 0.455729vw; }
.abi-tagline strong { font-size: 1.106771vw; font-weight: 550; letter-spacing: -0.032552vw; color: rgb(245, 237, 249); line-height: 1.25; }
.abi-tagline span { font-size: 0.651042vw; letter-spacing: 0.016276vw; font-weight: 400; color: rgb(201, 168, 220); line-height: 1.4; }
.hero-abi-signature { left: 1.888021vw; right: auto; bottom: 4.6875vw; width: 12.369792vw; display: block; transform: rotate(-7deg); transform-origin: center center; }
.hero-abi-signature img { width: 100%; height: auto; }
.abi-name { margin-top: 0.78125vw; font-size: 0.911458vw; font-weight: 400; letter-spacing: 0.013021vw; line-height: 1.4; color: rgb(207, 184, 220); text-align: center; white-space: nowrap; }
.abi-name b { font-weight: 800; color: rgb(255, 255, 255); }
.abi-cube-check { width: 40%; height: 40%; color: rgb(234, 220, 242); opacity: 0.7; transform: rotate(-27deg); }
.hero-abi-signature { transform: rotate(-2deg); bottom: 2.734375vw; }
.client-preview .section-head h2, .client-preview .section-head h2 > span { color: rgb(100, 44, 145); }
.hero-art-v2 .art-bottom-line { bottom: 2.473958vw; padding: 0vw; height: 0vw; border-top: 0.065104vw solid rgba(120, 97, 131, 0.333); }
.hero-abi-signature { bottom: 4.427083vw; }
.abi-art-cube { background: linear-gradient(135deg, rgba(170, 128, 192, 0.267), rgba(73, 50, 86, 0.2)); border: 0.065104vw solid rgba(198, 164, 211, 0.16); }
.hero-abi-signature { width: 10.091146vw; left: 1.888021vw; right: auto; bottom: 4.427083vw; transform: rotate(-2deg); }
.hero-principles { position: absolute; left: 1.888021vw; right: 1.888021vw; bottom: 4.166667vw; color: rgb(209, 203, 213); font-size: 0.651042vw; font-weight: 500; letter-spacing: 0.097656vw; line-height: 1.6; display: flex; align-items: center; gap: 0.651042vw; white-space: nowrap; }
.hero-principles span { color: rgb(158, 138, 169); }
.hero-wire-ribbon { position: absolute; inset: 1.627604vw 0vw auto; width: 100%; height: calc(100% - 7.8125vw); object-fit: fill; pointer-events: none; z-index: 0; }
.hero-art-v2 .brand-editorial, .hero-principles, .hero-art-v2 .art-bottom-line { z-index: 1; }
.hero-abi-dots { position: absolute; left: 1.888021vw; bottom: 6.835938vw; display: grid; grid-template-columns: repeat(6, 0.390625vw); grid-template-rows: repeat(5, 0.390625vw); gap: 0.78125vw; pointer-events: none; }
.hero-abi-dots i { display: block; width: 0.390625vw; height: 0.390625vw; border-radius: 50%; background: rgb(185, 154, 204); opacity: 0.75; }
.hero-v2 .hero-copy > p { font-size: 0.911458vw; line-height: 1.8; max-width: 35.15625vw; }
.hero-abi-dots { width: 18.75vw; max-width: calc(100% - 3.776042vw); grid-template-columns: repeat(18, 0.390625vw); column-gap: 0vw; justify-content: space-between; }
#contact-form { scroll-margin-top: 1.5625vw; }
.hero-v2 .hero-proof { gap: 0.911458vw; }
.hero-v2 .hero-proof > span { padding-right: 0.911458vw; }
.hero-v2 .hero-proof > span:last-child { padding-right: 0vw; }
.hero-v2 .hero-proof { align-items: flex-start; }
.hero-v2 .hero-proof > span { display: flex; flex-direction: column; align-items: center; text-align: center; line-height: 1.6; }
.hero-v2 .hero-proof b { line-height: 1.2; margin-bottom: 0.325521vw; }
.hero-art-v2 { height: 27.34375vw; width: 96%; justify-self: center; }
.hero-art-v2 .brand-editorial { padding-top: 3.125vw; }
.hero-art-v2 .brand-word { font-size: clamp(2.734375vw, 5vw, 4.817708vw); }
.hero-art-v2 .brand-word.outlined { font-size: clamp(2.473958vw, 4.55vw, 4.361979vw); }
.abi-art-cube { width: 16.276042vw; height: 16.276042vw; right: -1.627604vw; top: 3.125vw; }
.hero-art-v2.hero-six-words { height: auto; min-height: 0vw; container-type: inline-size; }
.hero-art-v2.hero-six-words .brand-editorial { padding: 2.083333vw 1.627604vw 4.427083vw; }
.hero-art-v2.hero-six-words .brand-word { font-size: clamp(1.822917vw, 11cqw, 3.580729vw); line-height: 1.13; letter-spacing: -0.117188vw; white-space: nowrap; }
.hero-art-v2.hero-six-words .brand-strategy { font-weight: 650; letter-spacing: 0vw; -webkit-text-stroke: 0.045573vw rgb(215, 194, 227); }
.hero-v2 .hero-copy > h1 { margin-left: -0.260417vw; }
header { position: relative; z-index: 30; }
.services-menu > summary { display: flex; align-items: center; gap: 0.520833vw; cursor: pointer; list-style: none; padding: 1.171875vw 0vw; }
.services-menu > summary::-webkit-details-marker { display: none; }
.services-menu > summary:focus-visible { outline: rgb(169, 124, 204) solid 0.195312vw; outline-offset: 0.325521vw; }
.services-menu[open] > summary { color: rgb(100, 44, 145); }
.services-menu[open] > summary svg { transform: rotate(180deg); }
.mega-panel { position: absolute; top: calc(100% - 0.065104vw); left: 6%; right: 6%; padding: 1.692708vw; background: rgb(250, 248, 252); border-width: 0.195312vw 0.065104vw 0.065104vw; border-style: solid; border-color: rgb(100, 44, 145) rgb(227, 217, 235) rgb(227, 217, 235); border-image: none; border-radius: 0vw 0vw 0.78125vw 0.78125vw; box-shadow: rgba(36, 19, 46, 0.15) 0vw 1.5625vw 3.255208vw; color: rgb(48, 36, 56); }
.mega-heading { display: flex; justify-content: space-between; align-items: center; gap: 1.302083vw; padding: 0vw 0.520833vw 1.302083vw; border-bottom: 0.065104vw solid rgb(230, 222, 235); margin-bottom: 0.78125vw; font-size: 0.78125vw; }
.mega-heading > span { color: rgb(34, 34, 34); font-weight: 500; }
.mega-heading > a { color: rgb(100, 44, 145); white-space: nowrap; }
.mega-grid { display: grid; grid-template-columns: repeat(3, minmax(0vw, 1fr)); gap: 0.325521vw 0.78125vw; }
.mega-service { display: grid; grid-template-columns: 4.947917vw 1fr 0.78125vw; align-items: center; gap: 0.78125vw; padding: 1.236979vw 0.78125vw; border-radius: 0.455729vw; transition: background 0.2s; }
.mega-service:hover, .mega-service:focus-visible { background: rgb(237, 229, 243); }
.mega-icon { display: flex; align-items: center; justify-content: center; gap: 0.260417vw; color: rgb(100, 44, 145); }
.mega-icon img { width: 1.497396vw; height: 1.692708vw; object-fit: contain; }
.mega-icon svg { width: 1.953125vw; height: 1.953125vw; }
.mega-service strong { display: block; font-size: 0.78125vw; line-height: 1.4; font-weight: 650; }
.mega-service small { display: block; margin-top: 0.390625vw; color: rgb(34, 34, 34); font-size: 0.651042vw; line-height: 1.5; font-weight: 400; }
.mega-arrow { color: rgb(155, 126, 174); font-size: 0.911458vw; }
.client-preview .client-grid { grid-template-columns: repeat(8, minmax(0vw, 1fr)); gap: 1.302083vw 0.911458vw; }
.brand-manifesto h2 { font-size: clamp(1.627604vw, 2.6vw, 2.473958vw); line-height: 1.2; letter-spacing: -0.084635vw; }
.hero-art-v2.hero-six-words .brand-word.outlined { font-family: ABIOutline, Montserrat, sans-serif; }
.client-preview .section-head h2 { font-size: clamp(1.627604vw, 2.6vw, 2.473958vw); line-height: 1.2; letter-spacing: -0.084635vw; }
.service-banners { gap: 1.5625vw; }
.service-banners .service-banner { padding: 0vw; overflow: hidden; display: flex; flex-direction: column; background: rgb(52, 37, 62); border: 0.065104vw solid rgb(87, 66, 96); border-radius: 0.520833vw; color: rgb(255, 255, 255); transition: transform 0.2s, box-shadow 0.2s; }
.service-banners .service-banner:hover { background: rgb(52, 37, 62); transform: translateY(-0.325521vw); box-shadow: rgba(50, 24, 63, 0.133) 0vw 0.911458vw 1.953125vw; }
.service-visual { overflow: hidden; aspect-ratio: 400 / 245; background: rgb(53, 40, 62); }
.service-visual > img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; }
.service-banner:hover .service-visual > img { transform: scale(1.035); }
.service-banner-copy { padding: 1.497396vw 1.5625vw 1.302083vw; flex: 1 1 0%; display: flex; flex-direction: column; }
.service-banners .service h3 { color: rgb(250, 246, 252); font-size: 1.236979vw; line-height: 1.3; margin-bottom: 0.651042vw; letter-spacing: -0.026042vw; }
.service-banners .service p { color: rgb(208, 191, 217); font-size: 0.78125vw; line-height: 1.7; margin-bottom: 1.497396vw; }
.service-banners .service-bottom { margin-top: auto; color: rgb(224, 194, 239); padding-top: 0.976562vw; border-top: 0.065104vw solid rgba(121, 91, 138, 0.4); font-size: 0.651042vw; }
@media (prefers-reduced-motion: reduce) {
  .service-banners .service-banner, .service-visual > img { transition: none; }
}
.service-title { display: flex; align-items: center; gap: 0.78125vw; margin-bottom: 0.78125vw; }
.service-banners .service-title h3 { margin-bottom: 0vw; }
.service-title-icon { flex: 0 0 2.34375vw; width: 2.34375vw; height: 2.34375vw; display: flex; align-items: center; justify-content: center; color: rgb(212, 175, 233); }
.service-title-icon img, .service-title-icon svg { width: 1.953125vw; height: 1.953125vw; object-fit: contain; filter: none !important; }
.service-title-icon img ~ img { display: none; }
.client-preview .client-logo img { transform: scale(0.82); transform-origin: center center; }
.client-preview .client-logo { height: 6.510417vw; }
.hero-v2 > .platform-band { grid-column: 1 / -1; background: rgb(55, 39, 63); color: rgb(238, 226, 245); margin: 0vw calc(-1 * max(6vw, -41.276042vw + 50vw)); padding: 0.976562vw max(6vw, -41.276042vw + 50vw); border-top: 0.065104vw solid rgba(255, 255, 255, 0.08); min-width: 0vw; }
.hero-v2 .platform-grid a { color: rgb(238, 226, 245); }
.hero-v2 .platform-grid img[src$="/nextjs.svg"] { filter: brightness(0) invert(1); }
#usluge .section-head h2 { font-size: clamp(1.627604vw, 2.6vw, 2.473958vw); line-height: 1.2; letter-spacing: -0.084635vw; }
#usluge .section-head h2 em { color: rgb(100, 44, 145); }
.hero-art-v2.hero-six-words .brand-editorial { padding-bottom: 7.291667vw; }
.hero-art-v2 .art-bottom-line { bottom: 5.664062vw; }
.hero-art-v2 > .platform-band { position: absolute; left: 1.627604vw; right: 1.627604vw; bottom: 0.911458vw; padding: 0.520833vw 0vw; margin: 0vw; background: linear-gradient(135deg, rgba(170, 128, 192, 0.267), rgba(73, 50, 86, 0.2)); border: 0.065104vw solid rgba(198, 164, 211, 0.16); border-radius: 0.195312vw; display: block; min-width: 0vw; z-index: 2; color: rgb(238, 226, 245); }
.hero-art-v2 .platform-track .platform-grid a { flex-basis: 5.46875vw; width: 5.46875vw; font-size: 0.585938vw; gap: 0.455729vw; }
.hero-art-v2 .platform-track .platform-grid img { width: 1.757812vw; height: 1.757812vw; }
.hero-art-v2 > .platform-band { left: 0vw; right: 0vw; bottom: 0vw; height: 5.664062vw; padding: 0vw 1.627604vw; display: flex; align-items: center; background: linear-gradient(135deg, rgba(170, 128, 192, 0.267), rgba(73, 50, 86, 0.2)); border: 0vw; border-radius: 0vw 0vw 0.130208vw 0.130208vw; }
.hero-art-v2 > .platform-band .platform-window { width: 100%; min-width: 0vw; }
.hero-art-v2 .art-bottom-line { left: 0vw; right: 0vw; bottom: 5.664062vw; }
.hero-art-v2.hero-original-strip { height: 30.598958vw; min-height: 0vw; }
.hero-art-v2.hero-original-strip .brand-editorial { padding: 4.427083vw 1.627604vw 1.627604vw; }
.hero-art-v2.hero-original-strip .brand-word { font-size: clamp(2.539062vw, 12cqw, 4.166667vw); line-height: 1.08; letter-spacing: -0.15625vw; }
.hero-art-v2.hero-original-strip > .platform-band { left: 1.627604vw; right: 1.627604vw; bottom: 4.231771vw; height: 4.947917vw; padding: 0vw 0.651042vw; transform: rotate(-5deg); background: rgb(255, 255, 255); border: 0vw; border-radius: 0.520833vw; box-shadow: rgba(24, 14, 35, 0.25) 0.260417vw 0.455729vw 0vw; }
.hero-original-strip .platform-track .platform-grid a { color: rgb(55, 39, 63); }
.hero-original-strip .platform-grid img[src$="/nextjs.svg"] { filter: none; }
.hero-art-v2.hero-original-strip .art-bottom-line { left: 1.692708vw; right: 1.692708vw; bottom: 1.953125vw; }
.brand-manifesto { display: grid; grid-template-columns: minmax(0vw, 1.65fr) minmax(0vw, 1fr); align-items: center; gap: 4.166667vw; }
.manifesto-copy { min-width: 0vw; }
.brand-manifesto .manifesto-columns { display: block; margin: 1.5625vw 0vw 1.171875vw; max-width: 41.666667vw; }
.brand-manifesto .manifesto-columns p { margin-bottom: 0.911458vw; }
.manifesto-logo { display: flex; align-items: center; justify-content: center; padding: 1.5625vw; }
.manifesto-logo img { width: 100%; max-width: 20.833333vw; height: auto; }
.hero-art-v2.hero-original-strip > .platform-band { left: 0vw; right: 0vw; bottom: 0vw; height: 5.664062vw; padding: 0vw 1.627604vw; transform: none; background: rgb(255, 255, 255); border: 0vw; border-radius: 0vw 0vw 0.130208vw 0.130208vw; box-shadow: none; }
.hero-art-v2.hero-original-strip .art-bottom-line { left: 0vw; right: 0vw; bottom: 5.664062vw; }
.service-hero { grid-template-columns: minmax(0vw, 1fr) minmax(0vw, 1fr); gap: 3.125vw; }
.service-hero-banner { width: 100%; border-radius: 0.520833vw; overflow: hidden; background: rgb(52, 37, 62); border: 0.065104vw solid rgb(87, 66, 96); box-shadow: rgba(55, 39, 63, 0.07) 0vw 1.171875vw 2.929688vw; }
.service-hero-banner img { display: block; width: 100%; height: auto; object-fit: contain; }
.service-hero h1 { font-size: clamp(2.213542vw, 3.6vw, 3.385417vw); line-height: 1.12; letter-spacing: -0.110677vw; margin-bottom: 1.171875vw; }
.service-hero .service-subtitle { font-size: clamp(1.302083vw, 1.8vw, 1.692708vw); line-height: 1.35; letter-spacing: -0.032552vw; font-weight: 600; color: rgb(100, 44, 145); margin-bottom: 1.302083vw; }
.service-visual.service-visual-final { aspect-ratio: 400 / 245; flex-shrink: 0; }
.service-visual.service-visual-final > img { display: block; width: 100%; height: 100%; object-fit: cover; transform: none; }
.service-banner:hover .service-visual-final > img { transform: scale(1.035); }
.works .section-head h2 { font-size: clamp(1.953125vw, 3vw, 2.734375vw); }
.works .work-caption h3, .blog-list .work-caption h3 { font-size: clamp(1.171875vw, 2vw, 1.627604vw); line-height: 1.35; max-width: 36.458333vw; }
.instagram-section { display: grid; grid-template-columns: 1fr 1fr; gap: 3.90625vw; align-items: center; }
.instagram-copy h2 { font-size: clamp(1.953125vw, 3vw, 2.734375vw); }
.instagram-copy p { max-width: 23.4375vw; }
.instagram-copy .button { margin-top: 0.911458vw; }
.instagram-preview { max-width: 31.25vw; width: 100%; justify-self: end; min-width: 0vw; }
.instagram-preview iframe { display: block; width: 100%; height: 30.598958vw; border: 0.065104vw solid rgb(227, 217, 234); border-radius: 0.520833vw; background: rgb(255, 255, 255); }
.instagram-preview > .text-link { margin-top: 1.041667vw; font-size: 0.716146vw; }
.blog-article { max-width: 72.916667vw; margin: auto; padding: 4.166667vw 6% 5.208333vw; }
header.blog-heading { display: block; height: auto; max-width: 53.385417vw; padding: 0vw; margin: 0vw auto 2.083333vw; border: 0vw; }
.blog-heading h1 { font-size: clamp(2.083333vw, 4vw, 3.515625vw); letter-spacing: -0.117188vw; line-height: 1.14; margin-bottom: 1.432292vw; }
.blog-lead { font-size: 1.106771vw; line-height: 1.8; }
.blog-meta { font-size: 0.716146vw; color: rgb(34, 34, 34); }
.blog-cover { margin: 2.34375vw 0vw 2.929688vw; overflow: hidden; border-radius: 0.260417vw; }
.blog-cover .work-image, .blog-cover .web-art { width: 100%; margin: 0vw; }
.blog-cover img { width: 100%; height: auto; display: block; }
.blog-body { max-width: 48.177083vw; margin: auto; }
.blog-body h2 { font-size: 1.692708vw; letter-spacing: -0.045573vw; margin: 2.604167vw 0vw 1.041667vw; line-height: 1.3; color: rgb(100, 44, 145); }
.blog-body p { font-size: 1.041667vw; line-height: 1.9; color: rgb(81, 73, 87); }
.blog-body a { color: rgb(100, 44, 145); text-decoration: underline; text-underline-offset: 0.195312vw; }
.blog-end { max-width: 48.177083vw; margin: 2.864583vw auto 0vw; padding-top: 1.692708vw; border-top: 0.065104vw solid rgb(222, 211, 229); display: flex; justify-content: space-between; align-items: center; gap: 1.302083vw; }
.contact-layout .contact-headline { font-size: clamp(2.213542vw, 3.7vw, 3.385417vw); line-height: 1.15; letter-spacing: -0.117188vw; max-width: 35.15625vw; }
.contact-location { margin-top: 1.497396vw; }
.contact-location > a { display: inline-block; font-size: 0.976562vw; font-weight: 600; line-height: 1.65; color: rgb(75, 52, 89); }
.contact-location > a span { font-size: 0.78125vw; font-weight: 400; color: rgb(34, 34, 34); }
.contact-location iframe { display: block; width: 100%; height: 16.927083vw; border: 0.065104vw solid rgb(224, 214, 231); border-radius: 0.390625vw; margin-top: 1.236979vw; }
.service-choices { margin: 0vw 0vw 1.497396vw; padding: 0vw; border: 0vw; min-width: 0vw; }
.service-choices legend { font-size: 0.78125vw; font-weight: 600; margin-bottom: 0.390625vw; }
.choice-hint { font-size: 0.716146vw; line-height: 1.5; margin: 0vw 0vw 0.78125vw; }
.service-choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.585938vw; }
#contact-form .service-choice { display: flex; align-items: center; gap: 0.585938vw; margin: 0vw; padding: 0.651042vw; border: 0.065104vw solid rgb(222, 211, 230); border-radius: 0.325521vw; cursor: pointer; font-size: 0.716146vw; line-height: 1.45; min-height: 2.994792vw; font-weight: 500; }
#contact-form .service-choice input { appearance: auto; display: block; flex: 0 0 1.041667vw; width: 1.041667vw; height: 1.041667vw; margin: 0vw; padding: 0vw; accent-color: rgb(100, 44, 145); }
#contact-form .service-choice:has(input:checked) { background: rgb(233, 222, 241); border-color: rgb(140, 84, 173); color: rgb(84, 34, 117); }
#contact-form .service-choice:focus-within { outline: rgb(169, 124, 204) solid 0.130208vw; outline-offset: 0.130208vw; }
.contact-layout > div:first-child { container-type: inline-size; }
.contact-layout .contact-headline { font-size: clamp(1.171875vw, 6cqw, 2.213542vw); line-height: 1.25; letter-spacing: -0.052083vw; max-width: none; }
.contact-layout .contact-headline > span, .contact-layout .contact-headline > em { display: block; white-space: nowrap; }
.social-page h2 { font-size: clamp(1.822917vw, 3vw, 2.604167vw); letter-spacing: -0.084635vw; }
.social-page .social-hero h1 { font-size: clamp(2.473958vw, 4vw, 3.645833vw); }
.social-page .social-hero .service-subtitle { font-size: clamp(1.497396vw, 2.5vw, 2.083333vw); line-height: 1.25; }
.social-hero > div > p { max-width: 36.458333vw; }
.social-platforms { display: flex; flex-wrap: wrap; gap: 1.041667vw 1.302083vw; margin: 1.627604vw 0vw; }
.social-platforms > span { display: flex; align-items: center; gap: 0.455729vw; font-size: 0.651042vw; font-weight: 600; }
.social-platforms img { object-fit: contain; }
.social-intro { max-width: 42.96875vw; }
.social-offerings { display: grid; grid-template-columns: repeat(3, minmax(0vw, 1fr)); gap: 1.302083vw; margin-top: 2.213542vw; }
.social-offering { padding: 1.822917vw; border: 0.065104vw solid rgb(229, 220, 233); border-radius: 0.651042vw; background: rgb(244, 239, 247); }
.social-line-icon { display: flex; width: 2.864583vw; height: 2.864583vw; align-items: center; justify-content: center; color: rgb(116, 50, 152); margin-bottom: 1.5625vw; }
.social-line-icon svg { width: 2.148438vw; height: 2.148438vw; }
.social-offering h3 { font-size: 1.106771vw; line-height: 1.4; margin-bottom: 0.78125vw; }
.social-offering p { font-size: 0.846354vw; margin-bottom: 0vw; }
.social-production { display: grid; grid-template-columns: 1fr 1fr; gap: 3.580729vw; align-items: center; }
.social-production-art { overflow: hidden; border-radius: 0.651042vw; }
.social-production-art img { width: 100%; height: auto; }
.social-production ul { padding-left: 1.171875vw; font-size: 0.846354vw; line-height: 1.8; color: rgb(81, 67, 92); }
.social-production li { margin-bottom: 0.585938vw; }
.social-small { font-size: 0.716146vw; }
.social-collab { background: rgb(55, 39, 63); color: rgb(255, 255, 255); display: grid; grid-template-columns: 1fr 1fr; gap: 3.580729vw; border-radius: 0.78125vw; }
.social-collab em { color: rgb(192, 149, 221); }
.social-collab .eyebrow { color: rgb(215, 194, 227); }
.social-collab p { color: rgb(224, 212, 231); }
.social-tags { display: flex; flex-wrap: wrap; gap: 0.585938vw; margin-top: 1.5625vw; }
.social-tags span { font-size: 0.651042vw; padding: 0.651042vw 0.78125vw; border: 0.065104vw solid rgb(121, 96, 128); border-radius: 1.953125vw; }
.social-channel-grid { display: grid; grid-template-columns: repeat(4, minmax(0vw, 1fr)); gap: 1.822917vw; margin-top: 2.34375vw; }
.social-channel-grid article { border-top: 0.065104vw solid rgb(223, 211, 230); padding-top: 1.627604vw; }
.social-channel-grid img { object-fit: contain; margin-bottom: 1.302083vw; }
.social-channel-grid h3 { font-size: 1.106771vw; }
.social-channel-grid p { font-size: 0.846354vw; }
.social-process { display: grid; grid-template-columns: 1fr 1fr; gap: 4.557292vw; background: rgb(240, 232, 245); border-radius: 0.78125vw; }
.social-process ol { list-style: none; padding: 0vw; margin: 0vw; counter-reset: steps 0; }
.social-process li { position: relative; padding-left: 2.734375vw; counter-increment: steps 1; }
.social-process li::before { content: counter(steps, decimal-leading-zero); position: absolute; left: 0vw; top: 0.130208vw; color: rgb(140, 84, 173); font-size: 0.78125vw; }
.social-process strong { font-size: 0.976562vw; }
.social-process li p { font-size: 0.846354vw; margin-top: 0.455729vw; margin-bottom: 1.497396vw; }
.social-end { text-align: center; }
.social-end p { max-width: 39.0625vw; margin: 0vw auto 1.822917vw; }
.social-end .text-link { margin: 1.171875vw 1.432292vw; }
.social-page .section { padding-top: 3.580729vw; padding-bottom: 3.580729vw; }
.social-offer-layout { display: grid; grid-template-columns: 1.05fr 1fr; gap: 4.231771vw; align-items: start; margin-top: 2.473958vw; }
.abi-team-map { background: rgb(238, 230, 243); border-radius: 0.911458vw; padding: 2.213542vw 1.627604vw; color: rgb(55, 39, 63); }
.team-brand { background: rgb(55, 39, 63); color: rgb(255, 255, 255); font-size: 1.041667vw; font-weight: 650; letter-spacing: 0.130208vw; padding: 1.236979vw; text-align: center; border-radius: 0.455729vw; width: 70%; margin: auto; }
.team-connector { width: 0.065104vw; height: 1.627604vw; background: rgb(188, 161, 205); margin: auto; }
.team-manager { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0.455729vw; background: rgb(255, 255, 255); border: 0.065104vw solid rgb(207, 185, 222); border-radius: 0.520833vw; padding: 1.236979vw 0.78125vw; }
.team-marker { font-size: 1.822917vw; line-height: 1; color: rgb(140, 84, 173); }
.team-manager strong { font-size: 1.106771vw; }
.team-manager > span:last-child { font-size: 0.651042vw; color: rgb(34, 34, 34); line-height: 1.5; }
.team-branches { display: grid; grid-template-columns: repeat(2, minmax(0vw, 1fr)); gap: 0.78125vw; position: relative; }
.team-branches > div { padding: 1.171875vw 0.651042vw; border: 0.065104vw solid rgb(212, 194, 223); border-radius: 0.455729vw; text-align: center; background: rgb(250, 247, 252); }
.team-branches strong, .team-branches span { display: block; }
.team-branches strong { font-size: 0.78125vw; line-height: 1.5; }
.team-branches span { font-size: 0.651042vw; color: rgb(34, 34, 34); margin-top: 0.325521vw; line-height: 1.5; }
.social-deliverables h3 { font-size: 1.302083vw; margin-bottom: 1.5625vw; }
.social-deliverables ul { padding: 0vw; margin: 0vw; list-style: none; }
.social-deliverables li { position: relative; border-bottom: 0.065104vw solid rgb(229, 220, 233); padding: 0vw 0vw 1.106771vw 1.822917vw; margin-bottom: 1.106771vw; }
.social-deliverables li::before { content: "✓"; position: absolute; left: 0vw; top: 0vw; color: rgb(116, 50, 152); font-size: 1.041667vw; }
.social-deliverables strong, .social-deliverables li span { display: block; }
.social-deliverables strong { font-size: 0.911458vw; margin-bottom: 0.455729vw; }
.social-deliverables li span { font-size: 0.846354vw; line-height: 1.7; color: rgb(34, 34, 34); }
.social-deliverables .social-small { font-size: 0.716146vw; line-height: 1.7; }
.abi-team-map { background: rgb(245, 241, 248); border: 0.065104vw solid rgb(229, 218, 236); border-radius: 1.302083vw; padding: 2.083333vw 1.692708vw; box-shadow: rgba(55, 39, 63, 0.024) 0vw 0.78125vw 2.34375vw; }
.team-brand { width: auto; display: table; padding: 0.78125vw 1.953125vw; background: white; color: rgb(94, 57, 117); border: 0.065104vw solid rgb(217, 200, 227); border-radius: 2.604167vw; font-size: 0.78125vw; letter-spacing: 0.130208vw; }
.team-connector { height: 1.5625vw; background: rgb(185, 158, 203); }
.team-manager { background: rgb(55, 39, 63); color: rgb(255, 255, 255); border: 0vw; border-radius: 0.78125vw; padding: 1.5625vw 1.302083vw; gap: 0.651042vw; box-shadow: rgba(55, 39, 63, 0.07) 0vw 0.520833vw 1.302083vw; }
.team-manager-label { font-size: 0.520833vw; font-weight: 600; letter-spacing: 0.117188vw; color: rgb(203, 168, 224); }
.team-manager strong { font-size: 1.302083vw; font-weight: 600; letter-spacing: -0.026042vw; }
.team-manager > span:last-child { font-size: 0.716146vw; line-height: 1.65; color: rgb(225, 212, 233); max-width: 18.229167vw; }
.team-branches { gap: 0.911458vw 1.171875vw; padding-top: 0.78125vw; }
.team-branches::before { content: ""; position: absolute; top: 0vw; left: 25%; right: 25%; height: 0.065104vw; background: rgb(185, 158, 203); }
.team-branches > div { position: relative; background: white; border: 0.065104vw solid rgb(232, 223, 238); border-radius: 0.716146vw; padding: 1.171875vw 0.651042vw 1.041667vw; box-shadow: rgba(55, 39, 63, 0.01) 0vw 0.195312vw 0.520833vw; }
.team-branches > div:nth-child(-n+2)::before { content: ""; position: absolute; top: -0.846354vw; left: 50%; width: 0.065104vw; height: 0.78125vw; background: rgb(185, 158, 203); }
.team-role-icon { display: flex; align-items: center; justify-content: center; width: 2.278646vw; height: 2.278646vw; border-radius: 0.585938vw; background: rgb(243, 237, 247); color: rgb(132, 84, 160); margin: 0vw auto 0.651042vw; }
.team-role-icon svg { width: 1.367188vw; height: 1.367188vw; }
.team-branches strong { font-size: 0.716146vw; font-weight: 650; }
.team-branches span { font-size: 0.585938vw; margin-top: 0.260417vw; }
.hero-v2 .hero-copy > p, .cta p { color: rgb(238, 228, 244); }
.cta .eyebrow { color: rgb(223, 203, 234); }
.abi-team-map .team-brand { color: rgb(48, 34, 55); font-weight: 700; }
.abi-team-map .team-manager strong { color: rgb(255, 255, 255); }
.abi-team-map .team-manager-label { color: rgb(241, 229, 248); font-size: 0.651042vw; }
.abi-team-map .team-manager > span:last-child { color: rgb(255, 255, 255); font-size: 0.846354vw; font-weight: 500; line-height: 1.65; }
.abi-team-map .team-branches strong { color: rgb(38, 30, 44); font-size: 0.846354vw; font-weight: 700; }
.abi-team-map .team-branches span { color: rgb(57, 47, 64); font-size: 0.78125vw; line-height: 1.6; font-weight: 500; }
.abi-team-map .team-branches > div { padding: 1.171875vw 0.651042vw; }
.social-production ul, .blog-body p { color: rgb(34, 34, 34); }
.abi-team-map .team-brand, .abi-team-map .team-branches strong, .abi-team-map .team-branches span { color: rgb(34, 34, 34); }
input, select, textarea { color: rgb(34, 34, 34); }
.abi-team-map.pro-team { padding: 2.083333vw; background: rgb(244, 239, 247); border: 0.065104vw solid rgb(229, 218, 236); border-radius: 1.041667vw; box-shadow: none; }
.pro-team .team-brand { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; min-height: 8.984375vw; padding: 1.692708vw 1.041667vw; background: rgb(55, 39, 63); border: 0.065104vw solid rgb(81, 54, 94); border-radius: 0.78125vw; color: rgb(255, 255, 255); letter-spacing: 0vw; box-shadow: rgba(55, 39, 63, 0.063) 0vw 0.520833vw 1.5625vw; }
.pro-team .team-brand > span { color: rgb(215, 194, 227); font-size: 0.520833vw; font-weight: 500; letter-spacing: 0.110677vw; margin-bottom: 0.846354vw; }
.pro-team .team-brand > strong { color: rgb(255, 255, 255); font-size: 2.34375vw; font-weight: 600; letter-spacing: -0.084635vw; line-height: 1.1; }
.pro-team .team-connector { position: relative; width: 0.065104vw; height: 2.083333vw; background: rgb(169, 138, 189); }
.pro-team .team-connector::after { content: ""; position: absolute; bottom: 0.065104vw; left: -0.195312vw; width: 0.390625vw; height: 0.390625vw; border-right: 0.065104vw solid rgb(169, 138, 189); border-bottom: 0.065104vw solid rgb(169, 138, 189); transform: rotate(45deg); }
.pro-team .team-manager { width: 88%; margin: 0vw auto; padding: 1.236979vw 1.041667vw; gap: 0.520833vw; border: 0.065104vw solid rgb(203, 182, 217); background: rgb(255, 255, 255); color: rgb(34, 34, 34); border-radius: 0.651042vw; box-shadow: none; }
.pro-team .team-manager strong { color: rgb(55, 39, 63); font-size: 1.041667vw; font-weight: 600; letter-spacing: -0.019531vw; }
.pro-team .team-manager > span:last-child { font-size: 0.78125vw; line-height: 1.6; color: rgb(34, 34, 34); font-weight: 400; max-width: 17.578125vw; }
.pro-team .team-manager + .team-connector { height: 1.692708vw; }
.pro-team .team-manager + .team-connector::after { display: none; }
.pro-team .team-branches { grid-template-columns: repeat(2, minmax(0vw, 1fr)); grid-auto-rows: 8.203125vw; gap: 1.041667vw 2.083333vw; padding-top: 0vw; }
.pro-team .team-branches::before { inset: 0vw auto 4.101562vw 50%; width: 0.065104vw; height: auto; background: rgb(188, 163, 204); }
.pro-team .team-branches > div { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0vw; padding: 0.911458vw 0.520833vw; background: rgb(255, 255, 255); border: 0.065104vw solid rgb(226, 215, 233); border-radius: 0.585938vw; box-shadow: none; }
.pro-team .team-branches > div::before, .pro-team .team-branches > div:nth-child(-n+2)::before { content: ""; position: absolute; top: 50%; left: auto; right: -1.106771vw; width: 1.041667vw; height: 0.065104vw; background: rgb(188, 163, 204); }
.pro-team .team-branches > div:nth-child(2n)::before { left: -1.106771vw; right: auto; }
.pro-team .team-branches > div::after { content: ""; position: absolute; right: -0.325521vw; top: calc(50% - 0.195312vw); width: 0.390625vw; height: 0.390625vw; border-left: 0.065104vw solid rgb(169, 138, 189); border-bottom: 0.065104vw solid rgb(169, 138, 189); transform: rotate(45deg); }
.pro-team .team-branches > div:nth-child(2n)::after { right: auto; left: -0.325521vw; transform: rotate(225deg); }
.pro-team .team-role-icon { width: 1.953125vw; height: 1.953125vw; background: transparent; border-radius: 0vw; color: rgb(116, 50, 152); margin: 0vw 0vw 0.520833vw; }
.pro-team .team-role-icon svg { width: 1.692708vw; height: 1.692708vw; }
.pro-team .team-branches strong { font-size: 0.78125vw; font-weight: 600; line-height: 1.4; color: rgb(34, 34, 34); }
.pro-team .team-branches span { font-size: 0.651042vw; font-weight: 400; line-height: 1.5; color: rgb(34, 34, 34); margin-top: 0.325521vw; }
.abi-workflow { padding: 1.822917vw; background: rgb(243, 237, 247); border: 0.065104vw solid rgb(228, 216, 236); border-radius: 1.041667vw; min-width: 0vw; }
.workflow-brand { background: rgb(55, 39, 63); border-radius: 0.651042vw; padding: 1.497396vw 0.976562vw; text-align: center; color: rgb(255, 255, 255); }
.workflow-brand > span { display: block; font-size: 0.520833vw; letter-spacing: 0.104167vw; color: rgb(215, 194, 227); margin-bottom: 0.651042vw; }
.workflow-brand > strong { display: block; font-size: 2.213542vw; line-height: 1.2; letter-spacing: -0.065104vw; font-weight: 600; }
.workflow-arrow { height: 1.757812vw; width: 0.065104vw; background: rgb(167, 137, 187); position: relative; margin: auto; }
.workflow-arrow::after { content: ""; position: absolute; width: 0.390625vw; height: 0.390625vw; border-right: 0.065104vw solid rgb(167, 137, 187); border-bottom: 0.065104vw solid rgb(167, 137, 187); transform: rotate(45deg); left: -0.195312vw; bottom: 0.130208vw; }
.workflow-account { border: 0.065104vw solid rgb(205, 183, 220); border-radius: 0.651042vw; background: rgb(255, 255, 255); text-align: center; padding: 1.497396vw 1.171875vw 1.302083vw; }
.workflow-account img { width: 8.138021vw; height: 2.929688vw; object-fit: contain; margin: 0vw auto 1.106771vw; }
.workflow-account > strong { display: block; font-size: 1.041667vw; font-weight: 600; letter-spacing: -0.019531vw; color: rgb(55, 39, 63); }
.workflow-account p { font-size: 0.78125vw; line-height: 1.65; max-width: 19.53125vw; margin: 0.585938vw auto 0vw; color: rgb(34, 34, 34); }
.workflow-steps { list-style: none; padding: 0vw; margin: 0vw; }
.workflow-steps > li { display: grid; grid-template-columns: 2.083333vw minmax(0vw, 1fr); align-items: center; gap: 0.846354vw; padding: 0.911458vw; background: rgb(255, 255, 255); border: 0.065104vw solid rgb(227, 216, 234); border-radius: 0.520833vw; position: relative; margin-bottom: 1.236979vw; min-height: 4.947917vw; }
.workflow-steps > li:last-child { margin-bottom: 0vw; }
.workflow-steps > li:not(:last-child)::before { content: ""; position: absolute; left: 1.888021vw; bottom: -1.171875vw; width: 0.065104vw; height: 1.106771vw; background: rgb(173, 143, 192); }
.workflow-steps > li:not(:last-child)::after { content: ""; position: absolute; left: 1.692708vw; bottom: -1.106771vw; width: 0.390625vw; height: 0.390625vw; border-right: 0.065104vw solid rgb(173, 143, 192); border-bottom: 0.065104vw solid rgb(173, 143, 192); transform: rotate(45deg); }
.workflow-number { display: flex; align-items: center; justify-content: center; width: 2.083333vw; height: 2.083333vw; border: 0.065104vw solid rgb(229, 217, 237); border-radius: 50%; background: rgb(247, 242, 250); font-size: 0.651042vw; font-weight: 600; color: rgb(116, 50, 152); }
.workflow-steps strong { display: block; font-size: 0.78125vw; font-weight: 600; line-height: 1.5; color: rgb(34, 34, 34); }
.workflow-steps p { font-size: 0.651042vw; line-height: 1.6; color: rgb(34, 34, 34); margin: 0.260417vw 0vw 0vw; }
.workflow-team-size { display: flex; align-items: center; justify-content: center; gap: 0.78125vw; border-top: 0.065104vw solid rgb(233, 223, 238); padding-top: 0.976562vw; margin-top: 1.106771vw; text-align: left; }
.workflow-team-size b { font-size: 2.148438vw; font-weight: 600; line-height: 1; color: rgb(116, 50, 152); }
.workflow-team-size span { font-size: 0.651042vw; line-height: 1.5; color: rgb(34, 34, 34); }
.social-offer-centered > .eyebrow, .social-offer-centered > h2 { text-align: center; }
.social-offer-centered > .social-intro { margin-left: auto; margin-right: auto; text-align: center; }
.social-offer-centered .social-offer-layout { display: block; max-width: 44.270833vw; margin: 2.34375vw auto 0vw; }
.social-offer-centered .abi-workflow { padding: 2.083333vw; }
.workflow-platforms { display: flex; justify-content: center; flex-wrap: wrap; gap: 1.302083vw; padding: 1.302083vw 0.520833vw; margin-bottom: 1.432292vw; border: 0.065104vw solid rgb(228, 216, 236); border-radius: 0.520833vw; background: rgb(255, 255, 255); }
.workflow-platforms > span { display: flex; align-items: center; gap: 0.455729vw; font-size: 0.651042vw; font-weight: 500; color: rgb(34, 34, 34); }
.workflow-platforms img { width: 1.692708vw; height: 1.692708vw; object-fit: contain; }
.social-offer-centered .workflow-steps > li { padding: 1.041667vw; gap: 1.041667vw; }
.social-offer-centered .workflow-steps strong { font-size: 0.911458vw; }
.social-offer-centered .workflow-steps p { font-size: 0.78125vw; line-height: 1.7; }
.social-offer-centered .workflow-steps > li:not(:last-child)::before { left: 2.018229vw; }
.social-offer-centered .workflow-steps > li:not(:last-child)::after { left: 1.822917vw; }
.workflow-footnote { max-width: 40.364583vw; margin: 1.432292vw auto 0vw; text-align: center; font-size: 0.716146vw; line-height: 1.8; }
.social-offer-centered .abi-workflow { background: rgb(55, 39, 63); border-color: rgb(81, 57, 95); }
.social-offer-centered .workflow-brand { background: transparent; border-radius: 0vw; padding-top: 0.520833vw; padding-bottom: 0.976562vw; color: rgb(255, 255, 255); }
.social-offer-centered .workflow-steps > li { background: rgb(70, 50, 79); border-color: rgb(105, 80, 116); }
.social-offer-centered .workflow-steps strong { color: rgb(255, 255, 255); }
.social-offer-centered .workflow-steps p { color: rgb(240, 231, 245); }
.social-offer-centered .workflow-number { background: rgb(89, 64, 100); border-color: rgb(137, 100, 151); color: rgb(242, 222, 252); }
.social-offer-centered .workflow-arrow, .social-offer-centered .workflow-steps > li:not(:last-child)::before { background: rgb(186, 150, 206); }
.social-offer-centered .workflow-arrow::after, .social-offer-centered .workflow-steps > li:not(:last-child)::after { border-color: rgb(186, 150, 206); }
.social-page .social-hero { padding-bottom: 2.083333vw; }
.social-page .section.social-offer-centered { padding-top: 1.302083vw; }
.social-offer-centered > .eyebrow { margin-bottom: 0.911458vw; }
.social-client-work > .eyebrow, .social-client-work > h2 { text-align: center; }
.client-instagram-grid { display: grid; grid-template-columns: repeat(2, minmax(0vw, 1fr)); gap: 1.822917vw; max-width: 67.708333vw; margin: 2.34375vw auto 0vw; }
.client-instagram-card { min-width: 0vw; background: rgb(255, 255, 255); border: 0.065104vw solid rgb(228, 217, 235); border-radius: 0.78125vw; overflow: hidden; }
.client-instagram-heading { display: flex; align-items: center; gap: 1.302083vw; padding: 1.432292vw; min-height: 7.291667vw; }
.client-instagram-heading > img { width: 6.184896vw; height: 4.166667vw; object-fit: contain; flex-shrink: 0; }
.client-instagram-heading h3 { font-size: 1.041667vw; line-height: 1.4; margin: 0vw 0vw 0.390625vw; color: rgb(34, 34, 34); }
.client-instagram-heading a { font-size: 0.716146vw; color: rgb(116, 50, 152); overflow-wrap: anywhere; }
.client-instagram-card iframe { display: block; width: 100%; height: 30.598958vw; border-width: 0.065104vw 0vw 0vw; border-style: solid none none; border-color: rgb(238, 231, 242) currentcolor currentcolor; border-image: none; background: rgb(255, 255, 255); }
.client-profile-link { display: flex; justify-content: space-between; align-items: center; padding: 1.171875vw 1.432292vw; font-size: 0.716146vw; font-weight: 600; color: rgb(116, 50, 152); border-top: 0.065104vw solid rgb(233, 223, 239); }
.client-profile-link:hover { background: rgb(244, 238, 248); }
.social-offer-centered .social-offer-layout { max-width: 54.6875vw; }
.social-offer-centered .workflow-brand { border: 0.065104vw solid rgb(255, 255, 255); border-radius: 0.651042vw; padding: 1.302083vw 1.171875vw; margin: 0vw auto; }
.about-stats { grid-template-columns: repeat(4, minmax(0vw, 1fr)); text-align: center; }
.about-stats span { color: rgb(255, 255, 255); }
p { color: rgb(17, 17, 17); font-weight: 500; }
.page-intro p, .project-copy p { font-size: 1.041667vw; line-height: 1.8; color: rgb(17, 17, 17); font-weight: 500; }
.blog-body p, .social-production ul { color: rgb(17, 17, 17); }
.hero-v2 .hero-copy > p, .hero-v2 .hero-proof > span, .cta p, .cta .eyebrow, .service-banners .service p, .service:hover p { color: rgb(255, 255, 255); }
.about-stats span { font-size: 0.911458vw; font-weight: 500; color: rgb(255, 255, 255); }
.social-offer-centered .workflow-steps p { color: rgb(255, 255, 255); font-size: 0.911458vw; font-weight: 500; line-height: 1.7; }
.workflow-account p, .workflow-team-size span, .workflow-platforms > span { color: rgb(17, 17, 17); font-weight: 500; }
.service-detail > div > p { font-size: 0.976562vw; line-height: 1.8; letter-spacing: normal; font-weight: 500; color: rgb(17, 17, 17); margin-top: 1.302083vw; }
p, input, textarea, select, label, .service-choice, .form-note, #form-status { letter-spacing: normal; }
p { overflow-wrap: break-word; }
.service-hero p, .service-note p, .contact-layout > div > p { font-size: 0.976562vw; line-height: 1.8; }
.manifesto-columns p, .social-channel-grid p, .social-process li p { font-size: 0.911458vw; line-height: 1.8; }
.service-banners .service p { font-size: 0.846354vw; line-height: 1.7; }
.service-banners .service-bottom { font-size: 0.78125vw; color: rgb(255, 255, 255); line-height: 1.5; }
.cta p { font-size: 0.911458vw; line-height: 1.8; }
.footer-top p, .footer-top > a, .footer-bottom { font-size: 0.78125vw; line-height: 1.7; }
#contact-form label, .service-choices legend { font-size: 0.846354vw; line-height: 1.5; }
#contact-form input:not([type="checkbox"]), #contact-form textarea { font-size: 1.041667vw; line-height: 1.6; }
#contact-form input::placeholder, #contact-form textarea::placeholder { color: rgb(89, 81, 95); opacity: 1; }
#contact-form .service-choice, .choice-hint, .form-note, #form-status { font-size: 0.78125vw; line-height: 1.6; }
.contact-email { overflow-wrap: anywhere; }
.mega-service small { font-size: 0.78125vw; line-height: 1.6; color: rgb(34, 34, 34); }
.service-detail li { line-height: 1.6; }
.service-detail li span { color: rgb(116, 50, 152); }
.service-hero > div, .service-detail > div, .contact-layout > div, .contact-layout > form { min-width: 0vw; }
.page-intro p, .project-copy p, .service-hero p, .service-note p, .service-detail > div > p, .contact-layout > div > p, .hero-v2 .hero-copy > p, .manifesto-columns p, .social-process li p, .social-page .social-intro, .social-end p, .blog-body p, .cta p, .workflow-account p, .social-offer-centered .workflow-steps p { font-size: 0.976562vw; line-height: 1.7; }
.service-banners .service p, .social-channel-grid p, .social-offering p { font-size: 0.846354vw; line-height: 1.65; }
.hero-v2, .hero-v2 .hero-copy > p, .hero-v2 .hero-proof > span, .hero-v2 .hero-proof b, .hero-v2 .hero-proof strong, .cta, .cta p, .cta .eyebrow, .service-banners .service h3, .service-banners .service p, .service-banners .service-bottom, .service:hover p, .about-stats span, .social-offer-centered .workflow-brand, .social-offer-centered .workflow-steps strong, .social-offer-centered .workflow-steps p, .button { color: rgb(245, 242, 247); }
.workflow-team-size span { font-size: 0.846354vw; line-height: 1.5; color: rgb(17, 17, 17); font-weight: 500; }
.workflow-platforms > span, .social-platforms > span { font-size: 0.78125vw; line-height: 1.5; }
.hero-v2 .hero-proof > span { font-size: 0.716146vw; line-height: 1.6; }
.hero-v2 .hero-proof { flex-wrap: wrap; row-gap: 1.041667vw; }
.work-caption small, .blog-meta { font-size: 0.78125vw; line-height: 1.5; }
.eyebrow, .cta .eyebrow, .hero-v2 .eyebrow { font-size: 0.716146vw; line-height: 1.6; }
.brand-manifesto .text-link, .instagram-preview > .text-link, .instagram-copy .button, .workflow-number, .service-detail li span { font-size: 0.78125vw; line-height: 1.5; }
.social-offer-centered .workflow-steps > li { grid-template-columns: 2.34375vw minmax(0vw, 1fr); align-items: start; gap: 0.911458vw; padding: 0.976562vw 1.041667vw; margin-bottom: 0.78125vw; }
.social-offer-centered .workflow-steps > li:last-child { margin-bottom: 0vw; }
.social-offer-centered .workflow-step-icon { display: flex; align-items: center; justify-content: center; width: 2.34375vw; height: 2.34375vw; border: 0.065104vw solid rgb(150, 116, 166); border-radius: 0.585938vw; background: rgb(89, 64, 100); color: rgb(232, 202, 248); }
.workflow-step-icon svg { display: block; width: 1.497396vw; height: 1.497396vw; }
.social-offer-centered .workflow-steps h3 { margin: 0vw; font-size: 1.041667vw; font-weight: 700; line-height: 1.4; letter-spacing: normal; color: rgb(245, 242, 247); }
.social-offer-centered .workflow-steps p { margin: 0.390625vw 0vw 0vw; line-height: 1.6; }
.social-offer-centered .workflow-steps > li:not(:last-child)::before { left: 2.148438vw; bottom: -0.78125vw; height: 0.716146vw; }
.social-offer-centered .workflow-steps > li:not(:last-child)::after { left: 1.953125vw; bottom: -0.651042vw; }
.social-offer-centered .workflow-account { padding: 1.171875vw; }
.social-offer-centered .workflow-account p { max-width: 32.552083vw; }
.social-offer-centered .workflow-account img { margin-bottom: 0.78125vw; }
.social-offer-centered .workflow-arrow { height: 1.302083vw; }
.social-offer-centered .workflow-platforms { padding: 1.041667vw 0.520833vw; margin-bottom: 1.041667vw; }
.social-offer-centered .workflow-step-number { font-size: 0.911458vw; font-weight: 700; line-height: 1; color: rgb(245, 242, 247); }
.social-offer-centered .workflow-steps > li { display: block; min-height: 0vw; padding: 0vw; }
.workflow-detail > summary { display: grid; grid-template-columns: 2.34375vw minmax(0vw, 1fr) 1.432292vw; gap: 0.911458vw; align-items: center; list-style: none; cursor: pointer; padding: 0.976562vw 1.041667vw; border-radius: 0.520833vw; }
.workflow-detail > summary::-webkit-details-marker { display: none; }
.workflow-detail > summary::marker { content: ""; }
.workflow-detail > summary:hover { background: rgb(81, 59, 92); }
.workflow-detail > summary:focus-visible { outline: rgb(232, 202, 248) solid 0.130208vw; outline-offset: 0.195312vw; }
.workflow-chevron { display: block; width: 1.432292vw; height: 1.432292vw; color: rgb(245, 242, 247); transition: transform 0.2s; }
.workflow-detail[open] .workflow-chevron { transform: rotate(180deg); }
.social-offer-centered .workflow-detail > p { margin: 0vw; padding: 0vw 3.385417vw 1.171875vw 4.296875vw; }
@media (prefers-reduced-motion: reduce) {
  .workflow-chevron { transition: none; }
}
.social-offer-centered .workflow-steps > li:not(:last-child)::before, .social-offer-centered .workflow-steps > li:not(:last-child)::after { display: none; content: none; }
.social-offer-centered .workflow-detail > summary { display: flex; align-items: center; min-height: 4.427083vw; padding: 0.976562vw 1.041667vw; gap: 0.911458vw; }
.social-offer-centered .workflow-detail > summary h3 { flex: 1 1 0%; min-width: 0vw; margin: 0vw; align-self: center; }
.social-offer-centered .workflow-detail > summary .workflow-step-number, .social-offer-centered .workflow-detail > summary .workflow-chevron { flex-shrink: 0; align-self: center; margin: 0vw; }
.social-offer-centered .workflow-detail > p { margin: 0vw; padding: 1.041667vw 3.385417vw 1.041667vw 4.296875vw; border-top: 0.065104vw solid rgb(105, 80, 116); }
.social-offer-centered .workflow-detail > p { background: rgb(241, 234, 246); color: rgb(33, 24, 41); border-top: 0.065104vw solid rgb(216, 199, 227); border-radius: 0vw 0vw 0.455729vw 0.455729vw; }
.social-offer-centered .workflow-detail > p strong { display: inline; font-size: inherit; line-height: inherit; font-weight: 700; color: rgb(88, 41, 116); }
.social-offer-centered .workflow-step-number { background: rgb(106, 76, 120); border-color: rgb(200, 164, 222); color: rgb(245, 242, 247); }
.social-offer-centered .workflow-detail[open] > summary { border-radius: 0.455729vw 0.455729vw 0vw 0vw; }
.social-offer-centered .workflow-description { padding: 1.171875vw 1.822917vw 1.302083vw 4.296875vw; background: rgb(241, 234, 246); border-top: 0.065104vw solid rgb(216, 199, 227); border-radius: 0vw 0vw 0.455729vw 0.455729vw; }
.social-offer-centered .workflow-description > p { margin: 0vw; color: rgb(33, 24, 41); }
.social-offer-centered .workflow-description > p + p { margin-top: 0.911458vw; }
.social-offer-centered .workflow-description strong { display: inline; font-size: inherit; line-height: inherit; font-weight: 600; color: inherit; }
.social-offer-centered .social-offer-animated { display: grid; grid-template-columns: minmax(16.927083vw, 0.85fr) minmax(0vw, 1.35fr); max-width: 76.822917vw; gap: 2.473958vw; align-items: start; }
.abi-platform-animation { display: block; width: 100%; position: sticky; top: max(1.041667vw, -18.880208vw + 50vh); align-self: start; min-width: 0vw; text-align: center; }
.stack-stage { position: relative; width: 100%; height: 37.760417vw; isolation: isolate; overflow: hidden; }
.stack-halo { position: absolute; width: 23.4375vw; height: 23.4375vw; border-radius: 50%; background: rgb(238, 227, 245); left: 50%; top: 6.510417vw; transform: translateX(-50%); z-index: -1; }
.stack-tile, .stack-final { position: absolute; left: 50%; top: 50%; display: flex; align-items: center; justify-content: center; background: rgb(255, 255, 255); border: 0.065104vw solid rgb(255, 255, 255); border-radius: 1.432292vw; box-shadow: rgb(244, 244, 244) 0vw 0.520833vw 0vw, rgba(0, 0, 0, 0.07) 0vw 1.171875vw 1.822917vw; }
.stack-tile { width: 13.671875vw; height: 6.835938vw; opacity: 0; transform: translate(calc(-50% + var(--x)),calc(-50% + var(--y))) rotate(var(--r)); will-change: transform, opacity; }
.stack-tile img { width: 3.776042vw; height: 3.776042vw; object-fit: contain; }
.stack-linkedin { --x: 0.651042vw; --y: 11.197917vw; --r: 10deg; --delay: 0s; z-index: 1; }
.stack-tiktok { --x: -1.171875vw; --y: 5.729167vw; --r: -10deg; --delay: .65s; z-index: 2; }
.stack-facebook { --x: 0.78125vw; --y: 0.260417vw; --r: 9deg; --delay: 1.3s; z-index: 3; }
.stack-instagram-color { --x: -0.78125vw; --y: -5.208333vw; --r: -9deg; --delay: 1.95s; z-index: 4; }
.stack-abi { --x: 0.325521vw; --y: -10.677083vw; --r: 8deg; --delay: 2.6s; z-index: 5; }
.stack-abi img { width: 10.416667vw; height: 3.90625vw; }
.stack-final { width: 18.229167vw; height: 9.765625vw; transform: translate(-50%, -50%); z-index: 6; }
.stack-final img { width: 14.322917vw; height: 5.859375vw; object-fit: contain; }
.abi-platform-animation.is-playing .stack-tile { animation: abi-tile-arrive 7s var(--delay) forwards cubic-bezier(.25,.46,.45,.94); }
.abi-platform-animation.is-playing .stack-final { animation: 1.2s ease 9s 1 normal both running abi-stack-finish; }
.stack-replay { font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 0.78125vw; color: rgb(116, 50, 152); border: 0vw; background: transparent; padding: 0.78125vw 1.171875vw; cursor: pointer; display: inline-flex; gap: 0.78125vw; align-items: center; }
.stack-replay span { font-size: 1.302083vw; }
.stack-replay:hover { color: rgb(55, 39, 63); }
.stack-replay:focus-visible { outline: rgb(116, 50, 152) solid 0.130208vw; outline-offset: 0.195312vw; border-radius: 0.325521vw; }
@media (prefers-reduced-motion: reduce) {
  .abi-platform-animation.is-playing .stack-tile { animation: auto ease 0s 1 normal none running none; opacity: 0; }
  .abi-platform-animation.is-playing .stack-final { animation: auto ease 0s 1 normal none running none; opacity: 1; transform: translate(-50%, -50%); }
  .stack-replay { display: none; }
}
.abi-platform-animation .stack-tile, .abi-platform-animation .stack-final { max-width: calc(100% - 3.125vw); }
.abi-platform-animation .stack-final img { max-width: 80%; }
.abi-platform-animation .stack-stage { background: transparent; border-radius: 0vw; }
.social-offer-centered .workflow-mobile-heading { display: none; }
.abi-platform-animation .stack-halo { width: min(23.4375vw, 100% - 1.041667vw); height: auto; aspect-ratio: 1 / 1; top: 50%; transform: translate(-50%, -50%); }
.abi-platform-animation.is-waiting .stack-final { opacity: 0; }
.abi-instagram-end { padding-top: 0vw !important; }
.abi-instagram-link { display: flex; align-items: center; justify-content: space-between; gap: 1.5625vw; max-width: 58.59375vw; margin: auto; padding: 1.953125vw 2.34375vw; background: rgb(238, 227, 245); border: 0.065104vw solid rgb(225, 209, 233); border-radius: 0.911458vw; }
.abi-instagram-link > img { width: 3.255208vw; height: 3.255208vw; flex-shrink: 0; }
.abi-instagram-link > span { flex: 1 1 0%; }
.abi-instagram-link strong { display: block; font-size: 1.302083vw; color: rgb(55, 39, 63); margin-bottom: 0.455729vw; }
.abi-instagram-link small { font-size: 0.911458vw; color: rgb(116, 50, 152); }
.abi-instagram-link > b { font-size: 1.822917vw; font-weight: 500; color: rgb(116, 50, 152); }
.abi-instagram-embed { width: 100%; max-width: 35.15625vw; margin: 0vw auto 1.5625vw; background: rgb(255, 255, 255); border: 0.065104vw solid rgb(225, 209, 233); border-radius: 0.911458vw; overflow: hidden; }
.abi-instagram-embed iframe { display: block; width: 100%; height: 44.270833vw; border: 0vw; background: rgb(255, 255, 255); }
.abi-instagram-end .abi-instagram-link { max-width: 35.15625vw; }
.seo-page .section { padding-top: 3.580729vw; padding-bottom: 3.580729vw; }
.seo-page h2 { font-size: clamp(1.822917vw, 3vw, 2.604167vw); letter-spacing: -0.084635vw; }
.seo-page p { font-size: 0.976562vw; line-height: 1.75; color: rgb(40, 35, 45); }
.seo-page .seo-hero h1 { font-size: clamp(2.473958vw, 4vw, 3.645833vw); letter-spacing: -0.130208vw; }
.seo-page .service-subtitle { font-size: clamp(1.497396vw, 2.5vw, 2.083333vw); line-height: 1.25; }
.seo-platforms { display: flex; flex-wrap: wrap; gap: 1.302083vw; margin: 1.5625vw 0vw; }
.seo-platforms span { display: flex; gap: 0.585938vw; align-items: center; font-size: 0.78125vw; font-weight: 600; }
.seo-platforms img { object-fit: contain; }
.seo-benefits { border-bottom: 0.065104vw solid rgb(227, 219, 232); }
.seo-benefit-grid { display: grid; grid-template-columns: repeat(3, minmax(0vw, 1fr)); gap: 1.953125vw; }
.seo-benefits article > span { display: block; color: rgb(116, 50, 152); font-size: 1.822917vw; margin-bottom: 1.041667vw; }
.seo-benefits h3 { font-size: 1.236979vw; margin-bottom: 0.78125vw; letter-spacing: -0.019531vw; }
.seo-benefits p { margin: 0vw; }
.seo-heading { max-width: 53.385417vw; margin-bottom: 2.083333vw; }
.seo-heading .eyebrow { margin-bottom: 1.041667vw; }
.seo-heading p { max-width: 49.479167vw; margin-bottom: 0vw; }
.seo-work-grid { display: grid; grid-template-columns: repeat(2, minmax(0vw, 1fr)); gap: 1.171875vw; }
.seo-work-card { display: flex; align-items: flex-start; gap: 1.171875vw; padding: 1.953125vw; background: rgb(240, 233, 245); border: 0.065104vw solid rgb(226, 213, 235); border-radius: 0.78125vw; }
.seo-work-number { display: flex; align-items: center; justify-content: center; width: 2.213542vw; height: 2.213542vw; flex-shrink: 0; background: rgb(116, 50, 152); color: rgb(245, 242, 247); border-radius: 0.520833vw; font-size: 0.911458vw; font-weight: 650; }
.seo-work-card h3 { font-size: 1.236979vw; line-height: 1.4; margin: 0.195312vw 0vw 0.976562vw; color: rgb(55, 39, 63); letter-spacing: -0.019531vw; }
.seo-work-card p { margin: 0vw; }
.seo-work-card p + p { margin-top: 0.846354vw; }
.seo-package-inner { padding: 2.604167vw; border-radius: 1.041667vw; background: rgb(55, 39, 63); }
.seo-package-inner h2, .seo-package-inner h3 { color: rgb(245, 242, 247); }
.seo-package-inner em { color: rgb(209, 169, 230); }
.seo-package-inner .eyebrow { color: rgb(228, 205, 238); }
.seo-package-inner p { color: rgb(240, 234, 244); }
.seo-deliverables { display: grid; grid-template-columns: repeat(3, minmax(0vw, 1fr)); gap: 1.822917vw; padding: 1.822917vw 0vw; border-top: 0.065104vw solid rgb(106, 81, 118); border-bottom: 0.065104vw solid rgb(106, 81, 118); }
.seo-deliverables b { display: block; font-size: 2.864583vw; font-weight: 600; color: rgb(209, 169, 230); margin-bottom: 0.911458vw; }
.seo-deliverables h3 { font-size: 1.106771vw; line-height: 1.4; margin-bottom: 0.651042vw; }
.seo-deliverables p { font-size: 0.911458vw; margin-bottom: 0vw; }
.seo-package-inner .seo-package-note { font-size: 0.911458vw; margin: 1.432292vw 0vw 0vw; max-width: 55.338542vw; }
.seo-geo-grid { display: grid; grid-template-columns: repeat(2, minmax(0vw, 1fr)); gap: 2.083333vw; }
.seo-geo-grid article { padding: 1.953125vw; border: 0.065104vw solid rgb(226, 213, 235); background: rgb(255, 255, 255); border-radius: 0.78125vw; }
.seo-geo-grid img { object-fit: contain; margin-bottom: 1.432292vw; }
.seo-geo-grid h3 { font-size: 1.302083vw; color: rgb(55, 39, 63); margin-bottom: 0.976562vw; }
.seo-geo-grid p:last-child { margin-bottom: 0vw; }
.seo-report { display: grid; grid-template-columns: 1fr 1.2fr; gap: 3.580729vw; border-top: 0.065104vw solid rgb(227, 219, 232); }
.seo-page .seo-benefit-grid article { min-width: 0vw; }
.seo-page .seo-benefit-grid h3 { font-family: Montserrat, Arial, sans-serif; font-size: 1.171875vw; font-weight: 600; line-height: 1.4; letter-spacing: -0.019531vw; color: rgb(55, 39, 63); margin: 0vw 0vw 0.78125vw; }
.seo-page .seo-benefit-grid p { font-family: Montserrat, Arial, sans-serif; font-size: 0.976562vw; font-weight: 400; line-height: 1.75; letter-spacing: normal; margin: 0vw; color: rgb(40, 35, 45); }
.seo-page .seo-work-card { display: block; }
.seo-page .seo-work-card h3 { margin-top: 0vw; }
.seo-page .seo-deliverables h3 { margin-top: 0vw; }
.seo-page .seo-benefit-grid h3 { display: flex; align-items: center; gap: 0.651042vw; font-size: 1.171875vw; font-weight: 600; line-height: 1.4; }
.seo-benefit-check { width: 1.497396vw; height: 1.497396vw; flex-shrink: 0; color: rgb(116, 50, 152); }
.seo-page .seo-work-grid { display: block; max-width: none; border-top: 0.065104vw solid rgb(220, 208, 228); }
.seo-activity { border-bottom: 0.065104vw solid rgb(220, 208, 228); background: transparent; }
.seo-activity summary { display: flex; align-items: center; gap: 1.302083vw; list-style: none; cursor: pointer; padding: 1.497396vw 0.651042vw; min-height: 6.119792vw; }
.seo-activity summary::-webkit-details-marker { display: none; }
.seo-activity summary::marker { content: ""; }
.seo-page .seo-activity h3 { margin: 0vw; flex: 1 1 0%; font-size: 1.236979vw; line-height: 1.4; font-weight: 600; letter-spacing: -0.019531vw; color: rgb(55, 39, 63); }
.seo-offer-icon { width: 3.125vw; height: 3.125vw; flex: 0 0 3.125vw; object-fit: contain; border-radius: 50%; }
.seo-chevron { width: 0.651042vw; height: 0.651042vw; border-right: 0.130208vw solid rgb(116, 50, 152); border-bottom: 0.130208vw solid rgb(116, 50, 152); transform: rotate(45deg); margin: 0vw 0.78125vw 0.325521vw; transition: transform 0.2s; }
.seo-activity[open] .seo-chevron { transform: rotate(225deg); margin-bottom: -0.260417vw; }
.seo-activity summary:focus-visible { outline: rgb(116, 50, 152) solid 0.130208vw; outline-offset: 0.195312vw; }
.seo-activity summary:hover { background: rgb(241, 234, 245); }
.seo-activity[open] { background: rgb(241, 234, 245); border-radius: 0.651042vw; }
.seo-activity-body { padding: 0vw 3.776042vw 1.822917vw 5.078125vw; max-width: 67.057292vw; }
.seo-page .seo-activity-body p { margin: 0vw 0vw 0.976562vw; font-size: 0.976562vw; line-height: 1.8; }
.seo-page .seo-activity-body p:last-child { margin: 0vw; }
.seo-deliverables .seo-icon { display: flex; align-items: center; justify-content: center; width: 4.166667vw; height: 4.166667vw; background: rgb(232, 217, 240); border-radius: 1.041667vw; margin-bottom: 1.497396vw; color: rgb(116, 50, 152); }
.seo-deliverables .seo-icon svg { width: 2.34375vw; height: 2.34375vw; display: block; overflow: visible; }
.seo-page .seo-deliverables h3 { font-size: 1.106771vw; line-height: 1.5; font-weight: 600; }
.seo-page .seo-benefits { border-bottom: 0vw; }
.seo-page .seo-benefit-grid { gap: 1.171875vw; }
.seo-page .seo-benefit-grid article { padding: 1.692708vw; background: rgb(238, 229, 244); border: 0.065104vw solid rgb(223, 207, 232); border-radius: 0.78125vw; }
.seo-page .seo-benefit-grid h3 { font-size: 1.171875vw; font-weight: 600; line-height: 1.4; margin-bottom: 0.911458vw; }
.seo-page .seo-work-grid { display: grid; grid-template-columns: repeat(2, minmax(0vw, 1fr)); gap: 1.171875vw; border: 0vw; align-items: start; }
.seo-page .seo-activity { border: 0.065104vw solid rgb(223, 210, 231); border-radius: 0.78125vw; background: rgb(243, 237, 247); overflow: hidden; min-width: 0vw; }
.seo-page .seo-activity summary { padding: 1.432292vw 1.302083vw; gap: 1.041667vw; min-height: 6.25vw; }
.seo-page .seo-activity h3 { font-size: 1.171875vw; }
.seo-page .seo-activity-body { padding: 0vw 1.692708vw 1.692708vw; max-width: none; }
.seo-page .seo-deliverables h3 { min-height: 3.320312vw; }
.seo-page .seo-benefit-grid article { background: rgb(70, 50, 79); border: 0.065104vw solid rgb(105, 80, 116); border-radius: 0.520833vw; }
.seo-page .seo-benefit-grid h3, .seo-page .seo-benefit-grid p { color: rgb(245, 242, 247); }
.seo-page .seo-benefit-check { color: rgb(209, 169, 230); }
.seo-page .seo-activity, .seo-page .seo-activity[open] { background: rgb(70, 50, 79); border: 0.065104vw solid rgb(105, 80, 116); border-radius: 0.520833vw; }
.seo-page .seo-activity summary { min-height: 5.208333vw; padding: 0.976562vw 1.041667vw; gap: 0.911458vw; border-radius: 0.455729vw; }
.seo-page .seo-activity summary:hover { background: rgb(81, 59, 92); }
.seo-page .seo-activity h3 { font-size: 1.041667vw; font-weight: 700; line-height: 1.4; color: rgb(245, 242, 247); letter-spacing: normal; }
.seo-page .seo-chevron { border-color: rgb(245, 242, 247); }
.seo-page .seo-activity[open] > summary { border-radius: 0.455729vw 0.455729vw 0vw 0vw; }
.seo-page .seo-activity-body { background: rgb(241, 234, 246); border-top: 0.065104vw solid rgb(216, 199, 227); padding: 1.171875vw 1.822917vw 1.302083vw; border-radius: 0vw 0vw 0.455729vw 0.455729vw; }
.seo-page .seo-activity-body p { color: rgb(33, 24, 41); }
.seo-page .seo-benefit-grid article { background: rgb(238, 229, 244); border-color: rgb(223, 207, 232); border-radius: 0.78125vw; }
.seo-page .seo-benefit-grid h3 { color: rgb(55, 39, 63); }
.seo-page .seo-benefit-grid p { color: rgb(40, 35, 45); }
.seo-page .seo-benefit-check { color: rgb(116, 50, 152); }
.seo-page .seo-offer-icon { filter: none; box-shadow: none; outline: none; border: 0vw; }
.seo-activity-column { display: flex; flex-direction: column; gap: 1.171875vw; min-width: 0vw; }
.seo-page .seo-step-number { display: flex; align-items: center; justify-content: center; flex: 0 0 2.34375vw; width: 2.34375vw; height: 2.34375vw; border: 0.065104vw solid rgb(200, 164, 222); border-radius: 0.585938vw; background: rgb(106, 76, 120); color: rgb(245, 242, 247); font-size: 0.911458vw; font-weight: 700; line-height: 1; }
.seo-page .seo-activity summary { min-height: 4.427083vw; }
.seo-page .seo-package-inner .seo-heading { max-width: none; text-align: center; margin: 0vw auto 2.213542vw; }
.seo-page .seo-deliverables > div { text-align: center; display: flex; flex-direction: column; align-items: center; }
.seo-page .seo-deliverables .seo-icon { width: 4.427083vw; height: 4.427083vw; margin: 0vw auto 1.432292vw; background: rgb(228, 208, 238); color: rgb(103, 53, 132); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.seo-page .seo-deliverables .seo-icon svg { width: 2.213542vw; height: 2.213542vw; stroke-width: 1.65; }
.seo-page .seo-deliverables h3 { width: 100%; max-width: 19.53125vw; min-height: 3.320312vw; margin: 0vw auto 0.911458vw; text-align: center; }
.seo-page .seo-deliverables p { width: 100%; max-width: 20.182292vw; margin: 0vw auto; text-align: center; }
.seo-search-story .seo-heading { text-align: center; max-width: none; margin-bottom: 2.083333vw; }
.seo-search-demo { max-width: 68.359375vw; margin: auto; border: 0.065104vw solid rgb(218, 205, 227); border-radius: 1.171875vw; background: rgb(255, 255, 255); overflow: hidden; box-shadow: rgba(55, 39, 63, 0.035) 0vw 1.171875vw 3.255208vw; }
.search-demo-top { display: flex; align-items: center; gap: 1.171875vw; padding: 1.106771vw 1.627604vw; background: rgb(238, 229, 244); border-bottom: 0.065104vw solid rgb(227, 214, 235); font-size: 0.651042vw; letter-spacing: 0.065104vw; color: rgb(98, 75, 112); font-weight: 600; }
.search-demo-top small { margin-left: auto; font-size: 0.651042vw; letter-spacing: 0vw; font-weight: 400; }
.search-window-dots { display: flex; gap: 0.325521vw; }
.search-window-dots i { width: 0.390625vw; height: 0.390625vw; border-radius: 50%; background: rgb(186, 163, 200); }
.search-demo-main { padding: 2.083333vw; }
.search-demo-bar { display: flex; align-items: center; gap: 1.041667vw; border: 0.065104vw solid rgb(217, 203, 225); border-radius: 2.083333vw; padding: 1.106771vw 1.432292vw; box-shadow: rgba(55, 39, 63, 0.024) 0vw 0.260417vw 0.976562vw; min-height: 4.231771vw; }
.search-demo-bar > img { flex-shrink: 0; width: 1.822917vw; height: 1.822917vw; }
.search-demo-bar > svg { width: 1.497396vw; height: 1.497396vw; flex-shrink: 0; color: rgb(116, 50, 152); margin-left: auto; }
.search-typed { font-size: 0.976562vw; line-height: 1.5; min-width: 0vw; color: rgb(40, 35, 45); }
.seo-search-demo[data-state="typing"] .search-typed::after { content: ""; display: inline-block; width: 0.130208vw; height: 1.106771vw; background: rgb(116, 50, 152); margin-left: 0.195312vw; vertical-align: middle; animation: 0.7083s step-end 0s infinite normal none running search-cursor; }
.search-demo-content { display: grid; grid-template-columns: 1.15fr 1fr; gap: 1.953125vw; margin-top: 1.953125vw; align-items: center; }
.search-results { display: flex; flex-direction: column; gap: 0.78125vw; min-width: 0vw; }
.search-result { height: 5.989583vw; flex: 0 0 5.989583vw; border-radius: 0.651042vw; padding: 0.911458vw 1.171875vw; position: relative; transition: transform 1.25s cubic-bezier(0.22, 0.7, 0.22, 1), opacity 0.5833s, border-color 0.5833s, background 0.5833s; box-sizing: border-box; }
.search-result-site { display: block; font-size: 0.585938vw; font-weight: 600; letter-spacing: 0.045573vw; color: rgb(118, 100, 128); margin-bottom: 0.520833vw; }
.search-skeleton { display: block; width: 66%; height: 0.390625vw; background: rgb(237, 232, 240); border-radius: 0.260417vw; margin-top: 0.651042vw; }
.search-skeleton.long { width: 84%; height: 0.585938vw; background: rgb(220, 209, 227); }
.search-your-brand { border: 0.065104vw solid transparent; background: rgb(249, 246, 251); opacity: 0.5; }
.search-your-brand strong { display: block; color: rgb(116, 50, 152); font-size: 1.236979vw; font-weight: 600; line-height: 1.3; margin-bottom: 0.325521vw; }
.search-your-brand > span:not([class]) { font-size: 0.78125vw; color: rgb(55, 39, 63); }
.search-brand-badge { position: absolute; top: 0.911458vw; right: 0.976562vw; border-radius: 1.302083vw; padding: 0.260417vw 0.520833vw; background: rgb(116, 50, 152); color: rgb(245, 242, 247); font-size: 0.585938vw; opacity: 0; transition: opacity 0.5s; }
.search-ai { border: 0.065104vw solid rgb(222, 206, 233); border-radius: 0.846354vw; padding: 1.627604vw; background: rgb(243, 237, 247); opacity: 0; transform: translateY(0.78125vw); transition: opacity 0.8333s, transform 0.8333s; }
.search-ai-label { display: flex; align-items: center; gap: 0.651042vw; font-size: 0.651042vw; font-weight: 650; letter-spacing: 0.045573vw; margin-bottom: 1.432292vw; color: rgb(101, 67, 120); }
.search-ai-label b { margin-left: auto; font-size: 0.585938vw; border: 0.065104vw solid rgb(200, 164, 222); border-radius: 1.302083vw; padding: 0.260417vw 0.520833vw; }
.seo-page .search-ai p { font-size: 0.911458vw; line-height: 1.75; margin-bottom: 0.911458vw; }
.search-ai p strong { font-weight: 600; color: rgb(116, 50, 152); }
.search-ai-source { border-top: 0.065104vw solid rgb(222, 207, 231); padding-top: 0.976562vw; margin-top: 1.302083vw; font-size: 0.78125vw; color: rgb(116, 50, 152); }
.search-ai-source span { font-size: 0.585938vw; letter-spacing: 0.065104vw; margin-right: 0.651042vw; color: rgb(118, 100, 128); }
.seo-page .search-demo-message { font-size: 1.106771vw; line-height: 1.5; text-align: center; color: rgb(116, 50, 152); font-weight: 600; margin: 1.953125vw 0vw 0vw; min-height: 1.692708vw; }
.seo-search-demo[data-state="waiting"] .search-demo-content, .seo-search-demo[data-state="typing"] .search-demo-content { opacity: 0; }
.search-demo-content { transition: opacity 0.5s; }
.seo-search-demo[data-state="done"] .search-your-brand { transform: translateY(-13.541667vw); opacity: 1; border-color: rgb(168, 123, 193); background: rgb(240, 229, 247); }
.seo-search-demo[data-state="done"] .search-placeholder { transform: translateY(6.770833vw); opacity: 0.55; }
.seo-search-demo[data-state="done"] .search-ai { opacity: 1; transform: none; transition-delay: 0.75s; }
.seo-search-demo[data-state="done"] .search-brand-badge { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .seo-search-demo * { transition: none !important; animation: auto ease 0s 1 normal none running none !important; }
}
.search-demo-top > span:not(.search-window-dots) { font-size: 0.78125vw; letter-spacing: 0vw; font-weight: 500; }
.search-result.search-placeholder { height: 3.90625vw; flex-basis: 3.90625vw; padding: 0.651042vw 1.171875vw; }
.search-placeholder strong { display: block; font-size: 0.911458vw; line-height: 1.4; font-weight: 500; color: rgb(118, 100, 128); }
.search-placeholder .search-skeleton { height: 0.325521vw; margin-top: 0.455729vw; width: 72%; }
.seo-search-demo[data-state="done"] .search-your-brand { transform: translateY(-23.4375vw); }
.seo-page .seo-benefits { padding-top: 1.302083vw; padding-bottom: 1.627604vw; }
.seo-page .seo-benefits .seo-heading { margin-bottom: 1.432292vw; }
.seo-page .seo-search-story { padding-top: 1.953125vw; }
.search-demo-content { align-items: start; }
.seo-page .seo-benefit-grid article { background: rgb(255, 255, 255); border: 0.065104vw solid rgb(116, 50, 152); }
.seo-page .seo-benefit-grid h3 { color: rgb(116, 50, 152); font-weight: 700; }
.seo-search-story .seo-heading::before { content: ""; display: block; width: 100%; height: 0.065104vw; background: rgb(217, 199, 228); margin: 0vw auto 2.278646vw; }
.seo-search-demo { position: relative; }
.seo-search-demo .search-result { transition: transform 2.1667s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.5833s, border-color 0.5833s, background 0.5833s; }
.search-demo-finale { position: absolute; inset: 0vw; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2.083333vw; padding: 2.604167vw; background: rgb(238, 229, 244); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.6667s, visibility 0.6667s; text-align: center; }
.search-demo-finale img { display: block; width: 13.671875vw; max-width: 55%; height: auto; }
.seo-page .search-demo-finale p { font-size: 1.627604vw; line-height: 1.5; font-weight: 600; color: rgb(116, 50, 152); max-width: 35.15625vw; margin: 0vw; }
.seo-search-demo[data-state="finished"] .search-demo-finale { opacity: 1; visibility: visible; }
.seo-search-demo[data-state="finished"] .search-your-brand { transform: translateY(-23.4375vw); opacity: 1; }
.seo-search-demo[data-state="finished"] .search-placeholder { transform: translateY(6.770833vw); }
.seo-search-demo[data-state="finished"] .search-ai { opacity: 1; transform: none; }
.search-replay-wrap { text-align: center; min-height: 2.864583vw; margin-top: 1.041667vw; }
.search-replay { font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 0.846354vw; font-weight: 600; color: rgb(116, 50, 152); background: transparent; border: 0.065104vw solid rgb(203, 177, 218); border-radius: 1.5625vw; padding: 0.651042vw 1.302083vw; cursor: pointer; }
.search-replay[hidden] { display: none; }
.search-replay:hover { background: rgb(238, 229, 244); }
.search-replay:focus-visible { outline: rgb(116, 50, 152) solid 0.130208vw; outline-offset: 0.260417vw; }
.search-replay span { font-size: 1.171875vw; vertical-align: middle; margin-right: 0.325521vw; }
.seo-search-demo:not([data-state="finished"]) .search-result:not(.is-revealed) { opacity: 0; }
.seo-search-demo[data-state="waiting"] .search-result { transition: none; }
.search-demo-finale { background: rgb(255, 255, 255); gap: 1.757812vw; padding: 3.90625vw 2.34375vw; }
.search-demo-finale::before { content: ""; position: absolute; inset: 1.432292vw; border: 0.065104vw solid rgb(228, 215, 236); border-radius: 0.651042vw; pointer-events: none; }
.seo-page .search-demo-finale p { max-width: 49.479167vw; font-size: clamp(1.692708vw, 3vw, 2.473958vw); line-height: 1.3; letter-spacing: -0.052083vw; font-weight: 500; color: rgb(55, 39, 63); }
.search-demo-finale p span, .search-demo-finale p strong { display: block; }
.seo-page .search-demo-finale p strong { font-weight: 700; color: rgb(116, 50, 152); margin-top: 0.390625vw; }
.search-finale-divider { display: block; width: 3.125vw; height: 0.195312vw; border-radius: 0.130208vw; background: rgb(182, 138, 203); }
.search-demo-finale img { width: 12.369792vw; max-width: 55%; height: auto; }
.seo-search-demo .search-result { translate: 0vw; transition: translate 0.5417s cubic-bezier(0.22, 0.7, 0.22, 1), transform 2.1667s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.5417s, border-color 0.5833s, background 0.5833s; }
.seo-search-demo:not([data-state="finished"]) .search-result:not(.is-revealed) { translate: 0vw 0.911458vw; }
.seo-search-demo[data-state="waiting"] .search-result { transition: none; }
.work-image.blog-editorial-image { height: auto; aspect-ratio: 3 / 2; background: rgb(238, 232, 239); }
.work-image.blog-editorial-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.ads-page .ads-journey { background: rgb(241, 234, 245); border-top: 0.065104vw solid rgb(229, 216, 237); border-bottom: 0.065104vw solid rgb(229, 216, 237); }
.ads-journey-grid { display: grid; grid-template-columns: repeat(3, minmax(0vw, 1fr)); gap: 2.083333vw; }
.ads-journey-grid article { position: relative; padding: 1.627604vw; background: rgb(255, 255, 255); border: 0.065104vw solid rgb(222, 208, 231); border-radius: 0.78125vw; text-align: center; }
.ads-journey-grid .seo-icon { margin: 0vw auto 1.302083vw; color: rgb(116, 50, 152); }
.ads-page .ads-journey-grid h3 { font-size: 1.171875vw; line-height: 1.4; color: rgb(116, 50, 152); margin: 0vw 0vw 0.78125vw; font-weight: 600; }
.ads-page .ads-journey-grid p { font-size: 0.976562vw; line-height: 1.75; color: rgb(40, 35, 45); margin: 0vw; }
.ads-journey-grid article:not(:last-child)::after { content: "→"; position: absolute; right: -1.757812vw; top: 50%; color: rgb(116, 50, 152); font-size: 1.5625vw; }
.ads-journey-grid .ads-step-icon { display: flex; align-items: center; justify-content: center; width: 4.166667vw; height: 4.166667vw; margin: 0vw auto 1.302083vw; background: rgb(238, 228, 244); border-radius: 1.041667vw; color: rgb(116, 50, 152); }
.ads-journey-grid .ads-step-icon svg { display: block; width: 2.083333vw; height: 2.083333vw; flex: 0 0 auto; }
.web-page .web-approved-visual img { width: 100%; height: auto; object-fit: contain; display: block; }
.web-solutions-grid { display: grid; grid-template-columns: repeat(2, minmax(0vw, 1fr)); gap: 1.302083vw; }
.web-solutions-grid article { padding: 1.953125vw; border: 0.065104vw solid rgb(214, 192, 226); border-radius: 0.78125vw; background: rgb(255, 255, 255); }
.web-solution-icon { display: flex; width: 3.90625vw; height: 3.90625vw; align-items: center; justify-content: center; border-radius: 0.976562vw; background: rgb(238, 228, 244); color: rgb(116, 50, 152); margin-bottom: 1.432292vw; }
.web-solution-icon svg { display: block; width: 2.083333vw; height: 2.083333vw; flex: 0 0 auto; }
.web-page .web-solutions-grid h3 { font-size: 1.302083vw; line-height: 1.4; color: rgb(116, 50, 152); margin: 0vw 0vw 0.78125vw; font-weight: 600; }
.web-page .web-solutions-grid p { font-size: 0.976562vw; line-height: 1.75; color: rgb(40, 35, 45); margin: 0vw; max-width: 48ch; }
.web-technologies { background: rgb(241, 234, 245); }
.web-tech-row { display: grid; grid-template-columns: repeat(6, minmax(0vw, 1fr)); gap: 1.041667vw; }
.web-tech-row > div { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.976562vw; padding: 1.497396vw 0.651042vw; background: rgb(255, 255, 255); border: 0.065104vw solid rgb(228, 216, 235); border-radius: 0.651042vw; }
.web-tech-row img { width: 2.34375vw; height: 2.34375vw; object-fit: contain; }
.web-tech-row span { font-size: 0.846354vw; color: rgb(55, 39, 63); font-weight: 500; text-align: center; }
.web-solution-logos { display: flex; align-items: center; gap: 1.302083vw; min-height: 3.515625vw; margin: 0vw 0vw 1.432292vw; }
.web-solution-logos img { width: 2.734375vw; height: 2.734375vw; object-fit: contain; flex: 0 0 auto; }
.web-page .web-business { grid-template-columns: minmax(0vw, 1fr) minmax(0vw, 1.2fr); gap: 1.302083vw 3.580729vw; align-items: start; }
.web-page .web-business > .eyebrow { grid-column: 1 / -1; margin: 0vw; }
.web-page .web-business > div { min-width: 0vw; }
.web-page .web-business h2 { margin: 0vw; }
.web-page .web-business p { margin: 0vw 0vw 1.171875vw; font-weight: 400; text-align: left; }
.web-page .web-business p:last-child { margin-bottom: 0vw; }
.web-page .web-solutions-grid h3 { display: flex; align-items: center; gap: 0.651042vw; }
.web-title-check { width: 1.432292vw; height: 1.432292vw; flex: 0 0 1.432292vw; }
.web-solution-logos { flex-wrap: wrap; }
.web-solution-logos img[alt="WooCommerce"] { width: 5.208333vw; height: 2.734375vw; }
.web-page .web-solutions-grid article { background: rgb(70, 50, 79); border-color: rgb(105, 80, 116); }
.web-page .web-solutions-grid h3 { color: rgb(245, 242, 247); }
.web-page .web-solutions-grid p { color: rgb(238, 232, 241); }
.web-page .web-title-check { color: rgb(217, 184, 238); }
.web-page .web-solution-logos img { box-sizing: content-box; padding: 0.585938vw; background: rgb(255, 255, 255); border-radius: 0.651042vw; }
.photo-page .photo-approved img { display: block; width: 100%; height: auto; object-fit: contain; }
.photo-page .photo-equipment { display: grid; grid-template-columns: 1.2fr 1fr; gap: 1.432292vw 3.255208vw; align-items: center; background: rgb(241, 234, 245); }
.photo-page .photo-equipment h2 { margin: 0vw; font-size: clamp(1.5625vw, 2.7vw, 2.34375vw); line-height: 1.25; }
.photo-page .photo-equipment > p { grid-column: 1 / -1; max-width: 48.828125vw; margin: 0vw; color: rgb(48, 39, 54); font-size: 0.976562vw; line-height: 1.75; }
.photo-camera-logos { display: flex; align-items: center; justify-content: flex-end; gap: 2.213542vw; flex-wrap: wrap; }
.photo-camera-logos img { object-fit: contain; max-width: 26%; height: 2.994792vw; }
.photo-format-grid { display: grid; grid-template-columns: repeat(3, minmax(0vw, 1fr)); gap: 1.432292vw; }
.photo-format-grid article { padding: 1.953125vw; background: rgb(70, 50, 79); border: 0.065104vw solid rgb(105, 80, 116); border-radius: 0.78125vw; }
.photo-format-grid article > img { width: 2.994792vw; height: 2.994792vw; object-fit: contain; background: rgb(245, 240, 248); padding: 0.520833vw; box-sizing: content-box; border-radius: 0.78125vw; margin-bottom: 1.5625vw; }
.photo-page .photo-format-grid h3 { font-size: 1.302083vw; line-height: 1.4; color: rgb(245, 242, 247); margin: 0vw 0vw 0.911458vw; font-weight: 600; }
.photo-page .photo-format-grid p { font-size: 0.976562vw; line-height: 1.75; color: rgb(238, 232, 241); margin: 0vw; }
.photo-page .photo-process { display: grid; grid-template-columns: 1fr 1.15fr; gap: 4.231771vw; align-items: start; }
.photo-process-heading > p { font-size: 0.976562vw; line-height: 1.75; color: rgb(48, 39, 54); max-width: 40ch; }
.photo-channel-logos { display: flex; gap: 1.5625vw; align-items: center; margin-top: 1.953125vw; }
.photo-channel-logos img { object-fit: contain; }
.photo-detail { border: 0.065104vw solid rgb(216, 196, 227); border-radius: 0.651042vw; margin: 0vw 0vw 0.78125vw; background: rgb(250, 247, 252); overflow: hidden; }
.photo-detail summary { display: flex; align-items: center; gap: 1.302083vw; justify-content: space-between; padding: 1.497396vw 1.5625vw; cursor: pointer; list-style: none; }
.photo-detail summary::-webkit-details-marker { display: none; }
.photo-page .photo-detail h3 { font-size: 1.106771vw; line-height: 1.45; color: rgb(116, 50, 152); margin: 0vw; font-weight: 600; }
.photo-detail .seo-chevron { flex: 0 0 auto; }
.photo-detail[open] .seo-chevron { transform: rotate(225deg); }
.photo-page .photo-detail > p { margin: 0vw; padding: 0vw 1.5625vw 1.627604vw; color: rgb(48, 39, 54); font-size: 0.976562vw; line-height: 1.8; }
.photo-motion { position: relative; aspect-ratio: 2 / 1; max-width: 65.104167vw; margin: auto; background: rgb(234, 224, 239); border: 0.065104vw solid rgb(212, 189, 223); border-radius: 1.171875vw; overflow: hidden; isolation: isolate; }
.photo-scene { position: absolute; inset: 0vw; overflow: hidden; background: rgb(234, 224, 239); }
.photo-scene > img { width: 100%; height: 100%; object-fit: contain; filter: blur(0.325521vw); transform: scale(1.03); opacity: 0.85; }
.photo-viewfinder { position: absolute; inset: 22% 29%; border: 0.065104vw solid rgb(141, 86, 166); border-radius: 0.520833vw; box-shadow: rgba(52, 34, 62, 0.094) 0vw 0vw 0vw 13.020833vw; }
.photo-rec { position: absolute; left: 5%; top: 8%; color: rgb(70, 50, 79); display: flex; gap: 0.520833vw; align-items: center; font-size: 0.846354vw; letter-spacing: 0.130208vw; font-weight: 600; opacity: 0; }
.photo-rec i { width: 0.585938vw; height: 0.585938vw; border-radius: 50%; background: rgb(180, 63, 118); }
.photo-focus-label { position: absolute; left: 5%; bottom: 9%; font-size: clamp(0.846354vw, 2vw, 1.302083vw); color: rgb(70, 50, 79); background: rgba(247, 243, 249, 0.91); padding: 0.651042vw 1.041667vw; border-radius: 0.390625vw; }
.photo-timeline { display: flex; gap: 0.520833vw; position: absolute; left: 10%; right: 10%; bottom: 8%; height: 2.473958vw; opacity: 0; }
.photo-timeline span { flex: 1 1 0%; background: repeating-linear-gradient(90deg, rgb(147, 102, 173) 0vw, rgb(147, 102, 173) 0.651042vw, rgb(189, 161, 205) 0.651042vw, rgb(189, 161, 205) 0.78125vw); border-radius: 0.325521vw; border: 0.130208vw solid rgb(245, 240, 248); }
.photo-timeline span:nth-child(2) { flex: 1.5 1 0%; background: rgb(197, 168, 215); }
.photo-timeline span:nth-child(3) { background: rgb(104, 67, 124); }
.photo-timeline i { position: absolute; left: 0vw; top: -0.325521vw; height: 3.125vw; width: 0.130208vw; background: rgb(249, 246, 252); }
.photo-finale { position: absolute; inset: 0vw; background: rgb(245, 240, 248); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; opacity: 0; }
.photo-page .photo-finale h2 { font-size: clamp(1.757812vw, 4.8vw, 3.776042vw); line-height: 1.15; margin: 0.911458vw 0vw 1.627604vw; color: rgb(70, 50, 79); }
.photo-finale img { width: 6.510417vw; height: 4.557292vw; object-fit: contain; }
.photo-motion-footer { display: flex; max-width: 65.104167vw; margin: 1.041667vw auto 0vw; justify-content: space-between; align-items: center; gap: 0.976562vw; }
.photo-motion-footer p { font-size: 0.846354vw; margin: 0vw; color: rgb(88, 69, 99); }
.photo-replay { border: 0vw; background: none; color: rgb(116, 50, 152); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 0.846354vw; text-decoration: underline; cursor: pointer; padding: 0.520833vw; visibility: hidden; }
.photo-replay:focus-visible, .photo-detail summary:focus-visible { outline: rgb(116, 50, 152) solid 0.130208vw; outline-offset: 0.260417vw; }
.photo-motion.is-playing .photo-scene > img { animation: 10s ease 0s 1 normal both running photoFocus; }
.photo-motion.is-playing .photo-viewfinder { animation: 10s ease 0s 1 normal both running photoFrame; }
.photo-motion.is-playing .photo-rec { animation: 10s ease 0s 1 normal both running photoRec; }
.photo-motion.is-playing .photo-focus-label { animation: 10s ease 0s 1 normal both running photoLabel; }
.photo-motion.is-playing .photo-timeline { animation: 10s ease 0s 1 normal both running photoEdit; }
.photo-motion.is-playing .photo-timeline i { animation: 10s ease 0s 1 normal both running photoPlayhead; }
.photo-motion.is-playing .photo-finale { animation: 10s ease 0s 1 normal both running photoFinal; }
.photo-motion.is-finished .photo-finale { opacity: 1; }
.photo-motion.is-finished + .photo-motion-footer .photo-replay { visibility: visible; }
@media (prefers-reduced-motion: reduce) {
  .photo-motion * { animation: auto ease 0s 1 normal none running none !important; }
  .photo-finale { opacity: 1; }
}
.photo-page .photo-detail .seo-chevron { display: block; border-color: rgb(116, 50, 152); width: 0.651042vw; height: 0.651042vw; flex: 0 0 0.651042vw; }
.photo-page .photo-format-grid article > img { display: block; width: 4.166667vw; height: 4.166667vw; padding: 0.78125vw; margin: 0vw auto 1.5625vw; background: rgb(245, 240, 248); border-radius: 1.171875vw; }
.photo-page .photo-camera-logos img[alt="Sony"] { width: 7.291667vw; height: 2.994792vw; max-width: 28%; }
.photo-page .photo-camera-logos { display: grid; grid-template-columns: repeat(3, minmax(0vw, 1fr)); gap: 1.432292vw 1.822917vw; justify-items: center; }
.photo-page .photo-camera-logos img, .photo-page .photo-camera-logos img[alt="Sony"] { max-width: 100%; width: 6.510417vw; height: 2.734375vw; object-fit: contain; }
.photo-page .photo-camera-logos img[alt="Nikon"] { width: 3.125vw; height: 3.125vw; }
.photo-page .photo-camera-logos img[alt="DJI"] { width: 4.427083vw; }
.photo-page .photo-format-grid article > img { width: 8.59375vw; height: 6.445312vw; padding: 0vw; background: transparent; border-radius: 0vw; margin: 0vw auto 1.627604vw; object-fit: contain; }
.photo-page .photo-detail { background: rgb(255, 255, 255); transition: background 0.2s, border-color 0.2s; }
.photo-page .photo-detail[open] { background: rgb(238, 226, 245); border: 0.130208vw solid rgb(139, 80, 170); box-shadow: rgba(116, 50, 152, 0.047) 0vw 0.325521vw 1.171875vw; }
.photo-page .photo-detail[open] summary { padding: 1.432292vw 1.497396vw 1.171875vw; }
.photo-page .photo-detail[open] > p { padding: 1.171875vw 1.497396vw 1.627604vw; margin: 0vw 1.041667vw; border-top: 0.065104vw solid rgb(201, 169, 220); color: rgb(55, 34, 63); }
.photo-page .photo-detail[open] { background: rgb(255, 255, 255); border: 0.065104vw solid rgb(216, 196, 227); box-shadow: none; }
.photo-page .photo-detail[open] summary { background: rgb(255, 255, 255); padding: 1.497396vw 1.5625vw; }
.photo-page .photo-detail[open] > p { background: rgb(70, 50, 79); color: rgb(245, 242, 247); border-top: 0.065104vw solid rgb(105, 80, 116); margin: 0vw; padding: 1.5625vw; border-radius: 0vw 0vw 0.585938vw 0.585938vw; }
.photo-page .photo-detail[open] > p { background: rgb(255, 255, 255); color: rgb(48, 39, 54); border: 0.130208vw solid rgb(70, 50, 79); border-radius: 0.520833vw; margin: 0vw 0.78125vw 0.78125vw; padding: 1.432292vw; }
.photo-page .photo-detail { margin-bottom: 0.651042vw; }
.photo-page .photo-detail[open] { border: 0.065104vw solid rgb(70, 50, 79); background: rgb(255, 255, 255); }
.photo-page .photo-detail summary, .photo-page .photo-detail[open] summary { padding: 1.106771vw 1.302083vw; }
.photo-page .photo-detail[open] > p { border-width: 0.065104vw 0vw 0vw; border-style: solid none none; border-color: rgb(224, 212, 230) currentcolor currentcolor; border-image: none; border-radius: 0vw; margin: 0vw; padding: 0.976562vw 1.302083vw 1.106771vw; background: rgb(255, 255, 255); color: rgb(48, 39, 54); line-height: 1.65; }
.abi-mobile-instagram { display: none; }
footer.abi-footer { max-width: none; margin: 4.166667vw 0vw 0vw; padding: 0vw 6%; background: rgb(240, 234, 244); border-top: 0.065104vw solid rgb(223, 211, 231); color: rgb(53, 39, 63); }
.abi-footer-inner { max-width: 82.552083vw; margin: 0vw auto; padding: 3.125vw 0vw 1.953125vw; }
.abi-footer-grid { display: grid; grid-template-columns: 1fr 1.1fr 1fr; gap: 2.734375vw; align-items: start; }
.abi-footer-brand > img { width: 11.393229vw; height: auto; display: block; margin: 0vw 0vw 1.171875vw; }
.abi-footer-brand p { font-size: 0.846354vw; line-height: 1.8; max-width: 16.927083vw; margin: 0vw 0vw 1.302083vw; }
.abi-footer-social { font-size: 0.78125vw; font-weight: 600; color: rgb(116, 50, 152); display: inline-flex; align-items: center; gap: 0.585938vw; padding: 0.651042vw 0vw; }
.abi-footer-social img { width: 1.302083vw; height: 1.302083vw; }
.abi-footer h3 { font-size: 0.78125vw; letter-spacing: 0.084635vw; text-transform: uppercase; margin: 0.195312vw 0vw 1.302083vw; color: rgb(116, 50, 152); }
.abi-footer-contact { font-style: normal; display: grid; gap: 1.171875vw; }
.abi-footer-contact > a { display: flex; align-items: flex-start; gap: 0.846354vw; font-size: 0.846354vw; line-height: 1.7; overflow-wrap: anywhere; }
.abi-footer-contact svg { width: 1.367188vw; height: 1.367188vw; flex: 0 0 1.367188vw; color: rgb(116, 50, 152); margin-top: 0.195312vw; }
.abi-footer-contact small { display: block; font-size: 0.651042vw; letter-spacing: 0.045573vw; text-transform: uppercase; color: rgb(117, 102, 126); margin-bottom: 0.130208vw; }
.abi-footer-map iframe { display: block; width: 100%; height: 11.71875vw; border: 0.065104vw solid rgb(216, 201, 225); border-radius: 0.651042vw; background: rgb(233, 225, 238); }
.abi-footer-map > a { display: inline-block; font-size: 0.716146vw; font-weight: 600; color: rgb(116, 50, 152); margin-top: 0.651042vw; padding: 0.325521vw 0vw; }
.abi-footer-bottom { display: flex; justify-content: space-between; gap: 1.041667vw; margin-top: 2.083333vw; border-top: 0.065104vw solid rgb(220, 208, 227); padding-top: 1.302083vw; font-size: 0.716146vw; line-height: 1.6; color: rgb(117, 102, 126); }
}
