/* ═══════════════════════════════════════════════════════════════
   EXECS SOFTECH SOLUTIONS — SHARED STYLESHEET
   Identity: $ exec▌  Terminal Prompt · OS Syscall
   Palette: #060608 ink · #c8f53b lime · #f0f0f2 white
   Fonts: JetBrains Mono (display/UI) · Satoshi (body)
   ═══════════════════════════════════════════════════════════════ */

/* ── Google Fonts ── */
@import url('https://fonts.googleapis.com/css2?family=Cabinet+Grotesk:wght@400;700;800;900&family=JetBrains+Mono:ital,wght@0,400;0,500;0,700;1,400&family=Satoshi:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap');

/* ── CSS Variables ── */
:root {
  --ink:        #060608;
  --ink2:       #09090d;
  --ink3:       #0d0e14;
  --card:       #10111a;
  --card2:      #14151f;
  --border:     rgba(255,255,255,.07);
  --border2:    rgba(255,255,255,.12);
  --lime:       #c8f53b;
  --lime-dim:   rgba(200,245,59,.12);
  --lime-faint: rgba(200,245,59,.05);
  --white:      #f0f0f2;
  --muted:      #5a5c74;
  --muted2:     #8a8ca4;
  --prompt:     rgba(200,245,59,.45);
  --radius:     10px;
  --radius2:    16px;
  --radius3:    22px;
  --mono:       'JetBrains Mono', 'Courier New', monospace;
  --sans:       'Satoshi', sans-serif;
  --display:    'Cabinet Grotesk', sans-serif;
}

/* ── Reset ── */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  background: var(--ink);
  color: var(--white);
  font-family: var(--sans);
  overflow-x: hidden;
  line-height: 1.6;
  cursor: none;
}

::selection { background: var(--lime); color: var(--ink); }

/* ── Scrollbar ── */
::-webkit-scrollbar { width: 3px; }
::-webkit-scrollbar-track { background: var(--ink); }
::-webkit-scrollbar-thumb { background: var(--lime); border-radius: 2px; }

/* ── Noise grain overlay ── */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  opacity: .025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 9998;
}

/* ── Custom cursor ── */
#cur {
  position: fixed;
  width: 10px; height: 10px;
  background: var(--lime);
  border-radius: 50%;
  pointer-events: none;
  z-index: 99999;
  transform: translate(-50%,-50%);
  mix-blend-mode: difference;
  transition: transform .15s, width .2s, height .2s;
}
#cur-r {
  position: fixed;
  width: 34px; height: 34px;
  border: 1px solid rgba(200,245,59,.3);
  border-radius: 50%;
  pointer-events: none;
  z-index: 99998;
  transform: translate(-50%,-50%);
  transition: width .3s, height .3s, opacity .3s;
}

/* ── Typography ── */
h1, h2, h3 {
  font-family: var(--display);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -.03em;
}
h1 { font-size: clamp(2.4rem, 5.5vw, 5.8rem); }
h2 { font-size: clamp(2rem, 4.2vw, 4rem); }
h3 { font-size: clamp(1rem, 1.8vw, 1.3rem); font-weight: 700; }
h4 { font-family: var(--display); font-weight: 700; font-size: .95rem; letter-spacing: -.01em; }
p  { color: var(--muted2); font-size: .95rem; line-height: 1.8; }
a  { text-decoration: none; color: inherit; }

.lime  { color: var(--lime); }
.mono  { font-family: var(--mono); }
.prompt-color { color: var(--prompt); }

/* ── Mono label ── */
.mono-label {
  font-family: var(--mono);
  font-size: .6rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--lime);
}

/* ── Section label ── */
.slabel {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 1.5rem;
}
.slabel::before {
  content: '//';
  font-family: var(--mono);
  font-size: .72rem;
  color: var(--lime);
  flex-shrink: 0;
}
.slabel span {
  font-family: var(--mono);
  font-size: .62rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--lime);
}

/* ── Buttons ── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 28px;
  font-family: var(--mono);
  font-weight: 700;
  font-size: .8rem;
  border-radius: 100px;
  cursor: none;
  border: none;
  transition: all .22s cubic-bezier(.4,0,.2,1);
  white-space: nowrap;
  letter-spacing: .02em;
}
.btn-lime  { background: var(--lime); color: var(--ink); }
.btn-lime:hover { background: #d9ff4a; transform: translateY(-2px); box-shadow: 0 12px 40px rgba(200,245,59,.3); }
.btn-ghost { background: transparent; border: 1px solid var(--border2); color: var(--muted2); }
.btn-ghost:hover { border-color: var(--lime); color: var(--lime); background: var(--lime-faint); }
.btn-dark  { background: var(--ink); color: var(--white); }
.btn-dark:hover { background: #111; transform: translateY(-2px); }
.btn-outline-dark { background: transparent; border: 1.5px solid rgba(5,5,7,.25); color: var(--ink); }
.btn-outline-dark:hover { background: rgba(5,5,7,.1); }
.btn-lg { padding: 16px 36px; font-size: .85rem; }

/* ── Section spacing ── */
section { padding: clamp(5rem,9vw,8rem) clamp(1.5rem,5vw,6rem); }
.wrap { max-width: 1280px; margin: 0 auto; }

/* ══════════════════════════════════════════════════════
   NAVIGATION
   ══════════════════════════════════════════════════════ */
nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  height: 68px;
  display: flex;
  align-items: center;
  padding: 0 clamp(1.5rem,5vw,6rem);
  border-bottom: 1px solid transparent;
  background: rgba(6,6,8,0);
  backdrop-filter: blur(0);
  transition: all .4s;
}
nav.scrolled {
  background: rgba(6,6,8,.94);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom-color: var(--border);
}
.nav-inner {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Logo */
.nav-logo {
  display: flex;
  align-items: center;
  gap: 2px;
  text-decoration: none;
}
.nav-logo .logo-wrap {
  display: flex;
  align-items: baseline;
  gap: 0;
  line-height: 1;
}
.nav-logo .l-prompt {
  font-family: var(--mono);
  font-weight: 500;
  font-size: 1.3rem;
  color: var(--prompt);
  letter-spacing: -.02em;
}
.nav-logo .l-exec {
  font-family: var(--mono);
  font-weight: 700;
  font-size: 1.3rem;
  color: var(--white);
  letter-spacing: -.02em;
}
.nav-logo .l-cursor {
  display: inline-block;
  width: 10px;
  height: 1.15rem;
  background: var(--lime);
  border-radius: 2px;
  margin-left: 2px;
  vertical-align: baseline;
  position: relative;
  top: 1px;
  animation: blink 1.1s step-end infinite;
}

/* Nav links */
.nav-links {
  display: flex;
  list-style: none;
  gap: 2px;
}
.nav-links a {
  font-family: var(--mono);
  font-size: .72rem;
  padding: 7px 14px;
  color: var(--muted);
  transition: color .2s;
  border-radius: 100px;
  letter-spacing: .04em;
}
.nav-links a:hover { color: var(--white); }
.nav-links a.active {
  color: var(--white);
  background: var(--card);
}

.nav-right { display: flex; align-items: center; gap: 12px; }
.nav-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--lime);
  box-shadow: 0 0 10px var(--lime);
  animation: pulse 2s ease-in-out infinite;
}

/* Mobile hamburger */
.hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: none;
  padding: 6px;
}
.hamburger span {
  display: block;
  width: 20px; height: 1.5px;
  background: var(--white);
  border-radius: 1px;
  transition: all .3s;
}

/* Mobile menu */
.mob-nav {
  position: fixed;
  inset: 68px 0 0 0;
  background: var(--ink);
  z-index: 997;
  padding: 2.5rem clamp(1.5rem,5vw,4rem);
  display: flex;
  flex-direction: column;
  gap: .2rem;
  transform: translateX(100%);
  transition: transform .38s cubic-bezier(.4,0,.2,1);
  border-top: 1px solid var(--border);
}
.mob-nav.open { transform: translateX(0); }
.mob-nav a {
  font-family: var(--mono);
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--muted);
  padding: 1rem 0;
  border-bottom: 1px solid var(--border);
  transition: color .2s;
  letter-spacing: -.02em;
}
.mob-nav a:hover { color: var(--lime); }

/* ══════════════════════════════════════════════════════
   MARQUEE STRIP
   ══════════════════════════════════════════════════════ */
.marq-strip {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: .8rem 0;
  overflow: hidden;
  background: var(--ink2);
}
.marq-inner {
  display: flex;
  gap: 0;
  animation: marq 28s linear infinite;
  width: max-content;
}
.marq-item {
  font-family: var(--mono);
  font-size: .72rem;
  color: var(--muted);
  white-space: nowrap;
  padding: 0 1.5rem;
  letter-spacing: .06em;
}
.marq-item.accent { color: var(--lime); font-weight: 700; }
.marq-sep {
  color: var(--lime);
  font-family: var(--mono);
  font-size: .6rem;
  display: flex;
  align-items: center;
  padding: 0 .2rem;
  opacity: .5;
}

/* ══════════════════════════════════════════════════════
   CTA BAND
   ══════════════════════════════════════════════════════ */
.cta-band {
  background: var(--lime);
  padding: 5rem clamp(1.5rem,5vw,6rem);
  position: relative;
  overflow: hidden;
}
.cta-band::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(
    -55deg,
    rgba(5,5,7,.04) 0,rgba(5,5,7,.04) 1px,
    transparent 1px,transparent 48px
  );
}
/* faint $ exec text watermark */
.cta-band::after {
  content: '$ exec()';
  position: absolute;
  right: -2%;
  bottom: -20%;
  font-family: var(--mono);
  font-weight: 700;
  font-size: clamp(6rem,14vw,16rem);
  color: rgba(5,5,7,.06);
  letter-spacing: -.04em;
  pointer-events: none;
  user-select: none;
  line-height: 1;
}
.cta-inner {
  position: relative;
  z-index: 1;
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3rem;
  flex-wrap: wrap;
}
.cta-inner h2 {
  font-size: clamp(2rem,4vw,3.6rem);
  color: var(--ink);
  letter-spacing: -.04em;
  max-width: 580px;
  line-height: 1.05;
}
.cta-inner p { color: rgba(5,5,7,.5); margin-top: .75rem; font-size: .95rem; }
.cta-btns { display: flex; gap: .85rem; flex-wrap: wrap; flex-shrink: 0; }

/* ══════════════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════════════ */
footer {
  background: var(--ink);
  border-top: 1px solid var(--border);
  padding: 5rem clamp(1.5rem,5vw,6rem) 2.5rem;
}
.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 3rem;
  margin-bottom: 4rem;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}
.footer-brand-logo {
  display: flex;
  align-items: baseline;
  gap: 2px;
  margin-bottom: 1rem;
}
.footer-brand-logo .l-prompt { font-family: var(--mono); font-weight: 500; font-size: 1.1rem; color: var(--prompt); }
.footer-brand-logo .l-exec   { font-family: var(--mono); font-weight: 700; font-size: 1.1rem; color: var(--white); }
.footer-brand-logo .l-cursor {
  display: inline-block;
  width: 8px; height: .95rem;
  background: var(--lime);
  border-radius: 1.5px;
  margin-left: 2px;
  animation: blink 1.1s step-end infinite;
}
.footer-desc {
  font-size: .82rem;
  color: var(--muted);
  line-height: 1.85;
  max-width: 260px;
  margin-bottom: 1.5rem;
}
.footer-social { display: flex; gap: .5rem; }
.fsoc {
  width: 34px; height: 34px;
  border: 1px solid var(--border2);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .72rem;
  color: var(--muted);
  cursor: none;
  transition: all .2s;
  font-family: var(--mono);
}
.fsoc:hover { background: var(--lime); border-color: var(--lime); color: var(--ink); }
.footer-col h5 {
  font-family: var(--mono);
  font-size: .6rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--muted);
  margin-bottom: 1.3rem;
}
.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: .6rem; }
.footer-col ul a { font-size: .82rem; color: var(--muted); transition: color .2s; }
.footer-col ul a:hover { color: var(--lime); }
.footer-bot {
  max-width: 1280px;
  margin: 0 auto;
  border-top: 1px solid var(--border);
  padding-top: 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}
.footer-bot p, .footer-links a { font-size: .78rem; color: var(--muted); }
.footer-links { display: flex; gap: 1.5rem; }
.footer-links a:hover { color: var(--lime); }

/* WhatsApp FAB */
.waf {
  position: fixed;
  bottom: 2rem; right: 2rem;
  width: 52px; height: 52px;
  background: #25d366;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  box-shadow: 0 6px 28px rgba(37,211,102,.4);
  z-index: 900;
  text-decoration: none;
  transition: transform .22s;
  cursor: none;
}
.waf:hover { transform: scale(1.1); }

/* ══════════════════════════════════════════════════════
   PAGE HERO (shared inner pages)
   ══════════════════════════════════════════════════════ */
.page-hero {
  min-height: 52vh;
  padding-top: 68px;
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.page-hero-bg {
  position: absolute;
  inset: 0;
}
.ph-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px);
  background-size: 80px 80px;
  animation: gridDrift 22s ease-in-out infinite;
}
.ph-grad {
  position: absolute;
  inset: 0;
}
.page-hero-inner {
  position: relative;
  z-index: 2;
  padding: clamp(3.5rem,7vw,6rem) clamp(1.5rem,5vw,6rem);
  max-width: 1280px;
  margin: 0 auto;
  width: 100%;
}
.ph-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--mono);
  font-size: .65rem;
  color: var(--muted2);
  background: var(--card);
  border: 1px solid var(--border);
  padding: 5px 14px;
  border-radius: 100px;
  margin-bottom: 2rem;
  animation: fadeUp .8s ease both;
}
.ph-breadcrumb .bc-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--lime);
  animation: pulse 2s infinite;
}
.ph-breadcrumb .bc-sep { color: var(--muted); }
.page-h1 {
  font-size: clamp(2.4rem,5.5vw,5.8rem);
  animation: fadeUp .9s .1s ease both;
  line-height: 1.04;
  margin-bottom: 1.5rem;
}
.page-sub {
  max-width: 580px;
  font-size: 1rem;
  line-height: 1.85;
  color: var(--muted2);
  animation: fadeUp .9s .2s ease both;
  margin-bottom: 2.5rem;
}

/* ══════════════════════════════════════════════════════
   CARD COMPONENTS
   ══════════════════════════════════════════════════════ */
.card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius2);
  transition: border-color .25s, transform .25s;
}
.card:hover {
  border-color: var(--border2);
  transform: translateY(-4px);
}
.card-lime-top {
  position: relative;
  overflow: hidden;
}
.card-lime-top::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--lime), transparent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .45s cubic-bezier(.4,0,.2,1);
}
.card-lime-top:hover::before { transform: scaleX(1); }
.card-lime-left {
  position: relative;
  overflow: hidden;
}
.card-lime-left::before {
  content: '';
  position: absolute;
  top: 0; left: 0; bottom: 0;
  width: 2px;
  background: linear-gradient(180deg, var(--lime), transparent);
  transform: scaleY(0);
  transition: transform .45s cubic-bezier(.4,0,.2,1);
}
.card-lime-left:hover::before { transform: scaleY(1); }

/* ══════════════════════════════════════════════════════
   STATS
   ══════════════════════════════════════════════════════ */
.stat-num {
  font-family: var(--display);
  font-size: clamp(2.6rem,5vw,4.2rem);
  font-weight: 900;
  color: var(--lime);
  line-height: 1;
  letter-spacing: -.04em;
  margin-bottom: .3rem;
}
.stat-label {
  font-family: var(--mono);
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--muted);
}

/* ══════════════════════════════════════════════════════
   TESTIMONIALS
   ══════════════════════════════════════════════════════ */
.testimonial-quote::before {
  content: '\201C';
  color: var(--lime);
  font-size: 2rem;
  font-style: normal;
  line-height: 0;
  vertical-align: -.35em;
  margin-right: 3px;
  font-family: var(--display);
}
.testimonial-avatar {
  width: 38px; height: 38px;
  border-radius: 9px;
  background: linear-gradient(135deg, var(--lime), #a8d400);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--display);
  font-weight: 900;
  font-size: .9rem;
  color: var(--ink);
  flex-shrink: 0;
}

/* ══════════════════════════════════════════════════════
   FAQ ACCORDION
   ══════════════════════════════════════════════════════ */
.faq-item { border-bottom: 1px solid var(--border); }
.faq-question {
  padding: 1.4rem 0;
  font-family: var(--display);
  font-weight: 700;
  font-size: .95rem;
  cursor: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  color: var(--muted2);
  transition: color .2s;
  letter-spacing: -.01em;
}
.faq-question:hover { color: var(--white); }
.faq-icon {
  width: 26px; height: 26px;
  border-radius: 50%;
  border: 1px solid var(--border2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .8rem;
  color: var(--muted);
  flex-shrink: 0;
  transition: all .25s;
  font-family: var(--mono);
}
.faq-item.open .faq-icon  { background: var(--lime); border-color: var(--lime); color: var(--ink); transform: rotate(45deg); }
.faq-item.open .faq-question { color: var(--white); }
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height .38s cubic-bezier(.4,0,.2,1);
  font-size: .87rem;
  color: var(--muted);
  line-height: 1.85;
}
.faq-item.open .faq-answer { max-height: 300px; padding-bottom: 1.4rem; }

/* ══════════════════════════════════════════════════════
   SCROLL REVEAL ANIMATIONS
   ══════════════════════════════════════════════════════ */
.rv, .rv-l, .rv-r, .rv-s {
  opacity: 0;
  transition: opacity .85s cubic-bezier(.4,0,.2,1), transform .85s cubic-bezier(.4,0,.2,1);
}
.rv   { transform: translateY(38px); }
.rv-l { transform: translateX(-50px); }
.rv-r { transform: translateX(50px); }
.rv-s { transform: scale(.9); }
.rv.on, .rv-l.on, .rv-r.on, .rv-s.on { opacity: 1; transform: none; }

.d1 { transition-delay: .07s; }
.d2 { transition-delay: .14s; }
.d3 { transition-delay: .21s; }
.d4 { transition-delay: .28s; }
.d5 { transition-delay: .35s; }
.d6 { transition-delay: .42s; }
.d7 { transition-delay: .49s; }

/* ══════════════════════════════════════════════════════
   KEYFRAMES
   ══════════════════════════════════════════════════════ */
@keyframes fadeUp  { from { opacity:0; transform:translateY(28px) } to { opacity:1; transform:none } }
@keyframes fadeIn  { from { opacity:0 } to { opacity:1 } }
@keyframes pageIn  { from { opacity:0; transform:translateY(12px) } to { opacity:1; transform:none } }
@keyframes blink   { 0%,100%{opacity:1} 50%{opacity:0} }
@keyframes pulse   { 0%,100%{opacity:1} 50%{opacity:.3} }
@keyframes marq    { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes gridDrift { 0%,100%{background-position:0 0} 50%{background-position:20px 20px} }
@keyframes scanLine {
  0%   { top:-2%;  opacity:0; }
  10%  { opacity:.45; }
  90%  { opacity:.15; }
  100% { top:102%; opacity:0; }
}
@keyframes orbFloat {
  0%,100% { transform:translate(0,0) scale(1); }
  33%     { transform:translate(28px,-18px) scale(1.04); }
  66%     { transform:translate(-18px,26px) scale(.96); }
}
@keyframes typeIn {
  from { width: 0; }
  to   { width: 100%; }
}
@keyframes termLine {
  from { opacity:0; transform:translateY(6px) }
  to   { opacity:1; transform:none }
}

.page-wrap { animation: pageIn .6s cubic-bezier(.4,0,.2,1) both; }

/* ══════════════════════════════════════════════════════
   TECH TAGS
   ══════════════════════════════════════════════════════ */
.tech-tag {
  font-family: var(--mono);
  font-size: .58rem;
  padding: 3px 10px;
  border-radius: 100px;
  background: var(--lime-dim);
  color: var(--lime);
  border: 1px solid rgba(200,245,59,.18);
  letter-spacing: .04em;
}
.blue-tag {
  font-family: var(--mono);
  font-size: .58rem;
  padding: 3px 10px;
  border-radius: 100px;
  background: rgba(59,127,255,.1);
  color: #6fa3ff;
  border: 1px solid rgba(59,127,255,.2);
}

/* ══════════════════════════════════════════════════════
   FORM ELEMENTS
   ══════════════════════════════════════════════════════ */
.form-group { margin-bottom: 1rem; }
.form-group label {
  display: block;
  font-family: var(--mono);
  font-size: .6rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--muted);
  margin-bottom: .5rem;
}
.form-group input,
.form-group textarea,
.form-group select {
  width: 100%;
  background: var(--ink);
  border: 1px solid var(--border2);
  border-radius: var(--radius);
  padding: 12px 14px;
  color: var(--white);
  font-family: var(--sans);
  font-size: .87rem;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
}
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
  border-color: var(--lime);
  box-shadow: 0 0 0 3px rgba(200,245,59,.1);
}
.form-group textarea  { height: 110px; resize: vertical; }
.form-group select option { background: var(--card); }

/* ══════════════════════════════════════════════════════
   RESPONSIVE — Full breakpoint system
   ══════════════════════════════════════════════════════ */

/* ── Tablet landscape: 1100px ── */
@media (max-width: 1100px) {
  section { padding: clamp(3.5rem,7vw,6rem) clamp(1.2rem,4vw,3rem); }

  .footer-grid { grid-template-columns: 1fr 1fr; gap: 2.5rem; }
  .cta-inner   { flex-direction: column; gap: 2rem; }
  .cta-inner h2 { font-size: clamp(1.8rem,4vw,2.8rem); }
}

/* ── Tablet portrait: 900px ── */
@media (max-width: 900px) {
  h1 { font-size: clamp(2rem, 6vw, 3.2rem); }
  h2 { font-size: clamp(1.6rem, 5vw, 2.4rem); }

  .page-hero { min-height: 55vh; }
  .page-h1   { font-size: clamp(2rem,6vw,3.2rem); }

  /* Footer: brand full width, cols below */
  .footer-grid { grid-template-columns: 1fr 1fr 1fr; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
}

/* ── Mobile: 768px ── */
@media (max-width: 768px) {
  /* Disable custom cursor on touch devices */
  body { cursor: auto; }
  #cur, #cur-r { display: none; }

  /* Nav */
  .nav-links { display: none; }
  .nav-right .btn-lime { display: none; }
  .hamburger { display: flex; }

  /* Section padding tighter */
  section { padding: 3rem 1.2rem; }
  .wrap   { padding: 0; }

  /* Hero text */
  h1 { font-size: clamp(1.9rem, 8vw, 3rem); }
  h2 { font-size: clamp(1.5rem, 6.5vw, 2.2rem); }
  .hero-sub, .page-sub { font-size: .9rem; }

  /* Page hero */
  .page-hero-inner { padding: 2.5rem 1.2rem; }
  .page-h1 { font-size: clamp(2rem,9vw,3rem); }

  /* Hero action buttons */
  .hero-acts { flex-direction: column; gap: .7rem; }
  .hero-acts .btn { width: 100%; justify-content: center; }

  /* CTA band */
  .cta-band { padding: 3.5rem 1.2rem; }
  .cta-inner { flex-direction: column; gap: 2rem; }
  .cta-btns  { flex-direction: column; width: 100%; }
  .cta-btns .btn { width: 100%; justify-content: center; }
  .cta-band::after { display: none; } /* hide watermark on mobile */

  /* Footer */
  .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
  .footer-grid > div:first-child { grid-column: auto; }
  .footer-bot { flex-direction: column; gap: .6rem; text-align: center; }
  .footer-links { justify-content: center; }
  footer { padding: 3rem 1.2rem 2rem; }

  /* Stats row */
  .stats-row { padding: 2.5rem 1.2rem; gap: 1.5rem;
    display: grid; grid-template-columns: 1fr 1fr; }
  .stat-num  { font-size: clamp(2rem,8vw,3rem); }

  /* Marquee text smaller */
  .marq-item { font-size: .65rem; padding: 0 1rem; }

  /* Breadcrumb smaller */
  .ph-breadcrumb { font-size: .58rem; }

  /* Buttons full-width in page heroes */
  .page-hero-inner .btn { width: 100%; justify-content: center; }
  .page-hero-inner div[style*="display:flex"] { flex-direction: column; gap: .7rem; }
}

/* ── Small mobile: 480px ── */
@media (max-width: 480px) {
  nav { padding: 0 1rem; }
  .nav-logo .l-prompt,
  .nav-logo .l-exec  { font-size: 1.1rem; }

  section { padding: 2.5rem 1rem; }
  .page-hero-inner { padding: 2rem 1rem; }
  .cta-band { padding: 2.8rem 1rem; }
  footer    { padding: 2.5rem 1rem 1.5rem; }

  h1 { font-size: clamp(1.7rem,9vw,2.6rem); }
  h2 { font-size: clamp(1.4rem,7.5vw,2rem); }

  .btn { padding: 11px 20px; font-size: .75rem; }
  .btn-lg { padding: 13px 22px; font-size: .78rem; }

  .stats-row { grid-template-columns: 1fr 1fr; padding: 2rem 1rem; gap: 1rem; }

  .footer-social { gap: .4rem; }
  .fsoc { width: 30px; height: 30px; font-size: .65rem; }

  .waf { bottom: 1.2rem; right: 1.2rem; width: 46px; height: 46px; font-size: 1.1rem; }
}
