.audience-section,.faq-local-section,.contact-section {
  position: relative;
  isolation: isolate;
  width: 100%;
  overflow: clip;
}
.audience-section,.faq-local-section { padding: clamp(76px,9vw,128px) clamp(22px,5.2vw,80px); }
.audience-section { background: #f7f4ed; }
.audience-section::before,.faq-local-section::before {
  position: absolute; z-index: -1; width: min(49vw,700px); aspect-ratio: 1; border: 1px solid rgba(19,166,194,.13); border-radius: 50%; content: ""; pointer-events: none;
}
.audience-section::before { top: -29vw; right: -20vw; box-shadow: 0 0 0 54px rgba(211,76,130,.025),0 0 0 108px rgba(232,199,70,.025); }
.audience-shell,.faq-local-shell { width: min(100%,1450px); margin: 0 auto; }
.audience-header,.faq-header { margin-bottom: clamp(34px,5vw,66px); }
.audience-eyebrow,.contact-eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 0 22px; color: #77736d; font-size: 9px; font-weight: 850; letter-spacing: .17em; text-transform: uppercase; }
.audience-eyebrow > span,.contact-eyebrow > span { color: var(--red); }
.audience-eyebrow i,.contact-eyebrow i { width: 28px; height: 1px; background: rgba(23,23,25,.3); }
.audience-eyebrow b,.contact-eyebrow b { color: #6d6a63; font-size: 8px; }
.audience-heading-row,.faq-heading-row { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(270px,.55fr); align-items: end; gap: 48px; }
.audience-heading-row h2,.faq-heading-row h2 { margin: 0; font: 760 clamp(54px,7.4vw,100px)/.91 var(--font-display,"Manrope",Arial,sans-serif); letter-spacing: -.085em; }
.audience-heading-row h2 em,.faq-heading-row h2 em { color: var(--red); font-family: var(--font-accent,Georgia,serif); font-weight: 500; letter-spacing: -.035em; }
.audience-heading-row > p,.faq-heading-row > p { max-width: 420px; margin: 0 0 4px auto; color: #67635d; font-size: 14px; line-height: 1.85; }
.audience-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; }
.audience-card { --audience-accent: var(--cyan); position: relative; display: flex; min-height: 308px; flex-direction: column; padding: 22px 21px 18px; overflow: hidden; border: 1px solid rgba(23,23,25,.13); border-radius: 4px; background: rgba(255,255,255,.47); transition: transform .38s cubic-bezier(.2,.75,.25,1),border-color .3s ease,background .3s ease,box-shadow .3s ease; }
.audience-card::before { position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: var(--audience-accent); transform: scaleX(.08); transform-origin: left; transition: transform .45s cubic-bezier(.2,.75,.25,1); content: ""; }
.audience-card-brands { --audience-accent: var(--cyan); }
.audience-card-publishers { --audience-accent: var(--magenta); }
.audience-card-manufacturers { --audience-accent: #c3a522; }
.audience-card-agencies { --audience-accent: var(--red); }
.audience-card:hover,.audience-card:focus-within { transform: translateY(-7px); border-color: color-mix(in srgb,var(--audience-accent) 42%,transparent); background: #fffdfa; box-shadow: 0 20px 50px rgba(23,23,25,.075); }
.audience-card:hover::before,.audience-card:focus-within::before { transform: scaleX(1); }
.audience-card-index { color: #817d76; font-size: 8px; font-weight: 850; letter-spacing: .15em; }
.audience-card-index i { color: var(--audience-accent); font-style: normal; }
.audience-card-mark { display: grid; width: 52px; height: 52px; place-items: center; margin-top: 34px; border: 1px solid color-mix(in srgb,var(--audience-accent) 46%,transparent); border-radius: 50%; color: var(--audience-accent); font-size: 23px; transition: transform .5s cubic-bezier(.2,.75,.25,1),background .3s ease,color .3s ease; }
.audience-card:hover .audience-card-mark,.audience-card:focus-within .audience-card-mark { transform: rotate(-12deg) scale(1.08); background: var(--audience-accent); color: #fff; }
.audience-card h3 { margin: 20px 0 8px; font: 720 clamp(23px,2.3vw,32px)/1.05 var(--font-display,"Manrope",Arial,sans-serif); letter-spacing: -.065em; transition: color .25s ease; }
.audience-card:hover h3,.audience-card:focus-within h3 { color: var(--audience-accent); }
.audience-card p { max-width: 310px; margin: 0 0 22px; color: #68645d; font-size: 12px; line-height: 1.72; }
.audience-card-foot { display: flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 13px; border-top: 1px solid rgba(23,23,25,.13); color: #77736d; font-size: 7px; font-weight: 850; letter-spacing: .12em; }
.audience-card-foot i { color: var(--audience-accent); font-style: normal; }
.audience-card-foot b { margin-left: auto; color: var(--audience-accent); font-size: 14px; transition: transform .25s ease; }
.audience-card:hover .audience-card-foot b { transform: translate(2px,-2px); }

.faq-local-section { background: #eeebe3; }
.faq-local-section::before { top: -12vw; left: -28vw; border-color: rgba(211,76,130,.14); box-shadow: 0 0 0 54px rgba(19,166,194,.025),0 0 0 108px rgba(237,96,73,.02); }
.faq-heading-row h2 { font-size: clamp(48px,6.7vw,88px); }
.faq-heading-row h2 em { color: var(--magenta); }
.faq-layout { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(300px,.68fr); align-items: start; gap: clamp(36px,7vw,100px); }
.faq-list { border-top: 1px solid rgba(23,23,25,.2); }
.faq-item { border-bottom: 1px solid rgba(23,23,25,.16); }
.faq-item summary { display: grid; grid-template-columns: 42px minmax(0,1fr) 22px; align-items: center; gap: 12px; min-height: 68px; list-style: none; cursor: pointer; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-number { color: var(--red); font-size: 8px; font-weight: 850; letter-spacing: .1em; }
.faq-item summary > span:nth-child(2) { color: var(--ink); font: 660 clamp(14px,1.4vw,18px)/1.35 var(--font-display,"Manrope",Arial,sans-serif); letter-spacing: -.035em; transition: color .22s ease; }
.faq-item summary > i { position: relative; width: 20px; height: 20px; border: 1px solid rgba(23,23,25,.24); border-radius: 50%; transition: transform .32s ease,border-color .25s ease,background .25s ease; }
.faq-item summary > i::before,.faq-item summary > i::after { position: absolute; top: 9px; left: 5px; width: 8px; height: 1px; background: var(--ink); content: ""; }
.faq-item summary > i::after { transform: rotate(90deg); transition: transform .25s ease; }
.faq-item[open] summary > i { transform: rotate(180deg); border-color: var(--magenta); background: rgba(211,76,130,.1); }
.faq-item[open] summary > i::after { transform: rotate(0); }
.faq-item[open] summary > span:nth-child(2),.faq-item summary:hover > span:nth-child(2) { color: #bf3e72; }
.faq-answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .38s cubic-bezier(.2,.75,.25,1); }
.faq-item[open] .faq-answer { grid-template-rows: 1fr; }
.faq-answer > div { overflow: hidden; }
.faq-answer p { max-width: 670px; margin: 0 36px 22px 54px; color: #68645d; font-size: 12px; line-height: 1.8; }
.faq-item[open] .faq-answer p { animation: faq-copy-in .38s .04s both; }
@keyframes faq-copy-in { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
.jaipur-card { position: sticky; top: 24px; padding: clamp(22px,3vw,34px); overflow: hidden; border: 1px solid rgba(23,23,25,.1); border-radius: 4px; background: #f8f5ee; box-shadow: 0 20px 60px rgba(23,23,25,.055); }
.jaipur-card::after { position: absolute; right: -78px; bottom: -132px; width: 230px; height: 230px; border: 1px solid rgba(19,166,194,.28); border-radius: 50%; box-shadow: 0 0 0 28px rgba(19,166,194,.035),0 0 0 56px rgba(211,76,130,.025); content: ""; pointer-events: none; }
.jaipur-card-top { display: flex; align-items: center; gap: 9px; color: #77736d; font-size: 8px; font-weight: 850; letter-spacing: .17em; }
.jaipur-pin { display: grid; width: 22px; height: 22px; place-items: center; border: 1px solid rgba(237,96,73,.45); border-radius: 50%; color: var(--red); font-size: 15px; }
.jaipur-card-top i { width: 6px; height: 6px; margin-left: auto; border-radius: 50%; background: var(--cyan); box-shadow: 10px 0 var(--magenta),20px 0 var(--yellow),30px 0 var(--ink); }
.jaipur-kicker { margin: 35px 0 10px; color: var(--magenta); font-size: 8px; font-weight: 850; letter-spacing: .18em; }
.jaipur-card h3 { margin: 0; font: 740 clamp(32px,3.5vw,48px)/.98 var(--font-display,"Manrope",Arial,sans-serif); letter-spacing: -.07em; }
.jaipur-copy { max-width: 330px; margin: 16px 0 21px; color: #6d6962; font-size: 12px; line-height: 1.75; }
.jaipur-card address { position: relative; z-index: 1; padding: 14px 0; border-top: 1px solid rgba(23,23,25,.15); border-bottom: 1px solid rgba(23,23,25,.15); color: #45423d; font-size: 11px; font-style: normal; line-height: 1.8; }
.jaipur-contact-links { position: relative; z-index: 1; display: grid; gap: 9px; margin-top: 15px; }
.jaipur-contact-links a { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--ink); font-size: 11px; font-weight: 650; transition: color .2s ease; }
.jaipur-contact-links a:hover { color: var(--red); }
.jaipur-contact-links b { color: var(--red); font-size: 14px; }
.jaipur-map-link { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 24px; padding: 11px 13px; border: 1px solid rgba(23,23,25,.19); border-radius: 999px; color: var(--ink); font-size: 10px; font-weight: 750; transition: background .2s ease,color .2s ease,border-color .2s ease; }
.jaipur-map-link span { color: var(--red); font-size: 14px; }
.jaipur-map-link:hover { border-color: var(--ink); background: var(--ink); color: #fff; }
.jaipur-map-link:hover span { color: #fff; }

.contact-section { padding: clamp(70px,8.5vw,118px) clamp(22px,5.2vw,80px) 0; background: #171719; color: #f3f0e8; }
.contact-section::before { position: absolute; z-index: -1; top: -33vw; left: 16%; width: min(73vw,1050px); aspect-ratio: 1; border: 1px solid rgba(19,166,194,.18); border-radius: 50%; box-shadow: 0 0 0 70px rgba(211,76,130,.025),0 0 0 140px rgba(232,199,70,.02); content: ""; pointer-events: none; }
.contact-shell { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.88fr); align-items: start; gap: clamp(42px,8vw,120px); width: min(100%,1370px); margin: 0 auto; padding-bottom: clamp(65px,8vw,108px); }
.contact-eyebrow { color: rgba(243,240,232,.52); }
.contact-eyebrow i { background: rgba(243,240,232,.36); }
.contact-eyebrow b { color: rgba(243,240,232,.64); }
.contact-heading h2 { margin: 0; font: 740 clamp(48px,6.7vw,88px)/.94 var(--font-display,"Manrope",Arial,sans-serif); letter-spacing: -.085em; }
.contact-heading h2 em { color: #f07861; font-family: var(--font-accent,Georgia,serif); font-weight: 500; letter-spacing: -.035em; }
.contact-heading > p:not(.contact-eyebrow) { max-width: 430px; margin: 22px 0 0; color: rgba(243,240,232,.66); font-size: 13px; line-height: 1.85; }
.contact-direct { display: grid; justify-items: start; gap: 10px; margin-top: clamp(30px,5vw,62px); }
.contact-direct > span { margin-bottom: 3px; color: rgba(243,240,232,.44); font-size: 8px; font-weight: 850; letter-spacing: .16em; }
.contact-direct a { color: #f3f0e8; font-size: 13px; transition: color .2s ease; }
.contact-direct a:hover { color: #f07861; }
.brief-form { padding: clamp(22px,3.5vw,38px); border: 1px solid rgba(243,240,232,.16); border-radius: 5px; background: #f6f3ec; color: var(--ink); box-shadow: 0 28px 80px rgba(0,0,0,.2); }
.brief-form-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 23px; padding-bottom: 14px; border-bottom: 1px solid rgba(23,23,25,.14); color: #77736d; font-size: 8px; font-weight: 850; letter-spacing: .16em; }
.brief-form-heading > span:last-child { display: flex; align-items: center; gap: 8px; }
.brief-form-heading i { width: 6px; height: 6px; border-radius: 50%; background: var(--cyan); box-shadow: 9px 0 var(--magenta),18px 0 var(--yellow),27px 0 var(--ink); }
.brief-field { display: grid; gap: 7px; margin-bottom: 16px; }
.brief-field > span { color: #59564f; font-size: 9px; font-weight: 700; }
.brief-field input,.brief-field select,.brief-field textarea { width: 100%; min-height: 42px; padding: 10px 11px; border: 1px solid rgba(23,23,25,.17); border-radius: 3px; outline: none; background: #fffdfa; color: var(--ink); font: 12px/1.45 var(--font-body,Arial,sans-serif); transition: border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.brief-field textarea { min-height: 82px; resize: vertical; }
.brief-field input::placeholder,.brief-field textarea::placeholder { color: #a09b92; }
.brief-field input:focus,.brief-field select:focus,.brief-field textarea:focus { border-color: var(--cyan); background: #fff; box-shadow: 0 0 0 3px rgba(19,166,194,.11); }
.brief-field-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.brief-submit { display: flex; width: 100%; min-height: 48px; align-items: center; justify-content: space-between; gap: 18px; margin-top: 2px; padding: 0 15px; border: 1px solid var(--ink); border-radius: 3px; background: var(--ink); color: #f3f0e8; font: 650 12px var(--font-body,Arial,sans-serif); cursor: pointer; transition: transform .22s ease,background .22s ease,border-color .22s ease; }
.brief-submit:hover { transform: translateY(-2px); border-color: var(--red); background: var(--red); }
.brief-submit b { font-size: 18px; font-weight: 500; transition: transform .22s ease; }
.brief-submit:hover b { transform: translate(3px,-2px); }
.brief-note { margin: 11px 0 0; color: #77736d; font-size: 9px; line-height: 1.55; }
.contact-footer { display: flex; min-height: 64px; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(243,240,232,.18); color: rgba(243,240,232,.48); font-size: 8px; font-weight: 800; letter-spacing: .13em; }
.contact-brand { color: #f3f0e8; font: 800 12px var(--font-display,Arial,sans-serif); letter-spacing: .08em; }
.contact-brand i { color: #f07861; font-style: normal; }
.contact-footer > a:last-child { color: #f3f0e8; letter-spacing: .02em; }

.audience-reveal { opacity: 1; transform: none; }
html.audience-motion-enabled .audience-reveal { opacity: 0; transform: translateY(24px); transition: opacity .72s cubic-bezier(.2,.75,.25,1),transform .72s cubic-bezier(.2,.75,.25,1); transition-delay: calc(var(--reveal-index,0) * 85ms); }
html.audience-motion-enabled .audience-reveal.is-visible { opacity: 1; transform: translateY(0); }
.audience-heading-row h2,.faq-heading-row h2,.contact-heading h2 { overflow: hidden; }
.audience-heading-row h2 em,.faq-heading-row h2 em,.contact-heading h2 em { display: inline-block; }
.audience-section.is-seen .audience-heading-row h2 em,.faq-local-section.is-seen .faq-heading-row h2 em,.contact-section.is-seen .contact-heading h2 em { animation: audience-title-arrive .9s cubic-bezier(.18,.76,.24,1) both; }
@keyframes audience-title-arrive { from { opacity: 0; transform: translateY(32px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 980px) {
  .audience-heading-row,.faq-heading-row { grid-template-columns: 1fr; gap: 22px; }
  .audience-heading-row > p,.faq-heading-row > p { max-width: 560px; margin: 0; }
  .audience-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .faq-layout { grid-template-columns: minmax(0,1fr) minmax(270px,.75fr); gap: 32px; }
  .contact-shell { grid-template-columns: minmax(0,1fr) minmax(330px,.9fr); gap: 36px; }
}
@media (max-width: 700px) {
  .audience-section,.faq-local-section { padding: 64px 18px; }
  .audience-eyebrow,.contact-eyebrow { gap: 8px; font-size: 8px; }
  .audience-heading-row h2,.faq-heading-row h2 { font-size: clamp(48px,13vw,72px); }
  .audience-grid { gap: 10px; }
  .audience-card { min-height: 285px; padding: 17px 15px 15px; }
  .audience-card-mark { width: 44px; height: 44px; margin-top: 28px; }
  .audience-card h3 { font-size: 23px; }
  .audience-card p { font-size: 11px; }
  .audience-card-foot { flex-wrap: wrap; font-size: 6px; }
  .faq-layout { grid-template-columns: 1fr; }
  .jaipur-card { position: relative; top: auto; }
  .contact-section { padding: 62px 18px 0; }
  .contact-shell { grid-template-columns: 1fr; gap: 34px; }
  .contact-heading h2 { font-size: clamp(48px,12.5vw,74px); }
  .contact-direct { margin-top: 26px; }
  .brief-form { padding: 22px 17px; }
}
@media (max-width: 430px) {
  .audience-grid { grid-template-columns: 1fr; }
  .audience-card { min-height: 238px; }
  .audience-card-mark { margin-top: 23px; }
  .brief-field-row { grid-template-columns: 1fr; gap: 0; }
  .contact-footer { flex-wrap: wrap; justify-content: space-between; padding: 14px 0; }
  .contact-footer > span { order: 3; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .audience-reveal,html.audience-motion-enabled .audience-reveal { opacity: 1; transform: none; transition: none; }
  .audience-heading-row h2 em,.faq-heading-row h2 em,.contact-heading h2 em { animation: none !important; }
  .audience-section *, .faq-local-section *, .contact-section *, .audience-section *::before, .faq-local-section *::before, .contact-section *::before { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Repeating orbital arc carries the hero's semicircle through each section. */
.quality-section::before {
  position: absolute;
  z-index: -1;
  content: "";
  pointer-events: none;
}
.capabilities::before,
.quality-section::before,
.how-it-works::before,
.work-gallery::before,
.audience-section::before,
.faq-local-section::before,
.contact-section::before {
  top: -29vw;
  right: -19vw;
  bottom: auto;
  left: auto;
  width: min(62vw, 850px);
  aspect-ratio: 1;
  border: 1px solid rgba(19,166,194,.13);
  border-radius: 50%;
  box-shadow: 0 0 0 54px rgba(211,76,130,.025), 0 0 0 108px rgba(232,199,70,.02);
}
.capabilities::before { border-color: rgba(243,240,232,.12); }
.quality-section::before,
.how-it-works::before,
.work-gallery::before,
.audience-section::before,
.faq-local-section::before,
.contact-section::before { border-color: rgba(19,166,194,.13); }

main > section::before {
  border-color: rgba(19,166,194,calc(.12 + var(--page-orbit-scroll-border,0) + var(--page-orbit-pointer-border,0)));
  box-shadow: 0 0 0 54px rgba(211,76,130,calc(.018 + var(--page-orbit-scroll-halo,0) + var(--page-orbit-pointer-halo,0))), 0 0 0 108px rgba(232,199,70,calc(.012 + var(--page-orbit-scroll-halo-outer,0) + var(--page-orbit-pointer-halo-outer,0)));
  transform: translate3d(calc(var(--page-orbit-scroll-x,0px) + var(--page-orbit-pointer-x,0px)),calc(var(--page-orbit-scroll-y,0px) + var(--page-orbit-pointer-y,0px)),0) rotate(var(--page-orbit-scroll-turn,0deg));
  transition: border-color .24s ease, box-shadow .24s ease;
  animation: page-orbit-breathe 8s ease-in-out infinite;
}
.capabilities::before { border-color: rgba(243,240,232,calc(.12 + var(--page-orbit-scroll-border,0) + var(--page-orbit-pointer-border,0))); }
html.is-page-orbit-pulsing main > section::before { animation: page-orbit-click-pulse 760ms cubic-bezier(.16,.72,.22,1) both; }
@keyframes page-orbit-breathe { 0%,100% { scale: 1; } 50% { scale: 1.006; } }
@keyframes page-orbit-click-pulse { 0% { scale: 1; } 48% { scale: 1.018; } 100% { scale: 1; } }
@media (max-width: 760px) {
  .hero::before,
  .capabilities::before,
  .quality-section::before,
  .how-it-works::before,
  .work-gallery::before,
  .audience-section::before,
  .faq-local-section::before,
  .contact-section::before {
    top: -36vw;
    right: -40vw;
    width: 88vw;
  }
}
@media (prefers-reduced-motion: reduce) {
  main > section::before { animation: none !important; transform: none !important; }
}
