/* Shared rounded, illuminated controls across the four public pages. */
:is(button,.cta,.service-cta,.text-link,.reference-button,.service-nav nav a,.hero nav a,.seo-paths a,.related nav a,summary){border-radius:999px!important;animation:button-type-glow 3.6s ease-in-out infinite;text-decoration:none}
:is(.service-nav nav a,.hero nav a,.seo-paths a,.related nav a,.text-link,.reference-button){display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border:1px solid #a4875566}
:is(.service-nav nav,.hero nav){flex-wrap:wrap}
:is(.cta,.service-cta,button){transition:background .25s,color .25s,box-shadow .25s,transform .25s}
:is(.cta,.service-cta):hover{box-shadow:0 0 24px #ba95453b}
:is(.service-faq summary,.faq summary){padding:13px 20px;border:1px solid #a4875555}
.seal-cta{box-shadow:inset 0 0 0 3px #a4875520!important}
@keyframes button-type-glow{0%,100%{text-shadow:0 0 0 transparent}50%{text-shadow:0 0 9px #c4a466a0,0 0 18px #b48a4844}}
@media(max-width:650px){.hero nav a,.service-nav nav a{padding:8px 11px}.service-nav nav{gap:10px}}
@media(prefers-reduced-motion:reduce){:is(button,.cta,.service-cta,.text-link,.reference-button,.service-nav nav a,.hero nav a,.seo-paths a,.related nav a,summary){animation:none;transition:none}}

/* The same travelling highlight as the industry pills, on every CTA label. */
.button-shimmer{display:inline-block;background-image:linear-gradient(105deg,currentColor 0%,currentColor 36%,#ae7930 46%,#e0bc79 50%,#ae7930 54%,currentColor 64%,currentColor 100%);background-size:200% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:cta-text-shimmer 3s linear infinite;text-shadow:none}
@keyframes cta-text-shimmer{from{background-position:100% 0}to{background-position:0% 0}}
:is(button,.cta,.service-cta,.text-link,.reference-button,.service-nav nav a,.hero nav a,.seo-paths a,.related nav a,summary){animation:none}
:is(button,.cta,.service-cta):disabled .button-shimmer{animation:none}
@media(prefers-reduced-motion:reduce){.button-shimmer{animation:none;background:none;-webkit-text-fill-color:currentColor}}
@media(forced-colors:active){.button-shimmer{animation:none;background:none;-webkit-text-fill-color:currentColor}}

/* Desktop navigation: ivory lettering over a moving burgundy sheen. */
@media(min-width:901px){
  :is(.hero nav a,.service-nav nav a){
    color:#fff4df;
    border-color:#713b40;
    background:linear-gradient(110deg,#491a1c 0%,#491a1c 32%,#82464d 50%,#491a1c 68%,#491a1c 100%);
    background-size:200% 100%;
    animation:menu-background-glow 3.6s linear infinite;
    box-shadow:0 3px 12px #491a1c20;
    transition:box-shadow .25s,border-color .25s;
  }
  :is(.hero nav a,.service-nav nav a):nth-child(2){animation-delay:-.9s}
  :is(.hero nav a,.service-nav nav a):nth-child(3){animation-delay:-1.8s}
  :is(.hero nav a,.service-nav nav a):nth-child(4){animation-delay:-2.7s}
  :is(.hero nav a,.service-nav nav a) .button-shimmer{color:inherit;background:none;-webkit-text-fill-color:currentColor;animation:none}
  :is(.hero nav a,.service-nav nav a):hover{box-shadow:0 0 20px #82464d70;border-color:#b1807c}
  :is(.hero nav a,.service-nav nav a):focus-visible{outline:2px solid #a48755;outline-offset:4px}
}
@keyframes menu-background-glow{from{background-position:100% 0}to{background-position:0% 0}}
@media(min-width:901px) and (prefers-reduced-motion:reduce){:is(.hero nav a,.service-nav nav a){animation:none;background:#491a1c}}
@media(forced-colors:active){:is(.hero nav a,.service-nav nav a){animation:none;background:ButtonFace;color:ButtonText;border-color:ButtonText}}

/* Keep icons out of Safari gradient text rendering. */
.drawn-arrow{display:inline-block;width:1em;height:1em;min-width:1em;vertical-align:-.12em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;background:none!important;-webkit-text-fill-color:currentColor;flex-shrink:0}
.faq summary{align-items:center;text-align:left}.faq summary>.button-shimmer{min-width:0;transform:none!important}.faq summary>[aria-hidden]{flex-shrink:0}
.site-footer .wordmark{display:inline-flex;align-items:center;gap:12px;color:#4b2024}.site-footer .wordmark svg{width:25px;height:34px;fill:currentColor;stroke:currentColor;stroke-width:1.5}
@media(max-width:600px){.industry-pills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.industry-pill{width:100%;min-width:0;padding:11px 8px;min-height:48px;white-space:normal;text-align:center}.industry-pill:last-child:nth-child(odd){grid-column:1/-1}.industry-pill span{white-space:normal}.seo-paths a{max-width:100%;text-align:left;gap:10px}.seo-paths .button-shimmer{min-width:0}}

.mobile-portrait-video{display:none}@media(max-width:900px){.mobile-portrait-video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:fill;mix-blend-mode:multiply;opacity:0;pointer-events:none;mask-image:linear-gradient(to right,transparent 0,#000 33%,#000 100%),linear-gradient(to bottom,transparent 0,#000 12%,#000 75%,transparent 100%);mask-composite:intersect;-webkit-mask-composite:source-in}.mobile-portrait-video.ready{opacity:1}.mobile-portrait-video[hidden]{display:none}.portrait-stage:has(.mobile-portrait-video.ready:not([hidden])) canvas{visibility:hidden}}

/* Percentage row gaps overflow an auto-height grid on mobile Safari. */
@media(max-width:900px){.services{grid-template-columns:minmax(0,1fr);gap:32px;padding-bottom:80px}.services .seo-paths,.services .services-cta{grid-column:1;min-width:0}.services .seo-paths{margin-top:8px;display:flex;flex-direction:column;align-items:stretch;gap:14px}.services .seo-paths a{width:100%;box-sizing:border-box;justify-content:space-between;white-space:normal}.services .services-cta{margin-top:0}.services+.film-chapter{margin-top:0}}

/* Primary hero action: burgundy with a light shimmering label on every device. */
#hero-project{background:#4b2024;color:#fff3dd;border-color:#4b2024}#hero-project:hover,#hero-project:focus-visible{background:#602a30;color:#fff3dd;border-color:#a48755}#hero-project .button-shimmer{color:#fff3dd}
