:root{--ys-radius-card:14px;--ys-radius-control:8px;--ys-shadow-card:0 12px 30px -25px rgba(22,33,29,.3);--ys-section-space:clamp(54px,5.8vw,76px)}
body{ text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased }
main :is(h1,h2,h3){font-family:'Rubik','Noto Sans Georgian',sans-serif;text-wrap:balance}
main :is(.hero,.blog-hero,.article-hero,.catalog-hero,.clients-hero,.policy-hero,.product-copy,.p-hero,.certificate-section) h1{line-height:1.18;letter-spacing:-.025em}
main :is(.section-head,.detail-section-head,.catalog-section-head,.article-body) h2{line-height:1.3;letter-spacing:-.014em}
main :is(.card,.training-card,.catalog-card,.catalog-help,.curriculum-card,.process-card,.trainer-card,.blog-card,.client-card,.certificate-card,.policy-card,.product-fact,.spec-card,.feature-card){border-radius:var(--ys-radius-card);box-shadow:var(--ys-shadow-card);transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
main :is(.btn,.button,.product-button,.catalog-primary,.catalog-secondary,.training-card-link,.detail-cta a){border-radius:var(--ys-radius-control);transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}
main :is(.detail-section,.catalog-section,.product-usage,.product-contact){scroll-margin-top:92px}
.training-detail .detail-section{padding-block:clamp(54px,5.8vw,74px)}
.training-detail .trainer-section .trainer-card{border-radius:var(--ys-radius-card);border-color:rgba(22,33,29,.12);box-shadow:0 14px 34px -26px rgba(22,33,29,.38)}
.training-detail .trainer-section .trainer-photo{border-radius:12px}
.blog-list{padding-block:clamp(42px,5vw,64px)}
@media(prefers-reduced-motion:reduce){main :is(.card,.training-card,.catalog-card,.curriculum-card,.process-card,.trainer-card,.blog-card,.client-card,.certificate-card){transition:none}}

/* Shared mobile polish across the full site */
@media(max-width:760px){
  html{overflow-x:clip}
  body{min-width:320px;overflow-x:clip}
  img,video{max-width:100%}
  main :is(h1,h2,h3,p,li,a){overflow-wrap:anywhere}
  main :is(.btn,.button,.product-button,.catalog-primary,.catalog-secondary,.detail-cta a){min-height:44px}
  main :is(.certificate-result dl){grid-template-columns:1fr}
}
@media(max-width:560px){
  main :is(.hero,.blog-hero,.article-hero,.catalog-hero,.clients-hero,.policy-hero,.certificate-section) h1{font-size:clamp(30px,8vw,40px);line-height:1.22}
  main :is(.section-head,.detail-section-head,.catalog-section-head,.article-body) h2{font-size:clamp(23px,6vw,30px);line-height:1.32}
  main :is(.btn,.button,.product-button,.catalog-primary,.catalog-secondary){padding:12px 15px}
  main :is(table){display:block;max-width:100%;overflow-x:auto}
}


/* Mobile layout overflow fixes */
@media(max-width:760px){
  main{min-width:0}
  main :is(.hero-grid,.about-grid,.story-grid,.product-hero-grid,.product-usage-grid,.invoice-fields,.catalog-intro,.catalog-grid,.cards,.training-grid,.certificate-grid,.founder-card){min-width:0}
  main :is(.hero-grid,.about-grid,.story-grid,.product-hero-grid,.product-usage-grid,.invoice-fields,.catalog-intro,.certificate-grid,.founder-card)>*{min-width:0;max-width:100%}
  main :is(input,select,textarea){box-sizing:border-box;min-width:0;max-width:100%}
}
