/*
 * SUMS interaction motion system
 * Lightweight CSS-only micro-interactions for public pages and client UI.
 */
:root{
  --sums-motion-ease:cubic-bezier(.2,.75,.25,1);
  --sums-motion-fast:160ms;
  --sums-motion-normal:280ms;
  --sums-hover-glow:0 18px 46px rgba(119,247,177,.10),0 0 0 1px rgba(202,255,124,.04);
  --sums-hover-glow-strong:0 18px 44px rgba(154,255,115,.16),0 0 24px rgba(119,247,177,.08);
}

@media (prefers-reduced-motion:no-preference){
  button,
  .btn,
  .button,
  .brief-link,
  .floating-whatsapp,
  .jump-btn,
  .text-btn,
  .profile-btn,
  .mobile-menu-btn{
    transform:translateZ(0);
    transform-origin:center;
    transition:
      transform var(--sums-motion-fast) var(--sums-motion-ease),
      box-shadow var(--sums-motion-normal) ease,
      border-color var(--sums-motion-normal) ease,
      background-color var(--sums-motion-normal) ease,
      filter var(--sums-motion-normal) ease,
      color var(--sums-motion-normal) ease;
  }

  button:active:not(:disabled),
  .btn:active:not([aria-disabled="true"]),
  .button:active:not([aria-disabled="true"]),
  .brief-link:active,
  .floating-whatsapp:active,
  .jump-btn:active,
  .text-btn:active,
  .profile-btn:active,
  .mobile-menu-btn:active{
    transform:translateY(0) scale(.985);
    transition-duration:80ms;
  }
}

button:focus-visible,
.btn:focus-visible,
.button:focus-visible,
.brief-link:focus-visible,
.floating-whatsapp:focus-visible,
.jump-btn:focus-visible,
.text-btn:focus-visible,
.profile-btn:focus-visible,
.mobile-menu-btn:focus-visible{
  outline:2px solid rgba(202,255,124,.78);
  outline-offset:3px;
}

@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  button:hover:not(:disabled),
  .btn:hover:not([aria-disabled="true"]),
  .button:hover:not([aria-disabled="true"]),
  .brief-link:hover,
  .floating-whatsapp:hover,
  .jump-btn:hover,
  .text-btn:hover,
  .profile-btn:hover,
  .mobile-menu-btn:hover{
    transform:translateY(-2px) scale(1.018);
    filter:brightness(1.055);
    box-shadow:var(--sums-hover-glow);
  }

  .btn-primary:hover,
  .btn.primary:hover,
  .button:not(.secondary):hover,
  .ask-input button:hover,
  .brief-link:hover{
    transform:translateY(-3px) scale(1.022);
    filter:brightness(1.07) saturate(1.04);
    box-shadow:var(--sums-hover-glow-strong);
  }

  .layer-card,
  .solution-card,
  .focus-cards article{
    position:relative;
    transform:translateZ(0);
    transform-origin:center;
    transition:
      transform 320ms var(--sums-motion-ease),
      border-color 320ms ease,
      box-shadow 320ms ease,
      filter 320ms ease;
    will-change:transform;
  }

  .layer-card:hover,
  .solution-card:hover,
  .focus-cards article:hover{
    transform:translateY(-7px) scale(1.012);
    border-color:rgba(202,255,124,.30);
    box-shadow:0 24px 64px rgba(0,0,0,.30),0 0 34px rgba(119,247,177,.07);
    filter:brightness(1.035);
  }

  .layer-card.featured:hover{
    transform:translateY(-8px) scale(1.014);
    border-color:rgba(202,255,124,.38);
    box-shadow:0 28px 70px rgba(0,0,0,.34),0 0 38px rgba(154,255,115,.09);
  }

  .solution-icon,
  .layer-number,
  .focus-kicker{
    transition:
      transform 320ms var(--sums-motion-ease),
      box-shadow 320ms ease,
      color 320ms ease;
  }

  .solution-card:hover .solution-icon{
    transform:translateY(-4px) scale(1.08) rotate(-2deg);
    box-shadow:0 10px 28px rgba(154,255,115,.12);
  }

  .layer-card:hover .layer-number,
  .focus-cards article:hover .focus-kicker{
    transform:translateY(-2px);
    color:#d5ff8f;
  }

  .layer-tags span,
  .executive-mini div{
    transition:
      transform 240ms var(--sums-motion-ease),
      border-color 240ms ease,
      background-color 240ms ease;
  }

  .layer-card:hover .layer-tags span{
    transform:translateY(-1px);
    border-color:rgba(202,255,124,.18);
    background:rgba(202,255,124,.035);
  }

  .layer-card:hover .executive-mini div{
    transform:translateY(-2px);
    border-color:rgba(202,255,124,.12);
  }
}

@media (prefers-reduced-motion:reduce){
  button,
  .btn,
  .button,
  .brief-link,
  .floating-whatsapp,
  .jump-btn,
  .text-btn,
  .profile-btn,
  .mobile-menu-btn,
  .layer-card,
  .solution-card,
  .focus-cards article,
  .solution-icon,
  .layer-number,
  .focus-kicker{
    transition:none!important;
    transform:none!important;
  }
}


/* SUMS premium dropdown system */
select{
  color-scheme:dark;
}

select:not([multiple]){
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  padding-right:42px!important;
  background-image:
    linear-gradient(45deg,transparent 50%,rgba(202,255,124,.95) 50%),
    linear-gradient(135deg,rgba(202,255,124,.95) 50%,transparent 50%)!important;
  background-position:
    calc(100% - 18px) calc(50% - 1px),
    calc(100% - 13px) calc(50% - 1px)!important;
  background-size:6px 6px,6px 6px!important;
  background-repeat:no-repeat!important;
  transition:
    transform var(--sums-motion-fast) var(--sums-motion-ease),
    border-color var(--sums-motion-normal) ease,
    box-shadow var(--sums-motion-normal) ease,
    background-color var(--sums-motion-normal) ease,
    filter var(--sums-motion-normal) ease;
}

select:not([multiple]):focus,
select:not([multiple]):focus-visible{
  border-color:rgba(202,255,124,.56)!important;
  box-shadow:0 0 0 3px rgba(202,255,124,.07),0 14px 34px rgba(0,0,0,.16)!important;
  outline:none;
  filter:brightness(1.035);
}

select option,
select optgroup{
  color:#f1f5f2;
  background:#0b1710;
}

select option:checked{
  color:#061009;
  background:#c8ff7a;
}

@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  select:not([multiple]):hover{
    transform:translateY(-1px);
    border-color:rgba(202,255,124,.34)!important;
    box-shadow:0 12px 28px rgba(0,0,0,.14),0 0 18px rgba(119,247,177,.035);
    filter:brightness(1.025);
  }
}

@media (prefers-reduced-motion:reduce){
  select:not([multiple]){
    transition:none!important;
    transform:none!important;
  }
}


/* SUMS custom desktop dropdown */
@media (hover:hover) and (pointer:fine){
  .sums-select{
    position:relative;
    width:100%;
    min-width:0;
  }

  .sums-select-native{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    margin:-1px!important;
    padding:0!important;
    opacity:0!important;
    pointer-events:none!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
    white-space:nowrap!important;
    border:0!important;
  }

  .sums-select-trigger{
    width:100%;
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:11px 13px;
    border:1px solid #294532;
    border-radius:12px;
    background:linear-gradient(180deg,rgba(11,25,16,.98),rgba(7,18,12,.98));
    color:#f1f5f2;
    text-align:left;
    font:inherit;
    cursor:pointer;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
    transition:
      transform var(--sums-motion-fast) var(--sums-motion-ease),
      border-color var(--sums-motion-normal) ease,
      box-shadow var(--sums-motion-normal) ease,
      filter var(--sums-motion-normal) ease,
      background var(--sums-motion-normal) ease;
  }

  .sums-select-trigger.is-placeholder .sums-select-value{
    color:#8fa095;
  }

  .sums-select-trigger:hover:not(:disabled){
    transform:translateY(-1px);
    border-color:rgba(202,255,124,.38);
    box-shadow:0 12px 28px rgba(0,0,0,.18),0 0 22px rgba(119,247,177,.045);
    filter:brightness(1.035);
  }

  .sums-select-trigger:focus-visible,
  .sums-select-trigger.is-open{
    outline:none;
    border-color:rgba(202,255,124,.60);
    box-shadow:0 0 0 3px rgba(202,255,124,.07),0 18px 38px rgba(0,0,0,.22);
  }

  .sums-select-trigger:disabled{
    opacity:.52;
    cursor:not-allowed;
  }

  .sums-select-value{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .sums-select-chevron{
    width:8px;
    height:8px;
    flex:0 0 auto;
    border-right:2px solid #c8ff7a;
    border-bottom:2px solid #c8ff7a;
    transform:rotate(45deg) translateY(-2px);
    transform-origin:center;
    transition:transform 180ms var(--sums-motion-ease);
  }

  .sums-select-trigger.is-open .sums-select-chevron{
    transform:rotate(225deg) translate(-1px,-1px);
  }

  .sums-select-menu{
    position:absolute;
    left:0;
    right:0;
    top:calc(100% + 8px);
    z-index:1000;
    display:grid;
    gap:4px;
    max-height:min(320px,45vh);
    overflow:auto;
    overscroll-behavior:contain;
    padding:7px;
    border:1px solid rgba(202,255,124,.18);
    border-radius:14px;
    background:rgba(8,20,13,.985);
    backdrop-filter:blur(16px);
    box-shadow:0 24px 70px rgba(0,0,0,.48),0 0 30px rgba(119,247,177,.055);
    opacity:0;
    transform:translateY(-7px) scale(.985);
    transform-origin:top center;
    pointer-events:none;
    transition:
      opacity 140ms ease,
      transform 170ms var(--sums-motion-ease);
  }

  .sums-select-menu[hidden]{
    display:none;
  }

  .sums-select-menu.is-open{
    opacity:1;
    transform:translateY(0) scale(1);
    pointer-events:auto;
  }

  .sums-select-option{
    width:100%;
    min-height:38px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:9px 10px;
    border:1px solid transparent;
    border-radius:10px;
    background:transparent;
    color:#dce5de;
    font:inherit;
    font-size:.9em;
    text-align:left;
    cursor:pointer;
    box-shadow:none!important;
    transform:none!important;
    filter:none!important;
    transition:
      background 120ms ease,
      border-color 120ms ease,
      color 120ms ease;
  }

  .sums-select-option:hover:not(:disabled),
  .sums-select-option:focus-visible{
    outline:none;
    background:rgba(202,255,124,.075);
    border-color:rgba(202,255,124,.13);
    color:#fff;
  }

  .sums-select-option[aria-selected="true"]{
    background:rgba(202,255,124,.11);
    border-color:rgba(202,255,124,.18);
    color:#f5ffe8;
  }

  .sums-select-option:disabled{
    opacity:.38;
    cursor:not-allowed;
  }

  .sums-select-check{
    opacity:0;
    color:#c8ff7a;
    font-weight:900;
    transform:scale(.75);
    transition:opacity 120ms ease,transform 160ms var(--sums-motion-ease);
  }

  .sums-select-option[aria-selected="true"] .sums-select-check{
    opacity:1;
    transform:scale(1);
  }

  .sums-select-menu::-webkit-scrollbar{width:8px}
  .sums-select-menu::-webkit-scrollbar-track{background:transparent}
  .sums-select-menu::-webkit-scrollbar-thumb{
    border:2px solid transparent;
    border-radius:999px;
    background:rgba(202,255,124,.20);
    background-clip:padding-box;
  }
}

@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:reduce){
  .sums-select-trigger,
  .sums-select-menu,
  .sums-select-option,
  .sums-select-chevron,
  .sums-select-check{
    transition:none!important;
  }
}
