/* Akbayrak Savunma — visual enhancement layer (loads last).
   Premium typography, micro-interactions, scroll progress, header polish.
   Pure-CSS where possible; AOS is applied only when its script loads. */

:root{
  --ak-font-head:"Rajdhani","Hanken Grotesk",system-ui,sans-serif;
  --ak-font-body:"Inter","Hanken Grotesk",system-ui,sans-serif;
}

/* ---- Typography ---- */
body{ font-family:var(--ak-font-body)!important; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
h1,h2,h3,h4,h5,h6,.title,.pre-title,.works,.ak-map-pre,.ak-pre-cap,.rts-btn,.ak-cta,.learn-more-btn,
.single-service-area-start .title,.single-testimonials-main-wrapper .title,.ak-testi-author strong,
.service__title-2,.service__title-3,.title-top-service-varticle .title{
  font-family:var(--ak-font-head)!important;
}
h1,.h1,h2,.h2,.title.quote{ letter-spacing:-.01em; }
.pre-title,.works,.ak-map-pre{ font-weight:600; }

/* ---- Smooth scroll + selection + nicer scrollbar ---- */
html{ scroll-behavior:smooth; scrollbar-color:#c8102e #0a110d; scrollbar-width:thin; }
::selection{ background:var(--ak-red,#c8102e); color:#fff; }
::-webkit-scrollbar{ width:11px; height:11px; }
::-webkit-scrollbar-track{ background:#0a110d; }
::-webkit-scrollbar-thumb{ background:linear-gradient(180deg,#c8102e,#8f0c20); border-radius:8px; border:2px solid #0a110d; }
::-webkit-scrollbar-thumb:hover{ background:#ef5a68; }

/* ---- Accessible focus ring ---- */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--ak-red-soft,#ef5a68); outline-offset:3px; border-radius:5px;
}

/* ---- Top scroll-progress bar ---- */
#ak-progress{ position:fixed; top:0; left:0; height:3px; width:0; z-index:99990; pointer-events:none;
  background:linear-gradient(90deg,#8f0c20,#c8102e 50%,#ef5a68); box-shadow:0 0 12px rgba(200,16,46,.6); transition:width .08s linear; }

/* ---- Sticky header: blur + state on scroll ---- */
.ak-header{ transition:background .3s ease, box-shadow .3s ease, backdrop-filter .3s ease; }
.ak-header.ak-scrolled{ -webkit-backdrop-filter:blur(10px) saturate(1.1); backdrop-filter:blur(10px) saturate(1.1);
  background:rgba(6,12,9,.9); box-shadow:0 12px 34px rgba(2,8,5,.5); border-bottom:1px solid rgba(200,16,46,.22); }

/* ---- Buttons: sweep shine + lift ---- */
.ak-cta,.learn-more-btn,.ak-map-btn,.ak-brandband-cta .rts-btn,.rts-btn.btn-primary,.pricing-btn{
  position:relative; overflow:hidden; isolation:isolate; transition:transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.ak-cta::after,.learn-more-btn::after,.ak-map-btn::after,.ak-brandband-cta .rts-btn::after,.rts-btn.btn-primary::after,.pricing-btn::after{
  content:""; position:absolute; inset:0 auto 0 -150%; width:55%; z-index:1; pointer-events:none;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.4),transparent); transform:skewX(-20deg); transition:left .6s ease;
}
.ak-cta:hover::after,.learn-more-btn:hover::after,.ak-map-btn:hover::after,.ak-brandband-cta .rts-btn:hover::after,.rts-btn.btn-primary:hover::after,.pricing-btn:hover::after{ left:160%; }
.ak-cta:hover,.rts-btn.btn-primary:hover,.ak-map-btn:hover{ transform:translateY(-2px); box-shadow:0 14px 30px rgba(200,16,46,.4); }

/* ---- Card hover: lift + red glow (non-tilt cards) ---- */
.single-team-style-one,.ak-testi-card,.ak-testi-media,
.single-service-h2,.single-blog-area-one,.blog-left-wrapper-area-one,.single-feature-area,
.single-approach-area-start,.single-pd-cta-area{
  transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease, border-color .4s ease; will-change:transform;
}
.single-team-style-one:hover,.single-service-h2:hover,.single-blog-area-one:hover,
.single-feature-area:hover,.single-approach-area-start:hover,.single-pd-cta-area:hover{
  transform:translateY(-7px); box-shadow:0 28px 60px rgba(2,8,5,.55); border-color:rgba(200,16,46,.4)!important;
}
.ak-testi-media:hover{ transform:translateY(-5px); box-shadow:0 30px 64px rgba(2,8,5,.6); }
/* glow-only for tilt-driven cards (their transform is JS-controlled) */
.signle-portfolio-style-four-inner:hover,.single-product-pd-full:hover{
  box-shadow:0 26px 60px rgba(2,8,5,.5), 0 0 0 1px rgba(200,16,46,.35); border-color:rgba(200,16,46,.4)!important;
}

/* ---- Image zoom on hover inside common media frames ---- */
.single-product-pd-full .thumbnail,.single-team-style-one .thumbnail,.blog-thumbnail,.thumbnail-clients-img,
.ak-testi-media,.single-service-h2 .thumbnail{ overflow:hidden; }
.single-product-pd-full .thumbnail img,.single-team-style-one .thumbnail img,.ak-testi-media img{
  transition:transform .7s cubic-bezier(.2,.7,.2,1);
}
.single-product-pd-full:hover .thumbnail img,.single-team-style-one:hover .thumbnail img,.ak-testi-media:hover img{ transform:scale(1.06); }

/* ---- Nav link hover lift ---- */
.ak-nav a{ transition:color .2s ease, transform .2s ease; }
.ak-nav li:hover > a{ transform:translateY(-1px); }

/* ---- AOS fallback: if AOS css loads but js is blocked, never hide content.
   (enhance.js only adds [data-aos] when AOS is present, so this is belt-and-braces.) ---- */
.no-aos [data-aos]{ opacity:1!important; transform:none!important; }

/* ---- Section reveal used by enhance.js when AOS is unavailable (CSS-only) ---- */
.ak-reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.ak-reveal.ak-in{ opacity:1; transform:none; }

/* ---- Respect reduced motion ---- */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  #ak-progress{ display:none; }
  .ak-reveal{ opacity:1; transform:none; transition:none; }
  .single-team-style-one,.single-service-h2,.single-blog-area-one,.ak-testi-media,
  .single-product-pd-full,.signle-portfolio-style-four-inner{ transition:none; }
}
