/* Source: concretta-gallery-cta-parity-v683.css */
/* CONCRETTA V683 — Gallery CTA parity, contrast and final project alignment.
   Scoped to gallery pages only. */

/* Support CTA on light gallery surfaces: text + moving arrow, no persistent line. */
body.ct-gallery-page .ct371-gallery-link{
  color:#49443e!important;
}
body.ct-gallery-page .ct371-gallery-link .ct371-link,
body.ct-gallery-page .ct371-gallery-link .ct371-link:hover,
body.ct-gallery-page .ct371-gallery-link .ct371-link:focus-visible{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  width:auto!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  border-bottom:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#49443e!important;
  -webkit-text-fill-color:#49443e!important;
  text-decoration:none!important;
  opacity:1!important;
}
body.ct-gallery-page .ct371-gallery-link .ct371-link::before,
body.ct-gallery-page .ct371-gallery-link .ct371-link::after{
  content:none!important;
  display:none!important;
}
body.ct-gallery-page .ct371-gallery-link .ct371-link .ct63-arrow{
  display:inline-block!important;
  flex:0 0 auto!important;
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
  transition:transform .24s ease!important;
}
body.ct-gallery-page .ct371-gallery-link .ct371-link:is(:hover,:focus-visible) .ct63-arrow{
  transform:translate(3px,-3px)!important;
}
body.ct-gallery-page .ct371-gallery-link .ct371-link:focus-visible{
  outline:2px solid currentColor!important;
  outline-offset:5px!important;
}

/* Final project block: balanced desktop composition. */
body.ct-gallery-page .cg271-cta-inner{
  grid-template-columns:minmax(0,1fr) auto!important;
  column-gap:clamp(48px,6vw,88px)!important;
  row-gap:28px!important;
  align-items:center!important;
  padding:clamp(42px,4vw,54px) clamp(40px,4.5vw,60px)!important;
}
body.ct-gallery-page .cg271-cta-inner > div:first-child{
  max-width:760px!important;
}
body.ct-gallery-page .cg271-cta .cg271-kicker{
  margin:0 0 14px!important;
}
body.ct-gallery-page .cg271-cta h2{
  margin:0!important;
  max-width:760px!important;
}
body.ct-gallery-page .cg271-cta p{
  margin:14px 0 0!important;
  max-width:690px!important;
}

/* Final project CTA: site-standard growing line + moving arrow; never loses contrast. */
body.ct-gallery-page .cg271-cta-link,
body.ct-gallery-page .cg271-cta-link:hover,
body.ct-gallery-page .cg271-cta-link:focus-visible{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0 0 7px!important;
  border:0!important;
  border-bottom:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#f7f2ea!important;
  -webkit-text-fill-color:#f7f2ea!important;
  text-decoration:none!important;
  opacity:1!important;
  white-space:nowrap!important;
}
body.ct-gallery-page .cg271-cta-link::before{
  content:none!important;
  display:none!important;
}
body.ct-gallery-page .cg271-cta-link::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  right:auto!important;
  bottom:0!important;
  width:0!important;
  height:1px!important;
  margin:0!important;
  background:currentColor!important;
  opacity:0!important;
  transform:none!important;
  transition:width .34s cubic-bezier(.22,.61,.36,1),opacity .22s ease,height .22s ease!important;
  pointer-events:none!important;
}
body.ct-gallery-page .cg271-cta-link:is(:hover,:focus-visible)::after{
  width:100%!important;
  height:2px!important;
  opacity:.92!important;
}
body.ct-gallery-page .cg271-cta-link .ct63-arrow{
  display:inline-block!important;
  flex:0 0 auto!important;
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
  transition:transform .24s ease!important;
}
body.ct-gallery-page .cg271-cta-link:is(:hover,:focus-visible) .ct63-arrow{
  transform:translate(3px,-3px)!important;
}
body.ct-gallery-page .cg271-cta-link:focus-visible{
  outline:2px solid #f7f2ea!important;
  outline-offset:5px!important;
}

@media(max-width:991px){
  body.ct-gallery-page .cg271-cta-inner{
    grid-template-columns:1fr!important;
    align-items:start!important;
    padding:38px 32px!important;
  }
  body.ct-gallery-page .cg271-cta-link{
    justify-self:start!important;
    white-space:normal!important;
  }
}

@media(max-width:620px){
  body.ct-gallery-page .cg271-cta-inner{
    padding:34px 26px!important;
    row-gap:26px!important;
  }
  body.ct-gallery-page .cg271-cta .cg271-kicker{
    margin-bottom:12px!important;
  }
  body.ct-gallery-page .cg271-cta-link{
    font-size:13px!important;
  }
}

@media(hover:none){
  body.ct-gallery-page .cg271-cta-link::after{
    width:100%!important;
    height:1px!important;
    opacity:.38!important;
    transition:none!important;
  }
  body.ct-gallery-page :is(.cg271-cta-link,.ct371-link) .ct63-arrow{
    transition:none!important;
  }
}

@media(prefers-reduced-motion:reduce){
  body.ct-gallery-page .cg271-cta-link::after,
  body.ct-gallery-page :is(.cg271-cta-link,.ct371-link) .ct63-arrow{
    transition:none!important;
  }
}

