@font-face{font-family:Kanit;src:url("/assets/fonts/kanit-900i.woff2") format("woff2");font-weight:900;font-style:italic;font-display:swap}
:root{--yellow:#ffc90e;--yellow-dark:#d8a600;--ink:#111214;--muted:#5e6269;--paper:#faf8f3;--line:#dedbd3;--shadow:0 8px 24px #00000018;--logo-left:max(16px,calc(50% - 700px))}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font:17px/1.55 Helvetica,Arial,sans-serif}
img{max-width:100%}
a{color:inherit}
.wrap{width:min(1220px,calc(100% - 48px));margin:auto}
.site-header{position:fixed;z-index:50;inset:0 0 auto;height:82px;background:linear-gradient(180deg,#000e 0,#0009 75%,transparent);transition:background .25s,box-shadow .25s}
.site-header.solid,.inner-page .site-header{background:#101112;box-shadow:0 4px 18px #0005}
.site-header::after{content:"";position:absolute;inset:auto 0 0;height:2px;background:var(--yellow)}
.header-inner{height:80px;display:flex;align-items:center;padding:0 22px 3px max(332px,calc(50% - 388px))}
.logo{position:absolute;left:var(--logo-left);top:10px;z-index:3}
.logo img{display:block;width:300px;height:auto;filter:drop-shadow(0 6px 9px #000a)}
.main-nav{display:flex;align-items:center;gap:13px;width:100%;height:100%}
.main-nav a{color:#f8f8f8;text-decoration:none;font-size:17px;font-weight:700;white-space:nowrap}
.main-nav a:not(.contact){position:relative;padding:9px 17px 10px;border:1px solid #ffffff1a;border-radius:18px;background:linear-gradient(180deg,#ffffff17 0,#ffffff06 45%,#0005 52%,#0008 100%);box-shadow:inset 0 1px #ffffff1a,0 1px 2px #0008;text-shadow:0 1px 2px #000;transition:border-color .2s,transform .2s}
.main-nav a:not(.contact)::after{content:"";position:absolute;left:19px;right:calc(100% - 19px);bottom:5px;height:2px;background:var(--yellow);transition:right .2s}
.main-nav a:not(.contact):hover,.main-nav a[aria-current="page"]{border-color:#ffffff35;transform:translateY(-1px)}
.main-nav a:not(.contact):hover::after,.main-nav a[aria-current="page"]::after{right:19px}
.contact{margin-left:auto;padding:11px 20px;border-radius:9px;background:linear-gradient(#ffdd58,#ffc90e 55%,#e6ad00);color:#111!important;box-shadow:inset 0 1px #fff8,0 2px 6px #0007;text-shadow:0 1px #fff6}
.menu-icon{display:none;color:#fff;font-size:25px;line-height:1}

.vhero{height:min(480px,33.4vw);min-height:400px;position:relative;overflow:hidden;background:#151515 url("/assets/video/about-race-poster.jpg") center/cover no-repeat}
.vhero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.vhero-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#0007 0,#0004 16%,#0002 28%,transparent 42%);pointer-events:none}
.taglines{position:absolute;z-index:3;inset:0;margin:0;padding:0;list-style:none;pointer-events:none;overflow:hidden;clip-path:inset(0 min(23vw,330px) 0 0)}
.tagline{position:absolute;left:max(5.5vw,calc(50% - 610px));top:50%;margin:0;color:#fff;font:900 italic clamp(52px,5.8vw,86px)/.95 Kanit,Impact,sans-serif;letter-spacing:.01em;text-shadow:1px 0 0 #000a,-1px 0 0 #000a,0 1px 0 #000a,0 -1px 0 #000a,0 2px 0 #0009,0 0 12px #0009,0 3px 8px #0008;white-space:nowrap;opacity:0;will-change:transform,opacity;transform-origin:30% 50%;animation:phrase 20s cubic-bezier(.2,.75,.25,1) infinite}
.tagline .hl{color:#fff;animation:hl 20s linear infinite;animation-delay:inherit}
.t1{--from:translate(-70%,22%) skewX(-20deg) scale(.82);--in:translate(0,-48%) skewX(-3deg) scale(1);--drift:translate(10%,-62%) skewX(2deg) scale(1.06);--out:translate(28%,-95%) skewX(12deg) scale(.88)}
.t2{--from:translate(16%,-140%) skewX(10deg) scale(1.16);--in:translate(6%,-70%) skewX(-2deg) scale(1);--drift:translate(16%,-36%) skewX(-8deg) scale(1.05);--out:translate(30%,40%) skewX(-14deg) scale(.86);animation-delay:4s}
.t3{--from:translate(-12%,85%) skewX(-14deg) scale(.78);--in:translate(2%,-22%) skewX(-3deg) scale(1);--drift:translate(12%,-44%) skewX(4deg) scale(1.04);--out:translate(-28%,-120%) skewX(16deg) scale(.84);animation-delay:8s}
.t4{--from:translate(72%,-70%) skewX(18deg) scale(.86);--in:translate(10%,-52%) skewX(-2deg) scale(1);--drift:translate(-8%,-34%) skewX(-8deg) scale(1.05);--out:translate(-60%,-12%) skewX(-18deg) scale(.82);animation-delay:12s}
.t5{--from:translate(55%,-130%) skewX(14deg) scale(1.12);--in:translate(4%,-38%) skewX(-4deg) scale(1);--drift:translate(-10%,-24%) skewX(-8deg) scale(1.04);--out:translate(-32%,50%) skewX(-10deg) scale(.88);animation-delay:16s}
@keyframes phrase{0%{opacity:0;transform:var(--from);filter:blur(5px)}4.2%{opacity:1;transform:var(--in);filter:none}11.5%{opacity:1;transform:var(--drift);filter:none}18.8%,100%{opacity:0;transform:var(--out);filter:blur(6px)}}
@keyframes hl{0%,5%{color:#fff}6.5%,12.5%{color:var(--yellow)}14%,100%{color:#fff}}
@media (prefers-reduced-motion:reduce){
  .tagline,.tagline .hl{animation:none!important}
  .tagline{opacity:0;visibility:hidden;filter:none}
  .t1{opacity:1;visibility:visible;color:var(--yellow);transform:translateY(-45%) skewX(-3deg)}
  .t1 .hl{color:#fff}
}
@media (prefers-reduced-motion:reduce) and (max-width:760px){.t1{left:16px;top:45%;font-size:clamp(32px,9vw,52px)}}

.tower{--row:34px;position:absolute;z-index:4;right:0;inset-block:0;width:min(23vw,330px);display:flex;flex-direction:column;background:#09090cde;box-shadow:-5px 0 25px #0009;font:900 italic 15px/1 Kanit,Impact,sans-serif;overflow:hidden}
.tower-head{height:48px;display:flex;align-items:center;gap:10px;padding:0 15px;border-bottom:3px solid var(--yellow);color:#fff;letter-spacing:.14em}
.flag{width:25px;height:16px;background:repeating-conic-gradient(#fff 0 25%,#000 0 50%) 0 0/8px 8px;transform:skewX(-10deg)}
.tower-window{position:relative;flex:1;overflow:hidden;mask:linear-gradient(transparent,#000 12%,#000 88%,transparent)}
.tower-track{animation:tower 31s linear infinite}
.tower-list{list-style:none;margin:0;padding:0}
.tower-list li{height:var(--row);display:flex;align-items:center;gap:8px;padding:0 14px;border-bottom:1px solid #ffffff14;color:var(--yellow);text-transform:uppercase;white-space:nowrap;min-width:0}
.tower-list li span{overflow:hidden;text-overflow:ellipsis;min-width:0}
.tower-list i{flex:none;width:6px;height:20px;background:var(--yellow)}
.tower-list li:nth-child(5n+1) i{background:#e10600}.tower-list li:nth-child(5n+2) i{background:#00d2be}.tower-list li:nth-child(5n+3) i{background:#ff8700}.tower-list li:nth-child(5n+4) i{background:#3671c6}
.tower-window::before{content:"";position:absolute;z-index:1;left:0;right:0;top:calc(50% - var(--row)*.62);height:calc(var(--row)*1.24);background:#16161a;pointer-events:none}
.tower-hl{position:absolute;inset:0;z-index:2;clip-path:inset(calc(50% - var(--row)*.62) 2px calc(50% - var(--row)*.62) 0);pointer-events:none}
.tower-hl .tower-list li{background:#23232b;color:#fff;text-shadow:0 0 8px rgba(255,201,14,.9);transform:scale(1.2);transform-origin:14px 50%}
.tower-ret{position:absolute;z-index:3;left:2px;right:2px;top:calc(50% - var(--row)*.62 - 2px);height:calc(var(--row)*1.24 + 4px);border-radius:6px;box-shadow:0 2px 5px #0009;pointer-events:none}
.tower-ret::before{content:"";position:absolute;inset:0;border-radius:6px;padding:2px;background:linear-gradient(180deg,#ffffffbf 0,#dce1eb73 30%,#969baa59 60%,#5a5f6e8c 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.tower-ret::after{content:"";position:absolute;inset:2px;border-radius:4px;box-shadow:inset 0 2px 3px #000b,inset 0 0 0 1px #0008,inset 0 0 10px #ffc90e2e}
@keyframes tower{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@media (prefers-reduced-motion:reduce){
  .tower-track{animation:none}
  .tower-list+.tower-list{display:none}
  .tower-window{mask:linear-gradient(#000 88%,transparent)}
}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tm{font-size:.6em;font-style:normal;font-weight:700;line-height:0;position:relative;top:-.55em;vertical-align:baseline}
.race-audio{position:absolute;z-index:2;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:8px;margin:0;padding:8px 14px 8px 10px;border:0;border-radius:8px;background:#101112e8;color:#fff;font:700 13px/1 Helvetica,Arial,sans-serif;letter-spacing:.02em;cursor:pointer;box-shadow:0 2px 8px #0007}
.race-audio:hover,.race-audio:focus-visible{background:#101112;color:var(--yellow)}
.race-audio:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.race-audio svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.race-audio .f{fill:currentColor;stroke:none}
.race-audio-on,.race-audio[aria-pressed=true] .race-audio-off{display:none}
.race-audio[aria-pressed=true] .race-audio-on{display:block}
.race-audio-none{position:absolute;z-index:2;left:12px;bottom:12px;margin:0;padding:8px 12px;border-radius:8px;background:#101112e8;color:#fff;font:700 13px/1.3 Helvetica,Arial,sans-serif}
.vhero .race-audio{z-index:6;left:16px;bottom:16px;pointer-events:auto}

.referrals{padding:23px 0 20px;background:var(--paper);border-bottom:4px solid var(--yellow)}
.referrals h2{text-align:center;margin:0 0 10px;color:#666;font-size:13px;letter-spacing:.2em;text-transform:uppercase}
.ref-viewport{overflow:hidden}.ref-track{display:flex;transition:transform .7s cubic-bezier(.2,.8,.3,1)}
.ref-card{margin:0;position:relative;flex:0 0 50%;height:178px;padding:5px 9px}
.ref-shell{height:168px;padding:17px 21px 14px;background:#fff;border-left:5px solid var(--yellow);border-radius:11px;box-shadow:0 2px 10px #00000012}
.quote{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin:0;height:77px;color:#303238;font-size:16px;line-height:1.48}
.quote::before{content:"“";float:left;margin:-8px 8px -5px 0;color:var(--yellow);font:700 43px/1 Georgia,serif}
.ref-footer{margin-top:8px;padding-top:8px;border-top:1px solid #ece9e2;font-size:14px;line-height:1.25}
.ref-footer strong{display:block}.ref-footer span{color:#747981}
.hint{position:absolute;right:22px;top:80px;width:24px;height:20px;border-radius:9px;background:#e7e8ea;color:#8b9097;text-align:center;font:bold 13px/17px Arial}
.hint::after{content:"";position:absolute;right:4px;bottom:-3px;border-width:4px 0 0 5px;border-style:solid;border-color:transparent transparent transparent #e7e8ea}
.ref-window{display:none}
.ref-dots{display:flex;justify-content:center;gap:6px;margin-top:9px}.ref-dots i{width:7px;height:7px;border-radius:50%;background:#c7c9cc}.ref-dots i:first-child{background:#73777e}

.home-services{padding:42px 0 62px}
.expertise-line{max-width:900px;margin:0 auto 28px;text-align:center;color:#3f4349;font-size:24px;font-weight:500;line-height:1.35}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.service-box{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:var(--shadow)}
.box-heading{position:relative;overflow:hidden;margin:0;padding:22px 25px;background:linear-gradient(180deg,#292b2e,#121315);color:#fff;font:900 italic 34px/1 Kanit,Impact,sans-serif}
.box-heading::after{content:"";position:absolute;right:6px;top:50%;width:118px;height:68px;background:url("/assets/img/speedsoft-logo.png") center/contain no-repeat;filter:grayscale(1) brightness(2.35);opacity:.18;transform:translateY(-50%) rotate(-9deg)}
.box-body{padding:24px 25px 27px;color:#22252a}
.box-body p{margin:0 0 16px;font-size:15.5px;line-height:1.48}
.feature-list{margin:18px 0 0;padding:17px 0 0;list-style:none;border-top:1px solid #d6d2c9}
.feature-list li{position:relative;margin:8px 0;padding-left:18px;font-size:14.5px;font-weight:600;line-height:1.3}
.feature-list li::before{content:"";position:absolute;left:0;top:.47em;width:7px;height:7px;background:var(--yellow);transform:skewX(-15deg)}

.page-banner{--banner-bg:none;--banner-mark:none;--banner-h:384px;--art-w:calc(var(--banner-h)*16/9);--art-bg:#101218;--banner-fade:linear-gradient(90deg,#101218 0,#101218 calc(100% - var(--art-w) - 380px),#101218f5 calc(100% - var(--art-w) - 320px),#101218e6 calc(100% - var(--art-w) - 250px),#101218cc calc(100% - var(--art-w) - 170px),#101218a6 calc(100% - var(--art-w) - 90px),#10121880 calc(100% - var(--art-w) - 10px),#10121852 calc(100% - var(--art-w) + 60px),#10121826 calc(100% - var(--art-w) + 120px),#1012180d calc(100% - var(--art-w) + 165px),transparent calc(100% - var(--art-w) + 200px));isolation:isolate;position:relative;height:var(--banner-h);padding:0;background-color:var(--art-bg,#101218);background-image:var(--banner-bg);background-position:right center;background-size:auto 100%;background-repeat:no-repeat;color:#fff;overflow:hidden;display:flex;align-items:flex-start}
.page-banner::before{content:"";position:absolute;inset:0;z-index:0;background:var(--banner-fade);pointer-events:none}
.page-banner::after{content:"";position:absolute;z-index:1;right:max(-14%,calc(50% - 860px));top:38%;width:min(78vw,1040px);aspect-ratio:307/117;background:var(--banner-mark) center/contain no-repeat;filter:grayscale(1) brightness(2.35);opacity:.16;transform:translateY(-42%);pointer-events:none}
.page-banner .wrap{position:relative;z-index:2;margin:0;width:100%;padding:74px max(24px,var(--logo-left)) 0 var(--logo-left);box-sizing:border-box}
.page-banner .eyebrow{margin:0 0 11px;color:var(--yellow);font:900 italic 30px/1 Kanit,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.page-banner h1{max-width:1000px;margin:0 0 17px;color:#fff;font:900 italic 58px/1.02 Kanit,Impact,sans-serif;text-shadow:0 1px 2px #0008}
.page-banner h1 + p{max-width:810px;margin:0;color:#eceef0;font-size:21px;line-height:1.5;text-shadow:0 1px 2px #0007}
.page-banner a{color:var(--yellow);font-weight:700;text-underline-offset:3px}
.page-banner--virtual{--art-bg:#fbbb02;--banner-bg:url("../img/banners/virtual-cto.jpg");background-image:image-set(url("../img/banners/virtual-cto.webp") type("image/webp"),url("../img/banners/virtual-cto.jpg") type("image/jpeg"))}
.page-banner--websites{--art-bg:#f7b103;--banner-bg:url("../img/banners/websites.jpg");background-image:image-set(url("../img/banners/websites.webp") type("image/webp"),url("../img/banners/websites.jpg") type("image/jpeg"))}
.page-banner--hosting{--art-bg:#fcba00;--banner-bg:url("../img/banners/hosting.jpg");background-image:image-set(url("../img/banners/hosting.webp") type("image/webp"),url("../img/banners/hosting.jpg") type("image/jpeg"))}
.page-banner--marketing{--art-bg:#f8b101;--banner-bg:url("../img/banners/marketing.jpg");background-image:image-set(url("../img/banners/marketing.webp") type("image/webp"),url("../img/banners/marketing.jpg") type("image/jpeg"))}
.page-banner--contact{--art-bg:#fdbf04;--banner-bg:url("../img/banners/contact.jpg");background-image:image-set(url("../img/banners/contact.webp") type("image/webp"),url("../img/banners/contact.jpg") type("image/jpeg"))}
.page-banner--about{--art-bg:#101218;--banner-bg:url("../img/banners/about.jpg");background-image:image-set(url("../img/banners/about.webp") type("image/webp"),url("../img/banners/about.jpg") type("image/jpeg"))}
.page-banner--about{--art-w:calc(var(--banner-h)*7/3)}
.page-banner--about h1{max-width:640px}
@media(min-width:761px) and (max-width:1600px){
  .page-banner::before{background:linear-gradient(90deg,#101218f2 0,#101218e6 calc(var(--logo-left) + 700px),#101218b3 calc(var(--logo-left) + 860px),#10121800 calc(var(--logo-left) + 1040px)),var(--banner-fade)}
}
@media(min-width:761px) and (max-width:900px){
  .page-banner .wrap{padding-top:40px;padding-bottom:24px}
  .page-banner .eyebrow{font-size:22px}
  .page-banner h1{font-size:40px}
  .page-banner h1 + p{font-size:16px;line-height:1.4}
}
@media(max-width:760px){
  .page-banner{height:auto;min-height:344px;padding-bottom:56.25%;background-size:100% auto;background-position:center bottom;background-color:#101218}
  .page-banner::before{background:linear-gradient(180deg,#101218 0,#101218f8 32%,#10121880 48%,transparent 62%)}
  .page-banner .wrap{padding:28px max(24px,var(--logo-left)) 20px;background:#101218}
  .page-banner .eyebrow{display:block;height:25px;font-size:clamp(13px,5.1vw,25px);letter-spacing:.08em;line-height:25px;white-space:nowrap}
  .page-banner h1{font-size:36px;text-shadow:0 1px 2px #000c,0 0 14px #000a}
  .page-banner h1 + p{max-width:34em;font-size:16px;line-height:1.45;text-shadow:0 1px 3px #000d,0 0 12px #000a}
}
@media(max-width:400px){
  .page-banner h1 + p{font-size:15px;line-height:1.4}
}
.content-section{padding:56px 0 64px}
.content-section.alt{background:var(--paper)}
.section-title{margin:0 0 24px;font:900 italic 42px/1 Kanit,Impact,sans-serif}
.content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.content-grid.two{grid-template-columns:repeat(2,1fr)}
.info-box{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 4px 15px #0000000b}
.info-box .box-heading{font-size:27px;padding:19px 22px}.info-box .box-body{padding:21px 22px 23px}
.info-box p{margin:0;color:#44484e}.info-box .feature-list{margin-top:0;padding-top:0;border:0}
.flexibility{margin:26px 0 0;padding:22px 25px;border-left:5px solid var(--yellow);background:#fff;font-size:19px;font-weight:700}

.contact-link{color:var(--yellow);font-weight:700;text-underline-offset:3px}
.plans-section{padding:55px 0 64px;background:var(--paper)}
.plans-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:24px}
.plans-head h2{margin:0;font:900 italic 43px/1 Kanit,sans-serif}
.plans-head p{max-width:460px;margin:0;color:var(--muted);text-align:right}
.plan-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}
.plan{overflow:hidden;min-height:276px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 3px 12px #0000000d}
.plan h3{margin:0;padding:16px 18px;background:linear-gradient(#2d2f32,#131416);color:#fff;font:900 italic 22px/1 Kanit,sans-serif}
.plan-body{padding:17px 19px 20px}
.price{margin:0 0 17px;font:900 italic 34px/1 Kanit,sans-serif}.price sup{position:relative;top:-8px;margin-right:2px;font-size:17px}.price small{margin-left:3px;color:#777;font:700 13px/1 Helvetica,Arial,sans-serif}
.plan ul{margin:0;padding:15px 0 0;list-style:none;border-top:1px solid var(--line);color:#555a62;font-size:14px}
.plan li{position:relative;margin:7px 0;padding-left:14px}.plan li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;background:var(--yellow)}
.existing{padding:56px 0 62px}.existing-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px;align-items:start}
.existing h2{margin:0;font:900 italic 42px/1 Kanit,sans-serif}.existing p{margin:0;color:#3f4349;font-size:19px;line-height:1.65}.existing a{font-weight:700;text-underline-offset:3px}

.contact-section{padding:58px 0 68px;background:var(--paper)}
.contact-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:58px;align-items:start}
.contact-details,.contact-form-wrap{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.contact-details{padding:29px}.contact-details h2,.contact-form-wrap h2{margin:0 0 18px;font:900 italic 34px/1 Kanit,sans-serif}
.contact-details p{margin:8px 0}.contact-details a{font-weight:800;text-underline-offset:3px}
.contact-form-wrap{padding:30px}
.contact-form{display:grid;gap:15px}.field{display:grid;gap:6px}.field label{font-weight:700}.field input,.field textarea{width:100%;padding:12px 13px;border:1px solid #bfc1c4;border-radius:8px;background:#fff;font:inherit}.field textarea{min-height:145px;resize:vertical}
.turnstile{width:300px;max-width:100%;padding:12px 14px;border:1px solid #c8c9cb;border-radius:5px;background:#f8f8f8;display:flex;align-items:center;justify-content:space-between;gap:13px;color:#4d5055;font-size:14px}
.turnstile-box{width:26px;height:26px;border:2px solid #8d9196;background:#fff}.turnstile-brand{margin-left:auto;color:#666;font-size:11px;text-align:right}.turnstile-brand strong{display:block;color:#2c63a4;font-size:13px}
.submit-btn{justify-self:start;padding:12px 24px;border:0;border-radius:8px;background:linear-gradient(#ffda4c,var(--yellow));color:#111;font:800 16px Helvetica,Arial,sans-serif;cursor:pointer}
.form-note{margin:0;color:#777;font-size:13px}
.confirmation{display:none;padding:28px;border-left:5px solid var(--yellow);border-radius:8px;background:var(--paper)}.confirmation.show{display:block}.confirmation h3{margin:0 0 7px;font:900 italic 30px/1 Kanit,sans-serif}.confirmation p{margin:0;color:#42464d}

.site-footer{padding:25px 20px;background:#111;color:#bbb;text-align:center;font-size:14px}
.site-footer a{color:#e1e1e1;text-underline-offset:3px}.site-footer strong{color:#fff}.footer-dot{padding:0 7px;color:var(--yellow)}
.foot-links{margin:0 0 8px}
.foot-links ul{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;margin:0;padding:0;list-style:none}
.foot-links li{display:inline-flex;align-items:baseline}
.foot-links li+li::before{content:"•";padding:0 7px;color:var(--yellow)}
.site-footer a.foot-backroom{font-size:16px;font-weight:700}

@media(max-width:1080px){.main-nav{gap:7px}.main-nav a{font-size:15px}.main-nav a:not(.contact){padding-inline:12px}.content-grid{grid-template-columns:1fr 1fr}.plan-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1100px) and (min-width:761px){
  .tower{font-size:13px;width:min(30vw,330px)}
  .taglines{clip-path:inset(0 min(30vw,330px) 0 0)}
}
@media(max-width:760px){
  .wrap{width:min(100% - 28px,650px)}
  .site-header{height:68px}.header-inner{height:66px;padding:0 9px 3px 170px}
  .logo{left:var(--logo-left);top:8px}.logo img{width:170px}
  .main-nav{justify-content:flex-end;gap:9px}.main-nav a:not(.contact){display:none}
  .menu-icon{display:block;order:1}.contact{order:2;margin-left:0;padding:8px 11px;font-size:13px!important}
  .vhero{height:320px;min-height:320px}
  .vhero-shade{background:linear-gradient(90deg,#0007 0,#0004 22%,#0002 38%,transparent 54%)}
  .taglines{clip-path:none}
  .tagline{left:16px;top:45%;font-size:clamp(32px,9vw,52px);text-shadow:1px 0 0 #000d,-1px 0 0 #000d,0 1px 0 #000d,0 -1px 0 #000d,0 2px 0 #000b,0 0 14px #000c,0 3px 8px #000a}
  .t1{--from:translate(-48%,16%) skewX(-16deg) scale(.86);--in:translate(0,-48%) skewX(-3deg) scale(1);--drift:translate(6%,-58%) skewX(1deg) scale(1.04);--out:translate(16%,-82%) skewX(8deg) scale(.9)}
  .t2{--from:translate(8%,-125%) skewX(8deg) scale(1.1);--in:translate(3%,-64%) skewX(-2deg) scale(1);--drift:translate(8%,-40%) skewX(-6deg) scale(1.04);--out:translate(16%,28%) skewX(-12deg) scale(.88)}
  .t3{--from:translate(-6%,68%) skewX(-12deg) scale(.82);--in:translate(0,-24%) skewX(-3deg) scale(1);--drift:translate(6%,-40%) skewX(2deg) scale(1.03);--out:translate(-16%,-105%) skewX(12deg) scale(.86)}
  .t4{--from:translate(42%,-58%) skewX(14deg) scale(.88);--in:translate(4%,-50%) skewX(-2deg) scale(1);--drift:translate(1%,-36%) skewX(-4deg) scale(1.03);--out:translate(-34%,-16%) skewX(-14deg) scale(.86)}
  .t5{--from:translate(30%,-118%) skewX(10deg) scale(1.08);--in:translate(6%,-38%) skewX(-2deg) scale(1);--drift:translate(4%,-26%) skewX(-3deg) scale(1.03);--out:translate(2%,38%) skewX(-6deg) scale(.9)}
  .tower{display:none}
  .ref-card{flex-basis:100%;height:184px;padding-inline:4px}.ref-shell{height:174px;padding:16px 17px}.quote{height:82px;font-size:15px}.hint{right:17px;top:83px}
  .home-services{padding:35px 0 42px}.expertise-line{margin-bottom:21px;font-size:20px}.service-grid{grid-template-columns:1fr;gap:17px}.box-heading{font-size:31px;padding:19px 21px}.box-body{padding:21px}.box-body p{font-size:15px}
  .content-section{padding:39px 0 46px}.section-title{font-size:36px}.content-grid,.content-grid.two{grid-template-columns:1fr}.flexibility{font-size:17px}
  .plans-section{padding:40px 0 47px}.plans-head{display:block}.plans-head h2{font-size:37px}.plans-head p{margin-top:10px;text-align:left}.plan-grid{grid-template-columns:1fr}.plan{min-height:0}
  .existing{padding:41px 0 46px}.existing-grid{grid-template-columns:1fr;gap:20px}.existing h2{font-size:37px}.existing p{font-size:17px}
  .contact-section{padding:40px 0 48px}.contact-grid{grid-template-columns:1fr;gap:20px}.contact-details,.contact-form-wrap{padding:23px}.contact-details h2,.contact-form-wrap h2{font-size:31px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Production v9 header: the banner begins after this shorter, in-flow bar. */
.site-header{position:sticky;inset:auto;top:0;height:68px;background:#101112;box-shadow:0 3px 14px #0005}
.site-header.solid,.inner-page .site-header{background:#101112}
.site-header::after{height:2px}
.hdr{position:relative;display:flex;align-items:stretch;height:68px;padding:0 18px 2px max(285px,calc(50% - 435px))}
.logo{left:var(--logo-left);top:2px}
.logo img{width:250px}
.nav-desk{display:flex;flex:1}
.nav-desk .nav{display:flex;align-items:stretch;gap:2px;width:100%;margin:0;padding:0;list-style:none}
.nav-desk .nav>li{display:flex;align-items:stretch}
.nav-desk .nav>li>a{position:relative;display:flex;align-items:center;padding:0 19px;border-inline:1px solid #ffffff12;background:linear-gradient(180deg,#292a2d 0,#17181a 47%,#090a0b 52%,#151618 100%);box-shadow:inset 0 1px #ffffff20;color:#f7f7f7;text-decoration:none;text-shadow:0 1px 2px #000;font-size:17px;font-weight:700;white-space:nowrap}
.nav-desk .nav>li>a::after{content:"";position:absolute;left:18px;right:calc(100% - 18px);bottom:5px;height:2px;background:var(--yellow);transition:right .2s}
.nav-desk .nav>li>a:hover::after,.nav-desk .nav>li>a[aria-current="page"]::after{right:18px}
.nav-desk .nav-contact{margin-left:auto}
.nav-desk .nav>li.nav-contact>a{margin:8px 0 8px 8px;padding:0 22px;border:0;background:linear-gradient(#ffdc54,var(--yellow) 55%,#e4ad00);box-shadow:inset 0 1px #fff8,0 2px 6px #0007;color:#111;text-shadow:0 1px #fff7}
.nav-desk .nav>li.nav-contact>a::after{display:none}
.nav-mob{display:none}
.skip{position:absolute;left:-9999px}.skip:focus{left:8px;top:8px;z-index:100;background:#fff;padding:8px}
.service-box{display:flex;flex-direction:column}
.service-box .box-heading{text-align:center}
.service-box .box-body{display:flex;flex:1;flex-direction:column}
.explore-link{align-self:flex-end;margin-top:auto;padding-top:18px;color:#40444a;font-size:13px;font-weight:800;text-decoration:none;text-transform:lowercase}
.explore-link:hover{text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:2px;text-underline-offset:4px}
.plan h3{position:relative;overflow:hidden}
.plan h3::after{content:"";position:absolute;right:0;top:50%;width:76px;height:46px;background:url("/assets/img/speedsoft-logo.png") center/contain no-repeat;filter:grayscale(1) brightness(2.35);opacity:.18;transform:translateY(-50%) rotate(-9deg)}
.contact-note{margin:26px 0 0;padding:20px 24px;border-left:5px solid var(--yellow);background:#fff;font-size:18px}
.contact-note a{font-weight:800;text-underline-offset:3px}
.ref-card{transition:transform .2s}
.ref-card:hover{z-index:4;transform:translateY(-3px)}
.ref-shell{position:relative}
.ref-hint{position:absolute;right:18px;top:78px;display:none;align-items:center;gap:3px;color:#8a8e94;border:0;background:transparent;padding:0;cursor:pointer;font:inherit}
.ref-card.is-truncated .ref-hint{display:flex}
.ref-hint:focus-visible{outline:3px solid #0b5cad;outline-offset:2px}
.ref-bubble{position:relative;display:inline-flex;align-items:center;justify-content:center;width:24px;height:19px;border-radius:9px;background:#e7e8ea;font:bold 12px/1 Arial}
.ref-bubble::after{content:"";position:absolute;right:4px;bottom:-3px;border-width:4px 0 0 5px;border-style:solid;border-color:transparent transparent transparent #e7e8ea}
.ref-chevron{font:bold 12px/1 Arial;transform:translateY(-1px)}
.ref-card.arrived .ref-hint{animation:refHintPulse 1.35s ease-in-out 1}
@keyframes refHintPulse{0%,100%{transform:scale(1);opacity:.72}35%{transform:scale(1.16);opacity:1}65%{transform:scale(.98);opacity:.82}}
.ref-window{display:none;position:fixed;z-index:80;left:0;top:0;width:auto;max-width:calc(100vw - 16px);max-height:min(70vh,420px);overflow:auto;padding:18px 22px;background:#fff;border:1px solid #d8d5ce;border-left:5px solid var(--yellow);border-radius:12px;box-shadow:0 14px 40px #1a1a1a3d;font-size:16px;line-height:1.5;white-space:pre-wrap;pointer-events:auto}
.ref-window.is-open{display:block}
.ref-window::before{content:"Full Referral";display:block;margin-bottom:7px;color:#8a8e94;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;white-space:normal}
.about-copy{overflow:hidden}
.about-copy p{margin:0 0 1.15em;color:#3f4349;font-size:18px;line-height:1.65;max-width:none}
.about-copy p:last-child{margin-bottom:0}
.about-photo{float:right;width:38%;max-width:464px;margin:0 0 1.15em 1.6em;background:#fff;border-left:5px solid var(--yellow);border-radius:11px;box-shadow:0 2px 10px #00000012;overflow:hidden}
.about-photo-open{display:block;cursor:zoom-in}
.about-photo-open:focus-visible{outline:3px solid #0b5cad;outline-offset:-3px}
.about-photo img{display:block;width:100%;height:auto}
.about-photo figcaption,.about-video figcaption{padding:10px 14px 12px;color:#747981;font-size:14px;line-height:1.4}
.about-video{clear:both;margin:0;background:#111;border-radius:11px;box-shadow:0 2px 10px #00000012;overflow:hidden}
.about-video-frame{position:relative}
.about-video video{display:block;width:100%;height:auto;vertical-align:middle}
.lb{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:56px 24px 28px;background:#07080af5}
.lb[hidden]{display:none!important}
.lb-fig{margin:0;width:fit-content;max-width:min(94vw,1100px);background:#111;border-left:5px solid var(--yellow);border-radius:11px;box-shadow:0 18px 48px #000a}
.lb-fig img{display:block;width:auto;height:auto;max-width:min(94vw,1100px);max-height:68vh}
.lb-fig figcaption{padding:12px 16px 14px;color:#d5d7db;font-size:15px;line-height:1.4}
.lb-close{position:absolute;top:16px;right:16px;z-index:1;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:#101112f0;color:#fff;font:700 28px/44px Helvetica,Arial,sans-serif;cursor:pointer}
.lb-close:hover,.lb-close:focus-visible{color:var(--yellow)}
.lb-close:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
@media(max-width:760px){.about-photo{float:none;width:100%;max-width:none;margin:0 0 1.2em}}
.ref-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;height:77px;margin:0;color:#303238;font-size:16px;line-height:1.48}
.ref-preview::before{content:"“";float:left;margin:-8px 8px -5px 0;color:var(--yellow);font:700 43px/1 Georgia,serif}
.ref-card footer{margin-top:8px;padding-top:8px;border-top:1px solid #ece9e2;font-size:14px;line-height:1.25}
.ref-card footer cite{display:block;font-style:normal;font-weight:800}.ref-card footer span{display:block;color:#747981}
.refs{padding:23px 0 20px;background:var(--paper);border-bottom:4px solid var(--yellow)}
.refs h2{text-align:center;margin:0 0 10px;color:#666;font-size:13px;letter-spacing:.2em;text-transform:uppercase}
.ref-slider{overflow:hidden}.ref-track{display:flex;will-change:transform}
.ref-nav{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:10px}
.ref-arrow{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;padding:0;border:1px solid #c9cbd0;border-radius:50%;background:#fff;color:#71757b;font:400 20px/1 Arial;cursor:pointer}
.ref-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;max-width:70%}
.ref-dot{padding:6px;border:0;background:none;cursor:pointer}.ref-dot::before{content:"";display:block;width:7px;height:7px;border-radius:50%;background:#c7c9cc}.ref-dot.on::before{background:#73777e}
.cform-errors{margin:0 0 14px;color:#a71919;font-weight:700}
.cform{display:grid;gap:15px}.cform .field{display:grid;gap:6px;font-weight:700}.cform input,.cform textarea{width:100%;padding:12px 13px;border:1px solid #bfc1c4;border-radius:8px;background:#fff;font:inherit;font-weight:400}.cform textarea{min-height:145px;resize:vertical}.cform .cf-turnstile{margin-top:2px}.cform .btn{justify-self:start}
.field-error{display:block;color:#a71919;font-size:13px;font-weight:700}
.cform [aria-invalid="true"]{border:2px solid #bd2020}
.cform-ok{padding:24px;border-left:5px solid #31a354;background:var(--paper)}
.cform-ok h3{display:flex;align-items:center;gap:9px;margin:0 0 7px;font:900 italic 30px/1 Kanit,sans-serif}
.success-check{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;border-radius:50%;background:#31a354;color:#fff;font:800 13px/1 Arial}
.cform-ok p{margin:0}
.hp{position:absolute;left:-9999px}
.cc-wrap{max-width:760px}
.cform fieldset{margin:0;padding:18px 0 6px;border:0;border-top:1px solid var(--line)}
.cform fieldset:first-of-type{border-top:0;padding-top:0}
.cform legend{padding:0;margin:0 0 12px;font:900 italic 26px/1 Kanit,sans-serif}
.cform select{width:100%;padding:12px 13px;border:1px solid #bfc1c4;border-radius:8px;background:#fff;font:inherit;font-weight:400}
.cform-split{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.cform .field-hint{display:block;color:#666;font-size:13px;font-weight:400}
.cform .field-label{font-weight:700}
.hero{padding:52px 0;background:var(--paper)}
.hero h1{font:900 italic clamp(42px,5vw,66px)/1 Kanit,sans-serif}
.sect{padding:42px 0}.sect+.sect{border-top:1px solid var(--line)}.sect ul{padding-left:1.2em}
.cta-band{padding:42px 0;text-align:center;background:var(--paper)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.6em 1.35em;border:1px solid #111;background:#fff;color:#111;text-decoration:none;font-weight:800}.btn-call{border-color:var(--yellow);background:var(--yellow)}
.site-footer .nap{margin:0;font-size:14px}.site-footer .nap span{padding:0 7px;color:var(--yellow)}

@media(max-width:900px){
  :root{--logo-left:5px}
  .site-header,.hdr{height:60px}
  .hdr{justify-content:flex-end;padding:0 8px 2px 155px}
  .logo{left:var(--logo-left);top:4px}.logo img{width:155px}
  .nav-desk{display:none}.nav-mob{display:block;align-self:center}
  .nav-mob summary{display:flex;flex-direction:column;justify-content:center;gap:5px;width:43px;height:42px;padding:0 10px;list-style:none;cursor:pointer}
  .nav-mob summary::-webkit-details-marker{display:none}.nav-mob summary span{height:2px;background:#fff}
  .nav-mob nav{position:absolute;left:0;right:0;top:100%;background:#101112;box-shadow:0 7px 18px #0007}
  .nav-mob .nav{margin:0;padding:8px 14px 14px;list-style:none}
  .nav-mob .nav a{display:block;padding:11px 12px;border-bottom:1px solid #ffffff17;color:#fff;text-decoration:none;font-weight:700}
  .nav-mob .nav-contact a{margin-top:8px;border:0;background:var(--yellow);color:#111}
  .cform-split{grid-template-columns:1fr}
  .cform legend{font-size:23px}
  .site-footer .nap{font-size:13px}
}
@media(max-width:760px){.page-banner.page-banner--about{padding-bottom:42.857%}}
