/* MCT Corporation — Dark Premium theme layer.
   Loaded last on every page so the whole site shares one visual system. */
:root{
  color-scheme:dark;
  --mct-bg:#050914;
  --mct-bg-soft:#081226;
  --mct-surface:#0b1830;
  --mct-surface-2:#10213e;
  --mct-surface-3:#14294b;
  --mct-text:#edf3ff;
  --mct-muted:#a5b5d1;
  --mct-blue:#6f9cff;
  --mct-blue-strong:#3978f6;
  --mct-line:rgba(150,180,235,.19);
  --mct-shadow:0 24px 70px rgba(0,0,0,.34);
}
html{color-scheme:dark;background:var(--mct-bg)}
body{
  color:var(--mct-text)!important;
  background-color:var(--mct-bg)!important;
  background-image:
    radial-gradient(ellipse at 12% 0%,rgba(39,91,190,.17),transparent 36%),
    radial-gradient(ellipse at 88% 22%,rgba(32,73,154,.13),transparent 34%),
    linear-gradient(180deg,#050914 0%,#070e1d 55%,#050914 100%)!important;
}
body::before{opacity:.3}
body::after{opacity:.8}
body :where(h1,h2,h3,h4,h5,h6,strong,b,legend){color:#f2f6ff}
body :where(p,li,label,small,.muted,.description,.subtitle,.section-desc,.hero-copy){color:var(--mct-muted)}
body :where(a){color:#9bbcff}
body :where(a:hover){color:#d5e4ff}
::selection{color:#fff;background:rgba(65,119,245,.42)}
/* Main surfaces and cards */
body :where(.card,.app-card,.service-card,.service-item,.feature-card,.feature,.feature-box,
.package-card,.pricing-card,.price-card,.project-card,.request-card,.stat-card,.mini-card,
.video-card,.video-item,.release-card,.login-card,.login-panel,.signin-card,.form-card,
.feedback-card,.feedback-form,.legal-card,.legal-index,.tracking-card,.track-card,
.status-card,.timeline-card,.info-card,.content-card,.panel,.panel-card,.dashboard-card,
.modal-content,.modal-box,.dialog,.popup-content,.notification-panel,.empty-state,
.foundation-date,.foundation-copy,.foundation-card,.request-tools,.search-box){
  color:var(--mct-text)!important;
  border-color:var(--mct-line)!important;
  background-color:rgba(10,23,46,.88)!important;
  box-shadow:0 18px 52px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.025);
}
body :where(.app-card,.service-card,.feature-card,.package-card,.pricing-card,.project-card,
.request-card,.stat-card,.mini-card,.video-card,.release-card,.legal-card,.foundation-card){
  background-image:linear-gradient(145deg,rgba(18,39,75,.82),rgba(7,17,36,.94))!important;
}
body :where(.app-card:hover,.service-card:hover,.feature-card:hover,.package-card:hover,
.pricing-card:hover,.project-card:hover,.request-card:hover,.stat-card:hover,.mini-card:hover,
.video-card:hover,.release-card:hover){
  border-color:rgba(105,153,255,.52)!important;
  box-shadow:0 22px 60px rgba(0,0,0,.34),0 0 24px rgba(54,111,230,.08);
}
/* Inputs, selectors and editable areas */
body :where(input:not([type=checkbox]):not([type=radio]):not([type=range]),
textarea,select,.search input,.search-box input){
  color:#f0f5ff!important;
  border-color:rgba(145,174,226,.27)!important;
  background:#071326!important;
  caret-color:#8db2ff;
}
body :where(input,textarea,select)::placeholder{color:#7185a8!important;opacity:1}
body :where(input,textarea,select):focus{
  border-color:#6f9cff!important;
  outline:0!important;
  box-shadow:0 0 0 3px rgba(72,126,239,.16)!important;
}
body :where(input[type=checkbox],input[type=radio]){accent-color:#6f9cff}
body :where(fieldset){border-color:var(--mct-line)!important}
body :where(hr){border-color:var(--mct-line)!important}
/* Buttons keep their existing semantic accent colors; neutral controls become dark. */
body :where(button:not(.btn-primary):not(.primary-btn):not(.submit-btn):not(.mct-feedback-cta-button),
.btn-secondary,.btn-outline,.back-link,.filter,.tab-button,.icon-button){
  border-color:rgba(145,174,226,.28);
}
body :where(.btn-secondary,.btn-outline,.back-link,.filter,.tab-button,.icon-button){
  color:#dce8ff!important;
  background:rgba(28,51,91,.55)!important;
}
body :where(.btn-secondary:hover,.btn-outline:hover,.back-link:hover,.filter:hover,.tab-button:hover){
  border-color:rgba(119,164,255,.65)!important;
  background:rgba(45,81,145,.62)!important;
}
/* Subtle dividers and labels */
body :where(.eyebrow,.kicker,.section-kicker,.section-label,.form-kicker,.legal-kicker){
  color:#8eafff!important;
}
body :where(.divider,.separator,.section-divider){border-color:var(--mct-line)!important}
body :where(table){color:var(--mct-text)}
body :where(th){color:#e8f0ff;background:#10213e}
body :where(td){color:#b8c7e1;border-color:var(--mct-line)}
body :where(tr){border-color:var(--mct-line)}
/* Shared footer */
.mct-footer{
  color:#eaf1ff!important;
  border-color:var(--mct-line)!important;
  background:linear-gradient(145deg,rgba(11,25,50,.96),rgba(5,13,28,.98))!important;
  box-shadow:0 22px 60px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.04)!important;
}
.mct-footer :where(p,small,span){color:#9fb1d1}
.mct-footer :where(a){color:#c5d8ff}
/* Aether chat widget: dark surface to match the rest of MCT */
#mct-aether-panel{color:#eaf1ff!important;border-color:var(--mct-line)!important;background:#09172d!important;box-shadow:0 24px 75px rgba(0,0,0,.55)!important}
#mct-aether-messages{background:linear-gradient(180deg,#09172d,#0b1d38)!important}
#mct-aether-message .mct-aether-message.assistant,
#mct-aether-messages .mct-aether-message.assistant{color:#dce8ff!important;border-color:rgba(145,174,226,.18)!important;background:#132747!important}
#mct-aether-messages .mct-aether-message.assistant :where(strong,h1,h2,h3){color:#f2f6ff!important}
#mct-aether-compose,#mct-aether-footnote{border-color:var(--mct-line)!important;background:#08152a!important;color:#91a6c8!important}
#mct-aether-input{color:#f0f5ff!important;border-color:var(--mct-line)!important;background:#0d203c!important}
#mct-aether-input::placeholder{color:#8499bc!important}
#mct-aether-close{color:#eaf1ff!important;background:rgba(255,255,255,.1)!important}
/* Standalone Aether product page shares the same background and panels */
body:has(.aether-page),body:has(.aether-hero){background-color:var(--mct-bg)!important}
@media(prefers-reduced-motion:reduce){body *{scroll-behavior:auto}}

/* Remove decorative grid patterns across every public and admin page. */
body::before,
body:before{
  background-image:none!important;
  background:none!important;
}
body.mct-auth-page,
.mct-auth-page{
  background-image:none!important;
}
.grid-bg,
.video-grid,
.mct-feedback-cta::after,
.mct-feedback-cta:after{
  background-image:none!important;
  background:none!important;
}

/* MCT animated glow atmosphere — shared across the entire website. */
body{
  isolation:isolate;
  position:relative;
  background-color:#050914!important;
}
body::before{
  content:"";
  position:fixed;
  inset:-18%;
  z-index:-2;
  display:block;
  pointer-events:none;
  opacity:.72;
  background:
    radial-gradient(ellipse at 18% 24%,rgba(35,103,255,.23),transparent 32%),
    radial-gradient(ellipse at 78% 18%,rgba(24,76,190,.2),transparent 30%),
    radial-gradient(ellipse at 68% 78%,rgba(38,91,210,.16),transparent 34%),
    radial-gradient(ellipse at 12% 82%,rgba(27,70,155,.13),transparent 30%)!important;
  background-size:160% 160%!important;
  animation:mct-glow-drift 30s ease-in-out infinite alternate;
  will-change:background-position;
}
body::after{
  background:
    radial-gradient(ellipse at 12% 18%,rgba(39,91,190,.14),transparent 36%),
    radial-gradient(ellipse at 88% 72%,rgba(32,73,154,.12),transparent 34%),
    linear-gradient(180deg,#050914 0%,rgba(7,14,29,.72) 55%,#050914 100%)!important;
  background-size:145% 145%!important;
  animation:mct-glow-drift-reverse 38s ease-in-out infinite alternate;
  will-change:background-position;
}
@keyframes mct-glow-drift{
  0%{background-position:0% 15%}
  50%{background-position:75% 55%}
  100%{background-position:100% 85%}
}
@keyframes mct-glow-drift-reverse{
  0%{background-position:100% 0%}
  50%{background-position:25% 65%}
  100%{background-position:0% 100%}
}
/* Gentle interactive glow on existing surfaces without changing their layout. */
body :where(.app-card,.service-card,.feature-card,.package-card,.pricing-card,.project-card,.video-card,.login-card,.auth-card,.stat-card,.request-card){
  transition: border-color .28s ease, box-shadow .28s ease, background-color .28s ease;
}
body :where(.app-card:hover,.service-card:hover,.feature-card:hover,.package-card:hover,.pricing-card:hover,.project-card:hover,.video-card:hover,.login-card:hover,.auth-card:hover,.stat-card:hover,.request-card:hover){
  box-shadow:0 18px 52px rgba(0,0,0,.28),0 0 28px rgba(57,120,246,.12);
}
@media(max-width:700px){
  body::before{inset:-8%;opacity:.52;background-size:190% 190%!important;animation-duration:38s}
  body::after{background-size:180% 180%!important;animation-duration:46s}
}
@media(prefers-reduced-motion:reduce){
  body::before,body::after{animation:none!important;will-change:auto}
  body :where(.app-card,.service-card,.feature-card,.package-card,.pricing-card,.project-card,.video-card,.login-card,.auth-card,.stat-card,.request-card){transition:none!important}
}

/* Site-wide usability and accessibility polish. */
html{scroll-behavior:smooth;scroll-padding-top:1.25rem}
body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-wrap:break-word;
}
:where(a,button,input,select,textarea,[role="button"],[tabindex]):focus-visible{
  outline:3px solid rgba(105,157,255,.95)!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 5px rgba(55,117,245,.18)!important;
}
:where(button,[role="button"],a.button,.btn,.mct-btn){
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
:where(button,.btn,.mct-btn,input[type="submit"],input[type="button"]){
  min-height:44px;
}
:where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  max-width:100%;
  color:#edf4ff;
  caret-color:#82aaff;
}
:where(input,select,textarea)::placeholder{color:#91a2bf;opacity:1}
:where(input,select,textarea):disabled,
:where(button):disabled{
  opacity:.58;
  cursor:not-allowed;
}
:where(label){line-height:1.5}
:where(p,li){line-height:1.7}
:where(a){text-underline-offset:.18em}
:where(a:hover){text-decoration-thickness:2px}
:where(img,video,iframe,svg,canvas){max-width:100%}
:where(pre,code){overflow-wrap:anywhere}
:where(table){max-width:100%;border-collapse:collapse}
:where(.table-wrap,.table-responsive){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
::selection{color:#fff;background:rgba(49,112,245,.55)}
/* Consistent feedback for form validation and status messaging. */
:where(input,select,textarea)[aria-invalid="true"],
:where(.is-invalid,.invalid,.error-input){
  border-color:#ff737d!important;
  box-shadow:0 0 0 3px rgba(255,91,105,.12)!important;
}
:where(.error,.form-error,[role="alert"]){color:#ff9da5}
:where(.success,.form-success,[role="status"]){color:#9de8bd}
/* Prevent narrow screens from creating horizontal page scrolling. */
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:clip}
  :where(input,select,textarea){font-size:16px}
  :where(button,.btn,.mct-btn,input[type="submit"]){min-height:44px}
  :where(.container,.section,.content-wrap){width:min(100% - 28px,100%)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
}

/* MCT motion system: smooth transitions and lightweight page entrances. */
:root{
  --mct-motion-fast:160ms;
  --mct-motion-normal:260ms;
  --mct-motion-slow:520ms;
  --mct-motion-ease:cubic-bezier(.22,.68,0,1);
}
:where(a,button,input,select,textarea,[role="button"],.btn,.mct-btn){
  transition:
    color var(--mct-motion-normal) ease,
    background-color var(--mct-motion-normal) ease,
    border-color var(--mct-motion-normal) ease,
    box-shadow var(--mct-motion-normal) ease,
    transform var(--mct-motion-normal) var(--mct-motion-ease),
    opacity var(--mct-motion-normal) ease,
    filter var(--mct-motion-normal) ease;
}
:where(button,.btn,.mct-btn,[role="button"]):not(:disabled):active{
  transform:translateY(1px) scale(.985);
}
:where(a):not(.mct-brand):hover{
  transition-duration:var(--mct-motion-fast);
}
:where(.app-card,.service-card,.feature-card,.package-card,.pricing-card,.project-card,.video-card,.login-card,.auth-card,.stat-card,.request-card,.detail,.float,.visual,.download){
  transition:
    transform 360ms var(--mct-motion-ease),
    border-color 260ms ease,
    box-shadow 320ms ease,
    background-color 260ms ease;
}
:where(.app-card,.service-card,.feature-card,.package-card,.pricing-card,.project-card,.video-card,.detail):hover{
  transform:translateY(-4px);
}
:where(img):not(.mct-aether-logo){
  transition:transform 420ms var(--mct-motion-ease),filter 320ms ease;
}
:where(.app-card,.service-card,.feature-card,.package-card,.project-card,.video-card):hover img{
  transform:scale(1.025);
}
:where(input,select,textarea):focus{
  transition:border-color 180ms ease,box-shadow 180ms ease,background-color 180ms ease;
}
@keyframes mct-page-enter{
  from{opacity:0;transform:translate3d(0,14px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes mct-soft-appear{
  from{opacity:0}
  to{opacity:1}
}
@keyframes mct-card-enter{
  from{opacity:0;transform:translate3d(0,18px,0) scale(.99)}
  to{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
/* Gentle entrance on primary page regions; no content is hidden before load. */
body :where(main > section,main > .hero,.wrap > main > section,.mct-footer){
  animation:mct-page-enter 680ms var(--mct-motion-ease) both;
}
body :where(main > section,main > .hero,.wrap > main > section):nth-child(2){animation-delay:70ms}
body :where(main > section,main > .hero,.wrap > main > section):nth-child(3){animation-delay:130ms}
body :where(main > section,main > .hero,.wrap > main > section):nth-child(4){animation-delay:190ms}
body :where(.app-card,.service-card,.feature-card,.package-card,.pricing-card,.project-card,.video-card,.detail){
  animation:mct-card-enter 620ms var(--mct-motion-ease) both;
}
body :where(.app-card,.service-card,.feature-card,.package-card,.pricing-card,.project-card,.video-card,.detail):nth-child(2){animation-delay:65ms}
body :where(.app-card,.service-card,.feature-card,.package-card,.pricing-card,.project-card,.video-card,.detail):nth-child(3){animation-delay:115ms}
body :where(.app-card,.service-card,.feature-card,.package-card,.pricing-card,.project-card,.video-card,.detail):nth-child(4){animation-delay:165ms}
@media(hover:none){
  :where(.app-card,.service-card,.feature-card,.package-card,.pricing-card,.project-card,.video-card,.detail):hover{transform:none}
}
@media(max-width:760px){
  body :where(main > section,main > .hero,.wrap > main > section){animation-duration:480ms}
  body :where(.app-card,.service-card,.feature-card,.package-card,.pricing-card,.project-card,.video-card,.detail){animation-duration:460ms}
}
@media(prefers-reduced-motion:reduce){
  body :where(main > section,main > .hero,.wrap > main > section,.mct-footer),
  body :where(.app-card,.service-card,.feature-card,.package-card,.pricing-card,.project-card,.video-card,.detail){
    animation:none!important;
  }
  :where(a,button,input,select,textarea,[role="button"],.btn,.mct-btn,img){
    transition:none!important;
  }
  :where(button,.btn,.mct-btn,[role="button"]):not(:disabled):active{transform:none}
  :where(.app-card,.service-card,.feature-card,.package-card,.pricing-card,.project-card,.video-card,.detail):hover{transform:none}
}
