/* Kirk Websites — shared premium motion system */
.kw-motion-enabled .kw-reveal {
  opacity: 0;
  transform: translate3d(0,26px,0);
  transition: opacity .72s cubic-bezier(.2,.7,.2,1) var(--kw-delay,0ms), transform .72s cubic-bezier(.2,.7,.2,1) var(--kw-delay,0ms);
  will-change: opacity, transform;
}
.kw-motion-enabled .kw-reveal.kw-reveal-left { transform: translate3d(-28px,8px,0); }
.kw-motion-enabled .kw-reveal.kw-reveal-right { transform: translate3d(28px,8px,0); }
.kw-motion-enabled .kw-reveal.kw-reveal-scale { transform: translate3d(0,12px,0) scale(.965); }
.kw-motion-enabled .kw-reveal.kw-in-view { opacity: 1; transform: translate3d(0,0,0) scale(1); will-change: auto; }

.kw-motion-enabled .kw-hover-lift { transition: transform .32s cubic-bezier(.2,.7,.2,1), box-shadow .32s ease, border-color .32s ease; }
.kw-motion-enabled .kw-button-polish { position: relative; isolation: isolate; overflow: hidden; }
.kw-motion-enabled .kw-button-polish::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: -45% auto -45% -38%;
  width: 24%;
  opacity: 0;
  pointer-events: none;
  transform: skewX(-20deg);
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);
  transition: left .62s ease, opacity .2s ease;
}
.kw-motion-enabled .kw-button-polish:hover::after,
.kw-motion-enabled .kw-button-polish:focus-visible::after { left: 116%; opacity: .72; }
.kw-motion-enabled .kw-check-pop {
  transform: scale(.65);
  opacity: .3;
  transition: transform .48s cubic-bezier(.2,1.55,.35,1) var(--kw-check-delay,0ms), opacity .4s ease var(--kw-check-delay,0ms);
}
.kw-motion-enabled .kw-check-pop.kw-in-view { transform: scale(1); opacity: 1; }

/* Homepage: high-polish marketing motion */
.kw-motion-enabled .start-option-grid article:hover,
.kw-motion-enabled .start-audience-grid article:hover,
.kw-motion-enabled .starter-card:hover { transform: translateY(-7px); border-color: rgba(212,160,23,.6); box-shadow: 0 21px 48px rgba(0,0,0,.15); }
.kw-motion-enabled .start-option-grid article .option-icon,
.kw-motion-enabled .power-card .power-number { transition: transform .3s ease, color .3s ease; }
.kw-motion-enabled .start-option-grid article:hover .option-icon { transform: translateY(-3px) rotate(-3deg); }
.kw-motion-enabled .start-trust-strip.kw-in-view span { animation: kwTrustWord .6s ease both; }
.kw-motion-enabled .start-trust-strip.kw-in-view span:nth-of-type(2) { animation-delay: .08s; }
.kw-motion-enabled .start-trust-strip.kw-in-view span:nth-of-type(3) { animation-delay: .16s; }
.kw-motion-enabled .start-trust-strip.kw-in-view span:nth-of-type(4) { animation-delay: .24s; }
.kw-motion-enabled .start-faq details[open] > p { animation: kwDetailOpen .35s ease both; }
.kw-motion-enabled .start-final-cta.kw-in-view::before { animation: kwFinalHalo 2.2s ease-out both; }

/* Portfolio: image-led movement and depth */
.kw-motion-enabled .portfolio-range > div strong { transition: color .28s ease, transform .28s ease; }
.kw-motion-enabled .portfolio-range > div:hover strong { color: var(--gold-light); transform: translateX(4px); }
.kw-motion-enabled .portfolio-grid .project-card:hover { transform: translateY(-8px); border-color: rgba(212,160,23,.42); box-shadow: 0 24px 54px rgba(0,0,0,.16); }
.kw-motion-enabled .project-image::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(120deg,transparent 30%,rgba(238,190,63,.12) 49%,transparent 67%);
  transform: translateX(-75%);
  transition: transform .8s ease, opacity .25s ease;
}
.kw-motion-enabled .project-card:hover .project-image::after { opacity: 1; transform: translateX(75%); }
.kw-motion-enabled .project-link span { display: inline-block; transition: transform .25s ease; }
.kw-motion-enabled .project-link:hover span { transform: translate(3px,-3px); }

/* Why a Website: confident card and milestone interactions */
.kw-motion-enabled .power-card:hover { transform: translateY(-7px); border-color: rgba(212,160,23,.55); box-shadow: 0 20px 44px rgba(0,0,0,.12); }
.kw-motion-enabled .power-card:hover .power-number { color: var(--gold-dark); transform: translateX(3px); }
.kw-motion-enabled .ownership-row .ownership-check { transition: transform .3s cubic-bezier(.2,1.5,.35,1), box-shadow .3s ease; }
.kw-motion-enabled .ownership-row:hover .ownership-check { transform: scale(1.1) rotate(-5deg); box-shadow: 0 0 0 6px rgba(212,160,23,.1); }
.kw-motion-enabled .journey-step::before { transition: transform .3s ease, text-shadow .3s ease; }
.kw-motion-enabled .journey-step:hover::before { transform: translateY(-3px); text-shadow: 0 7px 18px rgba(212,160,23,.25); }
.kw-motion-enabled .brand-quote.kw-in-view blockquote { animation: kwQuoteSettle .75s cubic-bezier(.2,.7,.2,1) both; }

/* Contact and agreement: restrained, task-focused feedback */
.kw-motion-enabled .contact-form .field,
.kw-motion-enabled #agreement-form .field { transition: transform .22s ease; }
.kw-motion-enabled .contact-form .field:focus-within,
.kw-motion-enabled #agreement-form .field:focus-within { transform: translateY(-2px); }
.kw-motion-enabled .contact-form .field label,
.kw-motion-enabled #agreement-form .field label { transition: color .2s ease; }
.kw-motion-enabled .contact-form .field:focus-within label,
.kw-motion-enabled #agreement-form .field:focus-within label { color: var(--gold-dark); }
.kw-motion-enabled .contact-form input,
.kw-motion-enabled .contact-form textarea,
.kw-motion-enabled .contact-form select,
.kw-motion-enabled #agreement-form input,
.kw-motion-enabled #agreement-form textarea,
.kw-motion-enabled #agreement-form select { transition: border-color .22s ease, box-shadow .22s ease, background-color .22s ease; }
.kw-motion-enabled .contact-form input:focus,
.kw-motion-enabled .contact-form textarea:focus,
.kw-motion-enabled .contact-form select:focus,
.kw-motion-enabled #agreement-form input:focus,
.kw-motion-enabled #agreement-form textarea:focus,
.kw-motion-enabled #agreement-form select:focus { box-shadow: 0 0 0 4px rgba(212,160,23,.11); }
.kw-motion-enabled .benefits-grid > *,
.kw-motion-enabled .home-project-card { transition: transform .3s ease, box-shadow .3s ease; }
.kw-motion-enabled .benefits-grid > *:hover,
.kw-motion-enabled .home-project-card:hover { transform: translateY(-5px); }

/* Legal pages: intentionally quiet */
.kw-motion-enabled .page-content > h2.kw-reveal { transform: translate3d(0,14px,0); }
.kw-motion-enabled .page-content > h2.kw-in-view { transform: none; }

@keyframes kwTrustWord { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes kwDetailOpen { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: none; } }
@keyframes kwFinalHalo { 0%,100% { opacity: .72; transform: translateX(-50%) scale(.97); } 50% { opacity: 1; transform: translateX(-50%) scale(1.04); } }
@keyframes kwQuoteSettle { from { opacity: 0; transform: translateY(18px) scale(.98); } to { opacity: 1; transform: none; } }

@media (hover:hover) and (pointer:fine) { .kw-motion-enabled .kw-hover-lift { will-change: transform; } }
@media (max-width:700px) {
  .kw-motion-enabled .kw-reveal,
  .kw-motion-enabled .kw-reveal.kw-reveal-left,
  .kw-motion-enabled .kw-reveal.kw-reveal-right { transform: translate3d(0,18px,0); }
  .kw-motion-enabled .kw-reveal { transition-duration: .58s; }
  .kw-motion-enabled .start-option-grid article:hover,
  .kw-motion-enabled .start-audience-grid article:hover,
  .kw-motion-enabled .starter-card:hover,
  .kw-motion-enabled .portfolio-grid .project-card:hover,
  .kw-motion-enabled .power-card:hover { transform: none; }
}
@media (prefers-reduced-motion:reduce) {
  .kw-motion-enabled .kw-reveal,
  .kw-motion-enabled .kw-reveal.kw-reveal-left,
  .kw-motion-enabled .kw-reveal.kw-reveal-right,
  .kw-motion-enabled .kw-reveal.kw-reveal-scale,
  .kw-motion-enabled .kw-check-pop { opacity: 1; transform: none; transition: none; }
  .kw-motion-enabled .kw-hover-lift,
  .kw-motion-enabled .project-image img,
  .kw-motion-enabled .project-link span,
  .kw-motion-enabled .ownership-check,
  .kw-motion-enabled .journey-step::before { transition: none; }
  .kw-motion-enabled .start-trust-strip.kw-in-view span,
  .kw-motion-enabled .start-final-cta.kw-in-view::before,
  .kw-motion-enabled .brand-quote.kw-in-view blockquote,
  .kw-motion-enabled .start-faq details[open] > p { animation: none; }
  .kw-motion-enabled .kw-button-polish::after,
  .kw-motion-enabled .project-image::after { display: none; }
}
