:root {
      --black: #0B0B0C; --charcoal: #111112; --gold: #C8A45C; --gold-light: #D4B76E;
      --gold-dark: #A68B4B; --white: #F4F1EA; --gray: #A8A29A; --gray-dark: #5A5751;
      --expo: cubic-bezier(0.16, 1, 0.3, 1);
    }
    *,*::before,*::after { box-sizing: border-box; margin: 0; padding: 0; }
    ::selection { background: rgba(200,164,92,0.3); }
    html { scroll-behavior: auto; -webkit-text-size-adjust: 100%; scroll-padding-top: 80px; }
    body {
      font-family: 'Inter', sans-serif; background: var(--black); color: var(--white);
      overflow-x: hidden; -webkit-font-smoothing: antialiased; line-height: 1.6;
    }
    body::after {
      content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 9999;
      opacity: 0.025; mix-blend-mode: overlay;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    }

    /* LOADER */
    .loader { position:fixed; inset:0; background:var(--black); z-index:10000; display:flex; align-items:center; justify-content:center; transition: opacity .6s var(--expo), visibility .6s; }
    .loader.done { opacity:0; visibility:hidden; pointer-events:none; }
    .loader-text { font-family:'Montserrat',sans-serif; font-weight:900; font-size:2rem; letter-spacing:.3em; color:var(--gold); }
    .loader-text span { display:inline-block; opacity:0; animation: loaderChar .5s var(--expo) forwards; }
    @keyframes loaderChar { to { opacity:1; transform:translateY(0); } from { opacity:0; transform:translateY(10px); } }

    h1,h2,h3,h4 { font-family:'Montserrat',sans-serif; font-weight:800; letter-spacing:-0.02em; }
    a { color:inherit; text-decoration:none; }
    img { display:block; max-width:100%; }
    button { background:none; border:none; cursor:pointer; font-family:inherit; }
    .ml { font-family:'IBM Plex Mono',monospace; font-size:.7rem; text-transform:uppercase; letter-spacing:.25em; color:var(--gold); }
    .hr { height:1px; background:rgba(244,241,234,0.07); }
    .sp { padding: clamp(64px,10vw,120px) clamp(16px,4vw,32px); }
    .ctn { max-width:1200px; margin:0 auto; width:100%; }
    .sh { margin-bottom: clamp(32px,5vw,56px); }
    .st { font-size: clamp(2rem,5vw,3.5rem); line-height:1.05; margin-top:12px; }
    .st em { font-style:italic; font-weight:500; }
    .sd { color:var(--gray); margin-top:14px; max-width:520px; line-height:1.65; font-size:clamp(.875rem,2vw,1rem); }

    /* BUTTONS */
    .bg {
      display:inline-flex; align-items:center; gap:8px; font-family:'Montserrat',sans-serif;
      padding:15px 30px; font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em;
      background:linear-gradient(135deg,var(--gold),var(--gold-dark)); color:var(--black);
      border:none; cursor:pointer; position:relative; overflow:hidden;
      transition: transform .5s var(--expo), box-shadow .5s var(--expo);
    }
    .bg::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,var(--gold-light),var(--gold)); opacity:0; transition:opacity .4s; }
    .bg:hover::before { opacity:1; }
    .bg:hover { transform:translateY(-3px); box-shadow:0 12px 35px rgba(200,164,92,.25); }
    .bg span { position:relative; z-index:1; }
    .bo {
      display:inline-flex; align-items:center; gap:8px; font-family:'Montserrat',sans-serif;
      padding:13px 26px; font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em;
      background:transparent; color:var(--gold); border:1px solid rgba(200,164,92,.35);
      cursor:pointer; transition:all .4s var(--expo);
    }
    .bo:hover { border-color:var(--gold); background:rgba(200,164,92,.06); transform:translateY(-2px); }

    /* REVEAL */
    .r { opacity:0; transform:translateY(50px); transition: opacity .9s var(--expo), transform .9s var(--expo); will-change:transform,opacity; }
    .r.v { opacity:1; transform:translateY(0); }
    .r-d1 { transition-delay:.1s; } .r-d2 { transition-delay:.2s; } .r-d3 { transition-delay:.3s; } .r-d4 { transition-delay:.4s; }
    .r-s { transform:scale(.92) translateY(30px); } .r-s.v { transform:scale(1) translateY(0); }

    /* TEXT SHIMMER ANIMATION */
    @keyframes shimmer {
      0% { background-position: -200% center; }
      100% { background-position: 200% center; }
    }
    .text-shimmer {
      background: linear-gradient(90deg, var(--white) 0%, var(--gold) 25%, var(--white) 50%, var(--gold) 75%, var(--white) 100%);
      background-size: 200% auto;
      -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
      animation: shimmer 4s linear infinite;
    }

    /* CHAR REVEAL */
    .char-reveal span {
      display: inline-block; opacity: 0; transform: translateY(100%) rotateX(-80deg);
      transition: opacity .6s var(--expo), transform .6s var(--expo);
    }
    .char-reveal.v span { opacity: 1; transform: translateY(0) rotateX(0); }

    /* LINE WIPE */
    .line-wipe { position:relative; overflow:hidden; }
    .line-wipe::after {
      content:''; position:absolute; left:0; bottom:0; width:0; height:2px;
      background:var(--gold); transition: width 1s var(--expo);
    }
    .line-wipe.v::after { width:100%; }

    /* NAV */
    nav {
      position:fixed; top:0; left:0; right:0; z-index:1000;
      padding:22px clamp(16px,4vw,40px); display:flex; align-items:center; justify-content:space-between;
      transition:all .5s var(--expo);
    }
    nav.scrolled {
      background:rgba(11,11,12,.88); backdrop-filter:blur(16px) saturate(1.2);
      -webkit-backdrop-filter:blur(16px) saturate(1.2);
      padding-top:14px; padding-bottom:14px; box-shadow:0 1px 0 rgba(244,241,234,.06);
    }
    .nb { font-family:'Montserrat',sans-serif; font-weight:900; font-size:1.15rem; letter-spacing:.18em; color:var(--gold); transition:transform .4s var(--expo); }
    .nb:hover { transform:scale(1.03); }
    .nl { display:flex; gap:28px; align-items:center; }
    .nl a {
      font-family:'IBM Plex Mono',monospace; font-size:.7rem; text-transform:uppercase; letter-spacing:.15em;
      color:var(--gray); transition:color .3s; position:relative;
    }
    .nl a::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:1px; background:var(--gold); transition:width .4s var(--expo); }
    .nl a:hover { color:var(--white); }
    .nl a:hover::after { width:100%; }
    .nc {
      font-family:'Montserrat',sans-serif; font-size:.7rem; font-weight:700; text-transform:uppercase;
      letter-spacing:.06em; padding:10px 20px; background:linear-gradient(135deg,var(--gold),var(--gold-dark));
      color:var(--black); transition:all .4s var(--expo);
    }
    .nc:hover { transform:translateY(-1px); box-shadow:0 6px 20px rgba(200,164,92,.25); }
    .hb { display:none; width:32px; height:24px; position:relative; cursor:pointer; z-index:1002; }
    .hb span { position:absolute; left:0; width:100%; height:2px; background:var(--white); transition:all .4s var(--expo); }
    .hb span:nth-child(1) { top:2px; } .hb span:nth-child(2) { top:11px; } .hb span:nth-child(3) { bottom:2px; }
    .hb.open span:nth-child(1) { top:11px; transform:rotate(45deg); }
    .hb.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
    .hb.open span:nth-child(3) { bottom:11px; transform:rotate(-45deg); }
    .mm {
      position:fixed; inset:0; background:rgba(11,11,12,.97); backdrop-filter:blur(30px);
      -webkit-backdrop-filter:blur(30px); z-index:1001; display:flex; flex-direction:column;
      align-items:center; justify-content:center;
      opacity:0; visibility:hidden; transition:opacity .5s var(--expo), visibility .5s;
    }
    .mm.open { opacity:1; visibility:visible; }
    .mm a {
      font-family:'Montserrat',sans-serif; font-size:clamp(1.5rem,5vw,2rem); font-weight:700;
      color:var(--white); padding:16px 0; opacity:0; transform:translateY(20px);
      transition:all .5s var(--expo), color .3s;
    }
    .mm.open a { opacity:1; transform:translateY(0); }
    .mm.open a:nth-child(1) { transition-delay:.1s; }
    .mm.open a:nth-child(2) { transition-delay:.15s; }
    .mm.open a:nth-child(3) { transition-delay:.2s; }
    .mm.open a:nth-child(4) { transition-delay:.25s; }
    .mm.open a:nth-child(5) { transition-delay:.3s; }
    .mm a:hover { color:var(--gold); }

    /* ═══ HERO ═══ */
    .hero {
      position:relative; height:100svh; min-height:600px;
      display:flex; align-items:center; justify-content:center;
      overflow:hidden; background:var(--black);
    }
    .hero-bg-text {
      position:absolute; font-family:'Montserrat',sans-serif; font-weight:900;
      font-size: clamp(200px, 30vw, 500px); color:rgba(244,241,234,.03);
      letter-spacing:-0.04em; user-select:none; pointer-events:none;
      z-index:1; white-space:nowrap; will-change:transform;
      top:50%; left:50%; transform:translate(-50%,-50%);
    }
    .hero-img {
      position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
      height:90%; width:auto; max-width:none; z-index:5;
      object-fit:contain; will-change:transform;
      opacity:0; filter:brightness(0);
      animation: heroReveal 2s var(--expo) forwards .4s;
      -webkit-mask-image: radial-gradient(ellipse 70% 70% at center, rgba(0,0,0,1) 40%, rgba(0,0,0,0) 100%);
      mask-image: radial-gradient(ellipse 70% 70% at center, rgba(0,0,0,1) 40%, rgba(0,0,0,0) 100%);
    }
    @keyframes heroReveal {
      0% { opacity:0; filter:brightness(0); transform:translate(-50%,-50%) scale(1.08); }
      50% { filter:brightness(1.15); }
      100% { opacity:1; filter:brightness(1); transform:translate(-50%,-50%) scale(1); }
    }
    .hero-vignette {
      position:absolute; inset:0; z-index:6;
      background: radial-gradient(ellipse at center, transparent 20%, rgba(11,11,12,0.4) 45%, rgba(11,11,12,0.8) 65%, var(--black) 85%);
      pointer-events:none;
    }
    .hero-content {
      position:relative; z-index:20; text-align:center;
      display:flex; flex-direction:column; align-items:center; pointer-events:none;
    }
    .hero-line { display:block; overflow:hidden; }
    .hero-word {
      display:block; font-size:clamp(3.5rem,10vw,10rem); font-weight:900;
      line-height:.88; letter-spacing:-0.04em;
      opacity:0; transform:translateY(110%);
      animation: wordUp 1.1s var(--expo) forwards;
    }
    .hero-line:nth-child(1) .hero-word { animation-delay:.8s; }
    .hero-line:nth-child(2) .hero-word { animation-delay:1s; }
    @keyframes wordUp { to { opacity:1; transform:translateY(0); } }
    .gold-g {
      background:linear-gradient(135deg,var(--gold) 0%,var(--gold-light) 50%,var(--gold) 100%);
      -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
    }
    .hero-sub {
      font-size:clamp(.9rem,2vw,1.15rem); color:var(--gray); max-width:460px;
      margin-top:28px; opacity:0; transform:translateY(20px);
      animation:fadeUp .8s var(--expo) forwards 1.4s; padding:0 20px;
    }
    .hero-cta-row {
      display:flex; gap:16px; margin-top:32px;
      opacity:0; transform:translateY(20px);
      animation:fadeUp .8s var(--expo) forwards 1.6s;
      pointer-events:auto;
    }
    .hero-scroll {
      position:absolute; bottom:max(24px,5svh); left:50%; transform:translateX(-50%);
      z-index:30; display:flex; flex-direction:column; align-items:center; gap:8px;
      opacity:0; animation:fadeUp .8s var(--expo) forwards 1.8s;
    }
    .hero-scroll span {
      font-family:'IBM Plex Mono',monospace; font-size:.6rem; text-transform:uppercase;
      letter-spacing:.3em; color:var(--gray-dark);
    }
    .scroll-line { width:1px; height:40px; position:relative; overflow:hidden; }
    .scroll-line::after {
      content:''; position:absolute; top:-100%; left:0; width:100%; height:100%;
      background:linear-gradient(to bottom,transparent,var(--gold));
      animation:scrollLine 2s ease-in-out infinite;
    }
    @keyframes scrollLine { 0%{top:-100%} 50%{top:100%} 50.01%{top:-100%} 100%{top:100%} }
    @keyframes fadeUp { to {opacity:1; transform:translateY(0);} }

    /* ═══ PRODUCTS ═══ */
    .pg { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2.5vw,32px); }
    .pc {
      background:var(--charcoal); border:1px solid rgba(244,241,234,.05);
      overflow:hidden; position:relative;
      transition:transform .6s var(--expo), box-shadow .6s var(--expo), border-color .6s;
    }
    .pc:hover { transform:translateY(-10px); box-shadow:0 30px 60px rgba(0,0,0,.5); border-color:rgba(200,164,92,.15); }
    .pci {
      height:clamp(220px,30vw,320px); background:var(--black);
      display:flex; align-items:center; justify-content:center; overflow:hidden; position:relative;
    }
    .pci::after { content:''; position:absolute; bottom:0; left:0; right:0; height:60%; background:linear-gradient(to top,var(--charcoal),transparent); z-index:1; }
    .pci img { height:88%; width:auto; object-fit:contain; transition:transform .7s var(--expo); }
    .pc:hover .pci img { transform:scale(1.06) translateY(-4px); }
    .pcb { padding:clamp(20px,3vw,28px); }
    .pcb h3 { font-size:clamp(1rem,2vw,1.2rem); margin-bottom:8px; transition:color .3s; }
    .pc:hover .pcb h3 { color:var(--gold); }
    .pcb p { font-size:.875rem; color:var(--gray); line-height:1.65; margin-bottom:20px; }
    .pcf { display:flex; align-items:center; justify-content:space-between; }
    .pp { font-family:'Montserrat',sans-serif; font-weight:800; font-size:1.4rem; color:var(--gold); }
    .pl {
      font-family:'Montserrat',sans-serif; font-size:.7rem; font-weight:700; text-transform:uppercase;
      letter-spacing:.06em; color:var(--white); display:flex; align-items:center; gap:6px; transition:all .4s var(--expo);
    }
    .pl svg { transition:transform .4s var(--expo); }
    .pl:hover { color:var(--gold); } .pl:hover svg { transform:translateX(4px); }

    /* ═══ BUNDLES ═══ */
    .bkg { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2.5vw,32px); }
    .bk {
      background:var(--charcoal); border:1px solid rgba(244,241,234,.05);
      padding:clamp(24px,3vw,40px) clamp(20px,3vw,32px); position:relative;
      transition:all .6s var(--expo); display:flex; flex-direction:column;
    }
    .bk:hover { transform:translateY(-10px); box-shadow:0 30px 60px rgba(0,0,0,.5); }
    .bk.pop { border-color:rgba(200,164,92,.25); background:linear-gradient(180deg,rgba(200,164,92,.04) 0%,var(--charcoal) 40%); }
    .bk.pop:hover { border-color:rgba(200,164,92,.4); box-shadow:0 30px 60px rgba(200,164,92,.08); }
    .bkbdg {
      position:absolute; top:-1px; right:24px; background:var(--gold); color:var(--black);
      font-family:'Montserrat',sans-serif; font-size:.6rem; font-weight:800; text-transform:uppercase;
      letter-spacing:.12em; padding:6px 14px;
    }
    .bki { height:clamp(140px,18vw,200px); display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
    .bki img { height:100%; width:auto; object-fit:contain; transition:transform .7s var(--expo); }
    .bk:hover .bki img { transform:scale(1.05); }
    .bkn { font-size:clamp(1.15rem,2.2vw,1.5rem); margin-bottom:8px; }
    .bkd { font-size:.875rem; color:var(--gray); line-height:1.6; margin-bottom:20px; }
    .bkpr { display:flex; align-items:baseline; gap:12px; margin-bottom:6px; }
    .bkp { font-family:'Montserrat',sans-serif; font-weight:800; font-size:clamp(1.5rem,3vw,2rem); color:var(--gold); }
    .bko { font-size:.85rem; color:var(--gray-dark); text-decoration:line-through; }
    .bks { font-family:'IBM Plex Mono',monospace; font-size:.7rem; color:var(--gold); margin-bottom:20px; }
    .bkf { list-style:none; margin-bottom:28px; flex-grow:1; }
    .bkf li { padding:10px 0; border-bottom:1px solid rgba(244,241,234,.05); font-size:.875rem; color:var(--gray); display:flex; align-items:center; gap:10px; }
    .bkf li::before { content:'\2713'; color:var(--gold); font-weight:700; font-size:.75rem; }
    .bkc { width:100%; text-align:center; justify-content:center; }

    /* ═══ SERVICES ═══ */
    .svg { display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(12px,2vw,24px); }
    .sc {
      padding:clamp(20px,3vw,32px); border:1px solid rgba(244,241,234,.05);
      transition:all .5s var(--expo); position:relative; overflow:hidden;
    }
    .sc::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(200,164,92,.04),transparent); opacity:0; transition:opacity .5s; }
    .sc:hover::before { opacity:1; }
    .sc:hover { border-color:rgba(200,164,92,.2); transform:translateY(-4px); }
    .si { width:44px; height:44px; display:flex; align-items:center; justify-content:center; color:var(--gold); margin-bottom:18px; }
    .sc h3 { font-size:1rem; margin-bottom:8px; position:relative; }
    .sc p { font-size:.825rem; color:var(--gray); line-height:1.65; position:relative; }

    /* ═══ ABOUT ═══ */
    .asg { display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(12px,2vw,24px); margin-bottom:clamp(40px,6vw,64px); }
    .asc { padding:clamp(20px,3vw,32px); background:var(--charcoal); border:1px solid rgba(244,241,234,.05); transition:all .5s var(--expo); }
    .asc:hover { border-color:rgba(200,164,92,.15); }
    .asv { font-family:'Montserrat',sans-serif; font-weight:900; font-size:clamp(1.75rem,3.5vw,2.5rem); color:var(--gold); line-height:1; margin-bottom:6px; }
    .asl { font-family:'IBM Plex Mono',monospace; font-size:.65rem; text-transform:uppercase; letter-spacing:.15em; color:var(--gray); }
    .abg { display:grid; grid-template-columns:1fr 1fr; gap:clamp(16px,2.5vw,32px); margin-bottom:clamp(32px,4vw,48px); }
    .fc { background:var(--charcoal); border:1px solid rgba(244,241,234,.05); overflow:hidden; transition:all .5s var(--expo); }
    .fc:hover { transform:translateY(-6px); box-shadow:0 20px 50px rgba(0,0,0,.4); }
    .fci { height:clamp(180px,22vw,260px); overflow:hidden; position:relative; }
    .fci::after { content:''; position:absolute; bottom:0; left:0; right:0; height:60%; background:linear-gradient(to top,var(--charcoal),transparent); }
    .fci img { width:100%; height:100%; object-fit:cover; transition:transform .8s var(--expo); }
    .fc:hover .fci img { transform:scale(1.08); }
    .fcb { padding:clamp(20px,3vw,28px); }
    .fcb h3 { font-size:clamp(1rem,2vw,1.2rem); margin-bottom:8px; }
    .fcb p { font-size:.875rem; color:var(--gray); line-height:1.6; }
    .wf { position:relative; height:clamp(250px,35vw,400px); overflow:hidden; display:flex; align-items:center; }
    .wf img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.3; transition:transform .8s var(--expo); }
    .wf:hover img { transform:scale(1.03); }
    .wfo { position:absolute; inset:0; background:linear-gradient(to right,rgba(11,11,12,.92) 30%,rgba(11,11,12,.3) 80%); }
    .wfc { position:relative; z-index:2; padding:0 clamp(24px,5vw,56px); max-width:480px; }
    .wfc h3 { font-size:clamp(1.75rem,4vw,2.5rem); line-height:1; margin-bottom:12px; }
    .wfc p { font-size:.95rem; color:var(--gray); line-height:1.6; }

    /* ═══ TESTIMONIALS ═══ */
    .tt {
      display:flex; gap:clamp(14px,2vw,24px); overflow-x:auto; scroll-snap-type:x mandatory;
      -webkit-overflow-scrolling:touch; padding:12px 0 40px; scrollbar-width:none; cursor:grab;
    }
    .tt:active { cursor:grabbing; }
    .tt::-webkit-scrollbar { display:none; }
    .tc {
      min-width:clamp(280px,80vw,380px); flex-shrink:0; scroll-snap-align:start;
      padding:clamp(22px,3vw,32px); background:var(--charcoal); border:1px solid rgba(244,241,234,.05);
      display:flex; flex-direction:column; gap:18px; transition:all .5s var(--expo);
    }
    .tc:hover { border-color:rgba(200,164,92,.12); transform:translateY(-4px); }
    .ts { color:var(--gold); font-size:.85rem; letter-spacing:3px; }
    .tq { font-size:.95rem; color:var(--white); line-height:1.7; flex-grow:1; font-style:italic; opacity:.9; }
    .ta { display:flex; align-items:center; gap:12px; }
    .tav { width:40px; height:40px; border-radius:50%; background:var(--black); overflow:hidden; border:2px solid rgba(200,164,92,.25); flex-shrink:0; }
    .tav img { width:100%; height:100%; object-fit:cover; }
    .tn { font-family:'Montserrat',sans-serif; font-weight:700; font-size:.85rem; }
    .tr { font-family:'IBM Plex Mono',monospace; font-size:.65rem; color:var(--gray); text-transform:uppercase; letter-spacing:.1em; }
    .shi { display:none; align-items:center; gap:8px; margin-top:16px; }
    .shi span { font-family:'IBM Plex Mono',monospace; font-size:.65rem; text-transform:uppercase; letter-spacing:.15em; color:var(--gray-dark); }

    /* ═══ FAQ ═══ */
    .fl { max-width:800px; }
    .fi { border-bottom:1px solid rgba(244,241,234,.06); }
    .fq {
      width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px;
      padding:22px 0; color:var(--white); font-family:'Montserrat',sans-serif;
      font-size:clamp(.9rem,2vw,1rem); font-weight:600; text-align:left; cursor:pointer; transition:color .3s;
    }
    .fq:hover { color:var(--gold); }
    .fic {
      width:28px; height:28px; border-radius:50%; border:1px solid rgba(244,241,234,.1);
      display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:all .4s var(--expo);
    }
    .fi.open .fic { background:var(--gold); border-color:var(--gold); transform:rotate(180deg); }
    .fic svg { width:14px; height:14px; color:var(--gold); transition:color .3s; }
    .fi.open .fic svg { color:var(--black); }
    .fa { display:grid; grid-template-rows:0fr; transition:grid-template-rows .5s var(--expo); }
    .fi.open .fa { grid-template-rows:1fr; }
    .fai { overflow:hidden; }
    .fa p { padding:0 0 22px; font-size:.9rem; color:var(--gray); line-height:1.7; }

    /* ═══ CTA ═══ */
    .cs {
      background:var(--charcoal); border-top:1px solid rgba(200,164,92,.1);
      border-bottom:1px solid rgba(200,164,92,.1); position:relative; overflow:hidden;
    }
    .cs::before {
      content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
      width:600px; height:600px; background:radial-gradient(circle,rgba(200,164,92,.04) 0%,transparent 60%); pointer-events:none;
    }
    .ci { text-align:center; max-width:560px; margin:0 auto; position:relative; }
    .ci h2 { font-size:clamp(1.5rem,4vw,2.25rem); line-height:1.15; margin-bottom:14px; }
    .ci .sub { color:var(--gray); margin-bottom:28px; line-height:1.6; font-size:.95rem; }
    .cf { display:flex; max-width:460px; margin:0 auto; border:1px solid rgba(244,241,234,.1); transition:border-color .4s; }
    .cf:focus-within { border-color:var(--gold); }
    .cf input { flex:1; padding:15px 18px; background:var(--black); border:none; color:var(--white); font-family:'Inter',sans-serif; font-size:.9rem; outline:none; min-width:0; }
    .cf input::placeholder { color:var(--gray); opacity:.5; }
    .cf .bg { border:none; white-space:nowrap; flex-shrink:0; }

    /* CONTACT */
    .cl { display:flex; align-items:center; gap:12px; color:var(--gray); margin-top:20px; }
    .cl a { color:var(--gold); transition:opacity .3s; word-break:break-all; }
    .cl a:hover { opacity:.75; }

    /* FOOTER */
    footer { padding:40px clamp(16px,4vw,32px) 28px; border-top:1px solid rgba(244,241,234,.05); }
    .fti { max-width:1200px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; }
    .ftc { font-size:.75rem; color:var(--gray-dark); }
    .ftl { display:flex; gap:20px; flex-wrap:wrap; }
    .ftl a { font-family:'IBM Plex Mono',monospace; font-size:.65rem; text-transform:uppercase; letter-spacing:.1em; color:var(--gray); transition:color .3s; }
    .ftl a:hover { color:var(--gold); }

    /* STICKY */
    .sck {
      position:fixed; bottom:0; left:0; right:0; z-index:100;
      background:linear-gradient(to top,rgba(11,11,12,.97),rgba(11,11,12,.85) 50%,transparent);
      padding:28px clamp(16px,4vw,32px) 20px; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
      display:flex; align-items:center; justify-content:center; gap:20px;
      transform:translateY(100%); transition:transform .6s var(--expo);
    }
    .sck.vis { transform:translateY(0); }
    .sck p { font-family:'Montserrat',sans-serif; font-size:.8rem; font-weight:600; color:var(--white); }

    /* ═══ RESPONSIVE ═══ */
    @media (max-width:860px) {
      .nl { display:none; } .hb { display:block; }
      .pg { grid-template-columns:1fr 1fr; } .bkg { grid-template-columns:1fr 1fr; }
      .svg { grid-template-columns:repeat(2,1fr); } .abg { grid-template-columns:1fr 1fr; }
      .asg { grid-template-columns:repeat(2,1fr); } .shi { display:flex; }
    }
    @media (max-width:640px) {
      .pg { grid-template-columns:1fr; max-width:420px; margin:0 auto; }
      .bkg { grid-template-columns:1fr; max-width:420px; margin:0 auto; }
      .svg { grid-template-columns:1fr; } .abg { grid-template-columns:1fr; }
      .asg { grid-template-columns:1fr 1fr; }
      .cf { flex-direction:column; border:none; }
      .cf input { border:1px solid rgba(244,241,234,.1); }
      .cf .bg { width:100%; justify-content:center; }
      .sck { flex-direction:column; gap:10px; padding:20px 16px 16px; }
      .sck p { font-size:.75rem; text-align:center; }
      .hero-word { font-size:clamp(2.8rem,12vw,5rem) !important; }
    }
    @media (max-width:380px) { .asg { grid-template-columns:1fr; } }
    @media (min-width:768px) {
      ::-webkit-scrollbar { width:6px; }
      ::-webkit-scrollbar-track { background:var(--black); }
      ::-webkit-scrollbar-thumb { background:rgba(200,164,92,.4); border-radius:3px; }
      ::-webkit-scrollbar-thumb:hover { background:var(--gold); }
    }
    @media (prefers-reduced-motion:reduce) {
      *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
      .r { opacity:1; transform:none; }
    }
    @media (hover:none) { .pc:hover,.bk:hover,.fc:hover,.tc:hover,.sc:hover { transform:none; } }


    /* ═══════════════════════════════════════════════════════ */
    /* UPGRADE: EASING & VARIABLES                            */
    /* ═══════════════════════════════════════════════════════ */
    :root {
      --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
      --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
      --ease-in-out-circ: cubic-bezier(0.85, 0, 0.15, 1);
      --ease-elastic: cubic-bezier(0.68, -0.55, 0.265, 1.55);
      --ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);
      --marquee-gold: #C8B88A;
      --marquee-gold-dark: #b5a274;
    }

    /* ═══════════════════════════════════════════════════════ */
    /* UPGRADE: SMOOTH SCROLL                                 */
    /* ═══════════════════════════════════════════════════════ */
    html { scroll-behavior: smooth; }

    /* ═══════════════════════════════════════════════════════ */
    /* UPGRADE: GPU ACCELERATION HINTS                        */
    /* ═══════════════════════════════════════════════════════ */
    .pc, .bk, .tc, .sc, .fc, .bg, .bo, .hero-img, .tf-card {
      will-change: transform;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
    }

    /* ═══════════════════════════════════════════════════════ */
    /* UPGRADE: CARD HOVER LIFT (unified)                     */
    /* ═══════════════════════════════════════════════════════ */
    .pc, .bk, .tc, .sc, .fc, .tf-card {
      transition: transform .65s var(--ease-out-expo),
                  box-shadow .65s var(--ease-out-expo),
                  border-color .65s var(--ease-out-expo) !important;
    }
    .pc:hover, .bk:hover, .sc:hover, .fc:hover, .tf-card:hover {
      transform: translateY(-8px) !important;
      box-shadow: 0 20px 50px rgba(0,0,0,.4), 0 0 0 1px rgba(200,164,92,.08) !important;
      border-color: rgba(200,164,92,.15) !important;
    }

    /* ═══════════════════════════════════════════════════════ */
    /* UPGRADE: BUTTON MAGNETIC HOVER                         */
    /* ═══════════════════════════════════════════════════════ */
    .bg, .bo {
      transition: transform .45s var(--ease-elastic),
                  box-shadow .45s var(--ease-out-expo),
                  background .4s ease,
                  border-color .4s ease !important;
    }
    .bg:hover {
      transform: translateY(-3px) scale(1.04) !important;
      box-shadow: 0 16px 44px rgba(200,164,92,.35) !important;
    }
    .bo:hover {
      transform: translateY(-3px) scale(1.03) !important;
      box-shadow: 0 10px 30px rgba(200,164,92,.1) !important;
    }

    /* ═══════════════════════════════════════════════════════ */
    /* UPGRADE: IMAGE ZOOM ON HOVER (products)                */
    /* ═══════════════════════════════════════════════════════ */
    .pci { overflow: hidden; }
    .pci img {
      transition: transform .85s var(--ease-out-expo) !important;
    }
    .pc:hover .pci img {
      transform: scale(1.08) translateY(-4px) !important;
    }

    /* ═══════════════════════════════════════════════════════ */
    /* UPGRADE: STAGGERED ENTRANCE ANIMATIONS                 */
    /* ═══════════════════════════════════════════════════════ */
    .stagger-1 { transition-delay: 0.06s !important; }
    .stagger-2 { transition-delay: 0.14s !important; }
    .stagger-3 { transition-delay: 0.22s !important; }
    .stagger-4 { transition-delay: 0.30s !important; }
    .stagger-5 { transition-delay: 0.38s !important; }
    .stagger-6 { transition-delay: 0.46s !important; }
    .stagger-7 { transition-delay: 0.54s !important; }
    .stagger-8 { transition-delay: 0.62s !important; }

    /* ═══════════════════════════════════════════════════════ */
    /* UPGRADE: SECTION TITLE UNDERLINE WIPE                  */
    /* ═══════════════════════════════════════════════════════ */
    .st {
      position: relative;
      display: inline-block;
    }
    .st::after {
      content: '';
      position: absolute;
      left: 0;
      bottom: -8px;
      width: 0;
      height: 2px;
      background: linear-gradient(90deg, var(--gold), var(--gold-light, #D4B76E));
      transition: width 1.4s var(--ease-out-expo);
    }
    .st.wipe-active::after {
      width: 64px;
    }

    /* ═══════════════════════════════════════════════════════ */
    /* UPGRADE: SMOOTH NAV TRANSITION                         */
    /* ═══════════════════════════════════════════════════════ */
    nav {
      transition: background .5s var(--ease-out-quart),
                  border-color .5s var(--ease-out-quart),
                  backdrop-filter .5s var(--ease-out-quart) !important;
    }

    /* ═══════════════════════════════════════════════════════ */
    /* UPGRADE: HERO MOUSE GRADIENT                           */
    /* ═══════════════════════════════════════════════════════ */
    .hero-gradient-follow {
      position: absolute;
      inset: 0;
      z-index: 4;
      pointer-events: none;
      opacity: 0;
      transition: opacity 1.8s ease;
    }
    .hero-gradient-follow.active {
      opacity: 1;
    }

    /* ═══════════════════════════════════════════════════════ */
    /* UPGRADE: HERO IMAGE ADJUSTMENTS (new photo blend)      */
    /* ═══════════════════════════════════════════════════════ */
    .hero-img {
      filter: brightness(0.88) contrast(1.1) !important;
      -webkit-mask-image: radial-gradient(ellipse 70% 72% at center, rgba(0,0,0,1) 25%, rgba(0,0,0,0.6) 50%, rgba(0,0,0,0.15) 70%, rgba(0,0,0,0) 88%) !important;
      mask-image: radial-gradient(ellipse 70% 72% at center, rgba(0,0,0,1) 25%, rgba(0,0,0,0.6) 50%, rgba(0,0,0,0.15) 70%, rgba(0,0,0,0) 88%) !important;
    }

    /* ═══════════════════════════════════════════════════════ */
    /* FIX: SCROLL ICON CENTERING                             */
    /* The fadeUp animation was overriding translateX(-50%)   */
    /* ═══════════════════════════════════════════════════════ */
    @keyframes fadeUpCenter {
      from { opacity: 0; transform: translateX(-50%) translateY(20px); }
      to   { opacity: 1; transform: translateX(-50%) translateY(0); }
    }
    .hero-scroll {
      animation: fadeUpCenter .8s var(--expo) forwards 1.8s !important;
    }

    /* ═══════════════════════════════════════════════════════ */
    /* UPGRADE: MARQUEE STRIP                                 */
    /* ═══════════════════════════════════════════════════════ */
    .marquee-strip {
      overflow: hidden;
      background: var(--marquee-gold);
      padding: 16px 0;
      white-space: nowrap;
      position: relative;
      z-index: 10;
    }
    .marquee-track {
      display: inline-flex;
      animation: marqueeScroll 42s linear infinite;
      will-change: transform;
    }
    .marquee-track:hover {
      animation-play-state: paused;
    }
    .marquee-item {
      font-family: 'Montserrat', sans-serif;
      font-weight: 800;
      font-size: clamp(0.65rem, 1.1vw, 0.8rem);
      text-transform: uppercase;
      letter-spacing: 0.22em;
      color: var(--black);
      padding: 0 clamp(18px, 3vw, 36px);
      display: inline-flex;
      align-items: center;
      gap: clamp(18px, 3vw, 36px);
      flex-shrink: 0;
      user-select: none;
    }
    .marquee-item::after {
      content: '\2726';
      font-size: 0.6em;
      opacity: 0.4;
    }
    @keyframes marqueeScroll {
      0%   { transform: translateX(0); }
      100% { transform: translateX(-50%); }
    }

    /* ═══════════════════════════════════════════════════════ */
    /* UPGRADE: TRANSFORMATION SECTION                        */
    /* ═══════════════════════════════════════════════════════ */
    .tf-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: clamp(16px, 2.5vw, 28px);
      margin-top: clamp(28px, 4vw, 48px);
    }
    .tf-card {
      position: relative;
      background: var(--charcoal);
      border: 1px solid rgba(244,241,234,.04);
      overflow: hidden;
      display: flex;
      flex-direction: column;
    }
    .tf-img-wrap {
      position: relative;
      overflow: hidden;
      aspect-ratio: 16 / 11;
    }
    .tf-img-wrap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 1s var(--ease-out-expo);
    }
    .tf-card:hover .tf-img-wrap img {
      transform: scale(1.04);
    }
    .tf-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(11,11,12,0.7) 0%, transparent 50%);
      pointer-events: none;
    }
    .tf-badge {
      position: absolute;
      top: 16px;
      right: 16px;
      background: var(--gold);
      color: var(--black);
      font-family: 'Montserrat', sans-serif;
      font-weight: 800;
      font-size: 0.65rem;
      letter-spacing: 0.1em;
      padding: 6px 14px;
      text-transform: uppercase;
      z-index: 2;
    }
    .tf-labels {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      display: flex;
      z-index: 2;
      pointer-events: none;
    }
    .tf-label {
      flex: 1;
      text-align: center;
      padding: 10px 0;
      font-family: 'IBM Plex Mono', monospace;
      font-size: 0.6rem;
      text-transform: uppercase;
      letter-spacing: 0.2em;
      color: rgba(244,241,234,.6);
    }
    .tf-info {
      padding: clamp(16px, 2vw, 24px);
      display: flex;
      flex-direction: column;
      gap: 4px;
    }
    .tf-name {
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: clamp(0.85rem, 1.2vw, 1rem);
      color: var(--white);
    }
    .tf-detail {
      font-family: 'IBM Plex Mono', monospace;
      font-size: 0.65rem;
      color: var(--gray);
      text-transform: uppercase;
      letter-spacing: 0.12em;
    }
    @media (max-width: 768px) {
      .tf-grid { grid-template-columns: 1fr; }
      .tf-img-wrap { aspect-ratio: 16 / 10; }
    }

    /* ═══════════════════════════════════════════════════════ */
    /* UPGRADE: SMOOTH REVEAL ANIMATIONS                      */
    /* ═══════════════════════════════════════════════════════ */
    .r {
      opacity: 0;
      transform: translateY(40px);
      transition: opacity .9s var(--ease-out-expo),
                  transform .9s var(--ease-out-expo) !important;
    }
    .r.v {
      opacity: 1;
      transform: translateY(0) !important;
    }

    /* ═══════════════════════════════════════════════════════ */
    /* UPGRADE: FAQ SMOOTH ACCORDION                          */
    /* ═══════════════════════════════════════════════════════ */
    .fa {
      transition: max-height .5s var(--ease-out-expo),
                  padding .5s var(--ease-out-expo),
                  opacity .5s var(--ease-out-expo) !important;
    }

    /* ═══════════════════════════════════════════════════════ */
    /* UPGRADE: SMOOTH LINK/ANCHOR UNDERLINES                 */
    /* ═══════════════════════════════════════════════════════ */
    a {
      transition: color .3s var(--ease-smooth),
                  opacity .3s var(--ease-smooth);
    }

    /* ═══════════════════════════════════════════════════════ */
    /* UPGRADE: MARQUEE RESPONSIVE                            */
    /* ═══════════════════════════════════════════════════════ */
    @media (max-width: 640px) {
      .marquee-strip { padding: 12px 0; }
      .marquee-item { letter-spacing: 0.14em; }
    }

    /* ═══════════════════════════════════════════════════════ */
    /* UPGRADE: REDUCED MOTION RESPECT                        */
    /* ═══════════════════════════════════════════════════════ */
    @media (prefers-reduced-motion: reduce) {
      .marquee-track { animation: none !important; }
      .hero-gradient-follow { display: none !important; }
      .st::after { transition-duration: 0.01ms !important; }
      html { scroll-behavior: auto !important; }
      .r { transition-duration: 0.01ms !important; }
    }