*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{--o:#FF5E1A;--k:#111;--w:#fff;--cr:#F5F3EF;--dk:#0D0D0D;--g:#888;--br:rgba(0,0,0,.1);--pad:clamp(20px,5vw,60px)}
html{scroll-behavior:smooth}
body{font-family:'Manrope',sans-serif;background:var(--w);color:var(--k);overflow-x:hidden}
h1,h2,h3,h4,h5{font-family:'Syne',sans-serif}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}

/* UTILS */
.tag{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;color:var(--o);text-transform:uppercase;letter-spacing:2px;margin-bottom:14px}
.tag::before{content:'✦';font-size:13px}
.h2{font-size:clamp(28px,5vw,52px);font-weight:800;line-height:1.1;letter-spacing:-1.5px;margin-bottom:16px}
.desc{font-size:15px;color:var(--g);line-height:1.8;max-width:500px}
.btn{background:var(--o);color:var(--w);padding:13px 26px;border-radius:3px;font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:7px;letter-spacing:.5px;text-transform:uppercase;transition:background .2s,transform .2s;white-space:nowrap;cursor:pointer;border:none}
.btn:hover{background:#e05010;transform:translateY(-2px)}
.btn-g{color:var(--k);font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:7px;letter-spacing:.5px;text-transform:uppercase;transition:color .2s}
.btn-g:hover{color:var(--o)}
.rv{opacity:0;transform:translateY(28px);transition:opacity .6s,transform .6s}
.rv.on{opacity:1;transform:translateY(0)}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);height:66px;background:rgba(245,243,239,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--br)}
.logo{font-size:22px;font-weight:800;letter-spacing:-.5px}
.logo span{color:var(--o)}
.nav-links{display:flex;gap:32px;list-style:none}
.nav-links a{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;transition:color .2s;padding:4px 0}
.nav-links a:hover,.nav-links a.act{color:var(--o)}
.nav-cta{background:var(--k);color:var(--w);padding:9px 20px;border-radius:3px;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;transition:background .2s}
.nav-cta:hover{background:var(--o)}
.hbg{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;background:none;border:none}
.hbg span{display:block;width:24px;height:2px;background:var(--k);border-radius:2px;transition:all .3s}
.hbg.on span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hbg.on span:nth-child(2){opacity:0}
.hbg.on span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mob-menu{display:none;position:fixed;top:66px;left:0;right:0;z-index:190;background:rgba(245,243,239,.98);backdrop-filter:blur(14px);border-bottom:1px solid var(--br);padding:16px var(--pad) 24px;flex-direction:column}
.mob-menu.on{display:flex}
.mob-menu a{display:block;padding:13px 0;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--br);transition:color .2s}
.mob-menu a:hover{color:var(--o)}
.mob-menu .mob-cta{margin-top:16px;background:var(--o);color:#fff;text-align:center;padding:13px;border-radius:3px;border:none}
.mob-menu .mob-cta:hover{background:#e05010;color:#fff}

/* HERO */
#hero{min-height:100svh;background:var(--cr);display:flex;align-items:center;padding-top:66px;overflow:hidden;position:relative}
.hero-in{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px var(--pad) 0;gap:40px}
.hero-c{flex:1;max-width:520px;position:relative;z-index:2}
.hero-tag{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:var(--o);text-transform:uppercase;letter-spacing:2px;margin-bottom:18px}
.hero-tag::before{content:'✦';font-size:14px}
.hero-h{font-size:clamp(80px,20vw,100px);font-weight:800;line-height:1.05;letter-spacing:-2px;margin-bottom:20px}
.hero-p{font-size:15px;color:var(--g);line-height:1.8;max-width:380px;margin-bottom:32px}
.hero-btns{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:40px}
.hero-soc{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.soc-lbl{font-size:13px;color:var(--g);font-weight:500}
.soc-ic{width:36px;height:36px;border-radius:50%;background:var(--k);color:var(--w);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;transition:background .2s,transform .2s}
.soc-ic:hover{background:var(--o);transform:translateY(-2px)}
.hero-img{flex:0 0 420px;height:calc(100svh - 66px);position:relative;display:flex;align-items:flex-end}
.hero-star{position:absolute;top:-10px;right:-60px;width:320px;height:320px;z-index:1;opacity:1}
.hero-ph{position:relative;z-index:2;width:100%;height:92%;border-radius:8px 8px 0 0;overflow:hidden;background:var(--cr)}
.hero-ph img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
/* fallback placeholder (hidden when img loads) */
.hero-ph svg{display:none}
.hero-ph span{display:none}
.hero-ph-fallback{display:none;width:100%;height:100%;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#777;background:linear-gradient(180deg,#ccc,#999)}
.hero-ph-fallback svg{width:70px;height:70px;opacity:.3}
.hero-ph-fallback span{font-size:13px;font-family:'Manrope',sans-serif}

/* CLIENTS BAR */
.cbar {
  background: var(--k);
  padding: 28px var(--pad);
  display: flex;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap;
}

.cbar-i { flex-shrink: 0 }
.cbar-i h4 { font-size: 15px; font-weight: 700; color: var(--w); margin-bottom: 4px }
.cbar-i p  { font-size: 12px; color: rgba(255,255,255,.45); line-height: 1.5 }

.clogos {
  display: flex;
  align-items: center;
  flex: 1;                        /* takes all remaining width */
  justify-content: space-between; /* spreads logos across full bar */
  gap: 12px;
  flex-wrap: wrap;
}

.clogo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 22px;
  border-radius: 6px;
  background: rgba(255,255,255,.04);
  transition: all .3s ease;
  opacity: .7;
  flex: 1;               /* each logo stretches equally */
  min-width: 100px;
  max-width: 160px;
}

.clogo img {
  height: 48px;          /* was 34px */
  width: auto;
  max-width: 130px;      /* was 110px */
  object-fit: contain;
  filter: grayscale(100%);
  transition: all .3s ease;
}

.clogo:hover {
  opacity: 1;
  background: rgba(255,255,255,.08);
  transform: translateY(-3px);
}

.clogo:hover img { filter: grayscale(0%) }

@media (max-width: 768px) {
  .cbar { flex-direction: column; align-items: flex-start }
  .clogos { justify-content: flex-start }
  .clogo { flex: 0 0 auto }
}
/* SERVICES */
#services{padding:80px var(--pad)}
.svc-in {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center; /* ✅ centers vertically */
}
.svc-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:36px 0}
.sn{font-size:clamp(30px,4vw,44px);font-weight:800;line-height:1;display:flex;align-items:baseline;gap:2px}
.sn sup{font-size:18px;color:var(--o)}
.sl{font-size:13px;color:var(--g);margin-top:5px}
.cert{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:110px;height:110px;background:var(--k);color:var(--w);font-family:'Syne',sans-serif;font-size:12px;font-weight:700;text-align:center;line-height:1.4;border-radius:4px;padding:14px}
.svc-card{display:flex;align-items:center;gap:16px;border:1px solid var(--br);border-radius:4px;margin-bottom:12px;overflow:hidden;transition:border-color .2s,transform .2s;background:var(--w)}
.svc-card:hover{border-color:var(--o);transform:translateX(4px)}
.svc-thumb{width:80px;height:72px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:26px;background:linear-gradient(135deg,#f0eee9,#e8e5de)}
.svc-info{flex:1;padding:13px 0}
.svc-name{font-family:'Syne',sans-serif;font-size:15px;font-weight:700;margin-bottom:3px}
.svc-ct{font-size:12px;color:var(--g)}
.svc-arr{width:32px;height:32px;border:1px solid var(--br);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:14px;color:var(--o);font-size:14px;flex-shrink:0;transition:background .2s}
.svc-card:hover .svc-arr{background:var(--o);color:var(--w);border-color:var(--o)}
.wp-card{border:2px solid var(--o);border-radius:6px;padding:20px;margin-top:4px}
.wp-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.wp-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--o);margin-bottom:4px}
.wp-title{font-family:'Syne',sans-serif;font-size:16px;font-weight:800}
.wp-price{font-family:'Syne',sans-serif;font-size:28px;font-weight:800;color:var(--o)}
.wp-price span{font-size:14px;color:var(--g);font-family:'Manrope',sans-serif}
.wp-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.wp-list li{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:500}
.wp-chk{width:20px;height:20px;border-radius:50%;background:var(--o);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0}
.wp-cta{display:block;text-align:center;background:var(--o);color:#fff;padding:12px;border-radius:3px;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.5px;transition:background .2s}
.wp-cta:hover{background:#e05010;color:#fff}

/* PROJECTS */
#projects{padding:80px var(--pad);background:var(--cr)}
.proj-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:40px;flex-wrap:wrap}
.proj-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.pc{border-radius:6px;overflow:hidden;background:var(--w);border:1px solid var(--br);transition:transform .3s}
.pc:hover{transform:translateY(-5px)}
.pc.ft{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr}
.pt{height:240px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.pc.ft .pt{height:100%;min-height:320px}
.bg1{background:linear-gradient(135deg,#1a1a2e,#0f3460)}
.bg2{background:linear-gradient(135deg,#0a1a2e,#1a3d69)}
.bg3{background:linear-gradient(135deg,#0a2e1a,#1a6940)}
.pn{font-family:'Syne',sans-serif;font-size:90px;font-weight:800;color:rgba(255,255,255,.06);position:absolute;bottom:-10px;right:16px;line-height:1}
.pi{font-size:44px;position:relative;z-index:1}
.pm2{padding:24px}
.ptag{font-size:11px;font-weight:700;color:var(--o);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px}
.ptitle{font-family:'Syne',sans-serif;font-size:20px;font-weight:700;margin-bottom:9px;line-height:1.3}
.pdesc{font-size:14px;color:var(--g);line-height:1.7;margin-bottom:14px}
.plink{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--k);text-transform:uppercase;letter-spacing:.5px;transition:color .2s}
.plink:hover{color:var(--o)}
/* SKILLS SECTION */
#skills {
  padding: 80px var(--pad);
  background: var(--dk);
  color: var(--w);
  text-align: center;
  overflow: hidden;
}

#skills .h2 { color: var(--w) }
#skills .desc { color: rgba(255,255,255,.45); margin: 0 auto 56px }

/* GRID */
.sk-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px;
  text-align: left;
  align-items: start;
}

/* Prevents grid children overflowing their column */
.sk-grid > div {
  min-width: 0;
  overflow: hidden;
}

/* Shared h4 */
.sk-grid > div > h4 {
  font-size: 13px;
  font-weight: 700;
  color: var(--w);
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}

/* Experience & Education */
.ei { margin-bottom: 22px }
.ei:last-child { margin-bottom: 0 }
.ey { font-size: 11px; color: rgba(255,255,255,.28); letter-spacing: .08em; margin-bottom: 3px }
.er { font-size: 15px; font-weight: 700; color: var(--w); margin-bottom: 3px; word-break: break-word }
.ec { font-size: 12px; color: var(--o); opacity: .85 }

/* Skills card */
.sk-box {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 8px;
  padding: 26px;
}

.sk-box h4 {
  font-size: 13px;
  font-weight: 700;
  color: var(--w);
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}

/* Skill rows */
.ski { margin-bottom: 14px }
.ski:last-child { margin-bottom: 0 }

.skh {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 7px;
}

.skn {
  font-size: 12px;
  font-weight: 500;
  color: rgba(255,255,255,.85);
  display: flex;
  align-items: center;
  gap: 8px;
}

.skico {
  width: 22px;
  height: 22px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 700;
  color: #fff;
  flex-shrink: 0;
}

.skp { font-size: 11px; color: rgba(255,255,255,.35) }

/* Track */
.skt {
  height: 3px;
  background: rgba(255,255,255,.09);
  border-radius: 2px;
  overflow: hidden;
}

/*
  inline style="width:X%" sets correct bar width.
  scaleX(0→1) animates visibility without conflicting with width.
*/
.skf {
  height: 100%;
  background: var(--o);
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1s cubic-bezier(.16,1,.3,1);
}

.sk-box.on .skf { transform: scaleX(1) }

/* Stagger */
.ski:nth-child(2)  .skf { transition-delay: .06s }
.ski:nth-child(3)  .skf { transition-delay: .12s }
.ski:nth-child(4)  .skf { transition-delay: .18s }
.ski:nth-child(5)  .skf { transition-delay: .24s }
.ski:nth-child(6)  .skf { transition-delay: .30s }
.ski:nth-child(7)  .skf { transition-delay: .36s }
.ski:nth-child(8)  .skf { transition-delay: .42s }
.ski:nth-child(9)  .skf { transition-delay: .48s }
.ski:nth-child(10) .skf { transition-delay: .54s }
.ski:nth-child(11) .skf { transition-delay: .60s }

/* Responsive */
@media (max-width: 900px) {
  .sk-grid { grid-template-columns: 1fr 1fr }
  .sk-box  { grid-column: 1 / -1 }
}
@media (max-width: 560px) {
  .sk-grid { grid-template-columns: 1fr }
  .sk-box  { grid-column: auto }
}
/* VIDEO TESTIMONIALS */
#vt{padding:80px var(--pad);background:var(--w)}
.sc{text-align:center;margin-bottom:48px}
.sc .desc{margin:0 auto}
.vg{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.vc{border-radius:10px;overflow:hidden;position:relative;aspect-ratio:9/14;cursor:pointer;transition:transform .3s}
.vc:hover{transform:scale(1.02)}
.vbg1{background:linear-gradient(160deg,#1a0a2e,#3d1a69)}
.vbg2{background:linear-gradient(160deg,#0a1a2e,#1a3d69)}
.vbg3{background:linear-gradient(160deg,#0a2e1a,#1a6940)}
.vo{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.82) 38%,rgba(0,0,0,.05) 70%,transparent 100%)}
.vplay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.15);backdrop-filter:blur(8px);border:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;transition:background .2s}
.vc:hover .vplay{background:var(--o);border-color:var(--o)}
.vi{position:absolute;bottom:0;left:0;right:0;padding:18px}
.vstars{color:#FFD700;font-size:13px;margin-bottom:5px}
.vname{font-family:'Syne',sans-serif;font-size:17px;font-weight:700;color:#fff;margin-bottom:3px}
.vrole{font-size:13px;color:rgba(255,255,255,.6)}

/* TEXT TESTIMONIALS */
#tt{padding:80px var(--pad);background:var(--cr)}
.tg{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tc{background:var(--w);border:1px solid var(--br);border-radius:10px;padding:28px;transition:transform .2s,border-color .2s}
.tc:hover{transform:translateY(-4px);border-color:var(--o)}
.tq{font-size:44px;color:var(--o);line-height:1;margin-bottom:12px;font-family:Georgia,serif}
.tt2{font-size:14px;color:#444;line-height:1.8;margin-bottom:18px}
.tstars{color:#FFD700;font-size:14px;margin-bottom:16px}
.ta{display:flex;align-items:center;gap:11px}
.tav{width:44px;height:44px;border-radius:50%;background:var(--k);display:flex;align-items:center;justify-content:center;font-family:'Syne',sans-serif;font-size:14px;font-weight:700;color:var(--w);flex-shrink:0}
.tav.o{background:var(--o)}.tav.gr{background:#555}
.tan{font-family:'Syne',sans-serif;font-size:15px;font-weight:700}
.tar{font-size:12px;color:var(--g)}

/* CONTACT */
#contact{padding:80px var(--pad);background:var(--dk);color:var(--w)}
.con-in{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.con-in .h2{color:var(--w)}
.con-in .desc{color:rgba(255,255,255,.45);margin-bottom:36px}
.cii{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px}
.cicon{width:42px;height:42px;border-radius:4px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.cil{font-size:11px;color:rgba(255,255,255,.38);margin-bottom:3px;text-transform:uppercase;letter-spacing:.5px;font-weight:700}
.civ{font-size:14px;font-weight:600;color:var(--w)}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.fg{display:flex;flex-direction:column;gap:6px}
.fg.full{grid-column:1/-1}
.fl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:rgba(255,255,255,.45)}
.fi,.fta{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:var(--w);padding:13px 15px;border-radius:4px;font-family:'Manrope',sans-serif;font-size:14px;outline:none;transition:border-color .2s;width:100%}
.fi::placeholder,.fta::placeholder{color:rgba(255,255,255,.22)}
.fi:focus,.fta:focus{border-color:var(--o)}
.fta{resize:vertical;min-height:136px}
.fs{width:100%;background:var(--o);color:var(--w);border:none;padding:15px;border-radius:4px;font-family:'Syne',sans-serif;font-size:14px;font-weight:700;cursor:pointer;letter-spacing:.5px;text-transform:uppercase;margin-top:6px;transition:background .2s}
.fs:hover{background:#e05010}

/* FOOTER */
footer{background:#080808;border-top:1px solid rgba(255,255,255,.06);padding:28px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.flogo{font-family:'Syne',sans-serif;font-size:20px;font-weight:800;color:var(--w)}
.flogo span{color:var(--o)}
.fcp{font-size:12px;color:rgba(255,255,255,.3)}
.flinks{display:flex;gap:20px;flex-wrap:wrap}
.flinks a{font-size:12px;color:rgba(255,255,255,.35);transition:color .2s}
.flinks a:hover{color:var(--o)}

/* ═══ RESPONSIVE: TABLET ≤900px ═══ */
@media(max-width:900px){
  .nav-links,.nav-cta{display:none}
  .hbg{display:flex}
  .hero-in{flex-direction:column;align-items:flex-start;padding-bottom:40px;gap:0}
  .hero-c{max-width:100%;padding-top:20px}
  .hero-img{flex:0 0 auto;width:100%;height:380px;margin-top:32px}
  .hero-star{width:180px;height:180px;top:-20px;right:-20px}
  .hero-ph{height:100%;border-radius:8px}
  .svc-in{grid-template-columns:1fr;gap:40px}
  .proj-grid{grid-template-columns:1fr}
  .pc.ft{grid-template-columns:1fr}
  .pc.ft .pt{min-height:220px;height:220px}
  .sk-grid{grid-template-columns:1fr 1fr}
  .vg{grid-template-columns:1fr 1fr}
  .tg{grid-template-columns:1fr 1fr}
  .con-in{grid-template-columns:1fr;gap:40px}
  footer{flex-direction:column;text-align:center}
  .flinks{justify-content:center}
}

/* ═══ RESPONSIVE: MOBILE ≤600px ═══ */
@media(max-width:600px){
  #services,#projects,#skills,#vt,#tt,#contact{padding:56px var(--pad)}
  .hero-in{padding-bottom:32px}
  .hero-h{font-size:clamp(36px,10vw,50px);letter-spacing:-1px}
  .hero-img{height:300px}
  .hero-star{width:120px;height:120px;top:-10px;right:-10px}
  .hero-btns{gap:12px}
  .cbar{flex-direction:column;align-items:flex-start;gap:20px}
  .clogos{gap:18px}
  .svc-stats{grid-template-columns:1fr 1fr}
  .proj-hd{flex-direction:column;align-items:flex-start}
  .sk-grid{grid-template-columns:1fr}
  .vg{grid-template-columns:1fr}
  .tg{grid-template-columns:1fr}
  .fr{grid-template-columns:1fr}
  footer{gap:12px}
}

/* ═══ RESPONSIVE: TINY ≤380px ═══ */
@media(max-width:380px){
  .hero-h{font-size:34px}
  .h2{font-size:26px;letter-spacing:-1px}
  .hero-btns{flex-direction:column;align-items:stretch}
  .btn,.btn-g{width:100%;justify-content:center}
  .svc-stats{grid-template-columns:1fr}
}