/* N.O.R.A Systems — Demo shared styles */

:root{
  --bg:#0d0d0d; --bg2:#1a1a1a;
  --text:#e0e0e0; --muted:rgba(224,224,224,.85);
  --line:rgba(224,224,224,.22);
  --accent:#87cefa; --accent-dark:#0078b8; --accent-darker:#005e94;
  --font-main:'Technovier Bold','Arial Black',Arial,sans-serif;
  --light-bg:#E3EDF8;       /* on-brand light blue (default) — pairs with dark cyan */
  --light-bg2:#CDDDED;      /* deeper blue for alternate sections */
  --light-text:#1a2233;     /* near-black with cool undertone */
  --light-muted:#465468;    /* cool grey for muted text */
  --light-line:#B4C8DE;     /* blue-toned borders */
  --light-card:#F3F8FD;     /* very pale blue for cards */
  --light-crisp:#ffffff;    /* pure white reserved for form inputs */
  --green:#2ea043; --amber:#b45309;
  --transition:all .25s ease;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{overflow-x:clip}
img,iframe,table{max-width:100%}
body{font-family:var(--font-main);color:var(--text);background:#0d0d0d;line-height:1.6}

/* ─── Demo banner ──────────────────────────────────────────────────── */
.demo-banner{position:fixed;top:0;left:0;right:0;z-index:2000;
  background:#ffb800;color:#1a1a1a;text-align:center;
  padding:.45rem 1rem;font-size:.74rem;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;
  border-bottom:1px solid rgba(0,0,0,.18)}
.demo-banner a{color:#1a1a1a;text-decoration:underline}
body.with-banner header{top:28px}

/* ─── Header / Nav ─────────────────────────────────────────────────── */
header{position:fixed;top:0;width:100%;z-index:1000;
  background:rgba(11,15,22,.92);backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(224,224,224,.1);transition:var(--transition)}
nav{max-width:1200px;margin:0 auto;padding:.9rem 1.5rem;
  display:flex;justify-content:space-between;align-items:center;gap:1rem}
.logo{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--text)}
.logo-image{width:46px;height:46px;border-radius:50%;object-fit:cover;
  border:1.5px solid rgba(255,255,255,.15);box-shadow:0 4px 14px rgba(135,206,250,.22)}
.logo-text{display:flex;flex-direction:column;line-height:1.05}
.logo-main{font-size:1.35rem;font-weight:800;letter-spacing:-.04em;
  background:linear-gradient(135deg,#fff,#cfd6e0);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.logo-sub{font-size:.55rem;color:var(--muted);
  text-transform:uppercase;letter-spacing:.16em;margin-top:.16rem}
.nav-right{display:flex;align-items:center;gap:1rem}
.nav-links{list-style:none;display:flex;gap:.3rem;flex-wrap:wrap}
.nav-links a{color:var(--muted);text-decoration:none;text-transform:uppercase;
  letter-spacing:.06em;font-size:.72rem;padding:.5rem .75rem;border-radius:8px;
  transition:var(--transition)}
.nav-links a:hover{color:#fff;background:rgba(224,224,224,.1)}
.nav-cta{display:inline-block;padding:.55rem 1rem;border-radius:8px;
  background:var(--accent);color:#0b1a2a;text-decoration:none;font-weight:700;
  font-size:.76rem;letter-spacing:.04em;transition:var(--transition);white-space:nowrap}
.nav-cta:hover{background:#a4dafd;transform:translateY(-1px)}

/* ─── HERO (dark) ──────────────────────────────────────────────────── */
.hero{display:flex;align-items:center;justify-content:center;
  text-align:center;padding:7rem 2rem 4rem;background:#0B0F16;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 50% 35%,rgba(135,206,250,.12),transparent 60%);
  pointer-events:none}
.hero-inner{max-width:960px;margin:0 auto;position:relative;z-index:1}
.hero.full{min-height:100vh}
.hero.tier{min-height:60vh;padding:7rem 1.5rem 4rem}

.massive-logo{display:block;max-width:min(820px,92vw);width:100%;height:auto;
  margin:0 auto 1.8rem;
  filter:drop-shadow(0 0 32px rgba(135,206,250,.32));
  opacity:0;transform:scale(0.95);
  transition:opacity 1.1s ease-out .2s,transform 1.1s ease-out .2s}
body.loaded .massive-logo{opacity:1;transform:scale(1)}

.hero-pill{display:inline-flex;align-items:center;gap:.5rem;
  padding:.3rem .8rem;background:rgba(135,206,250,.12);
  border:1px solid rgba(135,206,250,.32);border-radius:99px;
  font-size:.72rem;color:var(--accent);margin-bottom:1.3rem;letter-spacing:.04em}
.hero-pill .dot{width:7px;height:7px;background:#3ecf8e;border-radius:50%;
  box-shadow:0 0 8px #3ecf8e;animation:pulse-dot 2s infinite}

.hero-title{font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:.85rem;color:#fff;
  line-height:1.15;letter-spacing:-.02em;max-width:860px;margin-left:auto;margin-right:auto}
.hero-title em{color:var(--accent);font-style:normal}
.hero-copy{color:var(--muted);max-width:620px;margin:0 auto 1.5rem;
  font-size:clamp(.95rem,1.2vw,1.04rem)}

.hero-cta-row{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;
  margin-bottom:1.2rem}
.btn-primary{display:inline-flex;align-items:center;gap:.5rem;
  padding:.95rem 1.6rem;border-radius:10px;
  background:var(--accent);border:1px solid var(--accent);
  color:#0b1a2a;text-decoration:none;font-weight:700;font-size:.98rem;
  box-shadow:0 6px 22px rgba(135,206,250,.28);transition:var(--transition)}
.btn-primary:hover{background:#a4dafd;transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(135,206,250,.36)}
.btn-secondary{display:inline-flex;align-items:center;gap:.4rem;
  padding:.95rem 1.3rem;border-radius:10px;background:transparent;
  border:1px solid rgba(224,224,224,.25);color:#fff;text-decoration:none;
  font-weight:600;font-size:.92rem;transition:var(--transition)}
.btn-secondary:hover{background:rgba(224,224,224,.07);border-color:rgba(224,224,224,.45)}

.hero-trust{display:flex;gap:1.3rem;justify-content:center;flex-wrap:wrap;
  font-size:.74rem;color:var(--muted);margin-top:.4rem}
.hero-trust span{display:inline-flex;align-items:center;gap:.35rem}
.hero-trust span::before{content:'✓';color:var(--accent);font-weight:700}

.tier-sub-nav{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-top:1.2rem}
.tier-sub-nav a{font-size:.72rem;color:var(--muted);padding:.4rem .75rem;
  border:1px solid rgba(224,224,224,.18);border-radius:8px;text-decoration:none;
  text-transform:uppercase;letter-spacing:.08em;transition:var(--transition)}
.tier-sub-nav a:hover{color:#fff;border-color:rgba(135,206,250,.45)}

@keyframes pulse-dot{0%,100%{box-shadow:0 0 8px #3ecf8e}
  50%{box-shadow:0 0 14px #3ecf8e,0 0 0 4px transparent}}

/* ─── Fades between sections (longer + neutral mid-stops, theme-safe) ─ */
.hero-fade{height:160px;background:linear-gradient(180deg,
  #0B0F16 0%,
  #1a1a1a 35%,
  #2c2c2c 70%,
  var(--light-bg) 100%)}
.pre-footer-fade{height:110px;background:linear-gradient(180deg,
  var(--light-bg2) 0%,
  #2c2c2c 50%,
  #1f1f1f 100%)}


/* ─── Light sections ───────────────────────────────────────────────── */
.light-section{background:var(--light-bg);color:var(--light-text);
  padding:3.5rem 2rem;position:relative}
.light-section .container{max-width:1200px;margin:0 auto}
.section-title{text-align:center;font-size:clamp(1.5rem,2.8vw,2rem);
  margin-bottom:.6rem;color:var(--light-text);letter-spacing:-.01em}
.section-sub{text-align:center;color:var(--light-muted);
  margin-bottom:2rem;line-height:1.55;max-width:600px;
  margin-left:auto;margin-right:auto;font-size:.95rem}

/* Trust strip */
.trust-strip{background:var(--light-bg);padding:2.4rem 2rem 1.2rem}
.trust-grid{max-width:1200px;margin:0 auto;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.trust-card{padding:1.15rem 1.05rem;background:var(--light-card);
  border:1px solid var(--light-line);border-radius:12px;
  display:flex;gap:.8rem;align-items:flex-start;transition:var(--transition)}
.trust-card:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.06)}
.trust-card .ico{width:38px;height:38px;border-radius:9px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,120,184,.1);color:var(--accent-dark)}
.trust-card .ico svg{width:20px;height:20px;stroke-width:2}
.icon{width:18px;height:18px;stroke-width:2;flex-shrink:0;
  vertical-align:-3px}
.trust-card h4{font-size:.92rem;color:var(--light-text);margin-bottom:.2rem}
.trust-card p{font-size:.8rem;color:var(--light-muted);line-height:1.45;margin:0}

/* Tier cards */
.tiers-grid{display:grid;
  grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
  gap:1.1rem;margin-top:1.3rem}
.tier-card{padding:1.6rem 1.4rem 1.4rem;border:1px solid var(--light-line);
  border-radius:14px;background:var(--light-card);position:relative;
  overflow:hidden;transition:var(--transition);
  display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.tier-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--accent),var(--accent-dark));opacity:.9}
.tier-card:hover{transform:translateY(-5px);border-color:var(--accent-dark);
  box-shadow:0 14px 28px rgba(0,120,184,.14)}
.tier-card .tier-num{font-size:.7rem;letter-spacing:.18em;
  color:var(--accent-dark);font-weight:700;margin-bottom:.4rem;text-transform:uppercase}
.tier-card .tier-badge{position:absolute;top:1.1rem;right:1.1rem;
  font-size:.62rem;letter-spacing:.12em;font-weight:700;
  padding:.15rem .55rem;border-radius:99px;text-transform:uppercase}
.tier-card .badge-live{background:rgba(46,160,67,.15);color:var(--green)}
.tier-card .badge-dev{background:rgba(217,119,6,.15);color:var(--amber)}
.tier-card h3{font-size:1.1rem;margin:0 0 .5rem;color:var(--light-text)}
.tier-card .tier-tag{font-size:.72rem;color:var(--accent-dark);font-weight:600;
  margin-bottom:.7rem;text-transform:uppercase;letter-spacing:.06em}
.tier-card p{color:var(--light-muted);font-size:.86rem;line-height:1.5;margin-bottom:.9rem}
.tier-card ul{list-style:none;padding:0;margin:0 0 1rem;flex:1}
.tier-card li{font-size:.82rem;padding:.32rem 0;color:#2d3748;
  border-bottom:1px dashed rgba(0,0,0,.08);
  display:flex;justify-content:space-between;gap:.5rem}
.tier-card li:last-child{border-bottom:none}
.tier-card li .price{color:var(--accent-dark);font-weight:700;white-space:nowrap}
.tier-card .tier-link{align-self:flex-start;display:inline-block;
  margin-top:.4rem;padding:.6rem 1.1rem;border-radius:8px;
  background:var(--accent-dark);border:1px solid var(--accent-dark);
  color:#fff;text-decoration:none;font-weight:600;
  font-size:.78rem;letter-spacing:.04em;transition:var(--transition)}
.tier-card .tier-link:hover{background:var(--accent-darker);transform:translateX(2px)}

/* Process strip */
.process{background:var(--light-bg2);padding:3.5rem 2rem}
.process-grid{max-width:1100px;margin:1.4rem auto 0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.1rem}
.process-step{padding:1.3rem 1.1rem;background:var(--light-card);
  border:1px solid var(--light-line);border-radius:12px}
.process-step .num{display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:32px;border-radius:50%;
  background:var(--accent-dark);color:#fff;font-weight:800;
  font-size:.9rem;margin-bottom:.6rem}
.process-step h4{font-size:.95rem;color:var(--light-text);margin-bottom:.3rem}
.process-step p{font-size:.83rem;color:var(--light-muted);line-height:1.45;margin:0}

/* Mid-page CTA */
.midcta{background:linear-gradient(135deg,#0B0F16,#1a1a2e);
  padding:3rem 2rem;text-align:center;color:#fff;position:relative;overflow:hidden}
.midcta::before{content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 50% 50%,rgba(135,206,250,.1),transparent 70%);
  pointer-events:none}
.midcta-inner{max-width:680px;margin:0 auto;position:relative;z-index:1}
.midcta h2{font-size:clamp(1.3rem,2.4vw,1.7rem);margin-bottom:.7rem;color:#fff}
.midcta p{color:var(--muted);margin-bottom:1.3rem;line-height:1.55;font-size:.96rem}

/* Pricing tables (light tier pages) */
.pricing-tables{display:flex;flex-direction:column;gap:2rem;margin-top:1rem}
.price-block h3{font-size:1rem;color:var(--light-text);margin-bottom:.6rem;
  letter-spacing:.02em}
.pricing-table{width:100%;border-collapse:collapse;background:var(--light-card);
  border:1px solid var(--light-line);border-radius:12px;overflow:hidden}
.pricing-table th,.pricing-table td{text-align:left;padding:.75rem .9rem;
  border-bottom:1px solid var(--light-line);vertical-align:top;font-size:.85rem}
.pricing-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;
  color:var(--light-muted);background:rgba(0,0,0,.02);font-weight:700}
.pricing-table tr:last-child td{border-bottom:none}
.pricing-table .price-value{font-weight:800;color:var(--accent-dark);white-space:nowrap}

/* Work / case studies (light) */
.work-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:1.1rem;margin-top:1.4rem}
.work-card{padding:1.4rem 1.3rem 1.2rem;border:1px solid var(--light-line);
  border-radius:14px;background:var(--light-card);position:relative;overflow:hidden}
.work-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--accent-dark);opacity:.85}
.work-card h3{font-size:1rem;color:var(--light-text);margin:0 0 .8rem}
.work-row{display:flex;gap:.6rem;align-items:start;font-size:.83rem;
  line-height:1.5;margin-bottom:.4rem;color:var(--light-muted)}
.work-lbl{color:var(--accent-dark);font-weight:700;min-width:62px;
  text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;padding-top:.15rem;flex-shrink:0}
.work-tags{margin-top:.8rem;padding-top:.7rem;border-top:1px solid var(--light-line);
  display:flex;flex-wrap:wrap;gap:.3rem}
.work-tag{font-size:.68rem;padding:.16rem .55rem;border-radius:10px;
  background:rgba(0,120,184,.1);color:var(--accent-dark);font-weight:600}

/* Sector cards (tier-3) */
.sector-card .ico svg{width:32px;height:32px;color:var(--accent-dark);stroke-width:1.8}

/* ─── NORA Scoper (live AI proposal — flagship) ────────────────────── */
.scoper-section{background:linear-gradient(180deg,#0B0F16 0%,#0d1424 50%,#0B0F16 100%);
  padding:4rem 1.5rem;position:relative;overflow:hidden;color:#fff}
.scoper-section::before{content:'';position:absolute;inset:0;
  background:
    radial-gradient(circle at 20% 30%,rgba(135,206,250,.08),transparent 40%),
    radial-gradient(circle at 80% 70%,rgba(135,206,250,.06),transparent 40%);
  pointer-events:none}
.scoper-inner{max-width:920px;margin:0 auto;position:relative;z-index:1}
.scoper-eyebrow{display:inline-flex;align-items:center;gap:.5rem;
  font-size:.7rem;color:var(--accent);letter-spacing:.18em;text-transform:uppercase;
  font-weight:700;margin-bottom:.9rem;padding:.3rem .7rem;
  border:1px solid rgba(135,206,250,.35);border-radius:99px;
  background:rgba(135,206,250,.08)}
.scoper-eyebrow .live-dot{width:6px;height:6px;border-radius:50%;
  background:#3ecf8e;box-shadow:0 0 8px #3ecf8e;animation:pulse-dot 2s infinite}
.scoper-h2{font-size:clamp(1.6rem,3vw,2.2rem);color:#fff;margin-bottom:.6rem;
  letter-spacing:-.02em;line-height:1.2}
.scoper-h2 em{color:var(--accent);font-style:normal}
.scoper-sub{color:var(--muted);font-size:1rem;max-width:580px;margin-bottom:2rem;line-height:1.55}

.scoper-card{background:rgba(255,255,255,.04);
  border:1px solid rgba(135,206,250,.2);border-radius:16px;
  padding:1.6rem 1.5rem;backdrop-filter:blur(8px);
  transition:var(--transition)}
.scoper-card:focus-within{border-color:var(--accent);
  box-shadow:0 0 0 4px rgba(135,206,250,.12)}
.scoper-input{width:100%;background:rgba(0,0,0,.32);
  color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:10px;
  padding:1rem 1.1rem;font-family:inherit;font-size:.96rem;
  line-height:1.55;resize:vertical;min-height:90px;
  transition:var(--transition)}
.scoper-input:focus{outline:none;border-color:var(--accent);
  background:rgba(0,0,0,.45)}
.scoper-input::placeholder{color:rgba(224,224,224,.4)}
.scoper-actions{display:flex;justify-content:space-between;align-items:center;
  gap:1rem;margin-top:.9rem;flex-wrap:wrap}
.scoper-examples{display:flex;gap:.4rem;flex-wrap:wrap}
.scoper-examples button{background:transparent;border:1px solid rgba(255,255,255,.15);
  color:var(--muted);padding:.45rem .75rem;border-radius:99px;
  font-size:.72rem;cursor:pointer;font-family:inherit;
  transition:var(--transition)}
.scoper-examples button:hover{color:#fff;border-color:rgba(135,206,250,.5);
  background:rgba(135,206,250,.08)}
.scoper-go{background:var(--accent);color:#0b1a2a;border:none;
  padding:.85rem 1.4rem;border-radius:10px;font-weight:700;font-size:.92rem;
  cursor:pointer;font-family:inherit;letter-spacing:.04em;
  display:inline-flex;align-items:center;gap:.5rem;
  box-shadow:0 6px 22px rgba(135,206,250,.28);transition:var(--transition)}
.scoper-go:hover{background:#a4dafd;transform:translateY(-2px)}
.scoper-go:disabled{opacity:.6;cursor:not-allowed;transform:none}
.scoper-go svg{width:16px;height:16px;stroke-width:2.5}

.scoper-output{margin-top:1.4rem;display:none;background:rgba(0,0,0,.35);
  border:1px solid rgba(135,206,250,.18);border-radius:12px;
  padding:1.4rem 1.4rem;font-size:.92rem;line-height:1.65}
.scoper-output.visible{display:block;animation:fadeIn .4s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.scoper-output .label{color:var(--accent);font-size:.7rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.12em;margin:1rem 0 .25rem}
.scoper-output .label:first-child{margin-top:0}
.scoper-output .val{color:#fff;font-weight:600;font-size:1.02rem;margin-bottom:.3rem}
.scoper-output p{color:rgba(224,224,224,.85);margin:.2rem 0 .4rem}
.scoper-output ol{padding-left:1.2rem;color:rgba(224,224,224,.85);margin:.2rem 0}
.scoper-output ol li{margin-bottom:.3rem;font-size:.9rem}
.scoper-output .price{color:var(--accent);font-weight:700}
.scoper-output .cursor{display:inline-block;width:8px;height:1em;
  background:var(--accent);vertical-align:-2px;margin-left:1px;
  animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.scoper-output .followup{margin-top:1.4rem;padding-top:1.2rem;
  border-top:1px solid rgba(255,255,255,.1);
  display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}
.scoper-output .followup-text{color:var(--muted);font-size:.85rem;flex:1;min-width:200px}
.scoper-disclaimer{margin-top:.9rem;font-size:.72rem;color:rgba(224,224,224,.45);
  text-align:center;letter-spacing:.02em}

/* ─── Live status pill (hero) ──────────────────────────────────────── */
.status-pill{display:inline-flex;align-items:center;gap:.45rem;
  font-size:.7rem;color:rgba(224,224,224,.7);
  background:rgba(0,0,0,.35);
  padding:.3rem .7rem;border-radius:99px;
  border:1px solid rgba(62,207,142,.2);
  margin-top:.7rem;letter-spacing:.02em}
.status-pill .live-dot{width:6px;height:6px;border-radius:50%;
  background:#3ecf8e;box-shadow:0 0 8px #3ecf8e;animation:pulse-dot 2s infinite}
.status-pill a{color:inherit;text-decoration:underline;text-decoration-color:rgba(255,255,255,.2)}

@media (max-width:768px){
  .scoper-section{padding:2.8rem 1rem}
  .scoper-h2{font-size:1.4rem}
  .scoper-card{padding:1.2rem 1rem}
  .scoper-examples{display:none}
  .scoper-actions{flex-direction:column;align-items:stretch}
  .scoper-go{justify-content:center;width:100%}
}

/* Form */
.enquire{background:var(--light-card);border-top:1px solid var(--light-line)}
.enquire form{max-width:680px;margin:0 auto;display:grid;gap:14px}
.enquire input,.enquire select,.enquire textarea{
  padding:.85rem 1rem;background:var(--light-crisp);color:var(--light-text);
  border:1px solid var(--light-line);border-radius:8px;
  font-family:inherit;font-size:.94rem;transition:var(--transition);width:100%}
.enquire input:focus,.enquire select:focus,.enquire textarea:focus{
  outline:none;border-color:var(--accent-dark);
  box-shadow:0 0 0 3px rgba(0,120,184,.15)}
.enquire ::placeholder{color:#9ca3af;opacity:1}
.enquire button[type="submit"]{padding:1rem 1.5rem;
  background:var(--accent-dark);border:1px solid var(--accent-dark);
  color:#fff;border-radius:10px;font-weight:700;font-size:1rem;cursor:pointer;
  letter-spacing:.04em;text-transform:uppercase;transition:var(--transition)}
.enquire button[type="submit"]:hover{background:var(--accent-darker)}
.form-foot{font-size:.76rem;color:var(--light-muted);
  text-align:center;margin-top:.4rem;line-height:1.5}
.form-foot a{color:var(--accent-dark)}

/* About */
.about{background:var(--light-bg2)}
.about .about-wrap{display:grid;grid-template-columns:200px 1fr;
  gap:1.4rem;align-items:start;max-width:920px;margin:0 auto}
.about .about-photo img{width:100%;border-radius:12px;
  border:1px solid var(--light-line);object-fit:cover;
  box-shadow:0 8px 22px rgba(0,0,0,.1)}
.about p{color:var(--light-muted);margin-bottom:.9rem;font-size:.94rem;line-height:1.6}
.about strong{color:var(--light-text)}
.about strong.accent{color:var(--accent-dark)}

/* Footer */
footer{background:linear-gradient(135deg,#141414,#2a1635);
  color:#fff;padding:3rem 2rem 1.8rem}
.footer-content{max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem}
.footer-logo{font-size:1.6rem;font-weight:800;margin-bottom:.8rem;color:var(--accent)}
.footer-desc{color:rgba(255,255,255,.82);margin-bottom:1.2rem;line-height:1.55;
  max-width:520px;font-size:.92rem}
.footer-contact{color:rgba(255,255,255,.88);font-size:.98rem;margin-bottom:.6rem}
.footer-contact strong{color:var(--accent)}
.footer-meta{color:rgba(255,255,255,.6);font-size:.78rem;line-height:1.5}
.footer-links h4{font-size:.95rem;margin-bottom:1rem;color:var(--accent)}
.footer-links ul{list-style:none}
.footer-links li{margin-bottom:.45rem}
.footer-links a{color:rgba(255,255,255,.8);text-decoration:none;
  font-size:.88rem;transition:var(--transition)}
.footer-links a:hover{color:var(--accent)}
.copyright{text-align:center;padding-top:1.8rem;color:rgba(255,255,255,.6);
  border-top:1px solid rgba(255,255,255,.15);margin-top:2.2rem;font-size:.74rem}

/* Sticky bottom CTA */
.sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:900;
  background:rgba(11,15,22,.96);backdrop-filter:blur(12px);
  border-top:1px solid rgba(135,206,250,.3);
  padding:.65rem 1.1rem;display:none;justify-content:space-between;
  align-items:center;gap:.9rem;
  box-shadow:0 -4px 20px rgba(0,0,0,.4);
  transform:translateY(100%);transition:transform .3s ease}
.sticky-cta.visible{display:flex;transform:translateY(0)}
.sticky-cta-text{color:#fff;font-size:.85rem;line-height:1.3}
.sticky-cta-text small{display:block;color:var(--muted);font-size:.7rem;margin-top:.15rem}
.sticky-cta .btn-primary{padding:.65rem 1rem;font-size:.85rem;white-space:nowrap;
  box-shadow:0 4px 14px rgba(135,206,250,.28)}
.sticky-cta .close{background:transparent;border:none;color:var(--muted);
  cursor:pointer;font-size:1.4rem;padding:0 .4rem;line-height:1}
.sticky-cta .close:hover{color:#fff}

/* ─── Mobile ───────────────────────────────────────────────────────── */
@media (max-width:768px){
  .demo-banner{font-size:.65rem;padding:.35rem .5rem}
  nav{padding:.65rem .9rem;flex-wrap:wrap;gap:.7rem}
  .logo-main{font-size:1.15rem}
  .logo-sub{font-size:.48rem;letter-spacing:.13em}
  .logo-image{width:40px;height:40px}
  .nav-links{display:none}
  .nav-cta{font-size:.7rem;padding:.45rem .8rem}
  .hero{padding:5.5rem 1rem 2.5rem;min-height:auto}
  .hero.full{min-height:auto}
  .hero-title{font-size:1.5rem}
  .hero-copy{font-size:.9rem}
  .hero-cta-row{flex-direction:column;align-items:stretch}
  .btn-primary,.btn-secondary{justify-content:center;width:100%}
  .light-section,.trust-strip,.process,.midcta{padding:2.5rem 1rem}
  .about .about-wrap{grid-template-columns:1fr;text-align:center}
  .about .about-photo{max-width:150px;margin:0 auto}
  .footer-content{grid-template-columns:1fr;gap:1.8rem;text-align:center}
  footer{padding:2.2rem 1rem 1.4rem}
  .sticky-cta-text{font-size:.76rem}
  .sticky-cta-text small{display:none}
  .pricing-table{font-size:.78rem;display:block;overflow-x:auto}
  .pricing-table th,.pricing-table td{padding:.55rem .5rem;white-space:normal}
  [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}
}
