/* Futuristic interaction layer — uses only brand navy and copper plus neutrals. */
:root{--motion-spring:cubic-bezier(.16,1,.3,1);--navy-rgb:16 29 53;--copper-rgb:218 161 126}
.button,button[type=submit]{--lift:0px;min-width:168px;min-height:54px;padding:12px 13px 12px 23px;gap:20px;justify-content:space-between;border-radius:14px 4px 14px 4px;transform:translate3d(0,var(--lift),0);box-shadow:0 7px 0 rgb(var(--navy-rgb)/.12),0 16px 32px rgb(var(--navy-rgb)/.12);transition:transform .45s var(--motion-spring),box-shadow .45s var(--motion-spring),border-radius .45s var(--motion-spring),background-color .3s,color .3s;will-change:transform}
.button::after,button[type=submit]::after{content:'';position:absolute;inset:1px;border:1px solid rgb(255 255 255/.17);border-radius:12px 3px 12px 3px;pointer-events:none;transition:inset .45s var(--motion-spring),border-color .3s}
.button span[aria-hidden],button[type=submit] span[aria-hidden]{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:10px 3px 10px 3px;background:rgb(var(--navy-rgb)/.1);border:1px solid rgb(var(--navy-rgb)/.16);transition:transform .48s var(--motion-spring),background .3s,border-radius .4s,color .3s}
.button-secondary span[aria-hidden],.button-light span[aria-hidden]{background:rgb(var(--copper-rgb)/.12);border-color:rgb(var(--copper-rgb)/.28)}
.button-primary{background:linear-gradient(110deg,#d69b76,#e5b596 48%,#d69b76);background-size:220% 100%;color:#101d35}
.button-secondary{background:linear-gradient(110deg,#fff,#edf0f6);color:#101d35}
.button-light{background:rgb(255 255 255/.1);color:#fff;border-color:rgb(255 255 255/.42)}
.button .button-label{display:inline-block;transition:transform .45s var(--motion-spring)}
.hero-actions{align-items:center}.hero-actions .button{min-width:210px}
.text-link{position:relative;display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-weight:650}.text-link::after{content:'';position:absolute;left:8px;right:8px;bottom:4px;height:1px;background:currentColor;transform:scaleX(.28);transform-origin:left;opacity:.45;transition:transform .45s var(--motion-spring),opacity .3s}
.service-card,.article-card,.pricing-card,.case-card,.process-card{position:relative;overflow:hidden}.service-card::before,.article-card::before,.pricing-card::before,.case-card::before{content:'';position:absolute;left:0;bottom:0;width:100%;height:3px;background:linear-gradient(90deg,#101d35,#daa17e);transform:scaleX(.14);transform-origin:left;transition:transform .55s var(--motion-spring)}
.service-card::after,.article-card::after,.pricing-card::after,.case-card::after{content:'';position:absolute;width:110px;height:110px;right:-72px;top:-72px;border:1px solid rgb(var(--copper-rgb)/.28);border-radius:50%;transition:transform .6s var(--motion-spring),opacity .4s;opacity:.25}
.card-arrow{width:42px;height:42px;border-radius:12px 3px 12px 3px;box-shadow:inset 0 0 0 1px rgb(255 255 255/.4)}
.menu-toggle{position:relative;overflow:hidden;background:#fff}.menu-toggle::after{content:'';position:absolute;inset:5px;border:1px solid rgb(var(--copper-rgb)/.35);border-radius:5px;pointer-events:none}
.dialog{box-shadow:0 40px 120px rgb(var(--navy-rgb)/.48);border-radius:28px 8px 28px 8px}.dialog-close{border-radius:12px 3px 12px 3px;transition:transform .35s var(--motion-spring),background .3s}
input,textarea,select{transition:border-color .25s,box-shadow .25s,transform .25s;background:linear-gradient(110deg,#fff,#f8f9fb)}
input:focus,textarea:focus,select:focus{border-color:#101d35;box-shadow:0 0 0 4px rgb(var(--copper-rgb)/.24),0 12px 30px rgb(var(--navy-rgb)/.08);transform:translateY(-1px)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
.button:hover,button[type=submit]:hover{--lift:-7px;box-shadow:0 12px 0 rgb(var(--navy-rgb)/.1),0 24px 44px rgb(var(--navy-rgb)/.25);border-radius:4px 14px 4px 14px;background-position:100% 0}
.button:hover::after,button[type=submit]:hover::after{inset:5px;border-color:rgb(255 255 255/.3)}
.button:hover span[aria-hidden],button[type=submit]:hover span[aria-hidden]{transform:translateX(7px) rotate(-8deg);border-radius:3px 10px 3px 10px;background:#101d35;color:#fff}
.button-secondary:hover span[aria-hidden],.button-light:hover span[aria-hidden]{background:#daa17e;color:#101d35}
.text-link:hover::after{transform:scaleX(1);opacity:.8}
.service-card:hover::before,.article-card:hover::before,.pricing-card:hover::before,.case-card:hover::before{transform:scaleX(1)}
.service-card:hover::after,.article-card:hover::after,.pricing-card:hover::after,.case-card:hover::after{transform:translate(-28px,28px) scale(1.35);opacity:.65}
.service-card:hover .card-arrow,.article-card:hover .card-arrow{transform:translate(5px,-5px) rotate(-8deg);background:#daa17e;color:#101d35}
.dialog-close:hover{transform:rotate(90deg) scale(1.06);background:#daa17e}
}
.button:active,button[type=submit]:active{--lift:2px;transform:translate3d(0,2px,0) scale(.975);box-shadow:0 2px 0 rgb(var(--navy-rgb)/.15),0 8px 16px rgb(var(--navy-rgb)/.15);transition-duration:.1s}
@media(max-width:800px){.button,button[type=submit]{min-height:52px}.hero-actions .button{min-width:0}.header-actions .menu-toggle{display:grid;place-items:center}.service-card:active,.article-card:active{transform:scale(.985);border-color:#daa17e}.button span[aria-hidden]{width:30px;height:30px;flex-basis:30px}}
@media(max-width:520px){.button,button[type=submit]{width:100%;min-width:0}.hero-actions{display:grid;grid-template-columns:1fr}.dialog .button{width:100%}}
@media(prefers-reduced-motion:reduce){.button,.button::before,.button::after,.button span[aria-hidden],.service-card,.service-card::before,.service-card::after,.card-arrow,.text-link::after{transition:none!important;transform:none!important}.button:hover{transform:none!important}}
