

:root{--ink:#080b0f;--navy:#0d1522;--steel:#253143;--paper:#f1f3f1;--muted:#99a3ac;--red:#e53131;--line:rgba(255,255,255,.14);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.container{width:min(1440px,calc(100% - 80px));margin:auto}.section{padding:150px 0}.noise{position:fixed;inset:0;z-index:99;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;height:86px;display:flex;align-items:center;padding:0 40px;color:#fff;border-bottom:1px solid rgba(255,255,255,.16);transition:.35s var(--ease)}.site-header.is-scrolled{height:72px;background:rgba(8,11,15,.9);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:12px;font-family:Manrope,sans-serif;font-weight:600;letter-spacing:.08em;font-size:17px}.brand-mark{width:29px;height:29px;fill:var(--red)}.desktop-nav{display:flex;gap:34px;margin:auto;font-size:14px}.desktop-nav a,.support-link{position:relative;color:rgba(255,255,255,.78);transition:.2s}.desktop-nav a:after,.support-link:after{content:"";position:absolute;height:1px;left:0;right:100%;bottom:-6px;background:var(--red);transition:.3s var(--ease)}.desktop-nav a:hover,.support-link:hover{color:#fff}.desktop-nav a:hover:after,.support-link:hover:after{right:0}.header-actions{display:flex;align-items:center;gap:26px;font-size:13px}.button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:0 24px;border:1px solid transparent;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600;transition:.3s var(--ease);cursor:pointer}.button span{font-size:16px;transition:.3s var(--ease)}.button:hover span{transform:translate(4px,-4px)}.button-red{background:var(--red);color:white}.button-red:hover{background:#f04444;transform:translateY(-2px);box-shadow:0 16px 35px rgba(229,49,49,.24)}.button-small{min-height:42px;padding:0 17px;gap:18px}.menu-button{display:none;background:none;border:0;width:42px;height:42px}.menu-button span{display:block;height:1px;background:#fff;margin:7px 0}.mobile-menu{display:none}
.hero{position:relative;height:min(920px,100svh);min-height:760px;background:#080b0f;color:#fff;overflow:hidden}.hero-media{position:absolute;inset:0;background:url('assets/faststring-hero.webp') center/cover no-repeat;transform:scale(1.03);animation:heroZoom 10s var(--ease) both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,7,10,.93) 0%,rgba(4,7,10,.76) 37%,rgba(4,7,10,.12) 72%),linear-gradient(0deg,rgba(4,7,10,.75) 0%,transparent 42%)}.hero-grid,.contact-grid{position:absolute;inset:0;opacity:.13;background-image:linear-gradient(rgba(255,255,255,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.22) 1px,transparent 1px);background-size:96px 96px;mask-image:linear-gradient(to right,#000,transparent 60%)}.hero-content{position:relative;z-index:2;padding-top:clamp(190px,24vh,260px)}.eyebrow,.section-tag{text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:600}.eyebrow{display:flex;align-items:center;gap:13px;color:rgba(255,255,255,.66)}.eyebrow i{width:3px;height:3px;border-radius:50%;background:var(--red)}h1,h2,h3,p{margin-top:0}.hero h1{max-width:980px;margin:30px 0 30px;font-family:Manrope,sans-serif;font-weight:500;letter-spacing:-.055em;font-size:clamp(62px,7.2vw,112px);line-height:.94}.hero h1 em{display:block;color:rgba(255,255,255,.48);font-style:normal}.hero-copy{max-width:640px;color:rgba(255,255,255,.68);font-size:18px;line-height:1.65}.hero-actions{display:flex;align-items:center;gap:38px;margin-top:42px}.text-link{display:flex;align-items:center;gap:30px;text-transform:uppercase;letter-spacing:.09em;font-size:12px;border-bottom:1px solid rgba(255,255,255,.36);padding:17px 0}.text-link span{color:var(--red)}.hero-index{position:absolute;right:38px;top:45%;display:flex;flex-direction:column;align-items:center;gap:12px;color:rgba(255,255,255,.5);font-size:9px}.hero-index div{width:1px;height:110px;background:linear-gradient(var(--red) 20%,rgba(255,255,255,.25) 20%)}.scroll-cue{position:absolute;right:170px;bottom:36px;display:flex;align-items:center;gap:18px;color:rgba(255,255,255,.5);font-size:9px;letter-spacing:.16em}.scroll-cue i{height:1px;width:60px;background:rgba(255,255,255,.5)}.reveal{animation:fadeUp .8s var(--ease) both}.hero h1{animation-delay:.08s}.hero-copy{animation-delay:.16s}.hero-actions{animation-delay:.24s}
.proof-strip{background:var(--ink);color:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}.proof-grid div{padding:35px 28px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.proof-grid div:first-child{border-left:1px solid var(--line)}.proof-grid strong{font-family:Manrope,sans-serif;font-size:26px;font-weight:500}.proof-grid span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.11em}
.split-heading{display:grid;grid-template-columns:1fr 2fr;gap:40px}.section-tag{color:#6e777e;padding-top:10px}.intro h2,.process h2,.contact h2{font-family:Manrope,sans-serif;font-size:clamp(48px,5.4vw,86px);line-height:1.04;letter-spacing:-.05em;font-weight:500;margin-bottom:45px}.intro h2 span,.process h2 span{color:#949b9d}.lead{font-size:20px;line-height:1.72;color:#576168;max-width:780px}
.capabilities{padding-top:0}.section-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:52px}.section-note{font-size:14px;line-height:1.55;color:#6e777e;text-align:right}.capability-list{border-top:1px solid #cbd0d1}.capability-card{position:relative;display:grid;grid-template-columns:80px 130px 1fr 60px;align-items:center;min-height:178px;border-bottom:1px solid #cbd0d1;transition:.35s var(--ease);overflow:hidden}.capability-card:before{content:"";position:absolute;inset:0;background:var(--ink);transform:translateX(-102%);transition:.6s var(--ease);z-index:-1}.capability-card:hover{color:white;padding:0 24px}.capability-card:hover:before{transform:none}.card-number{align-self:start;padding-top:34px;font-size:10px;color:#81898e}.card-copy h3{font-family:Manrope,sans-serif;font-weight:500;font-size:clamp(26px,3vw,42px);letter-spacing:-.035em;margin:0 0 12px}.card-copy p{max-width:560px;color:#6f797f;line-height:1.6;margin:0}.capability-card:hover .card-copy p{color:#aeb6bb}.card-arrow{justify-self:end;font-size:24px;color:var(--red)}.card-icon{width:66px;height:66px;position:relative;opacity:.75}.camera-icon{border:1px solid currentColor;border-radius:50%}.camera-icon:before{content:"";position:absolute;inset:17px;border:1px solid currentColor;border-radius:50%}.camera-icon:after{content:"";position:absolute;left:-12px;right:-12px;top:32px;height:1px;background:currentColor}.network-icon{background:linear-gradient(90deg,transparent 48%,currentColor 49%,currentColor 51%,transparent 52%),linear-gradient(transparent 48%,currentColor 49%,currentColor 51%,transparent 52%)}.network-icon:after{content:"";position:absolute;inset:16px;border:1px solid currentColor;transform:rotate(45deg)}.fiber-icon{border:1px solid currentColor;border-radius:50%}.fiber-icon:before,.fiber-icon:after{content:"";position:absolute;border:1px solid currentColor;border-radius:50%}.fiber-icon:before{inset:10px}.fiber-icon:after{inset:22px;background:var(--red);border:0}.av-icon{border:1px solid currentColor}.av-icon:after{content:"";position:absolute;left:26px;bottom:-9px;width:14px;height:9px;border-left:1px solid currentColor;border-right:1px solid currentColor}.managed-icon{border:1px solid currentColor;transform:rotate(45deg)}.managed-icon:after{content:"";position:absolute;inset:14px;border:1px solid var(--red)}
.case-study{position:relative;background:#090d12;color:#fff;min-height:1020px;overflow:hidden}.case-media{position:absolute;inset:0;opacity:.6;background:linear-gradient(90deg,#080b0f 5%,transparent 40%),linear-gradient(0deg,#080b0f,transparent 50%),radial-gradient(circle at 75% 45%,#26354b 0,transparent 38%)}.rack{position:absolute;top:110px;bottom:0;border:1px solid rgba(255,255,255,.13);background:repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 3px,transparent 3px 28px),linear-gradient(90deg,#111823,#26313b,#0a0f15);transform:skewY(-2deg);box-shadow:-30px 0 60px #05070a}.rack:after{content:"";position:absolute;inset:20px;background:repeating-linear-gradient(0deg,transparent 0 25px,rgba(227,49,49,.75) 26px 28px)}.rack-a{width:260px;right:5%}.rack-b{width:210px;right:24%;top:210px;opacity:.75}.rack-c{width:160px;right:40%;top:320px;opacity:.45}.case-glow{position:absolute;width:500px;height:500px;right:10%;top:20%;border-radius:50%;background:rgba(229,49,49,.07);filter:blur(80px)}.case-content{position:relative;z-index:2}.section-head.light .section-tag,.section-head.light .section-note{color:#8d969d}.case-title{margin-top:160px}.case-title h2{font-family:Manrope,sans-serif;font-size:clamp(62px,7vw,106px);line-height:.94;letter-spacing:-.055em;font-weight:500;margin-bottom:36px}.case-title h2 span{color:rgba(255,255,255,.4)}.case-title p{max-width:630px;color:#a4adb4;font-size:18px;line-height:1.7}.case-stats{display:grid;grid-template-columns:repeat(3,180px);gap:42px;margin:70px 0 55px}.case-stats div{border-left:1px solid rgba(255,255,255,.24);padding-left:18px}.case-stats strong{display:block;font-family:Manrope,sans-serif;font-size:40px;font-weight:500}.case-stats span{color:#8f999f;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.button-outline{color:#fff;border-color:rgba(255,255,255,.34)}.button-outline:hover{border-color:#fff;background:#fff;color:var(--ink)}
.process{background:#e7e9e6}.process-heading{margin-bottom:100px}.process-tabs{position:relative;display:grid;grid-template-columns:repeat(5,1fr);margin-bottom:60px}.process-line{position:absolute;top:19px;left:2%;right:2%;height:1px;background:#bdc3c3}.process-line i{display:block;height:1px;background:var(--red);width:0;transition:.5s var(--ease)}.process-step{position:relative;background:none;border:0;text-align:left;padding:52px 0 10px;color:#8a9295;font-size:17px;cursor:pointer;transition:.3s}.process-step:before{content:"";position:absolute;top:13px;left:0;width:13px;height:13px;background:#e7e9e6;border:1px solid #9ca4a6;border-radius:50%;transition:.3s}.process-step span{display:block;font-size:9px;letter-spacing:.1em;margin-bottom:6px}.process-step.is-active{color:var(--ink)}.process-step.is-active:before{background:var(--red);border-color:var(--red);box-shadow:0 0 0 7px rgba(229,49,49,.12)}.process-detail{display:grid;grid-template-columns:80px 1fr 2fr;gap:30px;padding:48px 0;border-top:1px solid #bcc2c2;border-bottom:1px solid #bcc2c2}.process-detail>span{font-size:11px;color:var(--red)}.process-detail h3{font-family:Manrope,sans-serif;font-size:30px;font-weight:500}.process-detail p{color:#596269;line-height:1.7;max-width:620px}.process-detail ul{grid-column:3;display:flex;gap:10px;list-style:none;padding:0;margin:8px 0 0}.process-detail li{font-size:10px;text-transform:uppercase;letter-spacing:.1em;padding:9px 12px;border:1px solid #bdc2c2}
.industries{background:var(--paper)}.section-head .compact{font-family:Manrope,sans-serif;font-size:clamp(44px,5vw,74px);line-height:1.05;letter-spacing:-.045em;font-weight:500;margin:0;text-align:right}.industry-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #c7cdce;border-left:1px solid #c7cdce}.industry-grid article{min-height:390px;padding:32px;border-right:1px solid #c7cdce;border-bottom:1px solid #c7cdce;display:flex;flex-direction:column;transition:.4s var(--ease)}.industry-grid article:hover{background:var(--ink);color:#fff;transform:translateY(-8px)}.industry-grid article>span{font-size:10px;color:#7d868a}.industry-grid h3{font-family:Manrope,sans-serif;font-size:29px;line-height:1.15;font-weight:500;margin:auto 0 25px}.industry-grid p{font-size:14px;line-height:1.6;color:#737c81}.industry-grid article:hover p{color:#aab2b7}.partners{padding:38px 0;background:#dadeda;border-top:1px solid #c2c7c4}.partner-row{display:flex;justify-content:space-between;align-items:center;color:#7b8384;font-family:Manrope,sans-serif;font-weight:600;letter-spacing:.08em}
.contact{position:relative;background:#0a0e13;color:#fff;overflow:hidden}.contact-grid{opacity:.08;mask-image:linear-gradient(to left,#000,transparent 80%)}.contact-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr .8fr;gap:130px}.contact h2{margin:34px 0}.contact h2 span{color:rgba(255,255,255,.38)}.contact-copy>p:not(.section-tag){max-width:640px;color:#9ca5ac;font-size:18px;line-height:1.7}.contact-meta{display:flex;flex-direction:column;gap:8px;margin-top:55px}.contact-meta a{font-size:23px}.contact-meta span{font-size:11px;color:#778189;text-transform:uppercase;letter-spacing:.09em}.project-form{padding:42px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(12px)}.project-form label{display:block;margin-bottom:24px}.project-form label span{display:block;color:#89939a;font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:9px}.project-form input,.project-form textarea{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;padding:8px 0 13px;outline:none;resize:none}.project-form input:focus,.project-form textarea:focus{border-color:var(--red)}.project-form .button{width:100%;margin-top:8px}.form-status{font-size:12px;color:#aeb6bb;margin:14px 0 0;min-height:18px}
footer{background:#05070a;color:#fff;padding:70px 0 28px}.footer-main{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;padding-bottom:60px}.footer-main>p{color:#858f96}.footer-main nav{display:grid;grid-template-columns:1fr 1fr;gap:18px;font-size:13px;justify-self:end}.footer-bottom{padding-top:24px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;color:#687178;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.footer-bottom a{color:#aaa}
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .75s var(--ease),transform .75s var(--ease)}[data-reveal].in-view{opacity:1;transform:none}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1.03)}}

/* Hyperscale field film */
.film-feature{padding:120px 0;background:linear-gradient(145deg,#edf3f7 0%,#fff 48%,#e6eef4 100%);overflow:hidden}.film-intro{display:grid;grid-template-columns:.62fr 1.38fr;gap:70px;align-items:start;margin-bottom:52px}.film-intro h2{margin:0 0 24px;font:500 clamp(48px,6vw,86px)/.98 Manrope,sans-serif;letter-spacing:-.052em}.film-intro h2 span{color:#8aa0b1}.film-intro p:last-child{max-width:690px;color:#607483;font-size:18px;line-height:1.7}.film-frame{position:relative;width:min(1120px,calc(100% - 80px));padding:0;background:#071832;box-shadow:0 28px 65px rgba(5,29,66,.2);overflow:hidden}.film-frame:before{content:"";position:absolute;z-index:1;inset:0;border:1px solid rgba(255,255,255,.16);pointer-events:none}.film-frame video{display:block;width:100%;aspect-ratio:16/9;background:#071832;object-fit:cover}.film-caption{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:28px;padding:17px 22px;color:#fff;background:#09234a;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.film-caption span{color:#91a2bc}.film-caption strong{font-weight:500;color:#91a2bc}.film-caption a{color:#fff}.film-caption a:hover{color:var(--red)}
@media(max-width:1050px){.desktop-nav,.support-link{display:none}.header-actions{margin-left:auto}.menu-button{display:block;margin-left:15px}.mobile-menu{display:block;position:fixed;z-index:45;inset:0;background:rgba(8,11,15,.98);color:#fff;opacity:0;visibility:hidden;transition:.35s}.mobile-menu.is-open{opacity:1;visibility:visible}.mobile-menu nav{display:flex;flex-direction:column;padding:140px 40px;gap:20px}.mobile-menu a{font:500 42px/1.15 Manrope,sans-serif;letter-spacing:-.04em}.contact-inner{gap:60px}.industry-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.container{width:calc(100% - 40px)}.section{padding:96px 0}.site-header{height:72px;padding:0 20px}.header-actions .button{display:none}.hero{min-height:760px}.hero-media{background-position:63% center}.hero-shade{background:linear-gradient(90deg,rgba(4,7,10,.94),rgba(4,7,10,.55)),linear-gradient(0deg,rgba(4,7,10,.8),transparent)}.hero-content{padding-top:175px}.hero h1{font-size:clamp(53px,15vw,76px)}.hero-copy{font-size:16px;max-width:90%}.hero-actions{align-items:flex-start;flex-direction:column;gap:12px}.hero-index,.scroll-cue{display:none}.proof-grid{grid-template-columns:1fr 1fr}.proof-grid div{padding:24px 14px;border-bottom:1px solid var(--line)}.split-heading{grid-template-columns:1fr;gap:28px}.intro h2,.process h2,.contact h2{font-size:48px}.lead{font-size:17px}.section-head{gap:30px}.capability-card{grid-template-columns:46px 1fr 30px;min-height:160px}.card-icon{display:none}.card-copy h3{font-size:27px}.card-copy p{font-size:14px}.capability-card:hover{padding:0 8px}.case-study{min-height:950px}.case-title{margin-top:100px}.case-title h2{font-size:58px}.case-stats{grid-template-columns:1fr;gap:24px}.rack-b,.rack-c{display:none}.rack-a{right:-25%;opacity:.5}.process-heading{margin-bottom:65px}.process-tabs{grid-template-columns:1fr}.process-line{left:5px;top:0;bottom:0;height:auto;width:1px}.process-line i{width:1px;height:0}.process-step{padding:9px 0 22px 35px}.process-step:before{top:11px}.process-detail{grid-template-columns:40px 1fr}.process-detail p,.process-detail ul{grid-column:2}.process-detail ul{flex-wrap:wrap}.section-head .compact{text-align:left;font-size:44px}.industries .section-head{flex-direction:column}.industry-grid{grid-template-columns:1fr}.industry-grid article{min-height:280px}.partner-row{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;text-align:center;font-size:12px}.contact-inner{grid-template-columns:1fr}.project-form{padding:28px 22px}.footer-main{grid-template-columns:1fr;gap:28px}.footer-main nav{justify-self:start}.footer-bottom{gap:18px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}[data-reveal]{opacity:1;transform:none}}

/* FastString blue / gray / white brand refresh */
:root{--ink:#102443;--navy:#0b2855;--blue:#2258aa;--steel:#5f7385;--paper:#f8fafc;--mist:#eaf0f5;--muted:#8a9aa8;--red:#d9363e;--line:rgba(255,255,255,.17)}
.site-header{border-bottom-color:rgba(255,255,255,.2)}
.site-header.is-scrolled{background:rgba(11,40,85,.94);box-shadow:0 10px 34px rgba(16,36,67,.14)}
.button-red:hover{background:#e44950;box-shadow:0 16px 35px rgba(217,54,62,.22)}
.hero{background:var(--navy)}
.hero-shade{background:linear-gradient(90deg,rgba(7,28,61,.96) 0%,rgba(9,38,82,.82) 38%,rgba(14,50,105,.18) 74%),linear-gradient(0deg,rgba(7,28,61,.82) 0%,transparent 45%);mix-blend-mode:multiply}
.proof-strip{background:var(--navy)}
.capability-card:before{background:linear-gradient(90deg,var(--navy),var(--blue))}
.case-study{background:#0a2650}
.case-media{opacity:.66;background:linear-gradient(90deg,#0a2650 5%,transparent 42%),linear-gradient(0deg,#0a2650,transparent 52%),radial-gradient(circle at 75% 45%,#2258aa 0,transparent 40%)}
.rack{border-color:rgba(255,255,255,.16);background:repeating-linear-gradient(0deg,rgba(255,255,255,.06) 0 3px,transparent 3px 28px),linear-gradient(90deg,#10274a,#314e7b,#0a2143);box-shadow:-30px 0 60px rgba(5,20,43,.7)}
.case-glow{background:rgba(102,151,225,.14)}
.process{background:var(--mist)}
.process-step:before{background:var(--mist);border-color:#93a5b4}
.industry-grid article:hover{background:linear-gradient(155deg,var(--navy),var(--blue));box-shadow:0 24px 55px rgba(16,36,67,.16)}
.partners{background:#e4ebf1;border-top-color:#ced8e0}
.contact{background:linear-gradient(135deg,#0a254e 0%,#2258aa 100%)}
footer{background:#071a36}

@media(max-width:1050px){.mobile-menu{background:rgba(8,31,67,.985)}}
@media(max-width:760px){.hero-shade{background:linear-gradient(90deg,rgba(7,28,61,.96),rgba(9,38,82,.62)),linear-gradient(0deg,rgba(7,28,61,.86),transparent);mix-blend-mode:multiply}.film-feature{padding:88px 0}.film-intro{grid-template-columns:1fr;gap:28px;margin-bottom:40px}.film-intro h2{font-size:50px}.film-caption{grid-template-columns:1fr auto}.film-caption a{grid-column:1/-1}.film-frame{width:100%}}

/* Conversion chat */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.chat-panel{position:fixed;right:28px;bottom:102px;z-index:80;width:min(390px,calc(100vw - 32px));background:#fff;color:var(--ink);border:1px solid #dce4ea;box-shadow:0 30px 80px rgba(10,37,78,.24);opacity:0;visibility:hidden;transform:translateY(18px) scale(.97);transform-origin:bottom right;transition:opacity .35s var(--ease),transform .35s var(--ease),visibility .35s}
.chat-panel.is-open{opacity:1;visibility:visible;transform:none}
.chat-head{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 17px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff}
.chat-identity{display:flex;align-items:center;gap:12px}.chat-avatar{display:grid;place-items:center;width:42px;height:42px;background:var(--red);font:600 12px Manrope,sans-serif;letter-spacing:.08em}.chat-identity strong{display:block;font-size:14px;font-weight:600}.chat-identity div>span{display:flex;align-items:center;gap:6px;margin-top:4px;color:rgba(255,255,255,.72);font-size:11px}.chat-identity i{width:6px;height:6px;border-radius:50%;background:#7fdaaf;box-shadow:0 0 0 3px rgba(127,218,175,.14)}
.chat-close{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;background:transparent;color:rgba(255,255,255,.7);font-size:26px;cursor:pointer;transition:.2s}.chat-close:hover{color:#fff;transform:rotate(5deg)}
.chat-body{height:285px;overflow-y:auto;padding:20px;background:#f7f9fb;scroll-behavior:smooth}.chat-message{max-width:88%;margin:0 0 12px;padding:13px 15px;font-size:14px;line-height:1.5}.chat-message p{margin:0}.assistant-message{background:#fff;border:1px solid #e0e7ec;border-radius:2px 12px 12px 12px;box-shadow:0 8px 22px rgba(16,36,67,.06)}.user-message{margin-left:auto;background:var(--navy);color:#fff;border-radius:12px 2px 12px 12px}.message-label{display:block;margin-bottom:5px;color:var(--red);font-size:9px;font-weight:600;letter-spacing:.12em}
.chat-quick-replies{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.chat-quick-replies button{padding:9px 11px;border:1px solid #bfd0dc;background:#fff;color:var(--blue);font-size:12px;cursor:pointer;transition:.2s}.chat-quick-replies button:hover{border-color:var(--blue);background:#edf4f8;transform:translateY(-1px)}
.chat-action{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:11px 13px;background:var(--red);color:#fff;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em}.chat-action:hover{background:#e44950}.chat-action.secondary{background:var(--navy)}
.chat-form{display:flex;align-items:center;gap:8px;padding:12px 13px;border-top:1px solid #dce4ea;background:#fff}.chat-form input{flex:1;min-width:0;height:42px;padding:0 10px;border:0;outline:none;color:var(--ink);font-size:14px}.chat-form input::placeholder{color:#8a9aa8}.chat-form button{display:grid;place-items:center;width:42px;height:42px;border:0;background:var(--red);color:#fff;font-size:19px;cursor:pointer;transition:.2s}.chat-form button:hover{background:#e44950;transform:translateX(2px)}.chat-footer{padding:0 15px 11px;background:#fff;color:#91a0ab;font-size:9px;text-align:center;text-transform:uppercase;letter-spacing:.1em}
.chat-launcher{position:fixed;right:28px;bottom:28px;z-index:79;display:flex;align-items:center;gap:10px;height:56px;padding:0 20px 0 15px;border:0;background:var(--navy);color:#fff;box-shadow:0 16px 38px rgba(10,37,78,.25);font-size:13px;font-weight:600;cursor:pointer;transition:.3s var(--ease)}.chat-launcher:hover{background:var(--blue);transform:translateY(-3px)}.chat-launcher svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6}.launcher-pulse{position:absolute;top:-3px;left:-3px;width:11px;height:11px;border-radius:50%;background:var(--red);border:2px solid #fff}.launcher-pulse:after{content:"";position:absolute;inset:-5px;border:1px solid var(--red);border-radius:50%;animation:chatPulse 2s infinite}
@keyframes chatPulse{0%{opacity:.7;transform:scale(.6)}70%,100%{opacity:0;transform:scale(1.5)}}
@media(max-width:760px){.chat-panel{right:16px;bottom:88px}.chat-launcher{right:16px;bottom:18px}.chat-body{height:260px}}

/* Homepage case-study carousel */
.case-study[data-case-carousel]{min-height:1090px;background:#082044}.case-study[data-case-carousel] .case-media{opacity:.48;background:linear-gradient(90deg,#082044 5%,rgba(8,32,68,.78) 46%,rgba(8,32,68,.22)),linear-gradient(0deg,#082044 3%,transparent 58%),url('assets/faststring-hero.webp') 72% center/cover no-repeat}.case-slide{transition:opacity .22s ease,transform .22s var(--ease)}.case-slide.is-switching{opacity:0;transform:translateY(12px)}.case-carousel-controls{display:flex;align-items:center;gap:18px;width:max-content;margin-top:54px;padding:10px;border:1px solid rgba(255,255,255,.18);background:rgba(5,22,48,.5);backdrop-filter:blur(12px)}.case-arrow{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;font-size:18px;cursor:pointer;transition:.2s var(--ease)}.case-arrow:hover,.case-arrow:focus-visible{border-color:#fff;background:#fff;color:var(--navy);outline:none}.case-dots{display:flex;align-items:center;gap:9px}.case-dots button{width:9px;height:9px;padding:0;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:transparent;cursor:pointer;transition:.25s var(--ease)}.case-dots button:hover,.case-dots button:focus-visible{border-color:#fff;transform:scale(1.3);outline:none}.case-dots button.is-active{width:27px;border-radius:8px;border-color:var(--red);background:var(--red)}.case-position{min-width:54px;color:#839bab;font-size:12px;letter-spacing:.08em}.case-position b{color:#fff;font-weight:500}.case-study[data-case-carousel] .case-title{margin-top:110px}.case-study[data-case-carousel] .case-stats{margin-bottom:42px}
@media(max-width:760px){.case-study[data-case-carousel]{min-height:1080px}.case-study[data-case-carousel] .case-media{background-position:68% center}.case-carousel-controls{width:100%;gap:10px;justify-content:space-between;margin-top:42px}.case-dots{gap:6px}.case-dots button{width:8px;height:8px}.case-dots button.is-active{width:20px}.case-position{display:none}.case-arrow{width:40px;height:40px}.case-study[data-case-carousel] .case-title{margin-top:75px}}

/* FastString logo v2 */.brand-mark{width:32px;height:32px;fill:none;flex:none}.brand-mark .bm-tile{fill:#2258aa;stroke:rgba(255,255,255,.3);stroke-width:1}.brand-mark .bm-top{fill:#fff}.brand-mark .bm-bottom{fill:#e0393f}.brand-word{color:#a9bede;font-weight:500;letter-spacing:.08em}.brand-word b{color:#fff;font-weight:700}
/* FastString logo v3: FS jewel + red string */.brand-logo{display:block;height:40px;width:auto}.site-header .brand-logo{height:38px}@media(max-width:760px){.site-header .brand-logo{height:32px}}.footer-brand .brand-logo{height:44px}
/* SEO build: guides, FAQ, footer NAP */
a.capability-card{color:inherit}
.footer-id{display:grid;gap:18px;align-content:start}.footer-id p{margin:0;color:#858f96}.footer-nap{font-style:normal;color:#9aa6ae;font-size:13px;line-height:1.7}.footer-nap strong{color:#fff;font-weight:500}.footer-nap a{color:#fff}
.footer-main nav.footer-guides{grid-template-columns:1fr;gap:12px;justify-self:end}.footer-guides span{color:#687178;font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.home-faq{background:#fff}.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#d6e0e7;border:1px solid #d6e0e7}.faq-item{background:#fff;padding:36px}.faq-item h3{margin:0 0 14px;font:500 23px/1.25 Manrope,sans-serif;letter-spacing:-.02em;color:#102443;text-wrap:balance}.faq-item p{margin:0;color:#4c6070;font-size:16px;line-height:1.7}.faq-item:last-child:nth-child(odd){grid-column:1/-1}
.faq-guides{display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px;margin-top:34px;font-size:13px}.faq-guides span{color:#8a9aa8;font-size:11px;text-transform:uppercase;letter-spacing:.14em}.faq-guides a{color:#d9363e}.faq-guides a:hover,.faq-guides a:focus-visible{text-decoration:underline}
.guide-layout{display:grid;grid-template-columns:minmax(0,290px) minmax(0,1fr);gap:72px;align-items:start}.guide-toc{position:sticky;top:110px}.guide-toc ol{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:13px;counter-reset:q}.guide-toc li{counter-increment:q;display:grid;grid-template-columns:28px 1fr;font-size:14px;line-height:1.45}.guide-toc li:before{content:counter(q,decimal-leading-zero);color:#d9363e;font-size:11px;padding-top:2px}.guide-toc a{color:#4c6070}.guide-toc a:hover,.guide-toc a:focus-visible{color:#0b2855;text-decoration:underline}
.guide-body{max-width:780px;min-width:0}.qa{padding:42px 0;border-top:1px solid #d6e0e7;scroll-margin-top:100px}.qa:first-child{padding-top:0;border-top:0}.qa h2{margin:0 0 18px;font:500 clamp(26px,2.6vw,34px)/1.18 Manrope,sans-serif;letter-spacing:-.025em;color:#102443;text-wrap:balance}.qa p,.qa li{color:#4c6070;font-size:17px;line-height:1.75}.qa p:first-of-type{color:#102443}.qa ul{margin:0 0 18px;padding-left:20px;display:grid;gap:6px}
.guide-meta{margin:30px 0 0;color:#9fadc3;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.guide-related{margin-top:30px;padding:32px;background:#eaf0f5;display:grid;gap:14px}.guide-related .section-tag{margin:0}.guide-related a{color:#d9363e;font-size:15px}.guide-related .guide-related-main{font:500 22px/1.3 Manrope,sans-serif;color:#102443}.guide-others{display:flex;flex-wrap:wrap;gap:10px 24px;padding-top:12px;border-top:1px solid #cedae2}.guide-others a{font-size:13px}
.guide-inline-link{display:inline-block;margin-top:16px;color:#d9363e;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
a.guide-card{color:inherit;display:flex;flex-direction:column}
@media(max-width:900px){.guide-layout{grid-template-columns:1fr;gap:44px}.guide-toc{position:static}.faq-grid{grid-template-columns:1fr}.footer-main nav.footer-guides{justify-self:start}}
.footer-main nav.footer-social{display:flex;flex-wrap:wrap;justify-self:start;gap:8px 20px;font-size:13px}.footer-social a{color:#fff}.footer-social a:hover,.footer-social a:focus-visible{color:#e0393f}
.also-platforms{margin:32px 0 0;color:#637482;font-size:15px;line-height:1.6}

/* Optimize pass: contrast + touch targets */
.process-step{color:#5d6b75}.process-step.is-active{color:var(--ink)}
.footer-bottom{color:#97a2a9}.footer-guides span{color:#97a2a9}
.guide-related .section-tag{color:#4f5d66}.guide-related a,.faq-guides a{color:#b5232b}.guide-related .guide-related-main{color:#102443}
.case-dots{gap:0}.case-dots button,.case-dots button.is-active{width:26px;height:26px;padding:0;border:0;border-radius:0;background:none;display:grid;place-items:center;transform:none}
.case-dots button:hover,.case-dots button:focus-visible{transform:none}
.case-dots button:before{content:"";width:9px;height:9px;border:1px solid rgba(255,255,255,.6);border-radius:50%;transition:.25s var(--ease)}
.case-dots button:hover:before,.case-dots button:focus-visible:before{border-color:#fff}
.case-dots button.is-active{width:36px}.case-dots button.is-active:before{width:27px;border-radius:8px;border-color:var(--red);background:var(--red)}
.case-dots button:focus-visible{outline:2px solid #fff;outline-offset:-2px}
.partners .partner-row span{color:#56636b}
.white-section .section-intro h2 span,.case-summary h2 span{color:#7d909e}
.faq-guides span,.contact-list span,.case-fact span,.insight-meta span{color:#5f6f7b}

/* Case-study thumbnail rail */
.case-rail{position:relative;background:#082044;color:#fff;overflow:hidden}
.case-rail:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:96px 96px;mask-image:linear-gradient(180deg,#000,transparent 70%)}
.case-rail>*{position:relative}
.case-rail-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:56px}
.case-rail-head .section-tag{color:#9fadc3;margin:0 0 26px}
.case-rail-head h2{margin:0;font:500 clamp(44px,5vw,74px)/1.02 Manrope,sans-serif;letter-spacing:-.045em;text-wrap:balance}
.case-rail-head h2 span{color:rgba(255,255,255,.5)}
.case-rail-side{display:grid;justify-items:end;gap:26px;max-width:380px}
.case-rail-side p{margin:0;color:#b4c0d2;font-size:15px;line-height:1.65;text-align:right}
.case-rail-controls{display:flex;gap:10px}
.case-rail .case-arrow:disabled{opacity:.35;cursor:default;background:transparent;color:#fff;border-color:rgba(255,255,255,.2)}
.case-rail-track{--edge:max(40px,calc((100% - 1440px) / 2));list-style:none;margin:0;display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--edge);padding:6px var(--edge) 28px;scrollbar-width:none;overscroll-behavior-x:contain}
.case-rail-track::-webkit-scrollbar{display:none}
.case-rail-track:focus-visible{outline:2px solid #fff;outline-offset:-2px}
.case-thumb{flex:0 0 clamp(270px,27vw,370px);scroll-snap-align:start}
.case-thumb a{display:flex;flex-direction:column;height:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);transition:transform .35s var(--ease),border-color .35s var(--ease),background .35s var(--ease)}
.case-thumb a:hover,.case-thumb a:focus-visible{transform:translateY(-6px);border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.07);outline:none}
.case-thumb-art{position:relative;aspect-ratio:4/3;max-width:100%;overflow:hidden;background:#0b2855}
.case-thumb-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.case-thumb-art.is-tall img{object-position:center 35%}
.case-thumb-art.is-product{background:#fff}.case-thumb-art.is-product:after{display:none}.case-thumb-art.is-product img{object-fit:contain;padding:10%;box-sizing:border-box}
.case-thumb-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,23,48,.5) 0%,rgba(6,23,48,0) 38%);pointer-events:none}
.case-thumb a:hover .case-thumb-art img,.case-thumb a:focus-visible .case-thumb-art img{transform:scale(1.04)}
.case-thumb-sector{position:absolute;z-index:1;top:16px;left:16px;max-width:calc(100% - 32px);padding:6px 10px;background:rgba(6,23,48,.78);color:#fff;font-size:10px;letter-spacing:.12em;text-transform:uppercase;backdrop-filter:blur(4px)}
.case-thumb-stat{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:auto 0 20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.16)}
.case-thumb-stat strong{font:500 30px/1 Manrope,sans-serif;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.case-thumb-stat span{color:#a9b6cb;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.case-rail.is-light .case-thumb-stat{border-top-color:#d6e0e7}.case-rail.is-light .case-thumb-stat span{color:#5f6f7b}
.case-thumb-copy{display:flex;flex-direction:column;flex:1;padding:24px 24px 26px}
.case-thumb-copy h3{margin:0 0 10px;font:500 23px/1.2 Manrope,sans-serif;letter-spacing:-.02em}
.case-thumb-copy p{margin:0 0 20px;color:#a9b6cb;font-size:15px;line-height:1.6}
.case-thumb-link{color:#ff6b70;font-size:12px;letter-spacing:.09em;text-transform:uppercase}
.case-rail-foot{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:22px}
.case-rail-progress{flex:1;max-width:520px;height:2px;background:rgba(255,255,255,.16)}
.case-rail-progress i{display:block;height:100%;width:20%;background:#e0393f;transition:width .25s var(--ease)}
.case-rail .text-link{border-bottom-color:rgba(255,255,255,.36);color:#fff}
/* light variant for case-study pages (follows a navy section) */
.case-rail.is-light{background:#fff;color:#102443}.case-rail.is-light:before{opacity:.0}
.case-rail.is-light .case-rail-head .section-tag{color:#56606a}.case-rail.is-light .case-rail-head h2 span{color:#7d909e}.case-rail.is-light .case-rail-side p{color:#52626f}
.case-rail.is-light .case-arrow{color:#102443;border-color:#c9d5dd}.case-rail.is-light .case-arrow:hover,.case-rail.is-light .case-arrow:focus-visible{background:#0b2855;border-color:#0b2855;color:#fff}.case-rail.is-light .case-arrow:disabled{background:transparent;color:#102443;border-color:#c9d5dd}
.case-rail.is-light .case-thumb a{background:#fff;border-color:#d6e0e7}.case-rail.is-light .case-thumb a:hover,.case-rail.is-light .case-thumb a:focus-visible{border-color:#0b2855;background:#f8fafc}
.case-rail.is-light .case-thumb-copy p{color:#52626f}.case-rail.is-light .case-thumb-link{color:#b5232b}
.case-rail.is-light .case-rail-progress{background:#d6e0e7}.case-rail.is-light .text-link{color:#102443;border-bottom-color:#9fb0bd}.case-rail.is-light .case-rail-track:focus-visible{outline-color:#0b2855}
@media(max-width:760px){.case-rail-head{flex-direction:column;align-items:flex-start;gap:28px;margin-bottom:38px}.case-rail-side{justify-items:start}.case-rail-side p{text-align:left}.case-rail-track{--edge:20px;gap:14px}.case-thumb{flex-basis:82%}.case-rail-foot{flex-direction:column;align-items:flex-start;gap:20px}.case-rail-progress{width:100%}}
@media(prefers-reduced-motion:reduce){.case-thumb a,.case-thumb-art img{transition:none}.case-thumb a:hover,.case-thumb a:hover .case-thumb-art img{transform:none}}

/* Calls to action */
.cta-band{padding:64px 0;background:linear-gradient(135deg,#0b2855,#2258aa);color:#fff}
.cta-band .container{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.cta-band h2{margin:0;font:500 clamp(30px,3.2vw,46px)/1.1 Manrope,sans-serif;letter-spacing:-.035em}
.cta-band p{max-width:580px;margin:12px 0 0;color:#b9c5d8;line-height:1.6}
.cta-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.cta-band .text-link,.hero-cta-row .text-link{color:#fff;border-bottom-color:rgba(255,255,255,.36)}
.cta-inline{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:48px;padding:24px 30px;background:#fff;border:1px solid #c9d5dd;border-left:3px solid var(--red)}
.cta-inline>p{margin:0;color:#102443;font:500 21px/1.3 Manrope,sans-serif;letter-spacing:-.015em}
.cta-inline .text-link{color:#102443;border-bottom-color:#9fb0bd}
.case-rail-foot .cta-actions .text-link{border-bottom-color:currentColor}
.industry-link{margin-top:auto;padding-top:22px;color:var(--red);font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.industry-grid article:hover .industry-link{color:#fff}
.hero-cta-row{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:36px}
.mobile-cta{display:none}
@media(max-width:760px){.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:80;display:grid;grid-template-columns:1fr 1fr;background:#071832;border-top:1px solid rgba(255,255,255,.16);padding-bottom:env(safe-area-inset-bottom,0)}.mobile-cta a{display:flex;align-items:center;justify-content:center;min-height:54px;color:#fff;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.mobile-cta a:last-child{background:var(--red)}body{padding-bottom:54px}.chat-launcher{bottom:72px}.cta-inline{padding:22px}.cta-band{padding:52px 0}}

/* Case Studies nav dropdown */
.nav-drop{position:relative;display:flex;align-items:center}
.nav-drop-toggle i{font-style:normal;font-size:10px;margin-left:4px;opacity:.7}
.nav-drop-menu{position:absolute;top:100%;left:-18px;z-index:60;display:grid;min-width:270px;margin-top:14px;padding:12px 0;background:#0b2855;border:1px solid rgba(255,255,255,.14);box-shadow:0 24px 50px rgba(2,16,30,.35);opacity:0;visibility:hidden;transform:translateY(-6px);transition:.2s var(--ease)}
.nav-drop-menu:before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.nav-drop:hover .nav-drop-menu,.nav-drop:focus-within .nav-drop-menu{opacity:1;visibility:visible;transform:none}
.desktop-nav .nav-drop-menu a{padding:10px 20px;color:rgba(255,255,255,.82);font-size:14px;white-space:nowrap}
.desktop-nav .nav-drop-menu a:after{display:none}
.desktop-nav .nav-drop-menu a:hover{background:rgba(255,255,255,.08);color:#fff}
.nav-drop-label{padding:4px 20px 8px;color:#8fa6b6;font-size:10px;text-transform:uppercase;letter-spacing:.14em}
.desktop-nav .nav-drop-menu .nav-drop-all{margin-top:6px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);color:#ff6b70;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
/* Case Studies page */
.cs-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 34px}
.cs-chip{min-height:44px;padding:0 18px;border:1px solid rgba(255,255,255,.24);background:transparent;color:#d6e2ea;font-size:12px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:.2s var(--ease)}
.cs-chip:hover{border-color:#fff;color:#fff}
.cs-chip.is-active{background:var(--red);border-color:var(--red);color:#fff}
.cs-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.cs-grid .case-thumb{flex:none}
.cs-grid .case-thumb[hidden]{display:none}
.cs-empty{color:#b4c0d2}.cs-empty a{color:#fff;text-decoration:underline}
.cs-pager{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:30px}
.cs-pager[hidden]{display:none}
@media(max-width:1050px){.cs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.cs-grid{grid-template-columns:1fr}}

/* HubSpot chat sits above the mobile call bar */
@media(max-width:760px){#hubspot-messages-iframe-container{bottom:54px!important}}

/* Case-study thumbnails as a grid (up to 9 per page) */
.case-rail-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;overflow:visible;scroll-snap-type:none;padding:6px var(--edge) 28px}
.case-rail-track .case-thumb{flex:none;min-width:0}
.case-rail-track .case-thumb[hidden]{display:none}
.case-rail-controls[hidden],.case-rail-progress[hidden]{display:none}
.case-rail-foot{justify-content:flex-end}
@media(max-width:1050px){.case-rail-track{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.case-rail-track{grid-template-columns:1fr}}

/* FastString logo (2026 artwork) */
.brand .brand-logo{display:block;width:auto;height:50px;max-width:none}
.site-header .brand-logo{height:58px}.site-header.is-scrolled .brand-logo{height:50px}
.footer-brand .brand-logo{height:76px}
@media(max-width:760px){.site-header .brand-logo,.site-header.is-scrolled .brand-logo{height:38px}.footer-brand .brand-logo{height:60px}}
.brand .brand-logo{filter:drop-shadow(0 2px 6px rgba(2,12,24,.45)) contrast(1.04)}
.site-header .brand-logo{height:62px}.site-header.is-scrolled .brand-logo{height:54px}@media(max-width:760px){.site-header .brand-logo,.site-header.is-scrolled .brand-logo{height:42px}}
.sound-toggle{background:none;border:1px solid rgba(255,255,255,.22);color:#c6d0d7;font:inherit;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:7px 11px;cursor:pointer}.sound-toggle:hover,.sound-toggle:focus-visible{border-color:#e0393f;color:#fff;outline:none}.footer-bottom{flex-wrap:wrap;gap:12px 24px;align-items:center}

/* Drone security page */
.dr-intro{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:64px;align-items:center}
.dr-h2{margin:18px 0 26px;font:500 clamp(40px,4.6vw,66px)/1.04 Manrope,sans-serif;letter-spacing:-.045em}.dr-h2 span{color:#7d909e}
.dr-lead{max-width:640px;color:#45586a;font-size:18px;line-height:1.75}.dr-lead strong{color:#102443}
.dr-map{display:block;width:100%;height:auto;max-width:100%;border:1px solid #cedae2;box-shadow:0 30px 70px rgba(5,29,66,.18)}
.dr-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#cedae2;border:1px solid #cedae2}
.dr-steps li{background:#fff;padding:34px;min-height:220px;display:flex;flex-direction:column}
.dr-steps span{color:#b5232b;font-size:12px;letter-spacing:.12em}.dr-steps h3{margin:auto 0 12px;font:500 28px/1.1 Manrope,sans-serif;letter-spacing:-.03em;color:#102443}.dr-steps p{margin:0;color:#52626f;line-height:1.6}
.check-list.dr-why{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.dr-uses .principle-card{min-height:260px}
.dr-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #cedae2}
.dr-spec{display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px;padding:18px 0;border-bottom:1px solid #cedae2;padding-right:24px}
.dr-spec span{color:#5f6f7b;font-size:12px;text-transform:uppercase;letter-spacing:.09em}.dr-spec strong{font-weight:500;color:#102443;line-height:1.5}
.dr-note{margin:28px 0 0;max-width:820px;color:#52626f;font-size:15px;line-height:1.7}
.dr-partner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:34px;align-items:center;margin:0 0 40px;padding:32px 36px;background:#0b2855;color:#fff}
.dr-partner .section-tag{color:#ffd66e}.dr-partner h3{margin:0 0 8px;font:500 30px Manrope,sans-serif}.dr-partner p{margin:0;color:#c5d3dc;line-height:1.6}
.drone-icon{background:radial-gradient(circle at 13px 13px,transparent 8px,currentColor 8.5px,currentColor 9.5px,transparent 10px),radial-gradient(circle at 53px 13px,transparent 8px,currentColor 8.5px,currentColor 9.5px,transparent 10px),radial-gradient(circle at 13px 53px,transparent 8px,currentColor 8.5px,currentColor 9.5px,transparent 10px),radial-gradient(circle at 53px 53px,transparent 8px,currentColor 8.5px,currentColor 9.5px,transparent 10px)}
.drone-icon:before{content:"";position:absolute;left:24px;top:24px;width:18px;height:18px;border:1px solid currentColor;border-radius:4px}
.drone-icon:after{content:"";position:absolute;left:19px;top:19px;width:28px;height:28px;background:linear-gradient(45deg,transparent 49%,currentColor 49%,currentColor 51%,transparent 51%),linear-gradient(-45deg,transparent 49%,currentColor 49%,currentColor 51%,transparent 51%)}
@media(max-width:1050px){.dr-intro{grid-template-columns:1fr}.dr-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.dr-specs{grid-template-columns:1fr}.dr-partner{grid-template-columns:1fr}}
@media(max-width:760px){.dr-steps{grid-template-columns:1fr}.dr-spec{grid-template-columns:1fr;gap:4px}.dr-steps li{min-height:auto}}
@media(max-width:1180px){.desktop-nav{gap:22px}}
.dr-uses .principle-card h3{color:#102443}
@media(max-width:1400px) and (min-width:1051px){.desktop-nav{gap:20px;font-size:13.5px}.site-header .support-link{display:none}.site-header .brand{margin-right:18px}}
/* v25: Texas DPS license badge in header and footer */
.lic-shield{flex:none;width:22px;height:22px;color:var(--gold,#F2B63A)}
.header-license{display:flex;align-items:center;gap:9px;padding:6px 13px 6px 10px;border:1px solid rgba(242,182,58,.55);border-radius:999px;background:rgba(242,182,58,.1);color:#fff;white-space:nowrap;line-height:1.15}
.header-license .lic-text{display:grid}
.header-license b{font-family:Manrope,sans-serif;font-weight:600;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#FFD66E}
.header-license small{font-size:11.5px;letter-spacing:.04em;color:#fff}
@media(max-width:1400px) and (min-width:1051px){.header-license{padding:5px 10px 5px 8px}.header-license small{display:none}.header-license b{font-size:10.5px}.lic-shield{width:20px;height:20px}}
@media(max-width:1050px){.header-license{margin-right:2px}}
@media(max-width:760px){.header-license{padding:4px 10px 4px 7px;gap:6px}.header-license b{font-size:9.5px;letter-spacing:.07em}.header-license small{font-size:10px}.header-license .lic-shield{width:18px;height:18px}}
@media(max-width:380px){.header-license b{display:none}.header-license small{font-weight:600;color:#FFD66E}}
.footer-license{display:flex;align-items:center;gap:14px;max-width:380px;padding:14px 18px;border:1px solid rgba(242,182,58,.45);border-left:3px solid #F2B63A;background:rgba(242,182,58,.07)}
.footer-license .lic-shield{width:34px;height:34px}
.footer-license div{display:grid;gap:3px}
.footer-license span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#c6d0d7}
.footer-license strong{font-family:Manrope,sans-serif;font-size:15px;font-weight:600;color:#fff}
.footer-bottom .footer-lic-line{color:#FFD66E;font-weight:600}
@media(max-width:1250px) and (min-width:1051px){.desktop-nav{gap:16px}.header-license{padding:7px}.header-license .lic-text{display:none}.header-actions{gap:18px}}
@media(max-width:1120px) and (min-width:1051px){.desktop-nav{gap:13px;font-size:13px}.header-actions{margin-left:14px}}
@media(max-width:1250px) and (min-width:1051px){.desktop-nav a,.header-actions .button{white-space:nowrap}.site-header .brand{margin-right:10px}}@media(max-width:1120px) and (min-width:1051px){.desktop-nav{gap:12px}.header-actions .button-small{padding:0 12px;gap:10px}.header-actions{margin-left:10px;gap:10px}}
/* License number always visible in header (Oct 6) */
.desktop-nav a,.nav-drop-toggle{white-space:nowrap}
@media(max-width:1560px) and (min-width:1051px){
  .site-header .support-link{display:none}
  .desktop-nav{gap:20px;font-size:13.5px}
  .site-header .brand{margin-right:16px}
  .header-license{padding:6px 12px 6px 9px}
  .header-license .lic-text{display:block}
  .header-license b{display:none}
  .header-license small{display:block;font-size:11px;font-weight:600;letter-spacing:.06em;color:#FFD66E;text-transform:uppercase}
  .header-license small::before{content:"TX DPS "}
}
@media(max-width:1340px) and (min-width:1051px){
  .desktop-nav{gap:14px;font-size:13px}
  .site-header .button-small{white-space:nowrap}
  .site-header .brand-logo{height:50px}
  .header-license{padding:6px 10px 6px 8px;gap:6px}
  .header-license small{font-size:10.5px;letter-spacing:.03em}
  .header-license small::before{content:""}
  .header-license .lic-shield{width:18px;height:18px}
}

/* Google rating (Oct 8) */
.g-logo{width:16px;height:16px;flex:none}
.g-score{font-family:Manrope,sans-serif;font-weight:600}
.g-stars{color:#FFC93C;letter-spacing:2px;font-size:15px;line-height:1}
.hero-rating{display:inline-flex;align-items:center;gap:9px;margin-top:28px;padding:9px 16px 9px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(8,19,36,.55);color:#fff;font-size:13px;text-decoration:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation-delay:.32s}
.hero-rating .g-text{color:rgba(255,255,255,.82);letter-spacing:.02em}
.hero-rating:hover,.hero-rating:focus-visible{border-color:#FFC93C}
.footer-rating{display:inline-flex;flex-wrap:wrap;max-width:380px;align-items:center;gap:8px;margin:18px 0 14px;padding:10px 14px;min-height:44px;border:1px solid rgba(255,255,255,.18);border-radius:6px;background:rgba(255,255,255,.04);color:#fff;font-size:13px;text-decoration:none}
.footer-rating .g-text{color:rgba(255,255,255,.75)}
.footer-rating:hover,.footer-rating:focus-visible{border-color:#FFC93C}
.footer-rating:hover .g-text{color:#fff}
@media (max-width:640px){.hero-rating{margin-top:20px;font-size:12px}}

/* New wordmark Oct 8 (wider artwork): keep the same visual width */
.site-header .brand-logo{height:50px}.site-header.is-scrolled .brand-logo{height:44px}.footer-brand .brand-logo{height:58px}
@media(max-width:760px){.site-header .brand-logo,.site-header.is-scrolled .brand-logo{height:33px}}

/* Brand blues matched to faststringpro.com (Oct 8): #2258AA brand blue, #0A1B33 / #061120 dark blues */
:root{--blue:#2258AA;--navy:#0A1B33;--brand-blue:#2258AA;--brand-dark:#061120}
.cta-band,.page-cta{background:#2258AA}
.proof-strip{background:#2258AA}
.case-rail{background:#0A1B33}
.contact{background:linear-gradient(135deg,#0A1B33 0%,#2258AA 100%)}
.site-header.is-scrolled{background:rgba(10,27,51,.95)}
.page-hero{background:linear-gradient(135deg,#061120 0%,#0A1B33 55%,#2258AA 100%)}
body>footer,footer:not([class]){background:#061120}

/* Tagline (Oct 8) */
.hero-tagline{display:flex;align-items:center;gap:14px;margin:22px 0 0;color:#FFD66E;font-family:Manrope,sans-serif;font-weight:600;font-size:15px;letter-spacing:.06em}
.hero-tagline:before{content:"";width:34px;height:2px;background:#F2B63A;flex:none}
.page-hero .hero-tagline{margin-top:20px}
.hero .hero-tagline{animation-delay:.12s}
.tagline-callout{display:flex;align-items:center;gap:12px;margin:26px 0 18px;color:#FFD66E;font-family:Manrope,sans-serif;font-weight:600;font-size:17px;letter-spacing:.03em}
.tagline-callout:before{content:"";width:28px;height:2px;background:#F2B63A;flex:none}
.white-section .tagline-callout,.contact-details .tagline-callout{color:#2258AA}
.contact-details .tagline-callout:before{background:#F2B63A}
.footer-brand .footer-tagline{margin:18px 0 22px;color:#fff;font-family:Manrope,sans-serif;font-weight:600;font-size:20px;line-height:1.35;letter-spacing:.01em;max-width:340px}
.footer-brand .footer-tagline:after{content:"";display:block;width:44px;height:2px;margin-top:14px;background:#F2B63A}
@media(max-width:760px){.hero-tagline{font-size:13px;margin-top:16px}.tagline-callout{font-size:15px}.footer-brand .footer-tagline{font-size:18px}}
.hero-tagline{margin-bottom:18px}
.page-hero .hero-tagline{margin-bottom:16px}
.contact-copy>p.tagline-callout{max-width:none;color:#FFD66E;font-size:17px;line-height:1.4}
footer p.footer-tagline{margin:18px 0 22px;color:#fff;font-family:Manrope,sans-serif;font-weight:600;font-size:20px;line-height:1.35;letter-spacing:.01em;max-width:340px}
footer p.footer-tagline:after{content:"";display:block;width:44px;height:2px;margin-top:14px;background:#F2B63A}
@media(max-width:760px){footer p.footer-tagline{font-size:18px}}

/* Brand Kit v1.3 logo (Oct 16): vector Velocity wordmark. Header uses the compact mark (no subtitle) per kit guidance for narrow placements; footer uses the full mark with subtitle. No shadows on the logo. */
.brand .brand-logo{filter:none;width:auto;max-width:none}
.site-header .brand-logo{height:44px}
.site-header.is-scrolled .brand-logo{height:40px}
footer .footer-brand .brand-logo{height:70px}
@media(max-width:760px){.site-header .brand-logo,.site-header.is-scrolled .brand-logo{height:30px}footer .footer-brand .brand-logo{height:64px}}
/* Header uses the full wordmark (with red underline + subtitle), Oct 16 */
.site-header .brand-logo{height:54px}
.site-header.is-scrolled .brand-logo{height:48px}
@media(max-width:1400px) and (min-width:761px){.site-header .brand-logo{height:50px}.site-header.is-scrolled .brand-logo{height:46px}}
@media(max-width:760px){.site-header .brand-logo,.site-header.is-scrolled .brand-logo{height:34px}}
@media(max-width:760px){.site-header .brand{margin-right:10px}}
/* Logo sizing for a readable "Professional Services" line (Oct 16).
   The subtitle is about 1/15 of the logo height, so the logo needs ~80px of height to keep it legible. */
.site-header,.site-header.is-scrolled{height:104px}
.site-header .brand-logo{height:80px}
.site-header.is-scrolled .brand-logo{height:72px}
@media(max-width:1500px) and (min-width:1051px){.site-header .brand-logo{height:68px}.site-header.is-scrolled .brand-logo{height:64px}.site-header,.site-header.is-scrolled{height:94px}}
@media(max-width:1300px) and (min-width:1051px){.site-header .brand-logo,.site-header.is-scrolled .brand-logo{height:60px}}
@media(max-width:1500px) and (min-width:1401px){.site-header .brand-logo,.site-header.is-scrolled .brand-logo{height:72px}}
@media(max-width:1050px) and (min-width:761px){.site-header .brand-logo,.site-header.is-scrolled .brand-logo{height:76px}}
footer .footer-brand .brand-logo{height:auto;width:100%;max-width:440px}
/* Phones: the logo gets the full header row; the license badge moves to a slim strip under it */
@media(max-width:760px){
 .site-header,.site-header.is-scrolled{height:auto;min-height:84px;flex-wrap:wrap;padding:10px 16px 0}
 .site-header .brand{flex:1 1 auto;margin-right:8px}
 .site-header .brand-logo,.site-header.is-scrolled .brand-logo{height:auto;width:min(310px,calc(100vw - 112px))}
 .site-header .header-actions{order:3;flex:1 0 100%;margin:8px -16px 0;padding:6px 16px;justify-content:center;border-top:1px solid rgba(255,255,255,.12);background:rgba(6,17,32,.55)}
 .site-header .header-license{border:0;background:none;padding:0}
 .site-header .header-license .lic-text{display:flex;gap:8px;align-items:baseline}
 .site-header .header-license small{display:inline}
 .site-header .menu-button{order:2}
}
@media(max-width:1100px) and (min-width:761px){.footer-main{grid-template-columns:1.6fr 1fr 1fr;gap:32px}footer .footer-brand .brand-logo{width:min(360px,100%)}}

/* Right-sized logo (Oct 16b): web logo has a larger, bolder "Professional Services" line, so the overall logo can be smaller */
.site-header,.site-header.is-scrolled{height:88px}
.site-header .brand-logo{height:60px}
.site-header.is-scrolled .brand-logo{height:54px}
@media(max-width:1500px) and (min-width:1051px){.site-header,.site-header.is-scrolled{height:84px}.site-header .brand-logo,.site-header.is-scrolled .brand-logo{height:56px}}
@media(max-width:1300px) and (min-width:1051px){.site-header .brand-logo,.site-header.is-scrolled .brand-logo{height:52px}}
@media(max-width:1050px) and (min-width:761px){.site-header,.site-header.is-scrolled{height:88px}.site-header .brand-logo,.site-header.is-scrolled .brand-logo{height:58px}}
footer .footer-brand .brand-logo{width:100%;max-width:330px;height:auto}
@media(max-width:760px){.site-header,.site-header.is-scrolled{min-height:72px}.site-header .brand-logo,.site-header.is-scrolled .brand-logo{width:min(230px,calc(100vw - 112px));height:auto}footer .footer-brand .brand-logo{max-width:300px}}

/* Smaller logo, same-size "Professional Services" (Oct 16c): web logo subtitle glyphs enlarged to compensate */
.site-header,.site-header.is-scrolled{height:80px}
.site-header .brand-logo{height:52px}
.site-header.is-scrolled .brand-logo{height:48px}
@media(max-width:1500px) and (min-width:1051px){.site-header,.site-header.is-scrolled{height:78px}.site-header .brand-logo,.site-header.is-scrolled .brand-logo{height:48px}}
@media(max-width:1300px) and (min-width:1051px){.site-header .brand-logo,.site-header.is-scrolled .brand-logo{height:45px}}
@media(max-width:1050px) and (min-width:761px){.site-header,.site-header.is-scrolled{height:80px}.site-header .brand-logo,.site-header.is-scrolled .brand-logo{height:50px}}
footer .footer-brand .brand-logo{max-width:286px}
@media(max-width:760px){.site-header,.site-header.is-scrolled{min-height:64px}.site-header .brand-logo,.site-header.is-scrolled .brand-logo{width:min(200px,calc(100vw - 112px))}footer .footer-brand .brand-logo{max-width:260px}}
@media(max-width:760px){.site-header .brand-logo,.site-header.is-scrolled .brand-logo{height:auto}}

/* A little smaller again (Oct 16d); subtitle glyphs enlarged further so "Professional Services" keeps its size */
.site-header,.site-header.is-scrolled{height:74px}
.site-header .brand-logo{height:46px}
.site-header.is-scrolled .brand-logo{height:42px}
@media(max-width:1500px) and (min-width:1051px){.site-header,.site-header.is-scrolled{height:72px}.site-header .brand-logo,.site-header.is-scrolled .brand-logo{height:42px}}
@media(max-width:1300px) and (min-width:1051px){.site-header .brand-logo,.site-header.is-scrolled .brand-logo{height:40px}}
@media(max-width:1050px) and (min-width:761px){.site-header,.site-header.is-scrolled{height:74px}.site-header .brand-logo,.site-header.is-scrolled .brand-logo{height:44px}}
footer .footer-brand .brand-logo{max-width:252px}
@media(max-width:760px){.site-header,.site-header.is-scrolled{min-height:60px}.site-header .brand-logo,.site-header.is-scrolled .brand-logo{width:min(176px,calc(100vw - 112px));height:auto}footer .footer-brand .brand-logo{max-width:236px}}

.site-header .brand-logo{height:48px}.site-header.is-scrolled .brand-logo{height:44px}
@media(max-width:1500px) and (min-width:1051px){.site-header .brand-logo,.site-header.is-scrolled .brand-logo{height:44px}}
@media(max-width:1300px) and (min-width:1051px){.site-header .brand-logo,.site-header.is-scrolled .brand-logo{height:42px}}
@media(max-width:1050px) and (min-width:761px){.site-header .brand-logo,.site-header.is-scrolled .brand-logo{height:46px}}
@media(max-width:760px){.site-header .brand-logo,.site-header.is-scrolled .brand-logo{height:auto}}

/* ===== LOGO: single source of truth (Oct 16) =====
   One logo file on every page (assets/faststring-wordmark-reverse-web.svg). It scales smoothly with the screen,
   never stretches (aspect ratio locked), and is never recolored, faded, filtered or shadowed. */
header.site-header .brand,footer .footer-id .footer-brand{display:inline-flex;align-items:center;flex:none;line-height:0}
header.site-header .brand .brand-logo,
footer .footer-id .footer-brand .brand-logo{display:block;width:auto;max-width:none;aspect-ratio:1250/284;object-fit:contain;filter:none!important;opacity:1!important;mix-blend-mode:normal!important;transform:none;image-rendering:auto}
/* Header: 42px tall on 1280px laptops, growing smoothly to 48px on large screens */
header.site-header .brand .brand-logo,header.site-header.is-scrolled .brand .brand-logo{height:clamp(42px,calc(1.25vw + 26px),48px)}
@media(max-width:1050px) and (min-width:761px){header.site-header .brand .brand-logo,header.site-header.is-scrolled .brand .brand-logo{height:46px}}
@media(max-width:760px){header.site-header .brand .brand-logo,header.site-header.is-scrolled .brand .brand-logo{height:auto;width:clamp(150px,46vw,176px)}}
/* Footer: a little larger than the header, never wider than its column */
footer .footer-id .footer-brand .brand-logo{height:auto;width:clamp(200px,22vw,252px)}
@media(max-width:760px){footer .footer-id .footer-brand .brand-logo{width:clamp(200px,62vw,236px)}}
@media(min-width:761px){.principle-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.principle-card{min-width:0;overflow-wrap:anywhere}}
.principle-card{overflow-wrap:normal;word-break:normal;hyphens:manual}@media(min-width:761px) and (max-width:1023px){.principle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:761px) and (max-width:1023px){.principle-grid.dr-uses,.principle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* FREE consultation call-to-action (Oct 16): gold so it stands out from the red buttons */
.button-gold{background:#F2B514;color:#061120;border-color:#F2B514;font-weight:700}
.button-gold span{color:#061120}
.button-gold:hover,.button-gold:focus-visible{background:#FFC93C;border-color:#FFC93C;color:#061120;transform:translateY(-2px);box-shadow:0 14px 32px rgba(242,181,20,.32)}
.site-header .button-gold{box-shadow:0 0 0 0 rgba(242,181,20,.55);animation:consultPulse 2.8s ease-out 1.2s 3}
@keyframes consultPulse{0%{box-shadow:0 0 0 0 rgba(242,181,20,.55)}70%{box-shadow:0 0 0 12px rgba(242,181,20,0)}100%{box-shadow:0 0 0 0 rgba(242,181,20,0)}}
@media(prefers-reduced-motion:reduce){.site-header .button-gold{animation:none}}
.mobile-cta a.mobile-cta-consult,.mobile-cta a:last-child.mobile-cta-consult{background:#F2B514;color:#061120;font-weight:700}
.consult-badge{display:inline-block;margin:0 0 16px;padding:7px 14px;border-radius:999px;background:#F2B514;color:#061120;font-family:Manrope,sans-serif;font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.contact-details p.consult-badge{font-size:12px;line-height:1.2;color:#061120;max-width:none;margin:0 0 18px}
@media(max-width:1300px) and (min-width:1051px){.site-header .button-gold{padding:0 14px;gap:10px;letter-spacing:.06em}.site-header .header-actions{gap:12px}}
@media(max-width:1200px) and (min-width:1051px){.site-header .button-gold span{display:none}.site-header .desktop-nav{gap:11px;font-size:12.5px}}
@media(max-width:1100px) and (min-width:1051px){.site-header{padding-left:16px;padding-right:16px}.site-header .desktop-nav{gap:9px;font-size:12px}.site-header .button-gold{padding:0 10px;font-size:11px;letter-spacing:.04em}.site-header .header-actions{gap:8px}}

/* Dropdown menus for Capabilities, Industries, Mobile Security (Oct 19) */
.nav-drop-menu .nav-drop-label+a,.nav-drop-menu a+.nav-drop-label{margin-top:0}
.nav-drop-menu a+.nav-drop-label{margin-top:8px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12)}
.nav-drop:hover>.nav-drop-toggle,.nav-drop:focus-within>.nav-drop-toggle{color:#fff}
.nav-drop:hover>.nav-drop-toggle i,.nav-drop:focus-within>.nav-drop-toggle i{transform:rotate(180deg);display:inline-block}
section[id],article[id],div[id].qa,article.qa{scroll-margin-top:100px}
