/* Ambient motion and direct feedback; every decoration stays non-interactive. */
.motion-surface{--v2-play:paused}
.motion-surface.motion-in-view{--v2-play:running}
html.motion-document-hidden .motion-surface,
html.motion-reduced .motion-surface{--v2-play:paused}

.header{transition:background-color .45s,box-shadow .45s,border-color .45s}
.header.motion-scrolled{background-color:#090b0ff7;border-bottom-color:#bd895459;box-shadow:0 9px 35px #0004}
.header::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 230px 100px at var(--header-x,25%) 12%,#edbc7821,transparent 80%);opacity:.65;transition:opacity .45s;z-index:-1}
.header::after{content:"";position:absolute;top:0;left:0;right:0;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent 0%,#cb965321 25%,#e9b97d99 50%,#cb965321 75%,transparent 100%);background-size:230% 100%;animation:v2-header-trace 11s ease-in-out infinite;animation-play-state:var(--v2-play)}
.header .brand img{animation:v2-emblem-light 7s ease-in-out infinite;animation-play-state:var(--v2-play);will-change:filter}
.header .brand{transition:filter .35s}
.header .brand:hover,.header .brand:focus-visible{filter:brightness(1.16)}
.header nav a::after{height:1px;background:linear-gradient(90deg,#8b5d36,#f6ce91,#8b5d36);box-shadow:0 0 9px #d6a26344;transform-origin:left;transition:transform .38s cubic-bezier(.2,.7,.2,1)}
.header nav a:hover,.header nav a:focus-visible{text-shadow:0 0 18px #e4ac6355}
.nav-contact{position:relative;overflow:hidden;isolation:isolate;transition:background .3s,border-color .3s,box-shadow .3s,transform .3s}
.nav-contact:hover,.nav-contact:focus-visible{border-color:#dfb279;box-shadow:inset 0 0 24px #b4803e12,0 0 20px #bc874022;transform:translateY(-1px)}
.nav-contact .icon{transition:transform .35s}
.nav-contact:hover .icon{transform:rotate(-9deg)}

.primary.motion-in-view::before{animation:v2-button-glint 8.5s ease-in-out infinite;animation-play-state:var(--v2-play)}
.primary:hover::before,.primary:focus-visible::before{animation:none;transform:translateX(60%)}
.button:focus-visible{box-shadow:0 0 0 4px #090c10,0 0 0 6px #e8ba7d,0 0 26px #cc954b44}
.button>.icon:last-child{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.button:hover>.icon:last-child,.button:focus-visible>.icon:last-child{transform:translateX(4px)}
.button:active,.nav-contact:active{filter:brightness(1.12)}
.motion-ripple{position:absolute;left:var(--ripple-x);top:var(--ripple-y);width:var(--ripple-size);height:var(--ripple-size);margin-left:calc(var(--ripple-size) / -2);margin-top:calc(var(--ripple-size) / -2);border:1px solid #fff8;background:radial-gradient(circle,#fff5 0%,#fff2 45%,transparent 70%);border-radius:50%;pointer-events:none;animation:v2-ripple .7s cubic-bezier(.12,.6,.3,1) both}

.contact-section .motion-rune{position:absolute;z-index:-1;left:50%;top:50%;width:min(490px,85vw);aspect-ratio:1;border:1px solid #c69a5b20;border-radius:50%;pointer-events:none;animation:v2-rune-orbit 65s linear infinite;animation-play-state:var(--v2-play)}
.contact-section .motion-rune::before,.contact-section .motion-rune::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.contact-section .motion-rune::before{inset:22px;border:1px dashed #b78b4920}
.contact-section .motion-rune::after{inset:-2px;border:2px solid transparent;border-left-color:#e4b67744;border-right-color:#b8833d22;box-shadow:0 0 30px #b7813910}
.contact-section.motion-in-view .contact-art{animation:v2-contact-depth 18s ease-in-out infinite alternate;animation-play-state:var(--v2-play);transform-origin:65% center}
.contact-section .contact-content>img{animation:v2-emblem-light 8s ease-in-out infinite;animation-play-state:var(--v2-play)}

.footer{position:relative;isolation:isolate}
.footer::before{content:"";position:absolute;z-index:-1;inset:-30px 0 0;pointer-events:none;background:radial-gradient(ellipse at 20% 50%,#bd7d2b13,transparent 60%),radial-gradient(ellipse at 80% 25%,#6e4c2d0c,transparent 60%);animation:v2-footer-glow 9s ease-in-out infinite alternate;animation-play-state:var(--v2-play)}
.footer::after{content:"";position:absolute;pointer-events:none;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 8%,#bf8d4e24 30%,#f2c17f88 50%,#bf8d4e24 70%,transparent 92%);background-size:200% 100%;animation:v2-header-trace 13s ease-in-out infinite reverse;animation-play-state:var(--v2-play)}
.footer .brand img{animation:v2-emblem-light 9s ease-in-out infinite;animation-play-state:var(--v2-play)}
.footer-links a,.footer-links button{background-image:linear-gradient(#d9af77,#d9af77);background-position:left calc(100% - 8px);background-size:0 1px;background-repeat:no-repeat;transition:color .3s,background-size .3s,transform .3s}
.footer-links a:hover,.footer-links a:focus-visible,.footer-links button:hover,.footer-links button:focus-visible{background-size:100% 1px;transform:translateY(-1px)}
.footer-official{transition:opacity .4s,filter .4s}
.footer a:hover .footer-official{opacity:1;filter:drop-shadow(0 0 12px #c4903f30)}

@keyframes v2-emblem-light{0%,100%{filter:drop-shadow(0 0 6px #c1843a22)}45%{filter:drop-shadow(0 0 14px #e0ad6059)}}
@keyframes v2-header-trace{0%,100%{background-position:100% 0;opacity:.35}50%{background-position:0 0;opacity:.9}}
@keyframes v2-button-glint{0%,72%{transform:translateX(-60%);opacity:0}74%{opacity:.85}90%{transform:translateX(60%);opacity:.85}92%,100%{transform:translateX(60%);opacity:0}}
@keyframes v2-ripple{from{transform:scale(.08);opacity:.65}to{transform:scale(1);opacity:0}}
@keyframes v2-rune-orbit{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes v2-contact-depth{from{transform:scale(1)}to{transform:scale(1.045)}}
@keyframes v2-footer-glow{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:translateY(-4px)}}

@media(max-width:760px){
  .contact-section .motion-rune{width:min(400px,90vw)}
  .header::before{background:radial-gradient(ellipse at 30% 25%,#edbc7818,transparent 75%)}
  .footer::before{inset:-15px 0 0}
}
@media(prefers-reduced-motion:reduce){
  .header::after,.header .brand img,.primary.motion-in-view::before,.contact-section .motion-rune,.contact-section.motion-in-view .contact-art,.contact-section .contact-content>img,.footer::before,.footer::after,.footer .brand img,.motion-ripple{animation:none!important}
  .motion-ripple,.contact-section .motion-rune{display:none}
  .button:hover>.icon:last-child,.button:focus-visible>.icon:last-child,.nav-contact:hover,.nav-contact:focus-visible,.nav-contact:hover .icon,.footer-links a:hover,.footer-links a:focus-visible,.footer-links button:hover,.footer-links button:focus-visible{transform:none}
}
@media print{.header::before,.header::after,.contact-section .motion-rune,.footer::before,.footer::after,.motion-ripple{display:none}}
