/* A quiet, continuous thematic band. Only the track transform moves. */
.topic-ribbon{position:relative;isolation:isolate;overflow:hidden;margin:0;padding:32px 0;background:radial-gradient(ellipse at 18% 60%,#64203327,transparent 48%),radial-gradient(ellipse at 74% 35%,#b38a4615,transparent 42%),radial-gradient(circle at 14% 28%,#edcf8930 0 .6px,transparent 1px),radial-gradient(circle at 81% 73%,#edcf8924 0 .6px,transparent 1px),radial-gradient(circle at 54% 18%,#edcf891c 0 .5px,transparent .9px),linear-gradient(115deg,#100a10,#1c0e18 42%,#100c13 80%);box-shadow:inset 0 8px 22px #e4bb6b03,inset 0 -8px 22px #e4bb6b03}
.topic-ribbon:before,.topic-ribbon:after{content:"";position:absolute;left:6%;right:6%;height:1px;background:linear-gradient(90deg,transparent,#d6b77950 25%,#d6b77938 75%,transparent);pointer-events:none}
.topic-ribbon:before{top:0}.topic-ribbon:after{bottom:0}
.topic-ribbon-viewport{padding-inline:6%;overflow-x:auto;scrollbar-width:none;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.topic-ribbon-viewport::-webkit-scrollbar{display:none}
.topic-ribbon-track{display:flex;width:max-content}
.topic-ribbon-set{flex:0 0 auto;display:flex;align-items:center;gap:32px;list-style:none;padding:0 32px 0 0;margin:0;width:max-content}
.topic-ribbon-item{position:relative;isolation:isolate;display:flex;align-items:center;gap:17px;white-space:nowrap;font:500 21px/1.3 var(--font-heading);letter-spacing:-.025em;color:#e9e1d4;transition:color .45s ease}
.topic-ribbon-item svg{display:block;width:47px;height:47px;flex-shrink:0;color:#e4c385;filter:drop-shadow(0 1px 1px #050306b0) drop-shadow(0 0 5px #d8ae6115);transition:filter .45s ease,transform .45s ease}
.topic-ribbon-item i{display:block;width:3px;height:3px;margin-left:15px;transform:rotate(45deg);background:#ba98534d;box-shadow:0 0 5px #ba98531a}
.topic-ribbon-set[aria-hidden=true]{display:none}
.topic-ribbon.is-ready .topic-ribbon-set[aria-hidden=true]{display:flex}
.topic-ribbon.is-ready .topic-ribbon-viewport{overflow:hidden;padding-inline:0}
.topic-ribbon.is-ready .topic-ribbon-track{animation:topic-ribbon-drift 165s linear infinite;animation-play-state:paused}
.topic-ribbon.is-visible:not(.is-paused):not(.tab-hidden) .topic-ribbon-track{animation-play-state:running}
.topic-ribbon:focus-within .topic-ribbon-track,.motion-paused .topic-ribbon-track,[data-motion-paused] .topic-ribbon-track{animation-play-state:paused!important}
@media(hover:hover){.topic-ribbon:hover .topic-ribbon-track{animation-play-state:paused!important}}
.topic-ribbon-toggle{position:absolute;z-index:2;right:14px;top:50%;transform:translateY(-50%);width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid #d6b77930;border-radius:50%;background:#100c12ed;color:#cdb687;cursor:pointer}
.topic-ribbon-toggle[hidden]{display:none}.topic-ribbon-toggle:hover{border-color:#d6b77980;color:#f0dbb2}
.topic-ribbon-toggle svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.topic-ribbon-toggle .ribbon-play-icon{display:none}.topic-ribbon-toggle[aria-pressed=true] .ribbon-play-icon{display:block}.topic-ribbon-toggle[aria-pressed=true] .ribbon-pause-icon{display:none}
.topic-ribbon :focus-visible{outline:1px solid #d6b779;outline-offset:-2px}
@keyframes topic-ribbon-drift{to{transform:translateX(-50%)}}
@media(max-width:700px){.topic-ribbon{padding:25px 0}.topic-ribbon-item{gap:12px;font-size:18px}.topic-ribbon-item svg{width:40px;height:40px}.topic-ribbon-set{gap:24px;padding-right:24px}.topic-ribbon-item i{margin-left:9px}.topic-ribbon-toggle{right:5px;width:44px;height:44px}.topic-ribbon-viewport{mask-image:linear-gradient(90deg,transparent,#000 6%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 88%,transparent)}}
@media(prefers-reduced-motion:reduce){.topic-ribbon.is-ready .topic-ribbon-track{animation:none;transform:none}.topic-ribbon.is-ready .topic-ribbon-set[aria-hidden=true]{display:none}.topic-ribbon.is-ready .topic-ribbon-viewport{overflow-x:auto;padding-inline:20px;mask-image:none;-webkit-mask-image:none}.topic-ribbon-toggle{display:none}}

/* Metal relief is carried by the symbol, without enclosing icon tiles. */
.topic-ribbon-materials{position:absolute;pointer-events:none;overflow:hidden}
.topic-ribbon-item .ribbon-metal-fill{fill:url(#topic-ribbon-gold);stroke:none}
.topic-ribbon-item .ribbon-recess{fill:#251620;stroke:#ebd098;stroke-width:1.1}
.topic-ribbon-item:before{content:"";position:absolute;z-index:-1;left:-25px;top:-12px;width:130px;height:72px;background:radial-gradient(ellipse,#c79f5110,transparent 72%);opacity:.55;pointer-events:none;transition:opacity .45s ease}
.topic-ribbon-item:nth-child(3n+1):before{opacity:.9}
.topic-ribbon-item span{position:relative}
.topic-ribbon-item span:after{content:"";position:absolute;bottom:-8px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#e3c48a80,transparent);opacity:0;transform:scaleX(.75);transition:opacity .45s ease,transform .45s ease}
@media(hover:hover){.topic-ribbon-item:hover{color:#f1d5a4}.topic-ribbon-item:hover svg{filter:drop-shadow(0 1px 1px #050306b0) drop-shadow(0 0 6px #e6bc694d);transform:translateY(-1px)}.topic-ribbon-item:hover:before{opacity:1}.topic-ribbon-item:hover span:after{opacity:.85;transform:scaleX(1)}}
.services-page .topic-ribbon+.services-faq{margin-top:38px}
@media(max-width:700px){.services-page .topic-ribbon+.services-faq{margin-top:26px}}
@media(prefers-reduced-motion:reduce){.topic-ribbon-item,.topic-ribbon-item svg,.topic-ribbon-item:before,.topic-ribbon-item span:after{transition:none}.topic-ribbon-item:hover svg{transform:none}}
