/* ═══════════════════════════════════════════
   BEN KARIMI — SHARED ENHANCEMENTS
   Applied to ALL pages
═══════════════════════════════════════════ */

/* ── LOADING SCREEN ── */
#loader{position:fixed;inset:0;z-index:9999;background:#0A0A0F;display:flex;align-items:center;justify-content:center;transition:opacity 0.8s ease,visibility 0.8s ease;}
#loader.hidden{opacity:0;visibility:hidden;pointer-events:none;}
.loader-inner{text-align:center;}
.loader-logo{width:140px;height:auto;margin-bottom:28px;animation:loaderPulse 1.5s ease-in-out infinite;}
@keyframes loaderPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.7;transform:scale(0.97)}}
.loader-bar{width:180px;height:1px;background:rgba(212,152,42,0.2);margin:0 auto 14px;overflow:hidden;}
.loader-fill{height:100%;width:0%;background:linear-gradient(90deg,#9A6E10,#D4982A,#EEAE3D);animation:loaderFill 1.8s ease forwards;}
@keyframes loaderFill{0%{width:0%}100%{width:100%}}
.loader-text{font-size:10px;letter-spacing:0.3em;text-transform:uppercase;color:#7A7A8A;font-family:'Outfit',sans-serif;}

/* ── CUSTOM CURSOR ── */
#cursor-dot{width:6px;height:6px;background:#D4982A;border-radius:50%;position:fixed;z-index:9998;pointer-events:none;transform:translate(-50%,-50%);transition:transform 0.1s ease,background 0.2s;}
#cursor-ring{width:34px;height:34px;border:1px solid rgba(212,152,42,0.5);border-radius:50%;position:fixed;z-index:9997;pointer-events:none;transform:translate(-50%,-50%);transition:width 0.3s ease,height 0.3s ease,border-color 0.3s;}

/* ── GOLD PARTICLES ── */
#goldParticles{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:0.45;}

/* ── PAGE HERO PHOTO BACKGROUNDS ── */
.page-hero{position:relative;overflow:hidden;}
.page-hero-photo{position:absolute;inset:0;background-size:cover;background-position:center;background-attachment:fixed;filter:brightness(0.45) saturate(0.92);z-index:0;}
.page-hero>*{position:relative;z-index:1;}

/* ── SECTION PHOTO BACKGROUNDS ── */
.sec-photo{position:relative;overflow:hidden;}
.sec-photo::before{content:'';position:absolute;inset:0;background-size:cover;background-position:center;background-attachment:fixed;filter:brightness(0.40) saturate(0.88);z-index:0;}
.sec-photo>*{position:relative;z-index:1;}
.sec-photo-1::before{background-image:url('bg-luxury-home.jpg');}
.sec-photo-2::before{background-image:url('bg-aerial.jpg');}
.sec-photo-3::before{background-image:url('bg-estate.jpg');}
.sec-photo-4::before{background-image:url('bg-keys.jpg');}
.sec-photo-5::before{background-image:url('bg-skyline.jpg');}
.sec-photo-6::before{background-image:url('bg-living-room.jpg');}

/* ── GOLD RULE ── */
.gold-rule{height:1px;background:linear-gradient(90deg,transparent,#D4982A,#EEAE3D,#D4982A,transparent);opacity:0.35;position:relative;z-index:2;}

/* ── SCROLL ANIMATIONS ── */
.reveal{opacity:0;transform:translateY(30px);transition:opacity 0.8s cubic-bezier(0.16,1,0.3,1),transform 0.8s cubic-bezier(0.16,1,0.3,1);}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-left{opacity:0;transform:translateX(-50px);transition:opacity 0.8s cubic-bezier(0.16,1,0.3,1),transform 0.8s cubic-bezier(0.16,1,0.3,1);}
.reveal-left.visible{opacity:1;transform:translateX(0);}
.reveal-right{opacity:0;transform:translateX(50px);transition:opacity 0.8s cubic-bezier(0.16,1,0.3,1),transform 0.8s cubic-bezier(0.16,1,0.3,1);}
.reveal-right.visible{opacity:1;transform:translateX(0);}

/* ── GLASS CARD EFFECT ── */
.card,.exp-card,.who-card,.testi-card,.detail-box,.faq-item,.resource-card,.article-card,.video-card{
  backdrop-filter:blur(6px) !important;
  background:rgba(17,17,24,0.78) !important;
}

/* ── SHIMMER TEXT ── */
.shimmer-text{background:linear-gradient(90deg,#9A6E10 0%,#D4982A 30%,#EEAE3D 50%,#D4982A 70%,#9A6E10 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 4s linear infinite;}
@keyframes shimmer{0%{background-position:200% center}100%{background-position:-200% center}}

/* ── MOBILE STICKY CTA ── */
.mobile-sticky-cta{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:500;
  display:grid;grid-template-columns:1fr 1fr;
  box-shadow:0 -4px 20px rgba(0,0,0,0.4);
}
.mob-cta-apply{background:#D4982A;color:#0A0A0F;padding:16px;text-align:center;font-family:'Outfit',sans-serif;font-size:12px;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;text-decoration:none;transition:background 0.3s;}
.mob-cta-apply:hover{background:#EEAE3D;}
.mob-cta-call{background:#0A0A0F;color:#D4982A;padding:16px;text-align:center;font-family:'Outfit',sans-serif;font-size:12px;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;text-decoration:none;border-top:1px solid rgba(212,152,42,0.3);transition:background 0.3s;}
.mob-cta-call:hover{background:#111118;}
@media(min-width:1025px){.mobile-sticky-cta{display:none!important;}}
@media(max-width:1024px){.mobile-sticky-cta{display:grid;}body{padding-bottom:56px;}}

/* ── AS SEEN ON BAR ── */
.seen-on-bar{background:#0D0D12;border-top:1px solid rgba(212,152,42,0.15);border-bottom:1px solid rgba(212,152,42,0.15);padding:18px 60px;display:flex;align-items:center;justify-content:center;gap:48px;flex-wrap:wrap;position:relative;z-index:2;}
.seen-on-label{font-size:10px;letter-spacing:0.25em;text-transform:uppercase;color:#5A5A6A;font-family:'Outfit',sans-serif;white-space:nowrap;}
.seen-on-items{display:flex;align-items:center;gap:40px;flex-wrap:wrap;}
.seen-on-item{font-size:12px;color:#7A7A8A;letter-spacing:0.08em;display:flex;align-items:center;gap:8px;transition:color 0.3s;}
.seen-on-item:hover{color:#D4982A;}
.seen-on-item strong{color:#BFB49A;}
@media(max-width:1024px){.seen-on-bar{padding:16px 24px;gap:20px;}}

/* ── LIVE CHAT BUTTON ── */
.chat-fab{
  position:fixed;bottom:70px;right:24px;z-index:400;
  width:56px;height:56px;background:#D4982A;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(212,152,42,0.4);cursor:pointer;
  transition:all 0.3s;text-decoration:none;
  animation:fabPulse 3s ease-in-out infinite;
}
.chat-fab:hover{transform:scale(1.1);background:#EEAE3D;}
@keyframes fabPulse{0%,100%{box-shadow:0 8px 24px rgba(212,152,42,0.4)}50%{box-shadow:0 8px 40px rgba(212,152,42,0.7)}}
.chat-fab svg{width:24px;height:24px;fill:none;stroke:#0A0A0F;stroke-width:2;}
.chat-fab-label{position:absolute;right:64px;background:#0A0A0F;color:#D4982A;border:1px solid rgba(212,152,42,0.3);padding:6px 12px;border-radius:2px;font-size:11px;letter-spacing:0.1em;white-space:nowrap;opacity:0;transition:opacity 0.3s;pointer-events:none;}
.chat-fab:hover .chat-fab-label{opacity:1;}
@media(max-width:1024px){.chat-fab{bottom:72px;right:16px;width:48px;height:48px;}}

/* ── PREQUAL WIDGET ── */
.prequal-widget{background:rgba(17,17,24,0.9);border:1px solid rgba(212,152,42,0.3);border-radius:2px;padding:40px;max-width:680px;margin:0 auto;position:relative;}
.prequal-widget::before{content:'';position:absolute;top:0;left:40px;right:40px;height:1px;background:linear-gradient(90deg,transparent,#D4982A,transparent);}
.prequal-step{display:none;}
.prequal-step.active{display:block;}
.prequal-progress{display:flex;gap:6px;margin-bottom:28px;}
.prequal-dot{height:3px;flex:1;background:rgba(212,152,42,0.2);border-radius:2px;transition:background 0.4s;}
.prequal-dot.done{background:#D4982A;}
.prequal-q{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:300;color:#FAFAF8;margin-bottom:24px;line-height:1.3;}
.prequal-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.prequal-option{background:rgba(10,10,15,0.8);border:1px solid rgba(212,152,42,0.2);padding:16px 20px;border-radius:2px;font-family:'Outfit',sans-serif;font-size:13px;color:#BFB49A;cursor:pointer;transition:all 0.3s;text-align:left;}
.prequal-option:hover,.prequal-option.selected{border-color:#D4982A;background:rgba(212,152,42,0.1);color:#FAFAF8;}
.prequal-result{text-align:center;padding:20px 0;}
.prequal-result-title{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:300;color:#FAFAF8;margin-bottom:10px;}
.prequal-result-title em{font-style:italic;color:#EEAE3D;}
.prequal-result-sub{font-size:14px;color:#BFB49A;line-height:1.8;margin-bottom:24px;}
@media(max-width:1024px){.prequal-options{grid-template-columns:1fr;}.prequal-widget{padding:28px 20px;}}

/* ── BEFORE/AFTER STORIES ── */
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px;}
.story-card{background:rgba(17,17,24,0.8);border:1px solid rgba(212,152,42,0.18);border-radius:2px;padding:32px 28px;position:relative;overflow:hidden;transition:all 0.4s;}
.story-card:hover{border-color:rgba(212,152,42,0.4);transform:translateY(-4px);}
.story-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#D4982A,#EEAE3D);transform:scaleX(0);transition:transform 0.4s;transform-origin:left;}
.story-card:hover::before{transform:scaleX(1);}
.story-label{font-size:9px;letter-spacing:0.2em;text-transform:uppercase;color:#D4982A;margin-bottom:16px;display:flex;align-items:center;gap:8px;}
.story-label::before{content:'';width:20px;height:1px;background:#D4982A;}
.story-problem{font-size:13px;color:#7A7A8A;line-height:1.7;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(212,152,42,0.1);}
.story-problem strong{color:#BFB49A;display:block;margin-bottom:4px;}
.story-outcome{font-size:13px;color:#BFB49A;line-height:1.7;}
.story-outcome strong{color:#EEAE3D;display:block;margin-bottom:4px;}
.story-tag{display:inline-block;background:rgba(212,152,42,0.1);border:1px solid rgba(212,152,42,0.25);color:#D4982A;font-size:9px;letter-spacing:0.15em;text-transform:uppercase;padding:3px 8px;border-radius:2px;margin-top:14px;}
@media(max-width:1024px){.story-grid{grid-template-columns:1fr;}}

/* ── RATE QUOTE FORM ── */
.rate-quote-form{background:rgba(17,17,24,0.9);border:1px solid rgba(212,152,42,0.25);border-radius:2px;padding:36px;position:relative;}
.rate-quote-form::before{content:'';position:absolute;top:0;left:36px;right:36px;height:1px;background:linear-gradient(90deg,transparent,#D4982A,transparent);}
.rqf-steps{display:flex;gap:4px;margin-bottom:24px;}
.rqf-step-dot{height:2px;flex:1;background:rgba(212,152,42,0.2);border-radius:1px;transition:background 0.4s;}
.rqf-step-dot.active{background:#D4982A;}
