/* webXcode Phase 4: accessibility, privacy and compliance */
:root{--wx-focus:#ff3844;--wx-panel:#0b0b0d;--wx-panel-2:#121214}
.skip-link{position:fixed;left:1rem;top:1rem;z-index:12000;padding:.8rem 1rem;border:1px solid rgba(255,56,68,.8);border-radius:10px;background:#090909;color:#fff;font:700 .78rem/1.2 "Share Tech Mono",monospace;letter-spacing:1px;text-transform:uppercase;text-decoration:none;transform:translateY(-180%);transition:transform .18s ease;box-shadow:0 12px 35px rgba(0,0,0,.65),0 0 24px rgba(232,0,13,.18)}
.skip-link:focus{transform:translateY(0)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.menu-trigger{border:0;background:transparent;padding:0;-webkit-appearance:none;appearance:none}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--wx-focus)!important;outline-offset:4px!important;box-shadow:0 0 0 5px rgba(232,0,13,.18)!important}
:where(input,select,textarea)[aria-invalid="true"]{border-color:#ff4b55!important;box-shadow:0 0 0 3px rgba(232,0,13,.14)!important}
.field-error{display:block;margin-top:.42rem;color:#ff8188;font:600 .62rem/1.45 "Share Tech Mono",monospace;letter-spacing:.5px}
.form-error-summary{display:none;margin:0 0 1rem;padding:1rem 1.1rem;border:1px solid rgba(255,75,85,.45);border-left:3px solid #ff4b55;border-radius:12px;background:rgba(232,0,13,.07);color:#fff;font-size:.78rem;line-height:1.6}
.form-error-summary.is-visible{display:block}
.form-error-summary strong{display:block;margin-bottom:.25rem;color:#ff8188;font-family:"Share Tech Mono",monospace;letter-spacing:1px;text-transform:uppercase}
.form-privacy-note a,.privacy-inline-link{color:#fff;text-decoration:underline;text-decoration-color:rgba(232,0,13,.75);text-underline-offset:3px}
.footer-inner{flex-wrap:wrap}
.footer-legal{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.35rem .9rem;width:100%;margin-top:.4rem;font:500 .58rem/1.4 "Share Tech Mono",monospace;letter-spacing:1.2px;text-transform:uppercase}
.footer-legal a,.footer-legal button{border:0;background:none;padding:.15rem;color:rgba(255,255,255,.48);font:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration:none;cursor:pointer}
.footer-legal a:hover,.footer-legal button:hover,.footer-legal a[aria-current="page"]{color:#fff}
.wx-consent-banner{position:fixed;left:50%;bottom:1rem;z-index:11000;width:min(760px,calc(100vw - 1.5rem));transform:translate(-50%,calc(100% + 3rem));opacity:0;visibility:hidden;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .25s ease,visibility .25s ease;padding:1.1rem;border:1px solid rgba(255,255,255,.1);border-top-color:rgba(232,0,13,.55);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012)),rgba(7,7,8,.97);box-shadow:0 25px 90px rgba(0,0,0,.72),0 0 50px rgba(232,0,13,.08);backdrop-filter:blur(18px)}
.wx-consent-banner.is-visible{transform:translate(-50%,0);opacity:1;visibility:visible}
.wx-consent-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.2rem;align-items:center}
.wx-consent-kicker{display:block;margin-bottom:.35rem;color:#ff2633;font:700 .55rem/1.2 "Share Tech Mono",monospace;letter-spacing:2px;text-transform:uppercase}
.wx-consent-title{margin:0 0 .35rem;color:#fff;font:700 1.05rem/1.25 var(--font-heading,"Arial",sans-serif)}
.wx-consent-copy{margin:0;color:rgba(255,255,255,.62);font-size:.72rem;line-height:1.65}
.wx-consent-copy a{color:#fff;text-underline-offset:3px}
.wx-consent-actions{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.wx-consent-btn{min-height:40px;padding:.68rem .9rem;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.035);color:#fff;font:700 .58rem/1 "Share Tech Mono",monospace;letter-spacing:1.2px;text-transform:uppercase;cursor:pointer}
.wx-consent-btn--primary{border-color:#e8000d;background:#e8000d;box-shadow:0 0 20px rgba(232,0,13,.22)}
.wx-consent-btn:hover{border-color:rgba(232,0,13,.7)}
.privacy-modal-open{overflow:hidden}
.wx-privacy-modal{position:fixed;inset:0;z-index:11500;display:grid;place-items:center;padding:1rem;background:rgba(0,0,0,.78);backdrop-filter:blur(12px);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
.wx-privacy-modal.is-visible{opacity:1;visibility:visible}
.wx-privacy-card{width:min(560px,100%);padding:1.35rem;border:1px solid rgba(255,255,255,.1);border-top-color:rgba(232,0,13,.55);border-radius:22px;background:#0b0b0d;box-shadow:0 30px 100px rgba(0,0,0,.75)}
.wx-privacy-card-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}
.wx-privacy-card h2{margin:.2rem 0 .35rem;color:#fff;font:700 clamp(1.45rem,4vw,2.1rem)/1.1 var(--font-heading,"Arial",sans-serif)}
.wx-privacy-card p{color:rgba(255,255,255,.6);font-size:.76rem;line-height:1.7}
.wx-privacy-close{width:40px;height:40px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(255,255,255,.03);color:#fff;font-size:1.15rem;cursor:pointer}
.wx-privacy-choice{display:grid;gap:.7rem;margin:1rem 0}
.wx-privacy-option{display:grid;grid-template-columns:auto 1fr;gap:.8rem;padding:1rem;border:1px solid rgba(255,255,255,.075);border-radius:16px;background:rgba(255,255,255,.018);cursor:pointer}
.wx-privacy-option input{margin-top:.2rem;accent-color:#e8000d}
.wx-privacy-option strong{display:block;margin-bottom:.2rem;color:#fff;font-size:.85rem}
.wx-privacy-option span{display:block;color:rgba(255,255,255,.5);font-size:.69rem;line-height:1.55}
.wx-privacy-card-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1rem}
.project-noscript-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1rem 0}
.project-noscript-card{padding:1.25rem;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.025)}
.project-noscript-card h3{margin:0 0 .6rem;font-family:var(--font-heading);font-size:1.25rem}.project-noscript-card p{color:rgba(255,255,255,.62);line-height:1.7;font-size:.82rem}.project-noscript-card a{display:inline-block;margin-top:.8rem;color:#ff2633;font:700 .6rem "Share Tech Mono",monospace;letter-spacing:1px;text-transform:uppercase}
.privacy-rights-list{display:grid;gap:.55rem;margin-top:1rem;padding:0;list-style:none}.privacy-rights-list li{position:relative;padding-left:1.35rem;color:rgba(255,255,255,.66);font-size:.78rem;line-height:1.65}.privacy-rights-list li::before{content:'+';position:absolute;left:0;color:#e8000d;font-family:"Share Tech Mono",monospace}
.privacy-preferences-button{margin-top:1rem}
@media(max-width:720px){.wx-consent-grid{grid-template-columns:1fr}.wx-consent-actions{justify-content:flex-start}.wx-consent-btn{flex:1}.project-noscript-list{grid-template-columns:1fr}.footer-legal{font-size:.54rem}}
@media(max-width:430px){.wx-consent-banner{bottom:.6rem;width:calc(100vw - .8rem);padding:.9rem;border-radius:16px}.wx-consent-actions{display:grid;grid-template-columns:1fr 1fr}.wx-consent-btn--primary{grid-column:1/-1}.wx-privacy-card-actions{flex-direction:column}.wx-privacy-card-actions .wx-consent-btn{width:100%}}
@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;scroll-behavior:auto!important}.skip-link,.wx-consent-banner,.wx-privacy-modal{transition:none!important}#splash,#fluid,.wx-canvas,#wx-overlay,#wx-scan,#wx-ripple,#wx-pulse,#wx-label{display:none!important}body,body:not(.site-entered),body:not(.site-entered) header,body:not(.site-entered) main,body:not(.site-entered) footer{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}.reveal-section,.reveal-up,.feat-card,.bento-panel,.svc,.at-stat,.stack-item,.prof-bar-row,.service-row,.hero-eyebrow,.hero-name,.hero-divider,.hero-bio,.hero-cta,.page-title,.page-subtitle{opacity:1!important;visibility:visible!important;transform:none!important}.btn:hover,.proof-card:hover,.bento-panel:hover{transform:none!important}}
html[data-reduced-motion="true"] #splash,html[data-reduced-motion="true"] #fluid{display:none!important}
