/* ==========================================================================
   Skyo Global. Responsive overrides.
   Mobile is recomposed, not shrunk: stacked editorial rows, big tap targets,
   a persistent CTA and a full-screen menu.
   ========================================================================== */

/* ---------- 1440+ ---------- */
@media (min-width: 1600px) {
  .sk-nav__pill { max-width: calc(var(--container-max) - 2 * var(--container-pad)); margin-inline: auto; }
}

/* ---------- <= 1199 (small laptop / tablet landscape) ---------- */
@media (max-width: 1199px) {
  .sk-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .sk-page__title { grid-column: 1 / -1; }
  .sk-page__side { grid-column: 1 / span 7; }
  .sk-split__main { grid-column: 1 / -1; }
  .sk-split__side { grid-column: 1 / span 8; }
  .sk-service__link { grid-template-columns: 8% minmax(0, 1fr) 56px; }
  .sk-service__tags { display: none; }
  .sk-contact__form { grid-column: 1 / -1; }
  .sk-contact__info { grid-column: 1 / -1; position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svc__intro { grid-column: 1 / span 12; position: static; }
  .svc__body { grid-column: 1 / -1; }
  .article__toc { display: none; }
  .article__body { grid-column: 1 / span 10; }
  .about-story__media { grid-column: 1 / span 6; }
  .about-story__body { grid-column: 1 / -1; }
  .team { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-hide-md { display: none; }
}

/* ---------- <= 1023 (tablet) ---------- */
@media (max-width: 1023px) {
  .sk-nav__main, .sk-nav__cta { display: none; }
  .sk-nav__toggle { display: inline-flex; }
  .sk-nav__pill { padding: 6px 6px 6px 22px; }

  .sk-hero__text, .sk-hero__actions { grid-column: 1 / -1; justify-self: start; }
  .sk-hero__text { max-width: 34em; }
  .orbit { aspect-ratio: 4 / 3; }

  .sk-sechead__label, .sk-sechead__body { grid-column: 1 / -1; }

  .process { grid-template-columns: 1fr; gap: 0; }
  .process__step { display: grid; grid-template-columns: 96px 1fr; column-gap: 20px; padding: 32px 0 32px 32px; border-left: 1px solid var(--line); }
  .process__step::before { display: none; }
  .process__step::after { left: -6px; top: 42px; }
  .process__num { grid-row: span 2; font-size: 56px; }
  .process__title { margin-top: 8px; }

  .sk-proj--l, .sk-proj--m, .sk-proj--s { grid-column: span 6; }
  .sk-proj--l { --ratio: 4 / 3; }
  .sk-proj--s { --ratio: 4 / 3; }
  .sk-proj--xl .sk-proj__body { grid-template-columns: 1fr; }
  .sk-proj--xl .sk-proj__head, .sk-proj--xl .sk-proj__side { grid-column: 1 / -1; }
  .sk-proj--xl { --ratio: 16 / 9; }

  .sk-stats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sk-why { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sk-why__item:nth-child(n) { margin-top: 0; }
  .sk-quote__mark, .sk-quote__body { grid-column: 1 / -1; }
  .sk-quote__mark { height: 0.5em; margin-bottom: 8px; }

  .sk-insights > :first-child, .sk-insights > :not(:first-child) { grid-column: 1 / -1; grid-row: auto; }
  .post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .post-featured .sk-post__link { grid-template-columns: 1fr; }
  .post-featured .sk-img, .post-featured .sk-post__text { grid-column: 1 / -1; }

  .sk-cta__head, .sk-cta__side { grid-column: 1 / -1; }
  .sk-footer__head, .sk-footer__ctawrap { grid-column: 1 / -1; justify-self: start; justify-items: start; text-align: left; }
  .sk-footer__col, .sk-footer__col:first-child { grid-column: span 6; }

  .values__item { grid-template-columns: 56px 1fr; row-gap: 12px; }
  .values__text { grid-column: 2; }
  .flow { grid-template-columns: 1fr; }
  .flow__step { padding: 0 0 36px 32px; border-top: 0; border-left: 1px solid var(--line); }
  .flow__step::before { top: 2px; left: -6px; }
  .flow__step::after { content: none; }
  .sk-dialog__grid { grid-template-columns: 1fr; }
  .sk-dialog__media { min-height: 240px; }
  .sk-fab { display: inline-flex; }
}

/* ---------- <= 767 (mobile) ---------- */
@media (max-width: 767px) {
  body { font-size: 16px; }
  .sk-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .sk-nav { top: 10px; }
  .sk-logo { font-size: 20px; }

  .sk-h--xl { font-size: clamp(38px, 12.2vw, 56px); line-height: 0.95; }
  .sk-h--lg { font-size: clamp(38px, 12vw, 56px); line-height: 0.95; }
  .sk-h--2 { font-size: clamp(34px, 10vw, 42px); }
  .sk-lead, .sk-hero__text { font-size: 17px; }
  .sk-page__side { grid-column: 1 / -1; }

  .sk-hero { padding-top: 112px; }
  .sk-hero__actions { width: 100%; }
  .sk-hero__actions .sk-btn { flex: 1 1 100%; justify-content: space-between; }
  .orbit { aspect-ratio: 4 / 5; border-radius: var(--radius-lg); }
  .orbit__ring--outer { --d: 112cqw; }
  .orbit__ring--inner { --d: 66cqw; }
  .orbit__pill { padding: 8px 12px; font-size: 10px; }
  .orbit__place { display: none; }
  .orbit__caption { right: 16px; }

  .sk-split__side { grid-column: 1 / -1; }
  .sk-service__link { grid-template-columns: minmax(0, 1fr) 44px; row-gap: 10px; padding: 28px 0; }
  .sk-service__num { grid-column: 1 / -1; }
  .sk-service__title { font-size: 34px; }
  .sk-service__main { grid-column: 1; }
  .sk-service__arrow { grid-column: 2; grid-row: 2; width: 44px; height: 44px; transform: rotate(90deg); }
  .sk-service__link:hover .sk-service__arrow, .sk-service__link:focus-visible .sk-service__arrow { transform: rotate(90deg); }
  .sk-service__link:hover .sk-service__title { transform: none; }
  .sk-service__reveal { grid-template-rows: 1fr; }
  .sk-service__desc { transform: none; font-size: 16px; }

  .sk-proj--xl, .sk-proj--l, .sk-proj--m, .sk-proj--s { grid-column: 1 / -1; --ratio: 4 / 3; }
  .work-grid { row-gap: 48px; }
  .sk-img { border-radius: var(--radius-lg); }
  .sk-filterbar { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(var(--container-pad) * -1); padding-inline: var(--container-pad); scrollbar-width: none; }
  .sk-filterbar::-webkit-scrollbar { display: none; }
  .sk-filters { flex-wrap: nowrap; }
  .sk-filters .sk-tag { padding: 13px 18px; flex: none; }
  .sk-filters__count { display: none; }

  .sk-stats__grid { grid-template-columns: 1fr 1fr; row-gap: 40px; }
  .sk-stat__value { font-size: clamp(48px, 15vw, 72px); }
  .sk-why { grid-template-columns: 1fr; }
  .post-grid { grid-template-columns: 1fr; }

  .sk-form { grid-template-columns: 1fr; row-gap: 32px; }
  .sk-form__foot .sk-btn { width: 100%; justify-content: space-between; }
  .sk-contact__info { grid-template-columns: 1fr; }
  .sk-faq__a { padding-right: 0; }

  .sk-cta .sk-btn { width: 100%; justify-content: space-between; }
  .sk-footer__col, .sk-footer__col:first-child { grid-column: span 12; }
  .sk-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sk-footer__col, .sk-footer__col:first-child { grid-column: auto; }
  .sk-footer__col:first-child { grid-column: 1 / -1; }
  .sk-footer__bottom { flex-direction: column; }

  .team { grid-template-columns: 1fr 1fr; gap: 16px; }
  .belief:nth-child(even) .sk-statement { text-align: left; margin-left: 0; }
  .about-story__media { grid-column: 1 / -1; }
  .svc__cols { grid-template-columns: 1fr; }
  .article__body { grid-column: 1 / -1; }
  .prose p, .prose li { font-size: 18px; }
  .article-cover { --ratio: 4 / 3; }
  .author { grid-template-columns: 1fr; }
  .snap__row { grid-template-columns: 44px minmax(0, 1fr) 24px; column-gap: 12px; }
  .sk-totop { width: 48px; height: 48px; right: 16px; bottom: 16px; }
  .sk-fab { left: 16px; bottom: 16px; padding: 15px 22px; }
}

@media (max-width: 380px) {
  .sk-stats__grid, .team { grid-template-columns: 1fr; }
  .sk-footer__cols { grid-template-columns: 1fr; }
}

/* ---------- touch / no-hover ---------- */
@media (hover: none), (pointer: coarse) {
  .sk-dot, .sk-peek { display: none; }
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; scroll-behavior: auto !important; }
  .js [data-reveal], .js .js-lines .line > span { opacity: 1; transform: none; }
  .orbit__ring, .orbit__pill, .sk-ticker__track { animation: none; }
  .sk-ticker__track { flex-wrap: wrap; width: auto; }
  .sk-btn:hover, a:hover .sk-img__inner, .sk-img--hover:hover .sk-img__inner { transform: none; }
  .sk-dot, .sk-peek { display: none; }
}
