{"id":14059,"date":"2026-06-05T11:39:04","date_gmt":"2026-06-05T08:39:04","guid":{"rendered":"https:\/\/dawnforgestudios.com\/about-us-page-2026\/"},"modified":"2026-06-19T12:26:58","modified_gmt":"2026-06-19T09:26:58","slug":"about-us","status":"publish","type":"page","link":"https:\/\/dawnforgestudios.com\/en\/about-us\/","title":{"rendered":"About us page 2026"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"14059\" class=\"elementor elementor-14059 elementor-14022\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-18a795e e-flex e-con-boxed e-con e-parent\" data-id=\"18a795e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3971ff2 elementor-widget elementor-widget-html\" data-id=\"3971ff2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- DawnForge Studios \u2014 HOME page Elementor HTML widget snippet\n     Replace MEDIA_BASE with your WP Media base URL, e.g.\n       https:\/\/dawnforgestudios.com\/wp-content\/uploads\/2026\/05\n-->\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@300;400;500;600&family=Montserrat:wght@400;500;600;700&display=swap\">\n<style>\n\/* ==========================================================================\n   DawnForge Studios \u2014 Site Stylesheet\n   Tokens \u00b7 Layout \u00b7 Components \u00b7 Animations \u00b7 Responsive\n   ========================================================================== *\/\n\/* ----- Tokens ----- *\/\n:root {\n  \/* Canvas *\/\n  --bg:               #060608;\n  --bg-elevated:      #0d0d12;\n  --bg-card:          rgba(255, 255, 255, 0.045);\n  --bg-card-hover:    rgba(255, 255, 255, 0.075);\n  \/* Borders *\/\n  --border:           rgba(255, 255, 255, 0.08);\n  --border-hover:     rgba(255, 255, 255, 0.18);\n  --border-accent:    rgba(104, 85, 230, 0.4);\n  \/* Text *\/\n  --text:             #f0effe;\n  --text-muted:       rgba(240, 239, 254, 0.5);\n  --text-faint:       rgba(240, 239, 254, 0.25);\n  \/* Accent \u2014 Violet *\/\n  --accent-violet:    #6855E6;\n  --accent-violet-dim: rgba(104, 85, 230, 0.15);\n  --glow-violet:      0 0 40px rgba(104, 85, 230, 0.45), 0 0 80px rgba(104, 85, 230, 0.2);\n  --glow-violet-sm:   0 0 20px rgba(104, 85, 230, 0.35);\n  \/* Accent \u2014 Orange *\/\n  --accent-orange:    #FA7A39;\n  --accent-orange-dim: rgba(250, 122, 57, 0.15);\n  --glow-orange:      0 0 40px rgba(250, 122, 57, 0.45), 0 0 80px rgba(250, 122, 57, 0.2);\n  --glow-orange-sm:   0 0 20px rgba(250, 122, 57, 0.35);\n  \/* Semantic *\/\n  --success:          #3ecf8e;\n  --error:            #f55d5d;\n  \/* Typography *\/\n  --font-body:        'Inter', system-ui, sans-serif;\n  --font-display:     'Montserrat', 'Inter', system-ui, sans-serif;\n  \/* Fluid scale (R30 \u2014 tightened for desktop calmness) *\/\n  --text-xs:          clamp(0.7rem,  1.3vw, 0.72rem);\n  --text-sm:          clamp(0.78rem, 1.6vw, 0.82rem);\n  --text-base:        clamp(0.94rem, 1.7vw, 1rem);\n  --text-lg:          clamp(1rem,    1.8vw, 1.08rem);\n  --text-xl:          clamp(1.1rem,  2.1vw, 1.22rem);\n  --text-2xl:         clamp(1.25rem, 2.4vw, 1.55rem);\n  --text-3xl:         clamp(1.55rem, 3vw,   2.1rem);\n  --text-4xl:         clamp(2rem,    4.2vw, 3.1rem);\n  --text-hero:        clamp(2.3rem,  5.8vw, 4.4rem);\n  \/* Spacing *\/\n  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 24px;\n  --s-6: 32px; --s-7: 48px; --s-8: 64px; --s-9: 96px; --s-10: 128px;\n  \/* Radius *\/\n  --radius-sm:  6px;\n  --radius-md:  12px;\n  --radius-lg:  20px;\n  --radius-xl:  32px;\n  --radius-pill: 9999px;\n  \/* Glass *\/\n  --shadow-card:  0 1px 1px rgba(0,0,0,0.3), 0 4px 16px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.06);\n  --shadow-card-hover: 0 2px 2px rgba(0,0,0,0.35), 0 8px 32px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.09);\n  --blur-card:    blur(16px) saturate(160%);\n  --blur-nav:     blur(24px) saturate(180%);\n  \/* Motion *\/\n  --ease:         cubic-bezier(.16, 1, .3, 1);\n  --ease-out:     cubic-bezier(.2, .7, .2, 1);\n  --content-max:  1200px;\n  --p-gutter:     clamp(20px, 4vw, 64px);\n}\n\/* ----- Reset ----- *\/\n*, *::before, *::after { box-sizing: border-box; }\nhtml { font-size: 16px; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }\nbody {\n  margin: 0;\n  font-family: var(--font-body);\n  font-size: var(--text-base);\n  line-height: 1.55;\n  color: var(--text);\n  background: var(--bg);\n  -webkit-font-smoothing: antialiased;\n  text-rendering: optimizeLegibility;\n  overflow-x: hidden;\n  min-height: 100dvh;\n}\nimg, svg { display: block; max-width: 100%; height: auto; }\nbutton { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }\na { color: inherit; text-decoration: none; }\nh1, h2, h3, h4, h5 { font-family: var(--font-display); font-weight: 600; line-height: 1.05; letter-spacing: -0.02em; margin: 0; }\np { margin: 0; max-width: 65ch; }\nul { margin: 0; padding: 0; list-style: none; }\ninput, textarea, select { font: inherit; color: inherit; font-size: max(16px, 1rem); }\n:focus-visible { outline: 2px solid var(--accent-violet); outline-offset: 3px; border-radius: 4px; }\n::selection { background: var(--accent-violet); color: white; }\n\/* Skip link *\/\n.skip-link {\n  position: absolute; top: -100px; left: 16px;\n  background: var(--accent-violet); color: white;\n  padding: 12px 18px; border-radius: var(--radius-md);\n  z-index: 999;\n}\n.skip-link:focus { top: 16px; }\n\/* ----- Bilingual rules \u2014 EN-only file overrides -----\n   This file contains ONLY .lang-en spans (no .lang-bg). The original default\n   `.lang-en { display: none }` requires <html data-lang=\"en\"> to make EN\n   visible \u2014 which fails if the inline JS that sets that attribute is blocked\n   or delayed by WordPress\/WPML\/cache. Force visible by default since there\n   is no opposite-lang content to hide. *\/\n.lang-en { display: inline; }\n.lang-bg { display: none; }\n.block-en { display: block; }\n.block-bg { display: none; }\n\/* ----- Background layer (orbs + canvas) ----- *\/\n.bg-stage {\n  position: fixed; inset: 0;\n  pointer-events: none;\n  z-index: 0;\n  overflow: hidden;\n}\n.orb {\n  position: absolute;\n  border-radius: 50%;\n  filter: blur(80px);\n  will-change: transform;\n  opacity: 0.9;\n}\n.orb-violet {\n  width: 640px; height: 640px;\n  background: radial-gradient(circle, rgba(104,85,230,0.42) 0%, transparent 70%);\n  top: -10%; right: -8%;\n  animation: orbDriftA 18s ease-in-out infinite alternate;\n}\n.orb-orange {\n  width: 520px; height: 520px;\n  background: radial-gradient(circle, rgba(250,122,57,0.32) 0%, transparent 70%);\n  filter: blur(100px);\n  bottom: -8%; left: -6%;\n  animation: orbDriftB 14s ease-in-out infinite alternate;\n}\n.orb-violet-2 {\n  width: 420px; height: 420px;\n  background: radial-gradient(circle, rgba(104,85,230,0.22) 0%, transparent 65%);\n  filter: blur(120px);\n  top: 38%; left: 42%;\n  animation: orbDriftC 22s ease-in-out infinite alternate;\n}\n@keyframes orbDriftA {\n  0%   { transform: translate(0,0) scale(1); }\n  100% { transform: translate(-60px, 40px) scale(1.08); }\n}\n@keyframes orbDriftB {\n  0%   { transform: translate(0,0) scale(1); }\n  100% { transform: translate(50px, -30px) scale(1.05); }\n}\n@keyframes orbDriftC {\n  0%   { transform: translate(0,0) scale(1); }\n  100% { transform: translate(30px, 20px) scale(1.1); }\n}\n\/* Page-specific orb palettes *\/\n.theme-orange .orb-violet { opacity: 0.35; }\n.theme-orange .orb-orange { width: 720px; height: 720px; opacity: 1; top: -5%; right: -10%; left: auto; }\n.theme-dual .orb-violet { top: 40%; right: auto; left: -5%; }\n.theme-dual .orb-orange { top: 30%; right: -8%; left: auto; bottom: auto; }\n.bg-particles { position: absolute; inset: 0; opacity: 0.35; }\n\/* ----- Page shell ----- *\/\n.page { position: relative; z-index: 1; }\n.container {\n  width: 100%;\n  max-width: var(--content-max);\n  margin-inline: auto;\n  padding-inline: var(--p-gutter);\n}\n\/* ----- Nav ----- *\/\n.site-header {\n  position: sticky; top: 0; z-index: 50;\n  padding: var(--s-4) 0;\n  transition: background 240ms var(--ease-out), border-color 240ms var(--ease-out);\n}\n.site-header.scrolled {\n  background: rgba(6, 6, 8, 0.55);\n  backdrop-filter: var(--blur-nav);\n  -webkit-backdrop-filter: var(--blur-nav);\n  border-bottom: 1px solid var(--border);\n}\n.nav {\n  display: flex; align-items: center; justify-content: space-between;\n  gap: var(--s-5);\n}\n.brand {\n  display: flex; align-items: center; gap: 10px;\n  font-family: var(--font-display);\n  font-weight: 600; font-size: 1.05rem; letter-spacing: -0.01em;\n}\n.brand-mark {\n  width: 32px; height: 32px;\n  display: grid; place-items: center;\n  background: linear-gradient(135deg, var(--accent-violet), var(--accent-orange));\n  border-radius: 9px;\n  box-shadow: var(--glow-violet-sm);\n  font-weight: 700; color: white; font-family: var(--font-display);\n  font-size: 0.95rem;\n  position: relative;\n  overflow: hidden;\n}\n\/* Real DawnForge \"DF\" mark \u2014 black PNG with white letters, blended into gradient *\/\n.brand-logo {\n  width: 34px; height: 34px;\n  border-radius: 9px;\n  background:\n    radial-gradient(circle at 30% 30%, rgba(104,85,230,0.55) 0%, transparent 60%),\n    radial-gradient(circle at 75% 70%, rgba(250,122,57,0.45) 0%, transparent 60%),\n    #0a0a0e;\n  box-shadow: var(--glow-violet-sm), inset 0 0 0 1px rgba(255,255,255,0.08);\n  display: grid; place-items: center;\n  position: relative;\n  overflow: hidden;\n  flex: 0 0 auto;\n}\n.brand-logo img {\n  width: 96%; height: 96%;\n  mix-blend-mode: screen;\n  filter: drop-shadow(0 0 4px rgba(255,255,255,0.15));\n}\n.brand-logo::after {\n  content: ''; position: absolute; inset: 0;\n  background: linear-gradient(135deg, rgba(255,255,255,0.10), transparent 45%);\n  pointer-events: none;\n}\n.nav-links { display: flex; gap: var(--s-6); flex-wrap: nowrap; }\n.nav-link {\n  font-size: 0.95rem;\n  color: var(--text-muted);\n  transition: color 160ms var(--ease-out);\n  position: relative; padding: 6px 0;\n  white-space: nowrap;\n}\n.nav-link:hover, .nav-link.active { color: var(--text); }\n.nav-link.active::after {\n  content: ''; position: absolute;\n  left: 0; right: 0; bottom: -2px;\n  height: 1px;\n  background: linear-gradient(90deg, var(--accent-violet), var(--accent-orange));\n}\n.nav-cluster { display: flex; align-items: center; gap: var(--s-4); }\n.nav-cta-desktop { white-space: nowrap; }\n\/* Language toggle *\/\n.lang-toggle {\n  display: inline-flex; align-items: center;\n  border: 1px solid var(--border);\n  border-radius: var(--radius-pill);\n  padding: 3px; gap: 0;\n  background: rgba(255,255,255,0.03);\n}\n.lang-toggle button {\n  font-size: 0.78rem; font-weight: 500;\n  padding: 6px 12px; border-radius: var(--radius-pill);\n  color: var(--text-muted);\n  transition: all 180ms var(--ease-out);\n  letter-spacing: 0.04em;\n}\n.lang-toggle button[aria-pressed=\"true\"] {\n  background: var(--text);\n  color: var(--bg);\n}\n\/* CTA Button system *\/\n.btn {\n  display: inline-flex; align-items: center; gap: 10px;\n  padding: 14px 22px;\n  border-radius: var(--radius-pill);\n  font-weight: 500; font-size: 0.95rem;\n  min-height: 48px;\n  transition: transform 160ms var(--ease-out), box-shadow 160ms var(--ease-out), background 160ms var(--ease-out), border-color 160ms var(--ease-out);\n  position: relative;\n  letter-spacing: -0.005em;\n  will-change: transform;\n}\n.btn-primary {\n  background: var(--accent-violet);\n  color: white;\n  box-shadow: var(--glow-violet-sm);\n}\n.btn-primary:hover { transform: translateY(-2px); box-shadow: var(--glow-violet); }\n.btn-primary:active { transform: translateY(0); }\n.btn-orange {\n  background: var(--accent-orange);\n  color: #1a0f08;\n  box-shadow: var(--glow-orange-sm);\n  font-weight: 600;\n}\n.btn-orange:hover { transform: translateY(-2px); box-shadow: var(--glow-orange); }\n.btn-ghost {\n  background: transparent;\n  color: var(--text);\n  border: 1px solid var(--border-hover);\n}\n.btn-ghost:hover { background: rgba(255,255,255,0.05); border-color: var(--text-muted); }\n.btn-sm { padding: 10px 16px; font-size: 0.85rem; min-height: 38px; }\n.btn .arrow { transition: transform 180ms var(--ease-out); }\n.btn:hover .arrow { transform: translateX(3px); }\n\/* Hamburger *\/\n.menu-toggle {\n  display: none;\n  width: 44px; height: 44px;\n  align-items: center; justify-content: center;\n  background: transparent;\n  border: none;\n  padding: 0;\n  cursor: pointer;\n  border-radius: 10px;\n  border: 1px solid var(--border);\n}\n\/* SVG hamburger \u2014 three lines that translate + rotate into a clean X.\n   The X stays the same visual size as the hamburger. *\/\n.menu-toggle .ham {\n  width: 32px; height: 32px;\n  overflow: visible;\n}\n.menu-toggle .line {\n  fill: none;\n  stroke: var(--text);\n  stroke-width: 7;\n  stroke-linecap: round;\n  transform-origin: 50px 50px;\n  transition:\n    transform 600ms cubic-bezier(0.4, 0, 0.2, 1),\n    opacity 300ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n[data-menu=\"open\"] .menu-toggle .line-top {\n  transform: translateY(17px) rotate(45deg);\n}\n[data-menu=\"open\"] .menu-toggle .line-middle {\n  opacity: 0;\n}\n[data-menu=\"open\"] .menu-toggle .line-bottom {\n  transform: translateY(-17px) rotate(-45deg);\n}\n\/* ----- Sections (R30 \u2014 desktop calm) ----- *\/\nsection {\n  padding: clamp(56px, 7vw, 96px) 0;\n  position: relative;\n}\n.eyebrow {\n  display: inline-flex; align-items: center; gap: 8px;\n  padding: 7px 14px;\n  border: 1px solid rgba(166, 150, 255, 0.28);\n  border-radius: var(--radius-pill);\n  background: rgba(104, 85, 230, 0.10);\n  color: rgba(240, 239, 254, 0.85);\n  font-family: var(--font-display);\n  font-size: 0.78rem;\n  font-weight: 500;\n  letter-spacing: 0.12em;\n  text-transform: uppercase;\n  backdrop-filter: blur(8px);\n  -webkit-backdrop-filter: blur(8px);\n  box-shadow:\n    inset 0 1px 0 rgba(255, 255, 255, 0.08),\n    0 0 20px rgba(104, 85, 230, 0.18);\n  margin-bottom: var(--s-5);\n}\n.eyebrow::before {\n  content: '';\n  width: 6px; height: 6px;\n  border-radius: 50%;\n  background: var(--accent-violet);\n  box-shadow: 0 0 10px var(--accent-violet);\n}\n.section-heading {\n  font-size: var(--text-4xl);\n  max-width: 14ch;\n  margin-bottom: var(--s-5);\n}\n.section-subline {\n  font-size: var(--text-lg);\n  color: var(--text-muted);\n  max-width: 56ch;\n  margin-bottom: var(--s-7);\n}\n\/* ----- Hero (R30 \u2014 desktop calm) ----- *\/\n.hero {\n  min-height: 86svh;\n  padding: clamp(96px, 14vh, 150px) 0 clamp(48px, 6vw, 88px);\n  display: flex; align-items: center;\n}\n.hero-half { min-height: 52vh; padding: clamp(110px, 13vh, 140px) 0 clamp(40px, 6vw, 72px); }\n.hero-short { min-height: 36vh; padding: clamp(96px, 11vh, 124px) 0 clamp(36px, 5vw, 64px); }\n.hero-inner { max-width: 1080px; position: relative; z-index: 2; }\n.hero-title {\n  font-size: var(--text-hero);\n  letter-spacing: -0.035em;\n  font-weight: 600;\n  margin: 0 0 var(--s-5);\n}\n\/* Brand gradient \u2014 applied to any <span class=\"gradient\"> across all headings.\n   White \u2192 orange \u2192 violet so both brand accents read on every gradient phrase. *\/\n.gradient,\n.hero-title .gradient {\n  background: linear-gradient(135deg, var(--text) 18%, var(--accent-orange) 55%, var(--accent-violet) 92%);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  -webkit-text-fill-color: transparent;\n}\n.hero-subline {\n  font-size: var(--text-lg);\n  color: var(--text-muted);\n  max-width: 56ch;\n  margin-bottom: var(--s-7);\n}\n.hero-cta-row {\n  display: flex; flex-wrap: wrap; gap: var(--s-3);\n}\n.scroll-indicator {\n  position: absolute; bottom: 32px; left: 50%; transform: translateX(-50%);\n  color: var(--text-faint); font-size: 0.78rem; letter-spacing: 0.15em;\n  text-transform: uppercase;\n  display: flex; flex-direction: column; align-items: center; gap: 8px;\n  animation: bobble 2.4s ease-in-out infinite;\n}\n.scroll-indicator svg { opacity: 0.5; }\n@keyframes bobble { 0%,100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(6px); } }\n\/* ----- Marquee ----- *\/\n.marquee {\n  overflow: hidden;\n  padding: var(--s-7) 0;\n  -webkit-mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent);\n  mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent);\n}\n.marquee-label {\n  text-align: center; font-size: 0.78rem;\n  letter-spacing: 0.2em; text-transform: uppercase;\n  color: var(--text-faint);\n  margin-bottom: var(--s-5);\n}\n.marquee-track {\n  display: flex; gap: 56px;\n  animation: slide 32s linear infinite;\n  width: max-content;\n}\n.marquee:hover .marquee-track { animation-play-state: paused; }\n.marquee-item {\n  flex: 0 0 auto;\n  height: 44px; padding: 0 28px;\n  display: flex; align-items: center;\n  font-family: var(--font-display); font-weight: 500;\n  font-size: 1rem; letter-spacing: 0.05em;\n  color: var(--text-muted);\n  border: 1px solid var(--border);\n  border-radius: 10px;\n  background: rgba(255,255,255,0.025);\n}\n@keyframes slide { to { transform: translateX(-50%); } }\n\/* ----- Service rows (numbered, Home) ----- *\/\n.service-rows {\n  border-top: 1px solid var(--border);\n  margin-top: var(--s-6);\n}\n.service-row {\n  display: grid;\n  grid-template-columns: 120px 1fr auto;\n  align-items: center;\n  gap: var(--s-6);\n  padding: var(--s-7) var(--s-5);\n  border-bottom: 1px solid var(--border);\n  position: relative;\n  transition: background 200ms var(--ease-out), padding-left 240ms var(--ease-out);\n  overflow: hidden;\n}\n.service-row::before {\n  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 2px;\n  background: linear-gradient(180deg, var(--accent-violet), var(--accent-orange));\n  opacity: 0; transition: opacity 200ms var(--ease-out);\n}\n.service-row:hover { background: rgba(255,255,255,0.025); padding-left: 32px; }\n.service-row:hover::before { opacity: 1; }\n.service-row .num {\n  font-family: var(--font-display);\n  font-size: clamp(1.8rem, 3vw, 2.6rem);\n  font-weight: 600;\n  color: var(--text-faint);\n  letter-spacing: -0.04em;\n  line-height: 1;\n  transition: color 200ms var(--ease-out);\n}\n.service-row:hover .num { color: var(--accent-orange); }\n.service-row .body { display: grid; gap: 6px; }\n.service-row .name {\n  font-family: var(--font-display); font-weight: 500;\n  font-size: var(--text-2xl); letter-spacing: -0.015em;\n}\n.service-row .desc {\n  color: var(--text-muted);\n  font-size: var(--text-base);\n  max-width: 60ch;\n}\n.service-row .chevron {\n  color: var(--text-faint);\n  transition: transform 200ms var(--ease-out), color 200ms var(--ease-out);\n}\n.service-row:hover .chevron { color: var(--accent-violet); transform: translateX(6px); }\n\/* ----- Glass cards ----- *\/\n.glass {\n  background: var(--bg-card);\n  backdrop-filter: var(--blur-card);\n  -webkit-backdrop-filter: var(--blur-card);\n  border: 1px solid var(--border);\n  border-radius: var(--radius-lg);\n  box-shadow: var(--shadow-card);\n  padding: var(--s-7);\n  transition: transform 200ms var(--ease-out), background 200ms var(--ease-out), border-color 200ms var(--ease-out), box-shadow 200ms var(--ease-out);\n}\n@media (any-hover: hover) {\n  .glass:hover {\n    background: var(--bg-card-hover);\n    border-color: var(--border-hover);\n    box-shadow: var(--shadow-card-hover);\n    transform: translateY(-3px);\n  }\n}\n\/* Stat cards *\/\n.stat-grid {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: var(--s-5);\n}\n.stat-card .stat-num {\n  font-family: var(--font-display);\n  font-size: clamp(2.2rem, 4.6vw, 3.4rem);\n  font-weight: 600;\n  line-height: 1;\n  letter-spacing: -0.03em;\n  background: linear-gradient(135deg, var(--text) 0%, var(--accent-orange) 50%, var(--accent-violet) 100%);\n  -webkit-background-clip: text; background-clip: text; color: transparent;\n  margin-bottom: var(--s-3);\n}\n.stat-card .stat-label {\n  font-family: var(--font-display);\n  font-weight: 500;\n  font-size: var(--text-lg);\n  margin-bottom: var(--s-3);\n}\n.stat-card .stat-sub {\n  color: var(--text-muted);\n  font-size: var(--text-sm);\n}\n\/* Step cards (process, 2x2) *\/\n.step-grid {\n  display: grid;\n  grid-template-columns: repeat(2, 1fr);\n  gap: var(--s-5);\n}\n.step-card { display: grid; gap: var(--s-4); position: relative; }\n.step-card .step-icon {\n  width: 48px; height: 48px;\n  display: grid; place-items: center;\n  border-radius: 12px;\n  background: var(--accent-violet-dim);\n  color: var(--accent-violet);\n  border: 1px solid var(--border);\n}\n.step-card .step-num {\n  position: absolute; top: var(--s-7); right: var(--s-7);\n  font-family: var(--font-display); font-weight: 500;\n  color: var(--text-faint); letter-spacing: 0.05em;\n  font-size: 0.85rem;\n}\n.step-card h3 { font-size: var(--text-xl); }\n.step-card p { color: var(--text-muted); font-size: var(--text-base); }\n\/* Value cards *\/\n.value-grid {\n  display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-5);\n}\n\/* Team grid *\/\n.team-grid {\n  display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--s-5);\n}\n.team-card {\n  display: grid; grid-template-columns: auto 1fr; gap: var(--s-5); align-items: center;\n}\n.monogram {\n  width: 72px; height: 72px;\n  display: grid; place-items: center;\n  border-radius: 50%;\n  background: radial-gradient(circle at 30% 30%, var(--accent-violet-dim), var(--bg-elevated));\n  border: 1px solid var(--border);\n  font-family: var(--font-display); font-weight: 600;\n  font-size: 1.6rem; letter-spacing: 0.05em;\n  color: var(--text);\n  transition: transform 300ms var(--ease-out), box-shadow 300ms var(--ease-out);\n}\n.team-card:hover .monogram {\n  transform: scale(1.05);\n  box-shadow: var(--glow-violet-sm);\n}\n.team-card .name {\n  font-family: var(--font-display); font-weight: 500;\n  font-size: var(--text-xl); margin-bottom: 4px;\n}\n.team-card .role {\n  color: var(--accent-orange);\n  font-size: var(--text-sm); letter-spacing: 0.04em;\n  margin-bottom: var(--s-3);\n  font-weight: 500;\n}\n.team-card .bio { color: var(--text-muted); font-size: var(--text-sm); }\n\/* ----- Services page (deep dive cards) ----- *\/\n.service-deep {\n  display: grid; gap: var(--s-6); margin-top: var(--s-6);\n}\n\/* When an anchor link jumps to one of these service cards, leave clearance\n   for the sticky header so the right card lands at the top of the viewport. *\/\n.service-deep > article[id] {\n  scroll-margin-top: 110px;\n}\n\/* Service card text \u2014 softened white, body-text sized *\/\n.service-deep .glass p,\n.service-deep .glass .bullet-list,\n.service-deep .glass .bullet-list li {\n  color: rgba(240, 239, 254, 0.78);\n  font-size: var(--text-base);\n  line-height: 1.6;\n}\n.service-deep .glass .bullet-list { gap: 10px; }\n.service-deep .glass {\n  padding: clamp(36px, 5vw, 64px);\n  position: relative;\n  display: grid;\n  grid-template-columns: 80px 1fr;\n  gap: var(--s-6);\n  border-left: 3px solid var(--accent-violet);\n}\n.service-deep .glass:nth-child(even) { border-left-color: var(--accent-orange); }\n.service-deep .watermark {\n  position: absolute; right: var(--s-7); top: var(--s-5);\n  font-family: var(--font-display); font-weight: 600;\n  font-size: clamp(3rem, 6vw, 5rem);\n  letter-spacing: -0.04em;\n  color: rgba(255,255,255,0.05);\n  line-height: 0.9;\n  user-select: none;\n  pointer-events: none;\n}\n.service-deep .icon-wrap {\n  width: 64px; height: 64px;\n  display: grid; place-items: center;\n  border-radius: 14px;\n  background: var(--accent-violet-dim);\n  border: 1px solid var(--border);\n  color: var(--accent-violet);\n}\n.service-deep .glass:nth-child(even) .icon-wrap {\n  background: var(--accent-orange-dim); color: var(--accent-orange);\n}\n.service-deep h3 {\n  font-size: clamp(1.25rem, 2.4vw, 1.6rem);\n  margin-bottom: var(--s-3);\n}\n.service-deep p {\n  color: var(--text-muted);\n  max-width: 60ch;\n  margin-bottom: var(--s-4);\n}\n.bullet-list {\n  display: grid; gap: 8px;\n  color: var(--text-muted);\n  font-size: var(--text-sm);\n}\n.bullet-list li::before { content: '\u00b7  '; color: var(--accent-violet); font-weight: 700; }\n\/* ----- CTA banner \u2014 transparent section + free-floating 3D \"?\" characters ----- *\/\n.cta-banner {\n  margin: var(--s-6) 0 0;\n  position: relative;\n  text-align: center;\n  padding: clamp(64px, 8vw, 120px) clamp(24px, 6vw, 88px) clamp(8px, 1.5vw, 20px);\n  background: transparent;\n  border: none;\n  border-radius: 0;\n  overflow: visible;\n  isolation: isolate;\n}\n\/* Tighten the wrapping <section>'s bottom padding when it ends in a CTA banner\n   so the footer sits closer to the call-to-action. *\/\nsection:has(> .container > .cta-banner:last-child) {\n  padding-bottom: clamp(20px, 2.5vw, 40px);\n}\n\/* Big floating 3D \"?\" \u2014 pure character, no container.\n   3D effect is achieved with stacked text-shadows that read as extruded depth,\n   plus a soft outer glow. *\/\n.cta-banner .cta-mark {\n  position: absolute;\n  font-family: var(--font-display);\n  font-weight: 700;\n  font-size: clamp(160px, 20vw, 300px);\n  line-height: 0.85;\n  color: #ffffff;\n  text-shadow:\n    2px 2px 0 rgba(205,175,255,0.92),\n    4px 4px 0 rgba(180,140,250,0.88),\n    6px 6px 0 rgba(155,110,240,0.82),\n    8px 8px 0 rgba(130,85,225,0.76),\n    10px 10px 0 rgba(110,68,205,0.68),\n    12px 12px 0 rgba(90,55,185,0.58),\n    14px 14px 0 rgba(72,42,165,0.48),\n    16px 16px 0 rgba(56,32,140,0.38),\n    0 24px 60px rgba(140,90,240,0.30),\n    0 0 90px rgba(140,90,240,0.18);\n  z-index: 2;\n  pointer-events: none;\n  user-select: none;\n  will-change: transform;\n}\n.cta-banner .cta-mark-l {\n  top: clamp(20px, 3vw, 56px);\n  left: clamp(8px, 4vw, 100px);\n  animation: ctaMarkFloatL 7s ease-in-out infinite alternate;\n}\n.cta-banner .cta-mark-r {\n  top: clamp(40px, 5vw, 96px);\n  right: clamp(8px, 4vw, 100px);\n  animation: ctaMarkFloatR 8.5s ease-in-out infinite alternate;\n  \/* Right mark uses the orange brand accent for its extrusion *\/\n  text-shadow:\n    2px 2px 0 rgba(255,205,160,0.92),\n    4px 4px 0 rgba(255,180,120,0.88),\n    6px 6px 0 rgba(252,150,85,0.82),\n    8px 8px 0 rgba(240,120,60,0.76),\n    10px 10px 0 rgba(220,100,45,0.68),\n    12px 12px 0 rgba(195,82,32,0.58),\n    14px 14px 0 rgba(165,65,22,0.48),\n    16px 16px 0 rgba(135,52,14,0.38),\n    0 24px 60px rgba(250,122,57,0.32),\n    0 0 90px rgba(250,122,57,0.20);\n}\n\/* Strategy icon on the right also picks up the orange tint *\/\n.cta-banner .cta-mark-r.strategy-mark {\n  filter:\n    drop-shadow(2px 2px 0 rgba(255,205,160,0.95))\n    drop-shadow(4px 4px 0 rgba(255,180,120,0.90))\n    drop-shadow(6px 6px 0 rgba(250,150,85,0.82))\n    drop-shadow(8px 8px 0 rgba(235,120,60,0.72))\n    drop-shadow(10px 10px 0 rgba(210,100,40,0.58))\n    drop-shadow(12px 12px 0 rgba(185,82,28,0.45))\n    drop-shadow(0 26px 60px rgba(250,122,57,0.32));\n}\n@keyframes ctaMarkFloatL {\n  0%   { transform: translateY(0)     rotate(-14deg); }\n  100% { transform: translateY(-22px) rotate(-6deg);  }\n}\n@keyframes ctaMarkFloatR {\n  0%   { transform: translateY(0)     rotate(12deg); }\n  100% { transform: translateY(-28px) rotate(4deg);  }\n}\n@media (prefers-reduced-motion: reduce) {\n  .cta-banner .cta-mark-l, .cta-banner .cta-mark-r { animation: none; }\n}\n@media (max-width: 760px) {\n  .cta-banner .cta-mark {\n    font-size: clamp(80px, 22vw, 140px);\n  }\n  .cta-banner .cta-mark-l { left: 8px; top: 16px; }\n  .cta-banner .cta-mark-r { right: 8px; top: 36px; }\n}\n\/* Strategy-icon variant of the floating mark \u2014 replaces \"?\" text with an SVG\n   while preserving the same float animation, glow, and 3D extrusion feel. *\/\n.cta-banner .cta-mark.strategy-mark {\n  display: grid;\n  place-items: center;\n  width: clamp(140px, 17vw, 240px);\n  height: clamp(140px, 17vw, 240px);\n  font-size: 0;\n  line-height: 0;\n  color: transparent;\n  text-shadow: none;\n  filter:\n    drop-shadow(2px 2px 0 rgba(205,175,255,0.95))\n    drop-shadow(4px 4px 0 rgba(180,140,250,0.90))\n    drop-shadow(6px 6px 0 rgba(155,110,240,0.82))\n    drop-shadow(8px 8px 0 rgba(130,85,225,0.72))\n    drop-shadow(10px 10px 0 rgba(105,68,205,0.58))\n    drop-shadow(12px 12px 0 rgba(85,55,180,0.45))\n    drop-shadow(0 26px 60px rgba(140,90,240,0.32));\n}\n.cta-banner .cta-mark.strategy-mark svg {\n  width: 88%;\n  height: 88%;\n  color: #ffffff;\n}\n@media (max-width: 760px) {\n  .cta-banner .cta-mark.strategy-mark {\n    width: clamp(96px, 24vw, 150px);\n    height: clamp(96px, 24vw, 150px);\n  }\n}\n\/* Eyebrow pill \u2014 clean, no dot, sentence-case *\/\n.cta-banner .cta-eyebrow {\n  display: inline-flex;\n  align-items: center;\n  padding: 8px 22px;\n  margin: 0 auto var(--s-6);\n  border-radius: 999px;\n  background: rgba(255,255,255,0.02);\n  border: 1px solid rgba(255,255,255,0.10);\n  font-family: var(--font-display);\n  font-weight: 400;\n  font-size: 0.95rem;\n  letter-spacing: 0;\n  text-transform: none;\n  color: rgba(255,255,255,0.85);\n  position: relative;\n  z-index: 3;\n}\n.cta-banner .cta-eyebrow::before { content: none; }\n\/* Massive headline *\/\n.cta-banner h2 {\n  font-size: clamp(2.4rem, 5.6vw, 4rem);\n  margin: 0 auto var(--s-4);\n  max-width: 22ch;\n  line-height: 1.06;\n  letter-spacing: -0.025em;\n  font-weight: 600;\n  color: #fff;\n  position: relative;\n  z-index: 3;\n}\n\/* Second-line gradient action phrase (white \u2192 soft violet) *\/\n.cta-banner h2 .cta-grad {\n  background: linear-gradient(180deg, #ffffff 0%, #ffd8b8 35%, #d2b6ff 70%, #9277ff 100%);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  -webkit-text-fill-color: transparent;\n}\n.cta-banner p {\n  font-size: 1.05rem;\n  color: rgba(255,255,255,0.55);\n  max-width: 44ch;\n  margin: 0 auto var(--s-7);\n  line-height: 1.6;\n  position: relative;\n  z-index: 3;\n}\n\/* Two-button action row *\/\n.cta-banner .cta-actions {\n  display: inline-flex;\n  flex-wrap: wrap;\n  align-items: center;\n  justify-content: center;\n  gap: 14px;\n  position: relative;\n  z-index: 3;\n}\n.cta-banner .cta-actions .btn { margin: 0; }\n\/* Primary pill button \u2014 white pill with violet circle-arrow *\/\n.btn-pill {\n  display: inline-flex;\n  align-items: center;\n  gap: 14px;\n  padding: 6px 8px 6px 26px;\n  background: #fff;\n  border-radius: 999px;\n  color: #0a0814;\n  font-family: var(--font-display);\n  font-weight: 600;\n  font-size: 1rem;\n  line-height: 1;\n  border: 1px solid rgba(255,255,255,0.6);\n  box-shadow:\n    0 0 0 6px rgba(255,255,255,0.04),\n    0 0 70px rgba(120,80,240,0.55);\n  transition: all 220ms var(--ease-out);\n  text-decoration: none;\n}\n.btn-pill:hover {\n  transform: translateY(-1px);\n  box-shadow:\n    0 0 0 8px rgba(255,255,255,0.08),\n    0 0 90px rgba(140,90,250,0.7);\n  color: #0a0814;\n}\n.btn-pill .pill-arrow {\n  width: 42px; height: 42px;\n  border-radius: 50%;\n  background: linear-gradient(135deg, var(--accent-violet) 0%, var(--accent-orange) 100%);\n  display: grid; place-items: center;\n  color: #fff;\n  flex: 0 0 auto;\n  box-shadow: inset 0 1px 0 rgba(255,255,255,0.20);\n}\n.btn-pill .pill-arrow svg { width: 18px; height: 18px; }\n\/* Ghost \/ secondary button \u2014 readable on the new black surface *\/\n.btn-ghost {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  padding: 14px 24px;\n  border-radius: 999px;\n  background: rgba(255,255,255,0.02);\n  border: 1px solid rgba(255,255,255,0.18);\n  color: rgba(255,255,255,0.85);\n  font-family: var(--font-display);\n  font-weight: 500;\n  letter-spacing: 0.01em;\n  transition: all 180ms var(--ease-out);\n  text-decoration: none;\n}\n.btn-ghost:hover {\n  border-color: rgba(255,255,255,0.40);\n  background: rgba(255,255,255,0.06);\n  color: #fff;\n  transform: translateY(-1px);\n}\n@media (max-width: 640px) {\n  .cta-banner { padding: clamp(64px, 14vw, 96px) 22px clamp(180px, 42vw, 260px); }\n  .cta-banner .cta-mark { font-size: clamp(56px, 14vw, 100px); }\n  .cta-banner .cta-actions { flex-direction: column; align-items: stretch; }\n  .cta-banner .cta-actions .btn,\n  .cta-banner .cta-actions .btn-pill { justify-content: center; }\n}\n\/* ----- About story ----- *\/\n.story-grid {\n  display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--s-7);\n  align-items: start;\n}\n.story-text p { color: var(--text-muted); font-size: var(--text-lg); margin-bottom: var(--s-4); }\n.story-text p:last-child { margin-bottom: 0; }\n.story-stats {\n  display: grid; gap: var(--s-3);\n}\n.mini-stat {\n  display: flex; align-items: baseline; justify-content: space-between;\n  padding: var(--s-5);\n  border: 1px solid var(--border);\n  border-radius: var(--radius-md);\n  background: var(--bg-card);\n}\n.mini-stat .v { font-family: var(--font-display); font-weight: 600; font-size: 1.35rem; }\n.mini-stat .l { color: var(--text-muted); font-size: 0.9rem; }\n\/* ----- Contacts ----- *\/\n.contacts-grid {\n  display: grid; grid-template-columns: 4fr 6fr; gap: var(--s-7);\n  align-items: start;\n}\n.contact-info { display: grid; gap: var(--s-4); }\n.info-item {\n  padding: var(--s-5);\n  border: 1px solid var(--border);\n  border-radius: var(--radius-md);\n  background: var(--bg-card);\n  backdrop-filter: var(--blur-card);\n}\n.info-item .label {\n  font-size: 0.78rem; letter-spacing: 0.15em; text-transform: uppercase;\n  color: var(--text-faint); margin-bottom: 6px;\n}\n.info-item .value {\n  font-family: var(--font-display); font-weight: 500;\n  font-size: var(--text-lg);\n}\n.info-item a { color: var(--text); }\n.info-item a:hover { color: var(--accent-violet); }\n.socials { display: flex; gap: var(--s-3); margin-top: var(--s-3); }\n.social-pill {\n  display: inline-flex; align-items: center; gap: 8px;\n  padding: 8px 14px;\n  border: 1px solid var(--border);\n  border-radius: var(--radius-pill);\n  font-size: 0.85rem;\n  color: var(--text-muted);\n  transition: all 160ms var(--ease-out);\n}\n.social-pill:hover { color: var(--text); border-color: var(--accent-violet); }\n.contact-form {\n  padding: clamp(32px, 5vw, 56px);\n}\n.form-grid {\n  display: grid; gap: var(--s-4);\n  grid-template-columns: 1fr 1fr;\n}\n.field { display: grid; gap: 6px; }\n.field-full { grid-column: 1 \/ -1; }\n.field label {\n  font-size: 0.85rem;\n  color: var(--text-muted);\n  font-weight: 500;\n}\n.field input, .field select, .field textarea {\n  background: rgba(255,255,255,0.04);\n  border: 1px solid var(--border);\n  border-radius: var(--radius-md);\n  padding: 14px 16px;\n  width: 100%;\n  color: var(--text);\n  transition: border-color 160ms var(--ease-out), box-shadow 160ms var(--ease-out);\n}\n.field input:focus, .field select:focus, .field textarea:focus {\n  outline: none;\n  border-color: var(--accent-violet);\n  box-shadow: var(--glow-violet-sm);\n}\n.field textarea { resize: vertical; min-height: 120px; }\n.field select { appearance: none; -webkit-appearance: none;\n  background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.4' stroke-linecap='round'\/%3E%3C\/svg%3E\");\n  background-repeat: no-repeat; background-position: right 16px center;\n  padding-right: 40px;\n}\n.form-note { font-size: 0.85rem; color: var(--text-faint); margin-top: var(--s-3); }\n.form-feedback {\n  margin-top: var(--s-4);\n  padding: 12px 16px;\n  border-radius: var(--radius-md);\n  font-size: 0.9rem;\n  display: none;\n}\n.form-feedback.show { display: block; }\n.form-feedback.ok { background: rgba(62, 207, 142, 0.1); border: 1px solid var(--success); color: var(--success); }\n.form-feedback.err { background: rgba(245, 93, 93, 0.1); border: 1px solid var(--error); color: var(--error); }\n\/* ----- Legal pages ----- *\/\n.legal-shell {\n  max-width: 760px;\n  margin: 0 auto;\n  padding: clamp(80px, 12vw, 140px) var(--s-5) var(--s-9);\n}\n.legal-shell h1 { font-size: clamp(1.7rem, 3.6vw, 2.4rem); margin-bottom: var(--s-3); }\n.legal-shell .meta { color: var(--text-faint); font-size: 0.9rem; margin-bottom: var(--s-7); }\n.legal-shell h2 {\n  font-size: var(--text-xl);\n  margin: var(--s-7) 0 var(--s-3);\n  font-family: var(--font-display);\n}\n.legal-shell p, .legal-shell li {\n  color: var(--text-muted); font-size: var(--text-base);\n  margin-bottom: var(--s-3);\n  line-height: 1.7;\n}\n.legal-shell ul { padding-left: 20px; list-style: disc; }\n\/* ----- Footer ----- *\/\n.site-footer {\n  border-top: 1px solid var(--border);\n  padding: var(--s-6) 0 var(--s-5);\n  margin-top: 0;\n  position: relative;\n  z-index: 1;\n  background: rgba(6, 6, 8, 0.5);\n  backdrop-filter: var(--blur-card);\n}\n.footer-grid {\n  display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: var(--s-6);\n  margin-bottom: var(--s-7);\n}\n.footer-col h4 {\n  font-family: var(--font-display);\n  font-size: 0.8rem; letter-spacing: 0.15em;\n  text-transform: uppercase;\n  color: var(--text-faint);\n  margin-bottom: var(--s-4); font-weight: 500;\n}\n.footer-col ul { display: grid; gap: 10px; }\n.footer-col a {\n  color: var(--text-muted); font-size: 0.92rem;\n  transition: color 140ms var(--ease-out);\n}\n.footer-col a:hover { color: var(--text); }\n.footer-tagline { color: var(--text-muted); font-size: 0.9rem; margin-bottom: var(--s-5); max-width: 32ch; }\n.footer-bottom {\n  display: flex; justify-content: space-between; align-items: center;\n  flex-wrap: wrap; gap: var(--s-3);\n  padding-top: var(--s-5);\n  border-top: 1px solid var(--border);\n  font-size: 0.85rem;\n  color: var(--text-faint);\n}\n.footer-bottom-links { display: flex; gap: var(--s-5); }\n.footer-bottom-links a { color: var(--text-faint); transition: color 140ms var(--ease-out); }\n.footer-bottom-links a:hover { color: var(--text); }\n\/* ----- Reveal (IntersectionObserver) ----- *\/\n@media (prefers-reduced-motion: no-preference) {\n  .reveal {\n    opacity: 0; transform: translateY(24px);\n    transition: opacity 600ms var(--ease), transform 600ms var(--ease);\n  }\n  .reveal.is-in { opacity: 1; transform: none; }\n  .reveal-x {\n    opacity: 0; transform: translateX(-16px);\n    transition: opacity 500ms var(--ease-out), transform 500ms var(--ease-out);\n  }\n  .reveal-x.is-in { opacity: 1; transform: none; }\n}\n\/* ----- Responsive ----- *\/\n\/* Medium viewports \u2014 give the nav links room by dropping the CTA button\n   before they get squeezed and wrap onto two lines. *\/\n@media (max-width: 1180px) {\n  .nav-cta-desktop { display: none; }\n  .nav-links { gap: var(--s-5); }\n  .nav { gap: var(--s-4); }\n}\n@media (max-width: 1024px) {\n  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }\n  .footer-col:last-child { grid-column: 1 \/ -1; }\n  .contacts-grid { grid-template-columns: 1fr; }\n  .stat-grid { grid-template-columns: repeat(3, 1fr); }\n  .service-deep .glass { grid-template-columns: 1fr; }\n  .nav-links { gap: var(--s-4); }\n  .nav-link { font-size: 0.9rem; }\n}\n@media (max-width: 900px) {\n  .nav-links { display: none; }\n  .menu-toggle { display: inline-flex; }\n  .nav-cta-desktop { display: none; }\n  .stat-grid, .value-grid { grid-template-columns: 1fr; }\n  .step-grid { grid-template-columns: 1fr; }\n  .team-grid { grid-template-columns: 1fr; }\n  .story-grid { grid-template-columns: 1fr; }\n  .form-grid { grid-template-columns: 1fr; }\n  .footer-grid { grid-template-columns: 1fr 1fr; }\n  .footer-col:first-child { grid-column: 1 \/ -1; }\n  .footer-col:last-child { grid-column: 1 \/ -1; }\n  .service-row {\n    grid-template-columns: 60px 1fr auto;\n    gap: var(--s-4); padding: var(--s-5) var(--s-3);\n  }\n  .service-row .num { font-size: 2rem; }\n  .service-row .name { font-size: var(--text-xl); }\n}\n@media (max-width: 600px) {\n  .step-card .step-num { top: var(--s-5); right: var(--s-5); }\n  .team-card { grid-template-columns: 1fr; text-align: left; }\n  .monogram { width: 64px; height: 64px; font-size: 1.3rem; }\n  .footer-bottom { justify-content: flex-start; flex-direction: column; align-items: flex-start; }\n}\n\/* ----- Mobile menu overlay (Nextmove-style sidebar, right-aligned) ----- *\/\n.mobile-menu {\n  position: fixed; inset: 0;\n  background: rgba(6, 6, 8, 0.96);\n  backdrop-filter: var(--blur-nav);\n  z-index: 49;\n  padding: 96px clamp(18px, 4vw, 28px) var(--s-8);\n  display: none;\n  flex-direction: column; gap: 10px;\n  overflow-y: auto;\n  text-align: right;\n}\n[data-menu=\"open\"] .mobile-menu { display: flex; }\n.mobile-menu .nav-link {\n  position: relative;\n  display: flex;\n  align-items: center;\n  justify-content: flex-end;\n  gap: 14px;\n  padding: 18px 22px;\n  border-radius: 16px;\n  border: 1px solid transparent;\n  font-family: var(--font-display);\n  font-size: clamp(1.05rem, 4vw, 1.35rem);\n  font-weight: 500;\n  letter-spacing: -0.01em;\n  color: rgba(240, 239, 254, 0.62);\n  background: transparent;\n  overflow: hidden;\n  transition: color 220ms var(--ease-out), background 220ms var(--ease-out), border-color 220ms var(--ease-out);\n}\n.mobile-menu .nav-link:hover { color: rgba(240, 239, 254, 0.88); }\n.mobile-menu .nav-link .nav-icon {\n  width: 22px; height: 22px;\n  display: grid; place-items: center;\n  flex-shrink: 0;\n  color: currentColor;\n  order: 2;\n}\n.mobile-menu .nav-link .nav-icon svg { width: 100%; height: 100%; }\n.mobile-menu .nav-link > span:not(.nav-icon) { order: 1; }\n\/* Active row \u2014 only a vertical orange\u2192violet bar on the right edge *\/\n.mobile-menu .nav-link.active {\n  color: #fff;\n}\n.mobile-menu .nav-link.active::before {\n  content: '';\n  position: absolute;\n  right: 6px; top: 18%; bottom: 18%;\n  width: 4px;\n  background: linear-gradient(180deg, var(--accent-orange), var(--accent-violet));\n  border-radius: 4px;\n  box-shadow:\n    0 0 12px 2px rgba(250, 122, 57, 0.55),\n    0 0 20px 4px rgba(104, 85, 230, 0.45);\n  pointer-events: none;\n}\n.mobile-menu .btn { width: max-content; margin-top: var(--s-5); align-self: flex-end; }\n\/* ==========================================================================\n   R30 EXTENSIONS \u2014 3D depth, mesh grid, noise grain, spotlight, tilt cards\n   ========================================================================== *\/\n\/* ----- Animated mesh grid overlay (sits on top of orbs, under content) ----- *\/\n.grid-mesh {\n  position: fixed; inset: 0;\n  z-index: 0;\n  pointer-events: none;\n  background-image:\n    linear-gradient(to right, rgba(255,255,255,0.04) 1px, transparent 1px),\n    linear-gradient(to bottom, rgba(255,255,255,0.04) 1px, transparent 1px);\n  background-size: 64px 64px;\n  -webkit-mask-image: radial-gradient(ellipse at 50% 35%, black, transparent 75%);\n  mask-image: radial-gradient(ellipse at 50% 35%, black, transparent 75%);\n  opacity: 0.55;\n  animation: meshDrift 30s linear infinite;\n}\n@keyframes meshDrift {\n  from { background-position: 0 0, 0 0; }\n  to   { background-position: 64px 0, 0 64px; }\n}\n\/* ----- Subtle noise grain (adds film texture, kills gradient banding) ----- *\/\n.noise {\n  position: fixed; inset: 0;\n  z-index: 0;\n  pointer-events: none;\n  opacity: 0.06;\n  mix-blend-mode: overlay;\n  background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.92' numOctaves='2' stitchTiles='stitch'\/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.5 0'\/><\/filter><rect width='100%25' height='100%25' filter='url(%23n)'\/><\/svg>\");\n}\n\/* ----- Hero 3D wireframe shape (pure CSS, perspective + rotateY) ----- *\/\n.hero-3d {\n  position: absolute;\n  right: clamp(-40px, -3vw, 0px);\n  top: 50%;\n  transform: translateY(-50%);\n  width: clamp(280px, 32vw, 460px);\n  height: clamp(280px, 32vw, 460px);\n  perspective: 900px;\n  pointer-events: none;\n  z-index: 1;\n  opacity: 0.95;\n}\n.hero-3d .ring {\n  position: absolute; inset: 0;\n  border-radius: 50%;\n  border: 1px solid rgba(255,255,255,0.18);\n  background: radial-gradient(circle at 35% 35%, rgba(104,85,230,0.18), transparent 60%);\n  transform-style: preserve-3d;\n  animation: ringSpinA 22s linear infinite;\n  box-shadow:\n    inset 0 0 60px rgba(104,85,230,0.18),\n    0 0 80px rgba(104,85,230,0.20);\n}\n.hero-3d .ring + .ring {\n  border-color: rgba(250,122,57,0.32);\n  background: radial-gradient(circle at 60% 60%, rgba(250,122,57,0.14), transparent 60%);\n  animation: ringSpinB 18s linear infinite;\n  inset: 18%;\n  box-shadow:\n    inset 0 0 40px rgba(250,122,57,0.18),\n    0 0 60px rgba(250,122,57,0.18);\n}\n.hero-3d .ring + .ring + .ring {\n  border-color: rgba(255,255,255,0.25);\n  inset: 36%;\n  animation: ringSpinC 14s linear infinite;\n  background: radial-gradient(circle, rgba(104,85,230,0.22), transparent 70%);\n}\n.hero-3d .core {\n  position: absolute; inset: 44%;\n  border-radius: 50%;\n  background: radial-gradient(circle at 35% 35%, #ffffff 0%, var(--accent-violet) 50%, var(--accent-orange) 100%);\n  filter: blur(2px);\n  box-shadow: 0 0 60px rgba(104,85,230,0.65), 0 0 120px rgba(250,122,57,0.35);\n  animation: corePulse 4s ease-in-out infinite alternate;\n}\n@keyframes ringSpinA {\n  0%   { transform: rotateX(70deg) rotateZ(0deg); }\n  100% { transform: rotateX(70deg) rotateZ(360deg); }\n}\n@keyframes ringSpinB {\n  0%   { transform: rotateY(70deg) rotateZ(0deg); }\n  100% { transform: rotateY(70deg) rotateZ(-360deg); }\n}\n@keyframes ringSpinC {\n  0%   { transform: rotateX(35deg) rotateY(35deg) rotateZ(0deg); }\n  100% { transform: rotateX(35deg) rotateY(35deg) rotateZ(360deg); }\n}\n@keyframes corePulse {\n  0%   { transform: scale(1); filter: blur(2px); }\n  100% { transform: scale(1.12); filter: blur(3px); }\n}\n\/* ----- Floating 3D glass tiles (drift in hero background) ----- *\/\n.float-shapes {\n  position: absolute; inset: 0;\n  pointer-events: none;\n  overflow: hidden;\n  z-index: 0;\n}\n.float-shape {\n  position: absolute;\n  border: 1px solid rgba(255,255,255,0.12);\n  border-radius: 14px;\n  background: linear-gradient(135deg, rgba(104,85,230,0.10), rgba(250,122,57,0.05));\n  backdrop-filter: blur(10px);\n  box-shadow: 0 8px 32px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.08);\n  will-change: transform;\n}\n.float-shape.s1 { width: 110px; height: 110px; top: 18%; left: 8%;  animation: floatA 14s ease-in-out infinite alternate; }\n.float-shape.s2 { width:  82px; height:  82px; top: 62%; left: 14%; animation: floatB 18s ease-in-out infinite alternate; border-radius: 50%; }\n.float-shape.s3 { width:  60px; height:  60px; top: 22%; right: 36%; animation: floatC 12s ease-in-out infinite alternate; }\n.float-shape.s4 { width:  95px; height:  95px; bottom: 14%; right: 18%; animation: floatA 16s ease-in-out infinite alternate-reverse; }\n@keyframes floatA {\n  0%   { transform: translate3d(0,0,0) rotate(8deg); }\n  100% { transform: translate3d(-18px,-30px,0) rotate(-4deg); }\n}\n@keyframes floatB {\n  0%   { transform: translate3d(0,0,0) rotate(0deg); }\n  100% { transform: translate3d(22px, 18px, 0) rotate(12deg); }\n}\n@keyframes floatC {\n  0%   { transform: translate3d(0,0,0) rotate(-6deg); }\n  100% { transform: translate3d(10px,-20px,0) rotate(18deg); }\n}\n\/* ----- 3D tilt-on-hover for cards (used on .glass.tilt and service-deep) ----- *\/\n.tilt {\n  transform-style: preserve-3d;\n  transition: transform 220ms var(--ease-out), box-shadow 220ms var(--ease-out);\n  will-change: transform;\n}\n.tilt::before {\n  content: '';\n  position: absolute; inset: 0;\n  border-radius: inherit;\n  background: radial-gradient(\n    600px circle at var(--spot-x, 50%) var(--spot-y, 50%),\n    rgba(255,255,255,0.07),\n    transparent 40%\n  );\n  opacity: 0;\n  transition: opacity 200ms var(--ease-out);\n  pointer-events: none;\n}\n.tilt:hover::before { opacity: 1; }\n\/* ----- Spotlight cursor effect (used on .glass.spotlight) ----- *\/\n.spotlight {\n  position: relative;\n  isolation: isolate;\n}\n.spotlight::after {\n  content: '';\n  position: absolute; inset: 0;\n  border-radius: inherit;\n  background: radial-gradient(\n    260px circle at var(--spot-x, 50%) var(--spot-y, 50%),\n    rgba(104,85,230,0.18),\n    transparent 55%\n  );\n  opacity: 0;\n  transition: opacity 220ms var(--ease-out);\n  pointer-events: none;\n  z-index: -1;\n}\n.spotlight:hover::after { opacity: 1; }\n\/* ----- Inline 3D wireframe orb (smaller, used in section accents) ----- *\/\n.inline-orb {\n  position: relative;\n  width: clamp(160px, 22vw, 240px);\n  height: clamp(160px, 22vw, 240px);\n  perspective: 700px;\n  margin: 0 auto;\n}\n.inline-orb .ring {\n  position: absolute; inset: 0;\n  border-radius: 50%;\n  border: 1px solid rgba(255,255,255,0.16);\n  animation: ringSpinA 18s linear infinite;\n}\n.inline-orb .ring + .ring {\n  inset: 18%; border-color: rgba(250,122,57,0.28);\n  animation: ringSpinB 14s linear infinite;\n}\n.inline-orb .ring + .ring + .ring {\n  inset: 36%; border-color: rgba(104,85,230,0.45);\n  animation: ringSpinC 10s linear infinite;\n}\n\/* ----- Service cards with 3D layered \"stamp\" treatment ----- *\/\n.service-row {\n  transform-style: preserve-3d;\n  perspective: 800px;\n}\n.service-row::after {\n  content: ''; position: absolute;\n  inset: 0;\n  background: radial-gradient(\n    400px circle at var(--spot-x, 50%) var(--spot-y, 50%),\n    rgba(104,85,230,0.10),\n    transparent 50%\n  );\n  opacity: 0; transition: opacity 240ms var(--ease-out);\n  pointer-events: none;\n}\n.service-row:hover::after { opacity: 1; }\n\/* ----- 3D conic accent ring (use on small icon wraps) ----- *\/\n.conic-ring {\n  position: relative;\n  isolation: isolate;\n}\n.conic-ring::before {\n  content: ''; position: absolute; inset: -1px;\n  border-radius: inherit;\n  background: conic-gradient(\n    from 0deg,\n    rgba(104,85,230,0.6),\n    rgba(250,122,57,0.6),\n    rgba(104,85,230,0.6)\n  );\n  z-index: -1;\n  filter: blur(0.5px);\n  animation: conicSpin 6s linear infinite;\n  opacity: 0.6;\n}\n@keyframes conicSpin { to { transform: rotate(360deg); } }\n\/* ----- Marquee item ring hover ----- *\/\n.marquee-item { transition: color 160ms var(--ease-out), border-color 160ms var(--ease-out), transform 200ms var(--ease-out); }\n.marquee-item:hover { color: var(--text); border-color: var(--accent-violet); transform: translateY(-2px); }\n\/* ----- Reduce motion: kill all 3D animation ----- *\/\n@media (prefers-reduced-motion: reduce) {\n  .grid-mesh, .float-shape, .hero-3d .ring, .hero-3d .core,\n  .inline-orb .ring, .conic-ring::before, .orb { animation: none !important; }\n}\n\/* ----- Mobile: simplify ----- *\/\n@media (max-width: 900px) {\n  .hero-3d { display: none; }\n  .float-shape { display: none; }\n  .grid-mesh { background-size: 48px 48px; opacity: 0.35; }\n}\n\/* (legacy .mobile-menu .btn rule removed \u2014 superseded above) *\/\n\/* ==========================================================================\n   R30 \u2014 TEAM \"POSTER FRAME\" CARDS (per reference image, About page)\n   Row of tall vertical violet-gradient panels with portrait, name, role\n   ========================================================================== *\/\n.team-frame-row {\n  display: grid;\n  \/* 6-column grid lets us do a centered \"2 on top + 3 on bottom\" layout where\n     each card occupies 2 of the 6 columns (so all cards are the same width). *\/\n  grid-template-columns: repeat(6, 1fr);\n  gap: clamp(12px, 1.4vw, 22px);\n  margin-top: var(--s-6);\n  align-items: stretch;\n}\n\/* Top row \u2014 Martin Nikolov + Teodor \u2014 centered in the 6-col grid *\/\n.team-frame-row > .team-frame:nth-child(1) { grid-column: 2 \/ span 2; }\n.team-frame-row > .team-frame:nth-child(2) { grid-column: 4 \/ span 2; }\n\/* Bottom row \u2014 Elisaveta + Angela + Martin Kolev \u2014 fill the row *\/\n.team-frame-row > .team-frame:nth-child(3) { grid-column: 1 \/ span 2; }\n.team-frame-row > .team-frame:nth-child(4) { grid-column: 3 \/ span 2; }\n.team-frame-row > .team-frame:nth-child(5) { grid-column: 5 \/ span 2; }\n.team-frame {\n  position: relative;\n  border-radius: 22px;\n  overflow: hidden;\n  isolation: isolate;\n  min-height: 460px;\n  \/* Constrain card width so portrait photos keep their original aspect ratio\n     even though the 2+3 grid cells are wider than the old 4-card cells.\n     justify-self centers the card inside its (wider) grid cell. *\/\n  max-width: 320px;\n  width: 100%;\n  justify-self: center;\n  display: flex;\n  flex-direction: column;\n  justify-content: flex-end;\n  padding: 22px 18px;\n  background:\n    linear-gradient(180deg,\n      rgba(132, 110, 240, 0.0) 0%,\n      rgba(104, 85, 230, 0.18) 35%,\n      rgba(104, 85, 230, 0.55) 70%,\n      rgba(46, 30, 130, 0.92) 100%),\n    radial-gradient(ellipse at 50% 25%,\n      rgba(166, 150, 255, 0.35) 0%,\n      rgba(104, 85, 230, 0.12) 45%,\n      rgba(20, 12, 50, 0.95) 100%);\n  border: 1px solid rgba(166, 150, 255, 0.18);\n  box-shadow:\n    0 12px 40px rgba(0, 0, 0, 0.5),\n    inset 0 1px 0 rgba(255, 255, 255, 0.12);\n  transform: translateY(0);\n  transition: transform 360ms var(--ease), box-shadow 360ms var(--ease);\n}\n.team-frame:nth-child(odd) { transform: translateY(-10px); }\n.team-frame { z-index: 1; }\n.team-frame:hover,\n.team-frame:focus-within {\n  \/* Pop forward with a slight tilt \u2014 like the card has been plucked out *\/\n  transform: translateY(-22px) rotate(3deg) scale(1.02);\n  z-index: 10;\n  box-shadow:\n    0 30px 70px rgba(104, 85, 230, 0.45),\n    0 0 0 1px rgba(196, 184, 255, 0.55),\n    0 0 36px rgba(140, 118, 255, 0.30),\n    inset 0 1px 0 rgba(255, 255, 255, 0.20);\n}\n\/* Odd cards already sit higher, so lift further and tilt the opposite way\n   for a pleasing alternating rhythm across the row *\/\n.team-frame:nth-child(odd):hover,\n.team-frame:nth-child(odd):focus-within {\n  transform: translateY(-32px) rotate(-3deg) scale(1.02);\n}\n.team-frame .portrait-wrap {\n  position: absolute;\n  inset: 18px 18px 110px 18px;\n  display: grid;\n  place-items: center;\n  pointer-events: none;\n}\n.team-frame .portrait {\n  width: 100%;\n  height: 100%;\n  border-radius: 12px;\n  position: relative;\n  overflow: hidden;\n  background:\n    radial-gradient(ellipse at 50% 35%, rgba(255, 255, 255, 0.18) 0%, transparent 60%),\n    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(0, 0, 0, 0.4));\n  border: 1px solid rgba(255, 255, 255, 0.08);\n  display: grid;\n  place-items: center;\n}\n\/* Portrait image overlays the gradient fallback and crops cleanly *\/\n.team-frame .portrait-img {\n  position: absolute; inset: 0;\n  width: 100%; height: 100%;\n  object-fit: cover;\n  object-position: center top;\n  border-radius: inherit;\n  z-index: 2;\n  display: block;\n}\n\/* Hide initials when the image successfully loads *\/\n.team-frame .portrait-img + .initials { display: none; }\n.team-frame .initials {\n  font-family: var(--font-display);\n  font-weight: 600;\n  font-size: clamp(2.4rem, 4.4vw, 3.6rem);\n  letter-spacing: -0.02em;\n  color: rgba(255, 255, 255, 0.92);\n  text-shadow: 0 4px 24px rgba(104, 85, 230, 0.55);\n}\n.team-frame .portrait::after {\n  content: '';\n  position: absolute; inset: auto 0 0 0; height: 55%;\n  background: linear-gradient(180deg, transparent, rgba(20, 12, 50, 0.85));\n  pointer-events: none;\n}\n.team-frame .name-block {\n  position: relative;\n  z-index: 2;\n  text-align: center;\n}\n.team-frame .name-block .name {\n  font-family: var(--font-display);\n  font-weight: 700;\n  font-size: clamp(1.05rem, 1.5vw, 1.2rem);\n  color: #ffffff;\n  letter-spacing: -0.01em;\n  margin-bottom: 4px;\n  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);\n}\n.team-frame .name-block .role {\n  font-family: var(--font-body);\n  font-size: 0.82rem;\n  color: rgba(255, 255, 255, 0.78);\n  font-weight: 400;\n  letter-spacing: 0.02em;\n}\n.team-frame .name-block .bio {\n  font-size: 0.76rem;\n  color: rgba(255, 255, 255, 0.6);\n  margin-top: 8px;\n  line-height: 1.45;\n  max-width: 26ch;\n  margin-inline: auto;\n}\n.team-frame .frame-glyph {\n  position: absolute;\n  top: 14px; right: 14px;\n  width: 22px; height: 22px;\n  border-radius: 4px;\n  border: 1px solid rgba(255, 255, 255, 0.2);\n  display: grid; place-items: center;\n  color: rgba(255, 255, 255, 0.45);\n  font-size: 10px;\n  letter-spacing: 0.05em;\n  font-family: var(--font-display);\n  font-weight: 500;\n  background: rgba(0, 0, 0, 0.2);\n  backdrop-filter: blur(4px);\n}\n.team-frame::before {\n  content: '';\n  position: absolute; inset: 0;\n  background: radial-gradient(\n    300px circle at var(--spot-x, 50%) var(--spot-y, 30%),\n    rgba(255, 255, 255, 0.10),\n    transparent 55%\n  );\n  opacity: 0;\n  transition: opacity 320ms var(--ease);\n  pointer-events: none;\n  z-index: 1;\n}\n.team-frame:hover::before { opacity: 1; }\n.team-frame .name-band {\n  position: relative;\n  z-index: 2;\n  padding-top: 12px;\n  border-top: 1px solid rgba(255, 255, 255, 0.10);\n}\n.team-section-meta {\n  display: flex;\n  align-items: baseline;\n  justify-content: space-between;\n  gap: var(--s-4);\n  margin-top: var(--s-3);\n  margin-bottom: var(--s-5);\n  font-size: 0.78rem;\n  color: var(--text-faint);\n  font-family: var(--font-display);\n  letter-spacing: 0.12em;\n  text-transform: uppercase;\n}\n\/* Floating social-icon panel \u2014 hidden by default, slides in from inside\n   the left edge of the card when the card is hovered or focused. *\/\n.team-socials {\n  position: absolute;\n  left: 12px;\n  top: 50%;\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n  padding: 8px 6px;\n  border-radius: 14px;\n  background: rgba(10, 6, 26, 0.78);\n  backdrop-filter: blur(14px) saturate(160%);\n  -webkit-backdrop-filter: blur(14px) saturate(160%);\n  border: 1px solid rgba(196, 184, 255, 0.32);\n  box-shadow:\n    0 12px 28px rgba(0, 0, 0, 0.45),\n    0 0 22px rgba(140, 118, 255, 0.28),\n    inset 0 1px 0 rgba(255, 255, 255, 0.08);\n  opacity: 0;\n  transform: translateY(-50%) translateX(-18px) scale(0.9);\n  transform-origin: left center;\n  transition:\n    opacity 280ms var(--ease),\n    transform 420ms var(--ease);\n  pointer-events: none;\n  z-index: 4;\n}\n.team-frame:hover .team-socials,\n.team-frame:focus-within .team-socials {\n  opacity: 1;\n  transform: translateY(-50%) translateX(0) scale(1);\n  pointer-events: auto;\n}\n.team-socials a {\n  width: 32px;\n  height: 32px;\n  display: grid;\n  place-items: center;\n  border-radius: 9px;\n  color: rgba(240, 239, 254, 0.82);\n  background: rgba(255, 255, 255, 0.02);\n  transition:\n    color 200ms var(--ease),\n    background 200ms var(--ease),\n    transform 220ms var(--ease);\n}\n.team-socials a:hover,\n.team-socials a:focus-visible {\n  color: #fff;\n  background: rgba(166, 150, 255, 0.22);\n  transform: scale(1.08);\n  outline: none;\n}\n.team-socials a svg {\n  width: 15px;\n  height: 15px;\n}\n\/* Staggered reveal \u2014 each icon glides in just after the one above it *\/\n.team-frame:hover .team-socials a,\n.team-frame:focus-within .team-socials a {\n  animation: teamSocialFadeIn 380ms var(--ease) both;\n}\n.team-frame:hover .team-socials a:nth-child(1),\n.team-frame:focus-within .team-socials a:nth-child(1) { animation-delay: 80ms; }\n.team-frame:hover .team-socials a:nth-child(2),\n.team-frame:focus-within .team-socials a:nth-child(2) { animation-delay: 160ms; }\n.team-frame:hover .team-socials a:nth-child(3),\n.team-frame:focus-within .team-socials a:nth-child(3) { animation-delay: 240ms; }\n@keyframes teamSocialFadeIn {\n  from { opacity: 0; transform: translateX(-10px); }\n  to   { opacity: 1; transform: translateX(0); }\n}\n@media (max-width: 900px) {\n  \/* Tablet \u2014 collapse to 2 columns, reset the desktop 6-col placements *\/\n  .team-frame-row { grid-template-columns: repeat(2, 1fr); }\n  .team-frame-row > .team-frame:nth-child(1),\n  .team-frame-row > .team-frame:nth-child(2),\n  .team-frame-row > .team-frame:nth-child(3),\n  .team-frame-row > .team-frame:nth-child(4) { grid-column: auto; }\n  \/* 5th card spans both columns so it's centered (avoids an orphaned single card) *\/\n  .team-frame-row > .team-frame:nth-child(5) {\n    grid-column: 1 \/ -1;\n    justify-self: center;\n    width: calc(50% - 11px);\n  }\n  .team-frame { min-height: 420px; }\n  .team-frame:nth-child(odd) { transform: none; }\n  .team-frame:nth-child(odd):hover { transform: translateY(-14px); }\n}\n@media (max-width: 560px) {\n  \/* Mobile \u2014 single column for all 5 cards *\/\n  .team-frame-row {\n    grid-template-columns: 1fr;\n    max-width: 380px;\n    margin-left: auto;\n    margin-right: auto;\n    gap: 18px;\n  }\n  .team-frame-row > .team-frame:nth-child(5) {\n    grid-column: auto;\n    width: auto;\n    justify-self: stretch;\n  }\n  .team-frame {\n    min-height: 480px;\n    aspect-ratio: 4 \/ 5;\n  }\n  .team-frame .portrait-img { object-position: center 22%; }\n}\n\/* ----- Reduced motion ----- *\/\n@media (prefers-reduced-motion: reduce) {\n  *, *::before, *::after {\n    animation-duration: 0.01ms !important;\n    animation-iteration-count: 1 !important;\n    transition-duration: 0.01ms !important;\n    scroll-behavior: auto !important;\n  }\n  .orb { animation: none !important; }\n  .scroll-indicator { animation: none; }\n  .marquee-track { animation: none; }\n  .bg-particles { display: none; }\n}\n@media (prefers-reduced-transparency: reduce) {\n  .glass { backdrop-filter: none; background: var(--bg-elevated); }\n  .site-header.scrolled { backdrop-filter: none; background: rgba(6,6,8,0.95); }\n}\n\/* ==========================================================================\n   R31 \u2014 3D ROTATING CUBES (hero accent, violet + orange surfaces)\n   ========================================================================== *\/\n.cube-field {\n  position: absolute; inset: 0;\n  pointer-events: none;\n  z-index: 0;\n  overflow: hidden;\n  perspective: 1200px;\n  perspective-origin: 50% 50%;\n}\n.cube-3d {\n  position: absolute;\n  width: var(--cube-size, 80px);\n  height: var(--cube-size, 80px);\n  transform-style: preserve-3d;\n  animation: cubeFloat 14s ease-in-out infinite alternate;\n  will-change: transform;\n  filter: drop-shadow(0 18px 40px rgba(0,0,0,0.45))\n          drop-shadow(0 0 24px rgba(104,85,230,0.25));\n}\n.cube-3d .face {\n  position: absolute; inset: 0;\n  border: 1px solid rgba(255,255,255,0.10);\n  background: linear-gradient(135deg, rgba(104,85,230,0.55), rgba(20,12,50,0.85));\n  box-shadow: inset 0 0 30px rgba(255,255,255,0.04),\n              inset 0 1px 0 rgba(255,255,255,0.08);\n}\n.cube-3d .face.f-front  { transform: translateZ(calc(var(--cube-size, 80px) \/ 2)); }\n.cube-3d .face.f-back   { transform: rotateY(180deg) translateZ(calc(var(--cube-size, 80px) \/ 2)); }\n.cube-3d .face.f-right  { transform: rotateY(90deg)  translateZ(calc(var(--cube-size, 80px) \/ 2));\n  background: linear-gradient(135deg, rgba(250,122,57,0.55), rgba(60,18,8,0.85)); }\n.cube-3d .face.f-left   { transform: rotateY(-90deg) translateZ(calc(var(--cube-size, 80px) \/ 2));\n  background: linear-gradient(135deg, rgba(104,85,230,0.40), rgba(15,8,40,0.92)); }\n.cube-3d .face.f-top    { transform: rotateX(90deg)  translateZ(calc(var(--cube-size, 80px) \/ 2));\n  background: linear-gradient(135deg, rgba(166,150,255,0.55), rgba(104,85,230,0.45)); }\n.cube-3d .face.f-bottom { transform: rotateX(-90deg) translateZ(calc(var(--cube-size, 80px) \/ 2));\n  background: linear-gradient(135deg, rgba(20,12,40,0.95), rgba(250,122,57,0.30)); }\n.cube-3d .cube-spin {\n  position: absolute; inset: 0;\n  transform-style: preserve-3d;\n  animation: cubeSpinA 22s linear infinite;\n}\n.cube-3d.spin-b .cube-spin { animation: cubeSpinB 26s linear infinite; }\n.cube-3d.spin-c .cube-spin { animation: cubeSpinC 30s linear infinite; }\n.cube-3d.spin-d .cube-spin { animation: cubeSpinD 18s linear infinite; }\n@keyframes cubeSpinA {\n  0%   { transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg); }\n  100% { transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg); }\n}\n@keyframes cubeSpinB {\n  0%   { transform: rotateX(-15deg) rotateY(0deg); }\n  100% { transform: rotateX(-15deg) rotateY(360deg); }\n}\n@keyframes cubeSpinC {\n  0%   { transform: rotateX(30deg) rotateY(0deg) rotateZ(0deg); }\n  100% { transform: rotateX(30deg) rotateY(-360deg) rotateZ(360deg); }\n}\n@keyframes cubeSpinD {\n  0%   { transform: rotateY(45deg) rotateX(0deg); }\n  100% { transform: rotateY(45deg) rotateX(360deg); }\n}\n@keyframes cubeFloat {\n  0%   { transform: translate3d(0,0,0); }\n  100% { transform: translate3d(var(--cf-x, 14px), var(--cf-y, -18px), 0); }\n}\n\/* Home-page-only drop-in entrance \u2014 cubes fall from above the viewport,\n   settle into their position with a soft overshoot, then the perpetual\n   float animation takes over. Staggered per-cube for a cascading effect. *\/\n@keyframes cubeDrop {\n  0%   { transform: translate3d(0, -110vh, 0); opacity: 0; }\n  35%  { opacity: 0.85; }\n  100% { transform: translate3d(0, 0, 0);      opacity: 1; }\n}\n.hero .cube-3d {\n  animation-name:            cubeDrop,                              cubeFloat;\n  animation-duration:        1.6s,                                  14s;\n  animation-timing-function: cubic-bezier(0.34, 1.18, 0.64, 1),     ease-in-out;\n  animation-delay:           0s,                                    1.6s;\n  animation-iteration-count: 1,                                     infinite;\n  animation-direction:       normal,                                alternate;\n  animation-fill-mode:       backwards,                             none;\n}\n\/* Stagger the entrance + preserve each cube's original float duration *\/\n.hero .cube-3d.c1 { animation-duration: 1.6s, 12s; animation-delay: 0.05s, 1.65s; }\n.hero .cube-3d.c2 { animation-duration: 1.6s, 16s; animation-delay: 0.20s, 1.80s; }\n.hero .cube-3d.c3 { animation-duration: 1.6s, 14s; animation-delay: 0.35s, 1.95s; }\n.hero .cube-3d.c4 { animation-duration: 1.6s, 18s; animation-delay: 0.50s, 2.10s; }\n.hero .cube-3d.c5 { animation-duration: 1.6s, 13s; animation-delay: 0.65s, 2.25s; }\n.hero .cube-3d.c6 { animation-duration: 1.6s, 17s; animation-delay: 0.80s, 2.40s; }\n.cube-3d.c1 { --cube-size:  96px; top: 12%; left: 4%;  --cf-x: -10px; --cf-y: -22px; animation-duration: 12s; }\n.cube-3d.c2 { --cube-size:  64px; top: 5%;  left: 26%; --cf-x:  12px; --cf-y: -16px; animation-duration: 16s; }\n.cube-3d.c3 { --cube-size: 120px; top: 18%; right: 6%;  --cf-x: -16px; --cf-y:  18px; animation-duration: 14s; }\n.cube-3d.c4 { --cube-size:  76px; bottom: 14%; right: 22%; --cf-x: 18px; --cf-y: -14px; animation-duration: 18s; }\n.cube-3d.c5 { --cube-size:  56px; bottom: 22%; left: 14%; --cf-x: -14px; --cf-y:  20px; animation-duration: 13s; }\n.cube-3d.c6 { --cube-size:  88px; top: 60%;   left: 48%; --cf-x:  20px; --cf-y: -22px; animation-duration: 17s; opacity: 0.7; }\n\/* ==========================================================================\n   R31b \u2014 CTA banner extras (button pulse only; layout lives in base block)\n   ========================================================================== *\/\n.btn-orange.pulse {\n  position: relative;\n  animation: btnPulse 2.6s ease-in-out infinite;\n}\n@keyframes btnPulse {\n  0%, 100% { box-shadow: var(--glow-orange-sm); }\n  50%      { box-shadow: 0 0 0 6px rgba(250,122,57,0.18), var(--glow-orange); }\n}\n\/* Mobile + reduced motion fallback for cubes *\/\n@media (max-width: 900px) {\n  .cube-3d.c2, .cube-3d.c5, .cube-3d.c6 { display: none; }\n  .cube-3d { --cube-size: 60px; }\n  .cube-3d.c3 { --cube-size: 80px; }\n}\n@media (prefers-reduced-motion: reduce) {\n  .cube-3d, .cube-3d .cube-spin,\n  .btn-orange.pulse {\n    animation: none !important;\n  }\n}\n\/* ==========================================================================\n   R33 \u2014 NEON MINI-STAT (per About reference image_1, glowing gradient border)\n   ========================================================================== *\/\n.mini-stat.neon {\n  position: relative;\n  border: none;\n  background: rgba(14, 10, 30, 0.85);\n  padding: 18px 22px;\n  border-radius: 16px;\n  isolation: isolate;\n  overflow: hidden;\n}\n.mini-stat.neon::before {\n  content: '';\n  position: absolute;\n  inset: 0;\n  border-radius: inherit;\n  padding: 1.5px;\n  background: linear-gradient(135deg,\n    rgba(104, 85, 230, 0.95) 0%,\n    rgba(166, 150, 255, 0.55) 35%,\n    rgba(250, 122, 57, 0.95) 100%);\n  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n  -webkit-mask-composite: xor;\n  mask-composite: exclude;\n  pointer-events: none;\n  z-index: 1;\n}\n.mini-stat.neon::after {\n  content: '';\n  position: absolute;\n  inset: -2px;\n  border-radius: 18px;\n  background: linear-gradient(135deg,\n    rgba(104, 85, 230, 0.55) 0%,\n    transparent 50%,\n    rgba(250, 122, 57, 0.55) 100%);\n  filter: blur(14px);\n  opacity: 0.55;\n  z-index: -1;\n  pointer-events: none;\n  transition: opacity 320ms var(--ease);\n}\n.mini-stat.neon:hover::after { opacity: 0.85; }\n.mini-stat.neon .v {\n  font-family: var(--font-display);\n  font-weight: 600;\n  font-size: 1.45rem;\n  letter-spacing: -0.015em;\n  background: linear-gradient(135deg, #fff 40%, var(--accent-orange) 100%);\n  -webkit-background-clip: text; background-clip: text; color: transparent;\n}\n.mini-stat.neon .l {\n  color: rgba(255,255,255,0.75);\n  font-size: 0.92rem;\n  letter-spacing: 0.01em;\n}\n\/* ==========================================================================\n   R33 \u2014 SOCIAL ICON PILLS (LinkedIn \/ Instagram \/ Facebook)\n   ========================================================================== *\/\n.social-icon {\n  display: inline-grid;\n  place-items: center;\n  width: 40px; height: 40px;\n  border-radius: 12px;\n  border: 1px solid rgba(255,255,255,0.10);\n  background: rgba(255,255,255,0.04);\n  color: var(--text-muted);\n  transition: all 180ms var(--ease-out);\n  flex: 0 0 auto;\n}\n.social-icon:hover {\n  color: #fff;\n  border-color: var(--accent-violet);\n  background: linear-gradient(135deg, rgba(104, 85, 230, 0.22), rgba(250, 122, 57, 0.10));\n  box-shadow: 0 0 18px rgba(104, 85, 230, 0.40), inset 0 1px 0 rgba(255,255,255,0.10);\n  transform: translateY(-2px);\n}\n.social-icon svg { width: 18px; height: 18px; }\n.socials.icon-row { gap: 10px; }\n\/* ==========================================================================\n   ELEMENTOR FULL-BLEED OVERRIDE  (v2 \u2014 single wrapper approach)\n   The whole snippet is wrapped in <div class=\"dfs-root\"> below.\n   We force that wrapper to 100vw so it escapes any Elementor \/ theme\n   max-width container, then let everything inside flow as designed.\n   ========================================================================== *\/\n.dfs-root {\n  width: 100vw !important;\n  max-width: 100vw !important;\n  margin-inline: calc(50% - 50vw) !important;\n  position: relative !important;\n  overflow-x: clip;\n  background: var(--bg);\n  color: var(--text);\n  font-family: var(--font-body);\n  font-size: var(--text-base);\n  line-height: 1.5;\n}\n\/* Skip link \u2014 properly hide it off the viewport in Elementor context *\/\n.dfs-root .skip-link,\n.skip-link {\n  position: fixed !important;\n  top: -200px !important;\n  left: 16px !important;\n}\n.dfs-root .skip-link:focus,\n.skip-link:focus {\n  top: 16px !important;\n}\n\/* Pinned overlays cover the full viewport regardless of any parent transforms *\/\n.dfs-root .bg-stage,\n.dfs-root .grid-mesh,\n.dfs-root .noise,\n.dfs-root .mobile-menu {\n  position: fixed !important;\n  inset: 0 !important;\n  width: 100vw !important;\n  height: 100vh !important;\n}\n\/* Reset theme defaults inside our content. Wrapped in :where() so each rule\n   has ZERO specificity \u2014 any rule from the original style.css with even one\n   class selector wins. This lets our design's real spacing, colors, and\n   button styles survive while still neutralising Elementor \/ theme defaults. *\/\n.dfs-root *, .dfs-root *::before, .dfs-root *::after { box-sizing: border-box; }\n:where(.dfs-root img) { max-width: 100%; height: auto; display: block; }\n:where(.dfs-root a) { color: inherit; text-decoration: none; }\n:where(.dfs-root ul, .dfs-root ol) { list-style: none; padding: 0; margin: 0; }\n:where(.dfs-root h1, .dfs-root h2, .dfs-root h3, .dfs-root h4, .dfs-root h5, .dfs-root h6) {\n  font-family: var(--font-display);\n  margin: 0;\n}\n:where(.dfs-root p) { margin: 0; }\n:where(.dfs-root button) { background: transparent; border: none; padding: 0; font: inherit; color: inherit; cursor: pointer; }\n\/* ==========================================================================\n   ELEMENTOR ANCESTOR BREAKOUT (v3) \u2014 :has() reaches up the DOM\n   Forces every wrapping container above .dfs-root (Elementor section\/column\/\n   widget, common theme wrappers like .entry-content, .site-content,\n   .elementor-element, etc.) to drop their max-width, padding, and overflow\n   so our wrapper actually renders at 100vw.\n   ========================================================================== *\/\nbody:has(.dfs-root),\n.site-content:has(.dfs-root),\n.entry-content:has(.dfs-root),\n.page-content:has(.dfs-root),\n.post:has(.dfs-root),\nmain:has(.dfs-root),\narticle:has(.dfs-root),\n.elementor:has(.dfs-root),\n.elementor-edit-area:has(.dfs-root),\n.elementor-section-wrap:has(.dfs-root),\n.elementor-section:has(.dfs-root),\n.elementor-container:has(.dfs-root),\n.elementor-row:has(.dfs-root),\n.elementor-column:has(.dfs-root),\n.elementor-column-wrap:has(.dfs-root),\n.elementor-widget-wrap:has(.dfs-root),\n.elementor-widget:has(.dfs-root),\n.elementor-element:has(.dfs-root),\n.elementor-widget-html:has(.dfs-root),\n.elementor-widget-html > .elementor-widget-container:has(.dfs-root),\n.e-con:has(.dfs-root),\n.e-con-inner:has(.dfs-root),\n.e-con-full:has(.dfs-root),\n.e-con-boxed:has(.dfs-root),\n.elementor-widget-container:has(.dfs-root) {\n  max-width: none !important;\n  width: 100% !important;\n  padding: 0 !important;\n  margin: 0 !important;\n  overflow: visible !important;\n  border-radius: 0 !important;\n  box-shadow: none !important;\n  background: transparent !important;\n}\n\/* Restore the wrapper's own 100vw rule with stronger specificity *\/\n.dfs-root {\n  width: 100vw !important;\n  max-width: 100vw !important;\n  margin-inline: 0 !important;\n  position: relative !important;\n  left: 0 !important;\n}\n\/* ==========================================================================\n   HELLO ELEMENTOR THEME OVERRIDE\n   Hello Elementor (the active theme) styles header.site-header, .site-main,\n   and .site-footer with max-width: var(--container-width, 1140px); margin: 0 auto;\n   That clamps our header and footer to 1140px. Force them back to 100%.\n   ========================================================================== *\/\n.dfs-root .site-header,\n.dfs-root .site-footer,\n.dfs-root header.site-header,\n.dfs-root footer.site-footer,\n.dfs-root .site-main,\nbody.wp-theme-hello-elementor header.site-header,\nbody.wp-theme-hello-elementor .site-footer {\n  max-width: 100% !important;\n  width: 100% !important;\n  margin: 0 !important;\n}\n\/* Header content (.container.nav) still uses --content-max for the inner row,\n   so the brand + nav + button stay nicely centred inside the full-width header. *\/\n.dfs-root .site-header > .container,\n.dfs-root .site-footer > .container {\n  max-width: var(--content-max) !important;\n  margin-inline: auto !important;\n}\n\/* ==========================================================================\n   POST-RESET TARGETED FIXES\n   The four issues called out: hero CTA spacing, BG\/EN toggle layout,\n   btn-pill text color, footer heading spacing.\n   ========================================================================== *\/\n\/* 1) Hero subline margin restored (in case Elementor still kills it) *\/\n.dfs-root .hero-subline { margin-bottom: var(--s-7) !important; }\n.dfs-root .hero-cta-row { margin-top: var(--s-6) !important; }\n\/* 2) Language toggle layout (the BG \/ EN pill) *\/\n.dfs-root .lang-toggle {\n  display: inline-flex !important;\n  align-items: center !important;\n  gap: 0 !important;\n  padding: 2px !important;\n  border: 1px solid rgba(255,255,255,0.10) !important;\n  border-radius: 999px !important;\n  background: rgba(255,255,255,0.02) !important;\n}\n.dfs-root .lang-toggle button {\n  padding: 6px 14px !important;\n  border-radius: 999px !important;\n  font-family: var(--font-display) !important;\n  font-size: 0.78rem !important;\n  font-weight: 600 !important;\n  letter-spacing: 0.06em !important;\n  color: var(--text-muted) !important;\n  background: transparent !important;\n  border: none !important;\n  cursor: pointer !important;\n  transition: color 160ms var(--ease-out), background 160ms var(--ease-out) !important;\n}\n.dfs-root .lang-toggle button[aria-pressed=\"true\"] {\n  background: #ffffff !important;\n  color: #0a0814 !important;\n}\n\/* 3) White pill button \u2014 keep dark text, never inherit theme link color *\/\n.dfs-root .btn-pill { color: #0a0814 !important; }\n.dfs-root .btn-pill:hover,\n.dfs-root .btn-pill:focus { color: #0a0814 !important; }\n\/* 3a) Primary violet button \u2014 keep WHITE text on hover\/focus\/visited.\n       Hello Elementor's a:hover changes link color and was bleeding through. *\/\n.dfs-root a.btn-primary,\n.dfs-root a.btn-primary:link,\n.dfs-root a.btn-primary:visited,\n.dfs-root a.btn-primary:hover,\n.dfs-root a.btn-primary:focus,\n.dfs-root a.btn-primary:active,\n.dfs-root .btn-primary,\n.dfs-root .btn-primary:hover,\n.dfs-root .btn-primary:focus,\n.dfs-root .btn-primary:active {\n  color: #ffffff !important;\n}\n.dfs-root .btn-primary .arrow,\n.dfs-root .btn-primary:hover .arrow,\n.dfs-root .btn-primary:focus .arrow { color: #ffffff !important; }\n\/* 4) Footer column headings need breathing room above their links *\/\n.dfs-root .footer-col h4 { margin-bottom: var(--s-4) !important; }\n.dfs-root .footer-col ul li { margin-bottom: 10px !important; }\n.dfs-root .footer-col ul li:last-child { margin-bottom: 0 !important; }\n\/* ==========================================================================\n   FIX: Hello Elementor's a:hover changes link color, which propagates to\n   the .name \/ .desc text inside .service-row. Lock the text colors so the\n   row's title stays white and description stays muted on hover\/focus.\n   The \"01\" number and chevron keep their existing orange\/violet hover.\n   ========================================================================== *\/\n.dfs-root a.service-row,\n.dfs-root a.service-row:hover,\n.dfs-root a.service-row:focus,\n.dfs-root a.service-row:visited {\n  color: var(--text) !important;\n}\n.dfs-root .service-row .name,\n.dfs-root .service-row:hover .name,\n.dfs-root .service-row:focus .name {\n  color: var(--text) !important;\n}\n.dfs-root .service-row .desc,\n.dfs-root .service-row:hover .desc,\n.dfs-root .service-row:focus .desc {\n  color: var(--text-muted) !important;\n}\n\/* ==========================================================================\n   HAMBURGER BUTTON OVERRIDE \u2014 Hello Elementor + browser default kill\n   Split into TWO blocks so hover\/focus\/active cannot inherit `display: none`\n   from the base. The media query then re-enables display for all states.\n   ========================================================================== *\/\n\/* 1. Base button \u2014 hidden on desktop, visual reset *\/\n.dfs-root .menu-toggle {\n  background: transparent !important;\n  border: 1px solid var(--border) !important;\n  border-radius: 10px !important;\n  box-shadow: none !important;\n  outline: none !important;\n  transform: none !important;\n  transition: none !important;\n  animation: none !important;\n  filter: none !important;\n  opacity: 1 !important;\n  padding: 0 !important;\n  width: 44px !important;\n  height: 44px !important;\n  color: var(--text) !important;\n  -webkit-tap-highlight-color: transparent !important;\n  display: none !important;\n  cursor: pointer !important;\n  position: relative !important;\n  z-index: 60 !important;\n}\n\/* 2. Interaction states \u2014 DO NOT touch `display`; just neutralise theme styling *\/\n.dfs-root .menu-toggle:hover,\n.dfs-root .menu-toggle:focus,\n.dfs-root .menu-toggle:focus-visible,\n.dfs-root .menu-toggle:active {\n  background: transparent !important;\n  border-color: var(--border) !important;\n  box-shadow: none !important;\n  outline: none !important;\n  transform: none !important;\n  filter: none !important;\n  opacity: 1 !important;\n}\n\/* 3. Mobile \u2014 re-enable display for the button AND every state *\/\n@media (max-width: 900px) {\n  .dfs-root .menu-toggle,\n  .dfs-root .menu-toggle:hover,\n  .dfs-root .menu-toggle:focus,\n  .dfs-root .menu-toggle:focus-visible,\n  .dfs-root .menu-toggle:active {\n    display: inline-flex !important;\n    align-items: center !important;\n    justify-content: center !important;\n  }\n}\n\/* 4. Inner SVG \u2014 transparent and properly styled lines *\/\n.dfs-root .menu-toggle .ham,\n.dfs-root .menu-toggle svg {\n  background: transparent !important;\n  width: 32px !important;\n  height: 32px !important;\n}\n.dfs-root .menu-toggle .line {\n  fill: none !important;\n  stroke: var(--text) !important;\n  stroke-width: 7 !important;\n  stroke-linecap: round !important;\n}\n\/* ==========================================================================\n   BRAND LOGO HOVER FIX\n   Hello Elementor a:hover changes link color and was tinting the brand\n   \"DawnForge\" wordmark on hover. Lock it to var(--text) (white) in every state.\n   The \"Studios\" suffix keeps its inline muted style via inline style attribute.\n   ========================================================================== *\/\n.dfs-root a.brand,\n.dfs-root a.brand:link,\n.dfs-root a.brand:visited,\n.dfs-root a.brand:hover,\n.dfs-root a.brand:focus,\n.dfs-root a.brand:focus-visible,\n.dfs-root a.brand:active {\n  color: var(--text) !important;\n  text-decoration: none !important;\n}\n.dfs-root a.brand > span,\n.dfs-root a.brand:hover > span,\n.dfs-root a.brand:focus > span {\n  color: inherit;\n}\n\/* ==========================================================================\n   LANG TOGGLE \u2014 anchor variant (used in BG\/EN split pages).\n   The original CSS targets <button> only; this adds <a> variant support so\n   the toggle becomes real <a href=\"...\"> links to the cross-language URL.\n   ========================================================================== *\/\n.dfs-root .lang-toggle a {\n  padding: 6px 14px !important;\n  border-radius: 999px !important;\n  font-family: var(--font-display) !important;\n  font-size: 0.78rem !important;\n  font-weight: 600 !important;\n  letter-spacing: 0.06em !important;\n  color: var(--text-muted) !important;\n  background: transparent !important;\n  border: none !important;\n  cursor: pointer !important;\n  text-decoration: none !important;\n  display: inline-flex !important;\n  align-items: center !important;\n  transition: color 160ms var(--ease-out), background 160ms var(--ease-out) !important;\n}\n.dfs-root .lang-toggle a[aria-pressed=\"true\"] {\n  background: #ffffff !important;\n  color: #0a0814 !important;\n}\n.dfs-root .lang-toggle a:hover,\n.dfs-root .lang-toggle a:focus {\n  color: var(--text) !important;\n}\n.dfs-root .lang-toggle a[aria-pressed=\"true\"]:hover,\n.dfs-root .lang-toggle a[aria-pressed=\"true\"]:focus {\n  color: #0a0814 !important;\n}\n<\/style>\n<\/head>\n<body>\n<div class=\"dfs-root\">\n<a class=\"skip-link\" href=\"#main\"><span class=\"lang-en\">Skip to content<\/span><\/a>\n<div class=\"bg-stage\" aria-hidden=\"true\">\n  <div class=\"orb orb-violet\"><\/div>\n  <div class=\"orb orb-orange\"><\/div>\n  <div class=\"orb orb-violet-2\"><\/div>\n  <canvas class=\"bg-particles\"><\/canvas>\n<\/div>\n<div class=\"grid-mesh\" aria-hidden=\"true\"><\/div>\n<div class=\"noise\" aria-hidden=\"true\"><\/div>\n<header class=\"site-header\">\n  <div class=\"container nav\">\n    <a class=\"brand\" href=\"\/en\/\">\n      <span class=\"brand-logo\"><img decoding=\"async\" src=\"https:\/\/spcdn.shortpixel.ai\/spio\/ret_img,q_cdnize,to_auto,s_dwebp:avif\/dawnforgestudios.com\/wp-content\/uploads\/2026\/06\/dawnforge-logo.png\" alt=\"DawnForge Studios\" title=\"\"><\/span>\n      <span>DawnForge<span style=\"color:var(--text-muted);\"> Studios<\/span><\/span>\n    <\/a>\n    <nav class=\"nav-links\" aria-label=\"Primary\">\n      <a class=\"nav-link\" href=\"\/en\/\"><span class=\"lang-en\">Home<\/span><\/a>\n      <a class=\"nav-link\" href=\"\/en\/services\/\"><span class=\"lang-en\">Services<\/span><\/a>\n      <a class=\"nav-link\" href=\"\/en\/our-work\/\"><span class=\"lang-en\">Our Work<\/span><\/a>\n      <a class=\"nav-link active\" href=\"\/en\/about\/\"><span class=\"lang-en\">About<\/span><\/a>\n      <a class=\"nav-link\" href=\"\/en\/contacts\/\"><span class=\"lang-en\">Contacts<\/span><\/a>\n    <\/nav>\n    <div class=\"nav-cluster\">\n      <div class=\"lang-toggle\" role=\"group\" aria-label=\"Language\">\n        <a href=\"#\" data-lang=\"bg\" aria-pressed=\"false\">BG<\/a>\n        <a href=\"#\" data-lang=\"en\" aria-pressed=\"false\">EN<\/a>\n      <\/div>\n      <a class=\"btn btn-primary btn-sm nav-cta-desktop\" href=\"\/en\/contacts\/\">\n        <span class=\"lang-en\">Free Consultation<\/span>\n        <span class=\"arrow\">\u2192<\/span>\n      <\/a>\n      <button class=\"menu-toggle\" aria-label=\"Menu\" aria-expanded=\"false\">\n        <svg class=\"ham\" viewBox=\"0 0 100 100\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\">\n          <line class=\"line line-top\"    x1=\"15\" y1=\"33\" x2=\"85\" y2=\"33\"\/>\n          <line class=\"line line-middle\" x1=\"15\" y1=\"50\" x2=\"85\" y2=\"50\"\/>\n          <line class=\"line line-bottom\" x1=\"15\" y1=\"67\" x2=\"85\" y2=\"67\"\/>\n        <\/svg>\n      <\/button>\n    <\/div>\n  <\/div>\n<\/header>\n<div class=\"mobile-menu\" aria-label=\"Mobile\">\n  <a class=\"nav-link\" href=\"\/en\/\"><span class=\"lang-en\">Home<\/span><\/a>\n  <a class=\"nav-link\" href=\"\/en\/services\/\"><span class=\"lang-en\">Services<\/span><\/a>\n  <a class=\"nav-link\" href=\"\/en\/our-work\/\"><span class=\"lang-en\">Our Work<\/span><\/a>\n  <a class=\"nav-link active\" href=\"\/en\/about\/\"><span class=\"lang-en\">About<\/span><\/a>\n  <a class=\"nav-link\" href=\"\/en\/contacts\/\"><span class=\"lang-en\">Contacts<\/span><\/a>\n  <a class=\"btn btn-primary\" href=\"\/en\/contacts\/\"><span class=\"lang-en\">Free Consultation<\/span> <span class=\"arrow\">\u2192<\/span><\/a>\n<\/div>\n<main id=\"main\" class=\"page\">\n  <!-- Page hero -->\n  <section class=\"hero-half\">\n    <div class=\"cube-field\" aria-hidden=\"true\">\n      <div class=\"cube-3d c1 spin-a\"><div class=\"cube-spin\"><div class=\"face f-front\"><\/div><div class=\"face f-back\"><\/div><div class=\"face f-right\"><\/div><div class=\"face f-left\"><\/div><div class=\"face f-top\"><\/div><div class=\"face f-bottom\"><\/div><\/div><\/div>\n      <div class=\"cube-3d c3 spin-c\"><div class=\"cube-spin\"><div class=\"face f-front\"><\/div><div class=\"face f-back\"><\/div><div class=\"face f-right\"><\/div><div class=\"face f-left\"><\/div><div class=\"face f-top\"><\/div><div class=\"face f-bottom\"><\/div><\/div><\/div>\n      <div class=\"cube-3d c4 spin-d\"><div class=\"cube-spin\"><div class=\"face f-front\"><\/div><div class=\"face f-back\"><\/div><div class=\"face f-right\"><\/div><div class=\"face f-left\"><\/div><div class=\"face f-top\"><\/div><div class=\"face f-bottom\"><\/div><\/div><\/div>\n      <div class=\"cube-3d c5 spin-b\"><div class=\"cube-spin\"><div class=\"face f-front\"><\/div><div class=\"face f-back\"><\/div><div class=\"face f-right\"><\/div><div class=\"face f-left\"><\/div><div class=\"face f-top\"><\/div><div class=\"face f-bottom\"><\/div><\/div><\/div>\n    <\/div>\n    <div class=\"container hero-inner\">\n      <div class=\"eyebrow reveal\"><span class=\"lang-en\">About Us<\/span><\/div>\n      <h1 class=\"hero-title reveal\">\n\n        <span class=\"lang-en\">The team that <span class=\"gradient\">turns ideas into reality<\/span><\/span>\n      <\/h1>\n      <p class=\"hero-subline reveal\" data-delay=\"120\">\n\n        <span class=\"lang-en\">We believe that great digital solutions are built with understanding, consistency, and attention to detail.<\/span>\n      <\/p>\n    <\/div>\n  <\/section>\n  <!-- Studio story -->\n  <section style=\"padding-top: 0;\">\n    <div class=\"container\">\n      <div class=\"story-grid\">\n        <div class=\"story-text reveal\">\n          <p><span class=\"lang-en\">DawnForge Studios is an agency built on the belief that a small team with the right technologies can outperform a large studio with slow processes.<\/span><\/p>\n          <p><span class=\"lang-en\">We specialize in digital marketing, strategy, consulting, web, and AI automation. Every client gets the full attention of the entire team.<\/span><\/p>\n          <p><span class=\"lang-en\">We are not just partners \u2014 we are a team that acts fast and thinks big.<\/span><\/p>\n        <\/div>\n        <div class=\"story-stats reveal\" data-delay=\"120\">\n          <div class=\"mini-stat neon\">\n            <span class=\"v\">100%<\/span>\n            <span class=\"l\"><span class=\"lang-en\">bespoke approach<\/span><\/span>\n          <\/div>\n          <div class=\"mini-stat neon\">\n            <span class=\"v\">10+<\/span>\n            <span class=\"l\"><span class=\"lang-en\">trusted clients<\/span><\/span>\n          <\/div>\n          <div class=\"mini-stat neon\">\n            <span class=\"v\">24h<\/span>\n            <span class=\"l\"><span class=\"lang-en\">response time<\/span><\/span>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n  <!-- Team -->\n  <section>\n    <div class=\"container\">\n      <div class=\"eyebrow reveal\"><span class=\"lang-en\">The Team<\/span><\/div>\n      <h2 class=\"section-heading reveal\">\n\n            <span class=\"lang-en\">Our team.<\/span>\n      <\/h2>\n      <div class=\"team-section-meta reveal\">\n        <span><span class=\"lang-en\">The DawnForge Team<\/span><\/span>\n        <span><span class=\"lang-en\">Sofia \u00b7 2026<\/span><\/span>\n      <\/div>\n      <div class=\"team-frame-row\" style=\"margin-top: var(--s-3);\">\n        <div class=\"team-frame reveal\" data-spot>\n          <span class=\"frame-glyph\">01<\/span>\n          <div class=\"portrait-wrap\">\n            <div class=\"portrait\">\n              <img decoding=\"async\" class=\"portrait-img\" src=\"https:\/\/spcdn.shortpixel.ai\/spio\/ret_img,q_cdnize,to_auto,s_dwebp:avif\/dawnforgestudios.com\/wp-content\/uploads\/2026\/06\/team-martin.jpeg\" alt=\"Martin Nikolov\" loading=\"lazy\" title=\"\">\n              <span class=\"initials\">MN<\/span>\n            <\/div>\n          <\/div>\n          <div class=\"name-block name-band\">\n            <div class=\"name\"><span class=\"lang-en\">Martin Nikolov<\/span><\/div>\n            <div class=\"role\">Co-CEO<\/div>\n            <div class=\"bio\"><span class=\"lang-en\">Strategy &amp; business development.<\/span><\/div>\n          <\/div>\n          <div class=\"team-socials\" aria-label=\"Martin Nikolov \u00b7 contact\">\n            <a href=\"https:\/\/www.linkedin.com\/in\/martin-nikolov-8b7473295\/\" target=\"_blank\" rel=\"noopener\" aria-label=\"LinkedIn\"><svg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M4.98 3.5C4.98 4.88 3.87 6 2.5 6S0 4.88 0 3.5 1.12 1 2.5 1s2.48 1.12 2.48 2.5zM.2 8h4.6V24H.2V8zM8 8h4.4v2.2h.07c.61-1.16 2.11-2.4 4.34-2.4 4.65 0 5.51 3.06 5.51 7.04V24h-4.6v-7.06c0-1.68-.03-3.85-2.35-3.85-2.35 0-2.71 1.84-2.71 3.73V24H8V8z\"\/><\/svg><\/a>\n            <a href=\"mailto:martin.nikolov@dawnforgestudios.com\" aria-label=\"Email\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\/><path d=\"M3 7l9 6 9-6\"\/><\/svg><\/a>\n          <\/div>\n        <\/div>\n        <div class=\"team-frame reveal\" data-spot data-delay=\"100\">\n          <span class=\"frame-glyph\">02<\/span>\n          <div class=\"portrait-wrap\">\n            <div class=\"portrait\">\n              <img decoding=\"async\" class=\"portrait-img\" src=\"https:\/\/spcdn.shortpixel.ai\/spio\/ret_img,q_cdnize,to_auto,s_dwebp:avif\/dawnforgestudios.com\/wp-content\/uploads\/2026\/06\/team-teodor.jpeg\" alt=\"Teodor Yordanov\" loading=\"lazy\" title=\"\">\n              <span class=\"initials\">TY<\/span>\n            <\/div>\n          <\/div>\n          <div class=\"name-block name-band\">\n            <div class=\"name\"><span class=\"lang-en\">Teodor Yordanov<\/span><\/div>\n            <div class=\"role\">Co-CEO<\/div>\n            <div class=\"bio\"><span class=\"lang-en\">Technology &amp; product thinking.<\/span><\/div>\n          <\/div>\n          <div class=\"team-socials\" aria-label=\"Teodor Yordanov \u00b7 contact\">\n            <a href=\"https:\/\/www.linkedin.com\/in\/teodor-yordanov-a23034269\/\" target=\"_blank\" rel=\"noopener\" aria-label=\"LinkedIn\"><svg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M4.98 3.5C4.98 4.88 3.87 6 2.5 6S0 4.88 0 3.5 1.12 1 2.5 1s2.48 1.12 2.48 2.5zM.2 8h4.6V24H.2V8zM8 8h4.4v2.2h.07c.61-1.16 2.11-2.4 4.34-2.4 4.65 0 5.51 3.06 5.51 7.04V24h-4.6v-7.06c0-1.68-.03-3.85-2.35-3.85-2.35 0-2.71 1.84-2.71 3.73V24H8V8z\"\/><\/svg><\/a>\n            <a href=\"mailto:teodor.yordanov@dawnforgestudios.com\" aria-label=\"Email\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\/><path d=\"M3 7l9 6 9-6\"\/><\/svg><\/a>\n          <\/div>\n        <\/div>\n        <div class=\"team-frame reveal\" data-spot data-delay=\"200\">\n          <span class=\"frame-glyph\">03<\/span>\n          <div class=\"portrait-wrap\">\n            <div class=\"portrait\">\n              <img decoding=\"async\" class=\"portrait-img\" src=\"https:\/\/spcdn.shortpixel.ai\/spio\/ret_img,q_cdnize,to_auto,s_dwebp:avif\/dawnforgestudios.com\/wp-content\/uploads\/2026\/06\/team-elisaveta.jpg\" alt=\"Elisaveta Tareva\" loading=\"lazy\" title=\"\">\n              <span class=\"initials\">ET<\/span>\n            <\/div>\n          <\/div>\n          <div class=\"name-block name-band\">\n            <div class=\"name\"><span class=\"lang-en\">Elisaveta Tareva<\/span><\/div>\n            <div class=\"role\"><span class=\"lang-en\">Creative Director<\/span><\/div>\n            <div class=\"bio\"><span class=\"lang-en\">Brand, vision &amp; creative direction.<\/span><\/div>\n          <\/div>\n          <div class=\"team-socials\" aria-label=\"Elisaveta Tareva \u00b7 contact\">\n            <a href=\"https:\/\/www.linkedin.com\/in\/elisaveta-tareva-235a24218\/\" target=\"_blank\" rel=\"noopener\" aria-label=\"LinkedIn\"><svg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M4.98 3.5C4.98 4.88 3.87 6 2.5 6S0 4.88 0 3.5 1.12 1 2.5 1s2.48 1.12 2.48 2.5zM.2 8h4.6V24H.2V8zM8 8h4.4v2.2h.07c.61-1.16 2.11-2.4 4.34-2.4 4.65 0 5.51 3.06 5.51 7.04V24h-4.6v-7.06c0-1.68-.03-3.85-2.35-3.85-2.35 0-2.71 1.84-2.71 3.73V24H8V8z\"\/><\/svg><\/a>\n            <a href=\"mailto:elisaveta.tareva@dawnforgestudios.com\" aria-label=\"Email\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\/><path d=\"M3 7l9 6 9-6\"\/><\/svg><\/a>\n          <\/div>\n        <\/div>\n        <div class=\"team-frame reveal\" data-spot data-delay=\"300\">\n          <span class=\"frame-glyph\">04<\/span>\n          <div class=\"portrait-wrap\">\n            <div class=\"portrait\">\n              <img decoding=\"async\" class=\"portrait-img\" src=\"https:\/\/spcdn.shortpixel.ai\/spio\/ret_img,q_cdnize,to_auto,s_dwebp:avif\/dawnforgestudios.com\/wp-content\/uploads\/2026\/06\/team-angela.jpg\" alt=\"Angela Tsolova\" loading=\"lazy\" title=\"\">\n              <span class=\"initials\">AT<\/span>\n            <\/div>\n          <\/div>\n          <div class=\"name-block name-band\">\n            <div class=\"name\"><span class=\"lang-en\">Angela Tsolova<\/span><\/div>\n            <div class=\"role\"><span class=\"lang-en\">Art Director<\/span><\/div>\n            <div class=\"bio\"><span class=\"lang-en\">Visual language &amp; design systems.<\/span><\/div>\n          <\/div>\n          <div class=\"team-socials\" aria-label=\"Angela Tsolova \u00b7 contact\">\n            <a href=\"https:\/\/www.linkedin.com\/in\/angela-tsolova-237466295\/\" target=\"_blank\" rel=\"noopener\" aria-label=\"LinkedIn\"><svg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M4.98 3.5C4.98 4.88 3.87 6 2.5 6S0 4.88 0 3.5 1.12 1 2.5 1s2.48 1.12 2.48 2.5zM.2 8h4.6V24H.2V8zM8 8h4.4v2.2h.07c.61-1.16 2.11-2.4 4.34-2.4 4.65 0 5.51 3.06 5.51 7.04V24h-4.6v-7.06c0-1.68-.03-3.85-2.35-3.85-2.35 0-2.71 1.84-2.71 3.73V24H8V8z\"\/><\/svg><\/a>\n            <a href=\"mailto:angela.tsolova@dawnforgestudios.com\" aria-label=\"Email\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\/><path d=\"M3 7l9 6 9-6\"\/><\/svg><\/a>\n          <\/div>\n\n        <\/div>\n        <div class=\"team-frame reveal\" data-spot data-delay=\"400\">\n          <span class=\"frame-glyph\">05<\/span>\n          <div class=\"portrait-wrap\">\n            <div class=\"portrait\">\n              <img decoding=\"async\" class=\"portrait-img\" src=\"https:\/\/spcdn.shortpixel.ai\/spio\/ret_img,q_cdnize,to_auto,s_dwebp:avif\/dawnforgestudios.com\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-Jun-19-2026-12_10_29-PM.jpg\" alt=\"Martin Kolev\" loading=\"lazy\" title=\"\">\n              <span class=\"initials\">MK<\/span>\n            <\/div>\n          <\/div>\n          <div class=\"name-block name-band\">\n            <div class=\"name\"><span class=\"lang-en\">Martin Kolev<\/span><\/div>\n            <div class=\"role\"><span class=\"lang-en\">Full stack \/ Game developer<\/span><\/div>\n            <div class=\"bio\"><span class=\"lang-en\">Web applications &amp; developement.<\/span><\/div>\n          <\/div>\n          <div class=\"team-socials\" aria-label=\"Martin Kolev \u00b7 contact\">\n            <a href=\"https:\/\/www.linkedin.com\/in\/martin-kolev-253725232\/\" target=\"_blank\" rel=\"noopener\" aria-label=\"LinkedIn\"><svg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M4.98 3.5C4.98 4.88 3.87 6 2.5 6S0 4.88 0 3.5 1.12 1 2.5 1s2.48 1.12 2.48 2.5zM.2 8h4.6V24H.2V8zM8 8h4.4v2.2h.07c.61-1.16 2.11-2.4 4.34-2.4 4.65 0 5.51 3.06 5.51 7.04V24h-4.6v-7.06c0-1.68-.03-3.85-2.35-3.85-2.35 0-2.71 1.84-2.71 3.73V24H8V8z\"\/><\/svg><\/a>\n            <a href=\"mailto:martin.kolev@dawnforgestudios.com\" aria-label=\"Email\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\/><path d=\"M3 7l9 6 9-6\"\/><\/svg><\/a>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n  <!-- Values -->\n  <section>\n    <div class=\"container\">\n      <div class=\"eyebrow reveal\"><span class=\"lang-en\">Our Principles<\/span><\/div>\n      <h2 class=\"section-heading reveal\">\n\n        <span class=\"lang-en\">Three things we don't compromise on.<\/span>\n      <\/h2>\n      <div class=\"value-grid\" style=\"margin-top: var(--s-6);\">\n        <div class=\"glass reveal spotlight tilt\" data-tilt data-spot>\n          <h3 style=\"font-size: var(--text-xl); margin-bottom: var(--s-3);\"><span class=\"lang-en\">Transparency<\/span><\/h3>\n          <p style=\"color: var(--text-muted);\"><span class=\"lang-en\">No hidden fees, no surprises. You know exactly what you\u2019re paying for and what you\u2019re getting.<\/span><\/p>\n        <\/div>\n        <div class=\"glass reveal spotlight tilt\" data-tilt data-spot data-delay=\"100\">\n          <h3 style=\"font-size: var(--text-xl); margin-bottom: var(--s-3);\"><span class=\"lang-en\">Communication<\/span><\/h3>\n          <p style=\"color: var(--text-muted);\"><span class=\"lang-en\">We communicate with you about everything important in the project - regularly, clearly, and on time.<\/span><\/p>\n        <\/div>\n        <div class=\"glass reveal spotlight tilt\" data-tilt data-spot data-delay=\"200\">\n          <h3 style=\"font-size: var(--text-xl); margin-bottom: var(--s-3);\">Project Ownership<\/h3>\n          <p style=\"color: var(--text-muted);\"><span class=\"lang-en\">We treat your project as if it were our own.<\/span><\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n  <!-- CTA -->\n  <section style=\"padding-top: 0;\">\n    <div class=\"container\">\n      <div class=\"cta-banner reveal\" data-spot>\n        <span class=\"cta-mark cta-mark-l\" aria-hidden=\"true\">?<\/span>\n        <span class=\"cta-mark cta-mark-r\" aria-hidden=\"true\">?<\/span>\n        <div class=\"cta-eyebrow\"><span class=\"lang-en\">Get Started<\/span><\/div>\n        <h2>\n\n          <span class=\"lang-en\">Want to<br><span class=\"cta-grad\">work together?<\/span><\/span>\n        <\/h2>\n        <p><span class=\"lang-en\">Free 30-minute consultation. No commitment - just a conversation about where you are now and where you want to go.<\/span><\/p>\n        <div class=\"cta-actions\">\n          <a class=\"btn-pill\" data-magnetic href=\"\/en\/contacts\/\">\n            <span class=\"lang-en\">Get in Touch<\/span>\n            <span class=\"pill-arrow\" aria-hidden=\"true\">\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 12h14M13 5l7 7-7 7\"\/><\/svg>\n            <\/span>\n          <\/a>\n          <a class=\"btn-ghost\" href=\"\/en\/services\/\"><span class=\"lang-en\">See Our Services<\/span><\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n<\/main>\n<footer class=\"site-footer\">\n  <div class=\"container\">\n    <div class=\"footer-grid\">\n      <div class=\"footer-col\">\n        <a class=\"brand\" href=\"\/en\/\" style=\"margin-bottom: var(--s-4);\">\n          <span class=\"brand-logo\"><img decoding=\"async\" src=\"https:\/\/spcdn.shortpixel.ai\/spio\/ret_img,q_cdnize,to_auto,s_dwebp:avif\/dawnforgestudios.com\/wp-content\/uploads\/2026\/06\/dawnforge-logo.png\" alt=\"DawnForge Studios\" title=\"\"><\/span>\n          <span>DawnForge<span style=\"color:var(--text-muted);\"> Studios<\/span><\/span>\n        <\/a>\n        <p class=\"footer-tagline\"><span class=\"lang-en\">Digital agency. Sofia, Bulgaria.<\/span><\/p>\n        <div class=\"socials icon-row\">\n          <a class=\"social-icon\" href=\"https:\/\/www.linkedin.com\/company\/dawnforge-studios\/\" target=\"_blank\" rel=\"noopener\" aria-label=\"LinkedIn\"><svg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M4.98 3.5C4.98 4.88 3.87 6 2.5 6S0 4.88 0 3.5 1.12 1 2.5 1s2.48 1.12 2.48 2.5zM.2 8h4.6V24H.2V8zM8 8h4.4v2.2h.07c.61-1.16 2.11-2.4 4.34-2.4 4.65 0 5.51 3.06 5.51 7.04V24h-4.6v-7.06c0-1.68-.03-3.85-2.35-3.85-2.35 0-2.71 1.84-2.71 3.73V24H8V8z\"\/><\/svg><\/a>\n          <a class=\"social-icon\" href=\"https:\/\/www.instagram.com\/dawnforgestudios\/\" target=\"_blank\" rel=\"noopener\" aria-label=\"Instagram\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" aria-hidden=\"true\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"5\"\/><circle cx=\"12\" cy=\"12\" r=\"4\"\/><circle cx=\"17.5\" cy=\"6.5\" r=\"1\" fill=\"currentColor\"\/><\/svg><\/a>\n          <a class=\"social-icon\" href=\"https:\/\/www.facebook.com\/dawnforgestudios\" target=\"_blank\" rel=\"noopener\" aria-label=\"Facebook\"><svg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M22 12.07C22 6.51 17.52 2 12 2S2 6.51 2 12.07c0 5.02 3.66 9.18 8.44 9.93v-7.02H7.9v-2.91h2.54V9.85c0-2.52 1.49-3.91 3.78-3.91 1.09 0 2.24.2 2.24.2v2.47h-1.26c-1.24 0-1.63.77-1.63 1.56v1.87h2.77l-.44 2.91h-2.33V22c4.78-.75 8.44-4.91 8.44-9.93z\"\/><\/svg><\/a>\n          <a class=\"social-icon\" href=\"https:\/\/www.youtube.com\/@DawnForgeStudios\" target=\"_blank\" rel=\"noopener\" aria-label=\"YouTube\">\n  <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\">\n    <path d=\"M23.5 6.2s-.2-1.7-.9-2.4c-.9-.9-1.9-.9-2.4-1C16.9 2.5 12 2.5 12 2.5s-4.9 0-8.2.3c-.5.1-1.5.1-2.4 1C.7 4.5.5 6.2.5 6.2S.2 8.1.2 10v1.8c0 1.9.3 3.8.3 3.8s.2 1.7.9 2.4c.9.9 2.1.9 2.6 1 1.9.2 8 .3 8 .3s4.9 0 8.2-.3c.5-.1 1.5-.1 2.4-1 .7-.7.9-2.4.9-2.4s.3-1.9.3-3.8V10c0-1.9-.3-3.8-.3-3.8zM9.8 14.9V7.8l6.4 3.6-6.4 3.5z\"\/>\n  <\/svg>\n<\/a>\n        <\/div>\n      <\/div>\n      <div class=\"footer-col\">\n        <h4><span class=\"lang-en\">Navigation<\/span><\/h4>\n        <ul>\n          <li><a href=\"\/en\/\"><span class=\"lang-en\">Home<\/span><\/a><\/li>\n          <li><a href=\"\/en\/services\/\"><span class=\"lang-en\">Services<\/span><\/a><\/li>\n          <li><a href=\"\/en\/our-work\/\"><span class=\"lang-en\">Our Work<\/span><\/a><\/li>\n          <li><a href=\"\/en\/about\/\"><span class=\"lang-en\">About<\/span><\/a><\/li>\n          <li><a href=\"\/en\/contacts\/\"><span class=\"lang-en\">Contacts<\/span><\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"footer-col\">\n        <h4><span class=\"lang-en\">Services<\/span><\/h4>\n        <ul>\n          <li><a href=\"\/en\/services\/#consulting\"><span class=\"lang-en\">Business Consulting<\/span><\/a><\/li>\n          <li><a href=\"\/en\/services\/#marketing\"><span class=\"lang-en\">Marketing<\/span><\/a><\/li>\n          <li><a href=\"\/en\/services\/#web\"><span class=\"lang-en\">Web &amp; App Development<\/span><\/a><\/li>\n          <li><a href=\"\/en\/services\/#social\"><span class=\"lang-en\">Social Media<\/span><\/a><\/li>\n          <li><a href=\"\/en\/services\/#ai\"><span class=\"lang-en\">Systematisation &amp; AI<\/span><\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"footer-col\">\n        <h4><span class=\"lang-en\">Contacts<\/span><\/h4>\n        <ul>\n          <li><a href=\"mailto:team@dawnforgestudios.com\">team@dawnforgestudios.com<\/a><\/li>\n          <li><a href=\"tel:+359899184524\">+359 899 184 524<\/a><\/li>\n          <li><span class=\"lang-en\">Sofia, Bulgaria<\/span><\/li>\n        <\/ul>\n      <\/div>\n    <\/div>\n    <div class=\"footer-bottom\">\n      <div>\u00a9 2026 DawnForge Studios. <span class=\"lang-en\">All rights reserved.<\/span><\/div>\n      <div class=\"footer-bottom-links\">\n        <a href=\"\/en\/privacy\/\"><span class=\"lang-en\">Privacy<\/span><\/a>\n        <a href=\"\/en\/terms\/\"><span class=\"lang-en\">Terms<\/span><\/a>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/footer>\n<\/div>\n<script>\n\/* DawnForge Studios \u2014 site.js\n   Language toggle \u00b7 mobile menu \u00b7 scroll reveal \u00b7 count-up \u00b7 canvas particles\n   \u00b7 contact form \u00b7 marquee duplication \u00b7 sticky-nav state \u00b7 magnetic CTAs\n   ------------------------------------------------------------------ *\/\n(function () {\n  'use strict';\n  const prefersReducedMotion =\n    window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n  \/* ---------- Language toggle (BG default, persisted) ---------- *\/\n  const LS_KEY = 'dawnforge.lang';\n  function setLang(lang) {\n    const v = (lang === 'en') ? 'en' : 'bg';\n    document.documentElement.setAttribute('data-lang', v);\n    document.documentElement.setAttribute('lang', v === 'bg' ? 'bg' : 'en');\n    try { localStorage.setItem(LS_KEY, v); } catch (e) {}\n    document.querySelectorAll('.lang-toggle button').forEach((b) => {\n      b.setAttribute('aria-pressed', String(b.dataset.lang === v));\n    });\n  }\n  const saved = (function () {\n    try { return localStorage.getItem(LS_KEY); } catch (e) { return null; }\n  })();\n  setLang(saved || 'bg');\n  document.addEventListener('click', (e) => {\n    const btn = e.target.closest('.lang-toggle button');\n    if (btn) setLang(btn.dataset.lang);\n  });\n  \/* ---------- Sticky nav state ---------- *\/\n  const header = document.querySelector('.site-header');\n  if (header) {\n    let last = 0;\n    const onScroll = () => {\n      const y = window.scrollY;\n      header.classList.toggle('scrolled', y > 24);\n      last = y;\n    };\n    onScroll();\n    window.addEventListener('scroll', onScroll, { passive: true });\n  }\n  \/* ---------- Mobile menu ---------- *\/\n  const menuBtn = document.querySelector('.menu-toggle');\n  if (menuBtn) {\n    menuBtn.addEventListener('click', () => {\n      const open = document.body.getAttribute('data-menu') === 'open';\n      document.body.setAttribute('data-menu', open ? 'closed' : 'open');\n      menuBtn.setAttribute('aria-expanded', String(!open));\n    });\n    document.querySelectorAll('.mobile-menu .nav-link').forEach((a) =>\n      a.addEventListener('click', () => {\n        document.body.setAttribute('data-menu', 'closed');\n        menuBtn.setAttribute('aria-expanded', 'false');\n      })\n    );\n  }\n  \/* ---------- Scroll reveal ---------- *\/\n  if (!prefersReducedMotion && 'IntersectionObserver' in window) {\n    const io = new IntersectionObserver(\n      (entries) => {\n        entries.forEach((e) => {\n          if (e.isIntersecting) {\n            const target = e.target;\n            const delay = parseFloat(target.dataset.delay || '0');\n            if (delay) target.style.transitionDelay = delay + 'ms';\n            target.classList.add('is-in');\n            io.unobserve(target);\n          }\n        });\n      },\n      { threshold: 0.12, rootMargin: '0px 0px -8% 0px' }\n    );\n    document\n      .querySelectorAll('.reveal, .reveal-x')\n      .forEach((el) => io.observe(el));\n  } else {\n    document\n      .querySelectorAll('.reveal, .reveal-x')\n      .forEach((el) => el.classList.add('is-in'));\n  }\n  \/* ---------- Count-up stats ---------- *\/\n  const easeOutExpo = (t) => (t === 1 ? 1 : 1 - Math.pow(2, -10 * t));\n  function countUp(el) {\n    const target = parseFloat(el.dataset.count || el.textContent);\n    if (isNaN(target)) return;\n    const suffix = el.dataset.suffix || '';\n    const duration = 1800;\n    const startTime = performance.now();\n    function frame(now) {\n      const t = Math.min(1, (now - startTime) \/ duration);\n      const v = easeOutExpo(t) * target;\n      const out =\n        target % 1 === 0\n          ? Math.round(v).toLocaleString('bg-BG')\n          : v.toFixed(1);\n      el.textContent = out + suffix;\n      if (t < 1) requestAnimationFrame(frame);\n    }\n    requestAnimationFrame(frame);\n  }\n  if (!prefersReducedMotion && 'IntersectionObserver' in window) {\n    const statsIo = new IntersectionObserver(\n      (entries) => {\n        entries.forEach((e) => {\n          if (e.isIntersecting) {\n            countUp(e.target);\n            statsIo.unobserve(e.target);\n          }\n        });\n      },\n      { threshold: 0.5 }\n    );\n    document.querySelectorAll('[data-count]').forEach((el) => statsIo.observe(el));\n  } else {\n    document.querySelectorAll('[data-count]').forEach((el) => {\n      const suffix = el.dataset.suffix || '';\n      el.textContent = el.dataset.count + suffix;\n    });\n  }\n  \/* ---------- Marquee duplication for seamless loop ---------- *\/\n  document.querySelectorAll('.marquee-track').forEach((track) => {\n    const clone = track.innerHTML;\n    track.innerHTML = clone + clone;\n  });\n  \/* ---------- Canvas particle field ---------- *\/\n  function setupParticles() {\n    if (prefersReducedMotion) return;\n    if (window.matchMedia('(max-width: 720px)').matches) return;\n    const c = document.querySelector('.bg-particles');\n    if (!c) return;\n    const ctx = c.getContext('2d');\n    let w, h, dpr;\n    function resize() {\n      dpr = Math.min(window.devicePixelRatio || 1, 2);\n      w = c.width  = window.innerWidth * dpr;\n      h = c.height = window.innerHeight * dpr;\n      c.style.width  = window.innerWidth + 'px';\n      c.style.height = window.innerHeight + 'px';\n      ctx.scale(dpr, dpr);\n    }\n    resize();\n    window.addEventListener('resize', () => {\n      ctx.setTransform(1, 0, 0, 1, 0, 0);\n      resize();\n    });\n    const count = Math.min(70, Math.floor((window.innerWidth * window.innerHeight) \/ 22000));\n    const parts = [];\n    for (let i = 0; i < count; i++) {\n      parts.push({\n        x: Math.random() * window.innerWidth,\n        y: Math.random() * window.innerHeight,\n        vx: (Math.random() - 0.5) * 0.15,\n        vy: (Math.random() - 0.5) * 0.15,\n        r: Math.random() * 1.4 + 0.4,\n        c: Math.random() > 0.7\n          ? 'rgba(250,122,57,0.55)'\n          : 'rgba(180,170,240,0.45)',\n      });\n    }\n    function tick() {\n      ctx.clearRect(0, 0, window.innerWidth, window.innerHeight);\n      for (const p of parts) {\n        p.x += p.vx; p.y += p.vy;\n        if (p.x < 0) p.x = window.innerWidth;\n        if (p.x > window.innerWidth) p.x = 0;\n        if (p.y < 0) p.y = window.innerHeight;\n        if (p.y > window.innerHeight) p.y = 0;\n        ctx.beginPath();\n        ctx.arc(p.x, p.y, p.r, 0, Math.PI * 2);\n        ctx.fillStyle = p.c;\n        ctx.fill();\n      }\n      requestAnimationFrame(tick);\n    }\n    tick();\n  }\n  if (document.readyState === 'complete') setupParticles();\n  else window.addEventListener('load', setupParticles);\n  \/* ---------- Spotlight + tilt cursor tracking ---------- *\/\n  if (!prefersReducedMotion && window.matchMedia('(any-hover: hover)').matches) {\n    \/\/ Spotlight track: any element with [data-spot]\n    document.querySelectorAll('[data-spot]').forEach((el) => {\n      el.addEventListener('mousemove', (e) => {\n        const r = el.getBoundingClientRect();\n        const x = ((e.clientX - r.left) \/ r.width) * 100;\n        const y = ((e.clientY - r.top) \/ r.height) * 100;\n        el.style.setProperty('--spot-x', x + '%');\n        el.style.setProperty('--spot-y', y + '%');\n      });\n    });\n    \/\/ Tilt: 3D rotateX\/rotateY on hover, throttled via rAF\n    document.querySelectorAll('[data-tilt]').forEach((el) => {\n      let raf = null;\n      const maxTilt = 6; \/\/ degrees\n      el.addEventListener('mousemove', (e) => {\n        if (raf) cancelAnimationFrame(raf);\n        raf = requestAnimationFrame(() => {\n          const r = el.getBoundingClientRect();\n          const px = (e.clientX - r.left) \/ r.width;\n          const py = (e.clientY - r.top) \/ r.height;\n          const rotY = (px - 0.5) * 2 * maxTilt;\n          const rotX = (0.5 - py) * 2 * maxTilt;\n          el.style.transform = `perspective(900px) rotateX(${rotX}deg) rotateY(${rotY}deg) translateY(-2px)`;\n          el.style.setProperty('--spot-x', (px * 100) + '%');\n          el.style.setProperty('--spot-y', (py * 100) + '%');\n        });\n      });\n      el.addEventListener('mouseleave', () => {\n        el.style.transform = '';\n      });\n    });\n  }\n  \/* ---------- Hero parallax (rings react to mouse) ---------- *\/\n  if (!prefersReducedMotion && window.matchMedia('(any-hover: hover)').matches) {\n    const hero3d = document.querySelector('.hero-3d');\n    if (hero3d) {\n      window.addEventListener('mousemove', (e) => {\n        const x = (e.clientX \/ window.innerWidth - 0.5) * 14;\n        const y = (e.clientY \/ window.innerHeight - 0.5) * 14;\n        hero3d.style.transform = `translateY(-50%) translate(${x}px, ${y}px)`;\n      }, { passive: true });\n    }\n  }\n  \/* ---------- Magnetic CTA (hero primary button) ---------- *\/\n  if (!prefersReducedMotion && window.matchMedia('(any-hover: hover)').matches) {\n    document.querySelectorAll('[data-magnetic]').forEach((btn) => {\n      const strength = 0.25;\n      btn.addEventListener('mousemove', (e) => {\n        const r = btn.getBoundingClientRect();\n        const x = (e.clientX - r.left - r.width \/ 2) * strength;\n        const y = (e.clientY - r.top - r.height \/ 2) * strength;\n        btn.style.transform = `translate(${x}px, ${y}px)`;\n      });\n      btn.addEventListener('mouseleave', () => {\n        btn.style.transform = '';\n      });\n    });\n  }\n  \/* ---------- Custom select (brand-styled dropdown) ---------- *\/\n  document.querySelectorAll('.cs-select').forEach((cs) => {\n    const trigger = cs.querySelector('.cs-trigger');\n    const valueEl = cs.querySelector('.cs-value');\n    const hidden = cs.querySelector('input[type=\"hidden\"]');\n    if (!trigger || !valueEl || !hidden) return;\n    const open  = () => { cs.classList.add('is-open'); trigger.setAttribute('aria-expanded', 'true'); };\n    const close = () => { cs.classList.remove('is-open'); trigger.setAttribute('aria-expanded', 'false'); };\n    trigger.addEventListener('click', (e) => {\n      e.stopPropagation();\n      if (cs.classList.contains('is-open')) close(); else open();\n    });\n    cs.querySelectorAll('.cs-option').forEach((opt) => {\n      opt.addEventListener('click', () => {\n        cs.querySelectorAll('.cs-option').forEach((o) => o.setAttribute('aria-selected', 'false'));\n        opt.setAttribute('aria-selected', 'true');\n        hidden.value = opt.dataset.value || '';\n        \/\/ Move the chosen option's inner spans into the trigger value to keep\n        \/\/ BG\/EN language switching working on the displayed label.\n        valueEl.classList.remove('cs-placeholder');\n        valueEl.innerHTML = opt.innerHTML;\n        close();\n      });\n    });\n    document.addEventListener('click', (e) => {\n      if (!cs.contains(e.target)) close();\n    });\n    document.addEventListener('keydown', (e) => {\n      if (e.key === 'Escape') close();\n    });\n  });\n  \/* ---------- Contact form (no backend; mailto fallback + UX states) ---------- *\/\n  const form = document.querySelector('#contact-form');\n  if (form) {\n    const feedback = form.querySelector('.form-feedback');\n    const submitBtn = form.querySelector('button[type=\"submit\"]');\n    form.addEventListener('submit', (e) => {\n      e.preventDefault();\n      const data = new FormData(form);\n      const name = (data.get('name') || '').toString().trim();\n      const email = (data.get('email') || '').toString().trim();\n      const message = (data.get('message') || '').toString().trim();\n      if (!name || !email || !message) {\n        showFeedback('err', '\u041c\u043e\u043b\u044f \u043f\u043e\u043f\u044a\u043b\u043d\u0435\u0442\u0435 \u0432\u0441\u0438\u0447\u043a\u0438 \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u0438 \u043f\u043e\u043b\u0435\u0442\u0430. \/ Please fill in all required fields.');\n        return;\n      }\n      submitBtn.disabled = true;\n      submitBtn.dataset.state = 'loading';\n      const original = submitBtn.textContent;\n      submitBtn.innerHTML = '<span class=\"lang-en\">Sending\u2026<\/span>';\n      \/\/ Mailto fallback \u2014 opens user's mail client with prefilled message.\n      const subject = encodeURIComponent('\u0417\u0430\u043f\u0438\u0442\u0432\u0430\u043d\u0435 \u043e\u0442 \u0443\u0435\u0431\u0441\u0430\u0439\u0442 \/ Website inquiry \u2014 ' + name);\n      const body = encodeURIComponent(\n        '\u0418\u043c\u0435 \/ Name: ' + name + '\\n' +\n        '\u0418\u043c\u0435\u0439\u043b \/ Email: ' + email + '\\n' +\n        '\u0422\u0435\u043b\u0435\u0444\u043e\u043d \/ Phone: ' + (data.get('phone') || '') + '\\n' +\n        '\u0423\u0441\u043b\u0443\u0433\u0430 \/ Service: ' + (data.get('service') || '') + '\\n\\n' +\n        (data.get('message') || '')\n      );\n      window.location.href = 'mailto:team@dawnforgestudios.com?subject=' + subject + '&body=' + body;\n      setTimeout(() => {\n        submitBtn.disabled = false;\n        submitBtn.dataset.state = '';\n        submitBtn.innerHTML = original;\n        showFeedback('ok', '\u0413\u043e\u0442\u043e\u0432\u043e \u2014 \u043e\u0442\u0432\u043e\u0440\u0438\u0445\u043c\u0435 \u0432\u0430\u0448\u0438\u044f \u043c\u0435\u0439\u043b \u043a\u043b\u0438\u0435\u043d\u0442 \u0441 \u043f\u043e\u043f\u044a\u043b\u043d\u0435\u043d\u043e \u0441\u044a\u043e\u0431\u0449\u0435\u043d\u0438\u0435. \/ Done \u2014 your mail client opened with the message prefilled.');\n      }, 800);\n    });\n    function showFeedback(kind, msg) {\n      feedback.className = 'form-feedback show ' + kind;\n      feedback.textContent = msg;\n    }\n  }\n})();\n<\/script>\n<script>\n\/* Language toggle \u2014 works on both BG and EN versions of any page.\n   Reads window.location.pathname and builds the cross-language URL.\n   \/services\/ \u2192 BG button active, EN button \u2192 \/en\/services\/\n   \/en\/services\/ \u2192 EN button active, BG button \u2192 \/services\/ *\/\n(function() {\n  var tog = document.querySelector('.dfs-root .lang-toggle');\n  if (!tog) return;\n  var path = window.location.pathname;\n  var isEN = \/^\\\/en(\\\/|$)\/.test(path);\n  var bgPath = isEN ? (path.replace(\/^\\\/en\/, '') || '\/') : path;\n  var enPath = isEN ? path : (path === '\/' ? '\/en\/' : '\/en' + path);\n  var bgBtn = tog.querySelector('[data-lang=\"bg\"]');\n  var enBtn = tog.querySelector('[data-lang=\"en\"]');\n  if (bgBtn) {\n    bgBtn.setAttribute('href', bgPath);\n    bgBtn.setAttribute('aria-pressed', isEN ? 'false' : 'true');\n  }\n  if (enBtn) {\n    enBtn.setAttribute('href', enPath);\n    enBtn.setAttribute('aria-pressed', isEN ? 'true' : 'false');\n  }\n  \/* Also reflect language on the wrapper for any data-lang dependent CSS still\n     present (harmless if no opposite-lang spans exist). *\/\n  document.documentElement.setAttribute('data-lang', isEN ? 'en' : 'bg');\n})();\n<\/script>\n<\/body>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Skip to content DawnForge Studios Home Services Our Work About Contacts BG EN Free Consultation \u2192 Home Services Our Work About Contacts Free Consultation \u2192 About Us The team that turns ideas into reality We believe that great digital solutions are built with understanding, consistency, and attention to detail. DawnForge Studios is an agency built [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-14059","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/dawnforgestudios.com\/en\/wp-json\/wp\/v2\/pages\/14059","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dawnforgestudios.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dawnforgestudios.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dawnforgestudios.com\/en\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/dawnforgestudios.com\/en\/wp-json\/wp\/v2\/comments?post=14059"}],"version-history":[{"count":26,"href":"https:\/\/dawnforgestudios.com\/en\/wp-json\/wp\/v2\/pages\/14059\/revisions"}],"predecessor-version":[{"id":14359,"href":"https:\/\/dawnforgestudios.com\/en\/wp-json\/wp\/v2\/pages\/14059\/revisions\/14359"}],"wp:attachment":[{"href":"https:\/\/dawnforgestudios.com\/en\/wp-json\/wp\/v2\/media?parent=14059"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}