*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --bg:#f5f2eb;--bg2:#edeae1;--bg3:#e3dfd4;
  --ink:#1a1a18;--ink2:#4a4a45;--ink3:#7a7a72;
  --red:#c0392b;--red2:#e74c3c;--red-light:#fcecea;
  --border:#d4cfc3;
  --mono:'IBM Plex Mono',monospace;
  --sans:'IBM Plex Sans',sans-serif;
}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.7;overflow-x:hidden;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:1.25rem 3rem;background:rgba(245,242,235,0.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);}
.nav-logo{font-family:var(--mono);font-size:2rem;font-weight:500;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:0;}
.nav-logo .vb-pill{background:var(--ink);color:var(--bg);padding:0.05em 0.3em;}
.nav-logo .rescue-pill{background:var(--red);color:#f5f2eb;padding:0.05em 0.3em;}
.nav-links{display:flex;gap:2rem;list-style:none;}
.nav-links a{font-family:var(--mono);font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink2);text-decoration:none;transition:color 0.2s;}
.nav-links a:hover,.nav-links a.active{color:var(--red);}
.nav-cta{font-family:var(--mono);font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--red);color:#fff;border:none;padding:0.65em 1.5em;cursor:pointer;text-decoration:none;transition:background 0.2s;}
.nav-cta:hover{background:var(--red2);}

/* BUTTONS */
.btn-primary{font-family:var(--mono);font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;background:var(--red);color:#fff;border:none;padding:0.9em 2em;cursor:pointer;text-decoration:none;transition:background 0.2s,transform 0.15s;display:inline-block;}
.btn-primary:hover{background:var(--red2);transform:translateY(-1px);}
.btn-secondary{font-family:var(--mono);font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;background:transparent;color:var(--ink);border:1px solid var(--border);padding:0.9em 2em;cursor:pointer;text-decoration:none;transition:border-color 0.2s,transform 0.15s;display:inline-block;}
.btn-secondary:hover{border-color:var(--ink);transform:translateY(-1px);}

/* SECTION LABELS */
.section-label{font-family:var(--mono);font-size:0.65rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--red);margin-bottom:0.75rem;}
.section-title{font-family:var(--mono);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:400;line-height:1.2;margin-bottom:1rem;color:var(--ink);}
.section-sub{font-size:0.9rem;color:var(--ink2);max-width:520px;margin-bottom:4rem;}

/* PAGE HERO (interior pages) */
.page-hero{padding:10rem 3rem 5rem;background:var(--bg2);border-bottom:1px solid var(--border);}
.page-hero-inner{max-width:780px;}
.page-hero .section-title{font-size:clamp(2rem,4vw,3rem);margin-bottom:1rem;}
.page-hero p{font-size:0.95rem;color:var(--ink2);max-width:560px;line-height:1.8;}

/* FOOTER */
footer{background:var(--ink);border-top:1px solid rgba(245,242,235,0.08);padding:2rem 3rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.footer-logo{font-family:var(--mono);font-size:0.9rem;color:rgba(245,242,235,0.4);}
.footer-logo span{color:var(--red2);}
.footer-copy{font-family:var(--mono);font-size:0.62rem;color:rgba(245,242,235,0.25);letter-spacing:0.1em;}
.footer-links{display:flex;gap:1.5rem;}
.footer-links a{font-family:var(--mono);font-size:0.62rem;color:rgba(245,242,235,0.3);text-decoration:none;letter-spacing:0.1em;transition:color 0.2s;}
.footer-links a:hover{color:var(--red2);}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.3;}}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0;}}

/* HERO (index) */
#hero{min-height:100vh;display:flex;align-items:center;padding:8rem 3rem 5rem;position:relative;overflow:hidden;}
.hero-bg-grid{position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:40px 40px;opacity:0.5;pointer-events:none;}
.hero-bg-circle{position:absolute;right:-200px;top:50%;transform:translateY(-50%);width:700px;height:700px;border-radius:50%;border:1px solid var(--border);opacity:0.6;pointer-events:none;}
.hero-bg-circle2{position:absolute;right:-80px;top:50%;transform:translateY(-50%);width:460px;height:460px;border-radius:50%;border:1px solid var(--border);opacity:0.4;pointer-events:none;}
.hero-inner{position:relative;z-index:1;max-width:780px;}
.hero-tag{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--mono);font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--red);border:1px solid rgba(192,57,43,0.3);padding:0.45em 1em;margin-bottom:2rem;animation:fadeUp 0.7s ease both;}
.hero-tag::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--red);animation:pulse 2s infinite;}
h1{font-family:var(--mono);font-size:clamp(2.2rem,5vw,4rem);font-weight:400;line-height:1.1;letter-spacing:-0.02em;color:var(--ink);margin-bottom:1.5rem;animation:fadeUp 0.7s 0.1s ease both;}
h1 .red{color:var(--red);}
h1 .line2{display:block;font-weight:300;font-size:0.75em;color:var(--ink2);margin-top:0.25em;}
.hero-desc{font-size:1rem;color:var(--ink2);max-width:560px;margin-bottom:2.5rem;line-height:1.8;animation:fadeUp 0.7s 0.2s ease both;}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap;animation:fadeUp 0.7s 0.3s ease both;}
.hero-stats{display:flex;gap:3rem;margin-top:4rem;padding-top:2.5rem;border-top:1px solid var(--border);animation:fadeUp 0.7s 0.4s ease both;}
.stat-num{font-family:var(--mono);font-size:2rem;font-weight:400;color:var(--red);}
.stat-label{font-size:0.72rem;color:var(--ink3);margin-top:0.2rem;letter-spacing:0.05em;}

/* PROBLEM BAND */
#problem{background:var(--ink);color:#f5f2eb;padding:3.5rem 3rem;display:flex;align-items:center;justify-content:center;text-align:center;gap:1rem;flex-wrap:wrap;}
.problem-text{font-family:var(--mono);font-size:0.85rem;color:rgba(245,242,235,0.6);letter-spacing:0.05em;}
.problem-highlight{font-family:var(--mono);font-size:0.85rem;color:#f5f2eb;font-weight:500;}
.problem-sep{color:var(--red);margin:0 0.5rem;}

/* SERVICES */
#services{padding:7rem 3rem;background:var(--bg);}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);max-width:1100px;margin:0 auto;}
.service-card{background:var(--bg);padding:2.5rem 2rem;position:relative;transition:background 0.25s;cursor:default;}
.service-card:hover{background:var(--bg2);}
.service-icon{width:40px;height:40px;border:1px solid var(--red);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;color:var(--red);font-family:var(--mono);font-size:0.7rem;font-weight:500;}
.service-name{font-family:var(--mono);font-size:1rem;font-weight:500;margin-bottom:0.75rem;color:var(--ink);}
.service-desc{font-size:0.82rem;color:var(--ink2);line-height:1.85;}
.service-tag{display:inline-block;margin-top:1.25rem;font-family:var(--mono);font-size:0.6rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--red);border:1px solid rgba(192,57,43,0.25);padding:0.3em 0.75em;}
.service-arrow{position:absolute;bottom:1.75rem;right:2rem;font-size:1.2rem;color:var(--red);opacity:0;transform:translateX(-6px);transition:opacity 0.3s,transform 0.3s;}
.service-card:hover .service-arrow{opacity:1;transform:translateX(0);}

/* HOW IT WORKS */
#how{padding:7rem 3rem;background:var(--bg2);border-top:1px solid var(--border);}
.how-inner{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;max-width:1100px;margin:0 auto;}
.how-steps{display:flex;flex-direction:column;}
.how-step{display:flex;gap:1.5rem;padding:1.75rem 0;border-bottom:1px solid var(--border);}
.how-step:last-child{border-bottom:none;}
.step-num{font-family:var(--mono);font-size:0.65rem;color:var(--red);min-width:32px;padding-top:0.15rem;letter-spacing:0.1em;}
.step-title{font-family:var(--mono);font-size:0.92rem;font-weight:500;margin-bottom:0.4rem;color:var(--ink);}
.step-desc{font-size:0.8rem;color:var(--ink2);line-height:1.8;}
.how-panel{background:var(--ink);padding:2.5rem;position:sticky;top:6rem;}
.how-panel-label{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(245,242,235,0.4);margin-bottom:1.5rem;}
.terminal-line{font-family:var(--mono);font-size:0.75rem;color:rgba(245,242,235,0.5);margin-bottom:0.5rem;}
.terminal-line .cmd{color:#f5f2eb;}
.terminal-line .out{color:#7fbf7f;}
.terminal-line .err{color:var(--red2);}
.terminal-cursor{display:inline-block;width:8px;height:14px;background:var(--red);vertical-align:middle;animation:blink 1s step-end infinite;}
.panel-msg{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(245,242,235,0.1);}
.panel-msg p{font-size:0.78rem;color:rgba(245,242,235,0.55);line-height:1.8;}
.panel-msg strong{color:#f5f2eb;font-weight:500;}

/* ABOUT/TRUST */
#trust{padding:7rem 3rem;background:var(--bg);}
.trust-inner{max-width:1100px;margin:0 auto;}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3.5rem;}
.trust-card{border:1px solid var(--border);padding:2rem;background:var(--bg);transition:border-color 0.2s;}
.trust-card:hover{border-color:var(--red);}
.trust-quote{font-size:0.85rem;color:var(--ink2);line-height:1.9;font-style:italic;margin-bottom:1.5rem;}

/* CONTACT */
#contact{padding:7rem 3rem;background:var(--ink);}
.contact-inner{max-width:700px;margin:0 auto;}
.contact-inner .section-label{color:var(--red2);}
.contact-inner .section-title{color:#f5f2eb;}
.contact-sub{font-size:0.85rem;color:rgba(245,242,235,0.5);margin-bottom:3rem;}
.form{display:flex;flex-direction:column;gap:1rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-group{display:flex;flex-direction:column;gap:0.4rem;}
.form-label{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(245,242,235,0.4);}
.form-input,.form-textarea,.form-select{background:rgba(245,242,235,0.05);border:1px solid rgba(245,242,235,0.1);color:#f5f2eb;font-family:var(--mono);font-size:0.78rem;padding:0.85em 1em;outline:none;transition:border-color 0.25s;}
.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--red);}
.form-textarea{height:120px;resize:none;}
.form-select option{background:#edeae1;color:var(--ink);}
.form-submit{align-self:flex-start;font-family:var(--mono);font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;background:var(--red);color:#fff;border:none;padding:0.9em 2.5em;cursor:pointer;transition:background 0.2s;margin-top:0.5rem;}
.form-submit:hover{background:var(--red2);}
.contact-alt{margin-top:3rem;padding-top:2.5rem;border-top:1px solid rgba(245,242,235,0.1);}
.contact-alt p{font-family:var(--mono);font-size:0.72rem;color:rgba(245,242,235,0.4);}
.contact-alt a{color:var(--red2);text-decoration:none;}

/* RESPONSIVE */
@media(max-width:768px){
  nav{padding:1rem 1.25rem;}
  nav .nav-links{display:none;}
  #hero{padding:7rem 1.25rem 4rem;}
  .hero-stats{gap:1.5rem;}
  .page-hero{padding:8rem 1.25rem 3rem;}
  #services,#how,#trust,#contact{padding:5rem 1.25rem;}
  .services-grid{grid-template-columns:1fr;}
  .how-inner{grid-template-columns:1fr;}
  .how-panel{display:none;}
  .trust-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  footer{flex-direction:column;text-align:center;padding:1.5rem;}
  .hero-bg-circle,.hero-bg-circle2{display:none;}
}
