/* Studio Wizja v5.8 — Design System PRO */
:root{
  --sw-color-accent:#ffc400;
  --sw-color-accent-strong:#ffe000;
  --sw-color-bg:#080808;
  --sw-color-surface:#131313;
  --sw-color-surface-2:#1b1b1b;
  --sw-color-paper:#f7f7f4;
  --sw-color-text:#f7f7f4;
  --sw-color-text-dark:#111;
  --sw-color-muted:#aaa9a2;
  --sw-color-border:rgba(255,255,255,.14);
  --sw-space-1:8px;--sw-space-2:16px;--sw-space-3:24px;--sw-space-4:32px;
  --sw-space-5:48px;--sw-space-6:64px;--sw-space-7:96px;
  --sw-radius-sm:6px;--sw-radius-md:10px;--sw-radius-lg:16px;
  --sw-shadow-sm:0 10px 30px rgba(0,0,0,.18);
  --sw-shadow-lg:0 26px 70px rgba(0,0,0,.3);
  --sw-ease:cubic-bezier(.2,.75,.25,1);
  --sw-duration-fast:180ms;--sw-duration:320ms;--sw-duration-slow:620ms;
  --sw-header-height:82px;
}

html{scroll-padding-top:calc(var(--sw-header-height) + 20px)}
body{overflow-x:hidden;accent-color:var(--sw-color-accent)}
body.sw-transitioning{cursor:progress;pointer-events:none}
::selection{background:var(--sw-color-accent);color:#111}
:focus-visible{outline:3px solid var(--sw-color-accent);outline-offset:4px}

/* Unified controls */
.button,.svc-button,.swp-cta-strip a,.contact-action,.sw-contact-submit,
button[type="submit"],input[type="submit"]{
  border-radius:var(--sw-radius-sm);transition:transform var(--sw-duration-fast) var(--sw-ease),box-shadow var(--sw-duration-fast) var(--sw-ease),background-color var(--sw-duration-fast),border-color var(--sw-duration-fast);will-change:transform
}
.button:hover,.svc-button:hover,.swp-cta-strip a:hover,.contact-action:hover,.sw-contact-submit:hover,
button[type="submit"]:hover,input[type="submit"]:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(255,196,0,.18)}
.button:active,.svc-button:active,.swp-cta-strip a:active,.contact-action:active,.sw-contact-submit:active,
button[type="submit"]:active,input[type="submit"]:active{transform:translateY(0) scale(.985)}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),select,textarea{
  border-radius:var(--sw-radius-sm);transition:border-color var(--sw-duration-fast),box-shadow var(--sw-duration-fast),background-color var(--sw-duration-fast)
}
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):focus,select:focus,textarea:focus{
  outline:none;border-color:var(--sw-color-accent)!important;box-shadow:0 0 0 3px rgba(255,196,0,.16)
}

/* Cards and media */
.service-card,.portfolio-card,.swp-project-card,.svc-project,.contact-card,.sw-contact-card,
.testimonial-grid article,.process-grid article{
  border-radius:var(--sw-radius-md);transition:transform var(--sw-duration) var(--sw-ease),box-shadow var(--sw-duration) var(--sw-ease),border-color var(--sw-duration-fast);transform:translateZ(0)
}
.service-card:hover,.portfolio-card:hover,.swp-project-card:hover,.svc-project:hover,.contact-card:hover,.sw-contact-card:hover{
  transform:translateY(-5px);box-shadow:var(--sw-shadow-lg)
}
.service-card img,.portfolio-card img,.swp-project-card img,.svc-project img{transition:transform var(--sw-duration-slow) var(--sw-ease),filter var(--sw-duration-slow)!important}

/* Premium navigation */
.site-header{transition:height var(--sw-duration) var(--sw-ease),background-color var(--sw-duration),border-color var(--sw-duration),box-shadow var(--sw-duration),padding var(--sw-duration);isolation:isolate}
.site-header.scrolled{height:68px;box-shadow:0 14px 40px rgba(0,0,0,.18)}
.main-nav a,.mobile-nav a{position:relative;transition:color var(--sw-duration-fast)}
.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-11px;height:2px;background:var(--sw-color-accent);transition:right var(--sw-duration) var(--sw-ease)}
.main-nav a:hover::after,.main-nav a.is-current::after{right:0}
.main-nav a.is-current{color:var(--sw-color-accent)}
/* neutralize legacy first-item underline */
.main-nav a:first-child{border-bottom:0!important;padding-bottom:0!important}
.mobile-nav a.is-current{color:var(--sw-color-accent)}

/* Scroll progress */
.sw-scroll-progress{position:fixed;z-index:1001;left:0;top:0;width:0;height:2px;background:var(--sw-color-accent);transform-origin:left;pointer-events:none;box-shadow:0 0 12px rgba(255,196,0,.55)}

/* Page transition overlay: visual only; never delays browser navigation longer than 170ms. */
.sw-page-transition{position:fixed;z-index:9999;inset:0;background:#080808;display:grid;place-items:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 150ms ease,visibility 0s linear 150ms}
.sw-page-transition__mark{width:min(170px,38vw);opacity:0;transform:translateY(8px) scale(.98);transition:opacity 150ms ease,transform 180ms var(--sw-ease)}
.sw-page-transition__mark img{width:100%;height:auto}
.sw-page-transition__bar{position:absolute;left:0;top:0;height:3px;width:0;background:var(--sw-color-accent);box-shadow:0 0 16px rgba(255,196,0,.7)}
body.sw-transitioning .sw-page-transition{opacity:1;visibility:visible;transition-delay:0s}
body.sw-transitioning .sw-page-transition__mark{opacity:1;transform:none}
body.sw-transitioning .sw-page-transition__bar{animation:sw-load-bar 900ms var(--sw-ease) forwards}
body.sw-page-enter .sw-page-transition{opacity:1;visibility:visible;transition:none}
body.sw-page-enter.sw-ready .sw-page-transition{opacity:0;visibility:hidden;transition:opacity 220ms ease,visibility 0s linear 220ms}
@keyframes sw-load-bar{0%{width:8%}45%{width:68%}100%{width:92%}}

/* Reveal system (JS adds .sw-reveal-enabled, so content never disappears without JS). */
.sw-reveal-enabled [data-sw-reveal]{opacity:0;transform:translateY(22px);transition:opacity var(--sw-duration-slow) var(--sw-ease),transform var(--sw-duration-slow) var(--sw-ease)}
.sw-reveal-enabled [data-sw-reveal].is-visible{opacity:1;transform:none}

/* FAQ/details microinteraction */
details summary span,details summary::after{transition:transform var(--sw-duration) var(--sw-ease)}
details[open] summary span{transform:rotate(45deg)}
details[open]>*:not(summary){animation:sw-details-in 260ms var(--sw-ease)}
@keyframes sw-details-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* Back to top */
.back-to-top{transition:transform var(--sw-duration-fast),color var(--sw-duration-fast)}
.back-to-top:hover{transform:translateY(-2px);color:var(--sw-color-accent)}

@media (max-width:900px){
  :root{--sw-header-height:72px}
  .site-header.scrolled{height:64px}
  .mobile-nav{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
}
@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}
  .sw-page-transition{display:none!important}
  .sw-reveal-enabled [data-sw-reveal]{opacity:1!important;transform:none!important}
}
