
:root{
  --bg:#ffffff;
  --bg2:#f8fafc;
  --panel:#ffffff;
  --card:#ffffff;
  --text:#0b1220;
  --muted:#475569;
  --brand1:#2563eb;
  --brand2:#06b6d4;
  --accent:#0f172a;
  --ok:#10b981;
  --warn:#f59e0b;
  --err:#ef4444;
  --radius:20px;
  --shadow:0 8px 24px rgba(2,6,23,.06);
  --stroke:#e2e8f0;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  background:
    radial-gradient(1200px 600px at 70% -10%, rgba(37,99,235,.08), transparent 60%),
    radial-gradient(1000px 500px at 0% 10%, rgba(6,182,212,.08), transparent 60%),
    linear-gradient(180deg, var(--bg), var(--bg2));
  color:var(--text);
  line-height:1.6;
}
a{color:var(--brand1);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(1180px,92%);margin:0 auto}
.hero{padding:64px 0 36px; position:relative}
.badge{
  display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--stroke);color:#0f172a;
  background: rgba(255,255,255,.9); padding:.35rem .6rem; border-radius:999px; font-size:.9rem
}
.badge .dot{width:8px;height:8px;border-radius:999px;background:linear-gradient(45deg,var(--brand1),var(--brand2))}
.h1{font-size:clamp(36px,4vw,56px);line-height:1.1;margin:14px 0 10px;font-weight:800;letter-spacing:.2px}
.lead{font-size:clamp(16px,1.3vw,20px);color:#334155;max-width:900px}
.cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.btn{
  display:inline-flex;align-items:center;gap:.6rem;padding:14px 18px;border-radius:14px;
  background:linear-gradient(45deg,var(--brand1),var(--brand2));color:white;font-weight:700;
  border:none;box-shadow:var(--shadow);cursor:pointer;transition:transform .15s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn.secondary{background:#ffffff;color:#0f172a;border:1px solid var(--stroke)}
.header{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter: blur(8px);
  border-bottom:1px solid var(--stroke);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.logo{display:flex;align-items:center;gap:10px}
.logo img{height:32px;width:auto}
.menu{display:flex;gap:10px;flex-wrap:wrap}
.menu a{color:#0f172a;font-weight:600}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}
.card{
  background:var(--card);
  border:1px solid var(--stroke);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);
  position:relative;overflow:hidden;transition: transform .2s ease, box-shadow .2s ease;
}
.card:hover{transform:translateY(-4px); box-shadow:0 12px 28px rgba(2,6,23,.08)}
.card img{width:100%;height:180px;object-fit:cover;border-radius:14px}
.card h3{margin:12px 0 6px}
.kicker{font-size:.95rem;color:#64748b;margin-top:4px}
.section{padding:34px 0}
.section h2{font-size:clamp(26px,3vw,36px); margin:0 0 8px}
.sub{color:#475569;margin:0 0 24px}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.feature{background:#fff;border:1px solid var(--stroke);border-radius:16px;padding:18px;box-shadow:var(--shadow)}
.feature h4{margin:.3rem 0}
.pills{display:flex;flex-wrap:wrap;gap:10px}
.pill{padding:8px 12px;border-radius:999px;background:#f1f5f9;border:1px solid var(--stroke);color:#0f172a}
.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center}
.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.step{background:#fff;border:1px solid var(--stroke);border-radius:16px;padding:14px;box-shadow:var(--shadow)}
.step .num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:linear-gradient(45deg,var(--brand1),var(--brand2)); color:#fff; font-weight:800}
.industries{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ind{background:#fff;border:1px solid var(--stroke);border-radius:14px;padding:12px;box-shadow:var(--shadow)}
.footer{padding:32px 0;border-top:1px solid var(--stroke);color:#475569;background:#ffffff}
.footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}
.small{font-size:.95rem;color:#334155}
form{display:grid;gap:10px}
input, textarea, select{
  background:#ffffff;border:1px solid var(--stroke);border-radius:12px;padding:12px;color:#0f172a; outline:none
}
input:focus, textarea:focus{border-color:#2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,.15)}
label{font-size:.95rem;color:#334155}
form .row{display:grid;grid-template-columns:1fr 1fr; gap:8px}
.note{font-size:.9rem;color:#64748b}
hr.sep{border:none;border-top:1px solid var(--stroke);margin:16px 0}
.badges{display:flex;flex-wrap:wrap;gap:8px}
.badges .badge{border:1px solid var(--stroke);background:#fff;color:#0f172a}
.highlight{
  display:inline-block;
  background:linear-gradient(120deg, rgba(37,99,235,.12), rgba(6,182,212,.12));
  padding:2px 8px;border-radius:8px;
}

.capabilities{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media (max-width: 980px){
  .capabilities{grid-template-columns:1fr 1fr}
}
@media (max-width: 560px){
  .capabilities{grid-template-columns:1fr}
}

@media (max-width: 980px){
  .cards{grid-template-columns:1fr 1fr}
  .features{grid-template-columns:1fr 1fr}
  .grid-2{grid-template-columns:1fr}
  .industries{grid-template-columns:1fr 1fr}
  .timeline{grid-template-columns:1fr 1fr}
  form .row{grid-template-columns:1fr}
}
@media (max-width: 560px){
  .cards{grid-template-columns:1fr}
  .industries{grid-template-columns:1fr}
  .features{grid-template-columns:1fr}
}

.logo{display:flex;align-items:center;gap:10px}
.logo .brand img{height:32px}
.logo .brand.softtech img{height:24px}
.logo .brand.softtech .small{margin-left:6px}


.faq details{background:#fff;border:1px solid var(--stroke);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow)}
.faq details+details{margin-top:10px}
.faq summary{cursor:pointer;font-weight:700;outline:none}
.faq summary::-webkit-details-marker{display:none}

.logo{display:flex;align-items:center;gap:10px}
.logo .brand img{height:32px;box-shadow:none;border:none;background:transparent}
.logo .brand.softtech img{height:22px}
.bysofttech{font-size:.95rem;color:#0f172a;text-decoration:none}
.bysofttech:hover{text-decoration:underline}


/* Header brand cluster: SoftTech icon + ST Point wordmark */
.softtech-mark{height:26px;width:auto;display:inline-block;vertical-align:middle}
.wordmark{display:inline-block;vertical-align:middle;margin-left:8px;font-weight:800;letter-spacing:.2px;color:#0f172a}
.wordmark .blue{color:var(--brand1)}
.logo .brand.stpoint{display:flex;align-items:center;gap:8px}


/* Ensure the PNG logo shows next to the ST Point wordmark */
.brand-mark{height:26px;width:auto;display:inline-block;vertical-align:middle}
.logo .brand.stpoint{display:flex;align-items:center;gap:8px}
.wordmark{display:inline-block;vertical-align:middle;margin-left:0;font-weight:800;letter-spacing:.2px;color:#0f172a}
.wordmark .blue{color:var(--brand1)}


/* === Navigation & brand hover tweaks === */
.header .menu a{ text-decoration:none }
.header .menu a:hover{ text-decoration:none }
.drawer-link{ text-decoration:none }
.drawer-link:hover{ text-decoration:none; background:#f1f5f9 }
.header .logo .brand.stpoint,
.header .logo .brand.stpoint:hover,
.header .logo .brand.stpoint:focus,
.header .logo .brand.stpoint:active{ text-decoration:none }
.wordmark{font-weight:800; letter-spacing:.2px; color:#0f172a; font-size:clamp(18px, 2.4vw, 26px)}


/* === Mobile / iPad navigation === */
:root{ --safe-top: env(safe-area-inset-top); --safe-bottom: env(safe-area-inset-bottom); }
body.no-scroll{ overflow:hidden }
.hamburger{ display:none; position:relative; width:38px; height:38px; border:1px solid var(--stroke);
  border-radius:12px; background:#fff; align-items:center; justify-content:center; gap:6px; padding:8px; cursor:pointer; }
.hamburger span{ display:block; height:2px; width:18px; background:#0f172a; border-radius:2px; transition:transform .2s ease, opacity .2s ease }
.hamburger.active span:nth-child(1){ transform: translateY(6px) rotate(45deg) }
.hamburger.active span:nth-child(2){ opacity:0 }
.hamburger.active span:nth-child(3){ transform: translateY(-6px) rotate(-45deg) }
.backdrop{ position:fixed; inset:0; background:rgba(15,23,42,.35); backdrop-filter: blur(2px);
  opacity:0; transition:opacity .2s ease; z-index:70; }
.backdrop.show{ opacity:1 }
.drawer{ position:fixed; top:0; right:0; height:100dvh; width:min(86vw, 340px);
  background:#fff; border-left:1px solid var(--stroke); box-shadow:0 12px 28px rgba(2,6,23,.14);
  transform: translateX(100%); transition: transform .25s ease; z-index:80; padding-top: calc(12px + var(--safe-top)); }
.drawer.open{ transform: translateX(0) }
.drawer-menu{ display:flex; flex-direction:column; gap:6px; padding:16px }
.drawer-link{ padding:12px 10px; border-radius:10px; color:#0f172a; font-weight:600 }
.drawer-link.external{ margin-top:6px; border:1px solid var(--stroke); text-align:center; }
@media (max-width: 1024px){ .menu{ display:none } .hamburger{ display:inline-flex } .header .nav{ gap:10px } }

/* === Service Plans Comparison Table === */
.compare{ overflow-x:auto }
.compare table{ width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--stroke); border-radius:14px; overflow:hidden }
.compare th, .compare td{ padding:12px 12px; border-bottom:1px solid var(--stroke); vertical-align:top; text-align:left }
.compare thead th{ background:#f8fafc; font-weight:800 }
.compare tbody tr:last-child td{ border-bottom:none }
.compare td:first-child{ font-weight:600; width:28% }
@media (max-width: 720px){
  .compare td, .compare th{ padding:10px }
  .compare td:first-child{ width:auto }
}
