/* WORA — stylesheet principal */
@import url('https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root {
  --accent:  #1b50d6;
  --accent-2: #0fae9c;
  --ink:     #0d1117;
  --ink-2:   #5a6373;
  --paper:   #f4f3ef;
  --card:    #ffffff;
  --line:    rgba(13,17,23,.10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: 'Hanken Grotesk', system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
::selection { background: var(--accent); color: #fff; }

@keyframes wora-marquee { from { transform: translateX(0) } to { transform: translateX(-50%) } }
@keyframes wora-float   { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-16px) } }
@keyframes wora-spin    { to { transform: rotate(360deg) } }

/* Responsive helpers */
.w-burger { display: none; }

@media (max-width: 960px) {
  .w-desk    { display: none !important; }
  .w-burger  { display: inline-flex !important; }
  .w-hero    { grid-template-columns: 1fr !important; }
  .w-2col    { grid-template-columns: 1fr !important; }
  .w-svcgrid { grid-template-columns: 1fr !important; }
  .w-svc     { grid-column: auto !important; grid-row: auto !important; min-height: 200px !important; }
  .w-clients { grid-template-columns: repeat(2,1fr) !important; }
  .w-contact { grid-template-columns: 1fr !important; }
  .w-foot    { grid-template-columns: 1fr 1fr !important; }
  .w-h1      { font-size: clamp(40px, 11vw, 60px) !important; }
  .w-sec     { padding: 84px 0 !important; }
  .w-feat    { grid-template-columns: 1fr !important; }
  .w-grid    { grid-template-columns: repeat(2,1fr) !important; }
}
@media (max-width: 560px) {
  .w-clients { grid-template-columns: 1fr !important; }
  .w-foot    { grid-template-columns: 1fr !important; }
  .w-grid    { grid-template-columns: 1fr !important; }
}

/* Image slot placeholder */
.w-img-slot {
  background: var(--line);
  display: block;
}

/* Logo */
.wora-logo {
  width: 120px;
  height: 42px;
  object-fit: contain;
  display: block;
}
.wora-logo-lg {
  width: 130px;
  height: 46px;
  object-fit: contain;
  display: block;
}
.wora-logo-sm {
  width: 110px;
  height: 38px;
  object-fit: contain;
  display: block;
}

/* Nav scrolled state */
[data-nav].scrolled {
  padding: 12px 0 !important;
  background: rgba(244,243,239,.94) !important;
  border-bottom-color: var(--line) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* Mobile menu */
#wora-mobile.open,
#wora-mobile-p.open {
  display: flex !important;
}

/* Scroll reveal */
[data-reveal] {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .55s ease, transform .55s ease;
}
[data-reveal].visible {
  opacity: 1;
  transform: translateY(0);
}

/* Team carousel scrollbar */
#wora-team-track::-webkit-scrollbar { display: none; }

/* Form */
.wora-form input::placeholder,
.wora-form textarea::placeholder {
  color: rgba(255,255,255,.45);
}
.wora-form select option { color: #111; }

#wora-form-btn.loading {
  opacity: .7;
  pointer-events: none;
}
#wora-msg {
  display: none;
  margin-top: 10px;
  font-size: 14px;
  color: var(--accent-2);
}
#wora-msg.error { color: #ff6b6b; }
#wora-msg.show  { display: block; }

/* Portfolio filter */
[data-filter].active {
  background: var(--ink) !important;
  color: #fff !important;
  border-color: var(--ink) !important;
}
[data-filter]:not(.active) {
  background: var(--card);
  color: var(--ink);
}
#wora-grid article.hidden { display: none !important; }
