/* Techtrim v100 — requested-only correction: compact HOME contact/info block + large hero logo sheen. */

/* HOME lower block: compact by actual content height, no stretched empty columns. */
.techtrim-home .tt-visit-grid{
  display:grid!important;
  grid-template-columns:290px 270px 290px minmax(430px,1fr)!important;
  gap:14px!important;
  align-items:start!important;
  align-content:start!important;
  grid-auto-rows:max-content!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  padding:12px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.techtrim-home .tt-visit-card,
.techtrim-home .tt-visit-contacts,
.techtrim-home .tt-home-info-col,
.techtrim-home .tt-home-route-col{
  align-self:start!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

/* Phone / Telegram / MAX / Avito — half-height, complete buttons. */
.techtrim-home .tt-contact-buttons{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-auto-rows:42px!important;
  gap:6px!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  align-content:start!important;
  margin:0!important;
  padding:0!important;
}
.techtrim-home .tt-contact-buttons a{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  padding:4px 12px!important;
  margin:0!important;
  gap:10px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  border-radius:10px!important;
  font-size:16px!important;
  line-height:1!important;
}
.techtrim-home .tt-contact-buttons .tt-contact-text{padding-left:12px!important}
.techtrim-home .tt-contact-buttons img.tt-social-icon{
  width:22px!important;height:22px!important;min-width:22px!important;max-width:22px!important;
  flex:0 0 22px!important;object-fit:contain!important;
}
.techtrim-home .tt-contact-phone img{
  width:21px!important;height:21px!important;min-width:21px!important;max-width:21px!important;
  flex:0 0 21px!important;object-fit:contain!important;
}

/* Information cards — half-height and content-sized columns. */
.techtrim-home .tt-home-info-col,
.techtrim-home .tt-home-route-col{
  display:grid!important;
  grid-template-rows:max-content max-content!important;
  align-content:start!important;
  gap:8px!important;
}
.techtrim-home .tt-info-button,
.techtrim-home .tt-home-route-col>.tt-info-button{
  display:flex!important;
  align-items:center!important;
  height:72px!important;
  min-height:72px!important;
  max-height:72px!important;
  padding:7px 11px!important;
  margin:0!important;
  gap:9px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  border-radius:10px!important;
}
.techtrim-home .tt-info-icon{
  width:34px!important;height:34px!important;min-width:34px!important;max-width:34px!important;
  flex:0 0 34px!important;display:grid!important;place-items:center!important;
}
.techtrim-home .tt-info-icon img{width:21px!important;height:21px!important;object-fit:contain!important}
.techtrim-home .tt-info-button>span:last-child{display:flex!important;flex-direction:column!important;min-width:0!important;padding:0!important}
.techtrim-home .tt-info-button b{font-size:15px!important;line-height:1.08!important}
.techtrim-home .tt-info-button small{font-size:12px!important;line-height:1.18!important;margin-top:4px!important}

/* Explicit exception from user: do not reduce route button height. */
.techtrim-home .tt-route-button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:auto!important;
  min-height:50px!important;
  max-height:none!important;
  padding:10px 15px!important;
  margin:0!important;
  box-sizing:border-box!important;
  font-size:15px!important;
}

/* Map: fixed compact height, clipped strictly inside its card. */
.techtrim-home .tt-map-card{
  position:relative!important;
  align-self:start!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:250px!important;
  min-height:250px!important;
  max-height:250px!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:14px!important;
  box-sizing:border-box!important;
  contain:layout paint!important;
}
.techtrim-home .tt-map-card iframe{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  box-sizing:border-box!important;
  border-radius:inherit!important;
  overflow:hidden!important;
}

/* SMALL header logo: no animation on any page. */
.approved-header .approved-brand::before,
.approved-header .approved-brand::after,
.tt-uheader-v94 .tt-uheader-v94__brand::before,
.tt-uheader-v94 .tt-uheader-v94__brand::after{
  content:none!important;
  display:none!important;
  animation:none!important;
  background:none!important;
}
.approved-header .approved-brand img,
.tt-uheader-v94 .tt-uheader-v94__brand img{animation:none!important}

/* LARGE logo only: visible moving sheen, clipped by the exact logo alpha mask. */
.techtrim-hero.tt-v77-hero{
  position:relative!important;
  overflow:hidden!important;
}
.techtrim-hero.tt-v77-hero .tt-logo-sheen{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:9!important;
  pointer-events:none!important;
  overflow:hidden!important;
  opacity:1!important;
  background:none!important;
  -webkit-mask-image:url('techtrim-logo-edge-mask-v31.png')!important;
  mask-image:url('techtrim-logo-edge-mask-v31.png')!important;
  -webkit-mask-size:100% 100%!important;
  mask-size:100% 100%!important;
  -webkit-mask-position:0 0!important;
  mask-position:0 0!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
}
.techtrim-hero.tt-v77-hero .tt-logo-sheen::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  top:0!important;
  bottom:0!important;
  left:-120px!important;
  width:105px!important;
  opacity:0;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(105,195,255,.03) 17%,
    rgba(194,231,255,.35) 36%,
    rgba(255,255,255,1) 49%,
    rgba(180,226,255,.42) 60%,
    rgba(83,185,255,.07) 79%,
    transparent 100%)!important;
  filter:blur(.45px)!important;
  mix-blend-mode:screen!important;
  will-change:transform,opacity!important;
  animation:ttV100LargeLogoSweep 5.4s cubic-bezier(.42,.02,.38,.98) infinite!important;
}
.techtrim-hero.tt-v77-hero .tt-logo-sheen::after{content:none!important;display:none!important}
@keyframes ttV100LargeLogoSweep{
  0%,12%{transform:translateX(0) skewX(-12deg);opacity:0}
  18%{opacity:1}
  68%{transform:translateX(980px) skewX(-12deg);opacity:.98}
  75%,100%{transform:translateX(1040px) skewX(-12deg);opacity:0}
}

@media(max-width:1250px){
  .techtrim-home .tt-visit-grid{grid-template-columns:260px 245px 270px minmax(360px,1fr)!important}
}
@media(max-width:1050px){
  .techtrim-home .tt-visit-grid{grid-template-columns:1fr 1fr!important}
  .techtrim-home .tt-map-card{grid-column:1/-1!important}
}
@media(max-width:680px){
  .techtrim-home .tt-visit-grid{grid-template-columns:1fr!important}
  .techtrim-home .tt-map-card{grid-column:auto!important}
}
@media(prefers-reduced-motion:reduce){
  .techtrim-hero.tt-v77-hero .tt-logo-sheen::before{animation:none!important}
}
