/* C&C signature motion: champagne cursor, quiet depth, measured entrances. */
:root {
  --motion-ease:cubic-bezier(.22,1,.36,1)}

.cursor {
  display:none}

@media (hover:hover) and (pointer:fine) and (min-width:701px) and (prefers-reduced-motion:no-preference) {
  
 html.signature-pointer,html.signature-pointer a,html.signature-pointer button,html.signature-pointer summary,html.signature-pointer label {
  cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M12 6L18 12L12 18L6 12Z' fill='%23d7c5a5' stroke='%23091019' stroke-width='1.2'/%3E%3Ccircle cx='12' cy='12' r='1.2' fill='%23fff9e9'/%3E%3C/svg%3E") 12 12,auto}

 html.signature-pointer input,html.signature-pointer textarea,html.signature-pointer [contenteditable=true] {
  cursor:text}

 html.signature-pointer input[type=checkbox],html.signature-pointer input[type=radio] {
  cursor:pointer}

 html.signature-pointer :disabled {
  cursor:not-allowed}

 .signature-pointer .cursor {
  display:block;
  width:38px;
  height:38px;
  border:0;
  opacity:0;
  transition:opacity .2s;
  z-index:9999;
  will-change:transform}

 .signature-pointer .cursor.on {
  opacity:1}

 .cursor:before {
  content:'';
  position:absolute;
  inset:0;
  border:1px solid #d8c6a17d;
  border-radius:50%;
  background:#dfc6a003;
  box-shadow:0 0 0 1px #07101b38;
  transform:scale(1);
  transition:transform .5s var(--motion-ease),background .4s,border-color .4s}

 .cursor.is-link:before {
  transform:scale(1.55);
  border-color:#e5d7beab;
  background:#dac3970a}

 .cursor.is-down:before {
  transform:scale(.8)}

 .hero-actions .button,.header-contact {
  translate:var(--magnet-x,0px) var(--magnet-y,0px);
  transition:translate .55s var(--motion-ease),background .3s,border-color .3s}

}

@media (prefers-reduced-motion:no-preference) {
  
 .hero.motion-ready .hero-content>* {
  animation:signatureRise 1.2s var(--motion-ease) both}

 .hero.motion-ready .hero-content>:nth-child(2) {
  animation-delay:.12s}

 .hero.motion-ready .hero-content>:nth-child(3) {
  animation-delay:.24s}

 .hero.motion-ready .hero-content>:nth-child(4) {
  animation-delay:.32s}

 .hero.motion-ready .hero-content>:nth-child(5) {
  animation-delay:.42s}

 .hero.motion-ready .hero-image {
  animation:signatureSettle 2.4s var(--motion-ease) both;
  transform-origin:70% 55%}

 .hero.motion-ready .hero-bottom {
  animation:signatureRise 1.4s .55s var(--motion-ease) both}

 .js-motion h2.reveal {
  clip-path:inset(-8% -3% -8% -3%);
  transition:opacity 1s var(--motion-ease),transform 1.25s var(--motion-ease),clip-path 1.25s var(--motion-ease);
  transition-delay:var(--delay,0ms);
  filter:none}

 .js-motion h2.reveal:not(.visible) {
  clip-path:inset(0 -3% 100% -3%);
  transform:translateY(26px);
  filter:none}

 .route-enter .detail-hero-copy>* {
  animation:signatureRise 1.1s var(--motion-ease) both}

 .route-enter .detail-hero-copy>:nth-child(2) {
  animation-delay:.12s}

 .route-enter .detail-hero-copy>:nth-child(3) {
  animation-delay:.22s}

 .route-enter .detail-hero-copy>:nth-child(4) {
  animation-delay:.32s}

 .page-curtain:after {
  content:'';
  position:absolute;
  top:0;
  left:7%;
  width:1px;
  height:100%;
  background:linear-gradient(transparent,#c9b89b55,transparent)}

 .page-curtain[style*="flex"]>div {
  animation:curtainSignature .85s var(--motion-ease) both}

 .button {
  position:relative;
  isolation:isolate;
  overflow:hidden}

 .button:before {
  content:'';
  position:absolute;
  inset:-60% -40%;
  z-index:-1;
  background:linear-gradient(110deg,transparent 40%,#fff7e877 50%,transparent 60%);
  transform:translateX(-85%);
  pointer-events:none}

 .button:hover:before,.button:focus-visible:before {
  animation:buttonLight .85s var(--motion-ease) both}

 .business-art .art-grid {
  transition:opacity .7s;
  opacity:.65}

 .business-detail:hover .art-grid {
  opacity:1}

 .topic-row {
  position:relative}

 .topic-row:after {
  content:'';
  position:absolute;
  bottom:-1px;
  left:0;
  width:100%;
  height:1px;
  background:linear-gradient(90deg,#cfb99788,transparent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 1.4s var(--motion-ease)}

 .topic-row.visible:after {
  transform:scaleX(1)}

}

@keyframes signatureRise {
  from {
  opacity:0;
  transform:translateY(25px);
  filter:blur(3px)}
to {
  opacity:1;
  transform:translateY(0);
  filter:blur(0)}
}

@keyframes signatureSettle {
  from {
  scale:1.045}
to {
  scale:1}
}

@keyframes curtainSignature {
  from {
  opacity:.3;
  transform:translateY(16px);
  letter-spacing:.08em}
to {
  opacity:1;
  transform:translateY(0);
  letter-spacing:0}
}

@keyframes buttonLight {
  to {
  transform:translateX(85%)}
}

@media(prefers-reduced-motion:reduce) {
  .cursor {
  display:none!important}
.hero-actions .button,.header-contact {
  translate:none!important}
}

