/* Aiero visual polish v3 — public frontend only.
   Keeps the accepted source layouts intact while fixing Georgian type rhythm,
   coordinating floating controls and adding restrained orbital depth. */

:root{
  --aiero-motion-distance:14px;
  --aiero-motion-reveal:18px;
  --aiero-motion-duration:620ms;
  --aiero-page-depth:0px;
  --aiero-page-grid-depth:0px;
  --aiero-support-width:0px;
}
html[data-aiero-scroll="gentle"]{scroll-behavior:smooth}
html[data-aiero-motion="off"]{
  --aiero-motion-distance:0px;
  --aiero-motion-reveal:0px;
  --aiero-motion-duration:1ms;
}
html[data-aiero-motion="balanced"]{
  --aiero-motion-distance:26px;
  --aiero-motion-reveal:26px;
  --aiero-motion-duration:760ms;
}

body.aiero-theme #aiero-main>.oreon-block-shell{
  position:relative;
  isolation:isolate;
}
body.aiero-theme #aiero-main>.oreon-block-shell>[data-aiero-block-instance]{
  scroll-margin-top:clamp(88px,9vw,132px);
}

/* Georgian headings must wrap between words, never through the last glyphs of
   a long word. text-wrap is progressive enhancement; width/font fallbacks do
   the same job in older engines. */
html[lang^="ka"] body.aiero-theme #aiero-main :where(h1,h2,.title,.animated-heading){
  max-width:100%;
  text-wrap:balance;
  word-break:normal!important;
  overflow-wrap:normal;
  hyphens:none;
}
body.aiero-theme #aiero-main :where(.title,.animated-heading,h1,h2){
  text-wrap:balance;
}
body.aiero-theme .hero-style6 .hero-sec-info3 .title{
  width:100%;
  max-width:100%;
  line-height:1.12;
}
body.aiero-theme .aiero-glass-inner-hero h1{
  overflow-wrap:normal;
}

/* One quiet rhythm shared by Aiero-native and imported blocks. It does not
   replace source spacing; it makes headings/cards obey the same local cadence. */
body.aiero-theme #aiero-main [data-aiero-block-instance] :where(.title,.animated-heading,h2)+p{
  margin-top:clamp(12px,1.4vw,20px);
}
body.aiero-theme #aiero-main [data-aiero-block-instance] :where(.feature-card,.ser-card2,.team-card,.aiero-pricing-v3__card,.aiero-glass-card){
  transform-origin:50% 70%;
}

/* The background grid and glow move as one depth plane. Enlarged fixed planes
   prevent edge gaps while translating and do not participate in layout. */
body.aiero-theme.aiero-motion-enabled::before,
body.aiero-theme.aiero-motion-enabled::after{
  inset:-36px;
  will-change:translate;
}
body.aiero-theme.aiero-motion-enabled::before{translate:0 var(--aiero-page-depth)}
body.aiero-theme.aiero-motion-enabled::after{translate:0 var(--aiero-page-grid-depth)}

[data-aiero-parallax="media"]{
  --aiero-parallax-y:0px;
  translate:0 var(--aiero-parallax-y);
  scale:1.025;
  will-change:translate;
}
html[data-aiero-motion="balanced"] [data-aiero-parallax="media"]{scale:1.045}
[data-aiero-motion="off"] [data-aiero-parallax="media"],
html[data-aiero-motion="off"] [data-aiero-parallax="media"],
html[data-aiero-parallax="off"] [data-aiero-parallax="media"]{
  translate:none;
  scale:1;
  will-change:auto;
}

body.aiero-theme.aiero-motion-ready [data-aiero-reveal]{
  opacity:.01;
  translate:0 var(--aiero-motion-reveal);
  transition:
    opacity var(--aiero-motion-duration) cubic-bezier(.2,.72,.2,1),
    translate var(--aiero-motion-duration) cubic-bezier(.2,.72,.2,1),
    border-color 220ms ease,
    box-shadow 220ms ease;
  transition-delay:var(--aiero-reveal-delay,0ms);
}
body.aiero-theme.aiero-motion-ready [data-aiero-reveal].is-aiero-revealed,
body.aiero-theme.aiero-motion-ready [data-aiero-motion="off"] [data-aiero-reveal]{
  opacity:1;
  translate:0 0;
}

/* Floating controls form a measured dock beside chat on desktop and a clear
   vertical rail above the public mobile navigation. */
@media(min-width:992px){
  body.aiero-theme.aiero-floating-coordinator .aiero-theme-toggle{
    top:auto!important;
    right:calc(var(--aiero-support-width) + 36px)!important;
    bottom:24px!important;
    transform:none!important;
  }
  body.aiero-theme.aiero-floating-coordinator .aiero-scroll-top{
    right:calc(var(--aiero-support-width) + 96px)!important;
    bottom:24px!important;
  }
}
@media(max-width:991.98px){
  body.aiero-theme.aiero-floating-coordinator.aiero-has-mobile-dock .support-hub{
    right:max(14px,env(safe-area-inset-right,0px))!important;
    bottom:calc(94px + env(safe-area-inset-bottom,0px))!important;
  }
  body.aiero-theme.aiero-floating-coordinator.aiero-has-mobile-dock .aiero-theme-toggle{
    top:auto!important;
    right:max(14px,env(safe-area-inset-right,0px))!important;
    bottom:calc(158px + env(safe-area-inset-bottom,0px))!important;
    transform:none!important;
  }
  body.aiero-theme.aiero-floating-coordinator.aiero-has-mobile-dock .aiero-scroll-top{
    right:max(14px,env(safe-area-inset-right,0px))!important;
    bottom:calc(218px + env(safe-area-inset-bottom,0px))!important;
  }
}

/* Source hero 6 reserves a narrow column for a numeric counter. CMS copy can
   legitimately replace it with a longer Georgian trust label, so keep that
   label inside the original card at every breakpoint. */
body.aiero-theme .hero-style6 .exp-box .counter-box2{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
}
body.aiero-theme .hero-style6 .exp-box .counter-box2 :where(.counter-number,.counter-text){
  display:block;
  max-width:100%;
  font-size:clamp(26px,2.15vw,34px)!important;
  line-height:1.14!important;
  overflow-wrap:anywhere;
}
@media(max-width:820px){
  body.aiero-theme .hero-style6 .exp-box .counter-box2 :where(.counter-number,.counter-text){
    font-size:clamp(24px,4.5vw,34px)!important;
  }
}
@media(max-width:480px){
  body.aiero-theme .hero-style6 .exp-box .counter-box2 :where(.counter-number,.counter-text){
    font-size:clamp(20px,6.2vw,24px)!important;
  }
}

@media(max-width:480px){
  /* Georgian contact labels are materially longer than the source English
     copy. Keep whole words intact while fitting the original compact card. */
  body.aiero-theme .contact-form .custom-form h2{
    max-width:100%;
    font-size:clamp(19px,5.35vw,22px);
    line-height:1.3;
    letter-spacing:-.025em;
  }
  body.aiero-theme .contact-form .custom-form .ibt-btn,
  body.aiero-theme .contact-form .custom-form button{
    max-width:100%;
    min-width:0;
    padding-inline:16px;
    font-size:clamp(13px,3.6vw,15px);
    line-height:1.35;
    letter-spacing:-.015em;
  }
  body.aiero-theme .hero-style6{padding-inline:10px}
  body.aiero-theme .hero-style6 .hero-text6>.container2{padding-inline:10px}
  body.aiero-theme .hero-style6 .hero-sec-info3{
    padding:34px clamp(24px,7vw,30px) 42px;
  }
  body.aiero-theme .hero-style6 .hero-sec-info3 .title{
    font-size:clamp(27px,7.35vw,31px)!important;
    line-height:1.25!important;
    letter-spacing:-.045em;
  }
}

body.aiero-theme .aiero-legal-notice__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
}
body.aiero-theme .aiero-legal-notice__actions .aiero-glass-button{
  width:auto;
}
@media(max-width:560px){
  body.aiero-theme .aiero-legal-notice__actions{
    display:grid;
  }
  body.aiero-theme .aiero-legal-notice__actions .aiero-glass-button{
    width:100%;
  }
}

@media(prefers-reduced-motion:reduce){
  :root{scroll-behavior:auto!important;--aiero-page-depth:0px;--aiero-motion-distance:0px;--aiero-motion-reveal:0px}
  body.aiero-theme::before,body.aiero-theme::after,
  [data-aiero-parallax="media"],[data-aiero-reveal]{
    translate:none!important;
    scale:1!important;
    opacity:1!important;
    transition:none!important;
    will-change:auto!important;
  }
}
