*{margin:0;
  padding:0;
  box-sizing:border-box}
:root{
  --gold:#C9A84C;--gold2:#E8C96A;--dark:#0A0E1A;--dark2:#111827;
  --dark3:#1C2333;--text:#F0EDE6;--text2:#A89F8C;--green:#22C55E;
  --dark-rgb:10,14,26;
  --pad:60px;
  --marquee-h:34px;
}
:root[data-theme="light"]{
  --gold:#B8923C;--gold2:#9C7A2E;--dark:#FAF8F4;--dark2:#FFFFFF;
  --dark3:#F0ECE3;--text:#1A1714;--text2:#6B6356;--green:#16A34A;
  --dark-rgb:250,248,244;
}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--marquee-h) + 80px)}
body{background:var(--dark);color:var(--text);font-family:'Montserrat',sans-serif;overflow-x:hidden;transition:background .4s ease,color .4s ease}

/* ── LOADER ── */
#loader{position:fixed;inset:0;background:var(--dark);z-index:9999;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;transition:opacity .6s,visibility .6s}
#loader.hidden{opacity:0;visibility:hidden;pointer-events:none}
.ld-logo{font-family:'Playfair Display',serif;font-size:clamp(24px,5vw,36px);font-weight:900;color:var(--gold);letter-spacing:3px}
.ld-track{width:min(200px,60vw);height:2px;background:rgba(201,168,76,.2);border-radius:2px;overflow:hidden}
.ld-fill{height:100%;background:var(--gold);width:0;transition:width .1s linear}
.ld-msg{font-size:11px;letter-spacing:3px;color:var(--text2);text-transform:uppercase}

/* ── WEATHER (nav-docked, region switcher) ── */
.nav-left{display:flex;align-items:center;gap:18px}
.nav-actions{display:flex;align-items:center;gap:10px}
.nav-weather{position:relative;}
.nw-trigger{display:flex;align-items:center;gap:9px;background:rgba(201,168,76,.07);border:1px solid rgba(201,168,76,.25);border-radius:22px;padding:6px 12px 6px 8px;cursor:pointer;font-family:'Montserrat',sans-serif;transition:background .25s,border-color .25s}
.nw-trigger:hover{background:rgba(201,168,76,.13);border-color:rgba(201,168,76,.45)}
.nw-icon{width:22px;height:22px;color:var(--gold);flex-shrink:0;display:flex}
.nw-icon svg{width:100%;height:100%;display:block}
.nw-meta{display:flex;flex-direction:column;line-height:1.15;text-align:left}
.nw-city{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--gold)}
.nw-temp{font-family:'Playfair Display',serif;font-weight:700;font-size:14px;color:var(--text);white-space:nowrap}
.nw-caret{width:11px;height:11px;color:var(--text2);flex-shrink:0;transition:transform .3s}
.nav-weather.open .nw-caret{transform:rotate(180deg)}
.nw-panel{position:absolute;top:calc(100% + 14px);left:0;width:250px;max-width:calc(100vw - 40px);background:rgba(var(--dark-rgb),.97);backdrop-filter:blur(22px);border:1px solid rgba(201,168,76,.22);border-radius:16px;padding:16px;box-shadow:0 24px 60px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .25s ease,transform .25s ease,visibility .25s;z-index:1000}
.nav-weather.open .nw-panel{opacity:1;visibility:visible;transform:translateY(0)}
.nw-panel-head{display:flex;align-items:center;gap:12px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid rgba(201,168,76,.15)}
.nw-panel-icon{width:36px;height:36px;color:var(--gold);flex-shrink:0}
.nw-panel-icon svg{width:100%;height:100%;display:block}
.nw-panel-temp{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:var(--text)}
.nw-panel-range{font-family:'Montserrat',sans-serif;font-size:12px;color:var(--text2);font-weight:400}
.nw-panel-desc{font-size:11px;color:var(--text2);text-transform:capitalize;margin-top:2px}
.nw-region-label{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.nw-region-list{display:flex;flex-direction:column;gap:1px;max-height:230px;overflow-y:auto; scrollbar-color: var(--gold) #535252;}
.nw-region-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;background:none;border:none;color:var(--text);font-family:'Montserrat',sans-serif;font-size:12.5px;padding:8px 9px;border-radius:8px;cursor:pointer;text-align:left;width:100%;transition:background .2s}
.nw-region-btn:hover{background:rgba(201,168,76,.1)}
.nw-region-btn.active{background:rgba(201,168,76,.18);color:var(--gold);font-weight:600}
.nw-region-btn .nw-region-temp{font-size:11px;color:var(--text2)}
.nw-region-btn.active .nw-region-temp{color:var(--gold)}
@media(max-width:900px){
  .nav-left{gap:10px}
  .nw-trigger{padding:5px 9px 5px 7px}
  .nw-city{font-size:8px}
  .nw-temp{font-size:12.5px}
  .nw-panel{width:220px}
}
@media(max-width:420px){
  .nw-meta{display:none}
  .nw-trigger{display:flex;padding:6px 8px;gap:0;}
  .nw-caret{margin-left:4px}
}

/* ── NAVBAR ── */
nav{position:fixed;top:var(--marquee-h);width:100%;z-index:998;padding:16px var(--pad);display:flex;justify-content:space-between;align-items:center;background:rgba(var(--dark-rgb),.88);backdrop-filter:blur(20px);border-bottom:1px solid rgba(201,168,76,.12);transition:background .3s}
.logo{font-family:'Playfair Display',serif;font-size:clamp(18px,3vw,24px);font-weight:900;color:var(--gold);letter-spacing:2px;white-space:nowrap}
.logo span{color:var(--text);font-weight:400}
.nav-links{display:flex;gap:28px;list-style:none}
.nav-links a{color:var(--text2);text-decoration:none;font-size:12px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;transition:color .3s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--gold);transition:width .3s}
.nav-links a:hover{color:var(--gold)}
.nav-links a:hover::after{width:100%}
.nav-cta{background:var(--gold);color:var(--dark);padding:10px 22px;font-size:11px;font-weight:700;letter-spacing:2px;  text-transform:uppercase;border:none;cursor:pointer;transition:all .3s;white-space:nowrap; border-radius: 50px; animation:apulse 3s ease-in-out infinite}
.nav-cta:hover{background:var(--gold2)}
/* lang switch — intentionally left blank (unified into .lang-dropdown below) */
/* theme toggle — animated sun/moon switch */
.theme-toggle{
  display:flex;align-items:center;margin-left:10px;cursor:pointer;
  position:relative;width:64px;height:32px;padding:0;border:none;border-radius:30px;
  background:linear-gradient(135deg,#1a2138 0%,#0a0e1a 100%);
  box-shadow:inset 0 0 0 1px rgba(201,168,76,.3),inset 0 1px 4px rgba(0,0,0,.4),0 2px 8px rgba(0,0,0,.25);
  overflow:hidden;transition:background .5s ease,box-shadow .4s ease;
}
.theme-toggle:hover{box-shadow:inset 0 0 0 1px rgba(201,168,76,.55),inset 0 1px 4px rgba(0,0,0,.4),0 2px 10px rgba(201,168,76,.25)}
:root[data-theme="light"] .theme-toggle{
  background:linear-gradient(135deg,#8EC9F0 0%,#FFD98E 100%);
  box-shadow:inset 0 0 0 1px rgba(184,146,60,.35),inset 0 1px 4px rgba(255,255,255,.5),0 2px 8px rgba(0,0,0,.12);
}
.theme-toggle-track{position:relative;width:100%;height:100%;display:block}
/* stars (visible in dark mode) */
.theme-toggle-stars{position:absolute;inset:0;opacity:1;transition:opacity .4s ease}
.theme-toggle-stars span{position:absolute;background:#fff;border-radius:50%;animation:twinkle 2.4s ease-in-out infinite}
.theme-toggle-stars span:nth-child(1){width:2px;height:2px;top:7px;left:10px;animation-delay:0s}
.theme-toggle-stars span:nth-child(2){width:1.5px;height:1.5px;top:16px;left:18px;animation-delay:.6s}
.theme-toggle-stars span:nth-child(3){width:2px;height:2px;top:9px;left:26px;animation-delay:1.2s}
.theme-toggle-stars span:nth-child(4){width:1.5px;height:1.5px;top:21px;left:8px;animation-delay:1.8s}
@keyframes twinkle{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
:root[data-theme="light"] .theme-toggle-stars{opacity:0}
/* clouds (visible in light mode) */
.theme-toggle-clouds{position:absolute;inset:0;opacity:0;transition:opacity .4s ease}
:root[data-theme="light"] .theme-toggle-clouds{opacity:1}
.theme-toggle-clouds span{position:absolute;background:rgba(255,255,255,.85);border-radius:50px}
.theme-toggle-clouds span:nth-child(1){width:14px;height:5px;top:6px;left:8px}
.theme-toggle-clouds span:nth-child(2){width:10px;height:4px;top:21px;left:14px}
/* the sliding thumb */
.theme-toggle-thumb{
  position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(145deg,#E8C96A,#C9A84C);
  box-shadow:0 2px 6px rgba(0,0,0,.35),inset 0 1px 2px rgba(255,255,255,.4);
  transition:left .45s cubic-bezier(.34,1.56,.64,1),background .5s ease,transform .45s cubic-bezier(.34,1.56,.64,1);
  z-index:2;
}
:root[data-theme="light"] .theme-toggle-thumb{
  left:calc(100% - 29px);
  background:linear-gradient(145deg,#FFE49B,#FFC857);
  transform:rotate(180deg);
}
.theme-toggle-thumb svg{width:15px;height:15px;display:block;transition:opacity .25s ease;transform:rotate(0deg)}
:root[data-theme="light"] .theme-toggle-thumb svg{transform:rotate(-180deg)}
.theme-toggle-thumb .icon-moon{color:#1a1408}
.theme-toggle-thumb .icon-sun{color:#7a4e00;position:absolute;opacity:0}
:root[data-theme="light"] .theme-toggle-thumb .icon-moon{opacity:0}
:root[data-theme="light"] .theme-toggle-thumb .icon-sun{opacity:1}
/* lang dropdown — single pill button + flyout card (matches reference design) */
.lang-dropdown{display:block;position:relative}
.lang-dropdown-btn{display:flex;align-items:center;gap:7px;height:36px;padding:0 12px 0 6px;background:rgba(201,168,76,.07);border:1px solid rgba(201,168,76,.25);border-radius:30px;cursor:pointer;transition:background .25s,border-color .25s}
.lang-dropdown-btn:hover{background:rgba(201,168,76,.13);border-color:rgba(201,168,76,.45)}
.lang-dropdown-btn .flag{width:22px;height:22px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;line-height:1}
.lang-dropdown-btn .flag img{width:100%;height:100%;object-fit:cover;display:block}
.lang-dropdown-label{font-size:13px;font-weight:600;color:#C9A84C;font-family:'Montserrat',sans-serif;white-space:nowrap;transition:color .4s ease}
.lang-dropdown-arrow{width:13px;height:13px;color:var(--text2);transition:transform .3s ease,color .4s ease;flex-shrink:0}
.lang-dropdown.open .lang-dropdown-arrow{transform:rotate(180deg)}
.lang-dropdown-menu{position:absolute;top:calc(100% + 10px);right:0;background:rgba(var(--dark-rgb),.97);backdrop-filter:blur(22px);border:1px solid rgba(201,168,76,.22);border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.5);padding:6px;display:flex;flex-direction:column;gap:2px;min-width:180px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .25s ease,transform .25s ease,visibility .25s,background .4s ease;z-index:1001}
.lang-dropdown.open .lang-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.lang-dropdown-item{display:flex;align-items:center;gap:10px;background:none;border:none;color:var(--text2);padding:9px 10px;font-size:13px;font-weight:600;cursor:pointer;border-radius:9px;transition:all .2s;text-align:left;font-family:'Montserrat',sans-serif}
.lang-dropdown-item:hover{background:rgba(201,168,76,.12);color:var(--gold)}
.lang-dropdown-item.active{background:rgba(201,168,76,.16);color:var(--gold)}
.lang-dropdown-item .flag{width:20px;height:20px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.lang-dropdown-item .flag img{width:100%;height:100%;object-fit:cover;display:block}
.lang-dropdown-item-label{flex:1}
.lang-check{width:16px;height:16px;color:var(--gold);flex-shrink:0;opacity:0}
.lang-dropdown-item.active .lang-check{opacity:1}
/* hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:2px;background:none;border:none}
.hamburger span{width:24px;height:2px;background:var(--gold);display:block;transition:all .3s}
/* mobile menu */
.mobile-menu{display:none;position:fixed;top:calc(30px + var(--marquee-h));left:0;width:100%;height:100%;background:var(--dark2);z-index:997;flex-direction:column;align-items:start;justify-content:center;gap:25px; padding-left:15px;}
.mobile-menu.open{display:flex}
.mobile-menu a{color:var(--text);text-decoration:none;font-size:18px;font-weight:600;letter-spacing:5px;text-transform:uppercase;transition:color .3s}
.mobile-menu a:hover{color:var(--gold)}
.mobile-menu .close-btn{  position:absolute;top:20px;right:20px;background:none;border:none;color:var(--gold);font-size:28px;cursor:pointer}

/* ── HERO ── */
#hero{height:100svh;min-height:600px;position:relative;overflow:hidden;display:flex;align-items:center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(var(--dark-rgb),.96) 38%,rgba(var(--dark-rgb),.15) 70%,transparent);z-index:2;pointer-events:none}
.hero-scene{position:absolute;right:0;top:0;width:100%;height:100%;z-index:1}
#heroCanvas{width:100%;height:100%;display:block}
.hero-content{position:relative;z-index:3;padding:0 var(--pad);max-width:min(600px,90vw)}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.3);padding:7px 16px;margin-bottom:20px;font-size:10px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--gold);animation:fadeUp .8s ease both}
.hero-badge::before{content:'';width:6px;height:6px;background:var(--gold);border-radius:50%;animation:dot 2s ease-in-out infinite}
@keyframes dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.5)}}
.hero-title{font-family:'Playfair Display',serif;font-size:clamp(38px,6vw,72px);line-height:1.05;font-weight:900;margin-bottom:14px;animation:fadeUp .8s .2s ease both}
.hero-title .gold{color:var(--gold);display:block}
.hero-title .outline{-webkit-text-stroke:2px var(--gold);color:transparent;display:block}
.hero-sub{font-size:clamp(13px,1.8vw,15px);color:var(--text2);line-height:1.75;max-width:420px;margin-bottom:28px;font-weight:300;animation:fadeUp .8s .4s ease both}
.hero-price{display:flex;align-items:baseline;gap:8px;margin-bottom:30px;animation:fadeUp .8s .5s ease both;flex-wrap:wrap}
.price-from{font-size:11px;color:var(--text2);letter-spacing:2px;text-transform:uppercase}
.price-val{font-family:'Playfair Display',serif;font-size:clamp(28px,4vw,42px);color:var(--gold);font-weight:700}
.price-unit{font-size:12px;color:var(--text2)}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;animation:fadeUp .8s .6s ease both}
.btn-primary{background:var(--gold);color:var(--dark);padding:14px 30px;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;border:none;cursor:pointer;transition:all .3s;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px))}
.btn-primary:hover{background:var(--gold2);transform:translateY(-2px);box-shadow:0 10px 35px rgba(201,168,76,.35)}
.btn-secondary{background:transparent;color:var(--text);padding:14px 30px;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;border:1px solid rgba(240,237,230,.2);cursor:pointer;transition:all .3s}
.btn-secondary:hover{border-color:var(--gold);color:var(--gold)}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.scroll-ind{position:absolute;bottom:32px;left:var(--pad);display:flex;align-items:center;gap:12px;z-index:3}
.scroll-line{width:36px;height:1px;background:var(--gold);position:relative;overflow:hidden}
.scroll-line::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--gold2);animation:sl 2s ease-in-out infinite}
@keyframes sl{0%{left:-100%}100%{left:100%}}
.scroll-text{font-size:9px;letter-spacing:3px;color:var(--text2);text-transform:uppercase}

/* ── STATS ── */
.stats-bar{background:var(--dark2);border-top:1px solid rgba(201,168,76,.1);border-bottom:1px solid rgba(201,168,76,.1);padding:24px var(--pad);display:flex;justify-content:space-around;align-items:center;gap:16px;flex-wrap:wrap}
.stat{text-align:center;position:relative;min-width:100px}
.stat:not(:last-child)::after{content:'';position:absolute;right:-20px;top:50%;transform:translateY(-50%);width:1px;height:36px;background:rgba(201,168,76,.15)}
.stat-num{font-family:'Playfair Display',serif;font-size:clamp(24px,4vw,36px);color:var(--gold);font-weight:700;display:block}
.stat-label{font-size:10px;color:var(--text2);letter-spacing:2px;text-transform:uppercase;margin-top:4px}

/* ── SECTIONS ── */
section{padding:80px var(--pad)}
.sec-label{font-size:10px;letter-spacing:4px;color:var(--gold);text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:12px}
.sec-label::before{content:'';width:28px;height:1px;background:var(--gold);flex-shrink:0}
.sec-title{font-family:'Playfair Display',serif;font-size:clamp(28px,4vw,48px);font-weight:700;line-height:1.15;margin-bottom:14px}
.sec-title span{color:var(--gold)}
.sec-sub{font-size:14px;color:var(--text2);line-height:1.75;max-width:500px}

/* ── APARTMENTS ── */
#apartments{background:var(--dark2);}
.apt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:54px;}
.apt-card{background:var(--dark3);border:1px solid rgba(201,168,76,.1);overflow:hidden;transition:all .4s;cursor:pointer;position:relative}
.apt-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(201,168,76,.05),transparent);opacity:0;transition:opacity .4s;z-index:1;pointer-events:none}
.apt-card:hover{transform:translateY(-6px);border-color:rgba(201,168,76,.4);box-shadow:0 20px 60px rgba(0,0,0,.5)}
.apt-card:hover::before{opacity:1}
.apt-img{height:320px;position:relative;overflow:hidden;cursor:pointer;background:#f5f4f0}
.apt-badge{position:absolute;top:14px;left:14px;background:var(--gold);color:var(--dark);font-size:9px;font-weight:700;letter-spacing:2px;padding:5px 12px;text-transform:uppercase;z-index:2}
.apt-tag{position:absolute;top:14px;right:14px;background:rgba(var(--dark-rgb),.85);color:var(--text2);font-size:10px;padding:4px 10px;border:1px solid rgba(201,168,76,.2);z-index:2}
.apt-body{padding:22px}
.apt-type{font-size:10px;letter-spacing:3px;color:var(--gold);text-transform:uppercase;margin-bottom:6px}
.apt-title{font-family:'Playfair Display',serif;font-size:20px;font-weight:700;margin-bottom:4px}
.apt-size{font-size:20px;color:var(--text2);margin-bottom:18px; font-weight: bold;}
.apt-specs{display:flex;gap:14px;padding:14px 0;border-top:1px solid rgba(201,168,76,.1);border-bottom:1px solid rgba(201,168,76,.1);margin-bottom:18px;flex-wrap:wrap}
.apt-spec{font-size:12px;color:var(--text2);display:flex;align-items:center;gap:5px; font-weight: bold;}
.spec-dot{width:4px;height:4px;background:var(--gold);border-radius:50%}
.apt-pr{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.apt-price{font-family:'Playfair Display',serif;font-size:clamp(18px,2.5vw,24px);color:var(--gold);font-weight:700}
.apt-price-from{font-size:12px;color:var(--text2); font-weight: bold;}
.apt-btn{background:transparent;border:1px solid var(--gold);border-radius: 30px; color:var(--gold);padding:9px 18px;font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .3s;white-space:nowrap}
.apt-btn:hover{background:var(--gold);color:var(--dark)}

/* SVG floor plan helpers */
.rw{fill:none;stroke:rgba(201,168,76,.55);stroke-width:1.5}
.rf{fill:rgba(201,168,76,.06)}
.rl{font-size:8.5px;fill:rgba(201,168,76,.75);font-family:'Montserrat',sans-serif;font-weight:500}

/* ── PROGRESS ── */
#progress{background:var(--dark)}
.prog-list{display:flex;flex-direction:column;margin-top:54px;position:relative}
.prog-list::before{content:'';position:absolute;left:23px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--gold),rgba(201,168,76,.08))}
.prog-item{display:flex;gap:28px;align-items:flex-start;padding:28px 0;opacity:0;transform:translateX(-18px);transition:all .65s}
.prog-item.vis{opacity:1;transform:translateX(0)}
.prog-dot{width:48px;height:48px;min-width:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;position:relative;z-index:1}
.pd-done{background:var(--gold);color:var(--dark);font-size:20px; animation:apulse 2s ease-in-out infinite}
.pd-active{background:rgba(201,168,76,.12);border:2px solid var(--gold);color:var(--gold);}
.pd-pend{background:rgba(201,168,76,.04);border:2px solid rgba(201,168,76,.18);color:var(--text2)}
@keyframes apulse{0%,100%{box-shadow:0 0 0 0 rgba(201,168,76,.4)}50%{box-shadow:0 0 0 14px rgba(201,168,76,0)}}
.prog-body{flex:1;padding-top:6px}
.prog-phase{font-size:10px;letter-spacing:3px;color:var(--gold);text-transform:uppercase;margin-bottom:5px}
.prog-title{font-family:'Playfair Display',serif;font-size:20px;font-weight:700;margin-bottom:7px;}
.prog-desc{font-size:13px;color:var(--text2);line-height:1.75}
.prog-bar-bg{margin-top:12px;background:rgba(201,168,76,.1);height:3px;width:100%;max-width:380px}
.prog-bar{height:100%;background:var(--gold);position:relative;transition:width 1.8s cubic-bezier(.25,.46,.45,.94)}
.prog-bar::after{content:'';position:absolute;right:-1px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold)}
.prog-pct{font-size:11px;color:var(--gold);font-weight:700;margin-top:6px}

/* ── GALLERY ── */
#gallery{background:var(--dark2)}
.gal-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:240px 240px;gap:10px;margin-top:44px}
.gal-item{overflow:hidden;cursor:pointer;position:relative}
.gal-item.span2{grid-row:span 2}
.gal-inner{width:100%;height:100%;transition:transform .6s}
.gal-item:hover .gal-inner{transform:scale(1.05)}
.gal-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);opacity:0;transition:opacity .35s}
.gal-item:hover .gal-ov{opacity:1}
.gal-cap{position:absolute;bottom:14px;left:14px;font-size:12px;font-weight:500;transform:translateY(8px);opacity:0;transition:all .35s}
.gal-item:hover .gal-cap{transform:translateY(0);opacity:1}

/* ── FEATURES ── */
#features{background:var(--dark)}
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:54px}
.feat-card{padding:28px 22px;border:1px solid rgba(201,168,76,.1);background:var(--dark2);transition:all .4s;position:relative;overflow:hidden}
.feat-card::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s}
.feat-card:hover{transform:translateY(-4px);border-color:rgba(201,168,76,.25)}
.feat-card:hover::after{transform:scaleX(1)}
.feat-icon{font-size:32px;margin-bottom:14px}
.feat-title{font-family:'Playfair Display',serif;font-size:19px;font-weight:700;margin-bottom:8px}
.feat-desc{font-size:15px;color:var(--text2);line-height:1.75; font-weight: bold;}

/* ── LOCATION ── */
#location{background:var(--dark2)}
.loc-wrap{display:grid;grid-template-columns:1fr 1fr;gap:54px;margin-top:54px;align-items:stretch}
.map-box{height:100%;min-height:380px;background:var(--dark3);border:1px solid rgba(201,168,76,.15);position:relative;overflow:hidden}
.map-dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:18px;height:18px;background:var(--gold);border-radius:50%;box-shadow:0 0 0 0 rgba(201,168,76,.4);animation:mpulse 2.2s ease-in-out infinite;z-index:2}
@keyframes mpulse{0%{box-shadow:0 0 0 0 rgba(201,168,76,.4)}100%{box-shadow:0 0 0 32px rgba(201,168,76,0)}}
.map-lbl{position:absolute;top:calc(50% - 44px);left:50%;transform:translateX(-20px);background:var(--gold);color:var(--dark);font-size:10px;font-weight:700;padding:5px 12px;white-space:nowrap;z-index:2}
.loc-item{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid rgba(201,168,76,.08)}
.loc-icon{width:42px;height:42px;background:rgba(201,168,76,.07);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.loc-t{font-size:13px;font-weight:600;margin-bottom:2px}
.loc-s{font-size:11px;color:var(--text2)}

/* ── CONTACT ── */
#contact{background:var(--dark);position:relative;overflow:hidden}
#contact::before{content:'';position:absolute;top:-80px;left:-80px;width:360px;height:360px;background:radial-gradient(circle,rgba(201,168,76,.05),transparent);pointer-events:none}
.con-wrap{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.con-form{display:flex;flex-direction:column;gap:14px;margin-top:36px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.fg{display:flex;flex-direction:column;gap:7px}
.fl{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text2); margin-left: 10px;}
.fi{background:var(--dark3);border:1px solid rgba(201,168,76,.14);color:var(--text2);padding:13px 16px;font-size:13px;font-family:'Montserrat',sans-serif;outline:none;transition:border-color .3s;width:100%; border-radius: 30px;}
.fi:focus{border-color:var(--gold)}
.fi::placeholder{color:rgba(168,159,140,.35)}
.sub-btn{background:var(--gold);color:var(--dark);border:none;padding:16px;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;cursor:pointer;transition:all .3s;margin-top:6px; border-radius: 20px;}
.sub-btn:hover{background:var(--gold2);box-shadow:0 10px 36px rgba(201,168,76,.28)}
.con-info{color: red;}
.con-quote{font-family:'Playfair Display',serif;font-size:clamp(22px,3vw,30px);font-weight:700;line-height:1.35;margin-bottom:28px}
.con-quote span{color:var(--gold)}
.con-phone{font-family:'Playfair Display',serif;font-size:clamp(22px,3vw,28px);color:var(--gold);font-weight:700;margin-bottom:6px}
.con-phone-s{font-size:11px;color:var(--text2);letter-spacing:1px}
.con-div{width:50px;height:2px;background:var(--gold);margin:22px 0}
.con-hours{font-size:12px;color:var(--text2);line-height:1.9}


/* ── FOOTER ── */
footer{background:var(--dark2);border-top:1px solid rgba(201,168,76,.1);padding:48px var(--pad) 28px}
.ft-top{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr 1.1fr;gap:36px;margin-bottom:36px;justify-content:end}
.ft-brand p{font-size:12px;color:var(--text2);line-height:1.75;max-width:260px;margin-top:10px}
.ft-col h4{font-size:10px;letter-spacing:3px;color:var(--gold);text-transform:uppercase;margin-bottom:18px}
.ft-col ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.ft-col ul li a{font-size:12px;color:var(--text2);text-decoration:none;transition:color .3s}
.ft-col ul li a:hover{color:var(--gold)}
.ft-bot{border-top:1px solid rgba(201,168,76,.07);padding-top:10px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}
.ft-copy{font-size:11px;color:var(--text2)}
.ft-gold{color:var(--gold)}
.ft-date-col{margin-bottom:0;margin-left:12px}
.ft-date-col h4{font-size:10px;letter-spacing:3px;color:var(--gold);text-transform:uppercase;margin-bottom:14px}
.ft-date-widget{background:var(--dark3);border:1px solid rgba(201,168,76,.15);border-radius:10px;padding:12px 18px;display:inline-flex;flex-direction:column;gap:6px;min-width:190px}
.ft-date-widget-row{font-size:15px;color:var(--text2);display:flex;align-items:center;gap:8px}
.ft-date-widget-row i{color:var(--gold);width:14px;text-align:center;font-size:12px}

/* ── FLOATING CTA ── */
.float-cta{position:fixed;bottom:24px;right:24px;background:var(--gold);color:var(--dark);padding:13px 22px;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;border:none;cursor:pointer;box-shadow:0 6px 28px rgba(201,168,76,.4);z-index:990;transition:all .3s;animation:bob 3.5s ease-in-out infinite;display:flex;align-items:center;gap:8px; border-radius: 50px; }
.float-cta:hover{background:var(--gold2);transform:translateY(-3px) scale(1.02)}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

/* ── REVEAL ── */
.rv{opacity:0;transform:translateY(36px);transition:opacity .8s,transform .8s}
.rv.vis{opacity:1;transform:translateY(0); border-radius: 20px;}
.rvl{opacity:0;transform:translateX(-36px);transition:opacity .8s,transform .8s}
.rvl.vis{opacity:1;transform:translateX(0);border-radius: 15px;}
.rvr{opacity:0;transform:translateX(36px);transition:opacity .8s,transform .8s}
.rvr.vis{opacity:1;transform:translateX(0)}

/* social netgwork */
.social__network a{
  display: inline-block;
  font-size: 22px;
  margin-top: 15px;
  margin-right: 20px;
  margin-bottom: 20px;
  color: #a89f8c;
  cursor: pointer;
}
.social__network a:hover{
  color: #C9A84C;
  transition: width 2s;
}
/* social network end */

/* ── PARTICLES ── */
.par{position:absolute;width:2px;height:2px;background:var(--gold);border-radius:50%;opacity:0;animation:pfloat var(--d,8s) var(--e,0s) ease-in infinite;pointer-events:none}
@keyframes pfloat{0%{opacity:0;transform:translate(0,0)}10%{opacity:.8}90%{opacity:.15}100%{opacity:0;transform:translate(var(--tx,40px),var(--ty,-200px))}}

/* ══════════════════════════════
   RESPONSIVE — LAPTOP (≤1600px)
   9 ta nav-havola + til/ob-havo/tema/CTA bitta qatorga
   1600px dan kichik ekranlarda sig'may qolgani uchun
   shu oraliqda ham hamburger-menyuga o'tkaziladi
   (15.6"/16" noutbuklar odatda 1366-1536px kenglikda ishlaydi).
══════════════════════════════ */
@media(max-width:1600px){
  .nav-links{display:none}
  .nav-cta{display:none}
  .hamburger{display:flex}
}

/* ══════════════════════════════
   RESPONSIVE — TABLET (≤900px)
══════════════════════════════ */
@media(max-width:900px){
  :root{--pad:32px}
  .apt-grid{grid-template-columns:1fr 1fr}
  .feat-grid{grid-template-columns:1fr 1fr}
  .ft-top{grid-template-columns:1fr 1fr}
  .con-wrap{grid-template-columns:1fr;gap:40px}
  .loc-wrap{grid-template-columns:1fr;gap:32px}
  .map-box{height:380px}
  .gal-grid{grid-template-columns:1fr 1fr;grid-template-rows:200px 200px 200px}
  .gal-item.span2{grid-row:span 1}
  .form-row{grid-template-columns:1fr}
  .stat:not(:last-child)::after{display:none}
}

/* ══════════════════════════════
   RESPONSIVE — MOBILE (≤600px)
══════════════════════════════ */
@media(max-width:600px){
  :root{--pad:20px; overflow-x:hidden}
  #hero{height:100svh;min-height:560px}
  .hero-overlay{background:linear-gradient(to bottom,rgba(var(--dark-rgb),.92) 55%,rgba(var(--dark-rgb),.5))}
  .hero-content{padding:0 var(--pad);max-width:100%}
  .hero-btns{flex-direction:column}
  .btn-primary,.btn-secondary{text-align:center}
  .scroll-ind{display:none}
  .apt-grid{grid-template-columns:1fr}
  .feat-grid{grid-template-columns:1fr}
  .gal-grid{grid-template-columns:1fr;grid-template-rows:none;height:auto}
  .gal-item{height:200px}
  .gal-item.span2{height:220px;grid-row:span 1}
  .stats-bar{flex-direction:row;flex-wrap:wrap;gap:20px;justify-content:center}
  .stat{min-width:120px}
  .ft-top{grid-template-columns:1fr;gap:28px}
  .prog-list::before{left:19px}
  .prog-dot{width:40px;height:40px;min-width:40px}
  .map-box{height:280px}
  nav{padding:14px var(--pad)}
  .theme-toggle{width:54px;height:28px;margin-left:0px;}
  .theme-toggle-thumb{width:22px;height:22px}
  :root[data-theme="light"] .theme-toggle-thumb{left:calc(100% - 25px)}
  .theme-toggle-thumb svg{width:13px;height:13px}
  .lang-dropdown{margin-left:0}
  .lang-dropdown-btn{height:32px;padding:0 9px 0 5px; margin-left: 12px;}
  .lang-dropdown-btn .flag{width:19px;height:19px}
  .lang-dropdown-label{font-size:12px}
  .lang-dropdown-menu{min-width:160px}
}

/* ══════════════════════════════
   RESPONSIVE — SMALL (200px–550px)
   Only theme-toggle + language switcher + hamburger stay in navbar;
   weather widget moves inside the mobile menu.
══════════════════════════════ */
/* menyu ichidagi til + ob-havo qatori (JS shu yerga ko'chiradi) */
.mm-controls{display:none}
@media(max-width:550px){
  .nav-actions .nav-weather{display:none}

  /* navbar: logo | tun/kun + hamburger — chetga yopishmasin */
  nav{padding:12px 16px}
  .nav-actions{gap:12px;flex-shrink:0}
  .theme-toggle{margin-left:0}
  .hamburger{flex-shrink:0;margin-right:4px}

  /* menyu butun ekranni egallaydi, X tugma ko'rinadi, uzun bo'lsa scroll */
  .mobile-menu{
    top:var(--marquee-h);bottom:0;height:auto;z-index:999;
    justify-content:flex-start;gap:22px;
    padding:80px 20px 40px 20px;overflow-y:auto;-webkit-overflow-scrolling:touch;
  }
  .mobile-menu .close-btn{top:18px;right:18px;line-height:1;padding:6px}

  /* til + ob-havo pill-lari bitta qatorda, markazda */
  .mm-controls{
    display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;
    align-self:stretch;position:relative;margin-bottom:6px;
  }
  .mm-controls .lang-dropdown,
  .mm-controls .nav-weather{display:block;position:static;left:auto}

  .mm-controls .lang-dropdown-btn,
  .mm-controls .nw-trigger{height:50px;border-radius:26px;margin:0;background:rgba(255,255,255,.04);border-color:rgba(201,168,76,.3)}
  :root[data-theme="light"] .mm-controls .lang-dropdown-btn,
  :root[data-theme="light"] .mm-controls .nw-trigger{background:rgba(0,0,0,.03)}

  .mm-controls .lang-dropdown-btn{padding:0 16px 0 8px;gap:10px}
  .mm-controls .lang-dropdown-btn .flag{width:32px;height:32px}
  .mm-controls .lang-dropdown-label{font-size:14px;font-weight:700;color:var(--text)}

  .mm-controls .nw-trigger{padding:0 16px 0 14px;gap:12px}
  .mm-controls .nw-icon{width:28px;height:28px}
  .mm-controls .nw-meta{display:flex;align-items:center;text-align:center}
  .mm-controls .nw-city{font-size:10px;letter-spacing:1.2px}
  .mm-controls .nw-temp{font-size:19px}
  .mm-controls .nw-caret,
  .mm-controls .lang-dropdown-arrow{width:13px;height:13px;margin-left:2px}

  /* ochiladigan ro'yxatlar qator ostida, markazda va ekrandan chiqmaydi */
  .mm-controls .lang-dropdown-menu,
  .mm-controls .nw-panel{
    top:calc(100% + 10px);left:50%;right:auto;
    width:min(260px,calc(100vw - 40px));min-width:0;
    transform:translate(-50%,-8px);
  }
  .mm-controls .lang-dropdown.open .lang-dropdown-menu,
  .mm-controls .nav-weather.open .nw-panel{transform:translate(-50%,0)}
}
@media(max-width:340px){
  nav{padding:12px 12px}
  .nav-actions{gap:8px}
  .logo{font-size:16px;letter-spacing:1px}
  .mm-controls{gap:8px}
  .mm-controls .lang-dropdown-btn{padding:0 12px 0 7px}
  .mm-controls .nw-trigger{padding:0 12px 0 10px;gap:8px}
}
/* ══════════════════════════════════════════════
   DENOV CITY — QO'SHIMCHA STILLAR (to'ldirish)
══════════════════════════════════════════════ */

/* ── TESTIMONIALS ── */
#testimonials{background:var(--dark2);padding:80px var(--pad)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:54px}
.testi-card{background:var(--dark3);border:1px solid rgba(201,168,76,.1);padding:28px 24px;position:relative;transition:all .4s}
.testi-card:hover{border-color:rgba(201,168,76,.45);transform:translateY(-4px);background:linear-gradient(150deg,rgba(201,168,76,.12),var(--dark3) 65%);box-shadow:0 16px 40px rgba(201,168,76,.16)}
.testi-quote{font-size:48px;color:var(--gold);line-height:1;margin-bottom:14px;font-family:'Playfair Display',serif;opacity:.4}
.testi-text{font-size:13px;color:var(--text2);line-height:1.85;margin-bottom:20px;font-style:italic}
.testi-stars{color:var(--gold);font-size:14px;margin-bottom:14px;letter-spacing:2px}
.testi-author{display:flex;align-items:center;gap:12px;border-top:1px solid rgba(201,168,76,.1);padding-top:16px}
.testi-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--gold),rgba(201,168,76,.3));display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;font-weight:700;color:var(--dark)}
.testi-name{font-size:13px;font-weight:600;margin-bottom:2px}
.testi-apt{font-size:10px;color:var(--gold);letter-spacing:1.5px;text-transform:uppercase}

/* ── FAQ ── */
#faq{background:var(--dark);padding:80px var(--pad)}
.faq-wrap{max-width:800px;margin:54px auto 0}
.faq-item{border-bottom:1px solid rgba(201,168,76,.1);overflow:hidden}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:22px 0;cursor:pointer;gap:20px;transition:color .3s;letter-spacing:1.5px;}
.faq-q:hover{color:var(--gold)}
.faq-q-text{font-size:15px;font-weight:500;line-height:1.5}
.faq-icon{width:28px;height:28px;min-width:28px;border:1px solid rgba(201,168,76,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:0;color:var(--gold);transition:all .3s;flex-shrink:0;padding:0}
.faq-item.open .faq-icon{background:var(--gold);color:var(--dark);transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.4,0,.2,1),padding .3s}
.faq-a-inner{font-size:13px;color:var(--text2);line-height:1.85;padding-bottom:20px}
.faq-item.open .faq-a{max-height:300px}

/* ── PAYMENT PLANS ── */
#payment{background:var(--dark2);padding:80px var(--pad)}
.pay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:54px;align-items:stretch}
.pay-card{background:var(--dark3);border:1px solid rgba(201,168,76,.1);padding:28px 24px;position:relative;transition:all .4s;text-align:center;display:flex;flex-direction:column;}
.pay-card.featured{border-color:var(--gold);background:linear-gradient(135deg,rgba(201,168,76,.06),var(--dark3));}
.pay-card.featured::before{content:'MASHHUR';position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--dark);font-size:9px;font-weight:700;letter-spacing:2px;padding:4px 14px;}
.pay-badge{font-size:10px;letter-spacing:3px;color:var(--gold);text-transform:uppercase;margin-bottom:10px}
.pay-title{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;margin-bottom:8px}
.pay-down{font-size:36px;font-family:'Playfair Display',serif;color:var(--gold);font-weight:700;margin:14px 0 4px}
.pay-down-label{font-size:11px;color:var(--text2);margin-bottom:18px}
.pay-features{list-style:none;text-align:left;display:flex;flex-direction:column;gap:10px;margin-bottom:24px;border-top:1px solid rgba(201,168,76,.1);padding-top:18px;flex:1 0 auto}
.pay-features li{font-size:12px;color:var(--text2);display:flex;align-items:center;gap:8px}
.pay-features li::before{content:'✓';color:var(--gold);font-weight:700;flex-shrink:0}
.pay-btn{width:100%;background:transparent;border:1px solid var(--gold); border-radius: 30px; color:var(--gold);padding:12px;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .3s;margin-top:auto;}
.pay-card.featured .pay-btn{background:var(--gold);color:var(--dark); border-radius: 30px;}
.pay-btn:hover{background:var(--gold);color:var(--dark)}

/* ── NOTIFICATION TOAST ── */
.toast{position:fixed;bottom:80px;right:24px;z-index:9998;display:flex;align-items:center;gap:12px;padding:14px 20px;max-width:320px;font-size:13px;border-radius:0;transform:translateX(120%);transition:transform .4s cubic-bezier(.25,.46,.45,.94)}
.toast.show{transform:translateX(0)}
.toast.success{background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.4);color:#86EFAC}
.toast.error{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:#FCA5A5}
.toast-icon{font-size:18px;flex-shrink:0}
.toast-close{margin-left:auto;cursor:pointer;opacity:.6;font-size:16px;flex-shrink:0}
.toast-close:hover{opacity:1;}

/* ── TELEGRAM FLOATING BUTTON ── */
.float-wa{position:fixed;bottom:80px;left:24px;width:50px;height:50px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;cursor:pointer;box-shadow:0 4px 20px rgba(37,211,102,.4);z-index:989;transition:all .3s;text-decoration:none;animation:bob 3.5s ease-in-out 1s infinite}
.float-wa:hover{transform:scale(1.1);box-shadow:0 6px 28px rgba(37,211,102,.6)}

/* ── STICKY HEADER ON SCROLL ── */
nav.scrolled{box-shadow:0 4px 30px rgba(0,0,0,.5)}

/* ── MODAL OVERLAY ── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:all .3s}
.modal-overlay.open{opacity:1;visibility:visible}
.modal-box{background:var(--dark2);border:1px solid rgba(201,168,76,.2);max-width:560px;width:100%;padding:40px;position:relative;animation:slideUp .4s ease}
@keyframes slideUp{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}
.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--text2);font-size:22px;cursor:pointer;transition:color .3s;line-height:1}
.modal-close:hover{color:var(--gold)}
.modal-title{font-family:'Playfair Display',serif;font-size:24px;font-weight:700;margin-bottom:6px; letter-spacing: 4px;}
.modal-sub{font-size:13px;color:var(--text2);margin-bottom:24px}
.modal-apt-tag{display:inline-block;background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.3);color:var(--gold);font-size:10px;font-weight:600;letter-spacing:2px;padding:5px 12px;text-transform:uppercase;margin-bottom:20px}

/* ── BACK TO TOP ── */
.back-top{position:fixed;bottom:24px;left:24px;width:42px;height:42px;background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.3);color:var(--gold);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:989;transition:all .3s;opacity:0;visibility:hidden;font-size:18px; border-radius: 30px;}
.back-top.show{opacity:1;visibility:visible}
.back-top:hover{background:var(--gold);color:var(--dark)}

/* ── COUNTER SECTION ENHANCEMENTS ── */
.stat{cursor:default}
.stat-num{transition:color .3s}
.stat:hover .stat-num{color:var(--gold2)}

/* ── FORM STATES ── */
.fi.error-field{border-color:rgba(239,68,68,.5)!important}
.fi.success-field{border-color:rgba(34,197,94,.4)!important}
.form-msg{font-size:12px;padding:12px 16px;margin-top:4px;line-height:1.6;white-space:pre-line}
.form-msg.error{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.25);color:#FCA5A5}
.form-msg.success{background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.25);color:#86EFAC}

/* ── RESPONSIVE ADDITIONS ── */
@media(max-width:900px){
  .testi-grid{grid-template-columns:1fr}
  .pay-grid{grid-template-columns:1fr}
  .pay-card.featured{order:-1}
}
@media(max-width:600px){
  .testi-grid{grid-template-columns:1fr}
  .float-wa{bottom:90px;left:16px}
  .back-top{left:16px}
  .modal-box{padding:24px 20px}
  #testimonials,#faq,#payment{padding:60px var(--pad)}
}


/* ── Apt zoom icon ── */
.apt-zoom-icon{position:absolute;bottom:10px;right:10px;width:36px;height:36px;border-radius:50%;background:rgba(201,168,76,.9);display:flex;align-items:center;justify-content:center;font-size:16px;opacity:0;transition:opacity .25s;pointer-events:none;}
.apt-img img{transition:transform .4s}
/* Hover-effektlar faqat sichqonchali (real hover qo'llab-quvvatlaydigan) qurilmalarda ishlaydi.
   Aks holda mobil/tach ekranlarda rasmning o'rtasiga bosilganda birinchi tegish faqat
   ":hover" holatini yoqib, lupa ochilishi uchun ikkinchi marta bosish talab qilinardi. */
@media (hover:hover) and (pointer:fine){
  .apt-img:hover .apt-zoom-icon{opacity:1}
  .apt-img:hover img{transform:scale(1.03)}
}
/* Tach qurilmalarda lupa belgisi doim ko'rinib tursin, shunda rasm bosiladigan ekanligi darhol tushunarli bo'ladi */
@media (hover:none), (pointer:coarse){
  .apt-zoom-icon{opacity:.9}
}

/* ── Lightbox ── */
#dcLb{position:fixed;inset:0;z-index:9997;background:rgba(0,0,0,.97);display:none;align-items:center;justify-content:center;cursor:zoom-out}
#dcLb.on{display:flex;animation:dcIn .2s ease}
@keyframes dcIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
#dcLbBox{position:relative;max-width:96vw;max-height:95vh;cursor:default;overflow:auto}
#dcLbBox img{display:block;max-width:100%;max-height:90vh;object-fit:contain}
.dcLbClose{position:fixed;top:14px;right:16px;width:48px;height:48px;background:rgba(201,168,76,.15);border:1px solid rgba(201,168,76,.5);color:var(--gold);font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:9999}
.dcLbClose:hover{background:var(--gold);color:#0a0e1a}
.dcLbArrow{position:fixed;top:50%;transform:translateY(-50%);width:48px;height:48px;background:rgba(201,168,76,.15);border:1px solid rgba(201,168,76,.4);color:var(--gold);font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:9999}
.dcLbArrow:hover{background:var(--gold);color:#0a0e1a}
#dcLbPrev{left:10px}#dcLbNext{right:10px}
.dcLbBar{position:absolute;bottom:0;left:0;right:0;padding:10px 16px;background:linear-gradient(to top,rgba(0,0,0,.85),transparent);display:flex;justify-content:space-between;pointer-events:none}

/* ══════════════════════════════════════════════
   DENOV CITY — QO'SHIMCHA STILLAR (to'ldirish)
══════════════════════════════════════════════ */

/* ── TESTIMONIALS ── */
#testimonials{background:var(--dark2);padding:80px var(--pad)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:54px}
.testi-card{background:var(--dark3);border:1px solid rgba(201,168,76,.1);padding:28px 24px;position:relative;transition:all .4s; border-radius: 30px;}
.testi-card:hover{border-color:rgba(201,168,76,.45);transform:translateY(-4px);background:linear-gradient(150deg,rgba(201,168,76,.12),var(--dark3) 65%);box-shadow:0 16px 40px rgba(201,168,76,.16)}
.testi-quote{font-size:48px;color:var(--gold);line-height:1;margin-bottom:14px;font-family:'Playfair Display',serif;opacity:.4}
.testi-quote img{border-radius: 20px;}
.testi-text{font-size:13px;color:var(--text2);line-height:1.85;margin-bottom:20px;font-style:italic}
.testi-stars{color:var(--gold);font-size:14px;margin-bottom:14px;letter-spacing:2px}
.testi-author{display:flex;align-items:center;gap:12px;border-top:1px solid rgba(201,168,76,.1);padding-top:16px}
.testi-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--gold),rgba(201,168,76,.3));display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;font-weight:700;color:var(--dark)}
.testi-name{font-size:13px;font-weight:600;margin-bottom:2px}
.testi-apt{font-size:10px;color:var(--gold);letter-spacing:1.5px;text-transform:uppercase}

/* ── FAQ ── */
#faq{background:var(--dark);padding:80px var(--pad)}
.faq-wrap{max-width:800px;margin:54px auto 0}
.faq-item{border-bottom:1px solid rgba(201,168,76,.1);overflow:hidden}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:22px 0;cursor:pointer;gap:20px;transition:color .3s}
.faq-q:hover{color:var(--gold)}
.faq-q-text{font-size:15px;font-weight:500;line-height:1.5}
.faq-icon{width:28px;height:28px;min-width:28px;border:1px solid rgba(201,168,76,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:0;color:var(--gold);transition:all .3s;flex-shrink:0;padding:0}
.faq-item.open .faq-icon{background:var(--gold);color:var(--dark);transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.4,0,.2,1),padding .3s}
.faq-a-inner{font-size:13px;color:var(--text2);line-height:1.85;padding-bottom:20px}
.faq-item.open .faq-a{max-height:300px}

/* ── PAYMENT PLANS ── */
#payment{background:var(--dark2);padding:80px var(--pad)}
.pay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:54px;align-items:stretch}
.pay-card{background:var(--dark3);border:1px solid rgba(201,168,76,.1);padding:28px 24px;position:relative;transition:all .4s;text-align:center;display:flex;flex-direction:column}
.pay-card.featured{border-color:var(--gold);background:linear-gradient(135deg,rgba(201,168,76,.06),var(--dark3))}
.pay-card.featured::before{content:'MASHHUR';position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--dark);font-size:9px;font-weight:700;letter-spacing:2px;padding:4px 14px}
.pay-badge{font-size:10px;letter-spacing:3px;color:var(--gold);text-transform:uppercase;margin-bottom:10px}
.pay-title{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;margin-bottom:8px; letter-spacing: 4px;}
.pay-down{font-size:36px;font-family:'Playfair Display',serif;color:var(--gold);font-weight:700;margin:14px 0 4px}
.pay-down-label{font-size:11px;color:var(--text2);margin-bottom:18px}
.pay-features{list-style:none;text-align:left;display:flex;flex-direction:column;gap:10px;margin-bottom:24px;border-top:1px solid rgba(201,168,76,.1);padding-top:18px;flex:1 0 auto}
.pay-features li{font-size:13px;color:var(--text2);display:flex;align-items:center;gap:8px; font-weight: bold;}
.pay-features li::before{content:'✓';color:var(--gold);font-weight:700;flex-shrink:0}
.pay-btn{width:100%;background:transparent;border:1px solid var(--gold);color:var(--gold);padding:12px;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .3s;margin-top:auto}
.pay-card.featured .pay-btn{background:var(--gold);color:var(--dark)}
.pay-btn:hover{background:var(--gold);color:var(--dark)}

/* ── NOTIFICATION TOAST ── */
.toast{position:fixed;bottom:80px;right:24px;z-index:9998;display:flex;align-items:center;gap:12px;padding:14px 20px;max-width:320px;font-size:13px;border-radius:0;transform:translateX(120%);transition:transform .4s cubic-bezier(.25,.46,.45,.94)}
.toast.show{transform:translateX(0)}
.toast.success{background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.4);color:#86EFAC}
.toast.error{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:#FCA5A5}
.toast-icon{font-size:18px;flex-shrink:0}
.toast-close{margin-left:auto;cursor:pointer;opacity:.6;font-size:16px;flex-shrink:0}
.toast-close:hover{opacity:1}

/* ── WHATSAPP FLOATING BUTTON ── */
.float-wa{position:fixed;bottom:80px;left:24px;width:50px;height:50px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;cursor:pointer;box-shadow:0 4px 20px rgba(37,211,102,.4);z-index:989;transition:all .3s;text-decoration:none;animation:bob 3.5s ease-in-out 1s infinite}
.float-wa:hover{transform:scale(1.1);box-shadow:0 6px 28px rgba(37,211,102,.6)}

/* ── STICKY HEADER ON SCROLL ── */
nav.scrolled{box-shadow:0 4px 30px rgba(0,0,0,.5)}

/* ── MODAL OVERLAY ── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:all .3s}
.modal-overlay.open{opacity:1;visibility:visible}
.modal-box{background:var(--dark2);border:1px solid rgba(201,168,76,.2);max-width:560px;width:100%;padding:40px;position:relative;animation:slideUp .4s ease}
@keyframes slideUp{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}
.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--text2);font-size:22px;cursor:pointer;transition:color .3s;line-height:1}
.modal-close:hover{color:var(--gold)}
.modal-title{font-family:'Playfair Display',serif;font-size:24px;font-weight:700;margin-bottom:6px}
.modal-sub{font-size:13px;color:var(--text2);margin-bottom:24px}
.modal-apt-tag{display:inline-block;background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.3);color:var(--gold);font-size:10px;font-weight:600;letter-spacing:2px;padding:5px 12px;text-transform:uppercase;margin-bottom:20px}

/* ── BACK TO TOP ── */
.back-top{position:fixed;bottom:24px;left:24px;width:42px;height:42px;background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.3);color:var(--gold);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:989;transition:all .3s;opacity:0;visibility:hidden;font-size:18px}
.back-top.show{opacity:1;visibility:visible}
.back-top:hover{background:var(--gold);color:var(--dark)}

/* ── COUNTER SECTION ENHANCEMENTS ── */
.stat{cursor:default}
.stat-num{transition:color .3s}
.stat:hover .stat-num{color:var(--gold2)}

/* ── FORM STATES ── */
.fi.error-field{border-color:rgba(239,68,68,.5)!important}
.fi.success-field{border-color:rgba(34,197,94,.4)!important}
.form-msg{font-size:12px;padding:12px 16px;margin-top:4px;line-height:1.6;white-space:pre-line}
.form-msg.error{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.25);color:#FCA5A5}
.form-msg.success{background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.25);color:#86EFAC}

/* ── RESPONSIVE ADDITIONS ── */
@media(max-width:900px){
  .testi-grid{grid-template-columns:1fr}
  .pay-grid{grid-template-columns:1fr}
  .pay-card.featured{order:-1}
}
@media(max-width:600px){
  .testi-grid{grid-template-columns:1fr}
  .float-wa{bottom:90px;left:16px}
  .back-top{left:16px}
  .modal-box{padding:24px 20px}
  #testimonials,#faq,#payment{padding:60px var(--pad)}
}

/* ── PAYMENT CALCULATOR ── */
.calc-box{
  max-width:720px;
  margin:32px auto 0;
  background:var(--dark3);
  border:1px solid rgba(201,168,76,.14);
  padding:32px 34px;
}
.calc-head{text-align:center;margin-bottom:26px}
.calc-title{font-family:'Playfair Display',serif;font-size:clamp(18px,2.2vw,22px);font-weight:700;margin-bottom:6px; letter-spacing:3.5px}
.calc-sub{font-size:12px;color:var(--text2)}
.calc-grid{display:grid;grid-template-columns:1fr;gap:22px}
.calc-controls{display:flex;flex-direction:column;gap:18px}
.calc-field-label{font-size:12px;color:var(--text);margin-bottom:8px;font-weight:600}
.calc-field-label span[id]{color:var(--gold)}

.calc-price-input-wrap{margin-bottom:10px}
.calc-price-input{
  width:100%;background:rgba(201,168,76,.06);
  border:1px solid rgba(201,168,76,.3);
  color:var(--gold);font-family:'Playfair Display',serif;
  font-size:17px;font-weight:700;padding:9px 12px;
  outline:none;transition:border-color .25s,background .25s;
}
.calc-price-input:focus{border-color:var(--gold);background:rgba(201,168,76,.1)}

.calc-slider{
  -webkit-appearance:none;appearance:none;
  width:100%;height:4px;border-radius:2px;
  background:rgba(201,168,76,.2);outline:none;cursor:pointer;
}
.calc-slider::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;
  width:16px;height:16px;border-radius:50%;
  background:var(--gold);border:2px solid var(--dark3);
  box-shadow:0 2px 6px rgba(0,0,0,.35);
  cursor:pointer;transition:transform .2s;
}
.calc-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}
.calc-slider::-moz-range-thumb{
  width:16px;height:16px;border-radius:50%;
  background:var(--gold);border:2px solid var(--dark3);
  box-shadow:0 2px 6px rgba(0,0,0,.35);
  cursor:pointer;transition:transform .2s;
}
.calc-slider::-moz-range-thumb:hover{transform:scale(1.15)}
.calc-slider::-moz-range-progress{background:var(--gold);height:4px;border-radius:2px}

.calc-result-box{
  background:linear-gradient(135deg,rgba(201,168,76,.08),transparent);
  border:1px solid rgba(201,168,76,.25);
  padding:22px 20px;text-align:center;
}
.calc-result-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text2);margin-bottom:8px}
.calc-result-value{font-family:'Playfair Display',serif;font-size:clamp(22px,2.8vw,28px);font-weight:700;color:var(--gold);margin-bottom:16px;word-break:break-word}
.calc-cta{
  width:100%;background:var(--gold);color:var(--dark);border:none;
  padding:12px;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  cursor:pointer;transition:all .3s; border-radius: 30px;
}
.calc-cta:hover{background:var(--gold2)}

@media(max-width:900px){
  .calc-box{padding:26px 20px;max-width:100%}
  .calc-grid{grid-template-columns:1fr;gap:22px}
}

/* ══════════ AI ASSISTANT ══════════ */
.ai-sub{color:var(--text2);font-size:14px;max-width:560px;margin-bottom:36px;line-height:1.7}
.ai-wrap{display:flex;justify-content:center}
.ai-card{width:100%;max-width:720px;background:var(--dark2);border:1px solid rgba(201,168,76,.18);border-radius:22px;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.25);display:flex;flex-direction:column}
.ai-card-head{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid rgba(201,168,76,.14);margin-bottom:14px}
.ai-bot-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold2));display:flex;align-items:center;justify-content:center;color:var(--dark);font-size:18px;flex-shrink:0}
.ai-bot-name{font-family:'Playfair Display',serif;font-weight:700;font-size:15px;color:var(--text); text-transform:uppercase;letter-spacing:4.5px}
.ai-bot-status{font-size:11px;color:var(--text2);display:flex;align-items:center;gap:6px;margin-top:2px}
.ai-dot{width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block;box-shadow:0 0 0 0 rgba(34,197,94,.5);animation:aidotpulse 2s infinite}
@keyframes aidotpulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.5)}70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}

.ai-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.ai-chip{background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.28);color:var(--gold);font-size:11.5px;font-weight:600;padding:8px 14px;border-radius:30px;cursor:pointer;transition:all .25s;white-space:nowrap}
.ai-chip:hover{background:var(--gold);color:var(--dark)}

.ai-messages{display:flex;flex-direction:column;gap:14px;max-height:420px;min-height:180px;overflow-y:auto;padding:6px 4px;margin-bottom:14px;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
.ai-messages::-webkit-scrollbar{width:5px}
.ai-messages::-webkit-scrollbar-thumb{background:rgba(201,168,76,.4);border-radius:10px}
.ai-messages-float{max-height:320px}

.ai-msg{display:flex;gap:10px;align-items:flex-start;max-width:92%;animation:aimsgin .35s ease}
@keyframes aimsgin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.ai-msg.user{align-self:flex-end;flex-direction:row-reverse}
.ai-msg-av{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px}
.ai-msg.bot .ai-msg-av{background:linear-gradient(135deg,var(--gold),var(--gold2));color:var(--dark)}
.ai-msg.user .ai-msg-av{background:var(--dark3);color:var(--text2)}
.ai-msg-bubble{padding:11px 15px;border-radius:16px;font-size:13px;line-height:1.65;white-space:pre-line}
.ai-msg.bot .ai-msg-bubble{background:var(--dark3);color:var(--text);border-bottom-left-radius:4px}
.ai-msg.user .ai-msg-bubble{background:var(--gold);color:var(--dark);border-bottom-right-radius:4px;font-weight:500}
.ai-msg-bubble a.ai-cta-link{display:inline-flex;align-items:center;gap:6px;margin-top:8px;background:var(--gold);color:var(--dark);text-decoration:none;font-weight:700;font-size:11.5px;padding:8px 14px;border-radius:30px;animation: apulse 3s ease-in-out infinite;}

.ai-typing{display:flex;gap:4px;align-items:center;padding:4px 2px}
.ai-typing span{width:6px;height:6px;background:var(--text2);border-radius:50%;animation:aitypedot 1.2s infinite ease-in-out}
.ai-typing span:nth-child(2){animation-delay:.2s}
.ai-typing span:nth-child(3){animation-delay:.4s}
@keyframes aitypedot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

.ai-inputbar{display:flex;gap:8px}
.ai-input{flex:1;background:var(--dark3);border:1px solid rgba(201,168,76,.2);color:var(--text);padding:12px 16px;border-radius:30px;font-family:'Montserrat',sans-serif;font-size:13px;outline:none;transition:border .25s}
.ai-input:focus{border-color:var(--gold)}
.ai-send{width:42px;height:42px;border-radius:50%;background:var(--gold);color:var(--dark);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;transition:all .25s}
.ai-send:hover{background:var(--gold2);transform:scale(1.06)}
.ai-disclaimer{margin-top:12px;font-size:10.5px;color:var(--text2);text-align:center;line-height:1.5}

/* Floating widget */
.ai-fab{position:fixed;bottom:90px;right:24px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold2));color:var(--dark);border:none;font-size:20px;cursor:pointer;z-index:991;box-shadow:0 8px 28px rgba(201,168,76,.45);display:flex;align-items:center;justify-content:center;animation:bob 3.5s ease-in-out .5s infinite;transition:transform .25s}
.ai-fab:hover{transform:scale(1.08)}
.ai-fab-badge{position:absolute;top:-2px;right:-2px;background:#E24C4C;color:#fff;font-size:10px;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--dark)}

.ai-float-panel{position:fixed;bottom:158px;right:24px;width:360px;max-width:calc(100vw - 32px);max-height:70vh;background:rgba(var(--dark-rgb),.98);backdrop-filter:blur(24px);border:1px solid rgba(201,168,76,.22);border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.5);z-index:992;padding:18px;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(16px) scale(.97);transition:all .3s ease}
.ai-float-panel.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.ai-float-head{margin-bottom:12px;padding-bottom:12px}
.ai-float-close{background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.25);color:var(--gold);width:30px;height:30px;border-radius:50%;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:13px;transition:all .2s}
.ai-float-close:hover{background:var(--gold);color:var(--dark)}

@media(max-width:600px){
  .ai-fab{bottom:96px;right:16px;width:50px;height:50px;font-size:18px}
  .ai-float-panel{right:10px;left:10px;width:auto;bottom:156px}
  .ai-card{padding:16px}
  .ai-messages{max-height:340px}
}

/* AI + Calculator 50/50 split layout (desktop) */
.ai-split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}
.ai-split .calc-box{max-width:none;margin:0;width:100%;display:flex;flex-direction:column;justify-content:center; border-radius: 22px;}
.ai-split .ai-wrap{display:block;width:100%}
.ai-split .ai-card{max-width:none;width:100%;height:100%;box-sizing:border-box; background: var(--dark3);}

@media(max-width:900px){
  .ai-split{grid-template-columns:1fr;gap:24px}
}

/* ═══════════════════════════════════════════════
   BIRLASHGAN FLOATING ACTION BUTTON (FAB MENU)
   Eski 3 ta alohida tugma o'rniga bitta tugma
   ═══════════════════════════════════════════════ */

/* Eski tugmalarni yashiramiz (ai-fab DOM'da qoladi — logika unga bog'liq) */
.float-cta, .float-wa, .ai-fab{ display:none !important; }

.fab-stack{
  position:fixed; bottom:24px; right:24px; z-index:995;
  display:flex; flex-direction:column; align-items:flex-end; gap:12px;
}

/* ── Menyu ── */
.fab-menu{
  display:flex; flex-direction:column; align-items:flex-end; gap:10px;
  opacity:0; visibility:hidden; pointer-events:none;
  transform:translateY(12px) scale(.94); transform-origin:bottom right;
  transition:opacity .28s ease, transform .28s cubic-bezier(.34,1.4,.64,1), visibility .28s;
}
.fab-stack.open .fab-menu{
  opacity:1; visibility:visible; pointer-events:auto;
  transform:translateY(0) scale(1);
}

/* ── Menyu elementlari ── */
.fab-item{
  display:flex; align-items:center; gap:10px;
  background:none; border:none; padding:0; margin:0;
  cursor:pointer; text-decoration:none;
  opacity:0; transform:translateX(14px);
  transition:opacity .25s ease, transform .25s ease;
}
.fab-stack.open .fab-item{ opacity:1; transform:translateX(0); }
.fab-stack.open .fab-item:nth-child(1){ transition-delay:.12s }
.fab-stack.open .fab-item:nth-child(2){ transition-delay:.07s }
.fab-stack.open .fab-item:nth-child(3){ transition-delay:.02s }

.fab-label{
  background:rgba(var(--dark-rgb),.95);
  backdrop-filter:blur(14px);
  color:var(--text);
  border:1px solid rgba(201,168,76,.25);
  padding:8px 14px; border-radius:50px;
  font-family:'Montserrat',sans-serif;
  font-size:11px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase;
  white-space:nowrap;
  box-shadow:0 6px 20px rgba(0,0,0,.28);
  transition:all .25s;
}
.fab-ico{
  width:46px; height:46px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:19px; color:#fff; flex:0 0 46px;
  box-shadow:0 6px 20px rgba(0,0,0,.3);
  transition:transform .25s, box-shadow .25s;
}
.fab-ico.ico-ai{ background:linear-gradient(135deg,var(--gold),var(--gold2)); color:var(--dark); }
.fab-ico.ico-tg{ background:linear-gradient(135deg,#2AABEE,#229ED9); }
.fab-ico.ico-lc{ background:linear-gradient(135deg,var(--gold),var(--gold2)); color:var(--dark); }
.fab-ico.ico-wh{ background:linear-gradient(135deg,#06aa21,#098519); }
.fab-ico.ico-call{ background:linear-gradient(135deg,#22C55E,#16A34A); }

.fab-item:hover .fab-ico{ transform:scale(1.12); }
.fab-item:hover .fab-label{ border-color:var(--gold); color:var(--gold); }

/* ── Asosiy tugma ── */
.fab-main{
  position:relative;
  width:58px; height:58px; border-radius:50%;
  border:none; cursor:pointer;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:var(--dark); font-size:22px;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 28px rgba(201,168,76,.45);
  transition:transform .3s cubic-bezier(.34,1.4,.64,1), box-shadow .3s;
  animation:bob 3.5s ease-in-out infinite;
}
.fab-main:hover{ transform:scale(1.08); box-shadow:0 10px 34px rgba(201,168,76,.6); }
.fab-stack.open .fab-main{ animation:none; transform:rotate(90deg); }
.fab-stack.open .fab-main:hover{ transform:rotate(90deg) scale(1.08); }

.fab-ic{ position:absolute; transition:opacity .25s ease, transform .3s ease;  }
.fab-ic-close{ opacity:0; transform:rotate(-90deg) scale(.6); }
.fab-stack.open .fab-ic-open{ opacity:0; transform:rotate(90deg) scale(.6); }
.fab-stack.open .fab-ic-close{ opacity:1; transform:rotate(0) scale(1); }

.fab-badge{
  position:absolute; top:-2px; right:-2px;
  background:#E24C4C; color:#fff;
  font-size:10px; font-weight:700;
  width:19px; height:19px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  border:2px solid var(--dark);
}

/* AI paneli endi bitta tugma ustida turadi */
.ai-float-panel{ bottom:96px !important; right:24px !important; }

@media(max-width:768px){
  .fab-stack{ bottom:16px; right:16px; gap:10px; }
  .fab-main{ width:52px; height:52px; font-size:20px; }
  .fab-ico{ width:42px; height:42px; flex:0 0 42px; font-size:17px; }
  .fab-label{ font-size:10px; padding:7px 12px; letter-spacing:1px; }
  .ai-float-panel{ bottom:82px !important; right:10px !important; left:10px; width:auto; }
}

/* ── TEST REJIM BANNERI ── */
.marquee-wrapper{
  display: flex;
  position:fixed; 
  top:0; 
  left:0; 
  width:100%; 
  height:var(--marquee-h);
  overflow:hidden; 
  background:#111827; 
  border-bottom:1px solid #111827;
  box-sizing:border-box; 
  z-index:1000;
  align-items:center;
}
.marquee-content{
  display:inline-flex;
  white-space:nowrap;
  animation:scroll-left 20s linear infinite;
}
.marquee-content span{
  font-size:12px; 
  font-weight:bold; 
  letter-spacing:1px;
  margin-right:60px; color:#C9A84C;
}
@keyframes scroll-left{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(-50%); }
}
@media(max-width:600px){
  :root{ --marquee-h:30px; }
  .marquee-content span{ font-size:10.5px; margin-right:36px; }
}
