/* Shared finishing layer: softer ink, compact rhythm and living geometric accents. */
:root {
  --navy: #37445e;
  --privacy-heading: #37445e;
  --muted: #637189;
  --muted-soft: #728098;
  --shadow-card: 0 12px 32px -16px #485c8b24;
}
body { background: #f5f8fc; color: var(--navy); }
h1, h2, h3, h4, h5, h6 { font-weight: 700; }
.hero-title, .contact-title, .section-title,
.hero-section h1, .services-hero h1, .blog-main h1, .privacy-hero h1,
.thankyou-page h1 { color: var(--navy); font-weight: 700; letter-spacing: -.045em; }
.section-desc, .contact-subtitle, .hero-copy, .hero-subtitle { color: var(--muted); }
.service-card h3, .info-title, .blog-post h3, .blog-featured h2,
.website-card h3, .stat-value, .privacy-section h2, .privacy-section h3 {
  color: var(--navy); font-weight: 700;
}
.hero { padding: clamp(2.5rem, 5vw, 4.5rem) 0 2.75rem; }
.hero-title { font-size: clamp(2.65rem, 6vw, 4.7rem); line-height: 1.1; }
.hero .stats-row { margin-top: 2rem; }
.services-section, .faq-section, .testimonials-section, .testimonial-section,
.website-showcase, .services-overview, .services-method {
  padding-top: clamp(2.5rem, 4.5vw, 4rem);
  padding-bottom: clamp(2.5rem, 4.5vw, 4rem);
}
.services-hero, .hero-section, .privacy-hero { padding-block: clamp(2rem, 4vw, 3.5rem); }
.brand-showcase { padding-block: 1.65rem; }

.hero-visual { max-width: 360px; }
.blog-main { padding: 0; }
.blog-main .hero-split { margin-bottom: 0; }
.blog-grid { gap: 22px; }
.blog-featured { margin-bottom: 28px; }
.privacy-section { border-color: #e4eaf5; }
.privacy-content { padding-top: 2.5rem; }
.agency-footer { background: linear-gradient(140deg, #f1f5ff, #f8f5ff 55%, #f0faf9); }
.agency-footer h2 { color: #46536d; }

/* Neutral blue surfaces give saturated motion accents a clear backdrop. */
.hero, .contact-hero, .services-hero, .hero-section, .privacy-hero {
  background: linear-gradient(115deg, #edf6f8 0%, #eef2fa 55%, #e7edf9 100%);
}
.services-overview, .services-section, .website-showcase { background: #f8faff; }
.services-method, .faq-section, .testimonials-section, .testimonial-section { background: #edf3f9; }
.brand-showcase { background: #fff; padding-block: 30px; border: 0; }
.brand-marquee {
  mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent);
}
.brand-marquee-track { animation-duration: 55s; }
.brand-marquee-group { gap: 24px; padding: 0 12px; }
.brand-logo-crop {
  position: relative;
  display: block;
  flex: 0 0 auto;
  width: min(150px, calc(44px * var(--logo-ratio)));
  aspect-ratio: var(--logo-ratio);
  overflow: hidden;
}
.brand-logo-crop-dark { background: #26344d; }
.brand-logo-crop-nike { background: #000; }
.brand-marquee-group .brand-logo-crop img,
.brand-marquee-group .brand-logo-crop img:hover {
  position: absolute;
  display: block;
  left: var(--crop-left);
  top: var(--crop-top);
  width: var(--crop-width);
  height: var(--crop-height);
  max-width: none;
  padding: 0;
  border: 0;
  background: transparent;
  filter: none;
  opacity: 1;
  object-fit: fill;
  mix-blend-mode: normal;
  transform: none;
}
/* Crop source-file margins without changing the original brand artwork. */
.brand-logo-crop-bharat-f-s { --logo-ratio: 2.51693852; --crop-width: 100.00000000%; --crop-height: 100.12547051%; --crop-left: 0.00000000%; --crop-top: -0.12547051%; }
.brand-logo-crop-jockey { --logo-ratio: 5.78723404; --crop-width: 100.00000000%; --crop-height: 100.00000000%; --crop-left: 0.00000000%; --crop-top: 0.00000000%; }
.brand-logo-crop-hero { --logo-ratio: 3.03200000; --crop-width: 100.52770449%; --crop-height: 102.40000000%; --crop-left: 0.00000000%; --crop-top: -0.80000000%; }
.brand-logo-crop-yatharth { --logo-ratio: 2.71929825; --crop-width: 100.00000000%; --crop-height: 100.00000000%; --crop-left: 0.00000000%; --crop-top: 0.00000000%; }
.brand-logo-crop-food-mantra { --logo-ratio: 1.23232323; --crop-width: 249.18032787%; --crop-height: 100.00000000%; --crop-left: -24.59016393%; --crop-top: 0.00000000%; }
.brand-logo-crop-bharat-electricity { --logo-ratio: 3.95918367; --crop-width: 104.81099656%; --crop-height: 121.76870748%; --crop-left: -2.74914089%; --crop-top: -13.60544218%; }
.brand-logo-crop-fc { --logo-ratio: 4.95145631; --crop-width: 100.52287582%; --crop-height: 101.29449838%; --crop-left: -0.26143791%; --crop-top: -0.64724919%; }
.brand-logo-crop-fc-glass { --logo-ratio: 0.61172161; --crop-width: 179.64071856%; --crop-height: 126.73992674%; --crop-left: -32.63473054%; --crop-top: -10.62271062%; }
.brand-logo-crop-osi { --logo-ratio: 3.48514851; --crop-width: 100.00000000%; --crop-height: 100.00000000%; --crop-left: 0.00000000%; --crop-top: 0.00000000%; }
.brand-logo-crop-eppe { --logo-ratio: 0.69863014; --crop-width: 122.54901961%; --crop-height: 113.69863014%; --crop-left: -12.09150327%; --crop-top: -7.76255708%; }
.brand-logo-crop-nailashes { --logo-ratio: 6.87437186; --crop-width: 103.58187135%; --crop-height: 124.62311558%; --crop-left: -1.75438596%; --crop-top: -13.56783920%; }
.brand-logo-crop-pathkindlabs { --logo-ratio: 4.85000000; --crop-width: 103.09278351%; --crop-height: 117.50000000%; --crop-left: -1.54639175%; --crop-top: -10.00000000%; }
.brand-logo-crop-mahendras { --logo-ratio: 5.73333333; --crop-width: 106.31229236%; --crop-height: 200.00000000%; --crop-left: -3.32225914%; --crop-top: -50.47619048%; }
.brand-logo-crop-grpc-2027 { --logo-ratio: 2.94117647; --crop-width: 100.00000000%; --crop-height: 100.00000000%; --crop-left: 0.00000000%; --crop-top: 0.00000000%; }
.brand-logo-crop-voltas { --logo-ratio: 2.31644144; --crop-width: 101.31259115%; --crop-height: 102.81531532%; --crop-left: -0.53475936%; --crop-top: -0.56306306%; }
.brand-logo-crop-powergen-india { --logo-ratio: 4.13970588; --crop-width: 104.08525755%; --crop-height: 126.47058824%; --crop-left: -2.13143872%; --crop-top: -14.70588235%; }
.brand-logo-crop-livguard { --logo-ratio: 2.88705234; --crop-width: 157.44274809%; --crop-height: 227.27272727%; --crop-left: -28.72137405%; --crop-top: -63.63636364%; }
.brand-logo-crop-nike { --logo-ratio: 2.88461538; --crop-width: 170.66666667%; --crop-height: 276.92307692%; --crop-left: -35.16666667%; --crop-top: -88.94230769%; }
.brand-logo-crop-energdive-logo { --logo-ratio: 6.44871795; --crop-width: 101.78926441%; --crop-height: 110.25641026%; --crop-left: -0.79522863%; --crop-top: -5.12820513%; }
.brand-showcase:hover .brand-marquee-track,
.brand-showcase:focus-within .brand-marquee-track { animation-play-state: paused; }
.brand-marquee:focus-visible { outline: 2px solid var(--purple); outline-offset: 4px; }
@media (max-width: 767.98px) {
  .brand-showcase { padding-block: 24px; }
  .brand-marquee-group { gap: 20px; padding-inline: 10px; }
  .brand-logo-crop { width: min(120px, calc(34px * var(--logo-ratio))); }
}
@media (prefers-reduced-motion: reduce) {
  .brand-marquee { mask-image: none; -webkit-mask-image: none; }
}
.hero-blob, .services-hero-glow { opacity: .1; }
.agency-footer { background: #edf3f8; }

.service-icon, .stat-icon, .capability-icon { box-shadow: 0 5px 14px #526ea516; }
.section-title::after {
  content: ''; display: block; width: 46px; height: 3px;
  margin-top: .8rem; border-radius: 99px;
  background: linear-gradient(90deg, #30a7c4, #9a74e5);
}
.text-center .section-title::after { margin-inline: auto; }
.section-title.motion-item::after { transition: width .8s cubic-bezier(.22, 1, .36, 1); }
.section-title.is-visible::after { width: 74px; }

/* Soft surfaces and deliberate hover details across the site. */
.service-card, .stat-card, .info-card, .website-card, .blog-post, .blog-featured,
.testimonial-card, .privacy-intro-card, .privacy-mini-card, .method-step {
  border-color: #e5eaf6; box-shadow: 0 10px 30px -16px #43568630;
}
.service-card, .stat-card, .website-card, .blog-post, .method-step {
  background: linear-gradient(150deg, #fff, #fcfcff);
}
.btn-gradient {
  background: linear-gradient(110deg, #058fc4, #5262d4 52%, #8555dc);
  font-weight: 700; border: 0; box-shadow: 0 8px 20px #6d60ce26;
}
.btn-gradient > i { transition: transform .25s ease; }
.btn-gradient:hover > i { transform: translateX(4px); }
@media (hover: hover) {
  .website-card:hover, .blog-post:hover, .method-step:hover {
    transform: translateY(-5px); border-color: #b6a9eb;
    box-shadow: 0 18px 38px -18px #655aaa45;
  }
  .blog-post, .website-card, .method-step {
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease,
      opacity .7s ease, translate .8s cubic-bezier(.22, 1, .36, 1), scale .8s ease;
  }
}

/* Discovery form: warm invitation, grouped fields and crisp input affordances. */
.contact-hero { padding-block: 2rem 2.75rem; }
.contact-hero .contact-intro { gap: 1.3rem 2.25rem; margin-bottom: 0; }
.contact-hero .contact-intro h1.contact-title { font-size: clamp(2.2rem, 3.4vw, 3.15rem); line-height: 1.16; }
.contact-intro .contact-subtitle { line-height: 1.7; font-size: 1rem; }
.contact-value-strip { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.1rem; }
.contact-value-strip span {
  display: inline-flex; align-items: center; gap: .4rem;
  border: 1px solid #e2e7f4; border-radius: 99px; background: #ffffffa6;
  padding: .4rem .7rem; font-size: .73rem; color: #61718c;
}
.contact-value-strip i { color: #8875ce; }
.contact-intro .form-card {
  position: relative; overflow: hidden; border: 1px solid #e3def6;
  border-radius: 25px; padding: 0;
  background: #fff; box-shadow: 0 20px 55px -22px #7163b545;
}
.contact-intro .form-card:hover { transform: none; }
.discovery-form-header {
  display: flex; align-items: flex-start; gap: 1rem;
  padding: 1.5rem 1.5rem 1.2rem;
  background: radial-gradient(circle at 100% 0, #dcd9fa 0, transparent 45%), linear-gradient(120deg, #edf9fc, #f4f1ff);
  border-bottom: 1px solid #e8e5f5;
}
.form-header-icon {
  flex: 0 0 45px; height: 45px; display: grid; place-items: center;
  color: #fff; border-radius: 14px; background: linear-gradient(140deg, #35a5c0, #9770dc);
  box-shadow: 0 6px 18px #8060bd25;
}
.form-kicker { display: block; color: #7c70a8; font-size: .65rem; letter-spacing: .14em; font-weight: 700; margin-bottom: .4rem; }
.contact-intro .discovery-form-header .info-title { font-size: 1.35rem; line-height: 1.3; margin-bottom: .4rem; letter-spacing: -.035em; }
.discovery-form-header .form-subtitle { font-size: .85rem; line-height: 1.55; margin: 0; }
.form-trust-strip {
  display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.4rem;
  padding: .75rem 1.5rem; background: #fcfcff; border-bottom: 1px solid #eef0f8;
  font-size: .72rem; color: #708098;
}
.form-trust-strip i { color: #5d9e9e; margin-right: .25rem; }
#discoveryRequest { padding: 1.2rem 1.5rem 1.4rem; }
.form-section-label { display: flex; align-items: center; gap: .55rem; color: #69798f; font-size: .78rem; font-weight: 600; }
.form-section-label span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 8px; background: #f0edfc; color: #8973bc; font-size: .68rem; }
#discoveryRequest .form-label-custom { color: #596680; font-size: .76rem; font-weight: 600; margin-bottom: .4rem; }
.field-shell { position: relative; }
.field-shell > i { position: absolute; top: 50%; left: .85rem; translate: 0 -50%; font-size: .85rem; color: #99a5bc; pointer-events: none; transition: color .2s; }
.contact-intro .field-shell .custom-input { padding-left: 2.35rem; }
.contact-intro .custom-input {
  border: 1px solid #e3e8f2; border-radius: 11px; background-color: #f9faff;
  padding: .65rem .8rem; color: #52607a; font-size: .85rem;
  transition: background-color .2s, border-color .2s, box-shadow .2s;
}
.contact-intro .custom-input::placeholder { color: #8996ab; }
.contact-intro .custom-input:hover { border-color: #c7c3e4; }
.contact-intro .custom-input:focus { background-color: #fff; border-color: #9d89d5; box-shadow: 0 0 0 3px #9879d312; }
.field-shell:focus-within > i { color: #8b71bf; }
#discoveryRequest .check-row { padding: .65rem .8rem; border: 1px solid #e8edf5; border-radius: 11px; background: #f7f9fe; font-size: .74rem; line-height: 1.5; color: #6c7b91; }
#discoveryRequest .check-row input { accent-color: #8871c7; }
#discoveryRequest .btn { border-radius: 12px; padding: .85rem 1rem; font-size: .9rem; }
#discoveryRequest .form-fineprint { margin-top: .75rem; margin-bottom: 0; font-size: .7rem; color: #7b879d; text-align: center; }
.contact-intro .contact-details-grid { gap: 1rem; }
.contact-details-grid .info-card { padding: 1.25rem; border-radius: 18px; }
.contact-details-grid .info-title { font-size: 1.1rem; margin-bottom: 1rem; }
.contact-details-grid .step-list li { padding-bottom: 1rem; }
.contact-details-grid .step-list { margin-bottom: .6rem; }
.contact-details-grid .step-list h3 { font-weight: 600; color: #52627b; }
.contact-details-grid .response-time { font-size: .75rem; }

@media (max-width: 991.98px) {
  .hero-visual { max-width: 270px; }
  .hero-split { gap: 1rem; }
  .contact-hero .contact-intro { gap: 1.35rem; }

}
@media (max-width: 575.98px) {
  .hero { padding-top: 2.25rem; }
  .section-title { font-size: 1.85rem; }
  .contact-hero { padding-top: 1.5rem; }
  .discovery-form-header { padding: 1.2rem 1rem; gap: .7rem; }
  .form-header-icon { flex-basis: 36px; height: 36px; border-radius: 11px; }
  .contact-intro .discovery-form-header .info-title { font-size: 1.15rem; }
  #discoveryRequest { padding: 1rem; }
  .form-trust-strip { padding-inline: 1rem; font-size: .68rem; }
  .contact-value-strip { gap: .4rem; }
  .contact-value-strip span { font-size: .68rem; padding: .35rem .6rem; }

}
@media (prefers-reduced-motion: reduce) {
  .btn-gradient > i, .section-title::after, .custom-input, .field-shell > i { transition: none; }
  .website-card:hover, .blog-post:hover, .method-step:hover { transform: none; }
}
@keyframes detail-arrive {
  from { opacity: .3; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: no-preference) {
  .scene-visible .detail-reveal { animation: detail-arrive .8s cubic-bezier(.22, 1, .36, 1) var(--step-delay, 0ms) both; }
}

/* Directional entries use independent translation, preserving card hover transforms. */
.motion-item[data-motion-direction="left"] { --entry-x: -38px; --entry-y: 0px; }
.motion-item[data-motion-direction="right"] { --entry-x: 38px; --entry-y: 0px; }
.motion-item[data-motion-direction="top"] { --entry-x: 0px; --entry-y: -28px; }
.motion-item[data-motion-direction="bottom"] { --entry-x: 0px; --entry-y: 28px; }
.motion-item[data-motion-direction="zoom"] { --entry-x: 0px; --entry-y: 0px; }
.motion-ready .motion-item:not(.is-visible):not(.is-above):not(:focus-within) {
  translate: var(--entry-x, 0px) var(--entry-y, 28px);
}
.motion-ready .motion-item[data-motion-direction="zoom"]:not(.is-visible):not(:focus-within) { scale: .94; }

/* Word wrappers keep the original text and inline markup available to readers. */
.word-token, .word-ink {
  display: inline-block; max-width: 100%; vertical-align: baseline;
  font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit;
  letter-spacing: inherit; color: inherit; background: none !important;
  overflow-wrap: anywhere;
}
.word-token { perspective: 500px; }
/* Page heading span rules must not recolor newly added word wrappers. */
:is(.services-hero, .hero-section, .privacy-hero) h1 :is(.word-token, .word-ink) {
  color: inherit; -webkit-text-fill-color: currentColor;
}
.hero-title .text-gradient .word-ink,
.blog-main .blog-g .word-ink,
.hero-section h1 > span:not(.word-token) .word-ink,
.services-hero h1 > span:not(.word-token) .word-ink,
.thankyou-page h1 .g .word-ink,
.privacy-hero h1 > span:not(.word-token) .word-ink {
  background-image: var(--primary-gradient) !important;
  background-color: transparent !important;
  background-clip: text !important; -webkit-background-clip: text !important;
  color: transparent; -webkit-text-fill-color: transparent;
}
@keyframes word-rise {
  from { opacity: 0; transform: translateY(14px) rotateX(-12deg); }
  to { opacity: 1; transform: translateY(0) rotateX(0); }
}
@keyframes paragraph-word {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
.advanced-motion-ready .word-reveal:not(.words-visible) .word-ink { opacity: 0; }
.advanced-motion-ready .words-visible .word-ink {
  animation: word-rise .55s cubic-bezier(.22, 1, .36, 1) var(--word-delay, 0ms) both;
}
.advanced-motion-ready p.words-visible .word-ink {
  animation-name: paragraph-word; animation-duration: .4s;
}
.word-reveal:focus-within .word-ink { opacity: 1 !important; }

/* Buttons enter from four directions and respond to hover and press. */
.action-reveal[data-action-direction="left"] { --action-x: -24px; --action-y: 0px; }
.action-reveal[data-action-direction="right"] { --action-x: 24px; --action-y: 0px; }
.action-reveal[data-action-direction="top"] { --action-x: 0px; --action-y: -18px; }
.action-reveal[data-action-direction="bottom"] { --action-x: 0px; --action-y: 18px; }
@keyframes action-arrive {
  from { opacity: 0; translate: var(--action-x, 0px) var(--action-y, 18px); }
  to { opacity: 1; translate: 0 0; }
}
.advanced-motion-ready .action-reveal:not(.action-visible):not(:focus-visible) { opacity: 0; }
.advanced-motion-ready .action-visible { animation: action-arrive .65s cubic-bezier(.22, 1, .36, 1) var(--action-delay, 0ms) backwards; }
.btn { position: relative; isolation: isolate; overflow: hidden; }
.btn::before {
  content: ''; position: absolute; inset: -50% auto -50% -70%;
  width: 40%; pointer-events: none; rotate: 22deg;
  background: linear-gradient(90deg, transparent, #ffffff55, transparent);
  transition: left .6s ease;
}
.btn:hover::before, .btn:focus-visible::before { left: 130%; }
.btn:active { scale: .97; }
.btn i.fa-arrow-down { transition: transform .25s ease; }
.btn:hover i.fa-arrow-down { transform: translateY(4px); }
.btn:hover i.fa-arrow-left { transform: translateX(-4px); }

@media (max-width: 575.98px) {
  .motion-item[data-motion-direction="left"] { --entry-x: -18px; }
  .motion-item[data-motion-direction="right"] { --entry-x: 18px; }

}
@media (prefers-reduced-motion: reduce) {
  .motion-ready .motion-item { translate: none !important; scale: 1 !important; }
  .word-ink, .action-reveal { opacity: 1 !important; animation: none !important; }
  .btn::before { display: none; }
}
/* Preserve the existing horizontal scroll stage while directional reveals run elsewhere. */
.services-scroll.is-pinned .services-stage .motion-item { translate: none !important; scale: 1 !important; }

/* Full-width sections use the same Bootstrap container as the rest of the site. */
.blog-main, .thankyou-page main { display: block; width: 100%; max-width: none; margin: 0; padding: 0; }
.blog-hero, .thankyou-hero {
  padding-block: clamp(2rem, 4vw, 3.5rem);
  background: linear-gradient(115deg, #edf6f8, #eef2fa 55%, #e7edf9);
}
.blog-content, .thankyou-next { padding-block: clamp(2rem, 4vw, 3.5rem); background: #f8faff; }
.blog-main > section { width: 100%; margin: 0; }
.thankyou-page .thankyou-next .card { padding: clamp(1.25rem, 3vw, 2rem); }
.thankyou-next .chips { justify-content: center; margin-top: 1.5rem; }
.thankyou-page .thankyou-hero .hero-split { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); }

@media (max-width: 991.98px) {
  .thankyou-page .thankyou-hero .hero-split { grid-template-columns: minmax(0, 1fr); }
}



/* Keep each FAQ question in a single flex child so words wrap naturally. */
.custom-accordion .accordion-button { display: flex; align-items: flex-start; gap: 1rem; text-align: left; }
.custom-accordion .faq-question {
  display: block; flex: 1 1 auto; min-width: 0;
  white-space: normal; word-break: normal; overflow-wrap: break-word;
  font-family: inherit; line-height: 1.5;
}
.custom-accordion .accordion-button::after {
  flex: 0 0 18px; width: 18px; height: 18px; background-size: 18px;
  margin-left: 0; margin-top: .2rem;
}
.custom-accordion .accordion-button:focus-visible { box-shadow: inset 0 0 0 3px #9b8ade60; }
@media (max-width: 767.98px) {
  .faq-section { padding-block: 2.25rem; }
  .faq-section .section-title { max-width: 18ch; margin-inline: auto; font-size: clamp(1.6rem, 6vw, 2rem); line-height: 1.25; }
  .faq-section .section-desc { font-size: .95rem; line-height: 1.65; margin-bottom: 0; }
  .faq-section .custom-accordion { margin-top: 1.5rem !important; }
  .custom-accordion .accordion-item { border: 1px solid #e0e8f2; border-radius: 15px !important; margin-bottom: .75rem; box-shadow: 0 6px 18px #526c8d0a; }
  .custom-accordion .accordion-header { margin: 0; }
  .custom-accordion .accordion-button { padding: 1rem; font-size: .94rem; font-weight: 600; line-height: 1.5; gap: .75rem; }
  .custom-accordion .accordion-body { padding: 0 1rem 1rem; font-size: .875rem; line-height: 1.75; }
  .faq-section .nda-banner { margin-top: 1.5rem; padding: 1rem; gap: .75rem; }
  .faq-section .nda-text { min-width: 0; flex: 1 1 calc(100% - 54px); }
  .faq-section .nda-text h4 { line-height: 1.45; }
  .faq-section .nda-text p { line-height: 1.6; }
  .faq-section .nda-banner .btn { width: 100%; white-space: normal; }
}

/* Shared Services navigation: hover on desktop, tap to expand on mobile. */
.site-header .services-dropdown {
  position: relative;
}

.site-header .services-dropdown > .dropdown-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  background: transparent;
  font-family: inherit;
  text-align: left;
}

.site-header .services-dropdown > .dropdown-toggle::after {
  margin-left: .15rem;
  transition: transform .25s ease;
}

.site-header .services-dropdown.is-open > .dropdown-toggle::after {
  transform: rotate(180deg);
}

.site-header .services-dropdown > .dropdown-toggle:focus-visible,
.site-header .services-dropdown-list a:focus-visible {
  outline: 2px solid var(--purple-dark, #654fe0);
  outline-offset: 3px;
}

.site-header .services-dropdown-panel {
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 1010;
  width: min(840px, calc(100vw - 2rem));
  padding-top: .6rem;
  opacity: 0;
  visibility: hidden;
  transform: translate(-40%, 8px);
  transition: opacity .25s ease, transform .25s ease, visibility 0s linear .25s;
}

.site-header .services-dropdown.is-open > .services-dropdown-panel {
  opacity: 1;
  visibility: visible;
  transform: translate(-40%, 0);
  transition-delay: 0s;
}

.site-header .services-dropdown-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .2rem .5rem;
  margin: 0;
  padding: .5rem;
  list-style: none;
  border: 1px solid #e8e3ff;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 40px rgba(20, 29, 53, .12);
}

.site-header .services-dropdown-list > li {
  min-width: 0;
}

.site-header .services-dropdown-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .7rem .9rem;
  border-radius: 9px;
  color: #536078;
  font-size: .9rem;
  font-weight: 500;
  height: 100%;
  overflow-wrap: anywhere;
  text-decoration: none;
  transition: color .2s ease, background .2s ease;
}

.site-header .services-dropdown-list a:hover,
.site-header .services-dropdown-list a:focus-visible {
  color: var(--purple-dark, #654fe0);
  background: #f1efff;
}

.site-header .services-dropdown-all {
  grid-column: 1 / -1;
  margin-top: .35rem;
  padding-top: .35rem;
  border-top: 1px solid #e8e3ff;
}

.site-header .services-dropdown-all a {
  color: var(--purple-dark, #654fe0);
  font-weight: 700;
}

@media (min-width: 992px) {
  .site-header .services-dropdown-list {
    max-height: calc(100dvh - 120px);
    overflow-y: auto;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .site-header .services-dropdown-panel {
    width: 620px;
  }

  .site-header .services-dropdown-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .site-header .navbar-collapse.show {
    max-height: calc(100dvh - 100px);
    overflow-y: auto;
  }

  .site-header .services-dropdown > .dropdown-toggle {
    display: flex;
  }

  .site-header .services-dropdown-panel {
    position: static;
    display: grid;
    grid-template-rows: 0fr;
    width: 100%;
    padding-top: 0;
    transform: none;
    transition: grid-template-rows .28s ease, opacity .25s ease, visibility 0s linear .28s;
  }

  .site-header .services-dropdown.is-open > .services-dropdown-panel {
    grid-template-rows: 1fr;
    transform: none;
  }

  .site-header .services-dropdown-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: 0;
    overflow: hidden;
    margin: 0 .5rem;
    padding: 0;
    border: 0;
    border-radius: 12px;
    background: #f8f7ff;
    box-shadow: none;
  }

  .site-header .services-dropdown-list a {
    padding: .65rem .9rem;
  }
}

@media (max-width: 575.98px) {
  .site-header .services-dropdown-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header .services-dropdown-panel,
  .site-header .services-dropdown > .dropdown-toggle::after,
  .site-header .services-dropdown-list a {
    transition: none;
  }
}

/* Gradient phrases slide upward through a fixed mask; heading sizing stays stable. */
h1 span.hero-gradient-motion {
  display: inline-grid;
  position: relative;
  width: max-content;
  max-width: 100%;
  white-space: nowrap;
  vertical-align: bottom;
  clip-path: inset(-.12em -.03em -.16em);
  background: none;
  color: inherit;
  -webkit-text-fill-color: currentColor;
}

/* Keep the lead-in and rotating phrase together in compact mobile heroes. */
@media (max-width: 767.98px) {
  :is(.services-hero, .hero-section) h1 {
    font-size: clamp(2.2rem, 7.5vw, 4.5rem);
    line-height: 1.15;
  }

  :is(.services-hero, .hero-section) h1 span.hero-gradient-motion {
    display: inline-grid;
    margin-top: 0;
    line-height: 1.15;
    vertical-align: bottom;
  }
}

h1 .hero-gradient-motion :is(.hero-slide-face, .hero-slide-sizer) {
  grid-area: 1 / 1;
  min-width: 0;
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  white-space: nowrap;
  background-image: var(--primary-gradient, var(--grad-primary));
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

h1 .hero-gradient-motion .hero-slide-sizer {
  visibility: hidden;
  pointer-events: none;
}

h1 .hero-gradient-motion .hero-slide-face {
  transform: translateY(0);
}

h1 .hero-gradient-motion .hero-slide-next {
  visibility: hidden;
}

@keyframes hero-slide-out {
  from { transform: translateY(0); }
  49% { opacity: 1; }
  50%, to { transform: translateY(-120%); opacity: 0; }
}

@keyframes hero-slide-in {
  from, 50% { transform: translateY(120%); opacity: 0; }
  51% { opacity: 1; }
  to { transform: translateY(0); }
}

h1 .hero-gradient-motion.is-sliding .hero-slide-current {
  animation: hero-slide-out .75s cubic-bezier(.65, 0, .35, 1) both;
}

h1 .hero-gradient-motion.is-sliding .hero-slide-next {
  visibility: visible;
  animation: hero-slide-in .75s cubic-bezier(.65, 0, .35, 1) both;
}

@media (prefers-reduced-motion: reduce) {
  h1 .hero-gradient-motion.is-sliding .hero-slide-face {
    animation: none;
  }
  h1 .hero-gradient-motion .hero-slide-next {
    visibility: hidden !important;
  }
}

/* The enquiry form is part of the footer, above its navigation links. */
.growth-enquiry-section {
  position: relative;
  padding: 0 0 clamp(2rem, 4vw, 3rem);
  margin-bottom: clamp(2rem, 4vw, 3rem);
  border-bottom: 1px solid var(--border-soft, #e3e7f2);
}

.growth-enquiry-card {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: start;
}

.growth-enquiry-heading { margin-bottom: 2rem; }
.growth-enquiry-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: .85rem;
  color: var(--purple-dark);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.growth-enquiry-heading h2 {
  margin: 0 0 .75rem;
  color: var(--navy);
  font-family: var(--headingfont, inherit);
  font-size: clamp(1.7rem, 3vw, 2.65rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.045em;
}
.growth-enquiry-heading h2 > span {
  background: var(--primary-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
.growth-enquiry-heading p { margin: 0; color: var(--muted); font-size: .95rem; }
.growth-enquiry-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.15rem 1.5rem;
}
.growth-enquiry-field { min-width: 0; }
.growth-enquiry-field-wide { grid-column: 1 / -1; }
.growth-enquiry-field label {
  display: block;
  margin-bottom: .45rem;
  color: #35425a;
  font-size: .85rem;
  font-weight: 600;
}
.growth-enquiry-field label > span { color: var(--purple-dark); }
.growth-enquiry-field :is(input, textarea, select) {
  display: block;
  width: 100%;
  min-height: 48px;
  padding: .8rem 1rem;
  border: 1px solid #d9e0ed;
  border-radius: 11px;
  background: #f8faff;
  color: var(--navy);
  font-family: inherit;
  font-size: .9rem;
  line-height: 1.5;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.growth-enquiry-field textarea { min-height: 120px; resize: vertical; }
.growth-enquiry-field :is(input, textarea)::placeholder { color: #8490a5; }
.growth-enquiry-field :is(input, textarea, select):focus {
  outline: none;
  border-color: #8b72e8;
  background: #fff;
  box-shadow: 0 0 0 3px #7654e51a;
}
.growth-enquiry-consent {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  margin: 1.35rem 0;
  color: #536078;
  font-size: .82rem;
  line-height: 1.6;
}
.growth-enquiry-consent input {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  margin-top: .15rem;
  accent-color: var(--purple);
}
.growth-enquiry-consent a { color: var(--purple-dark); text-decoration: underline; text-underline-offset: 3px; }
.growth-enquiry-consent input:focus-visible { outline: 2px solid var(--purple); outline-offset: 3px; }
.growth-enquiry-privacy { margin: 1rem 0; color: var(--muted); font-size: .8rem; }
.growth-enquiry-privacy a { color: var(--purple-dark); text-decoration: underline; }
.growth-enquiry-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  min-width: 220px;
  min-height: 48px;
}
@media (max-width: 767.98px) {
  .growth-enquiry-card { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .growth-enquiry-heading { margin-bottom: 0; }
}
@media (max-width: 575.98px) {
  .growth-enquiry-fields { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .growth-enquiry-card { border-radius: 18px; }
  .growth-enquiry-submit { width: 100%; min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .growth-enquiry-field :is(input, textarea, select) { transition: none; }
}
/* Preserve the heading gradient after the shared word reveal adds wrappers. */
.growth-enquiry-heading h2 > span .word-ink {
  background-image: var(--primary-gradient) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

/* Industry coverage follows the site's light surfaces and brand colors. */
.industry-section { padding: 1.5rem 0 2.5rem; background: #f8faff; }
.industry-panel {
  padding: 2rem 1.5rem;
  border: 1px solid #dedff3;
  border-radius: 22px;
  background: linear-gradient(120deg, #f1f7ff, #faf6ff);
  box-shadow: 0 8px 28px #4b548b08;
}
.industry-panel h2 {
  margin: 0 0 1.7rem;
  color: var(--purple-dark);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .2em;
  line-height: 1.6;
  text-align: center;
  text-transform: uppercase;
}
.industry-grid {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  gap: 1.25rem .7rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.industry-grid li { display: grid; justify-items: center; gap: .85rem; text-align: center; }
.industry-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 13px; background: #e8eafd; }
.industry-icon i { font-size: 1.3rem; background: var(--primary-gradient); background-clip: text; -webkit-background-clip: text; color: transparent; }
.industry-grid li > span:last-child { color: var(--navy); font-size: .69rem; font-weight: 800; text-transform: uppercase; }

.agency-footer-grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, .85fr) minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 1.25fr); gap: 20px; }
.agency-footer-column h2 > i { flex-shrink: 0; }
.agency-footer-column h2 > span { min-width: 0; }
.agency-footer-column h2 .word-token { white-space: nowrap; overflow-wrap: normal; }
.agency-footer-bottom { padding-block: 18px; }
.footer-certifications { min-width: 0; margin: 0; padding-top: 0; }
.agency-footer .footer-certifications h2 { display: flex; align-items: flex-start; gap: .6rem; margin: 0 0 1rem; font-size: 1rem; line-height: 1.45; }
.footer-certifications h2 > i { flex-shrink: 0; margin-top: .2rem; color: var(--purple); }
.agency-footer .footer-certification-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin: 0; padding: 0; list-style: none; }
.agency-footer .footer-certification-grid li {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  min-width: 0;
  min-height: 72px;
  margin: 0;
  padding: .7rem .35rem;
  border: 1px solid #e1e5ee;
  border-radius: 9px;
  background: #f8faff;
  color: var(--navy);
  text-align: center;
  font-size: .68rem;
  font-weight: 600;
  line-height: 1.2;
}
.certification-badge svg { width: 27px; height: 27px; flex: 0 0 27px; }
.certification-meta > i { color: #0866ff; font-size: 1.65rem; }
.agency-footer .certification-linkedin { min-height: 154px; background: #fff; }
.certification-linkedin img { display: block; width: auto; height: 132px; max-width: 100%; object-fit: contain; }
.agency-footer .certification-shopify { flex-direction: column; gap: .3rem; min-height: 154px; }
.certification-shopify > i { color: #95bf47; font-size: 2rem; }
.shopify-wordmark { color: #222; font-size: 1rem; font-style: italic; font-weight: 800; letter-spacing: -.04em; }
.agency-footer .certification-google { flex-direction: column; gap: .1rem; }
.google-wordmark { font-size: 1.2rem; letter-spacing: -.06em; font-weight: 600; }
.google-wordmark > :nth-child(1), .google-wordmark > :nth-child(4) { color: #4285f4; }
.google-wordmark > :nth-child(2), .google-wordmark > :nth-child(6) { color: #ea4335; }
.google-wordmark > :nth-child(3) { color: #fbbc05; }
.google-wordmark > :nth-child(5) { color: #34a853; }

.whatsapp-contact {
  position: fixed;
  right: 24px;
  bottom: calc(90px + env(safe-area-inset-bottom));
  z-index: 1040;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 20px 10px 10px;
  border: 1px solid #ffffff80;
  border-radius: 999px;
  background: linear-gradient(115deg, #1ebc80, #087d52);
  color: #fff;
  box-shadow: 0 6px 24px #0d8b4930;
}
.whatsapp-contact:hover { color: #fff; background: #078453; }
.whatsapp-contact:focus-visible { outline: 3px solid var(--purple); outline-offset: 4px; }
.whatsapp-contact-icon { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #ffffff40; border-radius: 50%; background: #ffffff20; font-size: 1.8rem; }
.whatsapp-contact-copy { display: grid; gap: 2px; line-height: 1.2; }
.whatsapp-contact-copy > span { font-size: .62rem; letter-spacing: .07em; text-transform: uppercase; }
.whatsapp-contact-copy strong { font-size: 1rem; font-weight: 800; }
@media (max-width: 1199.98px) {
  .agency-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .agency-footer-brand { grid-column: 1 / -1; }
  .industry-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
  .industry-panel { padding: 1.5rem 1rem; border-radius: 18px; }
  .industry-panel h2 { font-size: .65rem; letter-spacing: .13em; margin-bottom: 1.3rem; }
  .industry-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem .4rem; }
  .industry-grid li > span:last-child { font-size: .59rem; }
  .whatsapp-contact { right: 14px; bottom: calc(112px + env(safe-area-inset-bottom)); gap: 8px; padding: 8px 14px 8px 8px; }
  .whatsapp-contact-icon { width: 38px; height: 38px; font-size: 1.5rem; }
  .whatsapp-contact-copy strong { font-size: .85rem; }
  .whatsapp-contact-copy > span { font-size: .55rem; }
  .agency-footer-contact { grid-column: auto; }
  .agency-footer .footer-certification-grid { max-width: 360px; }
  .agency-footer-bottom { padding-block: 18px 16px; gap: 12px; }
}
@media (max-width: 575.98px) {
  .agency-footer-contact, .footer-certifications { grid-column: 1 / -1; }
  .agency-footer .footer-certification-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
