/* Main marketing site only; legacy/client applications do not load this stylesheet. */
.skip-link{position:fixed;top:-6rem;left:1rem;z-index:2000;background:#fff;color:#17212b;padding:.8rem 1rem;border:3px solid #a40000}
.skip-link:focus{top:1rem}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #a40000;outline-offset:4px}
header.masthead{height:auto;min-height:38rem;min-height:min(100svh,58rem);padding:10rem 0 7rem;background:#101820 url('../assets/img/servers.jpg') center/cover no-repeat;display:flex;align-items:center}
header.masthead .masthead-heading{font-size:clamp(2rem,6.8vw,4.5rem);line-height:1.12;overflow-wrap:break-word}
header.masthead .masthead-subheading{font-size:clamp(1.1rem,4vw,2.25rem);line-height:1.35}
header.policy-header{height:auto;min-height:0;padding:3.5rem 0;background:#17212b}
header.policy-header .overlay{display:none}
#portfolio .portfolio-item{height:100%;display:flex;flex-direction:column}
#portfolio .portfolio-caption{flex:1}
#contact .section-subheading,#contact .contact-help,#contact small{color:#dce3e9!important}
#contact label{display:block;color:#fff;font-weight:700;margin-bottom:.45rem}
#contact .form-group-textarea{display:flex;flex-direction:column}
#contact .form-group-textarea textarea{height:auto!important;flex:1;min-height:12rem}
#contact .form-control{color:#212529;background:#fff}
#contact form#contactForm .form-control::placeholder{color:#58616b;opacity:1}
#contact .contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#contact #contact-status:not(:empty){margin-bottom:1.5rem}
#contact .alert-danger{color:#721c24;background:#f8d7da}
#contact .alert-success{color:#155724;background:#d4edda}
#contact a:not(.btn){color:#fff;text-decoration:underline}
.contact-response{background:#212529;color:white}
@media(max-width:575.98px){header.masthead{padding:8rem 0 5rem;min-height:34rem}header.masthead .masthead-heading{font-size:clamp(1.8rem,8.5vw,3rem)}.page-section{padding:4rem 0}header.policy-header{padding:2.5rem 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Optimized decorative motion: static poster remains the fallback. */
header.masthead .hero-video{display:block;position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;object-fit:cover;transform:none;opacity:0;pointer-events:none}
header.masthead .hero-video.is-ready{opacity:1}
.hero-video-toggle{position:absolute;bottom:1rem;right:1rem;z-index:3;border:1px solid #fff;border-radius:.3rem;background:rgba(0,0,0,.8);color:#fff;padding:.65rem .9rem;font:600 .85rem/1.3 system-ui,sans-serif;min-height:44px}
.hero-video-toggle[hidden]{display:none}
.hero-video-toggle:focus-visible{outline:3px solid white;outline-offset:3px}
