/* FTD Luxury Preloader */
#ftd-luxury-preloader, #ftd-luxury-preloader * { box-sizing: border-box; }
#ftd-luxury-preloader {
  position: fixed; inset: 0; z-index: 999999; display: flex; align-items: center; justify-content: center;
  overflow: hidden; isolation: isolate; color: #f7f4ed; background: var(--ftd-preloader-bg, #050b12);
  opacity: 1; visibility: visible; transition: opacity .55s ease, visibility .55s ease;
  font-family: Inter, Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
#ftd-luxury-preloader.ftd-preloader--hidden { opacity: 0; visibility: hidden; pointer-events: none; }
#ftd-luxury-preloader:before {
  content: ""; position: absolute; inset: 0; z-index: -2; opacity: .34;
  background-image: repeating-linear-gradient(115deg, transparent 0 3px, rgba(255,255,255,.025) 3px 4px),
                    repeating-linear-gradient(25deg, transparent 0 5px, rgba(255,255,255,.018) 5px 6px);
  mask-image: radial-gradient(ellipse at center, #000 15%, transparent 78%);
}
#ftd-luxury-preloader:after {
  content: ""; position: absolute; inset: -30%; z-index: -1; pointer-events: none;
  background: radial-gradient(ellipse at 50% 45%, color-mix(in srgb, var(--ftd-preloader-accent, #f4bd52) 12%, transparent), transparent 48%);
  animation: ftdAmbient 6s ease-in-out infinite alternate;
}
.ftd-preloader__ambient { position:absolute; width: min(70vw, 620px); aspect-ratio:1; border-radius:50%; filter:blur(70px); opacity:.10; pointer-events:none; }
.ftd-preloader__ambient--one { background:var(--ftd-preloader-accent,#f4bd52); top:-38%; left:-20%; }
.ftd-preloader__ambient--two { background:#25496a; bottom:-45%; right:-20%; }
.ftd-preloader__content { position:relative; width:min(88vw,360px); display:flex; flex-direction:column; align-items:center; text-align:center; animation:ftdContentIn .8s cubic-bezier(.2,.8,.2,1) both; }
.ftd-preloader__emblem {
  position:relative; display:grid; place-items:center; width:116px; height:116px; margin-bottom:22px;
  border:1px solid color-mix(in srgb,var(--ftd-preloader-accent,#f4bd52) 55%,transparent); border-radius:32px;
  background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.015));
  box-shadow:0 0 0 8px rgba(255,255,255,.018), inset 0 1px 0 rgba(255,255,255,.15), 0 0 45px color-mix(in srgb,var(--ftd-preloader-accent,#f4bd52) 14%,transparent);
}
.ftd-preloader__monogram { font-family:Georgia,serif; font-size:39px; font-weight:700; letter-spacing:-2px; color:var(--ftd-preloader-accent,#f4bd52); text-shadow:0 0 22px color-mix(in srgb,var(--ftd-preloader-accent,#f4bd52) 55%,transparent); }
.ftd-preloader__orbit { position:absolute; inset:-10px; border:1px solid transparent; border-top-color:var(--ftd-preloader-accent,#f4bd52); border-right-color:color-mix(in srgb,var(--ftd-preloader-accent,#f4bd52) 25%,transparent); border-radius:38px; animation:ftdOrbit 2.8s linear infinite; }
.ftd-preloader__orbit--two { inset:-18px; border-top-color:transparent; border-bottom-color:color-mix(in srgb,var(--ftd-preloader-accent,#f4bd52) 60%,transparent); animation-duration:4.2s; animation-direction:reverse; }
.ftd-preloader__spark { position:absolute; width:6px; height:6px; top:12px; right:14px; border-radius:50%; background:#fff4cf; box-shadow:0 0 14px 4px var(--ftd-preloader-accent,#f4bd52); animation:ftdSpark 1.8s ease-in-out infinite; }
.ftd-preloader__brand { font-family:Georgia,"Times New Roman",serif; font-size:clamp(32px,7vw,44px); line-height:1; font-weight:700; letter-spacing:.04em; color:#fff; }
.ftd-preloader__tagline { margin-top:9px; font-size:10px; font-weight:800; letter-spacing:.28em; color:var(--ftd-preloader-accent,#f4bd52); }
.ftd-preloader__loading { display:flex; align-items:center; margin-top:34px; color:rgba(245,247,250,.72); font-size:12px; letter-spacing:.04em; }
.ftd-preloader__dots { display:inline-flex; gap:4px; margin-left:7px; }
.ftd-preloader__dots i { width:3px; height:3px; border-radius:50%; background:var(--ftd-preloader-accent,#f4bd52); animation:ftdDot 1.05s ease-in-out infinite; }
.ftd-preloader__dots i:nth-child(2) { animation-delay:.15s; }.ftd-preloader__dots i:nth-child(3) { animation-delay:.3s; }
.ftd-preloader__track { width:190px; height:2px; overflow:hidden; margin-top:16px; border-radius:10px; background:rgba(255,255,255,.12); }
.ftd-preloader__track span { display:block; width:35%; height:100%; border-radius:10px; background:linear-gradient(90deg,transparent,var(--ftd-preloader-accent,#f4bd52),#fff3c8,var(--ftd-preloader-accent,#f4bd52),transparent); box-shadow:0 0 12px var(--ftd-preloader-accent,#f4bd52); animation:ftdProgress 1.35s ease-in-out infinite; }
.ftd-preloader--ring .ftd-preloader__orbit { border:2px solid color-mix(in srgb,var(--ftd-preloader-accent,#f4bd52) 70%,transparent); border-left-color:transparent; border-bottom-color:transparent; border-radius:50%; }
.ftd-preloader--pulse .ftd-preloader__orbit { animation:ftdPulse 1.8s ease-in-out infinite; border:1px solid var(--ftd-preloader-accent,#f4bd52); }
.ftd-preloader--pulse .ftd-preloader__orbit--two { animation-delay:.45s; }
.ftd-preloader--minimal .ftd-preloader__orbit--two, .ftd-preloader--minimal .ftd-preloader__spark { display:none; }
.ftd-preloader--minimal .ftd-preloader__emblem { box-shadow:0 0 32px color-mix(in srgb,var(--ftd-preloader-accent,#f4bd52) 16%,transparent); }
@keyframes ftdOrbit { to { transform:rotate(360deg); } }
@keyframes ftdSpark { 0%,100%{opacity:.35;transform:scale(.7)}50%{opacity:1;transform:scale(1.2)} }
@keyframes ftdDot { 0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)} }
@keyframes ftdProgress { 0%{transform:translateX(-120%)}100%{transform:translateX(390%)} }
@keyframes ftdAmbient { from{transform:translate3d(-2%,-1%,0) scale(.96)}to{transform:translate3d(2%,1%,0) scale(1.05)} }
@keyframes ftdContentIn { from{opacity:0;transform:translateY(14px) scale(.98);filter:blur(5px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)} }
@keyframes ftdPulse { 0%,100%{transform:scale(.96);opacity:.35}50%{transform:scale(1.08);opacity:1} }
.ftd-preloader-admin__preview { display:flex; flex-direction:column; align-items:center; gap:8px; max-width:440px; margin:24px 0; padding:28px; color:#f7f4ed; background:#050b12; border:1px solid #8b6b32; border-radius:18px; box-shadow:0 16px 40px #0002; }
.ftd-preview-mark { display:grid; place-items:center; width:64px; height:64px; border:1px solid #f4bd52; border-radius:18px; color:#f4bd52; font:700 25px Georgia,serif; box-shadow:0 0 24px #f4bd5222; }
.ftd-preloader-admin__preview strong { color:#f4bd52; font-size:11px; letter-spacing:.22em; }.ftd-preloader-admin__preview span { color:#cbd0d6; font-size:12px; }
@media(max-width:480px) { .ftd-preloader__emblem { width:100px;height:100px;border-radius:28px; }.ftd-preloader__monogram{font-size:34px}.ftd-preloader__loading{margin-top:28px} }
@media(prefers-reduced-motion:reduce) { #ftd-luxury-preloader *,#ftd-luxury-preloader:after { animation:none!important; transition:none!important; } }

/* v2: real FTD website logo and polished entrance */
.ftd-preloader__logo{
  position:relative;
  z-index:2;
  display:block;
  width:82px;
  height:82px;
  object-fit:contain;
  object-position:center;
  border-radius:20px;
  background:#050b12;
  padding:8px;
  box-shadow:0 0 30px color-mix(in srgb,var(--ftd-preloader-accent,#f4bd52) 24%,transparent),
             inset 0 0 0 1px rgba(244,189,82,.28);
  animation:ftdLogoBreath 2.8s ease-in-out infinite;
}
.ftd-preloader__emblem{
  width:126px;
  height:126px;
  border-radius:34px;
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.01));
}
.ftd-preloader__brand{
  margin-top:2px;
  font-size:clamp(28px,6vw,40px);
  letter-spacing:.055em;
}
.ftd-preloader__tagline{margin-top:8px}
.ftd-preloader__loading{margin-top:30px}
@keyframes ftdLogoBreath{
  0%,100%{transform:scale(.97);filter:drop-shadow(0 0 2px rgba(244,189,82,.12))}
  50%{transform:scale(1.025);filter:drop-shadow(0 0 12px rgba(244,189,82,.34))}
}
@media(max-width:480px){
  .ftd-preloader__emblem{width:108px;height:108px;border-radius:30px}
  .ftd-preloader__logo{width:72px;height:72px;padding:7px;border-radius:17px}
}
