:root, [data-theme="dark"] {
  --bg: oklch(0.155 0.014 305); --bg2: oklch(0.195 0.018 305); --surface: oklch(0.215 0.019 305);
  --line: oklch(0.315 0.022 305); --fg: oklch(0.965 0.008 305); --muted: oklch(0.735 0.022 305);
  --accent: oklch(0.72 0.155 350); --accent-soft: oklch(0.72 0.155 350 / 0.14); --accent-fg: oklch(0.17 0.03 350);
  --violet: oklch(0.72 0.155 300); --shadow: 0 1px 2px rgba(0,0,0,.5), 0 12px 40px rgba(0,0,0,.35);
  --overlay: oklch(0.14 0.02 305 / 0.74);
  --hero-veil: linear-gradient(180deg, oklch(0.155 0.014 305 / 0.90) 0%, oklch(0.155 0.014 305 / 0.80) 55%, oklch(0.155 0.014 305 / 0.97) 100%);
  --hero-core: oklch(0.155 0.014 305 / 0.72);
}
[data-theme="light"] {
  --bg: oklch(0.987 0.004 320); --bg2: oklch(0.962 0.006 320); --surface: oklch(1 0 0);
  --line: oklch(0.905 0.008 320); --fg: oklch(0.205 0.02 320); --muted: oklch(0.505 0.018 320);
  --accent: oklch(0.55 0.18 350); --accent-soft: oklch(0.55 0.18 350 / 0.10); --accent-fg: oklch(0.99 0 0);
  --violet: oklch(0.55 0.18 300); --shadow: 0 1px 2px rgba(20,10,25,.06), 0 12px 40px rgba(20,10,25,.08);
  --overlay: oklch(0.16 0.02 320 / 0.62);
  --hero-veil: linear-gradient(180deg, oklch(0.987 0.004 320 / 0.90) 0%, oklch(0.987 0.004 320 / 0.82) 55%, oklch(0.987 0.004 320 / 0.97) 100%);
  --hero-core: oklch(0.987 0.004 320 / 0.80);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background: var(--bg); color: var(--fg); font-family:'Lato',Helvetica,Arial,sans-serif; -webkit-font-smoothing:antialiased; transition: background .45s ease, color .45s ease; }
a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--fg); }
h1,h2,h3,h4,p,ul { margin:0; }
::selection { background: var(--accent); color: var(--accent-fg); }
@keyframes floatUp { from { opacity:0; transform: translateY(26px); } to { opacity:1; transform:none; } }
.reveal { opacity:0; transform: translateY(26px); transition: opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1); }
.reveal.in { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity:1 !important; transform:none !important; } html { scroll-behavior:auto; } }
[data-nav="burger"] { display:none; }
@media (max-width: 780px) {
  [data-exp="1"] { justify-content:center; text-align:center; }
  [data-exp-num="1"] { flex:1 1 100%; }
  [data-exp-text="1"] { flex:1 1 100%; }
}
@keyframes gradShift { 0% { background-position:0% 50%; } 50% { background-position:100% 50%; } 100% { background-position:0% 50%; } }
[data-grad] { position:relative; isolation:isolate; }
[data-grad]::before {
  content:''; position:absolute; inset:0; z-index:-1; pointer-events:none;
  border-radius:inherit;
  background-image:linear-gradient(to right, #F41F26 0%, #EC1A6B 51%, #F41F26 100%);
  background-size:200% auto;
  background-position:left center;
  opacity:0;
  transition:opacity .5s ease, background-position .5s ease;
}
[data-grad]:hover::before { opacity:1; background-position:right center; }
[data-grad] { transition:border-color .5s ease, box-shadow .5s ease, transform .4s cubic-bezier(.22,1,.36,1); }
[data-grad]:hover { border-color:transparent !important; box-shadow:0 18px 48px rgba(236,26,107,.30); }
[data-grad="card"] h3, [data-grad="card"] p, [data-grad="card"] li,
[data-grad="card"] i, [data-grad="card"] span, [data-grad="ring"] i { transition:color .45s ease-in-out, border-color .45s ease-in-out; }
[data-grad="card"]:hover h3, [data-grad="card"]:hover p, [data-grad="card"]:hover li,
[data-grad="card"]:hover i, [data-grad="ring"]:hover i { color:#fff !important; }
[data-grad="card"]:hover span { color:rgba(255,255,255,.72) !important; }
/* Our Work circles invert on card hover: white disc, magenta icon */
[data-grad="ring"] { transition:background-color .45s ease-in-out, border-color .45s ease-in-out; }
[data-grad="card"]:hover [data-grad="ring"] { background:#fff !important; border-color:#fff !important; }
[data-grad="card"]:hover [data-grad="ring"] i { color:#B93780 !important; }
[data-grad="card"]:hover [data-grad="ring"]::before { opacity:0; }
@media (prefers-reduced-motion: reduce) { [data-grad]::before { transition:none; } }
[data-grad="chip"] { display:inline-block; transition:border-color .5s ease, color .5s ease, transform .35s cubic-bezier(.22,1,.36,1); }
[data-grad="chip"]:hover { color:#fff !important; transform:translateY(-2px); box-shadow:0 8px 22px rgba(236,26,107,.28); }
[data-navlink] { position:relative; transition:color .25s ease; }
[data-navlink]:hover, [data-navlink].nav-active { color:#B93780 !important; background:transparent !important; }
[data-navlink].nav-active::after { content:''; position:absolute; left:14px; right:14px; bottom:1px; height:2px; border-radius:2px; background:#B93780; }
@media (max-width: 780px) {
  [data-nav="desktop"] { display:none !important; }
  [data-cta="desktop"] { display:none !important; }
  [data-nav="burger"] { display:grid !important; }
}
