/* ==========================================================================
   VentaSync for SSI Group - Option A design system
   Dark executive theme, Reboot-orange accent. Self-contained, no external
   fonts or CDNs. Works from file://. No em dash characters anywhere.
   ========================================================================== */

:root {
  --bg: #0b0b0d;            /* page background, near black like the Reboot logo field */
  --surface: #15151a;       /* cards, table rows */
  --surface-2: #1d1d24;     /* hover / raised */
  --text: #f5f5f2;          /* primary text */
  --muted: #a0a0ab;         /* secondary text */
  --accent: #f15a24;        /* Reboot orange, sampled from logo */
  --accent-soft: rgba(241, 90, 36, 0.14);
  --border: rgba(245, 245, 242, 0.10);
  --ok: #4ade80;            /* matrix check */
  --warn: #fbbf24;          /* matrix partial */
  --bad: #64646e;           /* matrix cross, deliberately muted not red */
  --radius: 14px;
  --font: "Inter", -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --max-w: 1160px;
}

/* --- Reset ---------------------------------------------------------------- */
*{box-sizing:border-box;margin:0}

html{scroll-behavior:smooth}

body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--font);
  font-size:1.05rem;
  line-height:1.65;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img{max-width:100%}

a{color:var(--accent)}

::selection{background:var(--accent);color:var(--bg)}

:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}

/* --- Header / nav --------------------------------------------------------- */
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:14px 28px;background:rgba(11,11,13,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.site-header img{height:34px;mix-blend-mode:screen}
.site-header a{display:inline-flex;align-items:center}

.site-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.nav-link{color:var(--muted);text-decoration:none;font-size:.92rem;padding:8px 14px;border-radius:8px}
.nav-link{transition:color .18s ease,background .18s ease}
.nav-link:hover{color:var(--text);background:var(--surface-2)}
.nav-link.active{color:var(--accent)}

/* --- Hero ----------------------------------------------------------------- */
.hero{min-height:82vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  gap:26px;padding:104px 28px 88px;max-width:var(--max-w);margin:0 auto;
  background:radial-gradient(ellipse at 30% 20%, rgba(241,90,36,.12), transparent 55%)}
.hero h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1.06;font-weight:800;letter-spacing:-.025em;
  max-width:15ch;text-wrap:balance}
.hero p{color:var(--muted);font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.6;max-width:60ch}
.hero .btn{margin-top:6px}

/* --- Sections ------------------------------------------------------------- */
.section{max-width:var(--max-w);margin:0 auto;padding:88px 28px}
.section-label{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:600}
/* structural eyebrow: an accent tick that marks a titled block */
.section-label{display:inline-flex;align-items:center;gap:12px}
.section-label::before{content:"";width:26px;height:2px;background:var(--accent);display:inline-block;flex:none}

.section-title{font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.14;font-weight:700;letter-spacing:-.02em;
  margin-top:18px;max-width:22ch;text-wrap:balance}

.lead{font-size:1.14rem;line-height:1.65;color:var(--muted);max-width:64ch;margin-top:20px}

/* spacing rhythm: content that follows a titled block */
.section-title + .lead{margin-top:20px}
.section-label + .section-title{margin-top:18px}

/* --- Grids (collapse to one column under 760px) --------------------------- */
.grid-2,.grid-3,.grid-4{display:grid;gap:28px;margin-top:44px}
.grid-2{grid-template-columns:repeat(2,1fr);gap:48px;align-items:center}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr);gap:22px;align-items:start}

@media (max-width:760px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;gap:24px}
}

/* --- Cards ---------------------------------------------------------------- */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px}
.card{position:relative;transition:border-color .2s ease,transform .2s ease,background .2s ease}
.card:hover{border-color:rgba(241,90,36,.4);transform:translateY(-3px);background:var(--surface-2)}
.card h3{font-size:1.15rem;font-weight:700;letter-spacing:-.01em;margin-bottom:10px}
.card p{color:var(--muted);font-size:1rem;line-height:1.6}
.card p + p{margin-top:12px}

/* --- Chips (content attributes) ------------------------------------------- */
.chip{display:inline-flex;align-items:center;padding:11px 18px;margin:8px 8px 0 0;
  background:var(--surface);border:1px solid var(--border);border-radius:999px;
  color:var(--text);font-size:.92rem;font-weight:500;transition:border-color .18s ease,background .18s ease}
.chip::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:11px;flex:none}
.chip:hover{border-color:rgba(241,90,36,.4);background:var(--surface-2)}

/* --- Tag (exclusivity badge) ---------------------------------------------- */
.tag{display:inline-flex;align-items:center;padding:8px 16px;
  background:var(--accent-soft);border:1px solid rgba(241,90,36,.3);border-radius:999px;
  color:var(--accent);font-size:.76rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:10px;flex:none}

/* --- Buttons -------------------------------------------------------------- */
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--accent);color:var(--bg);
  text-decoration:none;font-weight:600;font-size:.98rem;padding:15px 28px;border-radius:11px;border:1px solid transparent;
  box-shadow:0 6px 22px rgba(241,90,36,.24);cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.btn::after{content:"\2192";transition:transform .2s ease}
.btn:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 12px 30px rgba(241,90,36,.34)}
.btn:hover::after{transform:translateX(4px)}
.btn:active{transform:translateY(0)}

/* --- Screenshot in browser frame ------------------------------------------ */
.shot{position:relative;border:1px solid var(--border);border-radius:12px;overflow:hidden;
  background:var(--surface);transition:border-color .2s ease,box-shadow .2s ease}
/* browser chrome: title bar with three traffic-light dots */
.shot::before{content:"";display:block;height:32px;background:var(--surface-2);
  border-bottom:1px solid var(--border);
  background-image:radial-gradient(circle,var(--bad) 4px,transparent 4px),
    radial-gradient(circle,var(--bad) 4px,transparent 4px),
    radial-gradient(circle,var(--bad) 4px,transparent 4px);
  background-position:18px center,38px center,58px center;background-repeat:no-repeat}
.shot img{width:100%;display:block}
.shot:hover{border-color:rgba(241,90,36,.4);box-shadow:0 18px 46px -22px rgba(0,0,0,.75)}

/* wide screenshot treatment: break the shot out of the reading column so the
   ERP UI renders near its native width and its text stays legible in place. */
.section-wide{width:min(1500px,94vw);position:relative;left:50%;
  margin-left:calc(min(1500px,94vw) / -2);margin-top:52px}
.section-wide .shot{box-shadow:0 34px 80px -34px rgba(0,0,0,.72)}

/* compact stacked pillar header above a wide shot */
.pillar-head{max-width:70ch}
.pillar-head .lead{max-width:70ch}

/* zoom affordance + reveal-on-hover hint on any enlargeable shot */
.zoomable{cursor:zoom-in}
@media (hover:hover){
  .shot:has(.zoomable)::after{content:"Click to enlarge";position:absolute;right:14px;bottom:14px;
    padding:7px 13px;font-size:.76rem;font-weight:600;letter-spacing:.02em;color:var(--text);
    background:rgba(11,11,13,.72);border:1px solid var(--border);border-radius:999px;
    opacity:0;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}
  .shot:hover:has(.zoomable)::after{opacity:1;transform:none}
}

/* --- Lightbox ------------------------------------------------------------- */
.lightbox{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;
  padding:2vh 2vw;background:rgba(11,11,13,.92);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);
  cursor:zoom-out;animation:lb-fade .2s ease}
.lightbox[hidden]{display:none}
.lightbox-img{max-width:96vw;max-height:92vh;width:auto;height:auto;display:block;
  border-radius:10px;border:1px solid var(--border);box-shadow:0 44px 100px -24px rgba(0,0,0,.85);
  animation:lb-zoom .2s ease}
@keyframes lb-fade{from{opacity:0}to{opacity:1}}
@keyframes lb-zoom{from{transform:scale(.965)}to{transform:scale(1)}}
@media (prefers-reduced-motion: reduce){
  .lightbox,.lightbox-img{animation:none}
}

/* --- Comparison matrix ---------------------------------------------------- */
.matrix-wrap{overflow-x:auto;margin-top:40px;border:1px solid var(--border);border-radius:var(--radius)}
.matrix{width:100%;border-collapse:collapse;font-size:.95rem}
.matrix th,.matrix td{padding:14px 16px;border-bottom:1px solid var(--border);text-align:center}
.matrix td:first-child,.matrix th:first-child{text-align:left}
.matrix th:last-child,.matrix td:last-child{background:var(--accent-soft)}
.mark-ok{color:var(--ok)}.mark-warn{color:var(--warn)}.mark-bad{color:var(--bad)}
.matrix thead th{color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em}
.matrix thead th:last-child{color:var(--accent)}
.matrix tbody td:first-child{color:var(--text);font-weight:500;text-align:left}
.matrix tbody tr:last-child td{border-bottom:none}
.matrix tbody tr:hover td{background:var(--surface-2)}
.matrix tbody tr:hover td:last-child{background:rgba(241,90,36,.2)}

/* --- Scroll reveal -------------------------------------------------------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}}

/* --- Footer --------------------------------------------------------------- */
.footer{border-top:1px solid var(--border);text-align:center;color:var(--muted);font-size:.9rem;line-height:1.7}
.footer.section{padding-top:44px;padding-bottom:44px}
.footer a{color:var(--accent);text-decoration:none}
.footer a:hover{text-decoration:underline}

/* --- Utilities ------------------------------------------------------------ */
.muted{color:var(--muted)}

/* --- Motion safety (quality floor) ---------------------------------------- */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *{transition:none !important}
  .btn:hover,.card:hover,.chip:hover{transform:none}
  .btn:hover::after{transform:none}
}

/* --- Responsive ----------------------------------------------------------- */
@media (max-width:760px){
  .site-header{padding:12px 18px}
  .site-nav{gap:2px}
  .nav-link{padding:7px 10px;font-size:.86rem}
  .section{padding:64px 20px}
  .hero{padding:88px 20px 64px;min-height:auto}
  .card{padding:24px}
}
