/* ═══ Nexus Bridge — Award Polish Layer v1 (2026-06-11) ═══
   Site-wide design enhancements: cross-document view transitions,
   scroll-driven progress bar, scroll reveals, sticky CTA bar,
   CTA micro-interactions, film grain, reduced-motion support.
   CSP-safe: self-hosted, zero external dependencies. */

/* 1 ── Cross-document page transitions (Chrome 126+ / Safari 18.2+; others ignore) */
@view-transition{navigation:auto}
::view-transition-old(root){animation-duration:.18s}
::view-transition-new(root){animation-duration:.26s}

/* 2 ── Gold scroll progress bar (pure CSS scroll-driven; no-op if unsupported) */
@supports (animation-timeline: scroll()){
  body::before{content:'';position:fixed;top:0;left:0;right:0;height:2px;z-index:1200;pointer-events:none;
    background:linear-gradient(90deg,#C49A3C,#E0B86A);transform-origin:0 50%;transform:scaleX(0);
    animation:ap-progress linear both;animation-timeline:scroll(root)}
  @keyframes ap-progress{to{transform:scaleX(1)}}
}

/* 3 ── Film grain (same rule as homepage + route pages; now uniform site-wide) */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.022;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E")}

/* 4 ── Scroll reveals (.ap-reveal added by JS only — content always visible without JS) */
.ap-reveal{opacity:0;transform:translateY(26px);transition:opacity .65s ease,transform .8s cubic-bezier(.16,1,.3,1);transition-delay:var(--ap-d,0s)}
.ap-reveal.ap-in{opacity:1;transform:none}

/* 5 ── CTA + card micro-interactions (matches homepage's existing sweep language) */
.btn-g{position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.btn-g:hover{box-shadow:0 8px 28px rgba(196,154,60,.32)}
.btn-g::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.18) 50%,transparent 60%);transform:translateX(-101%);transition:transform .5s;pointer-events:none}
.btn-g:hover::after{transform:translateX(101%)}
.btn-o{transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.btn-o:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(196,154,60,.18)}
.card{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(0,0,0,.35)}

/* 6 ── Sticky CTA bar (element injected by JS; dismissible; pages with their own
       mobile bar keep it — this one hides itself on mobile there) */
#ap-bar{position:fixed;left:50%;bottom:18px;transform:translate(-50%,160%);opacity:0;display:flex;align-items:center;gap:16px;
  padding:9px 10px 9px 22px;background:rgba(10,26,44,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(196,154,60,.35);border-radius:999px;z-index:940;box-shadow:0 12px 40px rgba(0,0,0,.45);
  transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .35s;max-width:calc(100vw - 24px);white-space:nowrap}
#ap-bar.ap-on{transform:translate(-50%,0);opacity:1}
.ap-bar-txt{font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;color:#E0B86A}
.ap-bar-phone{color:rgba(255,255,255,.85);font-size:14px;text-decoration:none;font-family:'DM Sans',sans-serif}
.ap-bar-phone:hover{color:#E0B86A}
.ap-bar-btn{font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;color:#06101C;background:linear-gradient(135deg,#C49A3C,#E0B86A);padding:11px 22px;border-radius:999px;text-decoration:none}
.ap-bar-x{background:none;border:none;color:rgba(255,255,255,.45);font-size:20px;cursor:pointer;padding:2px 10px 4px;line-height:1}
.ap-bar-x:hover{color:#fff}
@media(max-width:720px){
  #ap-bar{left:10px;right:10px;bottom:10px;transform:translateY(160%);max-width:none;justify-content:space-between;padding:8px 8px 8px 14px;border-radius:14px}
  #ap-bar.ap-on{transform:translateY(0)}
  .ap-bar-phone{display:none}
  .ap-bar-txt{font-size:11px;letter-spacing:1.8px}
  body.ap-has-mbar #ap-bar{display:none}
}

/* 7 ── Multi-step seller form (runtime enhancement of existing forms;
       no-JS users get the original single-block form) */
.sfs-head{margin-bottom:26px}
.sfs-label{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.sfs-step-txt{font-family:'Barlow Condensed',sans-serif;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;color:#C49A3C}
.sfs-q{font-family:'Cormorant Garamond',serif;font-size:clamp(20px,2.6vw,26px);font-weight:300;font-style:italic;color:#fff}
.sfs-track{height:3px;background:rgba(255,255,255,.08);border-radius:2px;overflow:hidden}
.sfs-fill{height:100%;width:0;background:linear-gradient(90deg,#C49A3C,#E0B86A);transition:width .45s cubic-bezier(.16,1,.3,1)}
.sfs-step{display:none}
.sfs-step.sfs-on{display:block;animation:sfsIn .45s cubic-bezier(.16,1,.3,1)}
@keyframes sfsIn{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:none}}
.sfs-chips{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 4px}
.sfs-chip{font-family:'DM Sans',sans-serif;font-size:14px;color:rgba(255,255,255,.85);background:rgba(255,255,255,.04);border:1px solid rgba(196,154,60,.25);border-radius:999px;padding:11px 18px;cursor:pointer;transition:all .22s ease;user-select:none}
.sfs-chip:hover{border-color:#C49A3C;background:rgba(196,154,60,.10);transform:translateY(-1px)}
.sfs-chip.sfs-sel{background:linear-gradient(135deg,#C49A3C,#E0B86A);color:#06101C;border-color:#E0B86A;font-weight:600}
.sfs-nav{display:flex;justify-content:space-between;align-items:center;margin-top:22px;gap:12px}
.sfs-back{font-family:'Barlow Condensed',sans-serif;font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:rgba(255,255,255,.55);background:none;border:none;cursor:pointer;padding:10px 4px}
.sfs-back:hover{color:#E0B86A}
.sfs-next{font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;color:#06101C;background:linear-gradient(135deg,#C49A3C,#E0B86A);border:none;cursor:pointer;padding:14px 30px;transition:transform .25s ease,box-shadow .25s ease}
.sfs-next:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(196,154,60,.32)}
.sfs-priv{font-size:12px;color:rgba(255,255,255,.45);margin-top:14px;text-align:center}

/* 8 ── Reduced motion: calm everything (WCAG 2.3.3) */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .ap-reveal{opacity:1!important;transform:none!important}
  ::view-transition-old(root),::view-transition-new(root){animation:none!important}
  body::before{display:none}
}
