:root{--accent:#4EA8FF;}

html{scroll-behavior:smooth;}
body{margin:0;background:#000000;font-family:'Spectral',serif;color:#F2F4F6;}
#about,#diplomas,#services,#portfolio,#prices,#contacts{scroll-margin-top:84px;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }
h1,h2,h3{font-family:'Oswald',sans-serif;margin:0;text-transform:uppercase;letter-spacing:.01em;}
a{color:var(--accent);text-decoration:none;}
a:hover{color:#8FCBFF;}
.nav-link{color:#F2F4F6;}
.nav-link:hover{color:var(--accent);}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:14px 26px;font-weight:600;font-size:15px;border:1px solid transparent;cursor:pointer;}
table{border-collapse:collapse;width:100%;}
th,td{text-align:left;padding:clamp(10px,2vw,14px) 12px;border-bottom:1px solid #24262B;font-size:clamp(14px,1.6vw,15px);white-space:nowrap;}
th{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:#9AA4AE;font-weight:600;}

/* ---- reveal-on-scroll ---- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.22,.61,.36,1), transform .6s cubic-bezier(.22,.61,.36,1);}
.reveal.is-visible{opacity:1;transform:translateY(0);}

/* ---- interactive cards: hover lift ---- */
.svc-card{transition:opacity .6s cubic-bezier(.22,.61,.36,1), transform .3s ease, box-shadow .3s ease, border-color .3s ease;}
.port-card{transition:opacity .6s cubic-bezier(.22,.61,.36,1), transform .3s ease, box-shadow .3s ease;}
.svc-card:nth-child(1){transition-delay:0s,0s,0s,0s;}
.svc-card:nth-child(2){transition-delay:.08s,0s,0s,0s;}
.svc-card:nth-child(3){transition-delay:.16s,0s,0s,0s;}
.port-card:nth-child(1){transition-delay:0s,0s,0s;}
.port-card:nth-child(2){transition-delay:.06s,0s,0s;}
.port-card:nth-child(3){transition-delay:.12s,0s,0s;}
.port-card:nth-child(4){transition-delay:.18s,0s,0s;}
.svc-card:hover,.port-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(78,168,255,0.16);}
.svc-card:hover{border-color:var(--accent);}
.map-card{transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;}
.map-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(78,168,255,0.16);border-color:var(--accent);}
.diploma-card{transition:opacity .6s cubic-bezier(.22,.61,.36,1), transform .3s ease, box-shadow .3s ease, border-color .3s ease;text-decoration:none;display:block;}
.diploma-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(78,168,255,0.16);border-color:var(--accent);}
.diploma-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.diploma-card:nth-child(3n+1){transition-delay:0s,0s,0s,0s;}
.diploma-card:nth-child(3n+2){transition-delay:.06s,0s,0s,0s;}
.diploma-card:nth-child(3n+3){transition-delay:.12s,0s,0s,0s;}

/* ---- about swipe gallery ---- */
.about-gallery{scrollbar-width:none;-ms-overflow-style:none;}
.about-gallery::-webkit-scrollbar{display:none;}

/* ---- before/after compare slider ---- */
.compare{cursor:ew-resize;touch-action:none;user-select:none;-webkit-user-select:none;}
.compare:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;}
.compare img{pointer-events:none;}
.compare-line{position:absolute;top:0;bottom:0;width:2px;left:50%;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,0.35);transform:translateX(-1px);pointer-events:none;}
.compare-handle{position:absolute;top:50%;left:50%;width:36px;height:36px;border-radius:999px;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,0.45);display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);pointer-events:none;}
.compare-before{clip-path:inset(0 50% 0 0);}

/* ---- buttons ---- */
.btn{transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease, border-color .15s ease;}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(78,168,255,0.3);}
.btn:active{transform:translateY(0);}

/* ---- hero: css-only entrance ---- */
@keyframes fadeUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
.hero-anim-1{animation:fadeUp .7s cubic-bezier(.22,.61,.36,1) 0s both;}
.hero-anim-2{animation:fadeUp .7s cubic-bezier(.22,.61,.36,1) .08s both;}
.hero-anim-3{animation:fadeUp .7s cubic-bezier(.22,.61,.36,1) .16s both;}
.hero-anim-4{animation:fadeUp .7s cubic-bezier(.22,.61,.36,1) .24s both;}
.hero-anim-5{animation:fadeUp .7s cubic-bezier(.22,.61,.36,1) .32s both;}
.hero-anim-6{animation:fadeUp .7s cubic-bezier(.22,.61,.36,1) .4s both;}
.trust-anim{animation:fadeUp .7s cubic-bezier(.22,.61,.36,1) .46s both;}

@media (prefers-reduced-motion: reduce){
  .reveal,.svc-card,.port-card,.btn,.map-card,.diploma-card,.hero-anim-1,.hero-anim-2,.hero-anim-3,.hero-anim-4,.hero-anim-5,.hero-anim-6,.trust-anim,.nav-links,.hamburger-line{
    animation:none!important;transition:none!important;opacity:1!important;transform:none!important;
  }
}

/* ---- header nav / mobile menu ---- */
header{position:sticky;top:0;z-index:20;background:rgba(0,0,0,0.85);backdrop-filter:blur(6px);border-bottom:1px solid #24262B;transition:background-color .25s ease, box-shadow .25s ease, border-color .25s ease;}
header.scrolled{background:rgba(0,0,0,0.97);box-shadow:0 8px 24px rgba(0,0,0,0.5);border-color:#1C1E22;}
.header-inner{max-width:1140px;margin:0 auto;padding:16px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;transition:padding .25s ease;}
header.scrolled .header-inner{padding:9px 24px;}
.nav-links{display:flex;flex-wrap:wrap;gap:24px;font-size:15px;}
.header-cta-label{display:inline;}
.hamburger-btn{display:none;width:40px;height:40px;align-items:center;justify-content:center;background:transparent;border:1px solid #24262B;border-radius:10px;cursor:pointer;flex-direction:column;gap:4px;padding:0;flex-shrink:0;}
.hamburger-line{display:block;width:18px;height:2px;background:#F2F4F6;border-radius:2px;transition:transform .2s ease,opacity .2s ease;}
.hamburger-btn.is-open .line1{transform:translateY(6px) rotate(45deg);}
.hamburger-btn.is-open .line2{opacity:0;}
.hamburger-btn.is-open .line3{transform:translateY(-6px) rotate(-45deg);}

.mobile-cta-bar{display:none;}

@media (max-width:760px){
  .nav-links{
    position:absolute;top:100%;left:0;right:0;background:#0B0C0E;border-bottom:1px solid #24262B;
    flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 16px;
    opacity:0;visibility:hidden;transform:translateY(-8px);
    transition:opacity .2s ease,transform .2s ease,visibility .2s;
  }
  .nav-links.is-open{opacity:1;visibility:visible;transform:translateY(0);}
  .nav-links .nav-link{padding:12px 0;border-bottom:1px solid #1C1E22;font-size:16px;}
  .header-cta-label{display:none;}
  .hamburger-btn{display:inline-flex;}
  .mobile-cta-bar{
    display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:15;
    background:#0B0C0E;border-top:1px solid #24262B;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  }
  body{padding-bottom:76px;}
}
