/* Interaction finishes: keep the painted frames still and illuminate the material within. */
:root{--interaction-time:450ms;--interaction-ease:cubic-bezier(.22,.6,.3,1);--focus-ink:#12567b}
.feature-row,.quest-card,.global-menu__link,.quest-board__cta,.utility-btn,
.product-actions a,.feature-panel__tabs button,.feature-panel__heading>a{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.feature-row{isolation:isolate;border-radius:4px}
.feature-row:before{
  content:"";position:absolute;z-index:-1;inset:2px -4px;
  pointer-events:none;border-radius:5px;opacity:0;
  background:radial-gradient(ellipse at 36% 50%,#ebbd5d4d,transparent 76%);
  transition:opacity var(--interaction-time) var(--interaction-ease);
}
.feature-row__copy,.quest-card__title{transition:color var(--interaction-time) ease}
.feature-row__copy strong,.quest-card__title{
  text-shadow:none;
  text-decoration:underline solid transparent;
  text-decoration-thickness:1px;text-underline-offset:3px;
  transition:color var(--interaction-time) ease,text-decoration-color var(--interaction-time) ease;
}
.feature-row__arrow,.quest-card__arrow,.feature-panel__heading>a span,.quest-board__cta b{
  display:inline-block;
  transition:translate var(--interaction-time) var(--interaction-ease),color var(--interaction-time) ease;
}
.feature-row img,.feature-row__thumb{
  transition:border-color var(--interaction-time) ease,box-shadow var(--interaction-time) ease;
}
.feature-row:focus-visible:before{opacity:1}
.feature-row:focus-visible .feature-row__copy strong{text-decoration-color:#98703b}
.feature-row:active:before{opacity:1;background:radial-gradient(ellipse at 36% 50%,#d9a84b70,transparent 76%)}

/* Neutralize legacy whole-card jumps; only actual links respond. */
.equipment-grid .product,.equipment-grid .product:hover{transform:none;box-shadow:none;transition:none}
.quest-card,.quest-card:hover{transform:none;filter:none;transition:none}
.quest-card:after{transition:box-shadow var(--interaction-time) ease}
.equipment-grid .product-actions a,
.equipment-grid .product-actions a:hover{
  filter:none;
  transition:box-shadow var(--interaction-time) ease,filter var(--interaction-time) ease,translate 100ms ease;
}
.equipment-grid .product-actions a:active{
  translate:0 1px;
  filter:brightness(.96);
  box-shadow:inset 0 2px 4px #581c0d66,0 1px 0 #7b260f;
}
.equipment-grid .product-actions a:last-child:active{box-shadow:inset 0 2px 4px #82561f55,0 1px 0 #a06d22}
.feature-panel__tabs button{transition:color var(--interaction-time) ease,box-shadow var(--interaction-time) ease}
.feature-panel__tabs button:active:not(.is-active){box-shadow:inset 0 2px 5px #85633140}
.feature-panel__tabs button.is-active{font-weight:900}
.feature-panel__heading>a,.feature-panel__heading>a:hover{
  color:#fff5dd;
  transition:color var(--interaction-time) ease,border-color var(--interaction-time) ease;
}
.quest-board__cta,.quest-board__cta:hover{
  filter:drop-shadow(0 4px 3px #42200847);
  transition:filter var(--interaction-time) ease,translate .4s var(--interaction-ease);
}
.quest-board__cta:active{translate:0 1px;filter:brightness(.96) drop-shadow(0 2px 1px #42200847)}

.global-menu__link,.global-menu__link:hover{filter:drop-shadow(0 3px 2px #1f12079e);transition:filter var(--interaction-time) ease}
.global-menu__link:after{
  content:"";position:absolute;inset:12% 6%;border-radius:8px;pointer-events:none;
  background:linear-gradient(120deg,transparent 10%,#fff0b82e 40%,#a5d6ee14 65%,transparent 90%);
  opacity:0;transition:opacity var(--interaction-time) ease;
}
.global-menu__label{transition:color var(--interaction-time) ease}
.global-menu__link:active{filter:brightness(.96) drop-shadow(0 1px 1px #1f12079e)}
.mini-nav .utility-btn:hover{
  filter:none;
  box-shadow:inset 4px 0 #174c70,inset -3px 0 #05263f,inset 0 -10px 13px #001522aa,0 3px 4px #00101d80;
}
.mini-nav .utility-btn{transition:filter var(--interaction-time) ease,box-shadow var(--interaction-time) ease}
.mini-nav .utility-btn:active{filter:brightness(.94);box-shadow:inset 0 3px 8px #00132199}

/* Hover applies only to devices with a precise pointer, never as a sticky tap state. */
@media(hover:hover) and (pointer:fine){
  .feature-row:hover:before{opacity:1}
  .feature-row:hover .feature-row__copy strong,
  .quest-card:hover .quest-card__title{color:#0a3559;text-decoration-color:#a77b3c99}
  .feature-row:hover .feature-row__arrow,.quest-card:hover .quest-card__arrow{translate:3px 0;color:#68400f}
  .feature-row:hover img,.feature-row:hover .feature-row__thumb{border-color:#a47a37;box-shadow:0 1px #fff8df,0 0 0 1px #e0b65a55}
  .quest-card:hover:after{box-shadow:inset 0 0 20px #e9b95238,0 2px 3px #4e2d0e21}
  .equipment-grid .product-actions a:hover{filter:brightness(1.1);box-shadow:inset 0 1px #ffe3c499,inset 0 0 12px #ffcc7552,0 2px 0 #7b260f,0 0 7px #d8973226}
  .equipment-grid .product-actions a:last-child:hover{filter:brightness(1.06);box-shadow:inset 0 1px #fff6d9,inset 0 0 12px #fff5d388,0 2px 0 #a06d22}
  .equipment-grid .product-actions a:active{box-shadow:inset 0 2px 4px #581c0d66,0 1px 0 #7b260f;filter:brightness(.96)}
  .equipment-grid .product-actions a:last-child:active{box-shadow:inset 0 2px 4px #82561f55,0 1px 0 #a06d22}
  .feature-panel__tabs button:hover:not(.is-active){color:#174571;box-shadow:inset 0 2px #c99948,inset 0 0 15px #efc16b38}
  .feature-panel__tabs button:active:not(.is-active){box-shadow:inset 0 2px 5px #85633140}
  .feature-panel__heading>a:hover{color:#ffe4a0;border-color:#f2d084}
  .feature-panel__heading>a:hover span{translate:3px 0}
  .quest-board__cta:active{filter:brightness(.96) drop-shadow(0 2px 1px #42200847)}
  .global-menu__link:hover:after{opacity:1}
  .global-menu__link:hover .global-menu__label{color:#ffe6a1}
  .mini-nav .utility-btn:hover{filter:brightness(1.08);box-shadow:inset 4px 0 #286989,inset -3px 0 #194666,inset 0 -10px 13px #00152288,inset 0 1px 12px #8bcfee2b,0 3px 4px #00101d80}
  .mini-nav .utility-btn:active{filter:brightness(.94)}
}

/* Paper directory links respond through warm inset light; utility icons through a soft reflection. */
.side-link{transition:color var(--interaction-time) ease,box-shadow var(--interaction-time) ease}
.side-link:after{transition:translate var(--interaction-time) var(--interaction-ease),color var(--interaction-time) ease}
.mobile-navigation__utilities .utility-btn{transition:filter var(--interaction-time) ease}
.mobile-menu-toggle{transition:color var(--interaction-time) ease,filter var(--interaction-time) ease}
@media(hover:hover) and (pointer:fine){
  .side-link:hover{color:#604015;box-shadow:inset 0 0 22px #e4b65f40,0 2px #ead9ac}
  .side-link:hover:after{translate:2px 0;color:#8c5a19}
  .mobile-navigation__utilities .utility-btn:hover{filter:brightness(1.12)}
  .mobile-menu-toggle:hover{color:#ffe298;filter:brightness(1.15)}
}
.side-link:focus-visible,.mobile-navigation__utilities .utility-btn:focus-visible{outline:2px solid #12567b;outline-offset:2px;box-shadow:0 0 0 2px #fff0bf}
/* A single reflection passes over the gold pixels of the original artwork. */
.topnav>.logo.logo-image{cursor:pointer;translate:0 0;transition:translate .35s var(--interaction-ease),filter .35s ease;-webkit-tap-highlight-color:transparent}
@media(hover:hover) and (pointer:fine){
  .topnav>.logo.logo-image:hover{translate:0 2px;filter:drop-shadow(0 6px 5px #00101da6)}
}
.topnav>.logo.logo-image:active{translate:0 4px;filter:drop-shadow(0 3px 3px #00101d99);transition-duration:90ms}
.logo-image .logo-glint{position:absolute;inset:0;pointer-events:none;opacity:0;mask-image:linear-gradient(110deg,transparent 43%,#000 49%,#000 51%,transparent 57%);mask-size:300% 100%;mask-repeat:no-repeat;mask-position:100% 0}
.logo-image .logo-glint img{width:100%;height:100%;object-fit:contain;filter:url("#logo-gold-highlight")}
@keyframes logo-gold-pass{0%{mask-position:100% 0;opacity:0}15%{opacity:.9}80%{opacity:.9}100%{mask-position:0% 0;opacity:0}}
@media(hover:hover) and (pointer:fine){.logo-image:hover .logo-glint{animation:logo-gold-pass 1.15s ease-in-out both}}
.logo-image:focus-visible{outline:2px solid #f7d57b;outline-offset:3px}
.logo-image:focus-visible .logo-glint{animation:logo-gold-pass 1.15s ease-in-out both}
/* Two contrasting rings stay visible on both parchment and navy panels. */
.feature-row:focus-visible,.quest-card:focus-visible,.equipment-grid .product-actions a:focus-visible,
.feature-panel__tabs button:focus-visible,.feature-panel__heading>a:focus-visible,
.quest-board__cta:focus-visible,.global-menu__link:focus-visible,.mini-nav .utility-btn:focus-visible{
  outline:2px solid var(--focus-ink);outline-offset:2px;
  box-shadow:0 0 0 2px #fff0bf;
}
@media(prefers-reduced-motion:reduce){
  .topnav>.logo.logo-image,.topnav>.logo.logo-image:hover,.topnav>.logo.logo-image:active{translate:none;transition:none}
  .logo-image:hover .logo-glint,.logo-image:focus-visible .logo-glint{animation:none}
  .side-link,.side-link:after,.mobile-navigation__utilities .utility-btn,.mobile-menu-toggle{transition:none}
  .side-link:hover:after{translate:none}
  .feature-row:before,.feature-row__copy,.feature-row__copy strong,.feature-row__arrow,
  .feature-row img,.feature-row__thumb,.quest-card:after,.quest-card__title,.quest-card__arrow,
  .equipment-grid .product-actions a,.feature-panel__tabs button,
  .feature-panel__heading>a,.feature-panel__heading>a span,.quest-board__cta,.quest-board__cta b,
  .global-menu__link,.global-menu__link:after,.global-menu__label,.mini-nav .utility-btn{transition:none}
  .feature-row:hover .feature-row__arrow,.quest-card:hover .quest-card__arrow,
  .feature-panel__heading>a:hover span,.quest-board__cta:hover b,
  .equipment-grid .product-actions a:active,.quest-board__cta:active{translate:none}
  .global-menu__link:active{transform:none}
}

/* A slow gold glint follows the illustrated CTA silhouette. */
.quest-board__cta::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 40%,rgba(255,220,133,.12) 46%,rgba(255,245,202,.65) 50%,rgba(255,220,133,.12) 54%,transparent 60%) 100% 0/320% 100% no-repeat;
  mask:url("../images/quest-cta-frame-v2.png") center/100% 100% no-repeat;
  opacity:0;
}
@keyframes quest-cta-glint{
  0%{background-position:100% 0;opacity:0}
  18%{opacity:.8}
  78%{opacity:.8}
  100%{background-position:0% 0;opacity:0}
}
@media(hover:hover) and (pointer:fine){
  .quest-board__cta:hover::after{animation:quest-cta-glint 1.8s ease-in-out both}
}
.quest-board__cta:focus-visible::after{animation:quest-cta-glint 1.8s ease-in-out both}
@media(prefers-reduced-motion:reduce){
  .quest-board__cta:hover::after,.quest-board__cta:focus-visible::after{animation:none}
}
/* Center the label and arrow together, with one character of breathing room. */
.quest-board__cta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1em;
  padding-inline:16px;
}
.quest-board__cta b{
  display:block;
  flex:none;
  width:auto;
  height:auto;
  line-height:1;
}
/* Illuminate the wood in place, preserving its original texture and gold frame. */
.quest-board__cta::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:url("../images/quest-cta-frame-v2.png") center/100% 100% no-repeat;
  clip-path:polygon(8% 17%,92% 17%,95% 30%,95% 70%,92% 83%,8% 83%,5% 70%,5% 30%);
  filter:brightness(1.35) saturate(1.08);
  opacity:0;
  transition:opacity .45s ease;
}
.quest-board__cta span,.quest-board__cta b{z-index:1}
.quest-board__cta,.quest-board__cta:active{translate:none;filter:drop-shadow(0 4px 3px #42200847)}
@media(hover:hover) and (pointer:fine){
  .quest-board__cta:hover,.quest-board__cta:active{translate:none;filter:drop-shadow(0 4px 3px #42200847)}
  .quest-board__cta:hover::before{opacity:1}
  .quest-board__cta:hover b{translate:3px 0}
}
.quest-board__cta:focus-visible::before{opacity:1}
@media(prefers-reduced-motion:reduce){
  .quest-board__cta::before{transition:none}
  .quest-board__cta:hover,.quest-board__cta:active,.quest-board__cta:hover b{translate:none;transition:none}
}
/* Move the entire illustrated quest link as one piece. */
.quest-card{translate:0 0;transition:translate .45s var(--interaction-ease)}
@media(hover:hover) and (pointer:fine){
  .quest-card:hover{translate:3px 0;transition:translate .45s var(--interaction-ease)}
}
@media(prefers-reduced-motion:reduce){
  .quest-card,.quest-card:hover{translate:none;transition:none}
}
/* Soft magical light within the red and gold product actions. */
.equipment-grid .product-actions a{position:relative;isolation:isolate}
.equipment-grid .product-actions a::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:1px;
  border-radius:inherit;
  pointer-events:none;
  background:radial-gradient(ellipse at 50% 58%,rgba(255,220,166,.5) 0%,rgba(255,160,99,.22) 38%,transparent 75%);
  opacity:0;
  transition:opacity .55s ease;
}
.equipment-grid .product-actions a:last-child::before{
  background:radial-gradient(ellipse at 50% 58%,rgba(255,255,224,.8) 0%,rgba(255,239,157,.3) 40%,transparent 78%);
}
@media(hover:hover) and (pointer:fine){
  .equipment-grid .product-actions a:hover{
    filter:none;
    box-shadow:inset 0 1px #ffe3c499,inset 0 0 10px #ffcc7540,0 2px 0 #7b260f,0 0 8px #ed9b4238;
  }
  .equipment-grid .product-actions a:last-child:hover{
    filter:none;
    box-shadow:inset 0 1px #fff6d9,inset 0 0 10px #fff5d355,0 2px 0 #a06d22,0 0 8px #e4b44b38;
  }
  .equipment-grid .product-actions a:hover::before{opacity:1}
}
.equipment-grid .product-actions a:focus-visible::before{opacity:1}
@media(prefers-reduced-motion:reduce){.equipment-grid .product-actions a::before{transition:none}}
/* Ruby enamel: the search button's layered sheen, translated into red. */
.equipment-grid .product-actions a:first-child{
  border-color:#6b191b;
  background:linear-gradient(180deg,#d16a65 0%,#b52e32 18%,#962329 75%,#68151e 100%);
  box-shadow:inset 0 1px #f5b0a0,inset 0 0 0 2px #a2393b,0 1px 2px #33230f80;
  color:#fff8e9;
  text-shadow:0 1px 2px #470d15;
  transition:filter .45s ease,box-shadow .45s ease,translate 100ms ease;
}
.equipment-grid .product-actions a:first-child::before{
  inset:2px;
  border-radius:3px;
  background:linear-gradient(180deg,#ec9690 0%,#d8494b 20%,#bc303b 76%,#8e202d 100%);
  transition:opacity .45s ease;
}
@media(hover:hover) and (pointer:fine){
  .equipment-grid .product-actions a:first-child:hover{
    filter:brightness(1.15) saturate(1.1);
    box-shadow:inset 0 1px #ffdbcc,inset 0 0 0 2px #c85858,0 0 9px #eb887c70,0 1px 2px #33230f80;
  }
}
.equipment-grid .product-actions a:first-child:active{
  filter:brightness(.94);
  box-shadow:inset 0 2px 5px #470d1599;
}
@media(prefers-reduced-motion:reduce){
  .equipment-grid .product-actions a:first-child,.equipment-grid .product-actions a:first-child::before{transition:none}
}
/* Gold enamel paired with the ruby action, keeping dark text legible. */
.equipment-grid .product-actions a:last-child{
  border-color:#92702c;
  background:linear-gradient(180deg,#f5df9e 0%,#e5bc62 18%,#d6a74b 75%,#b58332 100%);
  box-shadow:inset 0 1px #fff4ca,inset 0 0 0 2px #d2ac5b,0 1px 2px #33230f80;
  color:#493113;
  text-shadow:0 1px #fff0bb;
  transition:filter .45s ease,box-shadow .45s ease,translate 100ms ease;
}
.equipment-grid .product-actions a:last-child::before{
  inset:2px;
  border-radius:3px;
  background:linear-gradient(180deg,#fff4cb 0%,#f7d786 20%,#ebc16b 76%,#d5a14b 100%);
  transition:opacity .45s ease;
}
@media(hover:hover) and (pointer:fine){
  .equipment-grid .product-actions a:last-child:hover{
    filter:brightness(1.06) saturate(1.08);
    box-shadow:inset 0 1px #fffbe5,inset 0 0 0 2px #efd18b,0 0 9px #efc86e70,0 1px 2px #33230f80;
  }
}
.equipment-grid .product-actions a:last-child:active{
  filter:brightness(.94);
  box-shadow:inset 0 2px 5px #73501980;
}
@media(prefers-reduced-motion:reduce){
  .equipment-grid .product-actions a:last-child,.equipment-grid .product-actions a:last-child::before{transition:none}
}
