/* Champagne highlights for cards and controls; informational rows remain informational. */
.step{position:relative;isolation:isolate}
.step:before{content:'';position:absolute;inset:7px -10px;z-index:-1;border:1px solid rgba(154,121,64,.4);border-radius:14px;background:linear-gradient(110deg,#fffdf8,rgba(222,200,153,.17));box-shadow:0 10px 30px rgba(16,38,56,.07);opacity:0;transition:opacity .25s ease;pointer-events:none}
.step.featured:before{inset:0;border-color:rgba(222,200,153,.7);background:linear-gradient(110deg,rgba(222,200,153,.16),rgba(222,200,153,.025));box-shadow:0 0 26px rgba(154,121,64,.18)}
.step h3,.service h3,.step-number,.step-arrow{transition:color .25s ease,transform .25s ease}
.service{transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.spirit-copy{transition:background-color .25s ease,box-shadow .25s ease}
.hero-visual,.architecture-visual{outline:1px solid transparent;outline-offset:-1px;transition:outline-color .25s ease}
.button,.header-nav>.nav-contact,.motion-toggle,.menu-toggle{transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.text-link,.header-nav>a,.footer nav a,.contact-direct>a{transition:color .2s ease,border-color .2s ease,background-color .2s ease}
.hero-stage .hero-footer>a{transition:color .3s ease}
.text-link>span,.service-link>span,.button>.arrow,.nav-contact>span,.contact-direct>a>span{transition:color .25s ease,background-color .25s ease,border-color .25s ease,transform .25s ease}
.button-gold{position:relative;isolation:isolate;overflow:hidden;box-shadow:0 2px 0 rgba(88,63,24,.28)}
.button-gold:after{content:'';position:absolute;right:18px;bottom:0;left:18px;height:2px;background:rgba(16,38,56,.5);transform:scaleX(0);transform-origin:center;transition:transform .32s cubic-bezier(.16,1,.3,1);pointer-events:none}

.service:focus-within{background-color:#fffdf8;border-color:var(--gold);box-shadow:0 0 0 1px rgba(154,121,64,.12),0 16px 36px rgba(154,121,64,.12)}
.service-featured:focus-within{background-color:var(--navy-soft);border-color:var(--champagne);box-shadow:0 0 0 1px rgba(222,200,153,.22),0 16px 36px rgba(16,38,56,.14)}
.hero-visual:focus-within,.architecture-visual:focus-within{outline-color:var(--champagne)}

@media(hover:hover) and (pointer:fine){
  .step:hover:before{opacity:1}
  .step:not(.featured):hover h3,.step:not(.featured):hover .step-number{color:#7b5b27}
  .step.featured:hover h3{color:#efdbb4}
  .step:hover .step-arrow{transform:translate(3px,-3px)}
  .service:hover{background-color:#fffdf8;border-color:var(--gold);box-shadow:0 0 0 1px rgba(154,121,64,.12),0 16px 36px rgba(154,121,64,.12)}
  .service:not(.service-featured):hover h3{color:#7b5b27}
  .service-featured:hover{background-color:var(--navy-soft);border-color:var(--champagne);box-shadow:0 0 0 1px rgba(222,200,153,.22),0 16px 36px rgba(16,38,56,.14)}
  .service-featured:hover h3{color:#efdbb4}
  .service:hover .service-link>span{border-color:var(--gold);transform:translate(2px,-2px)}
  .service-featured:hover .service-link>span{border-color:var(--champagne)}
  .spirit-copy:hover{background-color:#fffdf8;box-shadow:0 0 0 1px rgba(154,121,64,.35),0 14px 36px rgba(154,121,64,.09)}
  .hero-visual:hover,.architecture-visual:hover{outline-color:var(--champagne)}
  .button:hover,.header-nav>.nav-contact:hover{box-shadow:0 0 0 1px rgba(222,200,153,.55),0 9px 26px rgba(154,121,64,.2)}
  .button-gold:hover{background:#d7bc82;border-color:#d7bc82;box-shadow:0 4px 0 rgba(88,63,24,.38),0 11px 18px rgba(4,19,30,.18);transform:none}
  .button-gold:hover:after{transform:scaleX(1)}
  .button-gold:active{box-shadow:0 1px 0 rgba(88,63,24,.42);transform:translateY(2px)}
  .motion-toggle:hover{box-shadow:0 0 0 1px rgba(222,200,153,.55),0 0 22px rgba(222,200,153,.18)}
  .button:hover>.arrow,.nav-contact:hover>span,.text-link:hover>span,.contact-direct>a:hover>span{transform:translate(3px,-2px)}
  .text-link:hover,.header-nav>a:not(.nav-contact):hover,.footer nav a:hover{color:#7b5b27;border-color:var(--gold)}
  .hero-stage .text-link:hover{color:#7b5b27;border-color:var(--gold)}
  .hero-stage .hero-footer>a:hover{color:var(--gold)}
  .contact-direct>a:hover{color:var(--champagne);border-color:var(--champagne);background-color:rgba(222,200,153,.055)}
}

@media(prefers-reduced-motion:reduce){
  .step-arrow,.service-link>span,.button>.arrow,.nav-contact>span,.text-link>span,.contact-direct>a>span{transform:none!important}
}
