﻿*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --bg:        #1a1510;
      --bg2:       #201b14;
      --card-bg:   #252018;
      --amber:     #e8a94d;
      --amber-dk:  #c4883a;
      --amber-lt:  #f0be72;
      --white:     #f5f0e8;
      --muted:     #8a8070;
      --border:    rgba(232,169,77,.12);
      --radius:    18px;
    }

    html { scroll-behavior: smooth; }
    body {
      background-color: var(--bg);
      background-image:
        radial-gradient(1000px 700px at 18% 28%, rgba(232,169,77,0.16), rgba(232,169,77,0) 60%),
        radial-gradient(950px 850px at 72% 55%, rgba(232,169,77,0.12), rgba(232,169,77,0) 62%),
        radial-gradient(700px 700px at 85% 18%, rgba(255,255,255,0.035), rgba(255,255,255,0) 58%),
        radial-gradient(1400px 1000px at 50% 45%, rgba(0,0,0,0) 35%, rgba(0,0,0,0.62) 78%, rgba(0,0,0,0.88) 100%),
        linear-gradient(180deg, var(--bg) 0%, #14100b 58%, #0f0c07 100%);
      background-repeat: no-repeat;
      background-attachment: fixed;
      color: var(--white);
      font-family: 'Barlow', sans-serif;
      font-size: 16px;
      line-height: 1.6;
      overflow-x: hidden;
    }

    /* Navbar styles live in styles.css (universal header) */

    /* â”€â”€ PAGE WRAPPER â”€â”€ */
    .page { padding-top: 68px; }

    /* â”€â”€ PROJECTS HERO â”€â”€ */
    .proj-hero {
      padding: 72px var(--content-pad-x) 48px;
      max-width: var(--content-max); margin: 0 auto;
    }
    .tag-pill {
      display: inline-flex; align-items: center; gap: 8px;
      border: 1.5px solid rgba(232,169,77,.35);
      background: rgba(232,169,77,.07);
      color: var(--amber);
      font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
      padding: 7px 18px; border-radius: 100px; margin-bottom: 28px;
    }
    .tag-pill i { font-size: .75rem; }
    .proj-hero h1 {
      font-family: 'Barlow', sans-serif;
      font-size: clamp(1.6rem, 2.75vw, 2.6rem);
      font-weight: 800; line-height: 1.05; letter-spacing: -.02em;
      margin-bottom: 20px;
    }
    .proj-hero h1 em { font-style: normal; color: var(--amber); }
    .proj-hero p {
      color: var(--muted); font-size: 1.05rem; max-width: 580px; line-height: 1.7;
    }

    /* ── PROJECT FILTERS ── */
    .proj-filters-bar {
      padding: 0 var(--content-pad-x) 34px;
      max-width: var(--content-max);
      margin: 0 auto;
    }
    .proj-filters__row {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-wrap: wrap;
      width: fit-content;
      background: rgba(26,21,16,.72);
      border: 1px solid rgba(232,169,77,.18);
      box-shadow: 0 12px 42px rgba(0,0,0,.28);
      backdrop-filter: blur(10px);
      padding: 10px 12px;
      border-radius: 100px;
    }
    .proj-filters__label {
      color: var(--muted);
      font-size: .7rem;
      font-weight: 800;
      letter-spacing: .14em;
      text-transform: uppercase;
      margin-left: 4px;
    }
    .proj-filters__select {
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      background-color: rgba(255,255,255,.06);
      border: 1px solid rgba(232,169,77,.22);
      color: var(--white);
      font-family: 'Barlow', sans-serif;
      font-weight: 700;
      font-size: .86rem;
      line-height: 1.1;
      padding: 9px 38px 9px 14px;
      border-radius: 100px;
      outline: none;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M6 8l4 4 4-4' stroke='%23e8a94d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 12px center;
      background-size: 16px 16px;
      transition: background .2s, border-color .2s, box-shadow .2s;
    }
    .proj-filters__select:hover {
      background-color: rgba(232,169,77,.08);
      border-color: rgba(232,169,77,.35);
    }
    .proj-filters__select:focus {
      border-color: rgba(232,169,77,.55);
      box-shadow: 0 0 0 3px rgba(232,169,77,.16);
    }
    .proj-filters__select option {
      background: var(--bg2);
      color: var(--white);
    }
    .proj-filters__button {
      border: 0;
      cursor: pointer;
      background: var(--amber);
      color: #1a1510;
      font-family: 'Barlow', sans-serif;
      font-weight: 800;
      font-size: .75rem;
      letter-spacing: .14em;
      text-transform: uppercase;
      padding: 10px 16px;
      border-radius: 100px;
      transition: background .2s, transform .2s;
    }
    .proj-filters__button:hover {
      background: var(--amber-lt);
      transform: translateY(-1px);
    }

    @media (max-width: 520px) {
      .proj-filters__row {
        width: 100%;
        border-radius: 18px;
        justify-content: space-between;
      }
      .proj-filters__select { flex: 1; min-width: 170px; }
    }

    /* â”€â”€ PROJECT CARDS GRID â”€â”€ */
    .proj-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      padding: 0 var(--content-pad-x) 80px;
      max-width: var(--content-max); margin: 0 auto;
    }

    .proj-card {
      background: var(--card-bg);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      overflow: hidden;
      display: flex; flex-direction: column;
      transition: border-color .3s, transform .3s;
      cursor: pointer;
    }
    .proj-card:hover {
      border-color: rgba(232,169,77,.35);
      transform: translateY(-4px);
    }
    .proj-card--clickable {
      cursor: pointer;
    }

    /* thumbnail */
    .proj-thumb {
      position: relative;
      aspect-ratio: 16/10;
      overflow: hidden;
    }
    .proj-thumb-img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform .4s ease;
    }
    .proj-card:hover .proj-thumb-img { transform: scale(1.06); }
    .proj-thumb-bg {
      width: 100%; height: 100%;
      display: flex; align-items: center; justify-content: center;
      font-size: 5rem; opacity: .25;
      transition: transform .4s ease;
    }
    .proj-card:hover .proj-thumb-bg { transform: scale(1.06); }

    /* each card gets a unique gradient */
    .thumb-retail  { background: linear-gradient(135deg, #2a2218 0%, #3d2e18 50%, #4a3520 100%); }
    .thumb-neural  { background: linear-gradient(135deg, #0d1a1a 0%, #0f2420 50%, #132e2a 100%); }
    .thumb-wallet  { background: linear-gradient(135deg, #0d1a24 0%, #0f2030 50%, #132840 100%); }
    .thumb-nexus   { background: linear-gradient(135deg, #1a1224 0%, #22163a 50%, #2a1a44 100%); }
    .thumb-motion  { background: linear-gradient(135deg, #1a1010 0%, #2a1218 50%, #381820 100%); }
    .thumb-edge    { background: linear-gradient(135deg, #101a14 0%, #12241a 50%, #163020 100%); }

    .proj-badge {
      position: absolute; bottom: 12px; left: 12px;
      background: rgba(26,21,16,.82);
      backdrop-filter: blur(8px);
      border: 1px solid rgba(232,169,77,.2);
      color: var(--amber);
      font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
      padding: 5px 12px; border-radius: 100px;
    }

    /* card body */
    .proj-body { padding: 24px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
    .proj-body h3 {
      font-family: 'Barlow', sans-serif; font-size: 1.22rem; font-weight: 800;
    }
    .proj-body p { color: var(--muted); font-size: .88rem; line-height: 1.65; }

    /* tech tags */
    .tech-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
    .tech-tag {
      background: rgba(232,169,77,.1);
      border: 1px solid rgba(232,169,77,.2);
      color: var(--amber);
      font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
      padding: 4px 10px; border-radius: 6px;
    }

    /* action buttons */
    .proj-actions { display: flex; flex-direction: column; gap: 8px; margin-top: auto; padding-top: 8px; }
    .proj-btns { display: flex; gap: 8px; }
    .btn-demo {
      flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
      background: var(--amber); color: #1a1510;
      font-family: 'Barlow', sans-serif; font-weight: 700; font-size: .82rem;
      padding: 11px 16px; border-radius: 100px; text-decoration: none;
      transition: background .2s;
    }
    .btn-demo:hover { background: var(--amber-lt); }
    .btn-gh {
      flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
      background: rgba(255,255,255,.07); color: var(--white);
      border: 1px solid rgba(255,255,255,.12);
      font-family: 'Barlow', sans-serif; font-weight: 700; font-size: .82rem;
      padding: 11px 16px; border-radius: 100px; text-decoration: none;
      transition: background .2s, border-color .2s;
    }
    .btn-gh:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.25); }
    .btn-case {
      width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
      background: rgba(255,255,255,.05); color: var(--muted);
      border: 1px solid rgba(255,255,255,.08);
      font-size: .82rem; font-weight: 500;
      padding: 11px 16px; border-radius: 100px; text-decoration: none;
      transition: background .2s, color .2s;
    }
    .btn-case:hover { background: rgba(232,169,77,.08); color: var(--white); }

    /* â”€â”€ CTA BANNER â”€â”€ */
    .cta-banner {
      width: 100%;
      margin: 0 0 100px;
      background: var(--card-bg);
      border: 1px solid var(--border);
      border-radius: 24px;
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 40px; align-items: center;
      padding: 60px;
      position: relative; overflow: hidden;
    }
    .cta-banner::before {
      content: '';
      position: absolute; inset: 0;
      background: radial-gradient(circle at 70% 50%, rgba(232,169,77,.06) 0%, transparent 65%);
      pointer-events: none;
    }
    .cta-eyebrow {
      display: flex; align-items: center; gap: 10px;
      color: var(--amber); font-size: .72rem; font-weight: 700; letter-spacing: .14em;
      text-transform: uppercase; margin-bottom: 20px;
    }
    .cta-eyebrow::before {
      content: ''; display: block;
      width: 32px; height: 1.5px; background: var(--amber);
    }
    .cta-banner h2 {
      font-family: 'Barlow', sans-serif;
      font-size: clamp(1.4rem, 1.6vw, 1.7rem);
      font-weight: 800; line-height: 1.15;
      margin-bottom: 16px;
    }
    .cta-banner h2 em { font-style: normal; color: var(--amber); }
    .cta-banner p { color: var(--muted); font-size: .95rem; line-height: 1.7; margin-bottom: 32px; }
    .cta-buttons { display: flex; gap: 12px; flex-wrap: wrap; }
    .btn-hire {
      display: inline-flex; align-items: center; gap: 8px;
      background: var(--amber); color: #1a1510;
      font-family: 'Barlow', sans-serif; font-weight: 700; font-size: .9rem;
      padding: 14px 28px; border-radius: 100px; text-decoration: none;
      transition: background .2s, transform .2s;
    }
    .btn-hire:hover { background: var(--amber-lt); transform: translateY(-2px); }
    .btn-resume {
      display: inline-flex; align-items: center; gap: 8px;
      background: rgba(255,255,255,.07); color: var(--white);
      border: 1px solid rgba(255,255,255,.15);
      font-family: 'Barlow', sans-serif; font-weight: 700; font-size: .9rem;
      padding: 14px 28px; border-radius: 100px; text-decoration: none;
      transition: background .2s, border-color .2s;
    }
    .btn-resume:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.3); }

    /* CTA image side */
    .cta-visual {
      position: relative;
    }
    .cta-img-frame {
      border-radius: 18px;
      overflow: hidden;
      border: 1.5px solid rgba(232,169,77,.15);
      box-shadow: 0 0 60px rgba(232,169,77,.08);
      aspect-ratio: 4/3;
      background: linear-gradient(145deg, #1e2428 0%, #1a2030 40%, #161e28 100%);
      display: flex; align-items: center; justify-content: center;
      position: relative;
    }
    /* geometric abstract art to suggest the "corridor" image */
    .geo-art {
      width: 80%; height: 80%;
      position: relative;
      display: flex; align-items: center; justify-content: center;
    }
    .geo-art .pillar {
      position: absolute;
      background: linear-gradient(to bottom, #2a3040, #1a2030);
      border: 1px solid rgba(100,140,180,.15);
    }
    .geo-art .pillar-l {
      left: 10%; width: 24%; top: 0; bottom: 0;
      box-shadow: inset -2px 0 8px rgba(100,160,220,.08);
    }
    .geo-art .pillar-r {
      right: 10%; width: 24%; top: 0; bottom: 0;
      box-shadow: inset 2px 0 8px rgba(100,160,220,.08);
    }
    .geo-art .pillar-c {
      left: 38%; width: 24%; top: 0; bottom: 0;
      background: linear-gradient(to bottom, #1e2a34 0%, #151e26 100%);
    }
    .geo-art .sky {
      position: absolute; top: 0; left: 0; right: 0;
      height: 35%;
      background: linear-gradient(to bottom, #8ab0c8 0%, #4a7a98 60%, #1e2a34 100%);
      opacity: .55;
    }
    .geo-art .light-l {
      position: absolute; left: 34%; top: 0; width: 2px; height: 45%;
      background: linear-gradient(to bottom, rgba(200,220,240,.7), transparent);
    }
    .geo-art .light-r {
      position: absolute; right: 34%; top: 0; width: 2px; height: 45%;
      background: linear-gradient(to bottom, rgba(200,220,240,.7), transparent);
    }

    /* ── EMPTY STATE ── */
    .proj-empty {
      grid-column: 1 / -1;
      text-align: center;
      padding: 48px 24px;
      color: var(--muted);
      font-size: 1.05rem;
    }

    /* ── PROJECT DETAIL MODAL ── */
    .proj-modal {
      position: fixed;
      inset: 0;
      z-index: 9999;
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.3s ease;
    }
    .proj-modal--open {
      opacity: 1;
      pointer-events: auto;
    }
    .proj-modal__overlay {
      position: absolute;
      inset: 0;
      background: rgba(0, 0, 0, 0.7);
      backdrop-filter: blur(8px);
    }
    .proj-modal__card {
      position: relative;
      width: 92%;
      max-width: 760px;
      max-height: 88vh;
      overflow-y: auto;
      padding: 36px 32px 32px;
      border-radius: var(--radius);
      border: 1px solid var(--border);
      background: var(--card-bg);
      box-shadow: 0 32px 80px rgba(0, 0, 0, 0.55);
      transform: scale(0.95) translateY(16px);
      transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    }
    .proj-modal--open .proj-modal__card {
      transform: scale(1) translateY(0);
    }
    .proj-modal__close {
      position: absolute;
      top: 16px;
      right: 16px;
      width: 36px;
      height: 36px;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 10px;
      border: 1px solid rgba(255,255,255,.1);
      background: rgba(255,255,255,.06);
      color: var(--white);
      cursor: pointer;
      transition: background .2s, border-color .2s;
    }
    .proj-modal__close:hover {
      background: rgba(255,255,255,.12);
      border-color: rgba(255,255,255,.2);
    }
    .proj-modal__close svg {
      width: 18px;
      height: 18px;
    }
    .proj-modal__image-wrap {
      margin-bottom: 20px;
      border-radius: 12px;
      overflow: hidden;
      border: 1px solid var(--border);
    }
    .proj-modal__image {
      display: block;
      width: 100%;
      max-height: 280px;
      object-fit: cover;
    }
    .proj-filters__loading {
      display: none;
      align-items: center;
      gap: 8px;
      color: var(--muted);
      font-size: .82rem;
    }
    .proj-filters__spinner {
      width: 16px;
      height: 16px;
      border-radius: 50%;
      border: 2px solid rgba(232,169,77,.25);
      border-top-color: var(--amber);
      animation: proj-spin .7s linear infinite;
    }
    .proj-grid--loading {
      opacity: .55;
      pointer-events: none;
      transition: opacity .2s ease;
    }
    @keyframes proj-spin {
      to { transform: rotate(360deg); }
    }
    .proj-modal__badge {
      display: inline-block;
      border: 1.5px solid rgba(232,169,77,.35);
      background: rgba(232,169,77,.07);
      color: var(--amber);
      font-size: .65rem;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
      padding: 5px 14px;
      border-radius: 100px;
      margin-bottom: 14px;
    }
    .proj-modal__title {
      font-family: 'Barlow', sans-serif;
      font-size: clamp(1.6rem, 3vw, 2.2rem);
      font-weight: 800;
      line-height: 1.1;
      margin: 0 0 14px;
      letter-spacing: -.02em;
    }
    .proj-modal__tags {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-bottom: 22px;
    }
    .proj-modal__body {
      color: var(--muted);
      font-size: .95rem;
      line-height: 1.75;
    }
    .proj-modal__body h1,
    .proj-modal__body h2,
    .proj-modal__body h3 {
      color: var(--white);
      font-family: 'Barlow', sans-serif;
      font-weight: 800;
      margin: 24px 0 12px;
    }
    .proj-modal__body p { margin: 0 0 14px; }
    .proj-modal__body ul {
      margin: 0 0 14px;
      padding-left: 22px;
    }
    .proj-modal__body li { margin-bottom: 6px; }
    .proj-modal__body a { color: var(--amber); }
    .proj-modal__body a:hover { text-decoration: underline; }
    .proj-modal__body code {
      background: rgba(232,169,77,.1);
      color: var(--amber-lt);
      padding: 2px 6px;
      border-radius: 4px;
      font-size: .88em;
    }
    .proj-modal__body pre {
      background: rgba(0,0,0,.25);
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 10px;
      padding: 14px;
      overflow-x: auto;
      font-size: .88em;
    }
    .proj-modal__links {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 28px;
      padding-top: 22px;
      border-top: 1px solid rgba(255,255,255,.08);
    }

    /* ── RESPONSIVE ── */
    @media (max-width: 1024px) {
      .proj-grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 700px) {
      .proj-grid { grid-template-columns: 1fr; }
      .cta-banner { margin: 0 0 60px; padding: 36px 24px; grid-template-columns: 1fr; }
      .proj-modal__card { padding: 28px 22px 24px; }
    }
