/*
Priyank Studio Kit v1
Original minimal portfolio system for Hello Elementor + Elementor.
Use classes inside Elementor: ppk-section, ppk-dark, ppk-hero, ppk-title-xl, ppk-reveal, ppk-project-grid, ppk-card, ppk-btn, ppk-magnetic.
*/
:root{
  --ppk-bg:#0B0B0B;
  --ppk-bg-2:#121212;
  --ppk-ink:#F6F1E8;
  --ppk-muted:rgba(246,241,232,.68);
  --ppk-muted-2:rgba(246,241,232,.42);
  --ppk-line:rgba(246,241,232,.13);
  --ppk-soft:#F3EEE4;
  --ppk-dark:#0B0B0B;
  --ppk-accent:#D9C7A1;
  --ppk-radius:28px;
  --ppk-radius-sm:16px;
  --ppk-max:1280px;
}
html{scroll-behavior:smooth;}
body{background:var(--ppk-bg); color:var(--ppk-ink); font-family:"Plus Jakarta Sans", Inter, Arial, sans-serif;}
body.ppk-loaded{opacity:1;}
a{color:inherit;}
.ppk-page{background:var(--ppk-bg); color:var(--ppk-ink); min-height:100vh; overflow:hidden;}
.ppk-section{padding:clamp(72px,9vw,150px) 20px; position:relative; overflow:hidden;}
.ppk-section-inner{max-width:var(--ppk-max); margin:0 auto; position:relative; z-index:2;}
.ppk-dark{background:var(--ppk-bg); color:var(--ppk-ink);}
.ppk-light{background:var(--ppk-soft); color:#101010;}
.ppk-grid-2{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,6vw,90px); align-items:start;}
.ppk-grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.ppk-grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.ppk-row{display:flex; gap:16px; flex-wrap:wrap; align-items:center;}
.ppk-space-between{display:flex; justify-content:space-between; gap:24px; align-items:flex-end;}
.ppk-eyebrow{font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--ppk-muted); margin:0 0 24px; font-weight:600;}
.ppk-light .ppk-eyebrow{color:rgba(16,16,16,.55);}
.ppk-title-xl{font-size:clamp(58px,12vw,164px); line-height:.86; letter-spacing:-.075em; font-weight:650; margin:0; max-width:1120px;}
.ppk-title-lg{font-size:clamp(42px,7vw,104px); line-height:.92; letter-spacing:-.06em; font-weight:650; margin:0;}
.ppk-title-md{font-size:clamp(30px,4vw,58px); line-height:1; letter-spacing:-.045em; font-weight:650; margin:0;}
.ppk-copy-lg{font-size:clamp(18px,2.2vw,28px); line-height:1.45; color:var(--ppk-muted); max-width:720px; margin:0;}
.ppk-copy{font-size:16px; line-height:1.8; color:var(--ppk-muted); margin:0;}
.ppk-light .ppk-copy,.ppk-light .ppk-copy-lg{color:rgba(16,16,16,.68);}
.ppk-hero{min-height:100vh; display:flex; align-items:center; background:radial-gradient(circle at 72% 24%, rgba(217,199,161,.15), transparent 34%), var(--ppk-bg);}
.ppk-hero .ppk-copy-lg{margin-top:28px;}
.ppk-hero-meta{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; border-top:1px solid var(--ppk-line); margin-top:70px; padding-top:24px; color:var(--ppk-muted);}
.ppk-hero-meta strong{display:block; color:var(--ppk-ink); font-size:18px; margin-bottom:6px;}
.ppk-btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:15px 24px; border:1px solid var(--ppk-line); border-radius:999px; background:var(--ppk-ink); color:#0B0B0B !important; font-size:14px; font-weight:700; text-decoration:none !important; transition:transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease; will-change:transform;}
.ppk-btn:hover{transform:translateY(-3px); background:#fff; color:#0b0b0b !important;}
.ppk-btn.ghost{background:transparent; color:var(--ppk-ink) !important; border-color:var(--ppk-line);}
.ppk-btn.ghost:hover{background:rgba(246,241,232,.08);}
.ppk-light .ppk-btn{background:#101010; color:#fff !important;}
.ppk-light .ppk-btn.ghost{background:transparent; color:#101010 !important; border-color:rgba(16,16,16,.16);}
.ppk-header{position:fixed; top:0; left:0; width:100%; z-index:999; padding:20px 24px; transition:background .25s ease, backdrop-filter .25s ease, border .25s ease;}
.ppk-header.is-scrolled{background:rgba(11,11,11,.72); backdrop-filter:blur(18px); border-bottom:1px solid var(--ppk-line);}
.ppk-nav{max-width:var(--ppk-max); margin:0 auto; display:flex; justify-content:space-between; align-items:center; gap:24px;}
.ppk-logo{font-weight:750; letter-spacing:-.04em; font-size:18px; text-decoration:none !important;}
.ppk-menu{display:flex; gap:26px; align-items:center;}
.ppk-menu a{font-size:13px; text-transform:uppercase; letter-spacing:.10em; color:var(--ppk-muted); text-decoration:none !important; transition:color .2s ease;}
.ppk-menu a:hover{color:var(--ppk-ink);}
.ppk-badge{display:inline-flex; padding:7px 11px; border:1px solid var(--ppk-line); border-radius:999px; color:var(--ppk-muted); font-size:12px; letter-spacing:.10em; text-transform:uppercase;}
.ppk-marquee{overflow:hidden; border-top:1px solid var(--ppk-line); border-bottom:1px solid var(--ppk-line); padding:18px 0; white-space:nowrap;}
.ppk-marquee-track{display:inline-flex; gap:28px; animation:ppk-marquee 26s linear infinite;}
.ppk-marquee span{font-size:clamp(26px,5vw,72px); letter-spacing:-.06em; font-weight:650; color:transparent; -webkit-text-stroke:1px rgba(246,241,232,.45);}
.ppk-light .ppk-marquee{border-color:rgba(16,16,16,.14);}
.ppk-light .ppk-marquee span{-webkit-text-stroke:1px rgba(16,16,16,.38);}
@keyframes ppk-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ppk-service-card{border:1px solid var(--ppk-line); border-radius:var(--ppk-radius); padding:32px; min-height:250px; display:flex; flex-direction:column; justify-content:space-between; background:rgba(255,255,255,.025); transition:transform .35s ease, background .35s ease, border-color .35s ease;}
.ppk-service-card:hover{transform:translateY(-8px); background:rgba(255,255,255,.055); border-color:rgba(246,241,232,.25);}
.ppk-service-card h3{font-size:clamp(24px,2.8vw,38px); line-height:1; letter-spacing:-.04em; margin:0 0 20px;}
.ppk-service-card p{color:var(--ppk-muted); line-height:1.7; margin:0;}
.ppk-service-index{font-size:13px; color:var(--ppk-muted-2); margin-bottom:34px;}
.ppk-project-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
.ppk-project-card{position:relative; min-height:520px; border-radius:var(--ppk-radius); overflow:hidden; background:#171717; text-decoration:none !important; display:block; color:var(--ppk-ink) !important; isolation:isolate;}
.ppk-project-card::before{content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.28) 45%, rgba(0,0,0,.86) 100%);}
.ppk-project-media{position:absolute; inset:0; background:linear-gradient(135deg, rgba(217,199,161,.42), rgba(255,255,255,.06)), #242424; transform:scale(1); transition:transform .9s cubic-bezier(.19,1,.22,1), filter .7s ease;}
.ppk-project-card:nth-child(2n) .ppk-project-media{background:linear-gradient(135deg, rgba(98,132,189,.42), rgba(255,255,255,.06)), #242424;}
.ppk-project-card:nth-child(3n) .ppk-project-media{background:linear-gradient(135deg, rgba(168,107,91,.42), rgba(255,255,255,.06)), #242424;}
.ppk-project-card:hover .ppk-project-media{transform:scale(1.08); filter:saturate(1.08) contrast(1.02);}
.ppk-project-content{position:absolute; left:32px; right:32px; bottom:32px; z-index:2;}
.ppk-project-content .meta{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:14px;}
.ppk-project-content .meta span{font-size:12px; letter-spacing:.13em; text-transform:uppercase; color:rgba(246,241,232,.75);}
.ppk-project-content h3{font-size:clamp(32px,5vw,66px); line-height:.9; letter-spacing:-.06em; margin:0 0 16px;}
.ppk-project-content p{margin:0; color:rgba(246,241,232,.72); max-width:520px; line-height:1.55;}
.ppk-list-preview{position:relative; border-top:1px solid var(--ppk-line);}
.ppk-preview-row{display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; padding:32px 0; border-bottom:1px solid var(--ppk-line); color:inherit !important; text-decoration:none !important;}
.ppk-preview-row h3{font-size:clamp(34px,6vw,96px); line-height:.9; letter-spacing:-.07em; margin:0;}
.ppk-preview-row span{font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--ppk-muted);}
.ppk-floating-preview{position:fixed; width:320px; height:220px; border-radius:20px; background:linear-gradient(135deg, rgba(217,199,161,.55), rgba(255,255,255,.08)), #202020; pointer-events:none; z-index:998; opacity:0; transform:translate(-50%,-50%) scale(.92); transition:opacity .22s ease, transform .22s ease; box-shadow:0 28px 80px rgba(0,0,0,.35);}
.ppk-floating-preview.is-active{opacity:1; transform:translate(-50%,-50%) scale(1);}
.ppk-step{display:grid; grid-template-columns:96px 1fr; gap:32px; padding:34px 0; border-bottom:1px solid var(--ppk-line);}
.ppk-step .num{font-size:13px; color:var(--ppk-muted-2); letter-spacing:.16em;}
.ppk-step h3{font-size:clamp(28px,4vw,58px); letter-spacing:-.05em; line-height:1; margin:0 0 14px;}
.ppk-step p{color:var(--ppk-muted); line-height:1.7; margin:0; max-width:650px;}
.ppk-proof-card{border:1px solid var(--ppk-line); padding:26px; border-radius:22px; background:rgba(255,255,255,.025);}
.ppk-proof-card strong{display:block; font-size:clamp(36px,5vw,72px); letter-spacing:-.06em; line-height:.9; margin-bottom:14px;}
.ppk-proof-card span{color:var(--ppk-muted); line-height:1.55;}
.ppk-filter-bar{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:32px;}
.ppk-filter-btn{border:1px solid var(--ppk-line); background:transparent; color:var(--ppk-muted); border-radius:999px; padding:10px 16px; cursor:pointer; font-size:13px; letter-spacing:.08em; text-transform:uppercase; transition:background .2s ease, color .2s ease;}
.ppk-filter-btn.is-active,.ppk-filter-btn:hover{background:var(--ppk-ink); color:#111;}
.ppk-filter-item{transition:opacity .25s ease, transform .25s ease;}
.ppk-filter-item.is-hidden{display:none;}
.ppk-testimonial{border:1px solid var(--ppk-line); border-radius:var(--ppk-radius); padding:36px; background:rgba(255,255,255,.025);}
.ppk-testimonial blockquote{font-size:clamp(24px,3vw,42px); line-height:1.15; letter-spacing:-.04em; margin:0 0 32px;}
.ppk-testimonial cite{font-style:normal; color:var(--ppk-muted);}
.ppk-contact-panel{border-radius:36px; border:1px solid var(--ppk-line); padding:clamp(32px,6vw,74px); background:radial-gradient(circle at 85% 15%, rgba(217,199,161,.18), transparent 40%), rgba(255,255,255,.03);}
.ppk-form-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.ppk-form-grid .full{grid-column:1/-1;}
.ppk-input{width:100%; border:1px solid var(--ppk-line); border-radius:14px; padding:16px 18px; background:rgba(255,255,255,.04); color:var(--ppk-ink); outline:none; transition:border .2s ease, background .2s ease;}
.ppk-input:focus{border-color:rgba(246,241,232,.36); background:rgba(255,255,255,.07);}
.ppk-reveal{opacity:0; transform:translateY(34px); transition:opacity .85s cubic-bezier(.19,1,.22,1), transform .85s cubic-bezier(.19,1,.22,1);}
.ppk-reveal.is-visible{opacity:1; transform:translateY(0);}
.ppk-split-line{overflow:hidden; display:block;}
.ppk-page-fade{opacity:0; transform:translateY(10px); transition:opacity .5s ease, transform .5s ease;}
body.ppk-ready .ppk-page-fade{opacity:1; transform:translateY(0);}
.ppk-cursor{position:fixed; top:0; left:0; width:42px; height:42px; border:1px solid rgba(246,241,232,.42); border-radius:50%; pointer-events:none; z-index:10000; transform:translate(-50%,-50%); transition:width .18s ease, height .18s ease, border-color .18s ease, background .18s ease; mix-blend-mode:difference; display:none;}
.ppk-cursor-dot{position:fixed; top:0; left:0; width:6px; height:6px; border-radius:50%; background:var(--ppk-ink); pointer-events:none; z-index:10001; transform:translate(-50%,-50%); display:none;}
@media (hover:hover) and (pointer:fine){.ppk-cursor,.ppk-cursor-dot{display:block;} body.ppk-cursor-hover .ppk-cursor{width:72px;height:72px;background:rgba(246,241,232,.09);}}
@media(max-width:1024px){
  .ppk-grid-3,.ppk-grid-4{grid-template-columns:1fr 1fr;}
  .ppk-project-grid{grid-template-columns:1fr;}
  .ppk-hero-meta{grid-template-columns:1fr 1fr;}
}
@media(max-width:767px){
  .ppk-section{padding:72px 18px;}
  .ppk-hero{min-height:90vh;}
  .ppk-title-xl{font-size:clamp(54px,18vw,84px); letter-spacing:-.07em;}
  .ppk-title-lg{font-size:clamp(42px,14vw,68px);}
  .ppk-grid-2,.ppk-grid-3,.ppk-grid-4,.ppk-form-grid{grid-template-columns:1fr;}
  .ppk-space-between{display:block;}
  .ppk-menu{display:none;}
  .ppk-project-card{min-height:420px; border-radius:22px;}
  .ppk-project-content{left:22px; right:22px; bottom:22px;}
  .ppk-step{grid-template-columns:1fr; gap:12px;}
  .ppk-hero-meta{grid-template-columns:1fr; margin-top:44px;}
  .ppk-preview-row{grid-template-columns:1fr;}
}
