/* ═══ HOME PAGE ═══ */

/* ═══ HERO ═══ */
#zxn .zx-hero{
  min-height:100svh;position:relative;overflow:hidden;
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(9rem,14vh,12rem) 0 clamp(3rem,6vh,5rem);
  background:var(--ink) !important;
}
#zxn .zx-hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
#zxn .zx-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:62% 40%;filter:grayscale(.2) brightness(.42) saturate(.9);animation:zxKenBurns 28s ease-in-out infinite alternate;transform-origin:64% 40%}
#zxn .zx-hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,var(--ink) 10%,rgba(10,20,20,.8) 40%,rgba(10,20,20,.4) 68%,var(--ink) 100%)}
@keyframes zxKenBurns{from{transform:scale(1.06)}to{transform:scale(1.16) translate(-1.5%,-1%)}}
#zxn .zx-atmo{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse 60% 45% at 18% 8%,rgba(215,181,122,.09),transparent 60%),radial-gradient(ellipse 55% 50% at 88% 90%,rgba(31,69,68,.4),transparent 65%)}
#zxn .zx-rulev{position:absolute;top:0;bottom:0;left:clamp(1.75rem,6vw,5.5rem);width:1px;background:linear-gradient(to bottom,transparent,var(--line) 25%,var(--line) 75%,transparent);z-index:0}
#zxn .zx-hero-in{position:relative;z-index:1}
#zxn .zx-hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:3rem}
#zxn .zx-hero-copy{max-width:880px}
#zxn .zx-h1{
  font-family:var(--serif) !important;font-weight:300 !important;
  font-size:clamp(3.4rem,9.5vw,8.6rem) !important;
  line-height:1 !important;letter-spacing:-.02em !important;
  margin:1.8rem 0 2.2rem !important;color:var(--ivory) !important;
}
#zxn .zx-h1 .zx-ln{display:block;overflow:hidden}
#zxn .zx-h1 .zx-ln>span{display:inline-block;transform:translateY(110%);animation:zxRise 1.1s var(--ease) forwards}
#zxn .zx-h1 .zx-ln:nth-child(2)>span{animation-delay:.15s}
@keyframes zxRise{to{transform:translateY(0)}}
#zxn .zx-h1 em{
  font-style:italic;font-weight:400;
  background:linear-gradient(115deg,var(--goldhi) 5%,var(--gold) 50%,#9A7C45 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
#zxn .zx-hero-sub{max-width:560px;color:var(--ivdim) !important;font-size:clamp(1.05rem,1.5vw,1.22rem) !important;line-height:1.75 !important;margin-bottom:3rem !important}
#zxn .zx-hero-sub strong{color:var(--ivory) !important;font-weight:600}
#zxn .zx-hero-ctas{display:flex;gap:1.1rem;flex-wrap:wrap}

#zxn .zx-seal{flex-shrink:0;width:clamp(120px,13vw,168px);height:clamp(120px,13vw,168px);position:relative;display:flex;align-items:center;justify-content:center}
#zxn .zx-seal-ring{position:absolute;inset:0;animation:zxSpin 26s linear infinite}
@keyframes zxSpin{to{transform:rotate(360deg)}}
#zxn .zx-seal-ring text{font-family:var(--sans);font-size:9.5px;font-weight:700;letter-spacing:.32em;fill:var(--gold);text-transform:uppercase}
#zxn .zx-seal-core{width:52%;height:52%;border:1px solid var(--goldline);border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--golddim);perspective:400px}
#zxn .zx-seal-core .zx-logo-spin{animation-delay:-2.3s,-2.3s;width:56%}
#zxn .zx-seal-core img{width:100%;height:auto}

#zxn .zx-hbase{margin-top:clamp(3.5rem,7vh,6rem);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}
#zxn .zx-hb{padding:1.8rem 1.5rem 0 0}
#zxn .zx-hb+.zx-hb{padding-left:1.8rem;border-left:1px solid var(--line)}
#zxn .zx-hb-n{font-family:var(--serif) !important;font-size:clamp(1.9rem,3vw,2.7rem) !important;font-weight:400 !important;line-height:1 !important;color:var(--ivory) !important}
#zxn .zx-hb-n i{font-style:italic;color:var(--gold) !important}
#zxn .zx-hb-l{font-family:var(--sans) !important;font-size:10px !important;font-weight:700 !important;letter-spacing:.24em !important;text-transform:uppercase !important;color:var(--ivmute) !important;margin-top:.6rem !important}

/* ═══ CLIENTS ═══ */
#zxn .zx-clients{padding:3.6rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ink2) !important;overflow:hidden}
#zxn .zx-cl-label{text-align:center;font-family:var(--sans) !important;font-size:10px !important;font-weight:700 !important;letter-spacing:.4em !important;text-transform:uppercase !important;color:var(--ivmute) !important;margin-bottom:2.4rem !important}
#zxn .zx-mq-outer{overflow:hidden;mask-image:linear-gradient(to right,transparent,black 12%,black 88%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 12%,black 88%,transparent)}
#zxn .zx-mq{display:flex;width:max-content;animation:zxMq 38s linear infinite}
#zxn .zx-mq:hover{animation-play-state:paused}
@keyframes zxMq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
#zxn .zx-c{flex-shrink:0;width:210px;height:74px;display:flex;align-items:center;justify-content:center;padding:0 2.6rem;position:relative}
#zxn .zx-c::after{content:'';position:absolute;right:0;top:22%;bottom:22%;width:1px;background:var(--line)}
#zxn .zx-c img{max-height:38px;max-width:100%;object-fit:contain;filter:grayscale(1) opacity(.38) brightness(1.6);transition:filter .4s,transform .4s}
#zxn .zx-c:hover img{filter:grayscale(0) opacity(1) brightness(1);transform:scale(1.06)}

/* ═══ ABOUT ═══ */
#zxn .zx-about{padding:clamp(6.5rem,12vw,11rem) 0;position:relative;background:var(--ink) !important}
#zxn .zx-about-g{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(3rem,7vw,7rem);align-items:start}
#zxn .zx-about-h{margin:1.6rem 0 1.8rem !important}
#zxn .zx-about-b{color:var(--ivdim) !important;font-size:1.12rem !important;line-height:1.8 !important;margin-bottom:3rem !important;max-width:520px}
#zxn .zx-creed{border-top:1px solid var(--line)}
#zxn .zx-cr{display:flex;gap:1.6rem;align-items:baseline;padding:1.5rem 0;border-bottom:1px solid var(--line);transition:padding-left .35s var(--ease);position:relative}
#zxn .zx-cr::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold);transform:scaleY(0);transition:transform .35s var(--ease)}
#zxn .zx-cr:hover{padding-left:1.4rem}
#zxn .zx-cr:hover::before{transform:scaleY(1)}
#zxn .zx-cr-n{font-family:var(--serif) !important;font-style:italic !important;font-size:1rem !important;color:var(--gold) !important;flex-shrink:0;width:2rem}
#zxn .zx-cr-t{font-family:var(--sans) !important;font-size:1rem !important;font-weight:500 !important;color:var(--ivory) !important;line-height:1.6 !important}
#zxn .zx-panel{position:sticky;top:110px;border:1px solid var(--goldline);padding:clamp(2.5rem,4vw,3.5rem);background:radial-gradient(circle at 80% 12%,rgba(215,181,122,.12),transparent 55%),linear-gradient(150deg,var(--green) 0%,#0D2120 75%) !important;text-align:center;position:sticky;overflow:hidden}
#zxn .zx-panel::before{content:'';position:absolute;inset:10px;border:1px solid var(--line);pointer-events:none}
#zxn .zx-dots{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(215,181,122,.12) 1px,transparent 1px);background-size:26px 26px;animation:zxDrift 34s linear infinite;opacity:.5}
@keyframes zxDrift{to{background-position:26px 26px}}
#zxn .zx-panel-in{position:relative;z-index:1;padding:2.5rem 0}
#zxn .zx-panel-logo{width:clamp(88px,9vw,120px);margin:0 auto 2.2rem;filter:drop-shadow(0 0 26px rgba(215,181,122,.18))}
#zxn .zx-panel-t{font-family:var(--serif) !important;font-size:clamp(1.7rem,2.4vw,2.2rem) !important;font-weight:400 !important;line-height:1.15 !important;margin-bottom:1.2rem !important;color:var(--ivory) !important}
#zxn .zx-panel-t em{font-style:italic;color:var(--gold) !important;-webkit-text-fill-color:var(--gold)}
#zxn .zx-panel-r{width:44px;height:1px;background:var(--gold);margin:0 auto 1.2rem}
#zxn .zx-panel-s{font-family:var(--serif) !important;font-style:italic !important;color:var(--ivdim) !important;font-size:1.02rem !important}

/* ═══ SERVICES ═══ */
#zxn .zx-svcs{padding:clamp(6.5rem,12vw,11rem) 0;border-top:1px solid var(--line);background:var(--ink2) !important;position:relative;overflow:hidden}
#zxn .zx-svc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2.5rem;margin-bottom:clamp(3rem,6vw,4.5rem);flex-wrap:wrap}
#zxn .zx-svc-head .zx-display{margin-top:1.4rem !important}
#zxn .zx-svc-note{max-width:330px;color:var(--ivdim) !important;font-size:.98rem !important;line-height:1.7 !important;padding-bottom:.5rem}
#zxn .zx-ledger{border-top:1px solid var(--line)}
#zxn .zx-svc{display:grid;grid-template-columns:88px 1.05fr 1.3fr 64px;align-items:center;gap:2rem;padding:2.4rem 0;border-bottom:1px solid var(--line);position:relative;transition:all .4s var(--ease);cursor:pointer}
#zxn .zx-svc::before{content:'';position:absolute;inset:0 -2rem;background:linear-gradient(90deg,var(--golddim),transparent 65%);opacity:0;transition:opacity .4s;pointer-events:none}
#zxn .zx-svc:hover::before{opacity:1}
#zxn .zx-svc:hover{padding-left:1.2rem}
#zxn .zx-svc-no{font-family:var(--serif) !important;font-style:italic !important;font-size:1.05rem !important;color:var(--ivmute) !important;transition:color .3s}
#zxn .zx-svc:hover .zx-svc-no{color:var(--gold) !important}
#zxn .zx-svc-nm{font-family:var(--serif) !important;font-weight:400 !important;letter-spacing:-.01em !important;font-size:clamp(1.5rem,2.6vw,2.2rem) !important;line-height:1.1 !important;color:var(--ivory) !important;transition:color .3s}
#zxn .zx-svc:hover .zx-svc-nm{color:var(--goldhi) !important}
#zxn .zx-svc-d{color:var(--ivdim) !important;font-size:.96rem !important;line-height:1.65 !important;max-width:460px}
#zxn .zx-svc-go{width:52px;height:52px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;justify-self:end;transition:all .4s cubic-bezier(.34,1.56,.64,1)}
#zxn .zx-svc-go svg{width:18px;height:18px;stroke:var(--ivdim);transition:stroke .3s}
#zxn .zx-svc:hover .zx-svc-go{background:var(--gold);border-color:var(--gold);transform:rotate(-45deg) scale(1.08)}
#zxn .zx-svc:hover .zx-svc-go svg{stroke:#0A1414}
#zxn .zx-svc-lnk{position:absolute;inset:0;z-index:5}

/* ═══ WORK ═══ */
#zxn .zx-work{padding:clamp(6.5rem,12vw,11rem) 0;border-top:1px solid var(--line);background:var(--ink) !important}
#zxn .zx-work-head{text-align:center;display:flex;flex-direction:column;align-items:center;margin-bottom:clamp(3.5rem,7vw,5.5rem)}
#zxn .zx-work-head .zx-display{margin-top:1.4rem !important}
#zxn .zx-work-g{display:grid;grid-template-columns:1fr 1fr;gap:26px}
#zxn .zx-wk{position:relative;overflow:hidden;display:block;border:1px solid var(--line);aspect-ratio:16/11;background:#000 !important;transition:all .5s var(--ease)}
#zxn .zx-wk:hover{border-color:var(--goldline);transform:translateY(-8px);box-shadow:0 28px 56px rgba(0,0,0,.55)}
#zxn .zx-wk-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:transform .9s var(--ease)}
#zxn .zx-wk:hover .zx-wk-bg{transform:scale(1.07)}
#zxn .zx-wk-logo{opacity:.16;filter:grayscale(1);width:34%;transition:all .5s}
#zxn .zx-wk:hover .zx-wk-logo{opacity:.07}
#zxn .zx-wk-ol{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,20,20,.96) 0%,rgba(10,20,20,.35) 55%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(1.6rem,3.5vw,2.8rem)}
#zxn .zx-wk-tag{font-family:var(--sans) !important;font-size:10px !important;font-weight:700 !important;letter-spacing:.28em !important;text-transform:uppercase !important;color:var(--gold) !important;margin-bottom:.8rem !important;display:block}
#zxn .zx-wk-t{font-family:var(--serif) !important;font-weight:400 !important;font-size:clamp(1.9rem,3.4vw,2.8rem) !important;letter-spacing:-.01em !important;margin-bottom:.7rem !important;color:var(--ivory) !important}
#zxn .zx-wk-d{font-size:.94rem !important;color:var(--ivdim) !important;max-width:400px;line-height:1.65 !important}
#zxn .zx-wk-arr{position:absolute;top:1.8rem;right:1.8rem;width:50px;height:50px;border-radius:50%;background:rgba(243,239,228,.04);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px);transition:all .4s cubic-bezier(.34,1.56,.64,1)}
#zxn .zx-wk-arr svg{stroke:var(--ivory);width:18px;height:18px;transition:stroke .3s}
#zxn .zx-wk:hover .zx-wk-arr{background:var(--gold);border-color:var(--gold);transform:rotate(-45deg) scale(1.1)}
#zxn .zx-wk:hover .zx-wk-arr svg{stroke:#0A1414}
#zxn .zx-work-more{text-align:center;margin-top:3.6rem}

/* ═══ PROCESS ═══ */
#zxn .zx-proc{padding:clamp(6.5rem,12vw,11rem) 0;border-top:1px solid var(--line);background:var(--ink2) !important}
#zxn .zx-proc-head{text-align:center;display:flex;flex-direction:column;align-items:center;margin-bottom:clamp(3.5rem,7vw,5rem)}
#zxn .zx-proc-head .zx-display{margin-top:1.4rem !important}
#zxn .zx-proc-g{display:grid;grid-template-columns:repeat(4,1fr);position:relative}
#zxn .zx-proc-g::before{content:'';position:absolute;top:26px;left:6%;right:6%;height:1px;background:linear-gradient(90deg,transparent,var(--goldline) 12%,var(--goldline) 88%,transparent)}
#zxn .zx-ps{padding:0 1.6rem;position:relative;text-align:left}
#zxn .zx-ps-dot{width:52px;height:52px;border-radius:50%;border:1px solid var(--goldline);background:var(--ink2);display:flex;align-items:center;justify-content:center;font-family:var(--serif) !important;font-style:italic;font-size:1rem;color:var(--gold) !important;margin-bottom:1.8rem;position:relative;z-index:1;transition:all .35s var(--ease)}
#zxn .zx-ps:hover .zx-ps-dot{background:var(--gold);color:#0A1414 !important;box-shadow:0 0 30px rgba(215,181,122,.35)}
#zxn .zx-ps-t{font-family:var(--serif) !important;font-weight:400 !important;font-size:1.45rem !important;margin-bottom:.9rem !important;color:var(--ivory) !important}
#zxn .zx-ps-d{font-size:.92rem !important;color:var(--ivdim) !important;line-height:1.7 !important}
#zxn .zx-ps-lnk{position:absolute;inset:0;z-index:5}

/* ═══ TESTIMONIALS ═══ */
#zxn .zx-tv-sec{padding:clamp(6.5rem,12vw,11rem) 0;border-top:1px solid var(--line);background:var(--ink) !important}
#zxn .zx-tv-head{text-align:center;display:flex;flex-direction:column;align-items:center;margin-bottom:clamp(3.5rem,7vw,5rem)}
#zxn .zx-tv-head .zx-display{margin-top:1.4rem !important}
#zxn .zx-tv-g{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
#zxn .zx-tv{border:1px solid var(--line);background:var(--ink3) !important;padding:2.6rem 2.3rem;display:flex;flex-direction:column;transition:all .4s var(--ease);position:relative}
#zxn .zx-tv::before{content:'\201C';position:absolute;top:1.1rem;right:1.6rem;font-family:var(--serif);font-size:5.5rem;line-height:1;color:var(--golddim);font-style:italic;pointer-events:none}
#zxn .zx-tv:hover{border-color:var(--goldline);transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.5)}
#zxn .zx-tv-st{display:flex;gap:4px;margin-bottom:1.6rem}
#zxn .zx-tv-st svg{width:14px;height:14px;fill:var(--gold)}
#zxn .zx-tv-q{font-family:var(--serif) !important;font-style:italic !important;font-weight:300 !important;font-size:1.08rem !important;color:var(--ivory) !important;line-height:1.8 !important;margin-bottom:2rem !important;flex:1}
#zxn .zx-tv-w{display:flex;align-items:center;gap:1rem;border-top:1px solid var(--line);padding-top:1.5rem}
#zxn .zx-tv-m{width:46px;height:46px;border-radius:50%;flex-shrink:0;border:1px solid var(--goldline);background:var(--golddim);display:flex;align-items:center;justify-content:center;font-family:var(--serif) !important;font-style:italic;font-size:.92rem;color:var(--gold) !important}
#zxn .zx-tv-n{font-size:.92rem !important;font-weight:700 !important;color:var(--ivory) !important}
#zxn .zx-tv-r{font-size:.78rem !important;color:var(--ivmute) !important;letter-spacing:.04em !important}

/* ═══ CTA ═══ */
#zxn .zx-cta{padding:clamp(6.5rem,12vw,11rem) 0;border-top:1px solid var(--line);position:relative;overflow:hidden;background:var(--ink) !important}
#zxn .zx-cta-glow{position:absolute;top:-160px;left:50%;transform:translateX(-50%);width:860px;height:430px;background:radial-gradient(ellipse,rgba(215,181,122,.13),transparent 70%);pointer-events:none}
#zxn .zx-cta-in{text-align:center;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
#zxn .zx-cta-h{font-size:clamp(3rem,7vw,6.4rem) !important;margin:1.8rem 0 1.6rem !important}
#zxn .zx-cta-s{color:var(--ivdim) !important;font-size:1.12rem !important;max-width:520px;margin:0 auto 3rem !important;line-height:1.75 !important}
#zxn .zx-cta-b{display:flex;gap:1.1rem;justify-content:center;flex-wrap:wrap;margin-bottom:clamp(3.5rem,7vw,5rem)}
#zxn .zx-cc-g{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);max-width:900px;width:100%;margin:0 auto;text-align:left}
#zxn .zx-cc{background:var(--ink2) !important;padding:2.2rem 2rem;transition:background .3s}
#zxn .zx-cc:hover{background:var(--ink3) !important}
#zxn .zx-cc-l{font-family:var(--sans) !important;font-size:9.5px !important;font-weight:700 !important;letter-spacing:.28em !important;text-transform:uppercase !important;color:var(--gold) !important;margin-bottom:1.1rem !important}
#zxn .zx-cc-m{font-family:var(--serif) !important;font-size:1.18rem !important;font-weight:400 !important;margin-bottom:.3rem !important;color:var(--ivory) !important}
#zxn .zx-cc-s{font-size:.85rem !important;color:var(--ivmute) !important;font-style:italic !important;font-family:var(--serif) !important}
#zxn .zx-cc a.zx-cc-line{display:block;font-size:.98rem !important;font-weight:600 !important;color:var(--ivory) !important;line-height:1.9 !important;transition:color .3s}
#zxn .zx-cc a.zx-cc-line:hover{color:var(--gold) !important}
#zxn .zx-cc a.zx-cc-mail{display:block;font-size:.86rem !important;color:var(--ivdim) !important;margin-top:.35rem !important;transition:color .3s;word-break:break-all}
#zxn .zx-cc a.zx-cc-mail:hover{color:var(--gold) !important}

/* ═══ RESPONSIVE ═══ */
@media(max-width:1024px){
  #zxn .zx-about-g{grid-template-columns:1fr;gap:4rem}
  #zxn .zx-panel{position:static;max-width:520px;margin:0 auto}
  #zxn .zx-svc{grid-template-columns:56px 1fr 56px;grid-template-areas:"no name go" "no desc go"}
  #zxn .zx-svc-no{grid-area:no}#zxn .zx-svc-nm{grid-area:name}#zxn .zx-svc-d{grid-area:desc;max-width:none}#zxn .zx-svc-go{grid-area:go}
  #zxn .zx-proc-g{grid-template-columns:repeat(2,1fr);gap:3rem 1.5rem}
  #zxn .zx-proc-g::before{display:none}
  #zxn .zx-hbase{grid-template-columns:repeat(2,1fr)}
  #zxn .zx-hb:nth-child(3),#zxn .zx-hb:nth-child(4){border-top:1px solid var(--line);margin-top:1.6rem}
  #zxn .zx-hb:nth-child(3){border-left:none;padding-left:0}
}
@media(max-width:860px){
  #zxn .zx-nav-links,#zxn .zx-nav-cta{display:none}
  #zxn .zx-burger{display:flex}
  #zxn .zx-seal{display:none}
  #zxn .zx-work-g{grid-template-columns:1fr}
  #zxn .zx-tv-g{grid-template-columns:1fr}
  #zxn .zx-cc-g{grid-template-columns:1fr}
  #zxn .zx-ft-top{flex-direction:column;text-align:center}
  #zxn .zx-ft-links{justify-content:center}
  #zxn .zx-ft-btm{flex-direction:column;text-align:center}
  #zxn .zx-svc-head{flex-direction:column;align-items:flex-start}
}
@media(max-width:600px){
  #zxn .zx-proc-g{grid-template-columns:1fr;gap:2.8rem}
  #zxn .zx-hero-ctas{flex-direction:column;width:100%}
  #zxn .zx-btn-gold,#zxn .zx-btn-ghost{justify-content:center;width:100%}
  #zxn .zx-svc{grid-template-columns:1fr;grid-template-areas:"no" "name" "desc" "go";gap:.8rem}
  #zxn .zx-svc-go{justify-self:start}
  #zxn .zx-hbase{grid-template-columns:1fr;border-top:none}
  #zxn .zx-hb{border-left:none !important;padding-left:0 !important;margin-top:0 !important;border-top:1px solid var(--line);padding-top:1.4rem;padding-bottom:.4rem}
}
@media(prefers-reduced-motion:reduce){
  #zxn .zx-h1 .zx-ln>span{transform:none;animation:none}
}
