/* V66 Final UI Polish — consistency layer only; no layout redesign */
:root{
  --ui-radius:16px;
  --ui-radius-sm:10px;
  --ui-gap:24px;
  --ui-section-space:72px;
  --ui-shadow:0 10px 28px rgba(15,23,42,.08);
  --ui-shadow-hover:0 16px 36px rgba(15,23,42,.14);
  --ui-transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background-color .25s ease,color .25s ease;
}
html{scroll-behavior:smooth}
body{overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img,svg,video,canvas{max-width:100%;height:auto}
button,a,[role="button"]{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(0,102,204,.28);outline-offset:3px}

/* Consistent card finish without changing page structure */
.service-card,.pricing-card,.package-card,.feature-card,.tool-card,.download-card,.category-card,.info-card,.process-step,.faq-item,.studio-service-card,.cyber-service-card,.premium-card,.card{
  border-radius:var(--ui-radius);
  transition:var(--ui-transition);
}
@media (hover:hover){
  .service-card:hover,.pricing-card:hover,.package-card:hover,.feature-card:hover,.tool-card:hover,.download-card:hover,.category-card:hover,.info-card:hover,.studio-service-card:hover,.cyber-service-card:hover,.premium-card:hover{
    transform:translateY(-5px);
    box-shadow:var(--ui-shadow-hover);
  }
}

/* Equal visual rhythm in common grids */
.services-grid,.pricing-grid,.features-grid,.tools-grid,.download-grid,.category-grid,.studio-services-grid,.cyber-services-grid,.premium-grid{
  gap:var(--ui-gap);
  align-items:stretch;
}
.services-grid>*,.pricing-grid>*,.features-grid>*,.tools-grid>*,.download-grid>*,.category-grid>*,.studio-services-grid>*,.cyber-services-grid>*,.premium-grid>*{height:100%}

/* Buttons: consistent alignment, touch size and motion */
.btn,.cta-button,.primary-btn,.secondary-btn,.btn-primary,.btn-secondary,.view-btn,.view-all-btn,.whatsapp-btn,.contact-btn,a[class*="btn"]{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  line-height:1.2;
  border-radius:var(--ui-radius-sm);
  transition:var(--ui-transition);
  text-decoration:none;
}
@media (hover:hover){
  .btn:hover,.cta-button:hover,.primary-btn:hover,.secondary-btn:hover,.btn-primary:hover,.btn-secondary:hover,.view-btn:hover,.view-all-btn:hover,.whatsapp-btn:hover,.contact-btn:hover,a[class*="btn"]:hover{transform:translateY(-2px)}
}

/* Typography and section spacing consistency */
h1,h2,h3,h4{line-height:1.22;text-wrap:balance}
p,li{overflow-wrap:anywhere}
section{scroll-margin-top:90px}
.section-title,.section-heading{text-wrap:balance}
.section-subtitle,.section-description{max-width:760px;margin-left:auto;margin-right:auto}

/* Tables remain usable on small screens */
.table-wrapper,.pricing-table-wrapper,.rate-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse}

/* Header/footer stability */
header{isolation:isolate}
footer a{transition:color .2s ease,opacity .2s ease}
footer a:hover{opacity:.9}

/* Dark-mode contrast safety */
body.dark-mode .service-card,body.dark-mode .pricing-card,body.dark-mode .package-card,body.dark-mode .feature-card,body.dark-mode .tool-card,body.dark-mode .download-card,body.dark-mode .category-card,body.dark-mode .info-card,body.dark-mode .studio-service-card,body.dark-mode .cyber-service-card,body.dark-mode .premium-card,
[data-theme="dark"] .service-card,[data-theme="dark"] .pricing-card,[data-theme="dark"] .package-card,[data-theme="dark"] .feature-card,[data-theme="dark"] .tool-card,[data-theme="dark"] .download-card,[data-theme="dark"] .category-card,[data-theme="dark"] .info-card,[data-theme="dark"] .studio-service-card,[data-theme="dark"] .cyber-service-card,[data-theme="dark"] .premium-card{border-color:rgba(148,163,184,.22)}

/* Responsive finishing */
@media (max-width:768px){
  :root{--ui-gap:16px;--ui-section-space:54px}
  .nav-container{padding-left:16px;padding-right:16px}
  .hero-buttons,.cta-buttons,.button-group{gap:12px;flex-wrap:wrap}
  .hero-buttons>a,.cta-buttons>a{min-width:min(100%,220px)}
  h1{font-size:clamp(2rem,9vw,2.75rem)}
  h2{font-size:clamp(1.55rem,7vw,2.1rem)}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
