/* =============================================
   PKS IT Solutions — Shared Stylesheet
   Used by: index, about, services, portfolio, contact, admin
   ============================================= */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#0f2244;
  --navy2:#1a3a6b;
  --orange:#e85d1a;
  --orange2:#ff7a3d;
  --white:#ffffff;
  --offwhite:#f8f7f4;
  --light:#eef0f5;
  --muted:#6b7280;
  --dark:#111827;
  --border:#e5e7eb;
  --font-head:'Clash Display',sans-serif;
  --font-body:'Bricolage Grotesque',sans-serif;
  --shadow:0 4px 24px rgba(15,34,68,.08);
  --shadow-lg:0 20px 60px rgba(15,34,68,.15);
}
html{scroll-behavior:smooth;font-size:16px}
body{background:var(--white);color:var(--dark);font-family:var(--font-body);line-height:1.7;overflow-x:hidden}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,255,255,.92);backdrop-filter:blur(20px);border-bottom:1px solid transparent;transition:all .4s ease;padding:0 5%}
.nav.scrolled{border-color:var(--border);box-shadow:var(--shadow)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:80px}
.nav-logo img{height:48px;width:auto;object-fit:contain}
.nav-links{display:flex;list-style:none;gap:2rem;align-items:center}
.nav-links a{color:var(--muted);font-size:.9rem;font-weight:500;text-decoration:none;letter-spacing:.01em;transition:color .2s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--orange);transition:width .25s}
.nav-links a:hover,.nav-links a.active{color:var(--navy)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-cta{background:var(--orange);color:#fff !important;padding:.6rem 1.4rem;border-radius:50px;transition:all .25s !important}
.nav-cta::after{display:none !important}
.nav-cta:hover{background:#c94e12;transform:translateY(-1px);box-shadow:0 8px 24px rgba(232,93,26,.35)}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}
.hamburger span{display:block;width:22px;height:2px;background:var(--dark);transition:all .3s;border-radius:2px}
.mobile-menu{display:none;position:fixed;top:80px;left:0;right:0;background:#fff;border-bottom:1px solid var(--border);padding:1.5rem 5%;z-index:999;flex-direction:column;gap:1rem;box-shadow:var(--shadow-lg)}
.mobile-menu.open{display:flex}
.mobile-menu a{color:var(--dark);text-decoration:none;font-size:1rem;font-weight:500;padding:.5rem 0;border-bottom:1px solid var(--border)}

/* FOOTER */
footer{background:var(--navy);color:#fff;padding:5rem 5% 2rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-brand p{font-size:.88rem;color:rgba(255,255,255,.55);line-height:1.9;margin-top:1rem;max-width:280px}
.footer-brand img{height:44px;width:auto;filter:brightness(10)}
.footer-col h5{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:1.2rem}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.65rem}
.footer-col ul a{color:rgba(255,255,255,.7);text-decoration:none;font-size:.88rem;transition:color .2s}
.footer-col ul a:hover{color:var(--orange)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-bottom p{font-size:.82rem;color:rgba(255,255,255,.4)}
.footer-socials{display:flex;gap:.6rem}
.social-btn{width:34px;height:34px;border-radius:8px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);text-decoration:none;font-size:.8rem;font-weight:700;transition:all .2s}
.social-btn:hover{background:var(--orange);color:#fff}

/* BUTTONS */
.btn-primary{display:inline-flex;align-items:center;gap:.5rem;background:var(--orange);color:#fff;padding:.85rem 2rem;border-radius:50px;text-decoration:none;font-weight:600;font-size:.95rem;transition:all .3s;border:2px solid var(--orange)}
.btn-primary:hover{background:#c94e12;border-color:#c94e12;transform:translateY(-2px);box-shadow:0 12px 36px rgba(232,93,26,.3)}
.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:var(--navy);padding:.85rem 2rem;border-radius:50px;text-decoration:none;font-weight:600;font-size:.95rem;transition:all .3s;border:2px solid var(--navy)}
.btn-secondary:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}
.btn-white{display:inline-flex;align-items:center;gap:.5rem;background:#fff;color:var(--navy);padding:.85rem 2rem;border-radius:50px;text-decoration:none;font-weight:600;font-size:.95rem;transition:all .3s;border:2px solid #fff}
.btn-white:hover{background:transparent;color:#fff;transform:translateY(-2px)}

/* SECTION UTILS */
.section-tag{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--orange);margin-bottom:.8rem}
.section-tag::before{content:'';width:24px;height:2px;background:var(--orange)}
.section-title{font-family:var(--font-head);font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.1;letter-spacing:-0.02em;color:var(--navy)}
.section-title span{color:var(--orange)}
.section-sub{font-size:1.05rem;color:var(--muted);max-width:560px;font-weight:400;line-height:1.8;margin-top:.8rem}

/* REVEAL ANIMATIONS */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-left{opacity:0;transform:translateX(-32px);transition:opacity .7s ease,transform .7s ease}
.reveal-left.visible{opacity:1;transform:translateX(0)}
.reveal-right{opacity:0;transform:translateX(32px);transition:opacity .7s ease,transform .7s ease}
.reveal-right.visible{opacity:1;transform:translateX(0)}

/* WHATSAPP */
.wa-float{position:fixed;bottom:2rem;right:2rem;z-index:500;background:#25d366;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 8px 32px rgba(37,211,102,.4);transition:all .3s;font-size:1.4rem}
.wa-float:hover{transform:scale(1.1) translateY(-2px);box-shadow:0 16px 40px rgba(37,211,102,.5)}

/* RESPONSIVE */
@media(max-width:900px){
  .nav-links{display:none}
  .hamburger{display:flex}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
}
@media(max-width:600px){
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;text-align:center}
}

/* =============================================
   SCROLL ANIMATION SYSTEM
   ============================================= */

[data-anim] {
  opacity: 0;
  will-change: transform, opacity;
}
[data-anim="fade-up"]        { transform: translateY(48px); }
[data-anim="fade-down"]      { transform: translateY(-48px); }
[data-anim="fade-left"]      { transform: translateX(-56px); }
[data-anim="fade-right"]     { transform: translateX(56px); }
[data-anim="zoom-in"]        { transform: scale(0.82); }
[data-anim="zoom-up"]        { transform: scale(0.88) translateY(32px); }
[data-anim="flip-up"]        { transform: perspective(600px) rotateX(22deg) translateY(32px); }
[data-anim="slide-rotate"]   { transform: translateX(-60px) rotate(-4deg); }
[data-anim="pop"]            { transform: scale(0.6); }

[data-anim].in-view {
  opacity: 1;
  transform: none;
  transition: opacity 0.75s cubic-bezier(.22,1,.36,1),
              transform 0.75s cubic-bezier(.22,1,.36,1);
}

[data-delay="100"].in-view { transition-delay: 0.1s; }
[data-delay="150"].in-view { transition-delay: 0.15s; }
[data-delay="200"].in-view { transition-delay: 0.2s; }
[data-delay="250"].in-view { transition-delay: 0.25s; }
[data-delay="300"].in-view { transition-delay: 0.3s; }
[data-delay="350"].in-view { transition-delay: 0.35s; }
[data-delay="400"].in-view { transition-delay: 0.4s; }
[data-delay="500"].in-view { transition-delay: 0.5s; }
[data-delay="600"].in-view { transition-delay: 0.6s; }
[data-delay="700"].in-view { transition-delay: 0.7s; }

/* MARQUEE PAUSE ON HOVER */
.mq:hover .mqt { animation-play-state: paused; }

/* CARD TILT */
.tilt-card { transition: transform 0.2s ease, box-shadow 0.2s ease; transform-style: preserve-3d; }

/* HERO BADGE PULSE */
.hero-badge span, .stag-hero {
  animation: badgePop 0.6s cubic-bezier(.34,1.56,.64,1) 0.8s both;
}
@keyframes badgePop {
  from { transform: scale(0.5); opacity: 0; }
  to   { transform: scale(1);   opacity: 1; }
}

/* SCROLL INDICATOR */
.scroll-hint {
  position: absolute;
  bottom: 1.5rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  opacity: 0.5;
}
.scroll-hint span {
  font-size: .65rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: #fff;
}
.scroll-mouse {
  width: 22px;
  height: 36px;
  border: 1.5px solid rgba(255,255,255,.45);
  border-radius: 12px;
  display: flex;
  justify-content: center;
  padding-top: 5px;
}
.scroll-wheel {
  width: 3px;
  height: 7px;
  background: #fff;
  border-radius: 2px;
  animation: scrollWheel 1.8s ease-in-out infinite;
}
@keyframes scrollWheel {
  0%   { opacity: 1; transform: translateY(0); }
  100% { opacity: 0; transform: translateY(12px); }
}

/* SECTION TITLE UNDERLINE DRAW */
.draw-line {
  position: relative;
  display: inline-block;
}
.draw-line::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  height: 3px;
  width: 0;
  background: linear-gradient(90deg, var(--orange), #ff9f6b);
  border-radius: 2px;
  transition: width 0.8s cubic-bezier(.22,1,.36,1) 0.4s;
}
.draw-line.in-view::after { width: 100%; }

/* COUNTER ODOMETER FEEL */
.stat-item .nn {
  display: inline-block;
  transition: transform 0.3s ease;
}
.stat-item:hover .nn { transform: scale(1.08); }

/* FLOATING SHAPES in hero */
.hero-float {
  position: absolute;
  border-radius: 50%;
  opacity: 0.06;
  pointer-events: none;
  animation: heroFloat linear infinite;
}
@keyframes heroFloat {
  0%   { transform: translateY(0) rotate(0deg); }
  50%  { transform: translateY(-30px) rotate(180deg); }
  100% { transform: translateY(0) rotate(360deg); }
}

/* STAGGER grid children automatically */
.stagger-grid > * { opacity: 0; transform: translateY(36px); transition: opacity 0.65s cubic-bezier(.22,1,.36,1), transform 0.65s cubic-bezier(.22,1,.36,1); }
.stagger-grid.in-view > *:nth-child(1) { opacity:1; transform:none; transition-delay: 0s; }
.stagger-grid.in-view > *:nth-child(2) { opacity:1; transform:none; transition-delay: 0.1s; }
.stagger-grid.in-view > *:nth-child(3) { opacity:1; transform:none; transition-delay: 0.18s; }
.stagger-grid.in-view > *:nth-child(4) { opacity:1; transform:none; transition-delay: 0.26s; }
.stagger-grid.in-view > *:nth-child(5) { opacity:1; transform:none; transition-delay: 0.34s; }
.stagger-grid.in-view > *:nth-child(6) { opacity:1; transform:none; transition-delay: 0.42s; }
.stagger-grid.in-view > *:nth-child(7) { opacity:1; transform:none; transition-delay: 0.50s; }
.stagger-grid.in-view > *:nth-child(8) { opacity:1; transform:none; transition-delay: 0.58s; }
.stagger-grid.in-view > *:nth-child(9) { opacity:1; transform:none; transition-delay: 0.66s; }

/* WHY floating card pop */
.why-floating {
  animation: floatBob 4s ease-in-out infinite;
}
@keyframes floatBob {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-8px); }
}

/* PROCESS STEP connector pulse */
.p-step-num {
  position: relative;
}
.p-step-num::before {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 1.5px solid transparent;
  transition: border-color 0.3s, transform 0.3s;
}
.p-step:hover .p-step-num::before {
  border-color: var(--orange, #e85d1a);
  transform: scale(1.2);
}

/* SVC CARD icon bounce on hover */
.svc-card:hover .svc-icon,
.svc-card:hover .svc-ico {
  animation: iconBounce 0.4s cubic-bezier(.36,.07,.19,.97);
}
@keyframes iconBounce {
  0%  { transform: scale(1); }
  30% { transform: scale(1.25) rotate(-5deg); }
  60% { transform: scale(0.95) rotate(3deg); }
  100%{ transform: scale(1.05) rotate(0deg); }
}

/* BUTTON ripple */
.btn-primary, .btn-p, .btn-secondary, .submit-btn, .subbtn {
  position: relative;
  overflow: hidden;
}
.btn-primary::after, .btn-p::after, .btn-secondary::after, .submit-btn::after, .subbtn::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.15);
  transform: translateX(-101%);
  transition: transform 0.35s ease;
  border-radius: inherit;
  pointer-events: none;
}
.btn-primary:hover::after, .btn-p:hover::after,
.btn-secondary:hover::after, .submit-btn:hover::after,
.subbtn:hover::after { transform: translateX(0); }

/* MARQUEE dual direction */
.mqt.rev { animation-direction: reverse; }

/* PAGE CURSOR GLOW (desktop only) */
@media (hover: hover) {
  .cursor-glow {
    position: fixed;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    pointer-events: none;
    z-index: 9998;
    background: radial-gradient(circle, rgba(232,93,26,.07) 0%, transparent 70%);
    transform: translate(-50%, -50%);
    transition: left 0.12s ease, top 0.12s ease;
  }
}


/* ============================================
   PAGE HERO (about, services, contact, blog)
   ============================================ */
.page-hero{background:linear-gradient(135deg,var(--navy) 0%,#1a3a6b 100%);padding:160px 5% 80px;color:#fff;text-align:center;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(232,93,26,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(232,93,26,.06) 1px,transparent 1px);background-size:60px 60px}
.page-hero h1{font-family:var(--font-head);font-size:clamp(2.5rem,5vw,4rem);font-weight:700;letter-spacing:-0.02em;position:relative}
.page-hero h1 span{color:var(--orange)}
.page-hero p{font-size:1.1rem;color:rgba(255,255,255,.65);max-width:560px;margin:1rem auto 0;position:relative}

/* ============================================
   HOME PAGE (index.html)
   ============================================ */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:var(--navy);padding-top:80px;padding-bottom:60px}
.hero-bg{position:absolute;inset:0;overflow:hidden}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(232,93,26,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(232,93,26,.06) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 40%,transparent 100%)}
.hero-orb1{position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(232,93,26,.18) 0%,transparent 70%);top:-200px;right:-200px;animation:orbFloat 8s ease-in-out infinite}
.hero-orb2{position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(26,58,107,.4) 0%,transparent 70%);bottom:-100px;left:-100px;animation:orbFloat 10s ease-in-out infinite reverse}
@keyframes orbFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-30px) scale(1.05)}}
.hero-content{position:relative;z-index:2;padding:0 5%;max-width:1300px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(232,93,26,.15);border:1px solid rgba(232,93,26,.3);color:#ff7a3d;padding:.4rem 1rem;border-radius:50px;font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.5rem;margin-top:2rem}
.hero-badge span{width:6px;height:6px;border-radius:50%;background:#ff7a3d;animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}
.hero-h1{font-family:var(--font-head);font-size:clamp(3rem,6vw,5.5rem);font-weight:700;line-height:1.0;letter-spacing:-0.03em;color:#fff;margin-bottom:1.5rem}
.hero-h1 .line-orange{color:var(--orange)}
.hero-p{font-size:1.1rem;color:rgba(255,255,255,.65);max-width:460px;line-height:1.8;margin-bottom:2.5rem}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap}
.hero-stats{display:flex;gap:2rem;margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);padding-bottom:3rem}
.hero-stat .num{font-family:var(--font-head);font-size:2rem;font-weight:700;color:#fff;line-height:1}
.hero-stat .num span{color:var(--orange)}
.hero-stat .label{font-size:.78rem;color:rgba(255,255,255,.45);margin-top:.3rem;letter-spacing:.05em;text-transform:uppercase}
.slider-stack{position:relative;height:480px;perspective:1000px}
.slide-card{position:absolute;inset:0;border-radius:24px;overflow:hidden;transition:all .65s cubic-bezier(.4,0,.2,1)}
.slide-card.active{transform:translateX(0) scale(1);opacity:1;z-index:3;box-shadow:0 32px 80px rgba(0,0,0,.5)}
.slide-card.prev{transform:translateX(0) scale(.93) translateY(-28px);opacity:.65;z-index:2;filter:blur(1px)}
.slide-card.prev2{transform:translateX(0) scale(.86) translateY(-52px);opacity:.35;z-index:1;filter:blur(2px)}
.slide-card.hidden{transform:translateX(0) scale(.8) translateY(60px);opacity:0;z-index:0}
.slide-photo{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .65s cubic-bezier(.4,0,.2,1)}
.slide-card.active .slide-photo{transform:scale(1.04)}
.slide-overlay{position:absolute;inset:0;background:linear-gradient(160deg,rgba(15,34,68,.55) 0%,rgba(15,34,68,.85) 100%);z-index:1}
.slide-inner{height:100%;padding:2rem 2rem 2.2rem;display:flex;flex-direction:column;justify-content:flex-end;position:relative;z-index:2}
.slide-ic{position:relative}
.slide-tag-sm{display:inline-block;background:var(--orange);color:#fff;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .75rem;border-radius:50px;margin-bottom:.75rem}
.slide-card h3{font-family:var(--font-head);font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:.5rem;position:relative;z-index:1}
.slide-card p{font-size:.88rem;color:rgba(255,255,255,.7);line-height:1.6;position:relative;z-index:1}
.s-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);cursor:pointer;transition:all .3s;display:inline-block}
.s-dot.active{background:var(--orange);width:24px;border-radius:4px}




.marquee-section{background:var(--orange);padding:.85rem 0;overflow:hidden}
.marquee-track{display:flex;gap:3rem;white-space:nowrap;animation:marquee 25s linear infinite}
.marquee-track span{font-family:var(--font-head);font-size:.82rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#fff;opacity:.9}
.marquee-track span.sep{color:rgba(255,255,255,.4)}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.services-preview{padding:7rem 5%;background:var(--offwhite)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:4rem}
.svc-card{background:#fff;border-radius:20px;padding:2rem;border:1px solid var(--border);transition:all .4s;cursor:pointer;position:relative;overflow:hidden}
.svc-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--orange),var(--navy));transform:scaleX(0);transform-origin:left;transition:transform .4s}
.svc-card:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(15,34,68,.15);border-color:transparent}
.svc-card:hover::before{transform:scaleX(1)}
.svc-icon{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,rgba(232,93,26,.1),rgba(26,58,107,.05));display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:1.2rem;transition:all .4s}
.svc-card:hover .svc-icon{background:var(--orange);transform:scale(1.05)}
.svc-card h3{font-family:var(--font-head);font-size:1.1rem;font-weight:600;color:var(--navy);margin-bottom:.6rem}
.svc-card p{font-size:.88rem;color:var(--muted);line-height:1.7}
.svc-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;color:var(--orange);margin-top:1rem;opacity:0;transition:all .3s}
.svc-card:hover .svc-link{opacity:1}
.why-section{padding:7rem 5%;background:#fff}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;margin-top:4rem}
.why-main-box{background:var(--navy);border-radius:24px;padding:3rem;color:#fff;position:relative;overflow:hidden}
.why-main-box::before{content:'';position:absolute;top:-50px;right:-50px;width:200px;height:200px;border-radius:50%;background:rgba(232,93,26,.15)}
.why-main-box h2{font-family:var(--font-head);font-size:2.5rem;font-weight:700;line-height:1.1}
.why-main-box h2 span{color:var(--orange)}
.why-floating{position:absolute;bottom:-20px;right:-20px;background:#fff;border-radius:16px;padding:1.2rem 1.5rem;box-shadow:0 20px 60px rgba(15,34,68,.15);display:flex;align-items:center;gap:1rem}
.why-floating .icon{width:44px;height:44px;background:linear-gradient(135deg,var(--orange),#ff7a3d);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.2rem}
.why-floating .info .num{font-family:var(--font-head);font-size:1.5rem;font-weight:700;color:var(--navy);line-height:1}
.why-floating .info .label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.why-items{display:flex;flex-direction:column;gap:1.5rem}
.why-item{display:flex;gap:1rem;align-items:flex-start;padding:1.2rem;border-radius:16px;transition:all .3s}
.why-item:hover{background:var(--offwhite)}
.why-item-icon{width:44px;height:44px;min-width:44px;border-radius:12px;background:linear-gradient(135deg,rgba(232,93,26,.12),rgba(26,58,107,.06));display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.why-item h4{font-family:var(--font-head);font-size:1rem;font-weight:600;color:var(--navy);margin-bottom:.3rem}
.why-item p{font-size:.88rem;color:var(--muted);line-height:1.6}
.process-section{padding:7rem 5%;background:var(--navy)}
.process-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:4rem;position:relative}
.process-steps::before{content:'';position:absolute;top:28px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(232,93,26,.4),rgba(232,93,26,.4),rgba(232,93,26,.4),transparent)}
.p-step{text-align:center;padding:0 .5rem}
.p-step-num{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid rgba(232,93,26,.3);display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-size:1.1rem;font-weight:700;color:var(--orange);margin:0 auto 1.2rem;transition:all .4s;position:relative;z-index:1}
.p-step:hover .p-step-num{background:var(--orange);color:#fff;border-color:var(--orange)}
.p-step h4{font-family:var(--font-head);font-size:.95rem;font-weight:600;margin-bottom:.4rem;color:#fff}
.p-step p{font-size:.8rem;color:rgba(255,255,255,.5);line-height:1.6}
.stats-bar{background:var(--orange);padding:4rem 5%}
.stats-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}
.stat-block .num{font-family:var(--font-head);font-size:3rem;font-weight:700;color:#fff;line-height:1}
.stat-block .label{font-size:.78rem;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.1em;margin-top:.4rem}
.cta-home{padding:7rem 5%;background:var(--offwhite);text-align:center}
@media(max-width:900px){
  .hero-content{grid-template-columns:1fr;gap:2.5rem;padding-top:2rem}
  .hero-right{display:block}
  .slider-stack{height:320px !important}
  .slide-card.prev{transform:translateX(0) scale(.93) translateY(-20px) !important;opacity:.55 !important}
  .slide-card.prev2{transform:translateX(0) scale(.87) translateY(-38px) !important;opacity:.28 !important}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .why-grid{grid-template-columns:1fr;gap:3rem}
  .process-steps{grid-template-columns:repeat(2,1fr);gap:2rem}
  .process-steps::before{display:none}
  .stats-inner{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .services-grid{grid-template-columns:1fr}
  .hero-stats{flex-wrap:wrap;gap:1rem}
}

/* ============================================
   ABOUT PAGE
   ============================================ */
.about-story{padding:7rem 5%;background:#fff}
.about-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.about-img-wrap{position:relative}
.about-img-box{background:linear-gradient(135deg,var(--navy),#1a3a6b);border-radius:24px;height:460px;display:flex;align-items:center;justify-content:center;font-size:8rem;overflow:hidden;position:relative}
.about-img-box::after{content:'Creating Online Business';position:absolute;bottom:2rem;left:2rem;right:2rem;color:rgba(255,255,255,.6);font-size:.9rem;font-style:italic;border-top:1px solid rgba(255,255,255,.15);padding-top:1rem}
.about-badge{position:absolute;top:-16px;right:-16px;background:var(--orange);border-radius:16px;padding:1rem 1.2rem;color:#fff;text-align:center;box-shadow:0 12px 32px rgba(232,93,26,.35)}
.about-badge .n{font-family:var(--font-head);font-size:2rem;font-weight:700;line-height:1}
.about-badge .l{font-size:.7rem;opacity:.8;text-transform:uppercase;letter-spacing:.08em}
.about-text h2{font-family:var(--font-head);font-size:2.2rem;font-weight:700;color:var(--navy);margin-bottom:1rem;line-height:1.15}
.about-text h2 span{color:var(--orange)}
.about-text p{color:var(--muted);line-height:1.85;margin-bottom:1.2rem}
.about-pills{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0}
.pill{background:rgba(232,93,26,.08);border:1px solid rgba(232,93,26,.2);color:var(--orange);padding:.4rem 1rem;border-radius:50px;font-size:.82rem;font-weight:500}
.mission-section{padding:5rem 5%;background:var(--offwhite)}
.mission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}
.mission-card{background:#fff;border-radius:20px;padding:2rem;border:1px solid var(--border)}
.mission-card .icon{font-size:2.5rem;margin-bottom:1rem}
.mission-card h3{font-family:var(--font-head);font-size:1.15rem;font-weight:700;color:var(--navy);margin-bottom:.6rem}
.mission-card p{font-size:.9rem;color:var(--muted);line-height:1.7}
.team-section{padding:5rem 5%;background:#fff;text-align:center}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem}
.val-card{padding:2rem 1.5rem;border-radius:16px;background:var(--offwhite);text-align:center;border:1px solid var(--border);transition:all .3s}
.val-card:hover{background:var(--navy);border-color:var(--navy)}
.val-card:hover h4,.val-card:hover p{color:#fff}
.val-card:hover .v-icon{background:rgba(255,255,255,.1)}
.v-icon{width:56px;height:56px;border-radius:16px;background:rgba(232,93,26,.1);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin:0 auto 1rem;transition:all .3s}
.val-card h4{font-family:var(--font-head);font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:.4rem;transition:all .3s}
.val-card p{font-size:.85rem;color:var(--muted);line-height:1.6;transition:all .3s}
.about-cta{padding:5rem 5%;background:var(--navy);text-align:center;color:#fff}
@media(max-width:900px){
  .about-story-grid{grid-template-columns:1fr;gap:3rem}
  .mission-grid{grid-template-columns:1fr 1fr}
  .values-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .mission-grid{grid-template-columns:1fr}
  .values-grid{grid-template-columns:1fr 1fr}
}

/* ============================================
   SERVICES PAGE
   ============================================ */
.services-full{padding:5rem 5%;background:#fff}
.svc-full-grid{display:flex;flex-direction:column;gap:5rem}
.svc-full-item{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.svc-full-item:nth-child(even){direction:rtl}
.svc-full-item:nth-child(even) > *{direction:ltr}
.svc-full-visual{background:linear-gradient(135deg,var(--offwhite),var(--light));border-radius:24px;height:360px;display:flex;align-items:center;justify-content:center;font-size:7rem;position:relative;overflow:hidden}
.svc-full-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(232,93,26,.05),rgba(26,58,107,.05))}
.svc-full-content h2{font-family:var(--font-head);font-size:2rem;font-weight:700;color:var(--navy);margin-bottom:1rem}
.svc-full-content h2 span{color:var(--orange)}
.svc-full-content p{color:var(--muted);line-height:1.8;margin-bottom:1.5rem}
.svc-bullets{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin-bottom:2rem}
.svc-bullets li{display:flex;align-items:center;gap:.7rem;font-size:.9rem;color:var(--dark)}
.svc-bullets li::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--orange);flex-shrink:0}
.pricing-section{padding:5rem 5%;background:var(--offwhite);text-align:center}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem;max-width:1000px;margin-left:auto;margin-right:auto}
.price-card{background:#fff;border-radius:20px;padding:2rem;border:2px solid var(--border);transition:all .4s;position:relative}
.price-card.featured{border-color:var(--orange);transform:scale(1.03)}
.price-card.featured::before{content:'Most Popular';position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--orange);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.3rem 1rem;border-radius:50px}
.price-card:hover{box-shadow:0 20px 60px rgba(15,34,68,.12)}
.price-card h3{font-family:var(--font-head);font-size:1.2rem;font-weight:700;color:var(--navy);margin-bottom:.5rem}
.price-card .price{font-family:var(--font-head);font-size:2.5rem;font-weight:700;color:var(--orange);margin:.8rem 0}
.price-card .price span{font-size:1rem;color:var(--muted);font-weight:400}
.price-card ul{list-style:none;margin:1rem 0 1.5rem;text-align:left}
.price-card ul li{font-size:.88rem;color:var(--muted);padding:.4rem 0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.5rem}
.price-card ul li::before{content:'✓';color:var(--orange);font-weight:700}
@media(max-width:900px){
  .svc-full-item{grid-template-columns:1fr;gap:2rem}
  .svc-full-item:nth-child(even){direction:ltr}
  .pricing-grid{grid-template-columns:1fr}
  .price-card.featured{transform:none}
}

/* ============================================
   PORTFOLIO PAGE
   ============================================ */
.portfolio-section{padding:5rem 5% 6rem;background:var(--offwhite)}

/* Filter pills */
.port-filter{
  display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:3.5rem;
  justify-content:center;
}
.filt-btn{
  background:#fff;border:1.5px solid var(--border);
  color:var(--muted);padding:.5rem 1.4rem;border-radius:50px;
  font-size:.82rem;cursor:pointer;transition:all .25s;
  font-family:var(--font-body);font-weight:600;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.filt-btn:hover{border-color:var(--orange);color:var(--orange);transform:translateY(-1px);}
.filt-btn.active{
  background:var(--orange);border-color:var(--orange);color:#fff;
  box-shadow:0 8px 24px rgba(232,93,26,.3);transform:translateY(-1px);
}

/* Grid */
.port-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}

/* Card */
.port-card{
  border-radius:24px;overflow:hidden;
  border:1px solid rgba(255,255,255,.8);
  background:#fff;
  transition:all .4s cubic-bezier(.22,1,.36,1);
  position:relative;
  box-shadow:0 2px 12px rgba(15,34,68,.06);
}
.port-card:hover{
  transform:translateY(-8px) scale(1.01);
  box-shadow:0 32px 80px rgba(15,34,68,.16);
  border-color:transparent;
}
/* Shine sweep on hover */
.port-card::before{
  content:'';position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.18) 50%,transparent 60%);
  transform:translateX(-100%);transition:transform .6s ease;
}
.port-card:hover::before{transform:translateX(100%);}

.port-thumb{
  height:230px;display:flex;align-items:center;
  justify-content:center;font-size:5rem;
  position:relative;overflow:hidden;
}
.port-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.port-card:hover .port-thumb img{transform:scale(1.06);}
.port-thumb::after{
  content:'';position:absolute;inset:0;opacity:0;
  background:linear-gradient(180deg,rgba(15,34,68,.4) 0%,rgba(15,34,68,.85) 100%);
  transition:opacity .4s;
}
.port-card:hover .port-thumb::after{opacity:1}
.port-view{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%) scale(.7);
  background:#fff;color:var(--navy);
  font-size:.8rem;font-weight:700;padding:.55rem 1.2rem;
  border-radius:50px;white-space:nowrap;opacity:0;
  transition:all .4s cubic-bezier(.34,1.56,.64,1);z-index:3;
  box-shadow:0 8px 24px rgba(0,0,0,.2);
}
.port-card:hover .port-view{opacity:1;transform:translate(-50%,-50%) scale(1)}

.port-info{padding:1.4rem 1.6rem 1.5rem}
.port-tag{
  display:inline-block;font-size:.68rem;font-weight:700;
  color:var(--orange);letter-spacing:.12em;text-transform:uppercase;
  margin-bottom:.5rem;background:rgba(232,93,26,.08);
  padding:.2rem .7rem;border-radius:50px;
}
.port-info h3{
  font-family:var(--font-head);font-size:1.08rem;font-weight:700;
  color:var(--navy);margin-bottom:.4rem;line-height:1.3;
}
.port-info p{font-size:.84rem;color:var(--muted);line-height:1.65}

/* Thumb fallback gradients — richer */
.bg-web    {background:linear-gradient(135deg,#dbeafe,#bfdbfe,#a5c8fd)}
.bg-ecomm  {background:linear-gradient(135deg,#fde8dd,#fdc7aa,#f9a87c)}
.bg-portal {background:linear-gradient(135deg,#d1fae5,#a7f3d0,#6ee7b7)}
.bg-seo    {background:linear-gradient(135deg,#fef9c3,#fde68a,#fcd34d)}
.bg-other  {background:linear-gradient(135deg,#ede9fe,#ddd6fe,#c4b5fd)}

/* Skeleton */
.skel-card{border-radius:24px;overflow:hidden;border:1px solid var(--border);background:#fff}
.skel-thumb{height:230px;background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8 50%,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}
.skel-body{padding:1.4rem 1.6rem}
.skel-line{height:11px;border-radius:6px;background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8 50%,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;margin-bottom:.9rem}
.skel-line.short{width:38%}.skel-line.med{width:65%}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Empty */
.port-empty{grid-column:1/-1;text-align:center;padding:5rem 2rem;color:var(--muted)}
.port-empty .ico{font-size:3.5rem;margin-bottom:1rem;opacity:.3}

/* CTA */
.port-cta{
  padding:6rem 5%;
  background:linear-gradient(135deg,var(--navy) 0%,#1a3a6b 100%);
  text-align:center;position:relative;overflow:hidden;
}
.port-cta::before{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:28px 28px;
}
.port-cta .section-title{color:#fff;position:relative;z-index:1}
.port-cta .section-sub{color:rgba(255,255,255,.55);position:relative;z-index:1}
.port-cta .btn-primary{position:relative;z-index:1;background:var(--orange);margin-top:2rem;}

@media(max-width:900px){.port-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.port-grid{grid-template-columns:1fr}}

/* ============================================
   CONTACT PAGE
   ============================================ */
.contact-section{padding:5rem 5%;background:#fff}
.contact-main{display:grid;grid-template-columns:1fr 1.4fr;gap:5rem;align-items:start}
.contact-left{}
.contact-left h2{font-family:var(--font-head);font-size:2rem;font-weight:700;color:var(--navy);margin-bottom:1rem;line-height:1.15}
.contact-left h2 span{color:var(--orange)}
.contact-left p{color:var(--muted);line-height:1.8;margin-bottom:2rem}
.info-cards{display:flex;flex-direction:column;gap:1rem}
.info-card{display:flex;gap:1rem;align-items:flex-start;padding:1.2rem;border-radius:16px;border:1px solid var(--border);transition:all .3s}
.info-card:hover{border-color:var(--orange);background:rgba(232,93,26,.02)}
.info-icon{width:46px;height:46px;min-width:46px;border-radius:12px;background:linear-gradient(135deg,rgba(232,93,26,.12),rgba(26,58,107,.06));display:flex;align-items:center;justify-content:center;font-size:1.2rem}
.info-card h5{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.2rem;font-weight:500}
.info-card p{font-size:.95rem;color:var(--dark);font-weight:500}
.info-card a{color:var(--orange);text-decoration:none;font-weight:600}
.contact-form-wrap{background:var(--offwhite);border-radius:24px;padding:2.5rem;border:1px solid var(--border)}
.form-title{font-family:var(--font-head);font-size:1.4rem;font-weight:700;color:var(--navy);margin-bottom:1.5rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}
.form-group label{font-size:.8rem;font-weight:600;color:var(--dark);letter-spacing:.04em}
.form-group input,.form-group select,.form-group textarea{background:#fff;border:1.5px solid var(--border);color:var(--dark);padding:.85rem 1rem;border-radius:12px;font-size:.92rem;font-family:var(--font-body);outline:none;transition:all .25s;resize:none;width:100%}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(232,93,26,.08)}
.form-group input::placeholder,.form-group textarea::placeholder{color:#bbb}
.submit-btn{width:100%;background:var(--orange);color:#fff;border:none;padding:1rem 2rem;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;font-family:var(--font-body);transition:all .3s;display:flex;align-items:center;justify-content:center;gap:.5rem;letter-spacing:.02em}
.submit-btn:hover{background:#c94e12;transform:translateY(-2px);box-shadow:0 12px 32px rgba(232,93,26,.3)}
.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.form-success{display:none;text-align:center;padding:2rem;background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.25);border-radius:16px;margin-top:1rem}
.form-success h3{color:#15803d;font-family:var(--font-head);font-size:1.3rem;margin-bottom:.5rem}
.form-success p{color:#16a34a;font-size:.9rem}
.map-section{padding:0 5% 5rem}
.map-wrap{border-radius:20px;overflow:hidden;height:380px;border:1px solid var(--border)}
.map-wrap iframe{width:100%;height:100%;border:none}
@media(max-width:900px){
  .contact-main{grid-template-columns:1fr;gap:3rem}
  .form-grid{grid-template-columns:1fr}
}

/* ============================================
   BLOG PAGE
   ============================================ */
.blog-section{padding:5rem 5%;background:#fff;min-height:60vh}
.blog-inner{max-width:1200px;margin:0 auto}

/* Filter */
.blog-filter{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:3rem;justify-content:center}
.filt-btn{background:transparent;border:1.5px solid var(--border);color:var(--muted);padding:.5rem 1.3rem;border-radius:50px;font-size:.85rem;cursor:pointer;transition:all .25s;font-family:var(--font-body);font-weight:500}
.filt-btn.active,.filt-btn:hover{background:var(--orange);border-color:var(--orange);color:#fff}

/* Featured post */
.blog-featured{display:grid;grid-template-columns:1.1fr 1fr;gap:2.5rem;margin-bottom:3.5rem;background:var(--offwhite);border-radius:24px;overflow:hidden;border:1px solid var(--border)}
.feat-img{position:relative;min-height:340px;background:linear-gradient(135deg,#e8f0fe,#c7d7fc);display:flex;align-items:center;justify-content:center;font-size:5rem}
.feat-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.feat-body{padding:2.5rem 2.5rem 2.5rem 0;display:flex;flex-direction:column;justify-content:center}
.feat-label{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin-bottom:.8rem}
.feat-title{font-family:var(--font-head);font-size:clamp(1.5rem,2.5vw,2.1rem);font-weight:700;color:var(--navy);line-height:1.2;margin-bottom:.8rem}
.feat-excerpt{font-size:.95rem;color:var(--muted);line-height:1.7;margin-bottom:1.5rem}
.feat-meta{display:flex;align-items:center;gap:1rem;font-size:.8rem;color:var(--muted)}
.feat-meta .author{font-weight:600;color:var(--dark)}
.read-more{display:inline-flex;align-items:center;gap:.4rem;color:var(--orange);font-weight:600;font-size:.88rem;text-decoration:none;transition:gap .2s}
.read-more:hover{gap:.8rem}

/* Grid */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem}
.blog-card{border-radius:20px;overflow:hidden;border:1px solid var(--border);background:#fff;transition:all .4s;display:flex;flex-direction:column}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(15,34,68,.12);border-color:transparent}
.bc-thumb{height:200px;display:flex;align-items:center;justify-content:center;font-size:4rem;position:relative;overflow:hidden;background:linear-gradient(135deg,#e8f0fe,#c7d7fc)}
.bc-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bc-body{padding:1.3rem 1.5rem;flex:1;display:flex;flex-direction:column}
.bc-cat{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin-bottom:.5rem}
.bc-title{font-family:var(--font-head);font-size:1.05rem;font-weight:700;color:var(--navy);margin-bottom:.5rem;line-height:1.3}
.bc-excerpt{font-size:.85rem;color:var(--muted);line-height:1.6;flex:1;margin-bottom:1rem}
.bc-footer{display:flex;align-items:center;justify-content:space-between;font-size:.78rem;color:var(--muted);padding-top:.8rem;border-top:1px solid var(--border)}
.bc-footer .author{font-weight:600;color:var(--dark)}

/* Category thumb backgrounds */
.bg-tech{background:linear-gradient(135deg,#e8f0fe,#c7d7fc)}
.bg-marketing{background:linear-gradient(135deg,#fce8e0,#f9c9b3)}
.bg-tips{background:linear-gradient(135deg,#e0f0e8,#b3d9c2)}
.bg-general{background:linear-gradient(135deg,#f0e0f8,#d9b3f3)}
.bg-default{background:linear-gradient(135deg,#f5f5f5,#e0e0e0)}
.cat-emoji-tech::before{content:'💻'}
.cat-emoji-marketing::before{content:'📈'}
.cat-emoji-tips::before{content:'💡'}
.cat-emoji-general::before{content:'✍️'}

/* Skeleton */
.skel{border-radius:20px;overflow:hidden;border:1px solid var(--border)}
.skel-img{height:200px;background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8 50%,#f0f0f0 75%);background-size:200% 100%;animation:shim 1.5s infinite}
.skel-body{padding:1.3rem 1.5rem}
.skel-line{height:12px;border-radius:6px;background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8 50%,#f0f0f0 75%);background-size:200% 100%;animation:shim 1.5s infinite;margin-bottom:.8rem}
.skel-line.s{width:35%}.skel-line.m{width:65%}
@keyframes shim{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Empty */
.blog-empty{grid-column:1/-1;text-align:center;padding:5rem 2rem;color:var(--muted)}
.blog-empty .ico{font-size:3.5rem;margin-bottom:1rem;opacity:.3}

/* Load more */
.load-more-wrap{text-align:center;margin-top:3rem}

/* ── SINGLE POST VIEW ── */
.post-view{display:none;padding:120px 5% 5rem;max-width:820px;margin:0 auto}
.post-view.active{display:block}
.post-back{display:inline-flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.88rem;text-decoration:none;cursor:pointer;margin-bottom:2rem;transition:color .2s}
.post-back:hover{color:var(--navy)}
.post-cat{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin-bottom:.8rem}
.post-title{font-family:var(--font-head);font-size:clamp(2rem,4vw,3rem);font-weight:700;color:var(--navy);line-height:1.15;letter-spacing:-0.02em;margin-bottom:1rem}
.post-meta{display:flex;align-items:center;gap:1.5rem;font-size:.85rem;color:var(--muted);margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}
.post-meta strong{color:var(--dark)}
.post-cover{width:100%;height:400px;object-fit:cover;border-radius:20px;margin-bottom:2.5rem;border:1px solid var(--border)}
.post-cover-emoji{width:100%;height:280px;display:flex;align-items:center;justify-content:center;font-size:6rem;border-radius:20px;margin-bottom:2.5rem}

/* Quill content rendered */
.post-content{font-size:1.05rem;line-height:1.85;color:var(--dark)}
.post-content h1,.post-content h2,.post-content h3{font-family:var(--font-head);color:var(--navy);margin:2rem 0 .8rem;line-height:1.2}
.post-content h1{font-size:2rem}.post-content h2{font-size:1.5rem}.post-content h3{font-size:1.2rem}
.post-content p{margin-bottom:1.2rem}
.post-content ul,.post-content ol{padding-left:1.5rem;margin-bottom:1.2rem}
.post-content li{margin-bottom:.4rem}
.post-content blockquote{border-left:4px solid var(--orange);padding:.8rem 1.2rem;background:rgba(232,93,26,.05);border-radius:0 8px 8px 0;margin:1.5rem 0;color:var(--muted);font-style:italic}
.post-content pre{background:#f4f4f4;border-radius:10px;padding:1rem;font-size:.88rem;overflow-x:auto;margin-bottom:1.2rem}
.post-content code{background:#f4f4f4;padding:.15em .4em;border-radius:4px;font-size:.88em}
.post-content a{color:var(--orange);text-decoration:underline}
.post-content img{max-width:100%;border-radius:12px;margin:1rem 0}
.post-content strong{color:var(--navy);font-weight:700}

/* Post nav */
.post-share{display:flex;align-items:center;gap:1rem;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border);flex-wrap:wrap}
.post-share span{font-size:.85rem;font-weight:600;color:var(--muted)}
.share-btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--light);color:var(--navy);padding:.5rem 1.1rem;border-radius:50px;font-size:.82rem;font-weight:600;text-decoration:none;transition:all .25s;cursor:pointer;border:none;font-family:var(--font-body)}
.share-btn:hover{background:var(--navy);color:#fff}

/* Related posts */
.related-section{padding:4rem 5%;background:var(--offwhite)}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1200px;margin:1.5rem auto 0}

/* CTA */
.blog-cta{padding:5rem 5%;background:var(--navy);text-align:center;color:#fff}
.blog-cta .section-title{color:#fff}
.blog-cta .section-sub{color:rgba(255,255,255,.6);margin:0 auto 2.5rem}

@media(max-width:1024px){.blog-grid{grid-template-columns:repeat(2,1fr)}.related-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){
  .blog-featured{grid-template-columns:1fr}
  .feat-img{min-height:220px}
  .feat-body{padding:1.5rem}
  .blog-grid{grid-template-columns:1fr}
  .related-grid{grid-template-columns:1fr}
  .post-view{padding:100px 5% 4rem}
  .post-cover{height:220px}
}

/* ============================================
   ADMIN PANEL (dark theme)
   ============================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#0d1117;--surface:#161b22;--surface2:#21262d;--border:#30363d;
  --orange:#e85d1a;--orange2:#ff7a3d;--text:#e6edf3;--muted:#8b949e;
  --green:#3fb950;--red:#f85149;--yellow:#d29922;--blue:#58a6ff;
  --font:'Bricolage Grotesque',sans-serif;--font-head:'Clash Display',sans-serif;
  --radius:10px;--shadow:0 8px 32px rgba(0,0,0,.4);
}
html{font-size:16px;scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--font);min-height:100vh}

/* LOGIN */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(232,93,26,.12),transparent)}
.login-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:3rem;width:100%;max-width:420px;box-shadow:var(--shadow)}
.login-logo{font-family:var(--font-head);font-size:1.4rem;font-weight:700;margin-bottom:.3rem}
.login-logo span{color:var(--orange)}
.login-sub{font-size:.85rem;color:var(--muted);margin-bottom:2.5rem}
.field{margin-bottom:1.2rem}
.field label{display:block;font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem}
.field input{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;color:var(--text);font-family:var(--font);font-size:.95rem;outline:none;transition:border-color .2s}
.field input:focus{border-color:var(--orange)}
.btn-login{width:100%;background:var(--orange);color:#fff;border:none;border-radius:50px;padding:.85rem;font-family:var(--font-head);font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s;margin-top:.5rem}
.btn-login:hover{background:#c94e12;transform:translateY(-1px);box-shadow:0 8px 24px rgba(232,93,26,.35)}
.login-err{background:rgba(248,81,73,.1);border:1px solid rgba(248,81,73,.3);color:var(--red);font-size:.85rem;border-radius:8px;padding:.65rem 1rem;margin-top:.8rem;display:none}

/* ADMIN LAYOUT */
.admin-wrap{display:none;min-height:100vh;flex-direction:column}
.topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:0 2rem;height:64px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}
.topbar-left{display:flex;align-items:center;gap:1rem}
.topbar-logo{font-family:var(--font-head);font-size:1.1rem;font-weight:700}
.topbar-logo span{color:var(--orange)}
.topbar-badge{background:rgba(232,93,26,.15);border:1px solid rgba(232,93,26,.3);color:var(--orange2);font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .6rem;border-radius:50px}
.topbar-right{display:flex;align-items:center;gap:.8rem}
.admin-email{font-size:.82rem;color:var(--muted)}
.btn-logout{background:transparent;border:1px solid var(--border);color:var(--muted);padding:.45rem 1rem;border-radius:50px;font-size:.82rem;cursor:pointer;transition:all .2s}
.btn-logout:hover{border-color:var(--red);color:var(--red)}
.admin-body{padding:2rem;max-width:1300px;margin:0 auto;width:100%}

/* TABS */
.admin-tabs{display:flex;gap:0;margin-bottom:2rem;border-bottom:1px solid var(--border)}
.tab-btn{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--muted);padding:.7rem 1.4rem;font-family:var(--font);font-size:.92rem;font-weight:600;cursor:pointer;transition:all .2s;margin-bottom:-1px}
.tab-btn.active{color:var(--orange);border-bottom-color:var(--orange)}
.tab-btn:hover:not(.active){color:var(--text)}
.tab-panel{display:none}
.tab-panel.active{display:block}

/* STATS */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}
.stats-row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}
.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem 1.5rem}
.stat-card .slabel{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.4rem}
.stat-card .svalue{font-family:var(--font-head);font-size:2rem;font-weight:700;color:var(--text)}

/* SECTION HEAD */
.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}
.section-head h2{font-family:var(--font-head);font-size:1.3rem;color:var(--text)}
.btn-add{display:inline-flex;align-items:center;gap:.4rem;background:var(--orange);color:#fff;border:none;border-radius:50px;padding:.6rem 1.4rem;font-family:var(--font);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .25s}
.btn-add:hover{background:#c94e12;transform:translateY(-1px)}

/* FILTER */
.filter-bar{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}
.fbtn{background:var(--surface2);border:1px solid var(--border);color:var(--muted);padding:.4rem 1rem;border-radius:50px;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .2s}
.fbtn.active,.fbtn:hover{background:var(--orange);border-color:var(--orange);color:#fff}

/* TABLE */
.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;overflow-x:auto}
.table-wrap table{width:100%;border-collapse:collapse;min-width:600px}
.table-wrap thead{background:var(--surface2)}
.table-wrap th{padding:.85rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border)}
.table-wrap td{padding:.9rem 1rem;border-bottom:1px solid rgba(48,54,61,.5);font-size:.88rem;vertical-align:middle}
.table-wrap tr:last-child td{border-bottom:none}
.table-wrap tr:hover td{background:rgba(255,255,255,.02)}
.thumb-cell img,.thumb-cell .tp{width:52px;height:38px;object-fit:cover;border-radius:6px;background:var(--surface2);display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.cbadge{display:inline-block;padding:.2rem .65rem;border-radius:50px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.cb-web{background:rgba(63,185,80,.12);color:var(--green)}
.cb-ecomm{background:rgba(210,153,34,.12);color:var(--yellow)}
.cb-portal{background:rgba(88,166,255,.12);color:var(--blue)}
.cb-seo{background:rgba(232,93,26,.12);color:var(--orange2)}
.cb-other,.cb-general{background:rgba(139,148,158,.12);color:var(--muted)}
.cb-tech{background:rgba(88,166,255,.12);color:var(--blue)}
.cb-marketing{background:rgba(232,93,26,.12);color:var(--orange2)}
.cb-tips{background:rgba(63,185,80,.12);color:var(--green)}
.pub-yes{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .65rem;border-radius:50px;font-size:.72rem;font-weight:600;background:rgba(63,185,80,.12);color:var(--green)}
.pub-no{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .65rem;border-radius:50px;font-size:.72rem;font-weight:600;background:rgba(139,148,158,.1);color:var(--muted)}
.actions{display:flex;gap:.4rem}
.btn-edit,.btn-del{border:none;border-radius:8px;padding:.4rem .8rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s}
.btn-edit{background:rgba(88,166,255,.12);color:var(--blue)}
.btn-edit:hover{background:rgba(88,166,255,.25)}
.btn-del{background:rgba(248,81,73,.1);color:var(--red)}
.btn-del:hover{background:rgba(248,81,73,.22)}
.empty-state{padding:4rem 2rem;text-align:center;color:var(--muted)}
.empty-state .ico{font-size:3rem;margin-bottom:1rem;opacity:.4}
.loading-row td{text-align:center;padding:3rem;color:var(--muted)}

/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(4px);z-index:1000;display:none;align-items:flex-start;justify-content:center;padding:1.5rem;overflow-y:auto}
.modal-overlay.open{display:flex}
.modal{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:2rem;width:100%;max-width:540px;box-shadow:var(--shadow);margin:auto}
.modal.wide{max-width:880px}
.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}
.modal-head h3{font-family:var(--font-head);font-size:1.15rem}
.btn-close{background:var(--surface2);border:1px solid var(--border);color:var(--muted);width:32px;height:32px;border-radius:8px;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}
.btn-close:hover{border-color:var(--red);color:var(--red)}
.mfield{margin-bottom:1.2rem}
.mfield label{display:block;font-size:.78rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.45rem}
.mfield input,.mfield textarea,.mfield select{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:.7rem 1rem;color:var(--text);font-family:var(--font);font-size:.9rem;outline:none;transition:border-color .2s;resize:vertical}
.mfield input:focus,.mfield textarea:focus,.mfield select:focus{border-color:var(--orange)}
.mfield select option{background:var(--surface2)}
.mfield textarea{min-height:80px}
.mfield-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.upload-area{border:2px dashed var(--border);border-radius:var(--radius);padding:1.4rem;text-align:center;color:var(--muted);font-size:.85rem;cursor:pointer;transition:all .2s;position:relative}
.upload-area:hover{border-color:var(--orange);color:var(--orange2)}
.upload-area input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}
.upload-area .uico{font-size:1.6rem;margin-bottom:.3rem}
.uprog{background:var(--surface2);border-radius:4px;height:4px;margin-top:.6rem;overflow:hidden;display:none}
.uprog-bar{height:100%;background:var(--orange);border-radius:4px;width:0;transition:width .3s}
.img-prev{width:100%;height:130px;border-radius:var(--radius);object-fit:cover;margin-top:.6rem;display:none;border:1px solid var(--border)}
.img-prev.show{display:block}
.slug-hint{font-size:.73rem;color:var(--muted);margin-top:.3rem}
.slug-hint span{color:var(--orange2)}
.modal-actions{display:flex;gap:.8rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border);flex-wrap:wrap}
.btn-cancel{background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:.65rem 1.4rem;border-radius:50px;font-size:.88rem;cursor:pointer;transition:all .2s}
.btn-cancel:hover{border-color:var(--muted)}
.btn-save{background:var(--orange);color:#fff;border:none;padding:.65rem 1.8rem;border-radius:50px;font-family:var(--font);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .25s}
.btn-save:hover{background:#c94e12}
.btn-save:disabled,.btn-draft:disabled{opacity:.5;cursor:not-allowed}
.btn-draft{background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:.65rem 1.4rem;border-radius:50px;font-size:.88rem;cursor:pointer;transition:all .2s}
.btn-draft:hover{border-color:var(--yellow);color:var(--yellow)}

/* QUILL DARK */
.quill-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .2s}
.quill-wrap:focus-within{border-color:var(--orange)}
.ql-toolbar.ql-snow{background:var(--surface);border:none;border-bottom:1px solid var(--border);padding:.5rem .8rem;flex-wrap:wrap}
.ql-container.ql-snow{border:none;font-family:var(--font);font-size:.95rem}
.ql-editor{color:var(--text);background:var(--surface2);padding:1rem;line-height:1.8;min-height:300px}
.ql-editor.ql-blank::before{color:var(--muted);font-style:normal}
.ql-snow .ql-stroke{stroke:var(--muted)}
.ql-snow .ql-fill{fill:var(--muted)}
.ql-snow .ql-picker{color:var(--muted)}
.ql-snow .ql-picker-options{background:var(--surface2);border-color:var(--border)}
.ql-toolbar.ql-snow button:hover .ql-stroke,.ql-toolbar.ql-snow button.ql-active .ql-stroke{stroke:var(--orange)}
.ql-toolbar.ql-snow button:hover .ql-fill,.ql-toolbar.ql-snow button.ql-active .ql-fill{fill:var(--orange)}
.ql-toolbar.ql-snow .ql-picker-label:hover,.ql-toolbar.ql-snow .ql-picker-label.ql-active{color:var(--orange)}
.ql-snow a{color:var(--orange2)}
.ql-editor h1,.ql-editor h2,.ql-editor h3{font-family:var(--font-head);color:var(--text);margin:.6rem 0 .3rem}
.ql-editor blockquote{border-left:3px solid var(--orange);padding-left:1rem;color:var(--muted);margin:.6rem 0}
.ql-editor pre.ql-syntax{background:var(--bg);border-radius:8px;padding:.8rem;color:var(--green);font-size:.85rem}

/* CONFIRM */
.confirm-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:1100;display:none;align-items:center;justify-content:center;padding:1rem}
.confirm-overlay.open{display:flex}
.confirm-box{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.8rem;max-width:360px;width:100%}
.confirm-box h4{font-family:var(--font-head);margin-bottom:.6rem}
.confirm-box p{font-size:.88rem;color:var(--muted);margin-bottom:1.5rem}
.confirm-actions{display:flex;gap:.6rem;justify-content:flex-end}
.btn-cdel{background:var(--red);color:#fff;border:none;padding:.6rem 1.4rem;border-radius:50px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}
.btn-cdel:hover{background:#c73b34}
.btn-ccancel{background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:.6rem 1.4rem;border-radius:50px;font-size:.85rem;cursor:pointer}

/* TOAST */
.toast{position:fixed;bottom:2rem;right:2rem;z-index:2000;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.9rem 1.4rem;font-size:.88rem;box-shadow:var(--shadow);transform:translateY(80px);opacity:0;transition:all .3s;pointer-events:none;max-width:320px}
.toast.show{transform:translateY(0);opacity:1}
.toast.success{border-color:rgba(63,185,80,.4);color:var(--green)}
.toast.error{border-color:rgba(248,81,73,.4);color:var(--red)}

@media(max-width:900px){.stats-row{grid-template-columns:1fr 1fr}.stats-row-3{grid-template-columns:1fr 1fr}.mfield-row{grid-template-columns:1fr}}
@media(max-width:600px){.admin-body{padding:1rem}.topbar{padding:0 1rem}.admin-email{display:none}.modal.wide{max-width:100%}}

/* ── FLOATING BUTTONS ── */
.float-btns{position:fixed;bottom:2rem;right:2rem;z-index:999;display:flex;flex-direction:column;gap:.6rem;align-items:center}
.float-btn{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 4px 20px rgba(0,0,0,.25);transition:all .3s;color:#fff}
.float-btn:hover{transform:scale(1.12) translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.35)}
.float-wa{background:#25d366;box-shadow:0 4px 20px rgba(37,211,102,.4)}
.float-wa:hover{background:#20ba5a;box-shadow:0 8px 28px rgba(37,211,102,.5)}
.float-call{background:var(--orange,#e85d1a);box-shadow:0 4px 20px rgba(232,93,26,.4)}
.float-call:hover{background:#c94e12;box-shadow:0 8px 28px rgba(232,93,26,.5)}
/* pulse ring on WA */
.float-wa::after{content:'';position:absolute;width:52px;height:52px;border-radius:50%;border:2px solid rgba(37,211,102,.6);animation:floatPulse 2s ease-out infinite}
.float-call::after{content:'';position:absolute;width:52px;height:52px;border-radius:50%;border:2px solid rgba(232,93,26,.5);animation:floatPulse 2s ease-out infinite .5s}
@keyframes floatPulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.7);opacity:0}}
