/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/e8c0b39992f0.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/95a493061fe0.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/40af11327fe5.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/bab757f8a0a1.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/ce093b341d9c.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/e310b55a7fd9.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/e8c0b39992f0.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/95a493061fe0.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/40af11327fe5.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/bab757f8a0a1.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/ce093b341d9c.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/e310b55a7fd9.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/e8c0b39992f0.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/95a493061fe0.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/40af11327fe5.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/bab757f8a0a1.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/ce093b341d9c.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/e310b55a7fd9.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/e8c0b39992f0.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/95a493061fe0.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/40af11327fe5.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/bab757f8a0a1.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/ce093b341d9c.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/e310b55a7fd9.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/e8c0b39992f0.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/95a493061fe0.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/40af11327fe5.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/bab757f8a0a1.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/ce093b341d9c.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/e310b55a7fd9.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/8d9b4a4136bf.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/3902474d3ece.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/8d9b4a4136bf.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/3902474d3ece.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/8d9b4a4136bf.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/3902474d3ece.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/8d9b4a4136bf.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/3902474d3ece.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/8d9b4a4136bf.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/3902474d3ece.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ══════════════════════════════════════════════════════════════
   TAYLERED — Shared design system  (dark mode · gold + silver)
   ══════════════════════════════════════════════════════════════ */

:root {
  /* — warm near-black surfaces — */
  --bg:        #0c0b0a;
  --bg-2:      #100e0b;
  --card:      #16130e;
  --card-2:    #1e1913;
  --card-3:    #251f16;

  /* — hairlines — */
  --line:      rgba(255,255,255,0.075);
  --line-2:    rgba(255,255,255,0.14);
  --line-gold: rgba(217,178,99,0.28);

  /* — brand silver (from logotype) — */
  --silver:       #939597;
  --silver-light: #c8c9ca;

  /* — text — */
  --ink:    #f4f0e9;
  --text:   #bbb6ad;
  --muted:  #8b867d;
  --faint:  #625d54;

  /* — brand gold (metallic gradient sampled from mark) — */
  --gold:       #d9b263;
  --gold-deep:  #c49b55;
  --gold-dark:  #a97f3f;
  --gold-light: #f5d9a0;
  --gold-glow:  rgba(217,178,99,0.35);

  --gold-grad:      linear-gradient(118deg, #f7dfa8 0%, #e4c179 34%, #d9b263 60%, #c49b55 100%);
  --gold-grad-rev:  linear-gradient(118deg, #c49b55 0%, #d9b263 40%, #f5d9a0 100%);
  --gold-grad-soft: linear-gradient(135deg, rgba(245,217,160,0.14), rgba(196,155,85,0.05));

  /* — type — */
  --font-display: 'Sora', system-ui, sans-serif;
  --font-body:    'Manrope', system-ui, sans-serif;

  --ease: cubic-bezier(0.22,1,0.36,1);
  --maxw: 1280px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  font-family: var(--font-body);
  background: var(--bg);
  color: var(--text);
  font-weight: 300;
  line-height: 1.65;
  letter-spacing: 0.005em;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

::selection { background: rgba(217,178,99,0.28); color: var(--ink); }

img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }

/* ── grain + vignette overlay hooks ─────────────────────────── */
.grain::after {
  content: ''; position: fixed; inset: 0; z-index: 2; pointer-events: none;
  opacity: 0.04; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ══ TYPOGRAPHY ═══════════════════════════════════════════════ */
h1,h2,h3,h4 { font-family: var(--font-display); color: var(--ink); font-weight: 700; letter-spacing: -0.02em; line-height: 1.06; }

.eyebrow {
  font-family: var(--font-display);
  font-size: 0.72rem; font-weight: 600; letter-spacing: 0.32em;
  text-transform: uppercase; color: var(--gold);
  display: inline-flex; align-items: center; gap: 14px;
}
.eyebrow::before { content: ''; width: 34px; height: 1px; background: var(--gold-grad); }
.eyebrow.center::after { content: ''; width: 34px; height: 1px; background: var(--gold-grad); }
.eyebrow.center { justify-content: center; }

.gold-text {
  background: var(--gold-grad); -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.silver-text { color: var(--silver); }

.lead { font-size: 1.2rem; font-weight: 300; color: var(--text); line-height: 1.7; }

/* ══ LAYOUT ═══════════════════════════════════════════════════ */
.container { max-width: var(--maxw); margin: 0 auto; padding: 0 48px; }
.section { padding: 130px 0; position: relative; }
.section-sm { padding: 88px 0; }

.divider { height: 1px; background: linear-gradient(90deg, transparent, var(--line-2), transparent); border: 0; }

/* ══ BUTTONS ══════════════════════════════════════════════════ */
.btn {
  display: inline-flex; align-items: center; gap: 12px; cursor: pointer;
  font-family: var(--font-display); font-weight: 600; font-size: 0.86rem;
  letter-spacing: 0.02em; padding: 16px 30px; border-radius: 2px;
  border: 1px solid transparent; transition: all .4s var(--ease);
  position: relative; overflow: hidden; white-space: nowrap;
}
.btn svg { width: 16px; height: 16px; transition: transform .4s var(--ease); }
.btn-gold { background: var(--gold-grad); color: #1a1408; box-shadow: 0 6px 30px -8px var(--gold-glow); }
.btn-gold:hover { box-shadow: 0 10px 44px -8px var(--gold-glow); transform: translateY(-2px); }
.btn-gold:hover svg { transform: translateX(4px); }
.btn-ghost { background: transparent; color: var(--ink); border-color: var(--line-2); }
.btn-ghost:hover { border-color: var(--gold); color: var(--gold-light); }
.btn-ghost:hover svg { transform: translateX(4px); }

.link-gold {
  font-family: var(--font-display); font-weight: 600; font-size: 0.84rem;
  letter-spacing: 0.04em; color: var(--gold); display: inline-flex; align-items: center; gap: 9px;
  transition: gap .3s var(--ease); text-transform: uppercase;
}
.link-gold svg { width: 15px; height: 15px; }
.link-gold:hover { gap: 15px; color: var(--gold-light); }

/* ══ NAV ══════════════════════════════════════════════════════ */
.nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  display: flex; align-items: center; justify-content: space-between;
  padding: 22px 48px; transition: all .45s var(--ease);
  border-bottom: 1px solid transparent;
}
.nav.scrolled {
  padding: 15px 48px;
  background: rgba(12,11,10,0.82); backdrop-filter: blur(18px) saturate(1.4);
  border-bottom: 1px solid var(--line);
}
.nav-logo { height: 34px; transition: height .45s var(--ease); }
.nav.scrolled .nav-logo { height: 28px; }
.nav-links { display: flex; align-items: center; gap: 38px; }
.nav-link {
  font-family: var(--font-display); font-size: 0.82rem; font-weight: 500;
  letter-spacing: 0.03em; color: var(--text); position: relative; padding: 6px 0;
  transition: color .3s;
}
.nav-link::after {
  content: ''; position: absolute; left: 0; bottom: 0; height: 1px; width: 0;
  background: var(--gold-grad); transition: width .35s var(--ease);
}
.nav-link:hover, .nav-link.active { color: var(--ink); }
.nav-link:hover::after, .nav-link.active::after { width: 100%; }
.nav-cta { margin-left: 6px; }
.nav-burger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 8px; }
.nav-burger span { width: 24px; height: 2px; background: var(--ink); transition: .3s; }

/* mobile drawer */
.nav-drawer {
  position: fixed; inset: 0; z-index: 200; background: rgba(10,9,8,0.98);
  backdrop-filter: blur(10px); display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 30px;
  opacity: 0; pointer-events: none; transition: opacity .4s var(--ease);
}
.nav-drawer.open { opacity: 1; pointer-events: auto; }
.nav-drawer a { font-family: var(--font-display); font-size: 1.6rem; color: var(--ink); font-weight: 600; }
.nav-drawer a:hover { color: var(--gold); }
.nav-drawer .close { position: absolute; top: 28px; right: 34px; font-size: 2rem; color: var(--silver); cursor: pointer; }

/* ══ FOOTER (shared) ══════════════════════════════════════════ */
.footer { background: var(--bg-2); border-top: 1px solid var(--line); padding: 96px 0 40px; position: relative; overflow: hidden; }
.footer-glow { position: absolute; top: -40%; left: 50%; transform: translateX(-50%); width: 900px; height: 500px;
  background: radial-gradient(ellipse, rgba(217,178,99,0.10), transparent 70%); pointer-events: none; }
.footer-slogan { font-family: var(--font-display); font-weight: 800; font-size: clamp(2.4rem, 6vw, 4.6rem);
  letter-spacing: -0.03em; line-height: 1; text-align: center; margin-bottom: 72px; position: relative; }
.footer-slogan .rot { position: relative; display: inline-block; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 48px; align-items: start; position: relative; z-index: 1; }
.footer-mark { height: 46px; margin-bottom: 24px; }
.footer-contact { display: flex; flex-direction: column; gap: 14px; }
.footer-contact a, .footer-contact span { display: flex; align-items: center; gap: 12px; color: var(--text); font-size: 0.94rem; transition: color .3s; }
.footer-contact a:hover { color: var(--gold-light); }
.footer-contact .ico { width: 17px; height: 17px; stroke: var(--gold); flex-shrink: 0; }
.footer-col h4 { font-family: var(--font-display); font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--silver); margin-bottom: 20px; font-weight: 600; }
.footer-col a { display: block; color: var(--text); font-size: 0.94rem; padding: 7px 0; transition: color .3s; }
.footer-col a:hover { color: var(--gold-light); }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px;
  margin-top: 72px; padding-top: 30px; border-top: 1px solid var(--line); font-size: 0.8rem; color: var(--faint); }
.footer-bottom a { color: var(--muted); }
.footer-bottom a:hover { color: var(--gold); }

/* ══ REVEAL / MOTION ══════════════════════════════════════════ */
.reveal { opacity: 0; transform: translateY(38px); transition: opacity 1s var(--ease), transform 1s var(--ease); }
.reveal.in { opacity: 1; transform: none; }
.reveal-stagger > * { opacity: 0; transform: translateY(34px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.reveal-stagger.in > * { opacity: 1; transform: none; }
.reveal-stagger.in > *:nth-child(2) { transition-delay: .08s; }
.reveal-stagger.in > *:nth-child(3) { transition-delay: .16s; }
.reveal-stagger.in > *:nth-child(4) { transition-delay: .24s; }
.reveal-stagger.in > *:nth-child(5) { transition-delay: .32s; }
.reveal-stagger.in > *:nth-child(6) { transition-delay: .40s; }
.reveal-stagger.in > *:nth-child(7) { transition-delay: .48s; }
.reveal-stagger.in > *:nth-child(8) { transition-delay: .56s; }

/* ── reveal variants: directional slides, zoom settles ── */
.reveal.rv-left { transform: translateX(-46px); }
.reveal.rv-right { transform: translateX(46px); }
.reveal.rv-zoom { transform: translateY(18px) scale(0.965); }
.reveal-stagger.rv-left > * { transform: translateX(-42px); }
.reveal-stagger.rv-right > * { transform: translateX(42px); }
.reveal-stagger.rv-alt > *:nth-child(odd) { transform: translateX(-46px); }
.reveal-stagger.rv-alt > *:nth-child(even) { transform: translateX(46px); }
.rv-imgzoom .img-wrap { overflow: hidden; }
.rv-imgzoom img { transform: scale(1.09); transition: transform 1.6s var(--ease); }
.rv-imgzoom.in img { transform: scale(1); }

@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal-stagger > * { opacity: 1 !important; transform: none !important; }
  .rv-imgzoom img { transform: none !important; }
  html { scroll-behavior: auto; }
}

/* ══ IMAGE HELPERS ════════════════════════════════════════════ */
.img-wrap { position: relative; overflow: hidden; background: var(--card); }
.img-wrap img { width: 100%; height: 100%; object-fit: cover; }
.img-tint::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(12,11,10,0.05), rgba(12,11,10,0.55)); }
.ph-tag { position: absolute; left: 14px; bottom: 12px; z-index: 2; font-family: var(--font-display); font-size: 0.6rem;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--silver-light); background: rgba(0,0,0,0.4);
  padding: 5px 10px; border-radius: 2px; border: 1px solid var(--line); backdrop-filter: blur(4px); }

/* ══ RESPONSIVE ═══════════════════════════════════════════════ */
@media (max-width: 900px) {
  .container { padding: 0 26px; }
  .section { padding: 88px 0; }
  .nav, .nav.scrolled { padding: 16px 22px; }
  .nav-links { display: none; }
  .nav-burger { display: flex; }
  .footer-grid { grid-template-columns: 1fr; gap: 40px; }
}

/* ═══ PAGE ROUTING ═══ */
.page { display: none; }
.page.active { display: block; animation: pageIn .55s var(--ease); }
@keyframes pageIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

/* ─── HERO (home) ─── */
.hero { position: relative; min-height: 100vh; display: flex; align-items: center; overflow: hidden; }
.hero-bg { position: absolute; inset: -10% 0 0 0; z-index: 0; }
.hero-bg img { width: 100%; height: 115%; object-fit: cover; }
.hero-bg::after { content: ''; position: absolute; inset: 0;
  background: linear-gradient(105deg, rgba(9,8,7,0.94) 0%, rgba(9,8,7,0.72) 42%, rgba(9,8,7,0.35) 75%, rgba(9,8,7,0.6) 100%); }
.hero-bg::before { content: ''; position: absolute; inset: 0; z-index: 1;
  background: radial-gradient(ellipse at 15% 90%, rgba(181,138,60,0.14), transparent 55%); }
.hero-inner { position: relative; z-index: 3; width: 100%; }
.hero-eyebrow { margin-bottom: 30px; }
.hero h1 { font-size: clamp(2.9rem, 6.6vw, 6.2rem); font-weight: 800; line-height: 0.98; letter-spacing: -0.035em; margin-bottom: 30px; max-width: 15ch; }
.hero h1 .rotor { display: inline-block; position: relative; min-width: 6ch; }
.hero-sub { font-size: 1.25rem; font-weight: 300; color: var(--text); max-width: 46ch; margin-bottom: 44px; line-height: 1.65; }
.hero-cta { display: flex; gap: 16px; flex-wrap: wrap; }
.hero-scroll { position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%); z-index: 3; pointer-events: none; flex-direction: column; display: flex; align-items: center; gap: 12px;
  font-family: var(--font-display); font-size: 0.68rem; letter-spacing: 0.24em; text-transform: uppercase; color: var(--muted); }
.hero-scroll .bar { width: 1px; height: 46px; background: linear-gradient(var(--gold), transparent); position: relative; overflow: hidden; }
.hero-scroll .bar::after { content: ''; position: absolute; top: -50%; left: 0; width: 100%; height: 50%; background: var(--gold-light); animation: scrolldn 2.2s var(--ease) infinite; }
@keyframes scrolldn { to { top: 100%; } }
.hero-side { position: absolute; right: 48px; top: 50%; transform: translateY(-50%) rotate(180deg); z-index: 3;
  writing-mode: vertical-rl; font-family: var(--font-display); font-size: 0.66rem; letter-spacing: 0.3em;
  text-transform: uppercase; color: var(--faint); }

/* ─── INNER-PAGE HERO ─── */
.phero { position: relative; padding: 190px 0 90px; overflow: hidden; border-bottom: 1px solid var(--line); }
.phero::before { content: ''; position: absolute; inset: 0; z-index: 0;
  background: radial-gradient(ellipse at 82% 0%, rgba(181,138,60,0.12), transparent 55%); }
.phero .container { position: relative; z-index: 2; }
.phero .eyebrow { margin-bottom: 26px; }
.phero h1 { font-size: clamp(2.6rem, 5.4vw, 4.8rem); font-weight: 800; line-height: 1; letter-spacing: -0.035em; margin-bottom: 26px; max-width: 18ch; }
.phero p { font-size: 1.18rem; font-weight: 300; color: var(--text); max-width: 56ch; line-height: 1.7; }
.phero-side { position: absolute; right: 48px; top: 190px; z-index: 2;
  writing-mode: vertical-rl; transform: rotate(180deg); font-family: var(--font-display);
  font-size: 0.64rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--faint); }

/* ─── about ─── */
.about { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.about-copy h2 { font-size: clamp(2rem, 3.6vw, 3.1rem); margin-bottom: 28px; }
.about-copy p { margin-bottom: 22px; font-size: 1.05rem; }
.about-imgs { position: relative; height: 560px; }
.about-imgs .img-wrap { position: absolute; border: 1px solid var(--line); border-radius: 3px; box-shadow: 0 40px 80px -30px rgba(0,0,0,0.7); }
.about-imgs .a1 { width: 68%; height: 66%; top: 0; right: 0; }
.about-imgs .a2 { width: 56%; height: 54%; bottom: 0; left: 0; }
.about-imgs .badge { position: absolute; z-index: 4; bottom: 8%; right: 4%; background: var(--card-2); border: 1px solid var(--line-gold);
  border-radius: 4px; padding: 20px 26px; text-align: center; box-shadow: 0 30px 60px -20px rgba(0,0,0,0.8); }
.about-imgs .badge .n { font-family: var(--font-display); font-weight: 800; font-size: 2.4rem; line-height: 1; margin-bottom: 4px; }
.about-imgs .badge .l { font-size: 0.66rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted); }

/* ─── members ─── */
.members { text-align: center; }
.members h4 { font-family: var(--font-display); font-size: 0.74rem; letter-spacing: 0.24em; text-transform: uppercase; color: var(--silver); margin-bottom: 40px; }
.members-row { display: flex; justify-content: center; gap: 26px; flex-wrap: wrap; }
.member-tile { width: 190px; height: 94px; border: 1px solid var(--line); border-radius: 3px; background: var(--card);
  display: flex; align-items: center; justify-content: center; gap: 10px; color: var(--muted); transition: all .4s var(--ease); }
.member-tile:hover { border-color: var(--line-gold); background: var(--card-2); }
.member-tile .dot { width: 26px; height: 26px; border-radius: 50%; background: var(--gold-grad-soft); border: 1px solid var(--line-gold); }
.member-tile span { font-family: var(--font-display); font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; }

/* ─── services grid (home) ─── */
.svc-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:56px}
.svc-head h2 { font-size: clamp(2rem, 3.8vw, 3.2rem); }
.svc-head p { font-size: 1.02rem; margin-bottom: 16px; }
.svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 4px; overflow: hidden; }
.svc-card { background: linear-gradient(180deg, var(--bg), rgba(22,19,14,0.35)); padding: 40px 38px 34px; min-height: 300px; display: flex; flex-direction: column; position: relative; transition: background .5s var(--ease); cursor: default; overflow: hidden; }
.svc-card::before { content: ''; position: absolute; left: 0; top: 0; height: 2px; width: 0; background: var(--gold-grad); transition: width .55s var(--ease); z-index: 4; }
.svc-card:hover { background: linear-gradient(180deg, var(--card-2), var(--card)); }
.svc-card:hover::before { width: 100%; }
/* giant ghost watermark number */
.svc-card .svc-wm { position: absolute; right: -6px; bottom: -30px; z-index: 0; font-family: var(--font-display); font-weight: 800;
  font-size: 9rem; line-height: 1; color: transparent; -webkit-text-stroke: 1px rgba(181,138,60,0.20);
  transition: -webkit-text-stroke .5s var(--ease), transform .6s var(--ease); pointer-events: none; }
.svc-card:hover .svc-wm { -webkit-text-stroke: 1px rgba(181,138,60,0.42); transform: translateY(-4px); }
/* icon in gold ring */
.svc-ico { width: 56px; height: 56px; border-radius: 14px; border: 1px solid var(--line-gold); background: var(--gold-grad-soft);
  display: flex; align-items: center; justify-content: center; margin-bottom: auto; transition: all .5s var(--ease); }
.svc-ico svg { width: 25px; height: 25px; stroke: var(--gold); fill: none; stroke-width: 1.7; transition: stroke .5s var(--ease); }
.svc-card:hover .svc-ico { background: var(--gold-grad); border-color: transparent; box-shadow: 0 12px 30px -8px var(--gold-glow); transform: translateY(-2px); }
.svc-card:hover .svc-ico svg { stroke: #1a1408; }
.svc-num { font-family: var(--font-display); font-size: 0.72rem; font-weight: 600; color: var(--gold); letter-spacing: 0.22em; margin-bottom: 20px; }
.svc-card h3 { font-size: 1.4rem; margin: 18px 0 12px; letter-spacing: -0.01em; }
.svc-card p { font-size: 0.92rem; color: var(--muted); }
.svc-card .svc-more { display: flex; align-items: center; gap: 8px; margin-top: 20px; font-family: var(--font-display);
  font-size: 0.7rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold);
  opacity: 0; transform: translateY(8px); transition: all .45s var(--ease); }
.svc-card .svc-more svg { width: 15px; height: 15px; stroke: var(--gold); }
.svc-card:hover .svc-more { opacity: 1; transform: none; }

/* ─── featured / project grid ─── */
.feat-head{max-width:60ch;margin-bottom:48px}
.feat-head h2 { font-size: clamp(2rem, 3.8vw, 3.2rem); margin-bottom: 22px; }
.feat-grid { display: grid; grid-template-columns: 1.5fr 1fr; grid-template-rows: repeat(2, 300px); gap: 22px; }
.feat-card { position: relative; border-radius: 4px; overflow: hidden; border: 1px solid var(--line); }
.feat-card:nth-child(1) { grid-row: span 2; }
.feat-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--ease); }
.feat-card:hover img { transform: scale(1.06); }
.feat-card .ov { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(9,8,7,0.05) 30%, rgba(9,8,7,0.9)); display: flex; flex-direction: column; justify-content: flex-end; padding: 34px; }
.feat-card .cat { font-family: var(--font-display); font-size: 0.64rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); margin-bottom: 10px; }
.feat-card h3 { font-size: 1.5rem; }
.feat-card.big h3 { font-size: 2rem; }

/* ─── why ─── */
.why { display: grid; grid-template-columns: 1fr 1.05fr; gap: 90px; align-items: start; }
.why-left { position: sticky; top: 130px; }
.why-left h2 { font-size: clamp(2rem, 3.8vw, 3.3rem); margin: 24px 0 26px; }
.why-left p { font-size: 1rem; margin-bottom: 20px; }
.why-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.why-item { display: flex; gap: 18px; padding: 22px 20px; border: 1px solid var(--line); border-radius: 10px; align-items: flex-start;
  background: linear-gradient(180deg, var(--card), rgba(22,19,14,0.35)); position: relative; overflow: hidden; transition: all .4s var(--ease); }
.why-item::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: var(--gold-grad); transform: scaleY(0); transform-origin: top; transition: transform .45s var(--ease); }
.why-item:hover { border-color: var(--line-gold); transform: translateX(5px); background: linear-gradient(180deg, var(--card-2), var(--card)); }
.why-item:hover::before { transform: scaleY(1); }
.why-check { flex-shrink: 0; width: 42px; height: 42px; border-radius: 11px; border: 1px solid var(--line-gold);
  display: flex; align-items: center; justify-content: center; background: var(--gold-grad-soft); transition: all .45s var(--ease); }
.why-check svg { width: 18px; height: 18px; stroke: var(--gold); transition: stroke .45s var(--ease); }
.why-item:hover .why-check { background: var(--gold-grad); border-color: transparent; box-shadow: 0 8px 22px -6px var(--gold-glow); }
.why-item:hover .why-check svg { stroke: #1a1408; }
.why-item p { font-size: 1.02rem; color: var(--ink); font-weight: 400; font-family: var(--font-display); letter-spacing: -0.01em; position: relative; }
.why-note { margin-top: 40px; font-size: 1rem; color: var(--muted); }

/* ─── cta band ─── */
.cta-band { position: relative; overflow: hidden; border-radius: 5px; padding: 84px 60px; text-align: center;
  background: linear-gradient(120deg, var(--card-2), var(--card)); border: 1px solid var(--line-gold); }
.cta-band::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 120%, rgba(181,138,60,0.16), transparent 60%); }
.cta-band h2 { position: relative; font-size: clamp(1.8rem, 4vw, 3rem); margin-bottom: 18px; }
.cta-band p { position: relative; color: var(--muted); max-width: 52ch; margin: 0 auto 30px; }
.cta-band .btn { position: relative; }

/* ─── SERVICES page ─── */
.svc-detail { display: flex; flex-direction: column; }
.svc-row { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; padding: 60px 0; border-top: 1px solid var(--line); transition: background .5s var(--ease); }
.svc-row:last-child { border-bottom: 1px solid var(--line); }
.svc-row:nth-child(even) .r-media { order: -1; }
.svc-row .r-num { font-family: var(--font-display); font-weight: 800; font-size: 2rem; color: rgba(224,189,120,0.72);
  letter-spacing: 0.02em; margin-bottom: 18px; transition: color .5s var(--ease); }
.svc-row:hover .r-num { color: var(--gold-light); }
.svc-row .r-copy h3 { font-size: 1.9rem; margin-bottom: 14px; letter-spacing: -0.02em; }
.svc-row .r-copy p { font-size: 1.02rem; color: var(--muted); max-width: 52ch; line-height: 1.7; }
.svc-row .r-media { position: relative; height: 340px; border-radius: 5px; overflow: hidden; border: 1px solid var(--line);
  background: linear-gradient(135deg,#1a1712,#241d14); box-shadow: 0 30px 70px -40px rgba(0,0,0,0.8); }
.svc-row .r-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--ease); }
.svc-row:hover .r-media { border-color: var(--line-gold); }
.svc-row:hover .r-media img { transform: scale(1.05); }
.svc-row:hover { background: linear-gradient(90deg, var(--card), transparent); }
.svc-row:hover .r-num { color: var(--gold); -webkit-text-stroke: 0; }

/* process */
.proc-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 4px; overflow: hidden; }
.proc-step { background: var(--bg); padding: 40px 32px; position: relative; }
.proc-step .p-n { font-family: var(--font-display); font-size: 0.72rem; letter-spacing: 0.2em; color: var(--gold); margin-bottom: 26px; }
.proc-step h4 { font-size: 1.25rem; margin-bottom: 12px; }
.proc-step p { font-size: 0.9rem; color: var(--muted); }

/* ─── PROJECTS page ─── */
.filter-row { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 48px; }
.filter-chip { font-family: var(--font-display); font-size: 0.76rem; letter-spacing: 0.06em; color: var(--muted);
  border: 1px solid var(--line-2); border-radius: 100px; padding: 9px 20px; cursor: pointer; transition: all .35s var(--ease); background: transparent; }
.filter-chip:hover { color: var(--ink); border-color: var(--gold); }
.filter-chip.active { color: #1a1408; background: var(--gold-grad); border-color: transparent; font-weight: 600; }
.proj-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.proj-card { position: relative; border-radius: 4px; overflow: hidden; border: 1px solid var(--line); aspect-ratio: 4/3; transition: opacity .4s var(--ease), transform .5s var(--ease); }
.proj-card.hide { display: none; }
.proj-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--ease); }
.proj-card:hover img { transform: scale(1.07); }
.proj-card .ov { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(9,8,7,0) 35%, rgba(9,8,7,0.92)); display: flex; flex-direction: column; justify-content: flex-end; padding: 28px; }
.proj-card .cat { font-family: var(--font-display); font-size: 0.62rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold); margin-bottom: 8px; }
.proj-card h3 { font-size: 1.25rem; margin-bottom: 6px; }
.proj-card .loc { font-size: 0.82rem; color: var(--muted); }

/* project gallery, image top, details below (matches live site) */
.gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.gal-card { display: flex; flex-direction: column; border-radius: 12px; overflow: hidden; border: 1px solid var(--line);
  background: linear-gradient(180deg, var(--card), rgba(22,19,14,0.4)); cursor: pointer; position: relative; transition: box-shadow .5s var(--ease), border-color .5s var(--ease), transform .5s var(--ease); }
.gal-card:hover { border-color: var(--line-gold); box-shadow: 0 24px 60px -30px var(--gold-glow); transform: translateY(-5px); }
.gal-img { position: relative; height: 240px; overflow: hidden; background: linear-gradient(135deg,#1a1712,#241d14); }
.gal-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--ease); }
.gal-card:hover .gal-img img { transform: scale(1.06); }
.gal-body { padding: 26px 26px 24px; display: flex; flex-direction: column; flex: 1; }
.gal-body h3 { font-size: 1.28rem; line-height: 1.2; margin-bottom: 7px; color: var(--ink); letter-spacing: -0.01em; }
.gal-loc { font-size: 0.95rem; color: var(--gold); margin-bottom: 22px; }
.gal-foot { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.gal-cat { font-family: var(--font-display); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.gal-arrow { flex-shrink: 0; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line-gold); background: var(--gold-grad-soft);
  display: flex; align-items: center; justify-content: center; transition: all .45s var(--ease); }
.gal-arrow svg { width: 18px; height: 18px; stroke: var(--gold); transition: stroke .45s var(--ease), transform .4s var(--ease); }
.gal-card:hover .gal-arrow { background: var(--gold-grad); border-color: transparent; box-shadow: 0 10px 24px -8px var(--gold-glow); }
.gal-card:hover .gal-arrow svg { stroke: #1a1408; transform: translateX(3px); }

/* project detail */
.pd-media { position: relative; height: 540px; border-radius: 6px; overflow: hidden; border: 1px solid var(--line); background: linear-gradient(135deg,#1a1712,#241d14); }
.pd-media img { width: 100%; height: 100%; object-fit: cover; }
.pd-back { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 26px; cursor: pointer;
  font-family: var(--font-display); font-size: 0.76rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); transition: color .3s, gap .3s var(--ease); }
.pd-back svg { width: 15px; height: 15px; stroke: currentColor; }
.pd-back:hover { color: var(--gold-light); gap: 14px; }

/* stats band */
.stat-band { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.stat-cell { background: var(--bg); padding: 56px 32px; text-align: center; }
.stat-cell .s-n { font-family: var(--font-display); font-weight: 800; font-size: clamp(2.4rem, 4vw, 3.4rem); line-height: 1; margin-bottom: 12px; }
.stat-cell .s-l { font-size: 0.78rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted); font-family: var(--font-display); }

/* contracts */
.ct-list { display: flex; flex-direction: column; }
.ct-item { display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: center; padding: 30px 0; border-bottom: 1px solid var(--line); transition: padding .4s var(--ease); }
.ct-item:first-child { border-top: 1px solid var(--line); }
.ct-item:hover { padding-left: 14px; }
.ct-item h4 { font-size: 1.3rem; margin-bottom: 6px; }
.ct-item p { font-size: 0.9rem; color: var(--muted); }
.ct-item .tag { font-family: var(--font-display); font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gold); border: 1px solid var(--line-gold); border-radius: 100px; padding: 6px 14px; white-space: nowrap; }

/* ─── ABOUT page ─── */
.timeline { display: flex; flex-direction: column; }
.tl-item { display: grid; grid-template-columns: 160px 1fr; gap: 44px; padding: 40px 0; border-top: 1px solid var(--line); align-items: start; }
.tl-item:last-child { border-bottom: 1px solid var(--line); }
.tl-item .yr { font-family: var(--font-display); font-weight: 800; font-size: 1.8rem; }
.tl-item h4 { font-size: 1.35rem; margin-bottom: 10px; }
.tl-item p { font-size: 0.98rem; color: var(--muted); max-width: 60ch; }
.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.value-card { border: 1px solid var(--line); border-radius: 10px; padding: 40px 34px; background: linear-gradient(180deg, var(--card), rgba(22,19,14,0.35)); transition: all .45s var(--ease); overflow: hidden; }
.value-card:hover { border-color: var(--line-gold); transform: translateY(-6px); background: linear-gradient(180deg, var(--card-2), var(--card)); }
.value-card .v-ico { width: 58px; height: 58px; border-radius: 15px; border: 1px solid var(--line-gold); background: var(--gold-grad-soft);
  display: flex; align-items: center; justify-content: center; margin-bottom: 28px; transition: all .5s var(--ease); }
.value-card .v-ico svg { width: 26px; height: 26px; stroke: var(--gold); fill: none; stroke-width: 1.7; transition: stroke .5s var(--ease); }
.value-card:hover .v-ico { background: var(--gold-grad); border-color: transparent; box-shadow: 0 12px 30px -8px var(--gold-glow); transform: translateY(-2px); }
.value-card:hover .v-ico svg { stroke: #1a1408; }
.value-card h4 { font-size: 1.3rem; margin-bottom: 12px; }
.value-card p { font-size: 0.94rem; color: var(--muted); }

/* what sets us apart, feature cards */
.wsa-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.wsa-item { position: relative; overflow: hidden; background: linear-gradient(180deg, var(--card), rgba(22,19,14,0.35)); border: 1px solid var(--line); border-radius: 10px; padding: 30px; display: flex; gap: 20px; align-items: flex-start; transition: all .45s var(--ease); }
.wsa-item::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: var(--gold-grad); transform: scaleY(0); transform-origin: top; transition: transform .5s var(--ease); }
.wsa-item:hover { border-color: var(--line-gold); transform: translateY(-4px); background: linear-gradient(180deg, var(--card-2), var(--card)); }
.wsa-item:hover::before { transform: scaleY(1); }
.wsa-item .wsa-ico { flex-shrink: 0; width: 46px; height: 46px; border-radius: 12px; border: 1px solid var(--line-gold); background: var(--gold-grad-soft);
  display: flex; align-items: center; justify-content: center; transition: all .5s var(--ease); }
.wsa-item .wsa-ico svg { width: 22px; height: 22px; stroke: var(--gold); fill: none; stroke-width: 1.7; transition: stroke .5s var(--ease); }
.wsa-item:hover .wsa-ico { background: var(--gold-grad); border-color: transparent; box-shadow: 0 10px 26px -8px var(--gold-glow); }
.wsa-item:hover .wsa-ico svg { stroke: #1a1408; }
.wsa-item h4 { font-size: 1.12rem; margin-bottom: 8px; }
.wsa-item p { font-size: 0.9rem; color: var(--muted); }

/* HSEQ accreditations */
.hseq-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.hseq-card { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; padding: 34px 32px; background: linear-gradient(180deg, var(--card), rgba(22,19,14,0.35)); transition: all .45s var(--ease); }
.hseq-card::before { content: ''; position: absolute; top: -40%; right: -20%; width: 260px; height: 260px; border-radius: 50%; opacity: 0;
  background: radial-gradient(circle, rgba(181,138,60,0.14), transparent 68%); transition: opacity .5s var(--ease); pointer-events: none; }
.hseq-card:hover { border-color: var(--line-gold); transform: translateY(-5px); background: linear-gradient(180deg, var(--card-2), var(--card)); }
.hseq-card:hover::before { opacity: 1; }
.hseq-card > * { position: relative; z-index: 1; }
.hseq-card .hseq-badge { display: inline-flex; align-items: center; height: 80px; margin-bottom: 22px; transition: transform .45s var(--ease); }
.hseq-card .hseq-badge img { height: 64px; width: auto; max-width: 150px; object-fit: contain; display: block; }
.hseq-card .hseq-badge img[alt="ISO 45001"] { height: 64px; }
.hseq-card .hseq-badge img[alt="Cm3"] { height: 40px; }
.hseq-card:hover .hseq-badge { transform: translateY(-2px); }
.hseq-card .hseq-code { font-family: var(--font-display); font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold); margin-bottom: 14px; }
.hseq-card h4 { font-size: 1.28rem; margin-bottom: 10px; }
.hseq-card p { font-size: 0.92rem; color: var(--muted); }

/* ─── CONTACT page ─── */
.contact-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 80px; align-items: start; }
.ci-block { margin-bottom: 40px; }
.ci-block h4 { font-family: var(--font-display); font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--silver); margin-bottom: 18px; }
.ci-row { display: flex; align-items: center; gap: 16px; margin-bottom: 14px; color: var(--text); font-size: 1.02rem; }
.ci-row .ci-ico { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--line-gold); background: var(--gold-grad-soft);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ci-row .ci-ico svg { width: 18px; height: 18px; stroke: var(--gold); }
.ci-row a:hover { color: var(--gold-light); }
.form { border: 1px solid var(--line); border-radius: 6px; padding: 46px; background: var(--card); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-bottom: 22px; }
.field { display: flex; flex-direction: column; gap: 9px; }
.field.full { grid-column: 1 / -1; }
.field label { font-family: var(--font-display); font-size: 0.74rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.field input, .field select, .field textarea { background: var(--bg); border: 1px solid var(--line-2); border-radius: 3px; padding: 14px 16px;
  color: var(--ink); font-family: var(--font-body); font-size: 0.98rem; transition: border-color .3s; }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--gold); }
.field textarea { resize: vertical; min-height: 130px; }
.form .btn { width: 100%; justify-content: center; margin-top: 4px; }

/* contact office addresses */
.addr-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 4px; overflow: hidden; margin-top: 60px; }
.addr-card { background: var(--bg); padding: 30px 26px; transition: background .5s var(--ease); }
.addr-card:hover { background: var(--card); }
.addr-card .a-loc { font-family: var(--font-display); font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); margin-bottom: 14px; }
.addr-card p { font-size: 0.95rem; color: var(--text); line-height: 1.6; }

@media (max-width: 900px) {
  .about, .why, .svc-head, .contact-grid { grid-template-columns: 1fr; gap: 44px; }
  .why-left { position: static; }
  .about-imgs { height: 440px; }
  .svc-grid, .proc-grid, .proj-grid, .stat-band, .values-grid { grid-template-columns: 1fr 1fr; }
  .gallery, .wsa-grid, .hseq-grid { grid-template-columns: 1fr 1fr; }
  .svc-row { grid-template-columns: 1fr; gap: 26px; }
  .svc-row .r-num { font-size: 1.6rem; }
  .svc-row .r-media { order: 0 !important; height: 240px; }
  .feat-grid { grid-template-columns: 1fr; grid-template-rows: none; }
  .feat-card { aspect-ratio: 3/2; }
  .feat-card:nth-child(1) { grid-row: auto; }
  .tl-item { grid-template-columns: 1fr; gap: 12px; }
  .form { padding: 30px; }
  .form-grid { grid-template-columns: 1fr; }
  .hero-side, .phero-side { display: none; }
}
@media (max-width: 560px) {
  .svc-grid, .proc-grid, .proj-grid, .stat-band, .values-grid { grid-template-columns: 1fr; }
  .gallery, .wsa-grid, .hseq-grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════
   GOLD GRADIENT & HOVER ENHANCEMENTS
   ═══════════════════════════════════════════════════════════ */

/* round every button */
.btn { border-radius: 9px; }

/* version switch button */
.version-switch { position: fixed; left: 22px; bottom: 22px; z-index: 250; display: inline-flex; align-items: center; gap: 9px;
  padding: 11px 18px; border-radius: 100px; font-family: var(--font-display); font-size: 0.72rem; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase; color: var(--gold-light); background: rgba(12,11,10,0.74);
  border: 1px solid var(--line-gold); backdrop-filter: blur(10px); box-shadow: 0 12px 30px -12px rgba(0,0,0,0.7); transition: all .35s var(--ease); }
.version-switch:hover { background: var(--gold-grad); color: #1a1408; border-color: transparent; transform: translateY(-2px); }
.version-switch svg { width: 15px; height: 15px; }
@media (max-width: 600px) { .version-switch { left: 14px; bottom: 14px; padding: 9px 14px; font-size: 0.66rem; } }

/* lighten muted body text site-wide for readability */
:root { --muted: #a8a296; }

/* footer contact alignment, match EXPLORE column rhythm */
.footer-contact { gap: 0; }
.footer-contact a, .footer-contact span { display: grid; grid-template-columns: 17px 1fr; column-gap: 13px; align-items: center; line-height: 1.65; padding: 7px 0; white-space: nowrap; }
.footer-contact .ico { align-self: center; }

/* mouse-following gold spotlight, applied to any .spot element.
   JS sets --mx / --my (px) relative to the element. */
.spot { position: relative; }
.spot::after {
  content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  border-radius: inherit; opacity: 0; transition: opacity .5s var(--ease);
  background: radial-gradient(340px circle at var(--mx, 50%) var(--my, 0%),
              rgba(181,138,60,0.16), rgba(181,138,60,0.05) 40%, transparent 68%);
}
.spot:hover::after { opacity: 1; }
/* keep real content above the glow */
.spot > * { position: relative; z-index: 2; }

/* animated gold hairline that sweeps a card border on hover */
.gold-edge { position: relative; }
.gold-edge::before {
  content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 1px; z-index: 3;
  background: linear-gradient(120deg, transparent 20%, var(--gold) 50%, transparent 80%);
  background-size: 240% 100%; background-position: 120% 0;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  opacity: 0; transition: opacity .5s var(--ease); pointer-events: none;
}
.gold-edge:hover::before { opacity: 1; animation: edgeSweep 1.4s var(--ease) forwards; }
@keyframes edgeSweep { to { background-position: -120% 0; } }

/* buttons get a sweeping gold sheen */
.btn-gold::after {
  content: ''; position: absolute; top: 0; left: -60%; width: 45%; height: 100%; z-index: 1;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,0.55), transparent);
  transform: skewX(-18deg); transition: none; pointer-events: none;
}
.btn-gold:hover::after { animation: sheen .9s var(--ease); }
@keyframes sheen { from { left: -60%; } to { left: 130%; } }
.btn-gold > * , .btn-gold svg { position: relative; z-index: 2; }
.btn-ghost { position: relative; }
.btn-ghost::before {
  content: ''; position: absolute; inset: 0; z-index: 0; border-radius: inherit; opacity: 0;
  background: var(--gold-grad-soft); transition: opacity .4s var(--ease);
}
.btn-ghost:hover::before { opacity: 1; }
.btn-ghost > *, .btn-ghost svg { position: relative; z-index: 2; }
.btn-ghost { background: linear-gradient(180deg, rgba(181,138,60,0.06), rgba(181,138,60,0)); border-color: var(--line-gold); color: var(--gold-light); }
.btn-ghost:hover { border-color: var(--gold); box-shadow: 0 8px 30px -10px var(--gold-glow); transform: translateY(-2px); }
.hero .btn-ghost { background: rgba(12,11,10,0.42); backdrop-filter: blur(8px); border-color: rgba(181,138,60,0.6); color: var(--gold-light); }
.hero .btn-ghost:hover { border-color: var(--gold); background: rgba(12,11,10,0.58); }

/* services home cards, spotlight + gold number glow */
.svc-card { }
.svc-card:hover .svc-num { color: var(--gold-light); text-shadow: 0 0 22px var(--gold-glow); }

/* services detail rows, gold number already fills; add left gold marker */
.svc-row { position: relative; }
.svc-row::before {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 2px;
  background: var(--gold-grad); transform: scaleY(0); transform-origin: top; transition: transform .5s var(--ease);
}
.svc-row:hover::before { transform: scaleY(1); }

/* process steps, gold gradient wash from bottom */
.proc-step { transition: none; }
.proc-step::before {
  content: ''; position: absolute; inset: 0; z-index: 0; opacity: 0; transition: opacity .5s var(--ease);
  background: linear-gradient(180deg, transparent 40%, rgba(181,138,60,0.10));
}
.proc-step:hover::before { opacity: 1; }
.proc-step > * { position: relative; z-index: 1; }
.proc-step:hover .p-n { color: var(--gold-light); text-shadow: 0 0 18px var(--gold-glow); }

/* stat cells, gold rise + glow */
.stat-cell { transition: background .5s var(--ease); }
.stat-cell::before {
  content: ''; position: absolute; inset: 0; z-index: 0; opacity: 0; transition: opacity .5s var(--ease);
  background: radial-gradient(ellipse at 50% 120%, rgba(181,138,60,0.16), transparent 62%);
}
.stat-cell:hover::before { opacity: 1; }
.stat-cell > * { position: relative; z-index: 1; }
.stat-cell:hover .s-n { text-shadow: 0 0 30px var(--gold-glow); }

/* value cards, mouse spotlight (added via .spot) + icon glow */
.value-card:hover .v-ico { box-shadow: 0 0 26px -4px var(--gold-glow); border-color: var(--gold); }
.value-card:hover .v-ico svg { stroke: var(--gold-light); }

/* timeline rows, gold gradient fill-in on hover */
.tl-item { position: relative; transition: padding-left .45s var(--ease); }
.tl-item::before {
  content: ''; position: absolute; inset: 0; z-index: 0; opacity: 0; transition: opacity .45s var(--ease);
  background: linear-gradient(90deg, rgba(181,138,60,0.09), transparent 55%);
}
.tl-item:hover::before { opacity: 1; }
.tl-item:hover { padding-left: 14px; }
.tl-item > * { position: relative; z-index: 1; }
.tl-item:hover .yr { text-shadow: 0 0 24px var(--gold-glow); }

/* contract rows, gold gradient wash */
.ct-item { position: relative; }
.ct-item::before {
  content: ''; position: absolute; inset: 0; z-index: 0; opacity: 0; transition: opacity .45s var(--ease);
  background: linear-gradient(90deg, rgba(181,138,60,0.10), transparent 50%);
}
.ct-item:hover::before { opacity: 1; }
.ct-item > * { position: relative; z-index: 1; }
.ct-item:hover .tag { background: var(--gold-grad); color: #1a1408; border-color: transparent; }

/* member tiles, gold gradient fill sweep on hover */
.member-tile { position: relative; overflow: hidden; }
.member-tile::before {
  content: ''; position: absolute; inset: 0; z-index: 0; opacity: 0; transition: opacity .45s var(--ease);
  background: var(--gold-grad-soft);
}
.member-tile:hover::before { opacity: 1; }
.member-tile:hover { color: var(--gold-light); }
.member-tile:hover .dot { box-shadow: 0 0 18px -2px var(--gold-glow); }
.member-tile > * { position: relative; z-index: 1; }
.member-tile img { max-height: 56px; max-width: 80%; object-fit: contain; position: relative; z-index: 1; }

/* contact info rows, gold slide + icon glow */
.ci-row .ci-ico { transition: box-shadow .4s var(--ease), border-color .4s var(--ease); }
.ci-row:hover .ci-ico { box-shadow: 0 0 22px -4px var(--gold-glow); border-color: var(--gold); }

/* featured / project cards, gold ring glow on hover */
.feat-card, .proj-card { transition: box-shadow .5s var(--ease), border-color .5s var(--ease), transform .5s var(--ease); }
.feat-card:hover, .proj-card:hover { border-color: var(--line-gold); box-shadow: 0 24px 60px -30px var(--gold-glow); }
.proj-card:hover { transform: translateY(-4px); }

/* thin animated gold top-line on section eyebrows' parent sections via hr */
.divider { background: linear-gradient(90deg, transparent, var(--line-gold), var(--gold), var(--line-gold), transparent); }

/* nav CTA sheen inherits from .btn-gold */

/* ═══════════════ VISUAL SHOWCASE FEATURES ═══════════════ */
/* scroll progress bar */
#scrollbar { position: fixed; top: 0; left: 0; height: 3px; width: 0; z-index: 300; background: var(--gold-grad); box-shadow: 0 0 14px var(--gold-glow); transition: width .1s linear; }

/* global cursor glow */
#cursorglow { position: fixed; width: 520px; height: 520px; border-radius: 50%; pointer-events: none; z-index: 1; left: 0; top: 0; transform: translate(-50%,-50%);
  background: radial-gradient(circle, rgba(181,138,60,0.09), transparent 62%); opacity: 0; transition: opacity .5s var(--ease); mix-blend-mode: screen; }
body:hover #cursorglow { opacity: 1; }

/* animated blueprint grid + drifting glow on hero */
.hero-fx { position: absolute; inset: 0; z-index: 2; pointer-events: none; overflow: hidden; }
.hero-fx .grid { position: absolute; inset: -2px; opacity: 0.5;
  background-image: linear-gradient(rgba(181,138,60,0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(181,138,60,0.06) 1px, transparent 1px);
  background-size: 64px 64px; -webkit-mask-image: radial-gradient(ellipse at 20% 80%, #000, transparent 72%); mask-image: radial-gradient(ellipse at 20% 80%, #000, transparent 72%); }
.hero-fx .beam { position: absolute; width: 160%; height: 200px; left: -30%; top: 30%; filter: blur(48px); opacity: 0.5;
  background: linear-gradient(90deg, transparent, rgba(181,138,60,0.28), transparent); transform: rotate(-8deg); animation: beamDrift 9s var(--ease) infinite alternate; }
@keyframes beamDrift { from { transform: translateY(-40px) rotate(-8deg); } to { transform: translateY(60px) rotate(-8deg); } }
.hero-fx .orb { position: absolute; border-radius: 50%; background: radial-gradient(circle, rgba(181,138,60,0.18), transparent 68%); filter: blur(10px); }
.hero-fx .orb.o1 { width: 320px; height: 320px; right: 8%; top: 18%; animation: orbFloat 11s ease-in-out infinite; }
.hero-fx .orb.o2 { width: 200px; height: 200px; right: 26%; bottom: 12%; animation: orbFloat 8s ease-in-out infinite reverse; }
@keyframes orbFloat { 0%,100% { transform: translate(0,0); } 50% { transform: translate(-24px,-30px); } }
@media (prefers-reduced-motion: reduce) { .hero-fx .beam, .hero-fx .orb { animation: none; } }

/* centres-we-service marquee */
.centres { padding: 46px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); position: relative; overflow: hidden; background: var(--bg-2); }
.centres .c-label { text-align: center; font-family: var(--font-display); font-size: 0.74rem; font-weight: 700; letter-spacing: 0.24em; text-transform: uppercase; color: var(--silver); margin-bottom: 40px; }
.marquee { display: flex; gap: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.marquee-track { display: flex; flex-shrink: 0; align-items: center; gap: 0; animation: marq 34s linear infinite; }
.centres:hover .marquee-track { animation-play-state: paused; }
@keyframes marq { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.marquee-track .m-item { display: inline-flex; align-items: center; gap: 22px; padding: 0 34px; white-space: nowrap;
  font-family: var(--font-display); font-weight: 700; font-size: clamp(1.1rem, 2vw, 1.6rem); letter-spacing: -0.01em; color: var(--ink); }
.marquee-track .m-item::after { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--gold-grad); }
.marquee-track .m-item:hover { color: transparent; background: var(--gold-grad); -webkit-background-clip: text; background-clip: text; }
.m-logo{height:38px;width:auto;max-width:230px;object-fit:contain;display:block;filter:grayscale(1) invert(1) brightness(1.25);mix-blend-mode:screen;opacity:0.92}
.m-logo[alt="Scentre Group"]{height:24px}
.m-logo[alt="JLL"],.m-logo[alt="GPT Group"]{height:44px}
.m-logo[alt="Knight Frank"]{height:42px}
.m-logo[alt="Lendlease"]{height:70px;max-width:340px}
.m-logo[alt="Vicinity Centres"]{height:48px}
.m-logo[alt="Vicinity Centres"],.m-logo[alt="Dexus"],.m-logo[alt="Region Group"],.m-logo[alt="Retail Projex"]{filter:grayscale(1) brightness(1.05)}
.m-logo[alt="Dexus"],.m-logo[alt="Retail Projex"]{height:44px}
.m-logo[alt="Region Group"]{height:40px;max-width:260px}

/* project detail layout */
.pd-media { position: relative; height: 520px; border-radius: 6px; overflow: hidden; border: 1px solid var(--line); background: linear-gradient(135deg,#1a1712,#241d14); margin-bottom: 50px; }
.pd-media img { width: 100%; height: 100%; object-fit: cover; }
.pd-layout { display: grid; grid-template-columns: 300px 1fr; gap: 56px; align-items: start; }
.pd-meta { display: flex; flex-direction: column; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 10px; overflow: hidden; position: sticky; top: 110px; }
.pd-meta-row { background: var(--card); padding: 18px 22px; display: flex; flex-direction: column; gap: 6px; }
.pd-meta-label { font-family: var(--font-display); font-size: 0.64rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); }
.pd-meta-value { font-size: 0.98rem; color: var(--ink); }
.pd-body p { font-size: 1.04rem; color: var(--text); line-height: 1.85; margin-bottom: 20px; }
.pd-body p:first-child { font-size: 1.2rem; color: var(--ink); line-height: 1.7; }
@media (max-width: 900px) { .pd-layout { grid-template-columns: 1fr; gap: 30px; } .pd-meta { position: static; } .pd-media { height: 320px; margin-bottom: 34px; } }

/* ═══════════ V2, GILDED GLASS (Direction B) ═══════════ */
:root{--gold:#dbb770;--gold-deep:#bf9a52;--gold-dark:#a8853f;--gold-light:#f0dcae;--gold-glow:rgba(219,183,112,0.38);
--gold-grad:linear-gradient(118deg,#f0dcae 0%,#e3c689 40%,#dbb770 70%,#bf9a52 100%);
--gold-grad-rev:linear-gradient(118deg,#bf9a52 0%,#dbb770 40%,#f0dcae 100%);
--gold-grad-soft:linear-gradient(135deg,rgba(240,220,174,0.12),rgba(191,154,82,0.04));
--line-gold:rgba(219,183,112,0.32);--muted:#a39d91;--silver:#8d9194;
--glass:rgba(255,255,255,0.035);--glass-2:rgba(255,255,255,0.06);--glass-line:rgba(255,255,255,0.09)}
h1,h2{font-weight:800}
.section{padding:120px 0}
.section-sm{padding:72px 0}
.btn{border-radius:9px}
.phero{padding:175px 0 75px}
/* ambient orbs */
.bgorbs{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.bgorbs .o{position:absolute;border-radius:50%;filter:blur(70px)}
.bgorbs .o1{width:640px;height:640px;right:-160px;top:-120px;background:radial-gradient(circle,rgba(181,138,60,0.13),transparent 68%);animation:drift1 16s ease-in-out infinite alternate}
.bgorbs .o2{width:480px;height:480px;left:-140px;top:56%;background:radial-gradient(circle,rgba(147,149,151,0.08),transparent 68%);animation:drift2 20s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate(-70px,90px)}}
@keyframes drift2{to{transform:translate(80px,-70px)}}
/* blur-in reveals */
.reveal{filter:blur(14px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease),filter 1.1s var(--ease)}
.reveal.in{filter:blur(0)}
.reveal-stagger>*{filter:blur(10px);transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease)}
.reveal-stagger.in>*{filter:blur(0)}
@media (prefers-reduced-motion:reduce){.reveal,.reveal-stagger>*{filter:none!important}.bgorbs .o{animation:none}}
/* HERO, split glass */
.hero{padding:140px 0 80px;min-height:92vh}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center;position:relative;z-index:3;width:100%}
.hero .eyebrow{margin-bottom:36px}
.hero h1{font-size:clamp(2.7rem,4.9vw,4.9rem);font-weight:800;line-height:1;letter-spacing:-0.04em;margin-bottom:34px;max-width:none}
.hero h1 .ln{display:block;overflow:hidden}
.hero h1 .ln span{display:inline-block;transform:translateY(112%);animation:rise2 1.1s var(--ease) forwards}
.hero h1 .ln:nth-child(2) span{animation-delay:.12s}
.hero h1 .ln:nth-child(3) span{animation-delay:.24s}
@keyframes rise2{to{transform:none}}
.hero-sub{margin-bottom:50px;opacity:0;animation:fadeup2 1s var(--ease) .5s forwards}
.hero-cta{opacity:0;animation:fadeup2 1s var(--ease) .66s forwards}
@keyframes fadeup2{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.hero-frame{position:relative;opacity:0;animation:fadeup2 1.3s var(--ease) .3s forwards}
.hero-frame .pane{padding:16px;border-radius:28px;background:var(--glass);border:1px solid var(--glass-line);backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3)}
.hero-frame .fimg{position:relative;overflow:hidden;border-radius:16px;aspect-ratio:4/4.4}
.hero-frame .fimg img{width:100%;height:100%;object-fit:cover;filter:contrast(1.12) saturate(1.18) brightness(1.03);animation:kb 18s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.1) translate(-1.5%,1.5%)}}
.hero-frame .fimg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,11,10,0.05),rgba(12,11,10,0.42)),linear-gradient(118deg,rgba(181,138,60,0.1),transparent 55%),radial-gradient(ellipse at 50% 38%,transparent 52%,rgba(12,11,10,0.5))}
.hero-frame .fimg::before{content:'';position:absolute;inset:-60%;z-index:2;pointer-events:none;opacity:0.5;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");animation:grain 0.9s steps(4) infinite}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-4%,3%)}50%{transform:translate(3%,-4%)}75%{transform:translate(-2%,-2%)}100%{transform:translate(0,0)}}
.hero-frame .fimg .sheen{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(115deg,transparent 38%,rgba(219,183,112,0.14) 48%,rgba(255,240,210,0.2) 50%,rgba(219,183,112,0.14) 52%,transparent 62%);transform:translateX(-120%);animation:sheenSweep 7.5s ease-in-out infinite}
@keyframes sheenSweep{0%,55%{transform:translateX(-120%)}80%,100%{transform:translateX(120%)}}
@media (prefers-reduced-motion: reduce){.hero-frame .fimg::before,.hero-frame .fimg .sheen{animation:none}}
.hero-chip{position:absolute;left:-42px;bottom:52px;z-index:3;padding:22px 30px;border-radius:16px;background:rgba(18,15,11,0.6);border:1px solid var(--glass-line);backdrop-filter:blur(18px);box-shadow:0 30px 70px -24px rgba(0,0,0,0.85)}
.hero-chip .n{font-family:var(--font-display);font-weight:800;font-size:2rem;line-height:1;margin-bottom:5px}
.hero-chip .l{font-size:0.62rem;letter-spacing:0.26em;text-transform:uppercase;color:var(--muted);font-family:var(--font-display);font-weight:600}
.hero-chip2{position:absolute;right:-30px;top:60px;z-index:3;padding:16px 22px;border-radius:14px;background:rgba(18,15,11,0.6);border:1px solid var(--glass-line);backdrop-filter:blur(18px);display:flex;align-items:center;gap:12px;box-shadow:0 24px 60px -24px rgba(0,0,0,0.85);animation:floaty 7s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.hero-chip2 .dot{width:9px;height:9px;border-radius:50%;background:var(--gold-grad);box-shadow:0 0 14px var(--gold-glow)}
.hero-chip2 span{font-family:var(--font-display);font-size:0.7rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink)}
/* glass surfaces site-wide */
.svc-card,.why-item,.value-card,.wsa-item,.hseq-card,.member-tile,.gal-card,.cta-band,.form,.proc-step,.addr-card,.stat-cell,.pd-meta-row{background:var(--glass);border:1px solid var(--glass-line);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);border-radius:18px;position:relative;overflow:hidden}
.svc-grid,.proc-grid,.addr-grid,.stat-band,.pd-meta{background:transparent;border:0;gap:20px;overflow:visible}
.stat-band{display:grid;grid-template-columns:repeat(4,1fr)}
.svc-grid{gap:22px}
.pd-meta{gap:14px}.pd-meta-row{border-radius:14px}
.svc-card:hover{background:var(--glass-2);transform:translateY(-8px);border-color:var(--line-gold);box-shadow:0 34px 80px -34px var(--gold-glow);transition:all .5s var(--ease)}
.svc-card{transition:all .5s var(--ease)}
.value-card:hover,.wsa-item:hover,.hseq-card:hover,.why-item:hover{background:var(--glass-2);border-color:var(--line-gold);box-shadow:0 26px 70px -30px var(--gold-glow)}
.gal-card{background:var(--glass)}
.gal-card:hover{background:var(--glass-2)}
.member-tile{width:200px;height:100px;border-radius:16px;transition:all .5s var(--ease)}
.member-tile:hover{background:var(--glass-2);border-color:var(--line-gold);transform:translateY(-4px);box-shadow:0 20px 50px -20px var(--gold-glow)}
.cta-band{border-radius:26px;padding:100px 60px}
.cta-band::before{background:radial-gradient(ellipse at 50% 135%,rgba(181,138,60,0.2),transparent 62%)}
.form{border-radius:22px}
.field input,.field select,.field textarea{background:rgba(0,0,0,0.32);border-radius:12px;border-color:var(--glass-line)}
.about-imgs .img-wrap{border-radius:18px;border:1px solid var(--glass-line);box-shadow:0 40px 90px -36px rgba(0,0,0,0.8)}
.about-imgs .img-wrap{display:flex;flex-direction:column;overflow:hidden}
.about-imgs .img-wrap img{height:calc(100% - 32px);flex:1 1 auto;min-height:0}
.about-imgs .img-wrap .ph-tag{position:static;order:2;align-self:stretch;background:rgba(18,15,11,0.72);border:none;border-top:1px solid var(--glass-line);border-radius:0;padding:8px 14px;z-index:2}
.about-imgs .a1 .ph-tag{order:-1;border-top:none;border-bottom:1px solid var(--glass-line)}
.about-imgs .a2{width:60%;height:52%}
.about-imgs .a1{width:60%;height:52%}
@keyframes imgFloat{from{transform:translateY(-7px)}to{transform:translateY(9px)}}
.about-imgs .a1{animation:imgFloat 7s ease-in-out infinite alternate}
.about-imgs .a2{animation:imgFloat 8.5s ease-in-out infinite alternate-reverse}
@media (prefers-reduced-motion: reduce){.about-imgs .a1,.about-imgs .a2{animation:none}}
.about-imgs .badge{background:rgba(18,15,11,0.62);backdrop-filter:blur(18px);border:1px solid var(--glass-line);border-radius:16px}
.feat-card{border-radius:20px}
.pd-media{border-radius:20px}
.svc-row .r-media{border-radius:18px}
.filter-chip{border-radius:100px}
/* translucent bands so ambient light shows */
.page .section[style*="--bg-2"],.page .section-sm[style*="--bg-2"]{background:transparent!important}
.centres{background:var(--glass);backdrop-filter:blur(12px)}
@media (max-width:900px){
.hero{padding-top:130px}.hero-grid{grid-template-columns:1fr;gap:56px}
.hero-chip{left:12px;bottom:24px}.hero-chip2{right:8px;top:24px}
.section{padding:90px 0}.phero{padding:150px 0 65px}
.svc-grid,.proc-grid,.addr-grid,.stat-band{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.svc-grid,.proc-grid,.addr-grid,.stat-band{grid-template-columns:1fr}}
/* tweaks: hero variants + ambient */
body[data-hero="full"] .hero-split{display:none}
body[data-hero="split"] .hero-full{display:none}
.hero-full{overflow:hidden}
.hero-full .hbg{position:absolute;inset:0;z-index:0}
.hero-full .hbg img{width:100%;height:100%;object-fit:cover;animation:kb 22s ease-in-out infinite alternate}
.hero-full .hbg::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,rgba(9,8,7,0.95) 0%,rgba(9,8,7,0.74) 45%,rgba(9,8,7,0.3) 80%),radial-gradient(ellipse at 12% 92%,rgba(181,138,60,0.14),transparent 55%)}
.hero-full .hinner{position:relative;z-index:3;width:100%}
.hero-full h1{max-width:16ch;font-size:clamp(3rem,5.4vw,5.6rem)}
.hstrip{display:inline-flex;margin-top:64px;border:1px solid var(--glass-line);background:rgba(18,15,11,0.5);backdrop-filter:blur(18px);border-radius:16px;overflow:hidden;opacity:0;animation:fadeup2 1s var(--ease) .82s forwards}
.hstrip .cell{padding:18px 30px;border-right:1px solid var(--glass-line)}
.hstrip .cell:last-child{border-right:0}
.hstrip .n{font-family:var(--font-display);font-weight:800;font-size:1.25rem;color:var(--ink);line-height:1.2}
.hstrip .l{font-size:0.6rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);font-family:var(--font-display);font-weight:600;margin-top:3px}
.no-ambient .bgorbs,.no-ambient #cursorglow{display:none}
@media (max-width:900px){.hstrip{display:none}}
a.gal-card,a.pd-back,.nav a,.nav-drawer a{color:inherit;text-decoration:none}
.footer-bottom span{color:#8f887c}
