:root{
  --bg:#ffffff;
  --text:#0f172a;
  --muted:#475569;
  --line:#e5e7eb;
  --card:#fafafa;
  --accent:#111827;
  --shadow: 0 10px 25px rgba(15, 23, 42, .08);
  --radius:16px;
  --max:1100px;
  --pad:20px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  background:var(--bg);
  color:var(--text);
  line-height:1.55;
}

a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}

header{
  position:sticky;top:0;z-index:20;
  background:rgba(255,255,255,.88);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  height:72px;gap:14px;
}
.brand{display:flex;align-items:center;gap:.75rem;font-weight:850;letter-spacing:.2px}
.logoWrap{
  width:42px;height:42px;border-radius:12px;
  border:1px solid var(--line);
  background:#fff;
  display:grid;place-items:center;
  overflow:hidden;
}
.logoImg{width:100%;height:100%;object-fit:contain;padding:6px}

nav ul{display:flex;gap:1.2rem;list-style:none;margin:0;padding:0}
nav a{
  color:var(--muted);
  font-weight:700;
  padding:.45rem .6rem;
  border-radius:10px;
}
nav a:hover{color:var(--text);background:#f8fafc}
nav a.active{color:var(--text);background:#f1f5f9;border:1px solid var(--line)}

.btn{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.9rem 1.1rem;border-radius:999px;
  border:1px solid var(--line);
  background:#ffffff;
  transition:.18s ease;
  font-weight:750;
}
.btn:hover{transform:translateY(-1px); box-shadow: var(--shadow)}
.btn.primary{
  background:var(--accent);
  color:#fff;
  border-color:var(--accent);
}
.btn.ghost{background:transparent}

.hero{padding:64px 0 28px}
.heroGrid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:22px;align-items:stretch;
}
.badge{
  display:inline-flex;align-items:center;gap:.45rem;
  font-size:.9rem;color:var(--muted);
  padding:.45rem .75rem;border-radius:999px;border:1px solid var(--line);
  background:#fff;
}
h1{margin:.9rem 0 1rem;font-size:clamp(2.1rem, 3.6vw, 3.1rem);line-height:1.08}
.lead{color:var(--muted);font-size:1.05rem;max-width:60ch}

.card{
  border:1px solid var(--line);
  background:var(--card);
  border-radius:var(--radius);
  padding:18px;
}
.card.soft{background:#fff}
.card:hover{box-shadow: var(--shadow)}

.kpis{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.kpi{
  border:1px solid var(--line); border-radius:14px; padding:14px; background:#fff;
}
.kpi b{display:block;font-size:1.1rem}
.kpi span{color:var(--muted);font-size:.92rem}

section{padding:42px 0}
.sectionHead{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px}
.sectionHead h2{margin:0;font-size:1.6rem}
.sectionHead p{margin:0;color:var(--muted);max-width:65ch}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}

.service h3{margin:.2rem 0 .35rem}
.service p{margin:.2rem 0 0;color:var(--muted)}
.icon{
  width:42px;height:42px;border-radius:14px;
  display:grid;place-items:center;
  border:1px solid var(--line);
  background:#fff;
  font-weight:900;
  margin-bottom:10px;
}

.shots{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.shot{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:linear-gradient(135deg,#ffffff,#f8fafc);
  min-height:170px;
  display:flex;align-items:flex-end;
  padding:14px;
}
.shot span{
  display:inline-flex;
  padding:.55rem .75rem;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  font-weight:750;
  color:var(--text);
}

form{display:grid;gap:10px}
input, textarea{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--text);
  outline:none;
}
textarea{min-height:130px;resize:vertical}
input:focus, textarea:focus{border-color:#94a3b8}
.note{color:var(--muted);font-size:.92rem}

footer{
  padding:28px 0;
  border-top:1px solid var(--line);
  color:var(--muted);
}

@media (max-width: 920px){
  .heroGrid{grid-template-columns:1fr}
  .grid3,.shots{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
  nav ul{gap:.6rem;flex-wrap:wrap}
}


/* Category grid (Pixart-like) */
.catGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.catCard{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  padding:16px;
  transition:.18s ease;
  display:flex;align-items:flex-start;gap:12px;
  min-height:110px;
}
.catCard:hover{transform:translateY(-1px); box-shadow: var(--shadow)}
.catIcon{
  width:46px;height:46px;border-radius:14px;
  border:1px solid var(--line);
  background:linear-gradient(135deg,#ffffff,#f8fafc);
  display:grid;place-items:center;
  font-weight:900;color:var(--text);
  flex:0 0 auto;
}
.catCard h3{margin:0 0 .25rem;font-size:1.05rem}
.catCard p{margin:0;color:var(--muted);font-size:.95rem}
@media (max-width: 920px){
  .catGrid{grid-template-columns:1fr}
}
