/* ===== IGDA Moldova — page styles ===== */

/* ---------- HOME hero ---------- */
.home-hero{ position:relative; overflow:hidden; padding-top:34px; }
.home-hero-inner{ display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center; padding-block:30px 50px; }
.hero-kicker{ display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:700; letter-spacing:.04em;
  color:var(--primary-700); background:var(--primary-50); padding:7px 14px; border-radius:var(--radius-pill); margin-bottom:20px; }
.hero-kicker .dot{ width:8px; height:8px; border-radius:50%; background:var(--primary); box-shadow:0 0 0 4px var(--primary-100); }
.home-hero-text h1{ font-size:clamp(38px,5.2vw,62px); font-weight:700; line-height:1.02; margin-bottom:18px; }
.home-hero-text .lede{ font-size:18px; max-width:50ch; }
.hero-cta{ display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.hero-meta{ display:flex; align-items:center; gap:14px; margin-top:30px; font-size:14px; color:var(--muted); }
.hero-meta strong{ color:var(--ink); }
.home-hero-art{ position:relative; }
.home-hero-art > svg{ filter:drop-shadow(0 30px 50px rgba(80,50,180,.14)); }
.float-badge{ position:absolute; display:flex; align-items:center; gap:8px; background:var(--surface); border:1px solid var(--line);
  box-shadow:var(--shadow); border-radius:var(--radius-pill); padding:9px 16px; font-weight:600; font-size:14px; color:var(--ink-2); }
.float-badge .icon, .float-badge svg{ color:var(--primary); }
.fb1{ top:8%; left:0; animation:floatY 5s var(--ease) infinite; }
.fb2{ bottom:14%; right:2%; animation:floatY 6s var(--ease) infinite; animation-delay:.6s; }
.fb3{ top:14%; right:6%; animation:floatY 7s var(--ease) infinite; animation-delay:1.1s; }
a.float-badge{ text-decoration:none; color:var(--ink); transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease); }
a.float-badge:hover{ transform:translateY(-3px); border-color:var(--primary); box-shadow:0 10px 24px -12px color-mix(in srgb, var(--primary) 55%, transparent); }

/* ---------- looking-for cards ---------- */
.looking-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.look-card{ position:relative; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  padding:24px 20px 48px; display:block; }
.look-card h3{ font-size:18px; font-weight:700; margin:16px 0 8px; }
.look-card p{ font-size:14px; color:var(--muted); line-height:1.55; }
.look-ic{ width:52px; height:52px; border-radius:14px; display:grid; place-items:center; color:#fff; }
.ic-0{ background:linear-gradient(135deg,#6539e0,#8a63f0); }
.ic-1{ background:linear-gradient(135deg,#16b59b,#1fc7ab); }
.ic-2{ background:linear-gradient(135deg,#f2643c,#f5894e); }
.ic-3{ background:linear-gradient(135deg,#e23b6e,#f0608d); }
.ic-4{ background:linear-gradient(135deg,#2a55d6,#4a78ea); }
.look-arrow{ position:absolute; left:20px; bottom:18px; color:var(--faint); transition:.2s var(--ease); }
.look-card:hover .look-arrow{ color:var(--primary); transform:translateX(4px); }

/* ---------- three column section ---------- */
.three-col{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.tc-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow-sm); }
.tc-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.tc-head h3{ font-size:19px; font-weight:700; }
.tc-list{ display:flex; flex-direction:column; }
.mini-job, .mini-event{ display:flex; align-items:center; gap:13px; padding:15px 0; border-bottom:1px solid var(--line); }
.mini-job:last-child, .mini-event:last-child{ border-bottom:none; }
.mini-job-body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.mini-job-body strong{ font-size:14.5px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mini-job-body .muted{ font-size:13px; display:flex; align-items:center; gap:5px; }
.mini-chips{ display:flex; gap:6px; margin-top:5px; flex-wrap:wrap; }
.mini-chips .chip{ font-size:11px; padding:2px 8px; }
.mini-age{ font-size:12px; color:var(--faint); flex:none; align-self:flex-start; }
.mini-job:hover strong, .mini-event:hover strong{ color:var(--primary); }
.date-chip{ flex:none; width:50px; text-align:center; background:var(--surface-2); border:1px solid var(--line); border-radius:11px; padding:8px 4px; }
.date-chip span{ display:block; font-size:11px; font-weight:700; letter-spacing:.06em; color:var(--primary); }
.date-chip strong{ display:block; font-size:20px; font-family:'Space Grotesk',sans-serif; }
.date-chip em{ display:block; font-size:10px; font-style:normal; color:var(--faint); letter-spacing:.05em; }
.date-chip.big{ width:62px; padding:11px 6px; }
.date-chip.big strong{ font-size:24px; }

/* ---------- news + partners ---------- */
.news-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.news-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:block;
  box-shadow:var(--shadow-sm); transition:transform .25s var(--ease), box-shadow .25s var(--ease); }
.news-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow); }
.news-cover{ position:relative; aspect-ratio:16/9; overflow:hidden; }
.news-cover > div{ transition:transform .5s ease; }
.news-card:hover .news-cover > div{ transform:scale(1.06); }
.news-cover > div > div:last-child{ display:none; } /* hide ArtThumb's "Article cover" label */
.news-card .news-body{ padding:18px; }
.news-card h4{ font-size:17px; font-weight:700; margin:12px 0 10px; line-height:1.25; }
.news-card:hover h4{ color:var(--primary); }
@media (prefers-reduced-motion: reduce){
  .news-card, .news-cover > div{ transition:none; }
  .news-card:hover, .news-card:hover .news-cover > div{ transform:none; }
}
.news-date{ font-size:13px; }
.partners{ margin-top:48px; border-top:1px solid var(--line); padding-top:32px; text-align:center; }
.partners-label{ font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--faint); }
.partners-row{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px 44px; margin-top:22px; }
.partner{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:20px; color:var(--faint); letter-spacing:-.01em;
  filter:grayscale(1); opacity:.7; transition:.2s var(--ease); }
.partner:hover{ opacity:1; color:var(--ink-2); }

/* ---------- CTA band ---------- */
.cta-band{ position:relative; overflow:hidden; background:linear-gradient(120deg,#1b1640,#322073 60%,#4a2db0); color:#fff; margin-top:24px; }
.cta-skyline{ position:absolute; right:0; bottom:-2px; width:min(50%,560px); opacity:.16; filter:grayscale(1) brightness(3); }
.cta-inner{ position:relative; z-index:2; padding-block:72px; text-align:center; display:flex; flex-direction:column; align-items:center; }
.cta-inner h2{ color:#fff; font-size:clamp(30px,4vw,46px); font-weight:700; }
.cta-inner p{ margin-top:14px; color:rgba(255,255,255,.82); max-width:54ch; font-size:17px; }
.cta-inner .hero-cta{ justify-content:center; }
.btn-discord-ghost{ background:rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.2); }
.btn-discord-ghost:hover{ background:rgba(255,255,255,.2); }

/* ---------- page hero head row ---------- */
.hero-head-row{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; }

/* ---------- ABOUT stats ---------- */
.stats-band{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow);
  display:grid; grid-template-columns:repeat(4,1fr); }
.stat{ display:flex; align-items:center; gap:14px; padding:24px 26px; border-right:1px solid var(--line); }
.stat:last-child{ border-right:none; }
.stat-ic{ width:46px; height:46px; border-radius:13px; background:var(--primary-50); color:var(--primary); display:grid; place-items:center; flex:none; }
.stat strong{ display:block; font-family:'Space Grotesk',sans-serif; font-size:26px; font-weight:700; line-height:1; }
.stat span{ font-size:13px; color:var(--muted); }

.accent-rule{ position:relative; padding-bottom:12px; }
.accent-rule::after{ content:''; position:absolute; left:0; bottom:0; width:44px; height:3px; border-radius:3px; background:var(--primary); }

.about-grid{ display:grid; grid-template-columns:1fr 1.3fr; gap:48px; align-items:start; }
.involved-card{ margin-top:28px; background:var(--primary-tint); border:1px solid var(--primary-100); border-radius:var(--radius); padding:24px; }
.involved-card h3{ font-size:20px; font-weight:700; }
.involved-card p{ color:var(--muted); margin-top:8px; font-size:15px; }
.involved-meta{ display:flex; align-items:center; gap:12px; margin-top:16px; font-size:13.5px; color:var(--muted); }
.wd-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:18px; }
.wd-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:22px; }
.wd-ic{ width:48px; height:48px; border-radius:13px; background:var(--primary-50); color:var(--primary); display:grid; place-items:center; }
.wd-card h4{ font-size:17px; font-weight:700; margin:14px 0 8px; }
.wd-card p{ font-size:14px; color:var(--muted); line-height:1.55; }

/* ---------- team cards ---------- */
.team-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.team-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:16px; text-align:center; }
.team-photo{ border-radius:13px; overflow:hidden; aspect-ratio:1; margin-bottom:14px; }
.team-photo img{ width:100%; height:100%; object-fit:cover; mix-blend-mode:multiply; }
.team-card strong{ display:block; font-size:16px; font-weight:700; }
.team-card .muted{ font-size:13px; }
.team-social{ display:flex; justify-content:center; gap:10px; margin-top:12px; }
.team-social a{ width:32px; height:32px; border-radius:9px; display:grid; place-items:center; color:var(--primary); background:var(--primary-50); transition:.16s var(--ease); }
.team-social a:hover{ background:var(--primary); color:#fff; }

/* ---------- IGDA band ---------- */
.igda-band{ display:flex; align-items:center; gap:30px; background:var(--surface); border:1px solid var(--line);
  border-radius:var(--radius-lg); padding:28px 34px; box-shadow:var(--shadow-sm); }
.igda-band-logo{ flex:none; }
.igda-band p{ flex:1; font-size:15px; color:var(--ink-2); line-height:1.55; }
.igda-band .btn{ flex:none; }

/* ---------- CONTACT ---------- */
.card-title{ font-size:21px; font-weight:700; margin-bottom:20px; }
.contact-grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:24px; align-items:start; }
.info-list{ display:flex; flex-direction:column; }
.info-row{ display:flex; gap:15px; padding:18px 0; border-bottom:1px solid var(--line); }
.info-row:first-child{ padding-top:0; }
.info-row:last-child{ border-bottom:none; padding-bottom:0; }
.info-ic{ width:44px; height:44px; border-radius:12px; background:var(--primary-50); color:var(--primary); display:grid; place-items:center; flex:none; }
.info-row strong{ display:block; font-size:15px; font-weight:700; }
.info-val{ display:block; font-size:14.5px; color:var(--primary); font-weight:600; margin:3px 0; }
.info-val:hover{ text-decoration:underline; }
.info-row .muted{ font-size:13px; }
.contact-form{ display:flex; flex-direction:column; gap:16px; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-secure{ display:flex; align-items:center; gap:7px; font-size:12.5px; color:var(--muted); }
.form-secure svg{ color:#1c7a4f; }
.form-sent{ text-align:center; padding:40px 10px; display:flex; flex-direction:column; align-items:center; gap:10px; }
.sent-ic{ width:60px; height:60px; border-radius:50%; background:#e8f6ee; color:#1c7a4f; display:grid; place-items:center; margin-bottom:6px; }
.form-sent strong{ font-size:20px; }

.contact-blocks{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.cblock{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:22px; }
.cblock-ic{ width:46px; height:46px; border-radius:12px; background:var(--primary-50); color:var(--primary); display:grid; place-items:center; }
.cblock h4{ font-size:17px; font-weight:700; margin:14px 0 8px; }
.cblock p{ font-size:13.5px; color:var(--muted); line-height:1.5; min-height:42px; }
.cblock-mail{ display:block; font-size:13.5px; font-weight:600; color:var(--primary); margin:12px 0 14px; }
.cblock-more{ display:inline-flex; align-items:center; gap:6px; font-size:13.5px; font-weight:600; color:var(--ink-2); }
.cblock:hover .cblock-more{ color:var(--primary); gap:9px; }

.map-join{ display:grid; grid-template-columns:1.15fr .85fr; gap:24px; align-items:stretch; }
.map-box{ position:relative; border-radius:var(--radius); overflow:hidden; height:280px; background:#e8eaf2;
  background-image:linear-gradient(0deg,#e3e6ef 1px,transparent 1px),linear-gradient(90deg,#e3e6ef 1px,transparent 1px); background-size:38px 38px; }
.map-grid{ position:absolute; inset:0; background:
  linear-gradient(115deg,transparent 40%,#d7dbe8 40% 43%,transparent 43%),
  linear-gradient(35deg,transparent 60%,#d7dbe8 60% 62%,transparent 62%); opacity:.7; }
.map-pin{ position:absolute; top:46%; left:62%; color:var(--primary); filter:drop-shadow(0 4px 6px rgba(0,0,0,.2)); }
.map-label{ position:absolute; top:40%; left:18%; background:#fff; border-radius:11px; box-shadow:var(--shadow); padding:9px 13px;
  display:flex; gap:9px; align-items:center; }
.map-label svg{ color:var(--primary); }
.map-label strong{ display:block; font-size:13.5px; }
.map-label span{ font-size:12px; color:var(--muted); }
.join-card{ background:linear-gradient(150deg,var(--primary-tint),#fff); border:1px solid var(--primary-100); border-radius:var(--radius); padding:30px; display:flex; flex-direction:column; justify-content:center; }
.join-card h3{ font-size:22px; font-weight:700; }
.join-card p{ color:var(--muted); margin:10px 0 20px; font-size:15px; }

/* ---------- LIST layout (jobs) ---------- */
.list-layout{ display:grid; grid-template-columns:268px 1fr; gap:26px; align-items:start; }
.filters-aside{ position:sticky; top:96px; }
.fa-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.fa-head h4{ font-size:17px; font-weight:700; }
.link-btn{ font-size:13px; font-weight:600; color:var(--primary); }
.fg{ padding:16px 0; border-top:1px solid var(--line); }
.fg h5{ font-family:'Plus Jakarta Sans',sans-serif; font-size:14px; font-weight:700; margin-bottom:10px; }
.fcheck{ display:flex; align-items:center; gap:9px; padding:6px 0; font-size:14px; color:var(--ink-2); cursor:pointer; }
.fcheck input{ width:17px; height:17px; accent-color:var(--primary); cursor:pointer; }
.fcheck span{ flex:1; }
.fcheck em{ font-style:normal; font-size:12.5px; color:var(--faint); }

.list-main{ min-width:0; }
.job-list{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); margin-top:18px; box-shadow:var(--shadow-sm); }
.job-row{ display:flex; align-items:center; gap:18px; padding:20px 22px; border-bottom:1px solid var(--line); }
.job-row:last-child{ border-bottom:none; }
.job-main{ flex:1; min-width:0; }
.job-title-row{ display:flex; align-items:center; gap:10px; }
.job-title-row strong{ font-size:16.5px; font-weight:700; }
.job-row:hover .job-title-row strong{ color:var(--primary); }
.job-company{ display:block; font-size:14px; margin:2px 0 8px; }
.job-meta{ display:flex; gap:16px; font-size:13px; color:var(--muted); }
.job-meta span{ display:flex; align-items:center; gap:5px; }
.job-chips{ display:flex; gap:7px; flex:none; }
.job-age{ font-size:12.5px; color:var(--faint); flex:none; white-space:nowrap; }
.empty{ padding:50px; text-align:center; color:var(--muted); }

.profile-band{ display:flex; align-items:center; gap:20px; background:linear-gradient(120deg,#241a52,#3a2487); color:#fff;
  border-radius:var(--radius-lg); padding:26px 32px; margin-top:30px; }
.pb-ic{ width:52px; height:52px; border-radius:14px; background:rgba(255,255,255,.14); display:grid; place-items:center; flex:none; }
.pb-text{ flex:1; }
.pb-text strong{ display:block; font-size:19px; font-weight:700; }
.pb-text span{ color:rgba(255,255,255,.78); font-size:14.5px; }
.profile-band .btn{ flex:none; }

/* ---------- TEAM finder ---------- */
.team-req-list{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-sm); }
.req-row{ display:flex; gap:20px; padding:22px; border-bottom:1px solid var(--line); align-items:center; }
.req-row:last-child{ border-bottom:none; }
.req-body{ flex:1; min-width:0; }
.req-head{ display:flex; align-items:baseline; gap:12px; justify-content:space-between; }
.req-head strong{ font-size:17px; font-weight:700; }
.req-row:hover .req-head strong{ color:var(--primary); }
.req-age{ font-size:12.5px; color:var(--faint); flex:none; }
.req-org{ display:block; font-size:13.5px; margin:2px 0 8px; }
.req-desc{ font-size:14px; color:var(--ink-2); line-height:1.5; max-width:56ch; }
.req-chips{ display:flex; gap:7px; margin-top:12px; flex-wrap:wrap; }
.req-role{ flex:none; width:160px; padding-left:22px; border-left:1px solid var(--line); }
.req-role .muted{ font-size:13px; }
.req-role strong{ display:block; font-size:16px; font-weight:700; margin-top:4px; }
@media (max-width:760px){ .req-role{ display:none; } }

/* ---------- EVENTS ---------- */
.events-layout{ display:grid; grid-template-columns:1fr 320px; gap:24px; align-items:start; }
.events-list{ display:flex; flex-direction:column; gap:16px; }
.event-row{ display:flex; gap:18px; align-items:center; background:var(--surface); border:1px solid var(--line);
  border-radius:var(--radius); padding:16px; box-shadow:var(--shadow-sm); transition:.2s var(--ease); }
.event-row:hover{ box-shadow:var(--shadow); transform:translateY(-2px); }
.event-body{ flex:1; min-width:0; }
.event-body strong{ font-size:17px; font-weight:700; }
.event-row:hover .event-body strong{ color:var(--primary); }
.event-desc{ font-size:13.5px; color:var(--muted); line-height:1.45; margin:6px 0 10px; }
.event-tags{ display:flex; gap:7px; flex-wrap:wrap; }
.event-meta{ flex:none; width:190px; display:flex; flex-direction:column; gap:8px; font-size:13px; color:var(--muted); }
.event-meta span{ display:flex; align-items:center; gap:7px; }
@media (max-width:900px){ .event-meta{ display:none; } }

.events-aside{ display:flex; flex-direction:column; gap:18px; position:sticky; top:96px; }
.cal-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.cal-head strong{ font-size:16px; font-weight:700; }
.cal-nav{ width:32px; height:32px; border-radius:9px; border:1px solid var(--line-2); display:grid; place-items:center; color:var(--ink-2); }
.cal-nav:hover{ border-color:var(--primary); color:var(--primary); }
.cal-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:3px; }
.cal-wd{ text-align:center; font-size:11px; font-weight:700; color:var(--faint); padding:6px 0; }
.cal-day{ text-align:center; font-size:13px; padding:7px 0; border-radius:9px; color:var(--ink-2); position:relative; }
.cal-day.off{ color:var(--faint); opacity:.5; }
.cal-day.has{ font-weight:700; color:var(--primary); }
.cal-day.has::after{ content:''; position:absolute; left:50%; bottom:3px; transform:translateX(-50%); width:4px; height:4px; border-radius:50%; background:var(--primary); }
.cal-day.sel{ background:var(--primary); color:#fff; font-weight:700; }
.cal-day.sel::after{ background:#fff; }
.cal-legend{ display:flex; gap:18px; margin-top:14px; padding-top:14px; border-top:1px solid var(--line); font-size:12.5px; color:var(--muted); }
.cal-legend span{ display:flex; align-items:center; gap:7px; }
.cal-legend i{ width:9px; height:9px; border-radius:50%; }
.dot-has{ background:var(--primary); }
.dot-sel{ background:var(--primary-700); }
.share-card{ text-align:left; }
.share-ic{ width:48px; height:48px; border-radius:13px; background:var(--primary-50); color:var(--primary); display:grid; place-items:center; margin-bottom:14px; }
.share-card h4{ font-size:18px; font-weight:700; margin-bottom:8px; }
.share-card p{ font-size:14px; color:var(--muted); line-height:1.55; margin-bottom:16px; }

/* ---------- COMPANIES ---------- */
.companies-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.company-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:24px; display:block; }
.company-top{ display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:16px; }
.company-size{ display:flex; align-items:center; gap:5px; font-size:12.5px; font-weight:600; color:var(--muted); background:var(--surface-2); padding:5px 11px; border-radius:var(--radius-pill); }
.company-card h4{ font-size:19px; font-weight:700; }
.company-card:hover h4{ color:var(--primary); }
.company-tag{ font-size:14px; margin:6px 0 14px; }
.company-cats{ display:flex; gap:7px; flex-wrap:wrap; margin-bottom:18px; }
.company-foot{ display:flex; align-items:center; justify-content:space-between; padding-top:16px; border-top:1px solid var(--line); }
.company-foot .muted{ display:flex; align-items:center; gap:6px; font-size:13.5px; }
.company-open{ font-size:13px; font-weight:600; color:var(--primary-700); background:var(--primary-50); padding:4px 11px; border-radius:var(--radius-pill); }

/* ---------- responsive ---------- */
@media (max-width:1040px){
  .looking-grid{ grid-template-columns:repeat(3,1fr); }
  .team-grid{ grid-template-columns:repeat(3,1fr); }
  .contact-blocks{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:900px){
  .home-hero-inner{ grid-template-columns:1fr; }
  .home-hero-art{ display:none; }
  .three-col{ grid-template-columns:1fr; }
  .news-grid{ grid-template-columns:1fr; }
  .about-grid{ grid-template-columns:1fr; gap:32px; }
  .stats-band{ grid-template-columns:1fr 1fr; }
  .stat:nth-child(2n){ border-right:none; }
  .stat{ border-bottom:1px solid var(--line); }
  .contact-grid{ grid-template-columns:1fr; }
  .map-join{ grid-template-columns:1fr; }
  .list-layout{ grid-template-columns:1fr; }
  .filters-aside{ position:static; }
  .events-layout{ grid-template-columns:1fr; }
  .events-aside{ position:static; flex-direction:row; flex-wrap:wrap; }
  .events-aside > .card{ flex:1; min-width:280px; }
  .companies-grid{ grid-template-columns:repeat(2,1fr); }
  .wd-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:620px){
  .looking-grid{ grid-template-columns:1fr 1fr; }
  .team-grid{ grid-template-columns:1fr 1fr; }
  .contact-blocks{ grid-template-columns:1fr; }
  .form-row{ grid-template-columns:1fr; }
  .companies-grid{ grid-template-columns:1fr; }
  .wd-grid{ grid-template-columns:1fr; }
  .job-chips{ display:none; }
  .hero-head-row .btn{ width:100%; justify-content:center; }
  .profile-band{ flex-direction:column; text-align:center; }
}

/* ---------- detail pages (job / team request / event) ---------- */
.detail-head{ display:flex; gap:18px; align-items:center; }
.detail-head h1{ margin-bottom:6px; }
.detail-container{ max-width:860px; }
.detail-meta{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px 22px;
  padding:16px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.detail-meta > div{ display:flex; flex-direction:column; gap:4px; }
.detail-meta .muted{ font-size:12.5px; }
.detail-desc{ line-height:1.7; color:var(--ink-2); }
.detail-actions{ display:flex; gap:10px; margin-top:26px; flex-wrap:wrap; }
@media (max-width:640px){
  .detail-head{ flex-direction:column; align-items:flex-start; gap:12px; }
}
.detail-mail{ color:var(--primary); text-decoration:none; word-break:break-all; }
.detail-mail:hover{ text-decoration:underline; }

/* ---------- home: next-event pill in hero ---------- */
.hero-event{ display:inline-flex; align-items:center; gap:8px; margin:0 0 18px; padding:8px 16px;
  border-radius:999px; background:var(--surface); border:1px solid var(--line); font-size:13.5px;
  color:var(--ink-2); text-decoration:none; box-shadow:0 2px 10px rgba(20,12,50,.05); max-width:100%; }
.hero-event strong{ color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hero-event em{ font-style:normal; font-weight:700; color:var(--primary); white-space:nowrap; }
.hero-event:hover{ border-color:var(--primary); color:var(--ink); }

/* ---------- home: games showcase ---------- */
.games-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.game-card{ display:block; text-decoration:none; color:inherit; }
.game-body{ display:flex; flex-direction:column; gap:1px; padding:10px 4px 0; }
.game-body strong{ font-size:15.5px; }
.game-body .muted{ font-size:13px; }
@media (max-width:900px){ .games-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .games-grid{ grid-template-columns:1fr; } }

/* ---------- home: hero motion (starts at non-zero opacity) ---------- */
@keyframes heroRise{ from{ opacity:.25; transform:translateY(14px); } to{ opacity:1; transform:none; } }
.home-hero-text > *{ animation:heroRise .55s cubic-bezier(.2,.7,.3,1) backwards; }
.home-hero-text > :nth-child(1){ animation-delay:.05s; }
.home-hero-text > :nth-child(2){ animation-delay:.12s; }
.home-hero-text > :nth-child(3){ animation-delay:.19s; }
.home-hero-text > :nth-child(4){ animation-delay:.26s; }
.home-hero-text > :nth-child(5){ animation-delay:.33s; }
.home-hero-text > :nth-child(6){ animation-delay:.40s; }
@keyframes heroDrift{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-9px); } }
.home-hero-art{ animation:heroDrift 7s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce){
  .home-hero-text > *, .home-hero-art{ animation:none; }
}

/* ---------- games showcase page ---------- */
.games-showcase{ position:relative; overflow:hidden; padding-block:64px;
  background:linear-gradient(180deg, #171130 0%, #221a4d 100%); }
.games-showcase .container{ position:relative; z-index:1; }
.games-showcase::before, .games-showcase::after{ content:''; position:absolute; border-radius:50%;
  pointer-events:none; filter:blur(72px); z-index:0; }
.games-showcase::before{ width:560px; height:560px; left:-170px; top:-160px;
  background:radial-gradient(circle, color-mix(in srgb, var(--primary) 42%, transparent), transparent 65%);
  animation:auroraA 18s ease-in-out infinite alternate; }
.games-showcase::after{ width:480px; height:480px; right:-150px; bottom:-180px;
  background:radial-gradient(circle, rgba(245,166,35,.15), transparent 65%);
  animation:auroraB 22s ease-in-out infinite alternate; }
.gshow-grid{ display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:220px; gap:20px; }
.gshow-card{ --ghue:265; position:relative; display:block; overflow:hidden; border-radius:var(--radius-lg);
  text-decoration:none; color:#fff; box-shadow:var(--shadow);
  transition:transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s ease;
  animation:heroRise .5s cubic-bezier(.2,.7,.3,1) backwards; }
/* per-game colored gradient ring, revealed on hover */
.gshow-card::after{ content:''; position:absolute; inset:0; z-index:4; border-radius:inherit; pointer-events:none;
  padding:1.5px; background:linear-gradient(140deg, hsl(var(--ghue) 85% 68%), transparent 62%);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude; opacity:0; transition:opacity .3s ease; }
.gshow-card:hover::after{ opacity:.9; }
.gshow-card:nth-child(1){ animation-delay:.05s; } .gshow-card:nth-child(2){ animation-delay:.11s; }
.gshow-card:nth-child(3){ animation-delay:.17s; } .gshow-card:nth-child(4){ animation-delay:.23s; }
.gshow-card:nth-child(5){ animation-delay:.29s; } .gshow-card:nth-child(6){ animation-delay:.35s; }
.gshow-card:nth-child(n+7){ animation-delay:.41s; }
.gshow-card:hover{ transform:translateY(-6px); box-shadow:0 22px 50px hsl(var(--ghue) 60% 45% / .4); }
.gshow-card.featured{ grid-column:span 2; grid-row:span 2; }
.gshow-art{ position:absolute; inset:0; transition:transform .6s ease; }
.gshow-card:hover .gshow-art{ transform:scale(1.05); }
.gshow-overlay{ position:absolute; inset:auto 0 0 0; z-index:2; padding:18px;
  display:flex; flex-direction:column; gap:3px;
  background:linear-gradient(transparent, rgba(12,7,32,.88)); padding-top:48px;
  transition:transform .3s cubic-bezier(.2,.7,.3,1); }
.gshow-card:hover .gshow-overlay{ transform:translateY(-2px); }
.gshow-overlay strong{ font-family:'Space Grotesk',sans-serif; font-size:19px; letter-spacing:-.01em; }
.gshow-card.featured .gshow-overlay strong{ font-size:28px; }
.gshow-overlay .gshow-by{ font-size:13px; opacity:.85; }
.gshow-desc{ font-size:13.5px; line-height:1.5; opacity:.82; margin-top:7px; max-width:48ch;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.gshow-cta{ display:inline-flex; align-items:center; gap:6px; margin-top:8px;
  font-size:13.5px; font-weight:700; color:#fff;
  opacity:0; max-height:0; transform:translateY(8px);
  transition:opacity .28s ease, transform .28s ease, max-height .28s ease; }
.gshow-card:hover .gshow-cta{ opacity:1; max-height:30px; transform:translateY(0); }
.gshow-badge{ position:absolute; top:14px; left:14px; z-index:5;
  background:var(--primary); color:#fff; font-size:11px; font-weight:800;
  letter-spacing:.09em; text-transform:uppercase; padding:5px 11px;
  border-radius:var(--radius-pill); box-shadow:0 6px 18px rgba(0,0,0,.35); }
.gshow-shine{ position:absolute; inset:0; z-index:3; pointer-events:none; opacity:0;
  background:linear-gradient(115deg, transparent 35%, rgba(255,255,255,.22) 50%, transparent 65%);
  transform:translateX(-120%); }
.gshow-card:hover .gshow-shine{ opacity:1; transform:translateX(120%);
  transition:transform .85s ease, opacity .2s ease; }
.gshow-tags{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:5px; }
.gshow-tags .chip{ background:rgba(255,255,255,.16); color:#fff; border:1px solid rgba(255,255,255,.28);
  backdrop-filter:blur(4px); font-size:11.5px; padding:3px 9px; }
@media (max-width:900px){
  .gshow-grid{ grid-template-columns:repeat(2,1fr); grid-auto-rows:200px; }
  .gshow-card.featured{ grid-column:span 2; grid-row:span 1; }
}
@media (max-width:560px){
  .gshow-grid{ grid-template-columns:1fr; grid-auto-rows:190px; }
  .gshow-card.featured{ grid-column:span 1; }
}
@media (prefers-reduced-motion: reduce){
  .gshow-card, .gshow-art, .gshow-shine, .gshow-overlay, .gshow-cta, .gshow-card::after,
  .games-showcase::before, .games-showcase::after{ animation:none; transition:none; }
  .gshow-cta{ opacity:1; max-height:30px; transform:none; }
}
/* hide ArtThumb's corner label inside showcase cards (overlay carries the text) */
.gshow-art > div > div:last-child,
.gd-hero-bg > div > div:last-child,
.gd-cover > div > div:last-child{ display:none; }

/* ---------- game detail (cinematic) ---------- */
.gd{ --ghue:265; }
.gd-hero{ position:relative; overflow:hidden; min-height:320px; display:flex; align-items:flex-end; }
.gd-hero-bg{ position:absolute; inset:0; z-index:0; }
.gd-hero-bg > div{ filter:blur(20px) saturate(1.25); transform:scale(1.18); }
.gd-hero-scrim{ position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(10,6,26,.30) 0%, rgba(10,6,26,.58) 45%, rgba(10,6,26,.93) 100%); }
.gd-hero-inner{ position:relative; z-index:2; padding-block:48px 34px; color:#fff; }
.gd-breadcrumb{ margin-bottom:16px; }
.gd-breadcrumb a, .gd-breadcrumb span{ color:rgba(255,255,255,.72); }
.gd-breadcrumb a:hover{ color:#fff; }
.gd-breadcrumb .sep{ color:rgba(255,255,255,.4); }
.gd-eyebrow{ font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:hsl(var(--ghue) 85% 80%); margin-bottom:10px; }
.gd-title{ font-size:clamp(34px,5vw,56px); font-weight:700; line-height:1.04; color:#fff; }
.gd-hero-tags{ display:flex; gap:8px; flex-wrap:wrap; margin-top:18px; }
.gd-chip{ background:rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.3);
  -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }

.gd-grid{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:34px; align-items:start; }
.gd-cover{ position:relative; width:100%; aspect-ratio:16/9; border-radius:var(--radius-lg);
  overflow:hidden; box-shadow:var(--shadow); margin-bottom:24px; }
.gd-about .card-title{ margin-bottom:12px; }
.gd-side-sticky{ position:sticky; top:88px; display:flex; flex-direction:column; gap:16px; }
.gd-panel{ background:var(--surface); border:1px solid var(--line);
  border-top:3px solid hsl(var(--ghue) 70% 55%); border-radius:var(--radius-lg);
  padding:22px; box-shadow:var(--shadow-sm); }
.gd-fact{ display:flex; flex-direction:column; gap:5px; margin-bottom:16px; }
.gd-fact .muted{ font-size:12.5px; }
.gd-fact strong{ font-size:16px; }
.gd-side-tags{ display:flex; gap:7px; flex-wrap:wrap; margin-bottom:18px; }
.gd-cta{ display:flex; align-items:center; justify-content:center; gap:8px; width:100%;
  padding:14px 18px; font-size:15px; font-weight:700; color:#fff; border:none;
  background:linear-gradient(135deg, hsl(var(--ghue) 72% 54%), hsl(var(--ghue) 70% 42%));
  box-shadow:0 10px 26px hsl(var(--ghue) 60% 45% / .45);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease; }
.gd-cta:hover{ filter:brightness(1.08); transform:translateY(-2px);
  box-shadow:0 16px 34px hsl(var(--ghue) 60% 45% / .62); }
.gd-back{ width:100%; justify-content:center; margin-top:10px; }
.gd-share{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:20px 22px; box-shadow:var(--shadow-sm); }
.gd-share-title{ font-family:'Space Grotesk',sans-serif; font-size:12.5px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-bottom:14px; }
.gd-copy{ width:100%; justify-content:center; gap:8px; }
.gd-share-row{ display:flex; gap:10px; margin-top:12px; }
.gd-share-row a, .gd-share-row button{ flex:1; height:42px; border-radius:12px; display:grid; place-items:center;
  color:var(--ink-2); background:var(--surface-2); border:1px solid var(--line); cursor:pointer;
  transition:.18s var(--ease); }
.gd-share-row a:hover, .gd-share-row button:hover{ color:#fff; background:hsl(var(--ghue) 65% 52%);
  border-color:transparent; transform:translateY(-2px); }
.gd-more{ margin-top:6px; }
.gd-more-title{ color:#fff; font-size:22px; font-weight:700; margin-bottom:22px; }
.gd-more-grid{ grid-template-columns:repeat(4,1fr); grid-auto-rows:185px; }
@media (max-width:980px){ .gd-more-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:860px){
  .gd-grid{ grid-template-columns:1fr; gap:24px; }
  .gd-side-sticky{ position:static; }
}
@media (max-width:560px){ .gd-more-grid{ grid-template-columns:1fr; } }
@media (prefers-reduced-motion: reduce){ .gd-cta{ transition:none; } .gd-cta:hover{ transform:none; } }

/* ---------- premium polish: aurora hero ---------- */
.home-hero::before, .home-hero::after{
  content:''; position:absolute; border-radius:50%; pointer-events:none; filter:blur(46px); }
.home-hero::before{ width:580px; height:580px; left:-150px; top:-200px;
  background:radial-gradient(circle, color-mix(in srgb, var(--primary) 24%, transparent), transparent 65%);
  animation:auroraA 16s ease-in-out infinite alternate; }
.home-hero::after{ width:520px; height:520px; right:-120px; bottom:-220px;
  background:radial-gradient(circle, rgba(245,166,35,.16), transparent 65%);
  animation:auroraB 20s ease-in-out infinite alternate; }
@keyframes auroraA{ from{ transform:translate(0,0) scale(1); } to{ transform:translate(70px,50px) scale(1.18); } }
@keyframes auroraB{ from{ transform:translate(0,0) scale(1); } to{ transform:translate(-80px,-40px) scale(1.12); } }
.home-hero-inner{ position:relative; z-index:1; }

/* gradient keyword in the hero headline */
.grad-text{ background:linear-gradient(100deg, var(--primary) 10%, #9a6bff 55%, #f2643c 105%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }

/* shine sweep on the hero primary button */
.hero-cta .btn-primary{ position:relative; overflow:hidden; }
.hero-cta .btn-primary::after{ content:''; position:absolute; inset:0;
  background:linear-gradient(110deg, transparent 32%, rgba(255,255,255,.38) 50%, transparent 68%);
  transform:translateX(-130%); transition:transform .7s ease; pointer-events:none; }
.hero-cta .btn-primary:hover::after{ transform:translateX(130%); }

/* ---------- premium polish: dark games band ---------- */
.games-band{ background:linear-gradient(180deg, #171130 0%, #221a4d 100%); padding-block:72px; }
.games-band-cta{ text-align:center; margin-top:34px; }
.games-band .section-title{ color:#fff; }
.games-band .lede{ color:rgba(255,255,255,.62); }
.games-band .game-body strong{ color:#fff; }
.games-band .game-body .muted{ color:rgba(255,255,255,.55); }
.games-band .game-card:hover .game-body strong{ color:#cdbcff; }

/* ---------- premium polish: scroll-reveal ---------- */
.reveal-init{ opacity:.3; transform:translateY(24px);
  transition:opacity .65s ease, transform .65s cubic-bezier(.2,.7,.3,1); }
.reveal-init.revealed{ opacity:1; transform:none; }

/* ---------- premium polish: partner marquee ---------- */
.partners-marquee{ overflow:hidden; margin-top:22px;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.marquee-track{ display:flex; gap:56px; width:max-content; padding-right:56px;
  animation:marquee 30s linear infinite; }
.marquee-track:hover{ animation-play-state:paused; }
.marquee-track .partner{ white-space:nowrap; }
@keyframes marquee{ to{ transform:translateX(-50%); } }

@media (prefers-reduced-motion: reduce){
  .home-hero::before, .home-hero::after{ animation:none; }
  .hero-cta .btn-primary::after{ display:none; }
  .marquee-track{ animation:none; flex-wrap:wrap; justify-content:center; width:auto; }
  .reveal-init{ opacity:1; transform:none; transition:none; }
}

/* ---------- premium polish: about page ---------- */
/* soft aurora glow in the about hero (echoes the home hero) */
.about-hero::before, .hero-glow::before{ content:''; position:absolute; width:520px; height:520px; left:-140px; top:-220px;
  border-radius:50%; pointer-events:none; filter:blur(46px); z-index:0;
  background:radial-gradient(circle, color-mix(in srgb, var(--primary) 20%, transparent), transparent 65%);
  animation:auroraA 16s ease-in-out infinite alternate; }

/* what-we-do cards: gradient icon tiles + lift */
.wd-card{ transition:transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease); }
.wd-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:var(--primary-100); }
.wd-card:hover .wd-ic{ background:linear-gradient(135deg, var(--primary), var(--primary-700)); color:#fff; }
.wd-ic{ transition:background .22s var(--ease), color .22s var(--ease); }

/* team cards: photo zoom + accent ring on hover */
.team-photo{ position:relative; }
.team-photo img{ transition:transform .45s var(--ease); }
.team-card:hover .team-photo img{ transform:scale(1.06); }
.team-card{ transition:transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease); }
.team-card:hover{ border-color:var(--primary-100); }
.team-social a{ transition:.18s var(--ease); }
.team-card:hover .team-social a{ color:var(--primary); }

/* involved card: gradient hairline + glow */
.involved-card{ position:relative; overflow:hidden;
  box-shadow:0 10px 30px -18px color-mix(in srgb, var(--primary) 45%, transparent); }
.involved-card::before{ content:''; position:absolute; inset:0 0 auto 0; height:3px;
  background:linear-gradient(90deg, var(--primary), #9a6bff 55%, #f2643c); }

/* IGDA band: the page's dark premium moment */
.igda-band-dark{ background:linear-gradient(120deg, #171130 0%, #221a4d 100%);
  border-color:transparent; color:rgba(255,255,255,.82); position:relative; overflow:hidden; }
.igda-band-dark::after{ content:''; position:absolute; width:380px; height:380px; right:-120px; top:-160px;
  border-radius:50%; filter:blur(46px); pointer-events:none;
  background:radial-gradient(circle, color-mix(in srgb, var(--primary) 38%, transparent), transparent 65%); }
.igda-band-dark p{ position:relative; z-index:1; color:rgba(255,255,255,.88); }
.igda-btn{ position:relative; z-index:1; background:rgba(255,255,255,.1); color:#fff;
  border:1px solid rgba(255,255,255,.25); flex:none; }
.igda-btn:hover{ background:#fff; color:var(--primary-700); border-color:#fff; }

@media (prefers-reduced-motion: reduce){
  .about-hero::before, .hero-glow::before{ animation:none; }
  .wd-card, .team-card, .team-photo img{ transition:none; }
}

/* ---------- premium polish: jobs & team finder lists ---------- */
.job-list, .team-req-list{ overflow:hidden; }
.job-row, .req-row{ position:relative; transition:background .18s var(--ease); }
.job-row::before, .req-row::before{ content:''; position:absolute; left:0; top:18%; bottom:18%; width:3px;
  border-radius:3px; background:linear-gradient(180deg, var(--primary), #9a6bff);
  opacity:0; transform:scaleY(.4); transition:.22s var(--ease); }
.job-row:hover, .req-row:hover{ background:var(--primary-tint); }
.job-row:hover::before, .req-row:hover::before{ opacity:1; transform:none; }
.job-row.featured::before{ opacity:1; transform:none;
  background:linear-gradient(180deg, #f2643c, var(--primary)); }
.job-row > :first-child, .req-row > :first-child{ transition:transform .25s var(--ease); }
.job-row:hover > :first-child{ transform:scale(1.06); }
.req-row:hover > :first-child{ transform:scale(1.03); }
.fcheck{ transition:color .15s var(--ease); }
.fcheck:hover{ color:var(--primary); }
@media (prefers-reduced-motion: reduce){
  .job-row, .req-row, .job-row > :first-child, .req-row > :first-child{ transition:none; }
}

/* ---------- Moldovan ornament placements ---------- */
.ornament-band{ width:264px; margin:-8px auto 30px; color:#cdbcff; opacity:.55; }
.ornament-footer{ color:var(--footer-faint); opacity:.45; margin-bottom:36px; }
@media (max-width:560px){ .ornament-band{ width:176px; } }
