/* ═══════════════════════════════════════════════════
   ÉLANCE v10 — Light Theme · Creative Editorial
   Playfair Display + DM Sans · Warm whites & gold
   Mobile-first · App-grade alignment
   ═══════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,700;0,900;1,400;1,700&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&display=swap');

:root {
  /* Light palette */
  --pr: #1a1209;        /* rich warm black */
  --ac: #b8922a;        /* deep gold */
  --ac-light: #f0e0b0;  /* pale gold tint */
  --bg: #faf9f6;        /* warm white */
  --bg2: #f3f0ea;       /* soft cream */
  --sf: #ffffff;
  --sf2: #f8f7f4;
  --tx: #1a1209;
  --tx2: #3d3328;
  --tm: #6b5f52;
  --tl: #a89b8c;
  --br: #e8e2d8;
  --br2: #d6cfc4;
  --ok: #1e7a4a;
  --er: #c0392b;
  --wn: #9b6f00;
  --fd: 'Playfair Display', Georgia, serif;
  --fu: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --rd: 4px;
  --tr: .24s cubic-bezier(.4,0,.2,1);
  --nav-h: 68px;
  --sb-w: 260px;
  --sh: 0 1px 8px rgba(26,18,9,.06);
  --sh2: 0 8px 40px rgba(26,18,9,.1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--fu);background:var(--bg);color:var(--tx);overflow-x:hidden;-webkit-font-smoothing:antialiased;line-height:1.6}
img{max-width:100%;display:block}
button{cursor:pointer;font-family:var(--fu);border:none;background:none}
input,select,textarea{font-family:var(--fu)}
a{color:inherit;text-decoration:none}
*{-webkit-tap-highlight-color:transparent}

/* ── Type scale ── */
.dxl{font-family:var(--fd);font-size:clamp(2.8rem,7vw,6.5rem);font-weight:900;line-height:.9;letter-spacing:-.03em}
.dlg{font-family:var(--fd);font-size:clamp(1.9rem,4.5vw,3.75rem);font-weight:700;line-height:1.1;letter-spacing:-.02em}
.dmd{font-family:var(--fd);font-size:clamp(1.4rem,2.5vw,2.2rem);font-weight:500;line-height:1.2}
.lbl{font-size:.62rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.col-ac{color:var(--ac)}.col-ok{color:var(--ok)}.col-er{color:var(--er)}.col-tm{color:var(--tm)}

/* ── Loader ── */
.page-loader{min-height:100dvh;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem}
.pl-logo{font-family:var(--fd);font-size:2.5rem;font-weight:700;letter-spacing:.05em;color:var(--tx)}
.pl-bar{width:120px;height:2px;background:var(--br);overflow:hidden;border-radius:1px}
.pl-fill{height:100%;background:var(--ac);animation:plFill 1.4s ease-in-out infinite}
@keyframes plFill{0%{width:0;margin-left:0}50%{width:100%;margin-left:0}100%{width:0;margin-left:100%}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes slideDown{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@keyframes msgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ═══════════════════════════════════════
   HEADER — rebuilt clean
═══════════════════════════════════════ */
.hdr{
  position:fixed;top:0;left:0;right:0;z-index:200;
  height:var(--nav-h);
  background:rgba(250,249,246,.97);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid transparent;
  transition:border-color var(--tr),background var(--tr);
}
.hdr.scrolled{border-bottom-color:var(--br);background:rgba(250,249,246,.99)}
.hdr-inner{
  height:100%;display:flex;align-items:center;
  padding:0 clamp(1.25rem,5vw,4rem);gap:1rem;
}
/* Brand / Logo */
.hdr-brand{
  display:flex;align-items:center;gap:.55rem;
  background:none;border:none;cursor:pointer;padding:0;
  text-decoration:none;flex-shrink:0;
}
.hdr-logo-mark{
  width:28px;height:28px;display:flex;align-items:center;justify-content:center;
  color:var(--ac);flex-shrink:0;transition:transform .3s ease;
}
.hdr-brand:hover .hdr-logo-mark{transform:rotate(45deg)}
.hdr-logo-img{
  height:var(--header-logo-h,38px);
  width:auto;
  max-width:180px;
  object-fit:contain;
  display:block;
  flex-shrink:0;
}
.hdr-logo-text{
  font-family:var(--fd);font-size:1.5rem;font-weight:700;
  letter-spacing:.04em;color:var(--tx);line-height:1;
}
/* Nav links */
.hdr-nav{display:flex;align-items:center;justify-content:center;gap:clamp(1.5rem,3vw,3rem);flex:1}
.hdr-link{
  font-size:.74rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  color:var(--tm);transition:color var(--tr);cursor:pointer;
  position:relative;padding-bottom:2px;white-space:nowrap;
  background:none;border:none;font-family:var(--fu);
}
.hdr-link::after{
  content:'';position:absolute;bottom:0;left:0;right:100%;
  height:1.5px;background:var(--ac);transition:right .3s ease;
}
.hdr-link:hover,.hdr-link.active{color:var(--tx)}
.hdr-link:hover::after,.hdr-link.active::after{right:0}
.hdr-close{display:none;position:absolute;top:1.25rem;right:1.25rem;width:42px;height:42px;align-items:center;justify-content:center;color:var(--tm);cursor:pointer;background:var(--bg2);border:none;border-radius:50%;font-size:1.1rem;transition:all var(--tr)}
.hdr-nav-mob-actions{display:none}
/* Right actions */
.hdr-actions{display:flex;align-items:center;gap:.85rem;flex-shrink:0}
.hdr-ghost{
  padding:.52rem 1.1rem;font-size:.72rem;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--tm);border:1.5px solid var(--br);border-radius:var(--rd);
  cursor:pointer;background:transparent;font-family:var(--fu);
  transition:all var(--tr);white-space:nowrap;
}
.hdr-ghost:hover{color:var(--tx);border-color:var(--tx)}
/* Hamburger */
.hdr-burger{
  display:none;flex-direction:column;justify-content:space-between;
  width:24px;height:16px;background:none;border:none;cursor:pointer;padding:0;
}
.hdr-burger span{
  display:block;width:100%;height:1.5px;background:var(--tx);
  transition:all var(--tr);transform-origin:center;border-radius:1px;
}
.hdr-burger.open span:nth-child(1){transform:translateY(7.25px) rotate(45deg)}
.hdr-burger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.hdr-burger.open span:nth-child(3){transform:translateY(-7.25px) rotate(-45deg)}
/* ═══════════════════════════════════════
   BUTTONS
═══════════════════════════════════════ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.82rem 2rem;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border:none;border-radius:var(--rd);cursor:pointer;transition:all var(--tr);white-space:nowrap;line-height:1;font-family:var(--fu);-webkit-appearance:none}
.bp{background:var(--pr);color:#fff}.bp:hover{background:var(--tx2);box-shadow:0 4px 16px rgba(26,18,9,.2)}
.ba{background:var(--ac);color:#fff}.ba:hover{background:#c9a030;box-shadow:0 4px 16px rgba(184,146,42,.3)}
.bo{background:transparent;color:var(--tx);border:1.5px solid var(--tx)}.bo:hover{background:var(--tx);color:#fff}
.bo-ac{background:transparent;color:var(--ac);border:1.5px solid var(--ac)}.bo-ac:hover{background:var(--ac);color:#fff}
.bg{background:transparent;color:var(--tm);border:1px solid var(--br)}.bg:hover{border-color:var(--tx);color:var(--tx)}
.bsm{padding:.5rem 1.1rem;font-size:.65rem}
.blg{padding:1.05rem 2.75rem;font-size:.78rem}
.bok{background:var(--ok);color:#fff}.bok:hover{background:#155735}
.ber{background:var(--er);color:#fff}.ber:hover{background:#962824}
.btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}
.wf{width:100%}

/* ═══════════════════════════════════════
   HOME — CREATIVE LAYOUT
   Concept: Large number + image + text asymmetry
   Feels like a luxury editorial magazine
═══════════════════════════════════════ */

/* ── Hero: Full-viewport with diagonal split ── */
.hero{
  min-height:100dvh;
  background:var(--bg);
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr;
}
/* Diagonal divider element */
.hero::before{
  content:'';
  position:absolute;
  top:0;right:0;
  width:52%;height:100%;
  background:var(--pr);
  clip-path:polygon(8% 0,100% 0,100% 100%,0 100%);
  z-index:0;
}
.hero-left{
  position:relative;z-index:2;
  display:flex;flex-direction:column;justify-content:center;
  padding:calc(var(--nav-h) + 3rem) clamp(2rem,5vw,6rem) clamp(3rem,5vw,6rem);
}
.hero-kicker{
  display:inline-flex;align-items:center;gap:.75rem;
  margin-bottom:2rem;
}
.hero-kicker-line{width:28px;height:1.5px;background:var(--ac);flex-shrink:0}
.hero-kicker-text{font-size:.65rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--ac)}
.hero-title{
  font-family:var(--fd);
  font-size:clamp(3.5rem,7vw,7.5rem);
  font-weight:900;
  color:var(--tx);
  line-height:.9;
  letter-spacing:-.03em;
  margin-bottom:clamp(1.5rem,3vw,2.5rem);
}
.hero-title em{font-style:italic;font-weight:400;color:var(--ac);display:block}
.hero-desc{
  font-size:clamp(.9rem,1.2vw,1.05rem);
  font-weight:300;
  color:var(--tm);
  line-height:1.85;
  max-width:400px;
  margin-bottom:clamp(2rem,4vw,3rem);
}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.hero-scroll-hint{
  margin-top:3.5rem;
  display:flex;align-items:center;gap:.75rem;
  font-size:.62rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--tl);
}
.hero-scroll-hint::after{content:'';width:40px;height:1px;background:var(--br)}

/* Right: Image collage on dark bg */
.hero-right{
  position:relative;z-index:2;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:3px;
  overflow:hidden;
}
.hero-img{overflow:hidden;position:relative}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform 1.2s ease}
.hero-img:hover img{transform:scale(1.04)}
.hero-img-main{grid-column:1/3;grid-row:1/2}/* top full width */
.hero-img-sm1,.hero-img-sm2{grid-row:2/3}/* bottom two */
.hero-stats{
  position:absolute;bottom:0;left:0;right:0;
  display:flex;justify-content:space-around;
  background:rgba(26,18,9,.85);
  backdrop-filter:blur(10px);
  padding:1.25rem 2rem;z-index:3;
}
.hstat strong{display:block;font-family:var(--fd);font-size:clamp(1.6rem,2.5vw,2.4rem);font-weight:700;color:#fff;line-height:1}
.hstat span{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-top:.2rem;display:block}

/* ── Ticker tape banner ── */
.ticker{
  background:var(--ac);
  overflow:hidden;
  padding:.65rem 0;
  white-space:nowrap;
  border-top:none;
}
.ticker-inner{
  display:inline-flex;
  animation:ticker 20s linear infinite;
}
.ticker-inner span{
  font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--pr);padding:0 2rem;
}
.ticker-inner span::before{content:'✦ ';opacity:.5}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── Featured: big overlapping cards ── */
.featured-section{background:var(--bg);padding:clamp(5rem,10vw,9rem) 0;position:relative}
.section-eyebrow{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}
.section-eyebrow::before{content:'';width:28px;height:1.5px;background:var(--ac);flex-shrink:0}
.section-header{
  display:flex;align-items:flex-end;justify-content:space-between;
  padding:0 clamp(1.5rem,5vw,5rem);
  margin-bottom:clamp(2.5rem,4vw,4rem);
  gap:1.5rem;flex-wrap:wrap;
}
.feat-strip{
  display:flex;gap:4px;overflow-x:auto;
  padding:0 clamp(1.5rem,5vw,5rem);
  scrollbar-width:none;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
}
.feat-strip::-webkit-scrollbar{display:none}
.mcardtall{
  flex:0 0 clamp(200px,24vw,290px);height:clamp(320px,42vw,480px);
  position:relative;overflow:hidden;background:var(--bg2);
  cursor:pointer;scroll-snap-align:start;flex-shrink:0;
  border-radius:6px;
}
.mcardtall img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 1.2s ease}
.mcardtall:hover img{transform:scale(1.05)}
.mcardtall .ov{
  position:absolute;bottom:0;left:0;right:0;
  padding:3rem 1.25rem 1.25rem;
  background:linear-gradient(to top,rgba(26,18,9,.88),transparent);
  transform:translateY(8px);opacity:0;transition:all .3s ease;
}
.mcardtall:hover .ov{opacity:1;transform:none}
.ov-name{display:block;font-family:var(--fd);font-size:1.3rem;font-weight:600;color:#fff;letter-spacing:.03em}
.ov-tag{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:.2rem;display:block}
.feat-hint{text-align:center;margin-top:2rem;font-size:.72rem;color:var(--tl);letter-spacing:.1em}

/* ── Numbers section ── */
.numbers-section{
  background:var(--pr);
  padding:clamp(4rem,8vw,8rem) clamp(1.5rem,5vw,5rem);
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1px;
}
.num-item{
  padding:clamp(2rem,4vw,4rem) clamp(1.5rem,3vw,3rem);
  border-right:1px solid rgba(255,255,255,.06);
  position:relative;
}
.num-item:last-child{border-right:none}
.num-big{
  font-family:var(--fd);
  font-size:clamp(3.5rem,6vw,6rem);
  font-weight:900;
  line-height:.9;
  color:rgba(255,255,255,.08);
  position:absolute;top:1.5rem;right:1.5rem;
  pointer-events:none;
  user-select:none;
}
.num-value{font-family:var(--fd);font-size:clamp(2.5rem,5vw,4rem);font-weight:700;color:#fff;line-height:1;margin-bottom:.5rem}
.num-label{font-size:.72rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.35)}

/* ── About: full bleed image + text ── */
.about-section{background:var(--bg);overflow:hidden}
.about-grid{display:grid;grid-template-columns:1fr 1fr;min-height:600px}
.about-image{position:relative;overflow:hidden;min-height:500px}
.about-image img{width:100%;height:100%;object-fit:cover;object-position:top}
.about-image-badge{
  position:absolute;bottom:2rem;left:2rem;
  background:var(--ac);color:#fff;
  padding:.75rem 1.25rem;
  font-family:var(--fd);font-size:1.1rem;font-weight:600;
  border-radius:3px;
  box-shadow:0 8px 24px rgba(184,146,42,.3);
}
.about-text{padding:clamp(4rem,8vw,8rem) clamp(2rem,5vw,5rem);display:flex;flex-direction:column;justify-content:center}
.about-quote{
  font-family:var(--fd);font-size:clamp(1.4rem,2.5vw,2rem);font-style:italic;font-weight:400;
  color:var(--tx2);line-height:1.4;margin-bottom:2rem;
  padding-left:1.5rem;border-left:3px solid var(--ac);
}
.about-body{font-size:clamp(.88rem,1.2vw,1rem);font-weight:300;line-height:1.9;color:var(--tm);max-width:480px}
.stat-row{display:flex;gap:clamp(2rem,4vw,3.5rem);margin-top:2.5rem;padding-top:2.5rem;border-top:1px solid var(--br);flex-wrap:wrap}
.stat-item strong{display:block;font-family:var(--fd);font-size:clamp(2rem,4vw,3rem);font-weight:700;color:var(--tx)}
.stat-item span{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--tm);margin-top:.25rem;display:block}

/* ── Services ── */
.services-section{background:var(--bg2);padding:clamp(5rem,9vw,9rem) clamp(1.5rem,5vw,5rem)}
.services-header{text-align:center;max-width:600px;margin:0 auto clamp(3rem,6vw,5rem)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.service-card{
  background:var(--sf);padding:clamp(2rem,3.5vw,3.5rem) clamp(1.5rem,2.5vw,2.5rem);
  border-radius:8px;border:1px solid var(--br);
  position:relative;overflow:hidden;
  transition:all var(--tr);
}
.service-card:hover{box-shadow:var(--sh2);transform:translateY(-4px);border-color:var(--ac-light)}
.service-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(to right,var(--ac),var(--ac-light));
  transform:scaleX(0);transform-origin:left;transition:transform .4s ease;
}
.service-card:hover::before{transform:scaleX(1)}
.service-icon{font-size:2rem;margin-bottom:1.5rem;display:block;line-height:1}
.service-num{font-family:var(--fd);font-size:4rem;font-weight:900;color:var(--bg2);line-height:1;position:absolute;bottom:1rem;right:1.5rem;pointer-events:none;user-select:none}
.service-title{font-family:var(--fd);font-size:1.4rem;font-weight:600;color:var(--tx);margin-bottom:.85rem;line-height:1.2}
.service-desc{font-size:.85rem;font-weight:300;color:var(--tm);line-height:1.85;max-width:280px}

/* ── Contact ── */
.contact-section{background:var(--pr);display:grid;grid-template-columns:1fr 1fr}
.contact-left{padding:clamp(4rem,8vw,8rem) clamp(2.5rem,5vw,5rem);border-right:1px solid rgba(255,255,255,.06)}
.contact-right{padding:clamp(4rem,8vw,8rem) clamp(2.5rem,5vw,5rem);background:rgba(184,146,42,.06);display:flex;flex-direction:column;justify-content:center;gap:1.5rem}
.contact-info{margin-top:2.5rem;display:flex;flex-direction:column;gap:1.75rem}
.contact-item .lbl{margin-bottom:.4rem;color:rgba(255,255,255,.25)}
.contact-item p{font-size:.9rem;color:rgba(255,255,255,.55);font-weight:300}
.contact-right h3{font-family:var(--fd);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;color:#fff;line-height:1.2}
.contact-right>p{font-size:.88rem;color:rgba(255,255,255,.38);font-weight:300;line-height:1.88}

/* ── Footer ── */
.ft{
  background:#100d08;
  padding:clamp(4rem,7vw,6.5rem) clamp(1.5rem,5vw,5rem) clamp(2.5rem,4vw,3.5rem);
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;
  gap:clamp(2rem,4vw,4rem);
  border-top:1px solid rgba(255,255,255,.05);
}
.ft-brand{display:flex;flex-direction:column;gap:1rem}
.ft-logo-wrap{display:flex;align-items:center;gap:.75rem}
.ft-mark{width:22px;height:22px;flex-shrink:0}
.ft-logo{font-family:var(--fd);font-size:1.6rem;font-weight:700;color:#fff;letter-spacing:.06em}

.ft-logo-img{
  height:var(--footer-logo-h,36px);
  width:auto;
  max-width:160px;
  object-fit:contain;
  display:block;
  flex-shrink:0;
  opacity:.9;
}
.ft-logo-img:hover{opacity:1}
.ft-tagline{font-size:.62rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ac)}
.ft-desc{font-size:.82rem;font-weight:300;line-height:1.85;color:rgba(255,255,255,.65);max-width:280px}
.ft-socials{display:flex;gap:.75rem;margin-top:.5rem}
.ft-social{width:38px;height:38px;border:1.5px solid rgba(255,255,255,.22);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:rgba(255,255,255,.55);cursor:pointer;transition:all var(--tr);flex-shrink:0;text-decoration:none;overflow:hidden}
.ft-social:hover{border-color:var(--ac);color:var(--ac)}
.ft-col{}
.ft-col-title{font-size:.6rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:1.4rem}
.ft a{display:block;font-size:.82rem;font-weight:400;color:rgba(255,255,255,.7);margin-bottom:.8rem;transition:color var(--tr);cursor:pointer}
.ft a:hover{color:#fff}
.ftb{background:#0c0a06;padding:1.1rem clamp(1.5rem,5vw,5rem);border-top:1px solid rgba(255,255,255,.04);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}
.ftb-left{display:flex;align-items:center;gap:.75rem}
.ftb-mark{width:14px;height:14px;flex-shrink:0}
.ftb p{font-size:.68rem;letter-spacing:.06em;color:rgba(255,255,255,.16)}
.ftb-right{display:flex;align-items:center;gap:.75rem}
.ftb-dot{width:2px;height:2px;border-radius:50%;background:rgba(255,255,255,.18)}

/* ═══════════════════════════════════════
   MODELS GRID
═══════════════════════════════════════ */
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:3px}
.mcard{position:relative;overflow:hidden;background:var(--bg2);cursor:pointer;border-radius:4px}
.mcard img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;transition:transform .7s ease}
.mcard:hover img{transform:scale(1.05)}
.mcard .mi{position:absolute;bottom:0;left:0;right:0;padding:3rem 1.25rem 1.25rem;background:linear-gradient(to top,rgba(26,18,9,.92),transparent);transform:translateY(100%);transition:transform .3s ease}
.mcard:hover .mi{transform:none}
.mcard .mi h3{font-family:var(--fd);font-size:1.6rem;font-weight:600;color:#fff;letter-spacing:.03em}
.mcard .mi p{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-top:.3rem}
.mcard-placeholder{aspect-ratio:3/4;background:var(--bg2);display:flex;align-items:flex-end;padding:1.4rem;border-radius:4px}
.mcard-placeholder h3{font-family:var(--fd);font-size:1.35rem;color:var(--tm);letter-spacing:.05em;font-weight:500}

/* ═══════════════════════════════════════
   AUTH PAGES
═══════════════════════════════════════ */
.auth-wrap{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}
.auth-vis{background:var(--pr);display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(3rem,5vw,5rem);position:relative;overflow:hidden}
.auth-vis-img{position:absolute;inset:0}
.auth-vis-img img{width:100%;height:100%;object-fit:cover;object-position:top;opacity:.35}
.auth-vis-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(26,18,9,.95) 0%,rgba(26,18,9,.5) 55%,rgba(26,18,9,.15) 100%)}
.auth-vis-deco{position:absolute;top:2rem;left:2.5rem;display:flex;align-items:center;gap:.65rem;z-index:2}
.auth-vis-deco-mark{width:20px;height:20px;color:var(--ac)}
.auth-vis-deco-name{font-family:var(--fd);font-size:1.2rem;font-weight:600;letter-spacing:.12em;color:rgba(255,255,255,.7)}
.auth-vis-txt{position:relative;z-index:2}
.auth-vis-txt h2{font-family:var(--fd);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;color:#fff;line-height:1.15;margin-bottom:1rem}
.auth-vis-txt p{font-size:.88rem;color:rgba(255,255,255,.35);font-weight:300;line-height:1.85}
.demo-box{margin-top:2rem;padding:1rem 1.25rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:6px}
.demo-box .lbl{color:rgba(255,255,255,.22);margin-bottom:.85rem;display:block}
.demo-code{font-size:.67rem;color:rgba(255,255,255,.45);background:rgba(0,0,0,.2);padding:.35rem .7rem;border-radius:3px;display:block;margin-bottom:.35rem;font-family:monospace;letter-spacing:.03em}
.auth-panel{background:var(--sf);display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,5rem);overflow-y:auto;min-height:100dvh}
.auth-inner{max-width:440px;width:100%;margin:0 auto}
.auth-logo-wrap{display:flex;align-items:center;gap:.6rem;margin-bottom:2.5rem;cursor:pointer;width:fit-content}
.auth-logo-mark{width:20px;height:20px;color:var(--ac)}
.auth-logo-text{font-family:var(--fd);font-size:1.35rem;font-weight:700;letter-spacing:.06em;color:var(--tx)}
.auth-title{font-family:var(--fd);font-size:2rem;font-weight:700;margin-bottom:.4rem;color:var(--tx)}
.auth-sub{font-size:.85rem;color:var(--tm);font-weight:300;margin-bottom:2.25rem;line-height:1.7}

/* ═══════════════════════════════════════
   FORMS
═══════════════════════════════════════ */
.fg{margin-bottom:1.1rem}
.fl{display:block;font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--tm);margin-bottom:.5rem}
.fi{width:100%;padding:.85rem 1rem;border:1.5px solid var(--br);background:var(--sf);font-size:.9rem;color:var(--tx);outline:none;transition:border-color var(--tr),box-shadow var(--tr);border-radius:var(--rd);-webkit-appearance:none}
.fi:focus{border-color:var(--ac);box-shadow:0 0 0 3px rgba(184,146,42,.1)}
.fi::placeholder{color:var(--tl)}
textarea.fi{resize:vertical;min-height:90px;line-height:1.6}
.fsel{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='%236b5f52' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;-webkit-appearance:none;appearance:none}
.fhint{font-size:.7rem;color:var(--tm);margin-top:.35rem;line-height:1.5}
.ferr{font-size:.8rem;color:var(--er);padding:.85rem 1rem;background:rgba(192,57,43,.06);border:1px solid rgba(192,57,43,.18);border-radius:var(--rd);margin-bottom:1.25rem;display:none}
.f2c{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.sep{display:flex;align-items:center;gap:1rem;margin:1.5rem 0;color:var(--tl);font-size:.75rem}
.sep::before,.sep::after{content:'';flex:1;height:1px;background:var(--br)}
.upzone{border:1.5px dashed var(--br);border-radius:var(--rd);padding:2rem 1.5rem;text-align:center;cursor:pointer;transition:all var(--tr);background:var(--sf)}
.upzone:hover,.upzone.drag{border-color:var(--ac);background:rgba(184,146,42,.03)}
.upico{font-size:2rem;margin-bottom:.65rem;opacity:.2}
.prevgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:.4rem;margin-top:.65rem}
.prevthumb{aspect-ratio:3/4;background:var(--br);overflow:hidden;position:relative;border-radius:3px}
.prevthumb img{width:100%;height:100%;object-fit:cover}
.xbtn{position:absolute;top:.25rem;right:.25rem;background:rgba(26,18,9,.8);color:#fff;border:none;border-radius:50%;width:20px;height:20px;font-size:.6rem;display:flex;align-items:center;justify-content:center;cursor:pointer;line-height:1}
.progress{height:2px;background:var(--br);border-radius:2px;overflow:hidden;margin-top:.6rem}
.progress-fill{height:100%;background:var(--ac);transition:width .3s ease}

/* ═══════════════════════════════════════
   DASHBOARD
═══════════════════════════════════════ */
.db{display:grid;grid-template-columns:var(--sb-w) 1fr;min-height:100dvh}
.sb{background:#fff;border-right:1px solid var(--br);position:sticky;top:0;height:100dvh;overflow-y:auto;display:flex;flex-direction:column;scrollbar-width:none;z-index:100;flex-shrink:0}
.sb::-webkit-scrollbar{display:none}
.sb-logo{display:flex;align-items:center;gap:.65rem;padding:1.35rem 1.25rem;border-bottom:1px solid var(--br);cursor:pointer;flex-shrink:0}
.sb-logo-mark{width:20px;height:20px;color:var(--ac);flex-shrink:0;transition:transform var(--tr)}
.sb-logo:hover .sb-logo-mark{transform:rotate(45deg)}
.sb-logo-text{font-family:var(--fd);font-size:1.2rem;font-weight:700;letter-spacing:.06em;color:var(--tx);line-height:1}
.sb-logo-role{font-size:.52rem;font-weight:400;color:var(--tl);letter-spacing:.1em;text-transform:uppercase;font-family:var(--fu)}
.sb-sec{padding:.9rem .6rem .1rem}
.sb-lbl{font-size:.52rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--tl);padding:0 .65rem;margin-bottom:.3rem}
.sb-nav{display:flex;flex-direction:column;gap:1px}
.si{display:flex;align-items:center;gap:.65rem;padding:.7rem .65rem;border-radius:var(--rd);font-size:.8rem;font-weight:400;color:var(--tm);cursor:pointer;transition:all var(--tr);user-select:none}
.si:hover{color:var(--tx);background:var(--bg2)}
.si.on{color:var(--ac);background:rgba(184,146,42,.08);font-weight:600}
.si .ico{font-size:.95rem;width:18px;text-align:center;flex-shrink:0}
.si .badge{margin-left:auto;background:var(--ac);color:#fff;border-radius:999px;padding:.08rem .48rem;font-size:.56rem;font-weight:700;min-width:18px;text-align:center}
.si .badge.red{background:var(--er)}
.sb-foot{margin-top:auto;padding:1rem .65rem;border-top:1px solid var(--br);flex-shrink:0}
.sb-user{display:flex;align-items:center;gap:.65rem;position:relative}
.sb-av{width:34px;height:34px;border-radius:50%;background:var(--ac);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:#fff;flex-shrink:0;cursor:pointer;overflow:hidden}
.sb-av img{width:100%;height:100%;object-fit:cover}
.sb-ui{flex:1;min-width:0}
.sb-ui strong{display:block;font-size:.78rem;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-ui span{font-size:.62rem;color:var(--tl)}
.notif-btn{position:relative;width:30px;height:30px;border-radius:50%;background:var(--bg2);display:flex;align-items:center;justify-content:center;font-size:.85rem;cursor:pointer;color:var(--tm);transition:all var(--tr);flex-shrink:0}
.notif-btn:hover{background:var(--br);color:var(--tx)}
.notif-dot{position:absolute;top:2px;right:2px;width:7px;height:7px;background:var(--er);border-radius:50%;border:1.5px solid var(--sf);display:none}
.notif-dot.on{display:block}
.notif-panel{position:fixed;top:1rem;right:1rem;bottom:auto;left:auto;width:clamp(300px,90vw,340px);background:var(--sf);border:1.5px solid var(--br);border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.18),0 2px 8px rgba(0,0,0,.1);z-index:9999;overflow:hidden;max-height:520px;display:none;flex-direction:column}
.notif-panel.open{display:flex;animation:notifSlideIn .22s cubic-bezier(.22,.68,0,1.2)}
@keyframes notifSlideIn{from{opacity:0;transform:translateY(-10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.np-head{padding:.9rem 1.2rem;border-bottom:1px solid var(--br);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}
.np-head h3{font-family:var(--fd);font-size:1.05rem;font-weight:600}
.np-list{overflow-y:auto;flex:1}
.ni{padding:.85rem 1.2rem;border-bottom:1px solid var(--br);cursor:pointer;transition:background var(--tr);display:flex;gap:.7rem;align-items:flex-start;position:relative}
.ni:hover{background:var(--sf2)}
.ni.unread{background:rgba(184,146,42,.04)}
.ni.unread::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ac)}
.ni-ico{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;flex-shrink:0}
.ni-txt strong{display:block;font-size:.78rem;font-weight:600;margin-bottom:.15rem}
.ni-txt p{font-size:.72rem;color:var(--tm);line-height:1.45}
.ni-txt time{font-size:.62rem;color:var(--tl);margin-top:.25rem;display:block}
.dc-wrap{display:flex;flex-direction:column;min-height:100dvh;overflow:auto}
.dc{padding:clamp(1.25rem,2.5vw,2.25rem);background:var(--bg);min-height:100dvh;overflow-x:hidden;overflow-y:auto;flex:1}
.dh{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem}
.dh-txt p{font-size:.82rem;color:var(--tm);margin-top:.3rem}
.card{background:var(--sf);border-radius:6px;border:1px solid var(--br);padding:1.4rem;margin-bottom:1rem}
.cttl{font-family:var(--fd);font-size:1.25rem;font-weight:600;margin-bottom:1.1rem;color:var(--tx)}
.srow{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}
.scard{background:var(--sf);border:1px solid var(--br);padding:1.25rem;border-radius:6px;transition:box-shadow var(--tr)}
.scard:hover{box-shadow:var(--sh)}
.sv{font-family:var(--fd);font-size:2.8rem;font-weight:700;line-height:1;margin-bottom:.3rem;color:var(--tx)}
.sl{font-size:.62rem;color:var(--tm);letter-spacing:.12em;text-transform:uppercase}
.sbadge{display:inline-block;padding:.18rem .65rem;border-radius:3px;font-size:.6rem;font-weight:600;letter-spacing:.06em;margin-top:.6rem}
.tag{display:inline-flex;align-items:center;padding:.18rem .65rem;border-radius:3px;font-size:.6rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.tpend{background:rgba(155,111,0,.1);color:var(--wn)}
.tapp{background:rgba(30,122,74,.1);color:var(--ok)}
.trej{background:rgba(192,57,43,.1);color:var(--er)}
.tsus{background:rgba(107,95,82,.1);color:var(--tm)}
.rbadge{padding:.15rem .65rem;border-radius:3px;font-size:.6rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.rdeveloper{background:rgba(120,130,255,.12);color:#4a55cc}
.rsuperadmin{background:rgba(30,122,74,.12);color:#1a6b40}
.rstaff{background:rgba(150,90,255,.12);color:#6030b0}
.rmodel{background:rgba(184,146,42,.15);color:#9b6f00}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl{width:100%;border-collapse:collapse;min-width:480px}
.tbl th{text-align:left;font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--tm);padding:.75rem 1rem;border-bottom:1px solid var(--br);white-space:nowrap}
.tbl td{padding:.9rem 1rem;border-bottom:1px solid var(--br);font-size:.85rem;vertical-align:middle}
.tbl tr:last-child td{border-bottom:none}
.tbl tr:hover td{background:var(--sf2)}
.rcard{background:var(--sf);border:1px solid var(--br);border-radius:6px;overflow:hidden;margin-bottom:1.25rem}
.rcard-head{padding:1.1rem 1.4rem;display:flex;align-items:center;gap:.85rem;border-bottom:1px solid var(--br);flex-wrap:wrap}
.rcard-body{padding:1.4rem}
.rimgs{display:grid;grid-template-columns:repeat(5,1fr);gap:.4rem;margin-top:.75rem}
.rimg-wrap{position:relative}
.rimg{aspect-ratio:3/4;overflow:hidden;background:var(--br);position:relative;cursor:pointer;border-radius:3px;transition:transform .15s}
.rimg:hover{transform:scale(1.03)}
.rimg img{width:100%;height:100%;object-fit:cover}
.rimg.sel::after{content:'✓';position:absolute;inset:0;background:rgba(184,146,42,.5);display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#fff;font-weight:900}
.rimg-del{position:absolute;top:.25rem;right:.25rem;width:20px;height:20px;background:rgba(192,57,43,.88);color:#fff;border:none;border-radius:50%;font-size:.72rem;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity var(--tr);z-index:5;line-height:1}
.rimg-wrap:hover .rimg-del{opacity:1}
.ract{display:flex;align-items:center;gap:.75rem;margin-top:1.1rem;flex-wrap:wrap}
.chat-wrap{display:grid;grid-template-columns:268px 1fr;height:calc(100dvh - 110px);max-height:820px;border:1px solid var(--br);border-radius:6px;overflow:hidden;background:var(--sf)}
.chat-list{border-right:1px solid var(--br);overflow-y:auto;display:flex;flex-direction:column}
.chat-list-head{padding:.9rem 1.2rem;border-bottom:1px solid var(--br);font-size:.62rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--tm);flex-shrink:0}
.citem{padding:.88rem 1.2rem;border-bottom:1px solid var(--br);cursor:pointer;display:flex;gap:.75rem;align-items:flex-start;transition:background var(--tr)}
.citem:hover{background:var(--sf2)}
.citem.on{background:rgba(184,146,42,.06);border-left:2.5px solid var(--ac);padding-left:calc(1.2rem - 2.5px)}
.citem-av{width:36px;height:36px;border-radius:50%;background:var(--ac);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:#fff;flex-shrink:0;overflow:hidden}
.citem-av img{width:100%;height:100%;object-fit:cover}
.citem-info{flex:1;min-width:0}
.citem-name{font-size:.8rem;font-weight:600;margin-bottom:.12rem;display:flex;justify-content:space-between;align-items:center;gap:.3rem}
.citem-name time{font-size:.6rem;font-weight:400;color:var(--tl);flex-shrink:0}
.citem-prev{font-size:.72rem;color:var(--tm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.unread-badge{background:var(--ac);color:#fff;border-radius:999px;padding:.08rem .42rem;font-size:.56rem;font-weight:700;flex-shrink:0}
.chat-main{display:flex;flex-direction:column;flex:1;min-width:0}
.chat-head{padding:.9rem 1.4rem;border-bottom:1px solid var(--br);display:flex;align-items:center;gap:.85rem;flex-shrink:0;background:var(--sf)}
.chat-hav{width:36px;height:36px;border-radius:50%;background:var(--ac);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:#fff;flex-shrink:0;overflow:hidden}
.chat-hav img{width:100%;height:100%;object-fit:cover}
.chat-htxt strong{display:block;font-size:.88rem;font-weight:600}
.chat-htxt span{font-size:.7rem;color:var(--tm)}
.online-dot{width:7px;height:7px;background:#22c55e;border-radius:50%;display:inline-block;margin-right:.3rem;animation:blink 2s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.chat-msgs{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:.6rem;scroll-behavior:smooth}
.chat-msgs::-webkit-scrollbar{width:3px}
.chat-msgs::-webkit-scrollbar-thumb{background:var(--br);border-radius:2px}
.msg{display:flex;gap:.5rem;max-width:78%;animation:msgIn .14s ease}
.msg.me{align-self:flex-end;flex-direction:row-reverse}
.msg-av{width:26px;height:26px;border-radius:50%;background:var(--br);display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;flex-shrink:0;margin-top:auto;overflow:hidden}
.msg-av img{width:100%;height:100%;object-fit:cover}
.msg-bub{padding:.65rem .95rem;border-radius:14px;font-size:.85rem;line-height:1.55;word-break:break-word}
.msg.them .msg-bub{background:var(--sf2);border:1px solid var(--br);border-radius:2px 14px 14px 14px;color:var(--tx)}
.msg.me .msg-bub{background:var(--pr);color:#fff;border-radius:14px 2px 14px 14px}
.msg-meta{font-size:.6rem;color:var(--tl);margin-top:.2rem}
.msg.me .msg-meta{text-align:right}
.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--tm);gap:.75rem;padding:2rem;text-align:center}
.chat-empty .ce-ico{font-size:2.5rem;opacity:.14}
.chat-empty p{font-size:.85rem}
.chat-inp-area{padding:.9rem 1.1rem;border-top:1px solid var(--br);display:flex;gap:.75rem;align-items:flex-end;flex-shrink:0;background:var(--sf)}
.chat-inp{flex:1;padding:.68rem 1rem;border:1.5px solid var(--br);border-radius:20px;font-size:.88rem;outline:none;resize:none;max-height:100px;line-height:1.5;transition:border-color var(--tr);font-family:var(--fu);background:var(--sf2)}
.chat-inp:focus{border-color:var(--ac);background:var(--sf)}
.chat-send{width:38px;height:38px;border-radius:50%;background:var(--ac);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;font-size:.9rem;transition:all var(--tr)}
.chat-send:hover{background:var(--pr);transform:scale(1.06)}
.toast-wrap{position:fixed;top:1.25rem;right:1.25rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none;width:clamp(240px,80vw,340px)}
.toast{background:var(--pr);color:#fff;padding:.9rem 1.2rem;border-radius:8px;font-size:.82rem;border-left:3px solid var(--ac);box-shadow:0 8px 40px rgba(26,18,9,.18);transform:translateX(calc(100% + 1.5rem));transition:transform .3s cubic-bezier(.34,1.56,.64,1);pointer-events:all;display:flex;align-items:flex-start;gap:.75rem}
.toast.show{transform:none}
.toast.ok{border-left-color:var(--ok)}
.toast.err{border-left-color:var(--er)}
.toast-ico{font-size:1rem;flex-shrink:0;margin-top:.05rem}
.toast-txt strong{display:block;font-size:.8rem;font-weight:600;margin-bottom:.08rem}
.toast-txt p{font-size:.72rem;opacity:.7;line-height:1.4}
.mo{position:fixed;inset:0;z-index:600;background:rgba(26,18,9,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;pointer-events:none;transition:opacity .22s}
.mo.open{opacity:1;pointer-events:all}
.mo-box{background:var(--sf);max-width:560px;width:100%;padding:2rem;border-radius:10px;box-shadow:0 24px 80px rgba(26,18,9,.2);transform:translateY(14px) scale(.97);transition:transform .24s cubic-bezier(.34,1.36,.64,1);max-height:92dvh;overflow-y:auto;overscroll-behavior:contain}
.mo.open .mo-box{transform:none}
.mo-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}
.mo-title{font-family:var(--fd);font-size:1.5rem;font-weight:600;color:var(--tx)}
.mo-x{background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--tl);line-height:1;padding:.2rem;transition:color var(--tr)}
.mo-x:hover{color:var(--tx)}
.nc-types{display:flex;gap:.65rem;flex-wrap:wrap;margin-bottom:1rem}
.nc-type{display:flex;align-items:center;gap:.4rem;padding:.52rem 1rem;border:1.5px solid var(--br);border-radius:20px;cursor:pointer;font-size:.75rem;font-weight:500;transition:all var(--tr);user-select:none;font-family:var(--fu)}
.nc-type.on{border-color:var(--ac);background:rgba(184,146,42,.06);color:var(--tx)}
.cpick{display:flex;align-items:center;gap:.75rem}
.cswatch{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--br);overflow:hidden;flex-shrink:0;cursor:pointer}
.cswatch input[type=color]{opacity:0;width:100%;height:100%;cursor:pointer;border:none;padding:0}
.timeline{padding:.5rem 0}
.tl-item{display:flex;gap:.9rem;margin-bottom:1.1rem}
.tl-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;flex-shrink:0}
.tl-txt strong{display:block;font-size:.82rem;font-weight:600}
.tl-txt span{font-size:.72rem;color:var(--tm)}
.empty{text-align:center;padding:4rem 2rem}
.empty .ei{font-size:2.5rem;margin-bottom:1rem;opacity:.18}
.empty h3{font-family:var(--fd);font-size:1.6rem;font-weight:600;margin-bottom:.5rem}
.empty p{font-size:.85rem;color:var(--tm)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.flex{display:flex}.ai-c{align-items:center}.jb{justify-content:space-between}
.gap1{gap:.5rem}.gap2{gap:1rem}.fw{flex-wrap:wrap}
.hidden{display:none!important}
.mt1{margin-top:.5rem}.mt2{margin-top:1.25rem}.mt3{margin-top:2rem}
.mb1{margin-bottom:.5rem}.mb2{margin-bottom:1.25rem}.mb3{margin-bottom:2rem}
.mobile-topbar{display:none;align-items:center;justify-content:space-between;padding:.5rem 0 1.25rem}
.mobile-topbar-title{font-family:var(--fd);font-size:1.15rem;font-weight:700;letter-spacing:.06em}
/* Dashboard topbar with notification */
.dash-topbar{
  display:none;align-items:center;justify-content:space-between;
  padding:.75rem clamp(1rem,3vw,2rem);
  border-bottom:1px solid var(--br);
  background:var(--sf);
  position:sticky;top:0;z-index:100;
  gap:1rem;
}
.dash-topbar-menu{
  background:none;border:none;cursor:pointer;display:flex;align-items:center;
  gap:.5rem;font-size:.8rem;font-weight:600;color:var(--tx);
  padding:.5rem;border-radius:4px;touch-action:manipulation;
}
.dash-topbar-title{font-family:var(--fd);font-size:1.1rem;font-weight:700;letter-spacing:.06em;flex:1;text-align:center}
.dash-topbar-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}
/* Credentials modal card */
.cred-card{border:1.5px solid var(--br);border-radius:8px;overflow:hidden;margin-bottom:.25rem}
.cred-row{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid var(--br);gap:1rem;flex-wrap:wrap}
.cred-row:last-child{border-bottom:none}
.cred-lbl{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tl);min-width:110px}
.cred-val-wrap{display:flex;align-items:center;gap:.5rem;flex:1;justify-content:flex-end;flex-wrap:wrap}
.cred-val{font-size:.82rem;font-family:monospace;color:var(--tx);background:var(--sf2);padding:.2rem .55rem;border-radius:4px;border:1px solid var(--br)}
.cred-masked{letter-spacing:.15em}
.cred-copy{font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.25rem .6rem;border-radius:4px;border:1px solid var(--br);background:var(--bg);color:var(--tm);cursor:pointer;transition:all .15s}
.cred-copy:hover{background:var(--ac);color:var(--pr);border-color:var(--ac)}
.logo-preview-box{width:200px;height:100px;background:var(--bg);border-radius:6px;border:1.5px solid var(--br);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;padding:1rem}
.logo-preview-img{max-width:100%;max-height:100%;object-fit:contain;display:block;mix-blend-mode:screen;filter:brightness(0.92)}
.logo-preview-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--tl);width:100%;height:100%;text-align:center}

/* ── Legacy compat ── */
.auth-vis-bg{position:absolute;inset:0}
.auth-vis-bg img{width:100%;height:100%;object-fit:cover;object-position:top;opacity:.35}
.auth-vis-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,18,9,.95) 0%,rgba(26,18,9,.55) 55%,rgba(26,18,9,.15) 100%)}
.auth-vis-content{position:relative;z-index:2}
.auth-vis-content h2{font-family:var(--fd);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;color:#fff;line-height:1.15;margin-bottom:1rem}
.auth-vis-content p{font-size:.88rem;color:rgba(255,255,255,.35);font-weight:300;line-height:1.85}
.demo-title{font-size:.6rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.2);margin-bottom:.85rem}
.auth-brand{font-family:var(--fd);font-size:1.35rem;font-weight:700;letter-spacing:.08em;cursor:pointer;display:block;margin-bottom:2.5rem;color:var(--tx)}

/* ═══════════════════════════════════════════════════════════
   HOME PAGE — Full redesign v10.1
   Light theme · Premium model agency · Editorial luxury
═══════════════════════════════════════════════════════════ */

/* ── Hero ── */
.hero {
  min-height: 100dvh;
  background: var(--bg);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.hero-bg-shape {
  position: absolute;
  top: 0; right: 0;
  width: 52%;
  height: 100%;
  background: var(--pr);
  clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%);
  z-index: 0;
}
.hero-content {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
  z-index: 1;
  padding-top: var(--nav-h);
}
.hero-left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(3rem,6vw,7rem) clamp(2rem,5vw,6rem) clamp(3rem,5vw,5rem);
}
.hero-eyebrow {
  display: flex;
  align-items: center;
  gap: .85rem;
  margin-bottom: clamp(1.5rem,3vw,2.5rem);
}
.hero-eyebrow-line { width: 32px; height: 1.5px; background: var(--ac); flex-shrink: 0; }
.hero-eyebrow-text { font-size: .62rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--ac); }
.hero-headline {
  font-family: var(--fd);
  font-size: clamp(3.2rem,6.5vw,7rem);
  font-weight: 900;
  line-height: .92;
  letter-spacing: -.03em;
  color: var(--tx);
  margin-bottom: clamp(1.5rem,2.5vw,2.5rem);
}
.hero-headline em {
  font-style: italic;
  font-weight: 400;
  color: var(--ac);
  display: block;
}
.hero-subtext {
  font-size: clamp(.9rem,1.2vw,1.05rem);
  font-weight: 300;
  color: var(--tm);
  line-height: 1.9;
  max-width: 380px;
  margin-bottom: clamp(2rem,4vw,3rem);
}
.hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; }
.hero-scroll {
  margin-top: 3rem;
  display: flex;
  align-items: center;
  gap: .85rem;
  font-size: .6rem;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--tl);
}
.hero-scroll::after {
  content: '';
  width: 42px;
  height: 1px;
  background: linear-gradient(to right, var(--ac), transparent);
}
.hero-right {
  position: relative;
  overflow: hidden;
  padding: clamp(2rem,4vw,4rem) clamp(1.5rem,3vw,3rem) clamp(2rem,4vw,4rem) clamp(1.5rem,3vw,2rem);
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.hero-img-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 3px;
  flex: 1;
  min-height: 0;
}
.himg {
  overflow: hidden;
  position: relative;
  border-radius: 3px;
}
.himg img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center top;
  transition: transform 1.4s ease;
}
.himg:hover img { transform: scale(1.04); }
.himg-tall { grid-row: 1 / 3; }
.hero-badge {
  position: absolute;
  bottom: -1px;
  left: 0; right: 0;
  background: rgba(26,18,9,.82);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: 1.1rem 1.5rem;
  display: flex;
  justify-content: space-around;
  align-items: center;
}
.hbadge-item {}
.hbadge-val {
  font-family: var(--fd);
  font-size: clamp(1.5rem,2.5vw,2.2rem);
  font-weight: 700;
  color: #fff;
  line-height: 1;
  display: block;
}
.hbadge-lbl {
  font-size: .58rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255,255,255,.42);
  margin-top: .2rem;
  display: block;
}

/* ── Ticker ── */
.ticker {
  background: var(--ac);
  overflow: hidden;
  padding: .6rem 0;
  position: relative;
  z-index: 2;
}
.ticker-track {
  display: flex;
  animation: tickerRun 22s linear infinite;
  width: max-content;
}
.ticker-track:hover { animation-play-state: paused; }
.ticker-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0 1.75rem;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--pr);
  white-space: nowrap;
}
.ticker-dot {
  width: 4px; height: 4px;
  border-radius: 50%;
  background: rgba(26,18,9,.35);
  flex-shrink: 0;
}
@keyframes tickerRun { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ── Featured Models ── */
.featured-section {
  background: var(--bg);
  padding: clamp(5rem,9vw,9rem) 0 clamp(3rem,6vw,5rem);
}
.section-label {
  display: flex;
  align-items: center;
  gap: .85rem;
  margin-bottom: .65rem;
}
.section-label::before {
  content: '';
  width: 28px; height: 1.5px;
  background: var(--ac);
  flex-shrink: 0;
}
.section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding: 0 clamp(1.5rem,5vw,5rem);
  margin-bottom: clamp(2.5rem,4vw,4rem);
  gap: 1.5rem;
  flex-wrap: wrap;
}
.feat-strip {
  display: flex;
  gap: 4px;
  overflow-x: auto;
  padding: 0 clamp(1.5rem,5vw,5rem);
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
}
.feat-strip:active { cursor: grabbing; }
.feat-strip::-webkit-scrollbar { display: none; }
.mcardtall {
  flex: 0 0 clamp(190px,22vw,280px);
  height: clamp(300px,40vw,460px);
  position: relative;
  overflow: hidden;
  background: var(--bg2);
  cursor: pointer;
  scroll-snap-align: start;
  flex-shrink: 0;
  border-radius: 5px;
}
.mcardtall img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: top;
  transition: transform 1.2s ease;
  display: block;
}
.mcardtall:hover img { transform: scale(1.05); }
.mcardtall .ov {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 3rem 1.2rem 1.2rem;
  background: linear-gradient(to top, rgba(26,18,9,.9), transparent);
  opacity: 0;
  transition: opacity .3s ease;
  border-radius: 0 0 5px 5px;
}
.mcardtall:hover .ov { opacity: 1; }
.ov-name { display: block; font-family: var(--fd); font-size: 1.3rem; font-weight: 700; color: #fff; }
.ov-tag { font-size: .58rem; letter-spacing: .15em; text-transform: uppercase; color: rgba(255,255,255,.5); margin-top: .2rem; display: block; }
.feat-note { text-align: center; margin-top: 1.75rem; font-size: .72rem; color: var(--tl); letter-spacing: .1em; }

/* ── Numbers band ── */
.numbers-band {
  background: var(--pr);
  display: grid;
  grid-template-columns: repeat(4,1fr);
}
.num-cell {
  padding: clamp(2.5rem,5vw,5rem) clamp(1.5rem,3.5vw,3.5rem);
  border-right: 1px solid rgba(255,255,255,.06);
  position: relative;
  overflow: hidden;
}
.num-cell:last-child { border-right: none; }
.num-ghost {
  position: absolute;
  top: 50%; right: .5rem;
  transform: translateY(-50%);
  font-family: var(--fd);
  font-size: clamp(4rem,7vw,7rem);
  font-weight: 900;
  color: rgba(255,255,255,.04);
  line-height: 1;
  pointer-events: none;
  user-select: none;
}
.num-value {
  font-family: var(--fd);
  font-size: clamp(2.5rem,5vw,4.5rem);
  font-weight: 700;
  color: #fff;
  line-height: 1;
  margin-bottom: .5rem;
  position: relative;
}
.num-value span { color: var(--ac); }
.num-label {
  font-size: .65rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.32);
  position: relative;
}

/* ── About ── */
.about-section { background: var(--bg); overflow: hidden; }
.about-grid { display: grid; grid-template-columns: 1fr 1fr; min-height: 620px; }
.about-img-col { position: relative; overflow: hidden; min-height: 480px; }
.about-img-col img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.about-img-label {
  position: absolute;
  bottom: 2rem; left: 2rem;
  background: var(--ac);
  color: #fff;
  padding: .6rem 1.1rem;
  font-family: var(--fd);
  font-size: 1rem;
  font-weight: 700;
  border-radius: 3px;
  letter-spacing: .04em;
}
.about-txt-col {
  padding: clamp(4rem,7vw,8rem) clamp(2rem,5vw,5.5rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.about-eyebrow { margin-bottom: 1rem; }
.about-h { margin-bottom: 1.5rem; }
.about-pull {
  font-family: var(--fd);
  font-size: clamp(1.25rem,2vw,1.8rem);
  font-style: italic;
  font-weight: 400;
  color: var(--tx2);
  line-height: 1.45;
  padding-left: 1.25rem;
  border-left: 3px solid var(--ac);
  margin-bottom: 1.75rem;
}
.about-body {
  font-size: clamp(.88rem,1.2vw,1rem);
  font-weight: 300;
  line-height: 1.9;
  color: var(--tm);
  max-width: 460px;
}
.about-stats {
  display: flex;
  gap: clamp(1.5rem,3vw,3rem);
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--br);
  flex-wrap: wrap;
}
.about-stat-val {
  font-family: var(--fd);
  font-size: clamp(1.8rem,3.5vw,3rem);
  font-weight: 700;
  color: var(--tx);
  line-height: 1;
  display: block;
}
.about-stat-lbl {
  font-size: .6rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--tm);
  margin-top: .28rem;
  display: block;
}

/* ── Services ── */
.services-wrap {
  background: var(--bg2);
  padding: clamp(5rem,9vw,9rem) clamp(1.5rem,5vw,5rem);
}
.services-top {
  display: grid;
  grid-template-columns: 1fr 1.8fr;
  gap: clamp(2rem,5vw,6rem);
  align-items: end;
  margin-bottom: clamp(3rem,5vw,5rem);
}
.services-lede {
  font-size: clamp(.88rem,1.1vw,.98rem);
  font-weight: 300;
  color: var(--tm);
  line-height: 1.9;
}
.services-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1.25rem;
}
.svc-card {
  background: var(--sf);
  padding: clamp(1.75rem,3vw,2.75rem);
  border-radius: 8px;
  border: 1px solid var(--br);
  position: relative;
  overflow: hidden;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.svc-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 50px rgba(26,18,9,.1);
  border-color: var(--ac);
}
.svc-card::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(to right, var(--ac), var(--ac-light));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s ease;
}
.svc-card:hover::after { transform: scaleX(1); }
.svc-num {
  font-family: var(--fd);
  font-size: 3.5rem;
  font-weight: 900;
  color: var(--bg2);
  line-height: 1;
  position: absolute;
  bottom: 1rem; right: 1.5rem;
  user-select: none;
  pointer-events: none;
}
.svc-icon { font-size: 1.75rem; margin-bottom: 1.25rem; display: block; }
.svc-title { font-family: var(--fd); font-size: 1.4rem; font-weight: 700; color: var(--tx); margin-bottom: .8rem; line-height: 1.2; }
.svc-desc { font-size: .85rem; font-weight: 300; color: var(--tm); line-height: 1.85; }

/* ── Contact ── */
.contact-wrap {
  background: var(--pr);
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.contact-info-col {
  padding: clamp(4rem,8vw,8rem) clamp(2.5rem,5vw,5rem);
  border-right: 1px solid rgba(255,255,255,.06);
}
.contact-form-col {
  padding: clamp(4rem,8vw,8rem) clamp(2.5rem,5vw,5rem);
  background: rgba(184,146,42,.05);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.5rem;
}
.contact-heading { color: #fff; margin-bottom: 1.25rem; }
.contact-tagline { font-size: .9rem; color: rgba(255,255,255,.38); font-weight: 300; line-height: 1.9; max-width: 360px; margin-bottom: 2.5rem; }
.contact-details { display: flex; flex-direction: column; gap: 1.5rem; }
.contact-detail-label { font-size: .6rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: rgba(255,255,255,.25); margin-bottom: .4rem; display: block; }
.contact-detail-val { font-size: .9rem; color: rgba(255,255,255,.55); font-weight: 300; }
.contact-form-h3 { font-family: var(--fd); font-size: clamp(1.6rem,3vw,2.4rem); font-weight: 700; color: #fff; line-height: 1.2; }
.contact-form-p { font-size: .88rem; color: rgba(255,255,255,.35); font-weight: 300; line-height: 1.9; }
.contact-note { font-size: .75rem; color: rgba(255,255,255,.2); text-align: center; }

/* ═══════════════════════════════════════
   RESPONSIVE — 1024px
═══════════════════════════════════════ */
@media(max-width:1024px){
  .hero{grid-template-columns:1.1fr 1fr}
  .hero-left{padding:calc(var(--nav-h)+2.5rem) 3rem 3.5rem}
  .about-grid{grid-template-columns:1fr}
  .about-image{order:-1;min-height:360px;max-height:460px}
  .numbers-section{grid-template-columns:1fr 1fr}
  .num-item{border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}
  .num-item:nth-child(odd){border-right:1px solid rgba(255,255,255,.06)}
  .services-grid{grid-template-columns:1fr 1fr}
  .contact-section{grid-template-columns:1fr}
  .contact-left{border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}

  /* ── Home sections ── */
  .hero-content { grid-template-columns: 1.1fr 1fr; }
  .hero-left { padding: calc(var(--nav-h)+2.5rem) 3rem 3.5rem; }
  .numbers-band { grid-template-columns: 1fr 1fr; }
  .num-cell { border-right: none; border-bottom: 1px solid rgba(255,255,255,.06); }
  .num-cell:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.06); }
  .num-cell:nth-child(3),.num-cell:nth-child(4) { border-bottom: none; }
  .about-grid { grid-template-columns: 1fr; }
  .about-img-col { order: -1; min-height: 360px; max-height: 460px; }
  .services-top { grid-template-columns: 1fr; gap: 1.5rem; }
  .services-grid { grid-template-columns: 1fr 1fr; }
  .contact-wrap { grid-template-columns: 1fr; }
  .contact-info-col { border-right: none; border-bottom: 1px solid rgba(255,255,255,.06); }
  .ft{grid-template-columns:1.5fr 1fr 1fr}
  .ft-col:last-child{display:none}
  .srow{grid-template-columns:1fr 1fr}
  .chat-wrap{grid-template-columns:220px 1fr}
  .rimgs{grid-template-columns:repeat(4,1fr)}
}

/* ═══════════════════════════════════════
   RESPONSIVE — 768px (Mobile)
═══════════════════════════════════════ */
@media(max-width:768px){
  :root{--nav-h:60px}
  .hdr-burger{display:flex}
  .hdr-nav{display:none}
  .hdr-inner{display:flex;justify-content:space-between;align-items:center}

  /* Hide old hdr-nav on mobile */
  .hdr-nav{display:none!important}
  .hdr-nav-mob-actions{display:none!important}




  /* Hero stacked */
  .hero{grid-template-columns:1fr;min-height:100dvh}
  .hero::before{display:none}
  .hero-left{padding:calc(var(--nav-h)+2rem) 1.5rem 2.5rem;justify-content:flex-end}
  .hero-right{display:none}
  .hero-cta{flex-direction:column}
  .hero-cta .btn{width:100%;justify-content:center;padding:1rem}

  /* Numbers */
  .numbers-section{grid-template-columns:1fr 1fr;gap:0}
  .num-item{border-right:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
  .num-item:nth-child(even){border-right:none}
  .num-item:nth-child(3),.num-item:nth-child(4){border-bottom:none}

  /* About */
  .about-grid{grid-template-columns:1fr}
  .about-image{order:-1;min-height:260px;max-height:340px}
  .about-text{padding:3rem 1.5rem}

  /* Services */
  .services-section{padding:4rem 1.5rem}
  .services-grid{grid-template-columns:1fr}

  /* Contact */
  .contact-section{grid-template-columns:1fr}
  .contact-left,.contact-right{padding:3.5rem 1.5rem}
  .contact-left{border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}

  /* Section headers */
  .section-header{flex-direction:column;align-items:flex-start;padding:0 1.5rem}
  .feat-strip{padding:0 1.5rem}

  /* Footer */
  .ft{grid-template-columns:1fr 1fr;gap:2.5rem;padding:4rem 1.5rem 2.5rem}
  .ft-brand{grid-column:1/-1}
  .ft-col:last-child{display:none}
  .ftb{padding:1.25rem 1.5rem;flex-direction:column;gap:.35rem;text-align:center}
  .ftb-right{display:none}

  /* Auth */
  .auth-wrap{grid-template-columns:1fr}
  .auth-vis{display:none}
  .auth-panel{padding:calc(var(--nav-h) + 2rem) 1.25rem 3rem;justify-content:flex-start;min-height:100dvh}
  .auth-inner{max-width:100%}
  .f2c{grid-template-columns:1fr}

  /* Dashboard */
  .db{grid-template-columns:1fr}
  .sb{position:fixed;left:-280px;top:0;bottom:0;z-index:500;width:276px;height:100dvh;transition:left var(--tr)}
  .sb.open{left:0;box-shadow:4px 0 30px rgba(26,18,9,.15)}

  /* ── Home mobile ── */
  .hero-content { grid-template-columns: 1fr; }
  .hero-bg-shape { display: none; }
  .hero-left { padding: calc(var(--nav-h)+2rem) 1.5rem 3rem; justify-content: flex-end; }
  .hero-right { display: none; }
  .hero-actions { flex-direction: column; }
  .hero-actions .btn { width: 100%; justify-content: center; padding: 1rem; }
  .numbers-band { grid-template-columns: 1fr 1fr; }
  .num-cell { border-right: 1px solid rgba(255,255,255,.06) !important; border-bottom: 1px solid rgba(255,255,255,.06); }
  .num-cell:nth-child(even) { border-right: none !important; }
  .num-cell:nth-child(3),.num-cell:nth-child(4) { border-bottom: none; }
  .about-grid { grid-template-columns: 1fr; }
  .about-img-col { order: -1; min-height: 260px; max-height: 340px; }
  .about-txt-col { padding: 3rem 1.5rem; }
  .services-wrap { padding: 4rem 1.5rem; }
  .services-top { grid-template-columns: 1fr; }
  .services-grid { grid-template-columns: 1fr; }
  .contact-wrap { grid-template-columns: 1fr; }
  .contact-info-col,.contact-form-col { padding: 3.5rem 1.5rem; }
  .contact-info-col { border-right: none; border-bottom: 1px solid rgba(255,255,255,.06); }
  .section-header { flex-direction: column; align-items: flex-start; padding: 0 1.5rem; }
  .feat-strip { padding: 0 1.5rem; }
  .mobile-topbar{display:flex}
  .dash-topbar{display:flex}
  .dc{padding:1rem;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom,0px))}
  .srow{grid-template-columns:1fr 1fr}
  .chat-wrap{grid-template-columns:1fr;height:calc(100dvh - 120px);max-height:none;border-radius:6px}
  .chat-list{display:none}
  .grid2{grid-template-columns:1fr}
  .rimgs{grid-template-columns:repeat(3,1fr)}
  .prevgrid{grid-template-columns:repeat(4,1fr)}
  .mgrid{grid-template-columns:1fr 1fr;gap:2px}
  .mo{align-items:flex-end;padding:0}
  .mo-box{border-radius:16px 16px 0 0;max-height:92dvh;width:100%;max-width:100%;padding:1.5rem}
  .toast-wrap{top:auto;bottom:calc(1rem + env(safe-area-inset-bottom,0px));left:1rem;right:1rem;width:auto}
  .toast{transform:translateY(calc(100% + 1rem))}
  .toast.show{transform:none}
}

/* ═══════════════════════════════════════
   RESPONSIVE — 480px
═══════════════════════════════════════ */
@media(max-width:480px){
  .hero-left{padding:calc(var(--nav-h)+1.5rem) 1.25rem 2.5rem}
  .mgrid{gap:2px}
  .prevgrid{grid-template-columns:repeat(3,1fr)}
  .rimgs{grid-template-columns:repeat(2,1fr)}
  .srow{grid-template-columns:1fr 1fr}
  .numbers-section{grid-template-columns:1fr}
  .num-item{border-right:none!important}

  .hero-left { padding: calc(var(--nav-h)+1.5rem) 1.25rem 2.5rem; }
  .numbers-band { grid-template-columns: 1fr; }
  .num-cell { border-right: none !important; }
  .services-grid { grid-template-columns: 1fr; }
  .hdr-actions>.hdr-ghost{display:none}
}

@supports(padding:max(0px)){
  .auth-panel{padding-bottom:max(2.5rem,env(safe-area-inset-bottom))}
  .chat-inp-area{padding-bottom:max(1rem,env(safe-area-inset-bottom))}
  .sb{padding-bottom:env(safe-area-inset-bottom)}
}

/* ═══════════════════════════════════════
   TEAM PAGE — Models Grid (Landing)
═══════════════════════════════════════ */
.team-page{padding-top:calc(var(--nav-h) + 1.5rem);min-height:100dvh}
.team-hero-section{
  text-align:center;
  padding:2rem clamp(1.25rem,5vw,4rem) 2.5rem;
  max-width:720px;margin:0 auto;
  animation:slideUp .5s ease both;
}
.team-hero-label{
  font-size:.6rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--ac);
  margin-bottom:.75rem;display:flex;align-items:center;justify-content:center;gap:.75rem;
}
.team-hero-label span{width:28px;height:1px;background:var(--br2)}
.team-hero-title{font-family:var(--fd);font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.1;letter-spacing:-.01em;color:var(--tx);margin-bottom:.75rem}
.team-hero-sub{font-size:clamp(.85rem,2vw,.95rem);color:var(--tm);font-weight:300;line-height:1.7;max-width:520px;margin:0 auto}
.team-count{
  display:inline-flex;align-items:center;gap:.5rem;
  margin-top:1.25rem;padding:.4rem 1rem;
  background:var(--sf);border:1px solid var(--br);border-radius:100px;
  font-size:.72rem;font-weight:500;color:var(--tm);letter-spacing:.02em;
}
.team-count-dot{width:6px;height:6px;border-radius:50%;background:var(--ok);animation:pulse 2s ease infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

.team-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:1.25rem;padding:0 clamp(1.25rem,5vw,4rem) 4rem;
  max-width:1400px;margin:0 auto;
}

/* Model Card — Team Style */
.mcard-team{
  position:relative;cursor:pointer;border-radius:var(--rd);overflow:hidden;
  background:var(--sf);border:1px solid var(--br);transition:all var(--tr);
  animation:scaleIn .5s ease both;
}
.mcard-team:hover{transform:translateY(-4px);box-shadow:0 12px 36px rgba(26,18,9,.1);border-color:var(--br2)}
.mcard-img-wrap{overflow:hidden;position:relative}
.mcard-img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .5s ease;display:block}
.mcard-team:hover .mcard-img{transform:scale(1.04)}
.mcard-placeholder{background:linear-gradient(145deg,var(--bg2),var(--br));display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:2.5rem;font-weight:700;color:rgba(26,18,9,.12);letter-spacing:.1em}
.mcard-badge{
  position:absolute;top:.6rem;right:.6rem;background:rgba(10,8,4,.65);backdrop-filter:blur(8px);
  color:#fff;font-size:.6rem;font-weight:600;padding:.2rem .5rem;border-radius:100px;
  display:flex;align-items:center;gap:.3rem;letter-spacing:.04em;
}
.mcard-info{padding:.85rem 1rem}
.mcard-name{font-family:var(--fd);font-size:1rem;font-weight:600;line-height:1.2;color:var(--tx);margin-bottom:.2rem;letter-spacing:.01em}
.mcard-sub{font-size:.7rem;color:var(--tl);font-weight:400;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Skeleton cards */
.mcard-skel{border-radius:var(--rd);overflow:hidden;background:var(--sf);border:1px solid var(--br)}
.mcard-skel-img{width:100%;aspect-ratio:3/4;background:linear-gradient(110deg,var(--bg2) 30%,var(--sf) 50%,var(--bg2) 70%);background-size:200% 100%;animation:shimmer 1.5s ease infinite}
.mcard-skel-info{padding:.85rem 1rem}
.mcard-skel-line{height:12px;border-radius:6px;background:var(--bg2);margin-bottom:.4rem}
.mcard-skel-line.short{width:60%;margin-bottom:0}
@keyframes shimmer{to{background-position:-200% 0}}
@keyframes scaleIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}

/* Staggered animation */
.mcard-team:nth-child(1){animation-delay:.02s}
.mcard-team:nth-child(2){animation-delay:.06s}
.mcard-team:nth-child(3){animation-delay:.1s}
.mcard-team:nth-child(4){animation-delay:.14s}
.mcard-team:nth-child(5){animation-delay:.18s}
.mcard-team:nth-child(6){animation-delay:.22s}
.mcard-team:nth-child(7){animation-delay:.26s}
.mcard-team:nth-child(8){animation-delay:.3s}
.mcard-team:nth-child(n+9){animation-delay:.34s}

/* ═══════════════════════════════════════
   MODEL DETAIL PAGE
═══════════════════════════════════════ */
.detail-page{padding-top:var(--nav-h);min-height:100dvh;animation:fadeIn .3s ease}

/* ═══ REDESIGNED MODEL PROFILE ═══════════════════════════ */
.mp-hero{
  position:relative;height:min(70vh,600px);overflow:hidden;
  background:var(--pr);
}
.mp-hero-img{
  width:100%;height:100%;object-fit:cover;object-position:top center;
  display:block;
}
.mp-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(10,8,5,.18) 0%,rgba(10,8,5,.0) 30%,rgba(10,8,5,.65) 80%,rgba(10,8,5,.88) 100%);
}
.mp-back{
  position:absolute;top:calc(var(--nav-h) + 1.25rem);left:clamp(1.25rem,5vw,4rem);
  display:inline-flex;align-items:center;gap:.5rem;
  background:rgba(255,255,255,.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.2);border-radius:100px;
  padding:.45rem 1rem;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:rgba(255,255,255,.9);cursor:pointer;transition:all .2s ease;
}
.mp-back:hover{background:rgba(255,255,255,.22);color:#fff}
.mp-hero-name{
  position:absolute;bottom:2.5rem;left:clamp(1.25rem,5vw,4rem);right:clamp(1.25rem,5vw,4rem);
}
.mp-hero-tag{
  font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ac);margin-bottom:.6rem;
}
.mp-hero-h1{
  font-family:var(--fd);font-size:clamp(2.5rem,6vw,5rem);font-weight:700;
  color:#fff;line-height:1;letter-spacing:-.02em;margin-bottom:.5rem;
  text-shadow:0 2px 20px rgba(0,0,0,.3);
}
.mp-hero-sub{font-size:.85rem;color:rgba(255,255,255,.65);font-weight:300;letter-spacing:.04em}

.mp-body{
  display:grid;grid-template-columns:320px 1fr;
  gap:0;align-items:start;
  max-width:1400px;margin:0 auto;
  padding:0 clamp(1.25rem,5vw,4rem);
}
.mp-sidebar{
  padding:2.5rem 2.5rem 2.5rem 0;
  position:sticky;top:var(--nav-h);
  border-right:1px solid var(--br);
}
.mp-avatar-wrap{
  width:100%;aspect-ratio:3/4;overflow:hidden;border-radius:8px;
  margin-bottom:1.5rem;cursor:pointer;
  box-shadow:0 8px 40px rgba(10,8,5,.12);
}
.mp-avatar{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .4s ease}
.mp-avatar-wrap:hover .mp-avatar{transform:scale(1.03)}
.mp-identity{margin-bottom:1.25rem}
.mp-name{font-family:var(--fd);font-size:1.6rem;font-weight:700;color:var(--tx);line-height:1.1;margin-bottom:.35rem}
.mp-specialty{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ac)}
.mp-bio{font-size:.85rem;color:var(--tm);font-style:italic;line-height:1.8;margin-bottom:1.5rem;font-weight:300}
.mp-specs{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--br);margin-bottom:1.25rem}
.mp-spec{
  display:flex;justify-content:space-between;align-items:baseline;
  padding:.65rem 0;border-bottom:1px solid var(--br);gap:.5rem;
}
.mp-spec-l{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tl);flex-shrink:0}
.mp-spec-v{font-size:.8rem;color:var(--tx);font-weight:400;text-align:right}
.mp-stats-row{display:flex;gap:0;border:1px solid var(--br);border-radius:8px;overflow:hidden}
.mp-stat{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:.85rem .5rem;text-align:center;
  border-right:1px solid var(--br);
}
.mp-stat:last-child{border-right:none}
.mp-stat-n{font-family:var(--fd);font-size:1.35rem;font-weight:700;color:var(--tx);line-height:1;display:block}
.mp-stat-l{font-size:.55rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--tl);margin-top:.25rem;display:block}

.mp-gallery-col{padding:2.5rem 0 4rem 2.5rem}
.mp-gallery-hd{
  display:flex;align-items:baseline;justify-content:space-between;
  margin-bottom:1.25rem;padding-bottom:.85rem;border-bottom:1px solid var(--br);
}
.mp-gallery-title{font-family:var(--fd);font-size:1.25rem;font-weight:600;color:var(--tx)}
.mp-gallery-count{font-size:.7rem;color:var(--tl);font-weight:500;letter-spacing:.06em}
.mp-gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-auto-rows:240px;
  gap:.5rem;
}
.mp-gitem{
  position:relative;overflow:hidden;border-radius:6px;cursor:pointer;
  background:var(--br);
}
.mp-gitem-feat{
  grid-column:span 2;grid-row:span 2;
}
.mp-gitem img{
  width:100%;height:100%;object-fit:cover;object-position:top;
  transition:transform .5s cubic-bezier(.25,.46,.45,.94);
  display:block;
}
.mp-gitem:hover img{transform:scale(1.06)}
.mp-gitem-ov{
  position:absolute;inset:0;background:rgba(10,8,5,.32);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .2s ease;color:#fff;
}
.mp-gitem:hover .mp-gitem-ov{opacity:1}

@media(max-width:900px){
  .mp-body{grid-template-columns:1fr;padding:0}
  .mp-sidebar{position:static;border-right:none;border-bottom:1px solid var(--br);padding:1.5rem}
  .mp-avatar-wrap{width:120px;height:160px;aspect-ratio:unset;float:right;margin:0 0 1rem 1rem}
  .mp-gallery-col{padding:1.5rem 1rem 4rem}
  .mp-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}
  .mp-gitem-feat{grid-column:span 2;grid-row:span 1}
  .mp-hero{height:min(55vw,380px)}
  .mp-hero-h1{font-size:clamp(2rem,8vw,3.5rem)}
}
@media(max-width:480px){
  .mp-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:140px;gap:.25rem}
  .mp-hero{height:260px}
}

/* ═══════════════════════════════════════
   MOBILE BOTTOM BAR
═══════════════════════════════════════ */
.mobile-bb{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:300;
  height:62px;background:rgba(255,255,255,.96);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border-top:1px solid var(--br);padding:0 .5rem;
  padding-bottom:env(safe-area-inset-bottom);
}
.bb-item{
  display:flex;flex-direction:column;align-items:center;gap:.15rem;
  padding:.45rem .75rem;border-radius:12px;cursor:pointer;
  transition:all var(--tr);-webkit-tap-highlight-color:transparent;min-width:56px;
}
.bb-item svg{width:22px;height:22px;color:var(--tl);transition:color var(--tr)}
.bb-item span{font-size:.58rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tl);transition:color var(--tr)}
.bb-item.on svg{color:var(--ac)}
.bb-item.on span{color:var(--ac)}
.bb-item:active{transform:scale(.92)}

@media(max-width:768px){
  .mobile-bb{display:flex;align-items:center;justify-content:space-around}
  body:has(.mobile-bb){padding-bottom:calc(62px + env(safe-area-inset-bottom))}

  /* Team grid mobile */
  .team-grid{grid-template-columns:repeat(2,1fr);gap:.6rem;padding:0 .75rem 4rem}
  .mcard-info{padding:.65rem .6rem}
  .mcard-name{font-size:.85rem}
  .mcard-sub{font-size:.62rem}

  /* Detail page mobile */

}

@media(max-width:480px){
  .team-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;padding:0 .6rem 4rem}

}

/* ═══════════════════════════════════════
   EDIT MODEL DRAWER
═══════════════════════════════════════ */
.em-drawer{display:flex;flex-direction:column;height:100%}
.em-drawer-hd{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.25rem 1.75rem;border-bottom:1px solid var(--br);flex-shrink:0;
}
.em-drawer-hd h2{font-family:var(--fd);font-size:1.15rem;font-weight:600;color:var(--tx)}
.em-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--tl);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all var(--tr)}
.em-close:hover{background:var(--br);color:var(--tx)}
.em-drawer-body{flex:1;overflow-y:auto;padding:1.5rem 1.75rem;display:flex;flex-direction:column;gap:1.5rem}
.em-drawer-ft{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.75rem;border-top:1px solid var(--br);flex-shrink:0}
.em-section-title{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tl);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--br)}
.em-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.4rem;margin-top:.5rem}
.em-photo{position:relative;aspect-ratio:3/4;border-radius:4px;overflow:hidden;background:var(--br)}
.em-photo img{width:100%;height:100%;object-fit:cover;display:block}
.em-photo-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5);opacity:0;transition:opacity .2s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;padding:.3rem}
.em-photo:hover .em-photo-overlay{opacity:1}
.em-photo-del{background:rgba(220,53,69,.85);color:#fff;border:none;border-radius:50%;width:24px;height:24px;font-size:.7rem;cursor:pointer;display:flex;align-items:center;justify-content:center}
.em-photo-vis{font-size:.58rem;font-weight:600;color:#fff;background:rgba(0,0,0,.5);border-radius:3px;padding:.15rem .35rem;cursor:pointer;text-align:center;transition:background .15s}
.em-photo-vis.active{background:rgba(201,162,74,.8)}
.em-photo-vis:hover{background:rgba(201,162,74,.9)}

/* ═══════════════════════════════════════
   CONFIGURE PANEL
═══════════════════════════════════════ */
.cfg-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;padding:0 clamp(1.25rem,2.5vw,2.25rem) 2rem}
.cfg-stat-row{display:flex;gap:.75rem;margin-bottom:1.25rem}
.cfg-stat{flex:1;background:var(--sf2);border:1px solid var(--br);border-radius:6px;padding:.85rem;text-align:center}
.cfg-stat span{display:block;font-family:var(--fd);font-size:1.8rem;font-weight:700;color:var(--tx);line-height:1}
.cfg-stat small{display:block;font-size:.6rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--tl);margin-top:.3rem}
.cfg-info-list{display:flex;flex-direction:column;gap:0}
.cfg-info-row{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--br);font-size:.8rem;gap:.5rem}
.cfg-info-row:last-child{border-bottom:none}
.cfg-info-row span{color:var(--tl);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;flex-shrink:0}
.cfg-info-row strong{color:var(--tx);text-align:right;font-weight:500;word-break:break-all}
.cfg-action-btn{
  display:flex;align-items:center;gap:.85rem;
  width:100%;background:var(--sf2);border:1px solid var(--br);
  border-radius:6px;padding:.75rem 1rem;cursor:pointer;
  transition:all var(--tr);text-decoration:none;text-align:left;
}
.cfg-action-btn:hover{background:var(--bg2);border-color:var(--ac)}
.cfg-action-btn span{font-size:1.2rem;flex-shrink:0}
.cfg-action-btn div{flex:1}
.cfg-action-btn strong{display:block;font-size:.8rem;font-weight:600;color:var(--tx)}
.cfg-action-btn small{font-size:.7rem;color:var(--tm)}
@media(max-width:768px){.cfg-grid{grid-template-columns:1fr}}

.mp-experience{background:var(--sf2);border:1px solid var(--br);border-radius:6px;padding:1rem 1.1rem;margin-top:1.25rem}
.mp-exp-title{font-size:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tl);margin-bottom:.5rem}
.mp-exp-body{font-size:.8rem;color:var(--tm);line-height:1.75;white-space:pre-line}

/* Sidebar logo image */
.sb-logo-img{
  height:32px;width:auto;max-width:140px;
  object-fit:contain;display:block;
  mix-blend-mode:normal;
  flex-shrink:0;
}
/* ═══════════════════════════════════════
   MOBILE SLIDE-IN MENU
═══════════════════════════════════════ */
.mob-menu-overlay{
  display:none;position:fixed;inset:0;
  background:rgba(0,0,0,.5);z-index:400;
  backdrop-filter:blur(2px);
}
.mob-menu-overlay.open{display:block}
.mob-menu{
  position:fixed;top:0;right:0;bottom:0;
  width:min(320px,85vw);
  background:var(--sf);
  z-index:401;
  display:flex;flex-direction:column;
  transform:translateX(100%);
  transition:transform .3s cubic-bezier(.4,0,.2,1);
  box-shadow:-8px 0 40px rgba(0,0,0,.15);
}
.mob-menu.open{transform:translateX(0)}
.mob-menu-hd{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem 1.25rem;
  border-bottom:1px solid var(--br);
  flex-shrink:0;
}
.mob-menu-brand{
  font-family:var(--fd);font-size:1.2rem;font-weight:700;
  letter-spacing:.06em;color:var(--tx);
}
.mob-menu-close{
  width:36px;height:36px;border-radius:50%;
  background:var(--bg2);border:1px solid var(--br);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--tx);transition:background var(--tr);
  flex-shrink:0;
}
.mob-menu-close:hover{background:var(--br)}
.mob-menu-nav{
  flex:1;overflow-y:auto;padding:.5rem 0;
}
.mob-menu-link{
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem 1.5rem;
  font-size:.95rem;font-weight:500;color:var(--tx);
  border-bottom:1px solid var(--br);
  cursor:pointer;transition:background var(--tr);
  text-decoration:none;background:none;border-left:none;border-right:none;border-top:none;
  width:100%;text-align:left;font-family:var(--fu);
}
.mob-menu-link:hover{background:var(--bg2);color:var(--ac)}
.mob-menu-link.active{color:var(--ac);font-weight:600}
.mob-menu-link svg{flex-shrink:0;color:var(--tl);opacity:.5}

/* ═══════════════════════════════════════
   SETTINGS TAB
═══════════════════════════════════════ */
.stg-av-section{display:flex;align-items:flex-start;gap:1.25rem;margin-bottom:.25rem}
.stg-av-col{display:flex;flex-direction:column;align-items:center;flex-shrink:0}
.stg-av-info{flex:1}
.stg-av-wrap{position:relative;width:72px;height:72px}
.stg-av{width:72px;height:72px;border-radius:50%;object-fit:cover;display:block;border:2px solid var(--br)}
.stg-av-rm{
  position:absolute;top:-4px;right:-4px;
  width:20px;height:20px;border-radius:50%;
  background:var(--er);color:#fff;border:none;
  font-size:.55rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  line-height:1;
}
.stg-av-placeholder{
  width:72px;height:72px;border-radius:50%;
  background:var(--ac);color:var(--pr);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--fd);font-size:1.4rem;font-weight:700;
  border:2px solid var(--br);flex-shrink:0;
}
.stg-av-btn{margin-top:.6rem;white-space:nowrap}
.pw-strength-bar{height:3px;border-radius:2px;background:var(--br);overflow:hidden}
