/* TR InnovaTech — site-wide UI polish (colors unchanged) */

:root{
  --radius-sm:10px;
  --radius-md:16px;
  --radius-lg:22px;
  --radius-xl:26px;
  --shadow-sm:0 2px 8px rgba(7,38,109,.05);
  --shadow-md:0 8px 28px rgba(7,38,109,.09);
  --shadow-lg:0 16px 48px rgba(7,38,109,.12);
  --shadow-glow:0 0 0 1px rgba(6,95,211,.06),0 12px 40px rgba(6,95,211,.1);
  --ease-out:cubic-bezier(.22,1,.36,1);
  --ease-spring:cubic-bezier(.34,1.2,.64,1);
}

::selection{
  background:rgba(6,95,211,.18);
  color:var(--navy,#07266D);
}

/* ── Header ── */
header{
  position:sticky;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
header.header-scrolled{
  background:rgba(255,255,255,.95);
  box-shadow:0 4px 30px rgba(7,38,109,.1);
}
.hdr-nav a:not(.hdr-cta){
  position:relative;
  padding:6px 2px;
  transition:color .2s;
}
.hdr-nav a:not(.hdr-cta):not(.nav-dd-trigger)::after,
.hdr-nav a.active::after{
  content:'';position:absolute;left:0;right:0;bottom:2px;height:2px;
  background:linear-gradient(90deg,var(--indigo),var(--accent-light));
  border-radius:2px;transform:scaleX(0);transform-origin:left;
  transition:transform .25s var(--ease-out);
}
.hdr-nav a:not(.hdr-cta):hover::after,
.hdr-nav a.active::after{transform:scaleX(1)}
.logo{transition:opacity .2s,transform .2s}
.logo:hover{opacity:.9;transform:scale(1.02)}
.logo-img{transition:height .25s ease,transform .25s ease}

/* Mobile nav slide */
@media(max-width:768px){
  .mob-nav{
    display:flex!important;
    flex-direction:column;
    max-height:0;overflow:hidden;opacity:0;visibility:hidden;
    padding-top:0!important;padding-bottom:0!important;
    border-top-color:transparent!important;
    transition:max-height .35s var(--ease-out),opacity .25s,padding .35s var(--ease-out),visibility .25s;
  }
  .mob-nav.mob-nav--open{
    max-height:min(85vh,640px);
    opacity:1;visibility:visible;
    padding:1rem var(--page-px,1.25rem) max(1.25rem,env(safe-area-inset-bottom))!important;
    border-top-color:var(--g200)!important;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
}
@media(min-width:769px){
  .mob-nav{display:none!important}
}
.mob-nav a{
  border-radius:var(--radius-sm);
  padding:.65rem .75rem!important;
  border-bottom:none!important;
  transition:background .2s,color .2s,padding-left .2s;
}
.mob-nav a:hover,.mob-nav a:active{
  background:rgba(6,95,211,.06);
  color:var(--navy);
  padding-left:1rem!important;
}

/* ── Buttons ── */
.btn,.btn-glow,.svc-cta,.svc-btn,.svc-cta-btn,.foot-cta-btn,.hdr-cta{
  position:relative;overflow:hidden;
  transition:transform .2s var(--ease-spring),box-shadow .25s,background .2s,border-color .2s;
}
.btn--primary,.btn-glow,.hdr-cta,.svc-btn-primary,.svc-cta-white{
  background:linear-gradient(135deg,#0a7bff 0%,var(--indigo) 45%,var(--violet) 100%)!important;
}
.btn--primary:hover,.btn-glow:hover,.hdr-cta:hover,.svc-btn-primary:hover{
  transform:translateY(-2px);
}
.btn--secondary,.btn-ghost,.svc-btn-ghost{
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

/* ── Section heads ── */
.s-head{margin-bottom:clamp(2.25rem,4vw,3.5rem)}
.s-label{
  box-shadow:0 2px 8px rgba(6,95,211,.08);
  letter-spacing:.1em;
}
.s-label i{opacity:.85}
.s-h{
  text-wrap:balance;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy) 55%,#0a3580 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.process-bg .s-h,.cta-bg .s-h,.cta-band .s-h,.svc-cta-inner .s-h,
.page-hero h1,.svc-hero h1,.hero h1,.about-hero h1,.legal-hero h1{
  background:none;
  -webkit-text-fill-color:unset;
  color:#fff;
}

/* ── Premium cards (shared) ── */
.ai-card,.svc-card,.why-card,.cs-card,.contact-card,.svc-feat,
.page-hero-card,.svc-hero-card,.h-card,.res-card,.testi-card,
.proc-step-card,.proc-card,.insight-card,.geo-def-item,.book-card{
  border-radius:var(--radius-lg);
  transition:transform .28s var(--ease-out),box-shadow .28s,border-color .25s;
}
.ai-card:hover,.svc-card:hover,.why-card:hover,.cs-card:hover,
.contact-card:hover,.svc-feat:hover,.res-card:hover,.testi-card:hover,
.proc-step-card:hover,.insight-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-lg);
}

/* Card top accent shimmer */
.svc-card,.cs-card,.contact-form-card{
  position:relative;
  overflow:hidden;
}
.svc-card::after,.cs-card::after{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(ellipse 80% 60% at 100% 0%,rgba(6,95,211,.04),transparent 55%);
  opacity:0;transition:opacity .3s;
}
.svc-card:hover::after,.cs-card:hover::after{opacity:1}

/* ── Hero sections ── */
.hero,.page-hero,.svc-hero{
  isolation:isolate;
}
.hero-badge,.page-crumb,.svc-crumb{
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.h-card,.page-hero-card,.svc-hero-card{
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:transform .25s var(--ease-out),background .25s,box-shadow .25s,border-color .25s;
}
.h-card:hover,.page-hero-card:hover,.svc-hero-card:hover{
  transform:translateY(-2px) scale(1.01);
}

/* ── Service strip & CTA bands ── */
.svc-strip,.cta-band,.svc-cta-bg{
  border-radius:var(--radius-lg);
}
.cta-band,.svc-cta-bg{
  position:relative;
}
.cta-band::after,.svc-cta-bg::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:36px 36px;
  mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,#000 20%,transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,#000 20%,transparent 80%);
}

/* ── FAQ accordion ── */
.faq-item{
  border-radius:var(--radius-md)!important;
  transition:box-shadow .25s,border-color .25s;
}
.faq-item.open{
  box-shadow:var(--shadow-md);
  border-color:rgba(6,95,211,.2)!important;
}
.faq-q{
  transition:color .2s,background .2s;
}
.faq-item.open .faq-q{
  color:var(--indigo);
}

/* ── Booking form ── */
.book-card,.contact-form-card{
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-lg);
}
.f-card,.cf-field input,.cf-field select,.cf-field textarea,
.step-body input,.step-body select,.step-body textarea{
  border-radius:var(--radius-md);
  transition:border-color .2s,box-shadow .2s,background .2s;
}
.f-card:focus-within,.cf-field input:focus,.cf-field select:focus,.cf-field textarea:focus,
.step-body input:focus,.step-body select:focus,.step-body textarea:focus{
  box-shadow:0 0 0 4px rgba(6,95,211,.1);
}

/* ── Results / stats ── */
.res-card,.cs-metric,.svc-res,.chat-intro-stat{
  transition:transform .25s var(--ease-out),box-shadow .25s;
}
.res-card:hover,.svc-res:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-md);
}

/* ── Testimonials ── */
.testi-card{
  border:1px solid var(--g200);
  background:linear-gradient(180deg,#fff 0%,#fafcff 100%);
}
.testi-card:hover{
  border-color:rgba(6,95,211,.15);
}

/* ── Footer ── */
footer{
  position:relative;
}
.foot-cta{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius-lg);
  padding:clamp(1.5rem,3vw,2.25rem)!important;
  margin-bottom:2.75rem;
}
.foot-cta-btn{
  border-radius:var(--radius-md);
  padding:14px 26px;
}
.foot-links a{
  border-radius:6px;
  padding:5px 8px!important;
  margin-left:-8px;
}
.foot-links a:hover{
  background:rgba(6,95,211,.12);
  transform:translateX(4px)!important;
}
.fbadge{
  transition:transform .2s,background .2s,border-color .2s;
}
.fbadge:hover{transform:translateY(-1px)}

/* ── Tech strip ── */
.tech-strip{
  background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);
}
.tech-item{
  padding:6px 14px;
  border-radius:100px;
  background:#fff;
  border:1px solid var(--g200);
  box-shadow:var(--shadow-sm);
  transition:border-color .2s,box-shadow .2s,transform .15s;
}
.tech-item:hover{
  border-color:rgba(6,95,211,.2);
  box-shadow:0 4px 14px rgba(6,95,211,.1);
  transform:translateY(-1px);
}

/* ── Toast ── */
.toast{
  border-radius:var(--radius-md);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.12);
}

/* ── Scroll progress ── */
.scroll-progress{
  height:3px;
  box-shadow:0 0 16px rgba(6,95,211,.5);
}

/* ── Reveal animation upgrade ── */
.reveal{
  transform:translateY(20px) scale(.985);
}
.reveal.revealed{
  transform:translateY(0) scale(1);
}

/* ── Inner page content blocks ── */
.cs-detail-card,.geo-def-grid,.contact-layout{
  gap:clamp(1.5rem,3vw,2.5rem);
}
.page-hero-card,.svc-overview-grid .svc-checklist{
  box-shadow:0 8px 32px rgba(0,0,0,.12);
}

/* ── Images ── */
.logo-img,.foot-brand .logo-img{
  image-rendering:auto;
}
img[loading="lazy"]{
  opacity:1;
  transition:opacity .3s;
}

/* ── Reduced motion ── */
@media(prefers-reduced-motion:reduce){
  .reveal{transform:none}
  .mob-nav{transition:none}
  .ai-card:hover,.svc-card:hover,.why-card:hover,.cs-card:hover{transform:none}
}

/* ── Responsive ── */
@media(max-width:1024px){
  .svc-grid{gap:1.25rem}
  .why-grid{gap:1.25rem}
  .proc-steps{gap:1rem}
}

@media(max-width:768px){
  header.header-scrolled .hdr{height:58px}
  .s-head{margin-bottom:2rem}
  .foot-cta{
    text-align:center;
    border-radius:var(--radius-md);
  }
  .cta-band-btns,.svc-cta-btns,.page-hero-btns,.hero-btns{
    width:100%;
  }
  .cta-band-btns .btn,.svc-cta-btns .svc-cta-btn,
  .page-hero-btns .btn,.hero-btns .btn-glow,.hero-btns .btn-ghost{
    width:100%;
  }
  .svc-strip{
    flex-direction:column;
    text-align:center;
    border-radius:var(--radius-md);
  }
  .svc-strip-btn{width:100%;justify-content:center}
}

@media(max-width:480px){
  .hero-cards .h-card{padding:1.15rem 1.25rem}
  .book-card{border-radius:var(--radius-lg)}
}
