/* ========================================================================
   BASE ELEMENTS & SHARED BITS
   ---------------------------------------------------------------------
   Common cheezein jo poori site mein use hoti hain:
   links, images, form fields, buttons, section padding,
   section headings (.sec-title), aur scroll-reveal animation (.rv).
   ===================================================================== */


/* ── LINKS ─────────────────────────────────────────────────── */
a{text-decoration:none;color:inherit;}

/* ── MEDIA — images/video kabhi container se bahar na jaayein ──── */
img{display:block;width:100%;height:100%;object-fit:cover;}

/* ── GOLD CURSOR ───────────────────────────────────────────── */
#cur-dot{
  position:fixed;width:7px;height:7px;
  background:var(--gold);border-radius:50%;
  pointer-events:none;z-index:9999;
  transform:translate(-50%,-50%);
  transition:transform .12s;
}
#cur-ring{
  position:fixed;width:34px;height:34px;
  border:1.5px solid var(--gold);border-radius:50%;
  pointer-events:none;z-index:9998;
  transform:translate(-50%,-50%);
  transition:all .3s cubic-bezier(.25,.46,.45,.94);
  opacity:.5;
}

/* ── BUTTONS — gold aur outline ────────────────────────────── */
.btn-gold{
  font-size:10px;font-weight:500;letter-spacing:3px;text-transform:uppercase;
  padding:14px 32px;background:var(--gold);color:#0C0A07;
  clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));
  transition:all .3s;
}
.btn-gold:hover{background:var(--gold2);transform:translateY(-2px);}
.btn-ghost{
  font-size:10px;font-weight:500;letter-spacing:3px;text-transform:uppercase;
  padding:13px 32px;border:1px solid var(--border2);color:var(--text);
  transition:all .3s;
}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);}

/* ── ANIMATIONS ────────────────────────────────────────────── */
@keyframes pulse{from{transform:scaleY(.5)}
to{transform:scaleY(1)}
}
@keyframes rise{from{opacity:0;transform:translateY(28px)}
to{opacity:1;transform:translateY(0)}
}
@keyframes tick{from{transform:translateX(0)}
to{transform:translateX(-50%)}
}

/* ── SECTION SPACING — har section ka padding ──────────────── */
.sec{padding:110px 64px;}
.sec-alt{background:var(--bg2);}

/* ── SMALL GOLD LABEL — "OUR WORK", "GET IN TOUCH" jaisa text ──── */
.tag{
  font-size:9px;font-weight:500;letter-spacing:4px;text-transform:uppercase;
  color:var(--gold);display:flex;align-items:center;gap:12px;margin-bottom:14px;
}
.tag::before{content:'';width:24px;height:1px;background:var(--gold);}

/* ── BADA SECTION HEADING ──────────────────────────────────── */
.sec-title{
  font-family:'Italiana',serif;
  font-size:clamp(36px,4.5vw,62px);line-height:1.12;color:var(--text);
}
.sec-title i{font-family:'DM Serif Display',serif;font-style:italic;color:var(--gold);}

/* ── SCROLL REVEAL — scroll pe fade-in (js/2-site-ui.js chalata hai) ──── */
.rv{opacity:0;transform:translateY(24px);transition:opacity .85s ease,transform .85s ease;}
.rv.in{opacity:1;transform:none;}
.rv.vis{opacity:1;transform:none;}
@keyframes rvFallback{to{opacity:1;transform:none;}
}
.rv{animation:rvFallback .01s linear 2.2s forwards;}
@keyframes ttIn{
  from{opacity:0;transform:translateY(.42em) rotateX(-72deg) scale(.94);}
  to{opacity:1;transform:none;}
}
@keyframes subIn{from{opacity:0;transform:translateY(10px);}
to{opacity:1;transform:none;}
}
img,video,iframe,svg{max-width:100%;}

/* ── FORM FIELDS ───────────────────────────────────────────── */
input,select,textarea,button{max-width:100%;}
.sec{padding:clamp(56px,9vw,110px) clamp(20px,5vw,64px);}
