/* ASTEYA responsive + interaction layer */
html{overflow-x:clip}
body.asteya-v2{max-width:100%;overflow-x:clip}
.asteya-v2 a,.asteya-v2 button{-webkit-tap-highlight-color:rgba(115,17,22,.12)}

/* Motion is progressive enhancement: content remains visible if JS is unavailable. */
@media (prefers-reduced-motion:no-preference){
  html.asteya-motion .motion-target{transition:opacity .62s cubic-bezier(.2,.7,.2,1),transform .62s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--motion-i,0)*38ms);will-change:opacity,transform}
  html.asteya-motion .motion-target:not(.is-visible){opacity:0;transform:translateY(18px)}
  html.asteya-motion .motion-target.is-visible{opacity:1;transform:none}
}

/* Desktop hover language */
@media (hover:hover) and (pointer:fine){
  .v2-topbar-actions a,.v2-contact-actions a,.v2-service-page .sp-actions a,.v2-service-page .sp-related a,.v2-service-page .sp-list div,.v2-process-strip article,.v2-bim-matrix>div,.v2-partner-list>div,.v2-studio-facts>div,.v2-viz-item,.v2-viz-b2b-cta{transition:transform .28s cubic-bezier(.2,.7,.2,1),background .28s ease,color .28s ease,border-color .28s ease,padding .28s cubic-bezier(.2,.7,.2,1),opacity .28s ease}
  .v2-topbar-actions a:hover{transform:translateY(-2px)}
  .v2-topbar-actions a:last-child:hover{background:#731116}
  .v2-service-list a:hover{transform:translateX(8px)}
  .v2-service-page .sp-list div:hover{padding-left:14px;background:rgba(115,17,22,.045);border-color:rgba(115,17,22,.28)}
  .v2-service-page .sp-list div:hover span{color:#731116}
  .v2-service-page .sp-list div:hover strong{font-style:italic}
  .v2-service-page .sp-actions a:hover{transform:translateY(-3px);background:#731116;color:#f3efe7;border-color:#731116}
  .v2-service-page .sp-actions a:first-child:hover{background:#731116;border-color:#731116}
  .v2-service-page .sp-related a:hover{color:#731116;transform:translateY(-2px)}
  .v2-process-strip article:hover,.v2-bim-matrix>div:hover,.v2-partner-list>div:hover,.v2-studio-facts>div:hover{transform:translateY(-4px);background:rgba(115,17,22,.045)}
  .v2-bim-matrix>div:hover{background:rgba(255,255,255,.06)}
  .v2-contact-actions a:hover{padding-left:10px;padding-right:10px;color:#731116}
  .v2-viz-item:hover,.v2-viz-b2b-cta:hover{transform:translateY(-4px)}
}

/* Touch feedback: phones/tablets do not have a persistent hover state. */
@media (hover:none),(pointer:coarse){
  .asteya-v2 a:active,.asteya-v2 button:active{opacity:.72;transform:scale(.985)}
  .v2-service-list a:active,.v2-service-page .sp-actions a:active,.v2-viz-item:active,.v2-viz-b2b-cta:active{background:#731116!important;color:#f3efe7!important}

  /* Force true mobile layout even when Android Chrome reports a wide CSS viewport. */
  .v2-rail{display:none!important}
  .v2-topbar{left:0!important;right:0!important;width:100%!important;height:64px!important;padding:0 14px!important}
  .v2-topbar-wordmark{font-size:15px!important;white-space:nowrap}
  .v2-topbar-wordmark span{display:none!important}
  .v2-topbar-actions{gap:8px!important;font-size:9px!important}
  .v2-topbar-actions a:last-child{padding:10px 11px!important}
  .v2-main,.v2-footer,.v2-service-page{margin-left:0!important;width:100%!important;max-width:100%!important}

  .v2-service-page .sp-head{min-height:auto!important;padding:106px 18px 54px!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:30px!important;align-items:start!important;overflow:hidden!important}
  .v2-service-page .sp-head:after{right:-34vw!important;top:-9vw!important;width:88vw!important;height:88vw!important;opacity:.7}
  .v2-service-page .sp-kicker{font-size:9px!important;line-height:1.45;letter-spacing:.16em;max-width:80%}
  .v2-service-page h1{font-size:clamp(42px,11.2vw,64px)!important;line-height:.9!important;letter-spacing:-.045em!important;max-width:100%!important;width:100%!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:auto;margin-top:8px!important}
  .v2-service-page .sp-lead{grid-column:1!important;font-size:16px!important;line-height:1.5!important;max-width:100%!important;width:100%!important}
  .v2-service-page .sp-body{padding:52px 18px 68px!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:28px!important;width:100%!important;overflow:hidden}
  .v2-service-page .sp-index{font-size:9px!important;line-height:1.4}
  .v2-service-page .sp-list{min-width:0;width:100%}
  .v2-service-page .sp-list div{grid-template-columns:34px minmax(0,1fr)!important;gap:10px!important;padding:17px 0!important;min-width:0}
  .v2-service-page .sp-list strong{font-size:clamp(24px,7.2vw,36px)!important;line-height:1.04;min-width:0;overflow-wrap:break-word}
  .v2-service-page .sp-lead h2{font-size:clamp(30px,8.7vw,46px);line-height:1.02;margin:0 0 20px;overflow-wrap:break-word}
  .v2-service-page .sp-lead p{font-size:15px;line-height:1.65;overflow-wrap:break-word}
  .v2-service-page .sp-actions{padding:0 18px 68px!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .v2-service-page .sp-actions a{width:100%;text-align:center;justify-content:center;padding:15px 14px!important}
  .v2-service-page .sp-related{padding:38px 18px 56px!important;gap:16px!important}

  .v2-hero{padding-top:64px!important;grid-template-columns:1fr!important}
  .v2-hero-field{min-height:72vh!important;padding:52px 18px 30px!important}
  .v2-hero-copy h1{font-size:clamp(54px,16vw,86px)!important;line-height:.9!important;max-width:100%!important;overflow-wrap:break-word}
  .v2-studio,.v2-services,.v2-process,.v2-urban,.v2-bim,.v2-partners,.v2-contact{padding-left:18px!important;padding-right:18px!important}
  .v2-service-list a{grid-template-columns:32px minmax(0,1fr) 20px!important}
  .v2-service-list strong{font-size:clamp(28px,9vw,44px)!important;min-width:0;overflow-wrap:break-word}
  .v2-service-list small{grid-column:2!important}
  .v2-contact-copy h2,.v2-studio-copy h2,.v2-process-head h2,.v2-urban-copy h2,.v2-bim-title h2,.v2-partners-head h2{max-width:100%;overflow-wrap:break-word}
  .v2-contact-actions a{font-size:clamp(18px,5.8vw,24px)!important;gap:12px;overflow-wrap:anywhere}
}

@media (max-width:520px){
  .v2-topbar-actions a:first-child{display:none!important}
  .v2-service-page h1{font-size:clamp(40px,12.5vw,58px)!important}
  .v2-service-page .sp-head{padding-left:16px!important;padding-right:16px!important}
  .v2-service-page .sp-body,.v2-service-page .sp-actions,.v2-service-page .sp-related{padding-left:16px!important;padding-right:16px!important}
}

@media (prefers-reduced-motion:reduce){
  html.asteya-motion .motion-target{opacity:1!important;transform:none!important;transition:none!important}
  .asteya-v2 *{scroll-behavior:auto!important}
}
