/* ==========================================================================
   Mechanical Toolbox — www.css
   Public marketing site stylesheet
   Derived from SafetyCert www.css — accent colour changed to #8B3E08
   ========================================================================== */

/* ── Variables ─────────────────────────────────────────────────────────── */
:root {
  --bg:        #0B1320;
  --bg2:       #101C30;
  --card:      #142038;
  --card2:     #1A2A48;
  --border:    rgba(200,100,40,0.15);
  --blue:      #8B3E08;
  --blue-l:    #C4621A;
  --cyan:      #E08040;
  --gold:      #F5C842;
  --green:     #2DD88A;
  --text:      #E4EEF8;
  --muted:     #7A95B8;
  --faint:     rgba(139,62,8,0.10);
}

* { margin:0; padding:0; box-sizing:border-box; }

body {
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
  background: var(--bg);
  color: var(--text);
  min-height: 100vh;
  overflow-x: hidden;
}

/* ── Nav ────────────────────────────────────────────────────────────────── */
nav {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0.65rem 4rem;
  border-bottom: 1px solid var(--border);
  background: rgba(11,19,32,0.85);
  backdrop-filter: blur(14px);
  position: sticky; top:0; z-index:100;
}
.logo {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 800; font-size: 1.5rem;
  letter-spacing: -0.3px;
  color: #fff;
  display: flex; align-items: center;
}
.logo span { color: var(--blue-l); }
.logo img  { height:49px; width:auto; margin-right:16px; }
nav ul { list-style:none; display:flex; gap:2rem; }
nav ul a { color: var(--muted); text-decoration:none; font-size:.9rem; font-weight:500; transition:.2s; }
nav ul a:hover { color:#fff; }
nav ul a.nav-active { color:#fff; position:relative; }
nav ul a.nav-active::after {
  content:''; position:absolute; bottom:-4px; left:0; right:0;
  height:2px; background:var(--blue); border-radius:2px;
}
.nav-cta {
  background: var(--blue);
  color:#fff; border:none; padding:.55rem 1.4rem;
  border-radius:6px; font-family:'DM Sans',sans-serif;
  font-weight:500; font-size:.9rem; cursor:pointer;
  transition:.2s; text-decoration:none;
}
.nav-cta:hover { background: var(--blue-l); }
.nav-right { display:flex; align-items:center; gap:.6rem; flex-shrink:0; }
.nav-login {
  color:var(--muted); text-decoration:none; font-size:.9rem;
  font-weight:500; padding:.5rem .9rem; border-radius:6px;
  border:1px solid var(--border); transition:.2s;
  font-family:'DM Sans',sans-serif;
}
.nav-login:hover { color:#fff; border-color:rgba(200,100,40,.35); }

/* ── Shared buttons ─────────────────────────────────────────────────────── */
.btn-primary {
  background:var(--blue); color:#fff; text-decoration:none;
  padding:.85rem 2rem; border-radius:10px;
  font-weight:700; font-size:.95rem; transition:.2s;
  font-family:'DM Sans',sans-serif; display:inline-block;
}
.btn-primary:hover { background:var(--blue-l); transform:translateY(-1px); }
.btn-ghost {
  background:transparent; color:var(--text); text-decoration:none;
  padding:.85rem 2rem; border-radius:10px; border:1px solid var(--border);
  font-weight:600; font-size:.95rem; transition:.2s;
  font-family:'DM Sans',sans-serif; display:inline-block;
}
.btn-ghost:hover { border-color:var(--blue-l); color:var(--blue-l); }

/* ── Hero ───────────────────────────────────────────────────────────────── */
.hero {
  text-align: center;
  padding: 6rem 2rem 4rem;
  position: relative;
  overflow: hidden;
}
.hero::before {
  content:'';
  position:absolute; top:-120px; left:50%; transform:translateX(-50%);
  width:700px; height:700px;
  background: radial-gradient(circle, rgba(139,62,8,0.20) 0%, transparent 70%);
  pointer-events:none;
}
.hero-badge {
  display:inline-block;
  background: rgba(139,62,8,0.12);
  border: 1px solid rgba(200,100,40,0.30);
  color: var(--blue-l);
  font-size:.78rem; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase;
  padding:.35rem 1rem; border-radius:50px;
  margin-bottom:1.5rem;
}
.hero h1 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(2.4rem, 5vw, 4rem);
  font-weight: 800;
  line-height:1.15;
  letter-spacing:-0.5px;
  max-width:720px; margin:0 auto 1.5rem;
  color:#fff;
}
.hero h1 em { font-style:normal; color: var(--blue-l); }
.hero p {
  font-size:1.1rem; color:var(--muted); max-width:560px; margin:0 auto 2.5rem;
  line-height:1.7;
}
.hero-stats {
  display: flex; justify-content:center; gap:3rem; flex-wrap:wrap;
  margin-top: 3rem;
  padding-top: 3rem;
  border-top: 1px solid var(--border);
}
.stat { text-align:center; }
.stat-val {
  font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:2rem;
  color:#fff;
}
.stat-val span { color:var(--blue-l); }
.stat-label { font-size:.8rem; color:var(--muted); margin-top:.3rem; letter-spacing:.04em; }

/* ── Section title ──────────────────────────────────────────────────────── */
.section-label {
  font-size:.75rem; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; color:var(--blue-l);
  margin-bottom:1rem;
  display:flex; align-items:center; gap:.6rem;
}
.section-label::after { content:''; flex:1; height:1px; background:rgba(200,100,40,0.2); }

/* ── Features strip ─────────────────────────────────────────────────────── */
.features-strip {
  display:grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap:1px; background: var(--border);
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  margin-bottom:5rem;
}
.feat {
  background: var(--bg2);
  padding:2rem 1.8rem;
  display:flex; align-items:flex-start; gap:1rem;
}
.feat-icon {
  width:40px; height:40px; border-radius:10px;
  background: var(--faint);
  border: 1px solid rgba(200,100,40,0.20);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; font-size:1.1rem;
}
.feat h3 { font-size:.95rem; font-weight:600; color:#fff; margin-bottom:.3rem; }
.feat p { font-size:.82rem; color:var(--muted); line-height:1.6; }

/* ── Hamburger button ───────────────────────────────────────────────────── */
.nav-hamburger {
  display:none;
  flex-direction:column; justify-content:center; align-items:center;
  gap:5px; width:38px; height:38px; border-radius:8px;
  background:transparent; border:1px solid var(--border);
  cursor:pointer; padding:0; flex-shrink:0;
  transition:border-color .2s;
}
.nav-hamburger:hover { border-color:rgba(200,100,40,.4); }
.nav-hamburger span {
  display:block; width:18px; height:2px;
  background:var(--muted); border-radius:2px;
  transition:transform .28s ease, opacity .2s ease, background .2s;
  transform-origin:center;
}
.nav-hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); background:#fff; }
.nav-hamburger.open span:nth-child(2) { opacity:0; }
.nav-hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); background:#fff; }

/* ── Mobile nav panel ───────────────────────────────────────────────────── */
.nav-mobile {
  display:none;
  position:fixed; top:65px; left:0; right:0; z-index:99;
  background:rgba(11,19,32,.97);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--border);
  max-height:0; overflow:hidden;
  transition:max-height .32s cubic-bezier(.4,0,.2,1), opacity .25s ease;
  opacity:0;
}
.nav-mobile.open { max-height:520px; opacity:1; }
.nav-mobile-list {
  list-style:none; padding:1.2rem 1.5rem 1.5rem; margin:0;
  display:flex; flex-direction:column; gap:.2rem;
}
.nav-mobile-list li a {
  display:block; padding:.75rem 1rem; border-radius:8px;
  color:var(--muted); text-decoration:none; font-size:.95rem;
  font-weight:500; transition:color .15s, background .15s;
}
.nav-mobile-list li a:hover { color:#fff; background:rgba(139,62,8,.08); }
.nav-mobile-list li a.nav-active { color:#fff; background:rgba(139,62,8,.1); }
.nav-mobile-divider { height:1px; background:var(--border); margin:.6rem 0; }
.nav-mobile-cta {
  display:block; text-align:center;
  background:var(--blue); color:#fff !important;
  border-radius:8px; padding:.8rem 1rem !important;
  font-weight:600 !important; font-size:.95rem;
  margin-top:.4rem; text-decoration:none;
  transition:background .2s !important;
}
.nav-mobile-cta:hover { background:var(--blue-l) !important; }
.nav-mobile-login {
  text-align:center; border:1px solid var(--border);
  border-radius:8px; margin-top:.4rem;
}
.nav-mobile-login:hover { border-color:rgba(200,100,40,.4) !important; }

/* ── Mobile logo (standard template - keep identical across all apps) ──
   The logo gives way to the menu button: it may shrink, it scales down on
   phones, and a wordmark wrapped as <span class="logo-word">First<span>Second</span></span>
   stacks onto two lines on small screens. */
nav { gap:.75rem; }
nav .logo { flex:0 1 auto; min-width:0; }
nav .nav-right { flex-shrink:0; }
@media (max-width:480px){
  nav .logo { font-size:1.15rem; }
  nav .logo img { height:36px; margin-right:10px; }
  nav .logo-word { font-size:1.15rem; display:flex; flex-direction:column; align-items:flex-start; line-height:1.05; }
  nav .logo-word > span { display:block; }
}

@media(max-width:900px){
  nav { padding:1rem 1.5rem; }
  nav ul { display:none; }
  .nav-cta { display:none; }
  .nav-login { display:none; }
  .nav-mobile { display:block; }
  .nav-hamburger { display:flex; }
  .hero { padding:4rem 1.5rem 3rem; }
  .hero-stats { gap:1.5rem; }
}

/* ==========================================================================
   Features / Landing page  (lp- prefix)
   ========================================================================== */

.lp-section { max-width:1100px; margin:0 auto; padding:5rem 2rem; }
.lp-section.lp-tight { padding:3.5rem 2rem; }
.lp-center { text-align:center; }
.lp-h2 {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(1.7rem,3.2vw,2.4rem); font-weight:800;
  color:#fff; letter-spacing:-.25px; margin:.4rem 0 1rem; line-height:1.2;
}
.lp-h2 em { font-style:normal; color:var(--blue-l); }
.lp-lead { color:var(--muted); font-size:.97rem; max-width:580px; margin:0 auto; line-height:1.75; }
.lp-divider { border:none; border-top:1px solid var(--border); margin:0; }

.hero-ctas { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; margin-bottom:1rem; }

.lp-trust-bar {
  background:var(--bg2); border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  padding:1.4rem 2rem;
}
.lp-trust-inner {
  max-width:1100px; margin:0 auto;
  display:flex; align-items:center; justify-content:center;
  flex-wrap:wrap; gap:.6rem 1.2rem;
}
.lp-trust-label { font-size:.75rem; font-weight:600; color:var(--muted); letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }
.lp-trust-sep { width:1px; height:16px; background:var(--border); flex-shrink:0; }
.lp-trust-name {
  font-size:.84rem; font-weight:600; color:var(--text);
  background:var(--card); border:1px solid var(--border);
  border-radius:20px; padding:.3rem .9rem; white-space:nowrap;
}

.lp-problem-grid {
  display:grid; grid-template-columns:1fr 60px 1fr;
  gap:0; align-items:stretch; margin-top:2.5rem;
}
.lp-before, .lp-after { border-radius:16px; padding:2rem; }
.lp-before { background:rgba(255,80,80,.05); border:1px solid rgba(255,80,80,.15); }
.lp-after  { background:rgba(45,216,138,.05); border:1px solid rgba(45,216,138,.18); }
.lp-ba-head {
  display:flex; align-items:center; gap:.6rem;
  font-family:'Plus Jakarta Sans',sans-serif; font-size:.82rem;
  font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  margin-bottom:1.2rem;
}
.lp-before .lp-ba-head { color:rgba(255,130,130,.9); }
.lp-after  .lp-ba-head { color:var(--green); }
.lp-ba-head i { font-size:1.6em; position:relative; top:2px; }
.lp-ba-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.7rem; text-align:left; }
.lp-ba-list li {
  display:flex; align-items:flex-start; gap:.6rem;
  font-size:.87rem; color:var(--muted); line-height:1.55;
  text-align:left;
}
.lp-before .lp-ba-list li::before { content:'✗'; color:rgba(255,130,130,.8); font-weight:700; flex-shrink:0; }
.lp-after  .lp-ba-list li::before { content:'✓'; color:var(--green); font-weight:700; flex-shrink:0; }
.lp-ba-divider { display:flex; align-items:center; justify-content:center; }
.lp-ba-arrow {
  width:40px; height:40px; border-radius:50%;
  background:var(--blue); display:flex; align-items:center;
  justify-content:center; color:#fff; font-size:1.1rem; flex-shrink:0;
}

.lp-how-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1.5rem; margin-top:2.5rem; position:relative;
}
.lp-how-grid::before {
  content:''; position:absolute; top:60px; left:calc(16.6% + 28px); right:calc(50% + 28px);
  height:2px; background:linear-gradient(90deg,var(--blue),var(--blue-l));
  opacity:.3; z-index:1;
}
.lp-how-grid::after {
  content:''; position:absolute; top:60px; left:calc(50% + 28px); right:calc(16.6% + 28px);
  height:2px; background:linear-gradient(90deg,var(--blue-l),var(--blue));
  opacity:.3; z-index:1;
}
.lp-how-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:16px; padding:2rem 1.6rem; text-align:center;
}
.lp-how-num {
  width:56px; height:56px; border-radius:50%; margin:0 auto 1.2rem;
  background:rgba(139,62,8,.10); border:2px solid rgba(200,100,40,.35);
  display:flex; align-items:center; justify-content:center;
  font-family:'Plus Jakarta Sans',sans-serif; font-size:1.3rem;
  font-weight:800; color:var(--blue-l);
  position:relative; z-index:2;
}
.lp-how-card h3 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:1.05rem;
  font-weight:700; color:#fff; margin-bottom:.6rem;
}
.lp-how-card p { font-size:.86rem; color:var(--muted); line-height:1.65; }

.lp-feat-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1.2rem; margin-top:2.5rem;
}
.lp-feat-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:14px; padding:1.6rem 1.5rem;
  display:grid; grid-template-columns:42px 1fr;
  grid-template-rows:auto auto;
  column-gap:.75rem; row-gap:.6rem;
  transition:border-color .2s;
}
.lp-feat-card:hover { border-color:rgba(200,100,40,.32); }
.lp-feat-icon {
  grid-column:1; grid-row:1; align-self:center;
  width:42px; height:42px; border-radius:11px; flex-shrink:0;
  background:var(--faint); border:1px solid rgba(200,100,40,.18);
  display:flex; align-items:center; justify-content:center; font-size:1.2rem;
}
.lp-feat-card h3 {
  grid-column:2; grid-row:1; align-self:center;
  font-family:'Plus Jakarta Sans',sans-serif; font-size:.97rem;
  font-weight:700; color:#fff; margin:0; text-align:left;
}
.lp-feat-card p { grid-column:1 / -1; grid-row:2; font-size:.83rem; color:var(--muted); line-height:1.65; margin:0; }

/* ── Value prop (who it's for) ──────────────────────────────────────────── */
.lp-vp-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:1.5rem; margin-top:2.5rem;
}
.lp-vp-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:16px; overflow:hidden; display:flex; flex-direction:column;
}
.lp-vp-top { padding:2rem 2rem 1.6rem; border-bottom:1px solid var(--border); }
.lp-vp-body { padding:1.6rem 2rem 2rem; flex:1; }
.vp-badge {
  display:inline-block; font-size:.72rem; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase;
  background:var(--faint); border:1px solid var(--border);
  color:var(--blue-l); border-radius:20px; padding:.25rem .8rem; margin-bottom:.9rem;
}
.lp-vp-card h3 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:1.15rem;
  font-weight:800; color:#fff; margin-bottom:.6rem;
}
.lp-vp-card > .lp-vp-top > p { font-size:.88rem; color:var(--muted); line-height:1.65; }
.lp-vp-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.6rem; }
.lp-vp-list li {
  display:flex; align-items:flex-start; gap:.6rem;
  font-size:.87rem; color:var(--text); line-height:1.55;
  text-align:left;
}
.lp-vp-list li::before { content:'✓'; color:var(--blue-l); font-weight:700; flex-shrink:0; }

.lp-screens-bg {
  background:var(--bg2); border-top:1px solid var(--border); border-bottom:1px solid var(--border);
}
.lp-screens-tabs {
  display:flex; gap:.4rem; justify-content:center; flex-wrap:wrap; margin-top:2rem; margin-bottom:2.5rem;
}
.lp-stab {
  padding:.5rem 1.2rem; border-radius:8px; border:1px solid var(--border);
  background:transparent; color:var(--muted); font-size:.84rem; font-weight:500;
  cursor:pointer; transition:.2s; font-family:'DM Sans',sans-serif;
}
.lp-stab.active { background:var(--blue); border-color:var(--blue); color:#fff; font-weight:600; }
.lp-screen-panel { display:none; }
.lp-screen-panel.active { display:block; animation:fadeUp .3s ease; }
@keyframes fadeUp { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
.lp-screen-frame {
  border-radius:16px; border:1px solid var(--border);
  background:var(--card); overflow:hidden;
  aspect-ratio:16/9; position:relative;
  display:flex; flex-direction:column;
}
.lp-screen-bar {
  background:var(--card2); border-bottom:1px solid var(--border);
  padding:.6rem 1rem; display:flex; align-items:center; gap:.4rem;
}
.lp-screen-dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.lp-screen-body {
  flex:1; display:flex; align-items:center; justify-content:center;
  flex-direction:column; gap:.8rem; padding:2rem;
}
.lp-screen-placeholder {
  width:48px; height:48px; border-radius:12px;
  background:var(--faint); border:1px dashed rgba(200,100,40,.35);
  display:flex; align-items:center; justify-content:center; font-size:1.4rem;
}
.lp-screen-body p { font-size:.82rem; color:var(--muted); text-align:center; max-width:260px; }
.lp-screen-caption { text-align:center; margin-top:1.5rem; font-size:.84rem; color:var(--muted); }
.lp-screen-caption strong { color:var(--text); }

.lp-testi-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:1.5rem; margin-top:2.5rem;
}
.lp-testi-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:16px; padding:2rem;
}
.lp-testi-stars { color:var(--gold); font-size:.85rem; margin-bottom:.75rem; letter-spacing:.05em; }
.lp-testi-card blockquote {
  font-size:.92rem; color:var(--text); line-height:1.75;
  font-style:italic; margin:0 0 1.4rem; padding:0;
}
.lp-testi-card blockquote::before {
  content:'\201C'; font-family:'Plus Jakarta Sans',sans-serif;
  font-size:1.15em; color:var(--blue-l); margin-right:.1em;
}
.lp-testi-card blockquote::after {
  content:'\201D'; font-family:'Plus Jakarta Sans',sans-serif;
  font-size:1.15em; color:var(--blue-l); margin-left:.1em;
}
.lp-testi-attr { display:flex; flex-direction:column; gap:.45rem; }
.lp-testi-attr strong { font-size:.88rem; color:#fff; }
.lp-testi-attr span { font-size:.78rem; color:var(--muted); }

.lp-faq { margin-top:2.5rem; }
.lp-faq-item {
  background:var(--card); border:1px solid var(--border);
  border-radius:0; margin-bottom:-1px; overflow:hidden;
}
.lp-faq-item:first-child { border-radius:14px 14px 0 0; }
.lp-faq-item:last-child  { border-radius:0 0 14px 14px; margin-bottom:0; }
.lp-faq-q {
  padding:1.1rem 1.5rem; cursor:pointer;
  display:flex; justify-content:space-between; align-items:center;
  gap:1rem; user-select:none;
}
.lp-faq-q span { font-size:.92rem; font-weight:600; color:var(--text); }
.lp-faq-q .lp-faq-arr { color:var(--muted); font-size:.8rem; transition:.2s; flex-shrink:0; }
.lp-faq-item.open .lp-faq-arr { transform:rotate(180deg); color:var(--blue-l); }
.lp-faq-item.open .lp-faq-q span { color:#fff; }
.lp-faq-a {
  display:none; padding:0 1.5rem 1.2rem;
  font-size:.87rem; color:var(--muted); line-height:1.7;
}
.lp-faq-item.open .lp-faq-a { display:block; }

.lp-final-cta {
  text-align:center;
  background:linear-gradient(135deg,rgba(139,62,8,.15) 0%,rgba(139,62,8,.04) 60%,transparent 100%);
  border-top:1px solid rgba(200,100,40,.22);
  padding:5rem 2rem 5.5rem; position:relative; overflow:hidden;
}
.lp-final-cta::before {
  content:''; position:absolute; top:-100px; left:50%; transform:translateX(-50%);
  width:600px; height:400px;
  background:radial-gradient(circle, rgba(139,62,8,.18) 0%, transparent 70%);
  pointer-events:none;
}
.lp-final-cta h2 {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(2rem,4vw,3rem); font-weight:800;
  color:#fff; letter-spacing:-.3px; margin:.5rem auto 1rem;
  line-height:1.18; max-width:680px; position:relative;
}
.lp-final-cta h2 em { font-style:normal; color:var(--blue-l); }
.lp-final-cta p { color:var(--muted); font-size:1rem; max-width:500px; margin:0 auto 2.5rem; line-height:1.7; position:relative; }
.lp-final-cta .lp-cta-btns { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; position:relative; }
.lp-final-cta .lp-cta-note { font-size:.78rem; color:var(--muted); margin-top:1rem; position:relative; }

.lp-int-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1rem; margin-top:2.5rem;
}
.lp-int-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:14px; padding:1.4rem 1.2rem; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:.6rem;
  transition:border-color .2s, transform .18s;
}
.lp-int-card:hover { border-color:rgba(200,100,40,.3); transform:translateY(-2px); }
.lp-int-icon {
  width:48px; height:48px; border-radius:13px;
  display:flex; align-items:center; justify-content:center; font-size:1.4rem;
  background:var(--faint); border:1px solid var(--border); color:var(--blue-l);
}
.lp-int-card h4 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:.9rem;
  font-weight:700; color:#fff; margin:0;
}
.lp-int-card p { font-size:.77rem; color:var(--muted); line-height:1.5; margin:0; }
.lp-int-native {
  font-size:.7rem; font-weight:600; color:var(--blue-l);
  background:rgba(139,62,8,.10); border:1px solid rgba(200,100,40,.2);
  border-radius:20px; padding:.15rem .6rem;
}

@media(max-width:860px) {
  .lp-problem-grid { grid-template-columns:1fr; gap:1rem; }
  .lp-ba-divider { display:none; }
  .lp-how-grid, .lp-feat-grid { grid-template-columns:1fr 1fr; }
  .lp-how-grid::before, .lp-how-grid::after { display:none; }
  .lp-testi-grid { grid-template-columns:1fr; }
  .lp-int-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:560px) {
  .lp-how-grid, .lp-feat-grid { grid-template-columns:1fr; }
  .lp-vp-grid { grid-template-columns:1fr; }
  .lp-int-grid { grid-template-columns:1fr; }
  .lp-int-card {
    display:grid; grid-template-columns:48px 1fr;
    grid-template-rows:auto auto auto;
    column-gap:.75rem; row-gap:.4rem;
    text-align:left; align-items:start;
  }
  .lp-int-icon { grid-column:1; grid-row:1; }
  .lp-int-card h4 { grid-column:2; grid-row:1; align-self:center; }
  .lp-int-card p { grid-column:1 / -1; grid-row:2; }
  .lp-int-native { grid-column:1 / -1; grid-row:3; }
}

/* ==========================================================================
   Register page  (reg- prefix)
   ========================================================================== */

.reg-page { max-width:1100px; margin:0 auto; padding:4rem 2rem 6rem; }

.reg-grid {
  display:grid; grid-template-columns:1fr 380px;
  gap:3rem; align-items:start; margin-top:3rem;
}

.reg-main-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:16px; overflow:hidden;
}
.reg-main-card-header {
  padding:1.4rem 1.8rem; border-bottom:1px solid var(--border);
}
.reg-main-card-header h2 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:1.05rem;
  font-weight:700; color:#fff; margin:0 0 .25rem;
}
.reg-main-card-header p { font-size:.8rem; color:var(--muted); margin:0; }
.reg-main-card-body { padding:1.8rem; }

.reg-what-list { list-style:none; padding:0; margin:0; }
.reg-what-list li {
  display:flex; align-items:flex-start; gap:.75rem;
  padding:.85rem 0; border-bottom:1px solid rgba(200,100,40,.07);
  font-size:.9rem; color:var(--text); line-height:1.5;
}
.reg-what-list li:last-child { border-bottom:none; }
.reg-what-list li .rwi {
  width:36px; height:36px; border-radius:9px; flex-shrink:0;
  background:var(--faint); border:1px solid rgba(200,100,40,.2);
  display:flex; align-items:center; justify-content:center;
  font-size:1rem; margin-top:.05rem;
}
.reg-what-list li strong { display:block; font-size:.88rem; color:#fff; margin-bottom:.15rem; }
.reg-what-list li span { font-size:.82rem; color:var(--muted); }

.reg-cta-card {
  background:linear-gradient(135deg,rgba(139,62,8,.15),rgba(139,62,8,.04));
  border:1px solid rgba(200,100,40,.25);
  border-radius:14px; padding:1.6rem;
  text-align:center;
}
.reg-cta-card p {
  font-size:.85rem; color:var(--muted); line-height:1.6; margin-bottom:1rem;
}
.reg-cta-btn {
  display:block; width:100%; background:var(--blue);
  color:#fff; border:none; border-radius:10px;
  font-family:'DM Sans',sans-serif; font-weight:700; font-size:1rem;
  padding:1rem; cursor:pointer; text-align:center;
  text-decoration:none; transition:.2s; letter-spacing:.01em;
  margin-bottom:.75rem;
}
.reg-cta-btn:hover { background:var(--blue-l); transform:translateY(-1px); }
.reg-cta-login { font-size:.8rem; color:var(--muted); }
.reg-cta-login a { color:var(--blue-l); text-decoration:none; font-weight:500; }
.reg-cta-login a:hover { color:#fff; }

.reg-sidebar { display:flex; flex-direction:column; gap:1.2rem; position:sticky; top:90px; }
.sb-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:14px; padding:1.4rem 1.6rem;
}
.sb-card h3 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:.95rem;
  font-weight:700; color:#fff; margin:0 0 .9rem;
  display:flex; align-items:center; gap:.55rem;
}
.sb-card h3 i { position:relative; top:2px; }
.sb-contact-item {
  display:flex; align-items:center; gap:.75rem;
  padding:.5rem 0; border-bottom:1px solid rgba(200,100,40,.07);
  font-size:.83rem;
}
.sb-contact-item:last-child { border-bottom:none; }
.sb-contact-icon {
  width:32px; height:32px; border-radius:8px; flex-shrink:0;
  background:var(--faint); border:1px solid rgba(200,100,40,.2);
  display:flex; align-items:center; justify-content:center; font-size:.9rem;
}
.sb-contact-item a { color:var(--blue-l); text-decoration:none; }
.sb-contact-item a:hover { color:#fff; }
.sb-promise-list { list-style:none; margin:0; padding:0; }
.sb-promise-list li {
  display:flex; align-items:flex-start; gap:.65rem;
  font-size:.83rem; color:var(--muted); line-height:1.55; margin-bottom:.65rem;
}
.sb-promise-list li:last-child { margin-bottom:0; }
.sb-promise-list li::before { content:'✓'; color:var(--green); font-weight:700; flex-shrink:0; }

@media(max-width:900px){
  .reg-grid { grid-template-columns:1fr; }
  .reg-sidebar { position:static; }
}

/* ==========================================================================
   About page  (about- prefix)
   ========================================================================== */

.about-page { max-width:1100px; margin:0 auto; padding:4rem 2rem 6rem; }

.about-hero { text-align:center; padding:1rem 0 3.5rem; }
.about-hero h1 {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(2rem,4vw,3.2rem); font-weight:800;
  color:#fff; letter-spacing:-.3px; margin:.5rem 0 1.2rem; line-height:1.2;
}
.about-hero h1 em { font-style:normal; color:var(--blue-l); }
.about-hero p { color:var(--muted); font-size:1.05rem; max-width:600px; margin:0 auto; line-height:1.75; }

.mission-strip {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1px; background:var(--border);
  border:1px solid var(--border); border-radius:16px;
  overflow:hidden; margin-bottom:4rem;
}
.mission-cell { background:var(--card); padding:1.8rem 1.6rem; text-align:center; }
.mission-cell .mc-icon { font-size:1.8rem; margin-bottom:.7rem; color:var(--blue-l); }
.mission-cell h3 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:.95rem;
  font-weight:700; color:#fff; margin-bottom:.4rem;
}
.mission-cell p { font-size:.82rem; color:var(--muted); line-height:1.6; }

.about-two-col {
  display:grid; grid-template-columns:1fr 1fr;
  gap:3rem; align-items:center; margin-bottom:4rem;
}
.about-two-col.flip { direction:rtl; }
.about-two-col.flip > * { direction:ltr; }
.about-prose h2 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:clamp(1.5rem,2.5vw,2rem);
  font-weight:800; color:#fff; letter-spacing:-.2px; margin-bottom:1rem; line-height:1.25;
}
.about-prose h2 em { font-style:normal; color:var(--blue-l); }
.about-prose p { font-size:.92rem; color:var(--muted); line-height:1.75; margin-bottom:1rem; }
.about-prose p:last-child { margin-bottom:0; }
.about-prose .about-list { list-style:none; margin:.8rem 0 0; padding:0; }
.about-prose .about-list li {
  display:flex; align-items:flex-start; gap:.6rem;
  font-size:.88rem; color:var(--text); margin-bottom:.5rem; line-height:1.55;
}
.about-prose .about-list li::before { content:'✓'; color:var(--green); font-weight:700; flex-shrink:0; margin-top:.1rem; }

.about-stat-panel {
  background:var(--card); border:1px solid rgba(200,100,40,.18);
  border-radius:16px; padding:2rem;
  display:flex; flex-direction:column; gap:1rem;
}
.about-stat-row {
  background:var(--card2); border:1px solid var(--border);
  border-radius:10px; padding:1.1rem 1.4rem;
  display:flex; justify-content:space-between; align-items:center;
}
.about-stat-row .asr-label { font-size:.82rem; color:var(--muted); }
.about-stat-row .asr-val {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:1.3rem;
  font-weight:800; color:var(--blue-l);
}

.about-cs-logo {
  background:linear-gradient(135deg,rgba(139,62,8,.14),rgba(139,62,8,.04));
  border:1px solid rgba(200,100,40,.22); border-radius:16px;
  padding:1rem 2rem 1.6rem;
  display:flex; flex-direction:column; gap:.9rem;
}
.about-cs-logo .cs-wordmark {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:1.6rem;
  font-weight:800; color:#fff; letter-spacing:-.3px;
}
.about-cs-logo .cs-wordmark span { color:var(--blue-l); }
.about-cs-logo .cs-tag {
  font-size:.75rem; color:var(--muted); letter-spacing:.06em;
  text-transform:uppercase; font-weight:600;
}
.about-cs-logo .cs-desc {
  font-size:.85rem; color:var(--muted); line-height:1.65;
  border-top:1px solid var(--border); padding-top:.9rem;
}
.cs-pill-row { display:flex; flex-wrap:wrap; gap:.4rem; }
.cs-pill {
  background:var(--faint); border:1px solid var(--border);
  border-radius:20px; padding:.25rem .75rem;
  font-size:.73rem; color:var(--muted);
}

.about-section-head { text-align:center; margin-bottom:2.5rem; }
.about-section-head h2 {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(1.5rem,3vw,2.1rem); font-weight:800;
  color:#fff; letter-spacing:-.2px; margin:.4rem 0 .8rem;
}
.about-section-head p { color:var(--muted); font-size:.93rem; max-width:560px; margin:0 auto; line-height:1.7; }

.product-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1.2rem; margin-bottom:4rem;
}
.product-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:16px; overflow:hidden;
  display:flex; flex-direction:column;
  transition:border-color .2s, transform .2s;
}
.product-card:hover { border-color:rgba(200,100,40,.35); transform:translateY(-2px); }
.product-card-top {
  padding:1.5rem 1.6rem 1.2rem;
  border-bottom:1px solid var(--border);
  display:flex; align-items:flex-start; gap:.9rem;
}
.product-icon {
  width:42px; height:42px; border-radius:11px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-size:1.2rem;
}
.pi-cc, .pi-cs, .pi-csp, .pi-ep, .pi-fm, .pi-ir, .pi-tc, .pi-mtb { background:none; border:none; }

.product-card-top-text h3 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:.98rem;
  font-weight:800; color:#fff; margin-bottom:.25rem;
}
.product-card-top-text .p-tag { font-size:.72rem; color:var(--muted); font-weight:500; }
.product-card-body {
  padding:1.2rem 1.6rem 1.5rem;
  flex:1; display:flex; flex-direction:column; gap:.8rem;
}
.product-card-body p { font-size:.84rem; color:var(--muted); line-height:1.65; flex:1; }
.product-card-features { list-style:none; padding:0; margin:0; }
.product-card-features li {
  display:flex; align-items:flex-start; gap:.5rem;
  font-size:.79rem; color:var(--muted); margin-bottom:.35rem; line-height:1.45;
}
.product-card-features li::before { content:'•'; color:var(--blue-l); flex-shrink:0; }
.product-card-std {
  display:inline-block; font-size:.7rem; font-weight:600;
  border-radius:20px; padding:.2rem .7rem;
  background:var(--faint); border:1px solid var(--border);
  color:var(--muted); margin-top:auto; width:fit-content;
}
a.product-card { cursor:pointer; text-decoration:none; }
a.product-card:hover { border-color:rgba(200,100,40,.35); transform:translateY(-2px); }

.about-cta {
  text-align:center;
  background:linear-gradient(135deg,rgba(139,62,8,.12),rgba(139,62,8,.03));
  border:1px solid rgba(200,100,40,.22); border-radius:20px;
  padding:3.5rem 2rem;
}
.about-cta h2 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:clamp(1.6rem,3vw,2.2rem);
  font-weight:800; color:#fff; margin-bottom:.8rem; letter-spacing:-.2px;
}
.about-cta p { color:var(--muted); font-size:.95rem; max-width:500px; margin:0 auto 2rem; line-height:1.7; }
.about-cta-btns { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

@media(max-width:860px) {
  .about-two-col, .about-two-col.flip { grid-template-columns:1fr; direction:ltr; }
  .mission-strip { grid-template-columns:1fr; }
  .product-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:560px) { .product-grid { grid-template-columns:1fr; } }

/* ==========================================================================
   Site footer
   ========================================================================== */

.site-footer {
  background:var(--bg2); border-top:1px solid var(--border);
  padding:3rem 4rem; display:block;
}
.site-footer-inner {
  max-width:1100px; margin:0 auto;
  display:grid; grid-template-columns:1.8fr 1fr 1fr;
  gap:2.5rem; align-items:start;
}
.sf-brand .site-footer-logo {
  font-family:'Plus Jakarta Sans',sans-serif; font-weight:800;
  font-size:1.25rem; color:#fff;
}
.sf-brand .site-footer-logo span { color:var(--blue-l); }
.sf-brand .sf-tagline { font-size:.82rem; color:var(--muted); margin-top:.4rem; line-height:1.55; max-width:230px; }
.sf-brand .sf-contact { margin-top:1.2rem; display:flex; flex-direction:column; gap:.35rem; }
.sf-brand .sf-contact a {
  font-size:.8rem; color:var(--muted); text-decoration:none;
  display:flex; align-items:center; gap:.45rem; transition:.15s;
}
.sf-brand .sf-contact a:hover { color:var(--blue-l); }
.sf-brand .sf-contact .sf-ci { font-size:.85rem; margin-top:.3rem; opacity:.6; flex-shrink:0; }
.sf-col h4 {
  font-family:'Plus Jakarta Sans',sans-serif; font-size:.75rem;
  font-weight:700; color:var(--muted); letter-spacing:.08em;
  text-transform:uppercase; margin-bottom:.85rem;
}
.sf-col ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.5rem; }
.sf-col ul li a { font-size:.84rem; color:var(--muted); text-decoration:none; transition:.15s; }
.sf-col ul li a:hover { color:#fff; }
.sf-bottom {
  max-width:1100px; margin:2rem auto 0;
  border-top:1px solid var(--border); padding-top:1.2rem;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.8rem;
}
.sf-bottom p { font-size:.75rem; color:var(--muted); }
.sf-bottom a { font-size:.75rem; color:var(--muted); text-decoration:none; }
.sf-bottom a:hover { color:var(--blue-l); }
.sf-cookie-notice { font-size:.75rem; color:var(--muted); margin-top:.35rem; opacity:.7; }
.sf-cookie-notice a { color:var(--muted); text-decoration:underline; text-underline-offset:2px; }
.sf-cookie-notice a:hover { color:var(--blue-l); }

@media(max-width:860px) {
  .site-footer { padding:2.5rem 2rem; }
  .site-footer-inner { grid-template-columns:1fr 1fr; gap:2rem; }
  .sf-brand { grid-column:1 / -1; }
}
@media(max-width:500px) { .site-footer-inner { grid-template-columns:1fr; } }

/* ==========================================================================
   Terms & Conditions / Privacy Policy  (terms- prefix)
   ========================================================================== */

.terms-page { max-width:860px; margin:0 auto; padding:4rem 2rem 6rem; }
.terms-hero { text-align:center; padding:1rem 0 3rem; }
.terms-hero h1 {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(1.9rem,4vw,3rem); font-weight:800; color:#fff;
  margin:.6rem 0 1rem;
}
.terms-hero p { font-size:.95rem; color:var(--muted); max-width:600px; margin:0 auto; line-height:1.7; }
.terms-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:16px; padding:2.5rem 3rem;
}
@media(max-width:600px) { .terms-card { padding:1.6rem 1.4rem; } }
.terms-meta {
  display:flex; align-items:baseline; justify-content:space-between;
  flex-wrap:wrap; gap:.5rem; margin-bottom:1.4rem;
}
.terms-company { font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:1rem; color:#fff; }
.terms-effective { font-size:.8rem; color:var(--muted); }
.terms-rule { border:none; border-top:1px solid var(--border); margin:1.6rem 0; }
.terms-section { margin-bottom:1.8rem; }
.terms-section:last-of-type { margin-bottom:0; }
.terms-section h2 {
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:.95rem; font-weight:700; color:#fff; margin:0 0 .65rem;
}
.terms-section p { font-size:.87rem; color:var(--muted); line-height:1.75; margin:0 0 .5rem; }
.terms-section p:last-child { margin-bottom:0; }
.terms-ol { list-style:decimal; padding-left:1.4rem; margin:.4rem 0 0; }
.terms-ol li { font-size:.87rem; color:var(--muted); line-height:1.75; margin-bottom:.35rem; }
.terms-ul { list-style:disc; padding-left:1.4rem; margin:.4rem 0 0; }
.terms-ul li { font-size:.87rem; color:var(--muted); line-height:1.75; margin-bottom:.35rem; }
.terms-footer {
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:1rem; margin-top:.4rem;
}
.terms-footer-logo img { height:56px; width:auto; display:block; transform:translateX(-5px); }
.terms-footer-contact a {
  display:flex; align-items:center; gap:.4rem;
  font-size:.84rem; color:var(--muted); text-decoration:none; transition:color .15s;
}
.terms-footer-contact a:hover { color:var(--blue-l); }
.terms-footer-contact i { font-size:1rem; position:relative; top:1px; }
