/* DaviEcom motion layer */
:root{ --fx-ease:cubic-bezier(.16,.9,.24,1); }
.fx-grab{ cursor:grab; } .fx-grab:active{ cursor:grabbing; }

/* top progress bar */
.fx-progress{ position:fixed; left:0; right:0; top:0; height:3px; z-index:9998; pointer-events:none; }
.fx-progress i{ display:block; height:100%; width:100%; transform-origin:0 50%; transform:scaleX(0); background:linear-gradient(90deg,#2563FF,#4F8CFF,#7fe0ff); box-shadow:0 0 14px rgba(79,140,255,.8); }

/* giant ghost words */
.fx-ghost{ position:absolute; left:50%; bottom:-.14em; z-index:0; pointer-events:none; user-select:none; white-space:nowrap; font-family:var(--head,'Manrope',sans-serif); font-weight:800; letter-spacing:-.05em; line-height:.8; font-size:clamp(110px,24vw,380px); color:transparent; -webkit-text-stroke:1px rgba(127,176,255,.16); transform:translate3d(-50%,0,0); }
.final .fx-ghost{ bottom:auto; top:50%; margin-top:-.4em; -webkit-text-stroke-color:rgba(127,176,255,.12); }
.final{ overflow:hidden; }

/* word-by-word headline reveal */
.fx-split .fx-w{ display:inline-block; overflow:hidden; vertical-align:top; padding-bottom:.14em; margin-bottom:-.14em; }
.fx-split .fx-wi{ display:inline-block; transform:translate3d(0,112%,0) rotate(4deg); transform-origin:0 100%; transition:transform 1s var(--fx-ease); transition-delay:calc(var(--i,0)*55ms + 60ms); will-change:transform; }
.fx-split.fx-in .fx-wi{ transform:none; }

/* velocity marquee */

/* 3D tilt cards */
.fx-tilt{ transform-style:preserve-3d; will-change:transform; }
.fx-tilt.fx-tilting{ transition:transform .12s ease-out !important; }

/* cursor glow */
.fx-glow{ position:fixed; left:0; top:0; width:560px; height:560px; margin:-280px 0 0 -280px; z-index:0; pointer-events:none; border-radius:50%; background:radial-gradient(closest-side,rgba(79,140,255,.16),rgba(37,99,255,.05) 55%,transparent 72%); opacity:0; transition:opacity .5s; will-change:transform; mix-blend-mode:screen; }
.fx-glow.on{ opacity:1; }

/* floating cream "cards" for light sections */
@media (min-width:900px){
  section.sec-light{ margin-inline:18px; border-radius:48px; }
}

/* sticky apply bar */
.fx-bar{ position:fixed; left:50%; bottom:18px; z-index:60; display:flex; align-items:center; gap:18px; padding:10px 10px 10px 22px; border-radius:22px; color:#fff; background:rgba(11,16,32,.82); border:1px solid rgba(255,255,255,.16); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); box-shadow:0 30px 60px -20px rgba(0,0,0,.8),0 0 0 1px rgba(79,140,255,.08); transform:translate3d(-50%,140%,0); opacity:0; pointer-events:none; transition:transform .6s var(--fx-ease), opacity .4s; }
.fx-bar.show{ transform:translate3d(-50%,0,0); opacity:1; pointer-events:auto; }
.fx-bar b{ display:block; font-family:var(--head,'Manrope',sans-serif); font-size:14px; letter-spacing:-.01em; }
.fx-bar small{ display:block; color:#A8B3C7; font-size:12px; margin-top:2px; }
.fx-bar .fx-bar-links{ display:flex; gap:8px; align-items:center; }
.fx-bar .fx-view{ color:#cfd8ea; font-size:13px; font-weight:600; padding:0 10px; text-decoration:none; }
.fx-bar .fx-view:hover{ color:#fff; }
@media (max-width:640px){
  .fx-bar{ left:12px; right:74px; bottom:14px; gap:10px; padding:8px 8px 8px 14px; transform:translate3d(0,140%,0); }
  .fx-bar.show{ transform:none; }
  .fx-bar small, .fx-bar .fx-view{ display:none; }
  .fx-bar b{ font-size:13px; } .fx-bar .btn-pill{ margin-left:auto; }
}
@media (prefers-reduced-motion:reduce){
  .fx-split .fx-wi{ transform:none !important; transition:none; } .fx-glow{ display:none; } }

/* ---- Watermarks: proof images/videos + lightbox + site corner mark ---- */
:root{
  --wm-tile:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='230' height='150'><text x='115' y='80' text-anchor='middle' transform='rotate(-24 115 75)' font-family='Manrope,Arial,sans-serif' font-size='17' font-weight='800' letter-spacing='1.5' fill='white' fill-opacity='.30' stroke='black' stroke-opacity='.18' stroke-width='.6'>DaviEcom</text><text x='115' y='100' text-anchor='middle' transform='rotate(-24 115 75)' font-family='Inter,Arial,sans-serif' font-size='10.5' font-weight='600' letter-spacing='1' fill='white' fill-opacity='.26' stroke='black' stroke-opacity='.15' stroke-width='.5'>daviecom.pro</text></svg>");
}
.shot::after, .bd-win::after, .vp-frame::after, .lightbox::after{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:3;
  background-image:var(--wm-tile); background-size:200px auto; background-repeat:repeat;
}
.vp-frame::after{ border-radius:30px; }
.lightbox::after{ position:fixed; z-index:3; opacity:.8; }
.lightbox > *{ position:relative; z-index:2; }
.lightbox button, .lightbox p{ position:absolute; }
/* corner brand mark on every page (desktop) */
.fx-wm-corner{
  position:fixed; left:18px; bottom:16px; z-index:90; pointer-events:none; user-select:none;
  font:700 11px/1 Manrope,Inter,sans-serif; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(255,255,255,.34); text-shadow:0 1px 10px rgba(0,0,0,.5);
}
.fx-wm-corner i{ font-style:normal; color:rgba(79,140,255,.75); }
@media (max-width:899px){ .fx-wm-corner{ display:none; } }
@media print{ .fx-wm-corner{ display:block !important; } }

/* ---- Slim premium word strip ---- */
.fx-marquee{ padding:0 !important; overflow:hidden; position:relative; z-index:2; border-block:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.015);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent); mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent); }
.fx-mrow{ display:flex; width:max-content; will-change:transform; }
.fx-mrow span{ flex:none; display:inline-flex; align-items:center; padding:19px 0; font:600 12px/1 Inter,system-ui,sans-serif; letter-spacing:.34em; text-transform:uppercase; color:rgba(196,206,226,.62); white-space:nowrap; }
.fx-mrow i{ width:4px; height:4px; border-radius:50%; background:rgba(79,140,255,.85); margin:0 38px; flex:none; }
@media (max-width:640px){ .fx-mrow span{ font-size:10.5px; padding:16px 0; letter-spacing:.28em; } .fx-mrow i{ margin:0 26px; } }

/* ---- Soft hero aura (replaces the 3D orb) ---- */
.fx-aura{ position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; }
.fx-aura i{ position:absolute; border-radius:50%; filter:blur(80px); will-change:transform; }
.fx-aura i:first-child{ width:560px; height:560px; right:4%; top:6%; background:radial-gradient(closest-side,rgba(37,99,255,.34),rgba(37,99,255,0)); animation:fx-aura1 22s ease-in-out infinite alternate; }
.fx-aura i:last-child{ width:420px; height:420px; left:34%; bottom:-14%; background:radial-gradient(closest-side,rgba(79,140,255,.16),rgba(79,140,255,0)); animation:fx-aura2 28s ease-in-out infinite alternate; }
@keyframes fx-aura1{ to{ transform:translate3d(-60px,40px,0) scale(1.08); } }
@keyframes fx-aura2{ to{ transform:translate3d(70px,-30px,0) scale(1.12); } }
@media (max-width:760px){ .fx-aura i:first-child{ width:380px; height:380px; right:-12%; top:30%; } .fx-aura i:last-child{ display:none; } }
@media (prefers-reduced-motion:reduce){ .fx-aura i{ animation:none; } }

/* ---- Homepage screenshot rail: native snap-scroll, no scroll-jacking ---- */
.rail{ margin-top:36px; }
.rail-track{ display:flex; gap:18px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-padding-inline:max(20px, calc((100vw - 1180px) / 2)); padding:6px max(20px, calc((100vw - 1180px) / 2)) 18px; margin:0 calc(50% - 50vw); scrollbar-width:none; -webkit-overflow-scrolling:touch; cursor:grab; outline:none; }
.rail-track::-webkit-scrollbar{ display:none; }
.rail-track.drag{ cursor:grabbing; scroll-snap-type:none; user-select:none; }
.rail-card{ flex:none; width:min(78vw, 640px); height:min(64vh, 560px); margin:0; display:flex; flex-direction:column; scroll-snap-align:start; border-radius:22px; overflow:hidden; position:relative; background:#070A14; border:1px solid rgba(255,255,255,.12); box-shadow:0 36px 70px -40px rgba(0,0,0,.85); opacity:.55; transform:scale(.97); transition:opacity .35s ease, transform .35s ease, border-color .35s; }
.rail-card.cur{ opacity:1; transform:none; border-color:rgba(79,140,255,.4); }
.rail-bar{ flex:none; display:flex; align-items:center; gap:7px; padding:11px 16px; background:rgba(255,255,255,.045); border-bottom:1px solid rgba(255,255,255,.08); }
.rail-bar i{ width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.22); } .rail-bar i:nth-child(1){ background:#ff5f57; } .rail-bar i:nth-child(2){ background:#febc2e; } .rail-bar i:nth-child(3){ background:#28c840; }
.rail-bar em{ font-style:normal; margin-left:10px; font-size:12.5px; color:#A8B3C7; flex:1; } .rail-bar b{ font:600 12px Manrope,Inter,sans-serif; color:rgba(255,255,255,.35); letter-spacing:.08em; }
.rail-card .shot{ flex:1; min-height:0; width:100%; height:auto; border:0; border-radius:0; background:transparent; box-shadow:none; transition:none; }
.rail-card .shot:hover{ transform:none; box-shadow:none; }
.rail-card .shot img{ width:100%; height:100%; object-fit:contain; padding:14px; display:block; pointer-events:none; -webkit-user-drag:none; }
.rail-meta{ display:flex; align-items:center; gap:16px; color:#A8B3C7; font-size:13px; font-variant-numeric:tabular-nums; max-width:min(1180px, calc(100% - 40px)); margin:4px auto 0; }
.rail-prog{ flex:1; height:3px; border-radius:3px; background:rgba(255,255,255,.14); overflow:hidden; } .rail-prog i{ display:block; height:100%; width:100%; background:#4F8CFF; transform-origin:left; transform:scaleX(.1); }
.rail-nav{ display:flex; gap:8px; } .rail-nav button{ width:40px; height:40px; border-radius:50%; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.06); color:#fff; font-size:16px; cursor:pointer; transition:background .2s,border-color .2s; } .rail-nav button:hover{ background:rgba(79,140,255,.28); border-color:rgba(79,140,255,.6); }
@media (max-width:760px){ .rail-card{ width:84vw; height:min(60vh, 470px); border-radius:18px; } .rail-meta{ padding-right:58px; } .rail-nav{ display:none; } }
@media (prefers-reduced-motion:reduce){ .rail-card{ transition:none; } }
