!DOCTYPE html
html lang=en
head
meta charset=UTF-8
meta name=viewport content=width=device-width, initial-scale=1.0
titleSandoval Techsec — Cybersecurity, IT & Cloud Solutionstitle
meta name=description content=Sandoval Techsec delivers cybersecurity, managed IT, cloud, networking, and AI solutions for modern businesses.
link rel=preconnect href=httpsfonts.googleapis.com
link rel=preconnect href=httpsfonts.gstatic.com crossorigin
link href=httpsfonts.googleapis.comcss2family=Interwght@300;400;500;600;700;800&family=Orbitronwght@500;600;700;800&display=swap rel=stylesheet
style
root {
--blue #1e90ff;
--blue-2 #4aa8ff;
--blue-deep #0a66c2;
--silver #c7cdd6;
--silver-2 #8a93a3;
--white #ffffff;
--bg #000000;
--bg-2 #0a0d14;
--bg-3 #111521;
--border rgba(255,255,255,0.08);
--border-2 rgba(30,144,255,0.25);
--muted #9aa3b2;
--grad-blue linear-gradient(135deg, #4aa8ff 0%, #1e90ff 50%, #0a66c2 100%);
--grad-silver linear-gradient(135deg, #e7ebf2 0%, #c7cdd6 50%, #8a93a3 100%);
--shadow-glow 0 10px 50px rgba(30, 144, 255, 0.25);
}
{ box-sizing border-box; margin 0; padding 0; }
html { scroll-behavior smooth; }
body {
font-family 'Inter', system-ui, -apple-system, sans-serif;
color var(--white);
background var(--bg);
line-height 1.6;
overflow-x hidden;
background-image
radial-gradient(ellipse 800px 400px at 80% -10%, rgba(30,144,255,0.12), transparent 60%),
radial-gradient(ellipse 600px 400px at 0% 30%, rgba(30,144,255,0.08), transparent 60%);
background-attachment fixed;
}
a { color inherit; text-decoration none; }
img { max-width 100%; display block; }
.container { max-width 1200px; margin 0 auto; padding 0 24px; }
---------- Logo (SVG) ----------
.logo-svg { width 40px; height 40px; flex-shrink 0; }
---------- Navbar ----------
.nav {
position sticky;
top 0;
z-index 50;
background rgba(0,0,0,0.75);
backdrop-filter saturate(180%) blur(14px);
-webkit-backdrop-filter saturate(180%) blur(14px);
border-bottom 1px solid var(--border);
}
.nav-inner {
display flex;
align-items center;
justify-content space-between;
padding 14px 0;
}
.brand {
display flex;
align-items center;
gap 12px;
letter-spacing 0.04em;
}
.brand-name {
font-family 'Orbitron', 'Space Grotesk', sans-serif;
font-weight 700;
font-size 1.15rem;
color white;
letter-spacing 0.08em;
}
.brand-name span {
color var(--blue-2);
font-weight 600;
}
.nav-links {
display flex;
align-items center;
gap 32px;
list-style none;
}
.nav-links a {
font-weight 500;
color var(--silver);
transition color .2s ease;
font-size 0.95rem;
}
.nav-links ahover { color var(--blue-2); }
.btn {
display inline-block;
padding 12px 22px;
border-radius 6px;
font-weight 600;
font-size 0.95rem;
transition transform .15s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
cursor pointer;
border none;
letter-spacing 0.02em;
}
.btn-primary {
background var(--grad-blue);
color white;
box-shadow 0 6px 20px rgba(30,144,255,0.35);
}
.btn-primaryhover {
transform translateY(-2px);
box-shadow 0 10px 28px rgba(30,144,255,0.5);
}
.btn-outline {
background transparent;
color var(--white);
border 1.5px solid rgba(255,255,255,0.18);
}
.btn-outlinehover {
border-color var(--blue);
color var(--blue-2);
}
.hamburger { display none; cursor pointer; background none; border none; padding 8px; }
.hamburger span { display block; width 24px; height 2px; background var(--white); margin 5px 0; border-radius 2px; }
---------- Hero ----------
.hero {
position relative;
padding 100px 0 120px;
overflow hidden;
}
.herobefore {
content ;
position absolute;
top -200px; right -100px;
width 600px; height 600px;
background radial-gradient(closest-side, rgba(30,144,255,0.25), transparent 70%);
filter blur(30px);
z-index -1;
}
.hero-grid {
display grid;
grid-template-columns 1.1fr 0.9fr;
gap 60px;
align-items center;
}
.eyebrow {
display inline-flex;
align-items center;
gap 8px;
padding 6px 14px;
border-radius 999px;
background rgba(30,144,255,0.08);
color var(--blue-2);
font-weight 600;
font-size 0.78rem;
letter-spacing 0.08em;
text-transform uppercase;
border 1px solid rgba(30,144,255,0.25);
}
.eyebrow .dot {
width 6px; height 6px; border-radius 50%;
background var(--blue);
box-shadow 0 0 10px var(--blue);
}
h1.hero-title {
font-family 'Orbitron', 'Space Grotesk', sans-serif;
font-size clamp(2.4rem, 5vw, 3.75rem);
line-height 1.1;
letter-spacing -0.005em;
margin 22px 0 20px;
font-weight 700;
color var(--white);
}
h1.hero-title em {
font-style normal;
background var(--grad-blue);
-webkit-background-clip text;
background-clip text;
color transparent;
}
.hero p.lede {
font-size 1.1rem;
color var(--silver);
max-width 540px;
margin-bottom 32px;
}
.hero-cta { display flex; gap 14px; flex-wrap wrap; }
.hero-stats {
margin-top 48px;
display flex;
gap 40px;
flex-wrap wrap;
}
.hero-stats .stat strong {
display block;
font-family 'Orbitron', sans-serif;
font-size 1.85rem;
color var(--blue-2);
}
.hero-stats .stat span {
color var(--muted);
font-size 0.88rem;
letter-spacing 0.02em;
}
Hero visual — big ST mark
.hero-visual {
position relative;
aspect-ratio 1 1;
max-width 500px;
margin-left auto;
}
.hero-visual .orb {
position absolute;
inset 10%;
border-radius 50%;
background radial-gradient(circle, rgba(30,144,255,0.35), transparent 70%);
filter blur(40px);
animation pulse 6s ease-in-out infinite;
}
@keyframes pulse {
0%, 100% { opacity 0.7; transform scale(1); }
50% { opacity 1; transform scale(1.05); }
}
.hero-visual .mark-wrap {
position absolute;
inset 0;
display grid;
place-items center;
}
.hero-visual .mark-wrap svg { width 80%; height auto; filter drop-shadow(0 20px 60px rgba(30,144,255,0.4)); }
.badges { position absolute; inset 0; pointer-events none; }
.badge {
position absolute;
padding 10px 16px;
border-radius 8px;
background rgba(10,13,20,0.85);
backdrop-filter blur(10px);
border 1px solid var(--border-2);
box-shadow 0 10px 30px rgba(0,0,0,0.5);
font-weight 600;
font-size 0.82rem;
color var(--white);
display flex;
align-items center;
gap 8px;
}
.badge .dot-b { width 8px; height 8px; border-radius 50%; background var(--blue); box-shadow 0 0 10px var(--blue); }
.badge .dot-s { width 8px; height 8px; border-radius 50%; background var(--silver); box-shadow 0 0 8px var(--silver); }
.badge.b1 { top 6%; left -6%; }
.badge.b2 { top 48%; right -8%; }
.badge.b3 { bottom 8%; left 2%; }
---------- Sections ----------
section { padding 100px 0; }
.section-head { text-align center; max-width 700px; margin 0 auto 60px; }
.section-head .eyebrow { margin-bottom 14px; }
.section-head h2 {
font-family 'Orbitron', sans-serif;
font-size clamp(1.8rem, 3.5vw, 2.5rem);
letter-spacing 0.005em;
line-height 1.15;
margin-bottom 14px;
color white;
font-weight 700;
}
.section-head p { color var(--silver); font-size 1.05rem; }
---------- Services ----------
.services { background var(--bg-2); border-top 1px solid var(--border); border-bottom 1px solid var(--border); }
.services-grid {
display grid;
grid-template-columns repeat(auto-fit, minmax(270px, 1fr));
gap 22px;
}
.service {
background linear-gradient(180deg, rgba(30,144,255,0.04), transparent), var(--bg-3);
border 1px solid var(--border);
border-radius 14px;
padding 30px 26px;
transition transform .25s ease, border-color .25s ease, box-shadow .25s ease;
position relative;
overflow hidden;
}
.servicebefore {
content ;
position absolute;
top 0; left 0; right 0; height 2px;
background var(--grad-blue);
transform scaleX(0);
transform-origin left;
transition transform .3s ease;
}
.servicehover {
transform translateY(-6px);
border-color var(--border-2);
box-shadow var(--shadow-glow);
}
.servicehoverbefore { transform scaleX(1); }
.service-icon {
width 54px; height 54px;
border-radius 10px;
background linear-gradient(135deg, rgba(30,144,255,0.15), rgba(30,144,255,0.05));
border 1px solid rgba(30,144,255,0.25);
display grid; place-items center;
margin-bottom 20px;
color var(--blue-2);
}
.service h3 {
font-family 'Orbitron', sans-serif;
font-size 1.1rem;
margin-bottom 10px;
color white;
letter-spacing 0.02em;
font-weight 600;
}
.service p { color var(--silver); font-size 0.95rem; }
---------- Why About ----------
.why-grid {
display grid;
grid-template-columns 1fr 1fr;
gap 60px;
align-items center;
}
.why-copy h2 {
font-family 'Orbitron', sans-serif;
font-size clamp(1.8rem, 3.2vw, 2.4rem);
line-height 1.15;
margin 14px 0 18px;
color white;
font-weight 700;
}
.why-copy p { color var(--silver); margin-bottom 20px; }
.check-list { list-style none; display grid; gap 16px; margin-top 20px; }
.check-list li { display flex; gap 14px; align-items flex-start; }
.check {
flex 0 0 26px; width 26px; height 26px; border-radius 50%;
background var(--grad-blue); color white; display grid; place-items center;
font-size 13px; font-weight 700;
box-shadow 0 4px 12px rgba(30,144,255,0.35);
}
.check-list strong { color white; }
.check-list small { color var(--muted); font-size 0.9rem; }
.why-visual {
background linear-gradient(135deg, rgba(30,144,255,0.08), rgba(10,13,20,0.8));
border 1px solid var(--border-2);
border-radius 16px;
padding 36px;
display grid;
grid-template-columns 1fr 1fr;
gap 18px;
}
.stat-card {
background rgba(0,0,0,0.4);
border 1px solid var(--border);
border-radius 10px;
padding 22px 18px;
text-align center;
}
.stat-card strong {
display block;
font-family 'Orbitron', sans-serif;
font-size 1.9rem;
color var(--blue-2);
margin-bottom 4px;
font-weight 700;
}
.stat-card span { color var(--silver); font-size 0.88rem; }
---------- CTA ----------
.cta {
background
radial-gradient(ellipse at top right, rgba(30,144,255,0.25), transparent 60%),
radial-gradient(ellipse at bottom left, rgba(30,144,255,0.15), transparent 60%),
linear-gradient(135deg, #0a1428, #05080f);
color white;
border 1px solid var(--border-2);
border-radius 18px;
padding 70px 40px;
text-align center;
margin 40px 0 80px;
position relative;
overflow hidden;
}
.cta h2 {
font-family 'Orbitron', sans-serif;
font-size clamp(1.8rem, 3.5vw, 2.4rem);
margin-bottom 16px;
font-weight 700;
}
.cta p { color var(--silver); max-width 560px; margin 0 auto 30px; }
---------- Contact ----------
.contact-grid {
display grid;
grid-template-columns 1fr 1fr;
gap 50px;
}
.contact-info h2 {
font-family 'Orbitron', sans-serif;
font-size clamp(1.8rem, 3.2vw, 2.4rem);
line-height 1.15;
margin 14px 0 18px;
color white;
font-weight 700;
}
.contact-info p { color var(--silver); margin-bottom 28px; }
.contact-item {
display flex; gap 14px; align-items center;
padding 16px 18px;
border 1px solid var(--border);
border-radius 10px;
margin-bottom 12px;
background rgba(10,13,20,0.6);
transition border-color .2s ease, background .2s ease;
}
.contact-itemhover { border-color var(--border-2); background rgba(30,144,255,0.05); }
.contact-item .icon {
width 42px; height 42px; border-radius 8px;
background rgba(30,144,255,0.1);
border 1px solid var(--border-2);
display grid; place-items center; color var(--blue-2);
}
.contact-item small { display block; color var(--muted); font-size 0.8rem; }
.contact-item strong { font-weight 600; color white; }
form.contact-form {
background var(--bg-3);
border 1px solid var(--border);
border-radius 14px;
padding 32px;
display grid;
gap 16px;
}
.form-row { display grid; grid-template-columns 1fr 1fr; gap 16px; }
label { font-size 0.82rem; font-weight 600; color var(--silver); margin-bottom 6px; display block; letter-spacing 0.03em; text-transform uppercase; }
input, textarea, select {
width 100%;
padding 12px 14px;
border 1px solid var(--border);
border-radius 8px;
font-family inherit;
font-size 0.95rem;
background rgba(0,0,0,0.4);
color white;
transition border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
inputplaceholder, textareaplaceholder { color #5a6478; }
inputfocus, textareafocus, selectfocus {
outline none;
border-color var(--blue);
background rgba(0,0,0,0.6);
box-shadow 0 0 0 3px rgba(30,144,255,0.2);
}
select { color white; }
select option { background var(--bg-3); color white; }
textarea { min-height 120px; resize vertical; }
.form-note { font-size 0.85rem; color var(--blue-2); text-align center; min-height 20px; }
---------- Footer ----------
footer {
background #020408;
border-top 1px solid var(--border);
color var(--silver);
padding 60px 0 30px;
}
.footer-grid {
display grid;
grid-template-columns 2fr 1fr 1fr 1fr;
gap 40px;
margin-bottom 40px;
}
footer h4 {
color white;
font-family 'Orbitron', sans-serif;
font-size 0.95rem;
margin-bottom 16px;
letter-spacing 0.08em;
text-transform uppercase;
font-weight 600;
}
footer ul { list-style none; display grid; gap 10px; }
footer a { transition color .2s ease; font-size 0.92rem; }
footer ahover { color var(--blue-2); }
.footer-copy { color var(--silver); font-size 0.9rem; max-width 320px; margin-top 14px; }
.footer-bottom {
border-top 1px solid var(--border);
padding-top 22px;
display flex;
justify-content space-between;
flex-wrap wrap;
gap 12px;
font-size 0.85rem;
color var(--muted);
}
---------- Responsive ----------
@media (max-width 900px) {
.nav-links { display none; position absolute; top 100%; left 0; right 0; background #05080f; flex-direction column; padding 22px 24px; gap 18px; border-bottom 1px solid var(--border); }
.nav-links.open { display flex; }
.hamburger { display inline-block; }
.hero-grid, .why-grid, .contact-grid { grid-template-columns 1fr; }
.hero-visual { margin 0 auto; }
.footer-grid { grid-template-columns 1fr 1fr; }
.form-row { grid-template-columns 1fr; }
}
@media (max-width 520px) {
.footer-grid { grid-template-columns 1fr; }
.why-visual { grid-template-columns 1fr; }
section { padding 70px 0; }
.hero { padding 60px 0 80px; }
.cta { padding 50px 26px; }
}
style
head
body
!-- Reusable ST SVG logo --
svg xmlns=httpwww.w3.org2000svg style=displaynone
defs
linearGradient id=stBlue x1=0 y1=0 x2=1 y2=1
stop offset=0% stop-color=#4aa8ff
stop offset=100% stop-color=#0a66c2
linearGradient
linearGradient id=stSilver x1=0 y1=0 x2=1 y2=1
stop offset=0% stop-color=#e7ebf2
stop offset=100% stop-color=#8a93a3
linearGradient
symbol id=st-logo viewBox=0 0 200 200
!-- Circuit lines left --
g stroke=#1e90ff stroke-width=2 fill=none opacity=0.85
path d=M10 90 H40
path d=M10 100 H35
path d=M10 110 H40
circle cx=8 cy=90 r=3 fill=#1e90ff stroke=none
circle cx=8 cy=100 r=3 fill=#1e90ff stroke=none
circle cx=8 cy=110 r=3 fill=#1e90ff stroke=none
g
!-- Circuit lines right --
g stroke=#1e90ff stroke-width=2 fill=none opacity=0.85
path d=M160 90 H190
path d=M165 100 H190
path d=M160 110 H190
circle cx=192 cy=90 r=3 fill=#1e90ff stroke=none
circle cx=192 cy=100 r=3 fill=#1e90ff stroke=none
circle cx=192 cy=110 r=3 fill=#1e90ff stroke=none
g
!-- Stylized S --
path d=M95 45 L55 45 Q40 45 40 62 Q40 78 55 80 L85 85 Q100 87 100 100 Q100 115 85 115 L45 115
fill=none stroke=url(#stBlue) stroke-width=16 stroke-linecap=round stroke-linejoin=round
!-- Stylized T --
g
rect x=105 y=55 width=70 height=14 fill=url(#stSilver)
rect x=133 y=55 width=14 height=90 fill=url(#stSilver)
g
symbol
defs
svg
!-- ========== NAV ========== --
header class=nav
div class=container nav-inner
a href=# class=brand
svg class=logo-svg aria-hidden=trueuse href=#st-logosvg
div class=brand-nameSANDOVAL spanTECHSECspandiv
a
nav
ul class=nav-links id=navLinks
lia href=#servicesServicesali
lia href=#whyWhy Usali
lia href=#aboutAboutali
lia href=#contactContactali
lia href=#contact class=btn btn-primaryGet a Quoteali
ul
nav
button class=hamburger id=hamburger aria-label=Menu
spanspanspanspanspanspan
button
div
header
!-- ========== HERO ========== --
section class=hero
div class=container hero-grid
div
span class=eyebrowspan class=dotspan Next-gen IT & Securityspan
h1 class=hero-titleSecure. Smart. emScalableem technology for your business.h1
p class=ledeSandoval Techsec helps businesses stay protected, connected, and ahead of the curve with end-to-end cybersecurity, managed IT, cloud, networking, and AI solutions.p
div class=hero-cta
a href=#contact class=btn btn-primarySchedule a Consultationa
a href=#services class=btn btn-outlineExplore Servicesa
div
div class=hero-stats
div class=statstrong247strongspanMonitoring & Supportspandiv
div class=statstrong99.9%strongspanUptime Guaranteespandiv
div class=statstrong5★strongspanClient Satisfactionspandiv
div
div
div class=hero-visual
div class=orbdiv
div class=mark-wrap
svg viewBox=0 0 200 200use href=#st-logosvg
div
div class=badges
div class=badge b1span class=dot-bspan Threat Blockeddiv
div class=badge b2span class=dot-bspan Cloud Sync ✓div
div class=badge b3span class=dot-sspan AI Monitor Activediv
div
div
div
section
!-- ========== SERVICES ========== --
section id=services class=services
div class=container
div class=section-head
span class=eyebrowspan class=dotspan What we dospan
h2Complete technology solutions, under one roof.h2
pFrom securing your data to deploying AI-powered tools, we deliver the full stack of modern IT services tailored to your business.p
div
div class=services-grid
div class=service
div class=service-icon
svg width=26 height=26 viewBox=0 0 24 24 fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round
path d=M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z
svg
div
h3Cybersecurityh3
pProactive threat detection, network defense, and security audits to keep your business ahead of every attack vector.p
div
div class=service
div class=service-icon
svg width=26 height=26 viewBox=0 0 24 24 fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round
rect x=3 y=4 width=18 height=12 rx=2
path d=M8 20h8M12 16v4
svg
div
h3Managed IT Supporth3
pAround-the-clock help desk, remote monitoring, and proactive maintenance so your team stays productive and focused.p
div
div class=service
div class=service-icon
svg width=26 height=26 viewBox=0 0 24 24 fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round
path d=M17.5 19a4.5 4.5 0 0 0 0-9 6 6 0 0 0-11.3-1.5A4 4 0 0 0 6 19z
svg
div
h3Cloud Servicesh3
pSeamless cloud migration, secure backups, and scalable AWS Azure infrastructure built for growth.p
div
div class=service
div class=service-icon
svg width=26 height=26 viewBox=0 0 24 24 fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round
circle cx=12 cy=12 r=10
path d=M2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z
svg
div
h3Networking & Infrastructureh3
pDesigning, installing, and optimizing reliable networks, servers, and structured cabling you can count on.p
div
div class=service
div class=service-icon
svg width=26 height=26 viewBox=0 0 24 24 fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round
rect x=4 y=4 width=16 height=16 rx=3
path d=M9 9h.01M15 9h.01M9 15h6
svg
div
h3Artificial Intelligenceh3
pCustom AI solutions, automation, and intelligent tooling that give your business a measurable competitive edge.p
div
div class=service
div class=service-icon
svg width=26 height=26 viewBox=0 0 24 24 fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round
path d=M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0z
path d=M12 7v5l3 3
svg
div
h3Consulting & Strategyh3
pAdvisory services, technology roadmaps, and compliance guidance to future-proof your digital foundation.p
div
div
div
section
!-- ========== WHY ABOUT ========== --
section id=why
div class=container why-grid
div class=why-copy id=about
span class=eyebrowspan class=dotspan Why Sandoval Techsecspan
h2A technology partner that takes your security personally.h2
pWe combine deep technical expertise with the responsiveness and care of a boutique firm. Whether you're a small business or a growing enterprise, our mission is to make technology one less thing you have to worry about.p
ul class=check-list
lispan class=check✓spandivstrongEnterprise-grade securitystrongbr smallZero-trust architecture and 247 threat monitoring.smalldivli
lispan class=check✓spandivstrongResponsive, human supportstrongbr smallReal engineers on every ticket — no phone trees.smalldivli
lispan class=check✓spandivstrongBuilt to scale with youstrongbr smallFlexible plans that grow alongside your business.smalldivli
ul
div
div class=why-visual
div class=stat-cardstrong100+strongspanClients Protectedspandiv
div class=stat-cardstrong10K+strongspanThreats Blockedspandiv
div class=stat-cardstrong<15mstrongspanAvg. Response Timespandiv
div class=stat-cardstrong247strongspanMonitoringspandiv
div
div
section
!-- ========== CTA ========== --
div class=container
div class=cta
h2Ready to lock down your tech stackh2
pBook a free consultation with our team and learn how Sandoval Techsec can secure, modernize, and scale your business.p
a href=#contact class=btn btn-primaryGet Starteda
div
div
!-- ========== CONTACT ========== --
section id=contact style=padding-top 0;
div class=container contact-grid
div class=contact-info
span class=eyebrowspan class=dotspan Get in touchspan
h2Let's talk about your next project.h2
pWhether you need a full security audit or just a second opinion, our team is ready to help. Reach out — we typically respond within a few hours.p
a class=contact-item href=mailtocontact@sandovaltechsec.com
span class=icon
svg width=20 height=20 viewBox=0 0 24 24 fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round
rect x=3 y=5 width=18 height=14 rx=2
path d=M3 7l9 6 9-6
svg
span
div
smallEmail ussmall
strongcontact@sandovaltechsec.comstrong
div
a
div class=contact-item
span class=icon
svg width=20 height=20 viewBox=0 0 24 24 fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round
circle cx=12 cy=12 r=10
path d=M12 6v6l4 2
svg
span
div
smallHourssmall
strong247 Support for Managed Clientsstrong
div
div
div class=contact-item
span class=icon
svg width=20 height=20 viewBox=0 0 24 24 fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round
path d=M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z
svg
span
div
smallResponse timesmall
strongUnder 15 minutes, on averagestrong
div
div
div
form class=contact-form name=contact method=POST data-netlify=true netlify-honeypot=bot-field onsubmit=handleSubmit(event)
input type=hidden name=form-name value=contact
p style=positionabsolute; left-9999px; aria-hidden=true
labelDon't fill this out if you're human input name=bot-field label
p
div class=form-row
div
label for=nameFull Namelabel
input id=name name=name type=text required placeholder=Jane Doe
div
div
label for=emailEmaillabel
input id=email name=email type=email required placeholder=you@company.com
div
div
div
label for=companyCompanylabel
input id=company name=company type=text placeholder=Your organization
div
div
label for=service-selectService of Interestlabel
select id=service-select name=service
optionCybersecurityoption
optionManaged IT Supportoption
optionCloud Servicesoption
optionNetworking & Infrastructureoption
optionArtificial Intelligenceoption
optionSomething elseoption
select
div
div
label for=messageHow can we helplabel
textarea id=message name=message placeholder=Tell us a bit about your project or challenge...textarea
div
button type=submit class=btn btn-primarySend Messagebutton
p class=form-note id=formNotep
form
div
section
!-- ========== FOOTER ========== --
footer
div class=container
div class=footer-grid
div
a href=# class=brand
svg class=logo-svg aria-hidden=trueuse href=#st-logosvg
div class=brand-nameSANDOVAL spanTECHSECspandiv
a
p class=footer-copySecure. Smart. Scalable technology for the businesses that power tomorrow.p
div
div
h4Servicesh4
ul
lia href=#servicesCybersecurityali
lia href=#servicesManaged ITali
lia href=#servicesCloudali
lia href=#servicesNetworkingali
lia href=#servicesAI Solutionsali
ul
div
div
h4Companyh4
ul
lia href=#aboutAboutali
lia href=#whyWhy Usali
lia href=#contactContactali
ul
div
div
h4Contacth4
ul
lia href=mailtocontact@sandovaltechsec.comcontact@sandovaltechsec.comali
ul
div
div
div class=footer-bottom
span© span id=yearspan Sandoval Techsec. All rights reserved.span
spanBuilt with care — secured by design.span
div
div
footer
script
const hamburger = document.getElementById('hamburger');
const navLinks = document.getElementById('navLinks');
hamburger.addEventListener('click', () = navLinks.classList.toggle('open'));
navLinks.querySelectorAll('a').forEach(a = a.addEventListener('click', () = navLinks.classList.remove('open')));
document.getElementById('year').textContent = new Date().getFullYear();
function handleSubmit(e) {
e.preventDefault();
const form = e.target;
const note = document.getElementById('formNote');
const submitBtn = form.querySelector('button[type=submit]');
const originalBtnText = submitBtn.textContent;
submitBtn.textContent = 'Sending...';
submitBtn.disabled = true;
note.textContent = '';
const formData = new FormData(form);
const body = new URLSearchParams(formData).toString();
fetch('', {
method 'POST',
headers { 'Content-Type' 'applicationx-www-form-urlencoded' },
body body
})
.then((res) = {
if (!res.ok) throw new Error('Network error');
note.style.color = 'var(--blue-2)';
note.textContent = Thanks! We received your message and will reach out from contact@sandovaltechsec.com shortly.;
form.reset();
})
.catch(() = {
note.style.color = '#ff6b6b';
note.textContent = Something went wrong. Please email us directly at contact@sandovaltechsec.com.;
})
.finally(() = {
submitBtn.textContent = originalBtnText;
submitBtn.disabled = false;
});
}
script
body
html