/* Tyaha production layer: cross-browser stability, accessibility and conversion polish. */
:root {
  --tyaha-yellow: #fec92f;
  --tyaha-charcoal: #282828;
  --tyaha-ink: #141414;
  --tyaha-white: #fff;
  --tyaha-muted: #6d6d6d;
  --tyaha-focus: 0 0 0 4px rgba(254, 201, 47, 0.35);
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { overflow-x: hidden; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img, svg, video { max-width: 100%; }
img { height: auto; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }

::selection { background: var(--tyaha-yellow); color: var(--tyaha-ink); }

.tyaha-skip-link {
  position: fixed;
  left: 16px;
  top: 12px;
  z-index: 1000000;
  padding: 12px 16px;
  border-radius: 4px;
  background: var(--tyaha-yellow);
  color: var(--tyaha-ink);
  font-weight: 700;
  transform: translateY(-160%);
  transition: transform 160ms ease;
}
.tyaha-skip-link:focus { transform: translateY(0); }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--tyaha-yellow) !important;
  outline-offset: 4px !important;
  box-shadow: var(--tyaha-focus);
}

[hidden] { display: none !important; }
.rts-dark-light { display: none !important; }
.footer-left-two .logo img,
.footer-main-wrapper-one .logo-footer img { width: 65px !important; max-width: 65px !important; height: auto !important; }

/* Hero readability and resilient viewport sizing. */
.tyaha-video-hero {
  min-height: 100vh;
  min-height: 100svh;
  background: #191919;
}
.tyaha-video-hero__media {
  object-fit: cover;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}
.tyaha-video-hero__overlay {
  background: linear-gradient(90deg, rgba(8, 8, 8, .80) 0%, rgba(8, 8, 8, .44) 54%, rgba(8, 8, 8, .14) 100%) !important;
}
.tyaha-video-hero .rts_hero__title { color: #fff !important; text-shadow: 0 4px 28px rgba(0, 0, 0, .30); }
.tyaha-video-hero .hero__sub-title { color: rgba(255, 255, 255, .88) !important; max-width: 650px; }
.tyaha-video-hero .rts-btn-mouse-move { color: #fff !important; border-color: rgba(255, 255, 255, .58) !important; }
.tyaha-video-hero .rts-btn-mouse-move:hover { color: var(--tyaha-ink) !important; background: var(--tyaha-yellow) !important; }

/* Shared content rhythm. */
.rts_hero__title, .quote { text-wrap: balance; }
.disc { text-wrap: pretty; }
.rts-header-area-two, header { isolation: isolate; }
.header--sticky { -webkit-backdrop-filter: saturate(130%) blur(10px); backdrop-filter: saturate(130%) blur(10px); }
.learn-more-btn, .rts-btn, .pricing-btn { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.rts-btn:hover, .pricing-btn:hover { color: var(--tyaha-ink) !important; background-color: var(--tyaha-yellow) !important; }
.learn-more-btn:hover { background-color: transparent !important; }

/* Hide pending social controls outside the footer until real URLs are supplied. */
.social-link-pending,
.social-transparent-wrapper a[aria-disabled="true"],
.rts-social-area-one a[aria-disabled="true"],
.social-transparent-wrapper li:has(> a[aria-disabled="true"]),
.rts-social-area-one li:has(> a[aria-disabled="true"]),
.social-transparent-wrapper li:has(> a[href="#"]),
.rts-social-area-one li:has(> a[href="#"]) { display: none !important; }

/* Keep pending social profiles visible below the footer description only. */
.footer-left-area .rts-social-area-one,
.footer-left-two .rts-social-area-one { margin-top: 24px; }
.footer-left-area .rts-social-area-one li.social-link-pending,
.footer-left-two .rts-social-area-one li.social-link-pending { display: block !important; }
.footer-left-area .rts-social-area-one a[aria-disabled="true"],
.footer-left-two .rts-social-area-one a[aria-disabled="true"] {
  display: flex !important;
  cursor: default;
  opacity: .8;
  pointer-events: none;
}

/* Service card consistency. */
.service-area.block-title > .water-txt-top { width: 100%; text-align: center !important; display: flex; justify-content: center; }
.service-area.block-title > .water-txt-top span { text-align: center !important; }
.tyaha-services-grid .single-service-h2 { height: 100%; border-radius: 2px; transition: transform 180ms ease, box-shadow 180ms ease; }
.tyaha-services-grid .single-service-h2:hover { transform: translateY(-4px); box-shadow: 0 20px 55px rgba(0, 0, 0, .10); }
.tyaha-services-grid .icon > i { color: var(--tyaha-ink); }

/* Client marks are informational, not fake links. */
.brand-main-wrapper-about .single-brand {
  display: flex; align-items: center; justify-content: center;
  width: 215px; height: 160px; border-right: 1px solid #f1f1f1;
}
.brand-main-wrapper-about .single-brand img { max-width: 120px; transition: transform 180ms ease; }
.brand-main-wrapper-about .single-brand:last-child { border-right: 0; }
.brand-main-wrapper-about .single-brand:hover img { transform: translateY(-3px); }
@media (max-width: 575px) {
  .brand-main-wrapper-about .single-brand { width: max-content; height: 60px; border: 0; }
  .brand-main-wrapper-about .single-brand img { max-width: 90px; }
}

/* Portfolio cards and HTML5 player. */
.rts-portfolio-grid-area .thumbnail { background: #e9e9e9; }
.rts-portfolio-grid-area .thumbnail img { transition: transform 420ms cubic-bezier(.2, .65, .25, 1); }
.rts-portfolio-grid-area .thumbnail:hover img { transform: scale(1.025); }
.tyaha-video-shell, .tyaha-feature-shell { position: relative; }
.tyaha-video-status {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: none;
  place-items: center;
  padding: 28px;
  background: rgba(0, 0, 0, .88);
  color: #fff;
  text-align: center;
}
.tyaha-video-status.is-visible { display: grid; }
.tyaha-video-status strong { display: block; margin-bottom: 8px; color: var(--tyaha-yellow); }
.tyaha-video-close, .tyaha-feature-close { width: 48px; height: 48px; display: grid; place-items: center; }

/* Form clarity and accessible feedback. */
.appoinment-h2 label { display: block; margin-bottom: 10px; font-weight: 600; }
.appoinment-h2 input,
.appoinment-h2 select,
.appoinment-h2 textarea { min-height: 48px; border-radius: 0; }
.appoinment-h2 textarea { min-height: 150px; resize: vertical; }
.appoinment-h2 button[disabled] { opacity: .65; cursor: wait; }
.tyaha-honeypot { position: absolute !important; left: -9999px !important; opacity: 0 !important; pointer-events: none !important; }
.tyaha-toast {
  position: fixed;
  right: 20px;
  bottom: 86px;
  z-index: 1000000;
  max-width: min(420px, calc(100vw - 40px));
  padding: 16px 18px;
  border-left: 5px solid var(--tyaha-yellow);
  background: var(--tyaha-charcoal);
  color: #fff;
  box-shadow: 0 18px 55px rgba(0, 0, 0, .28);
}

.tyaha-whatsapp-float {
  position: fixed;
  right: calc(20px + env(safe-area-inset-right, 0px));
  bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  z-index: 99990;
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--tyaha-yellow);
  color: var(--tyaha-ink);
  box-shadow: 0 14px 38px rgba(0, 0, 0, .24);
  font-size: 23px;
  transition: transform 180ms ease, box-shadow 180ms ease;
}
.tyaha-whatsapp-float:hover { color: var(--tyaha-ink); transform: translateY(-3px); box-shadow: 0 18px 44px rgba(0, 0, 0, .30); }

/* Stack the back-to-top control above WhatsApp without overlap. */
.progress-wrap {
  right: calc(23px + env(safe-area-inset-right, 0px)) !important;
  bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
}

/* Hide placeholders rather than presenting false proof. */
.tyaha-awaiting-proof { display: none !important; }

/* Safari/iOS fallbacks. */
@supports (-webkit-touch-callout: none) {
  html { scroll-behavior: auto; }
  .header--sticky { -webkit-backdrop-filter: none; backdrop-filter: none; }
  .tyaha-video-modal { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
  .tyaha-video-hero { min-height: -webkit-fill-available; }
  .rts-video-area-about { background-attachment: scroll !important; }
}

@media (max-width: 991px) {
  html, body { overflow-y: auto !important; height: auto !important; }
  .tyaha-video-hero__overlay {
    background: linear-gradient(180deg, rgba(8, 8, 8, .28) 0%, rgba(8, 8, 8, .62) 60%, rgba(8, 8, 8, .88) 100%) !important;
  }
  .tyaha-video-hero .banner-one-wrapper { max-width: 92%; }
  .tyaha-video-hero .hero__sub-title br { display: none; }
  .tyaha-video-hero .hero__sub-title { color: rgba(255, 255, 255, .92) !important; }
  .footer-two-wrapper-content { gap: 44px; }
  .rts-cursor { display: none !important; }
  .rts-video-area-about { height: min(65vh, 520px); background-attachment: scroll !important; }
}

@media (max-width: 575px) {
  .tyaha-video-hero .rts_hero__title { font-size: clamp(48px, 15vw, 72px) !important; line-height: .98 !important; }
  .tyaha-video-hero .hero__sub-title { font-size: 16px !important; line-height: 1.55 !important; }
  .tyaha-header-call span { display: none !important; }
  .tyaha-contact-first { padding: 22px !important; }
  .appoinment-area-two { padding-inline: 18px !important; }
  .input-line { gap: 24px; }
  .tyaha-video-modal { padding: 10px !important; }
  .tyaha-whatsapp-float {
    right: calc(14px + env(safe-area-inset-right, 0px));
    bottom: calc(14px + env(safe-area-inset-bottom, 0px));
    width: 48px;
    height: 48px;
  }
  .progress-wrap {
    right: calc(15px + env(safe-area-inset-right, 0px)) !important;
    bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
  .scrollingText, .scrollingText-two, .scrollingText-three, .scrollingText-four { transform: none !important; }
  .rts-cursor { display: none !important; }
}

@media print {
  header, footer, .loading-screen, .progress-wrap, .rts-cursor, video { display: none !important; }
  body { color: #000; background: #fff; }
  a { color: #000; text-decoration: underline; }
}
