/* Shared vector icon language: crisp geometry, consistent on every platform. */
.icon-definitions{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.icon{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:square;stroke-linejoin:miter;flex-shrink:0}
.icon-left{transform:rotate(180deg)}
.icon-up{transform:rotate(-90deg)}
.header-contact{align-items:center;border-radius:30px;padding:11px 19px;gap:26px}
.header-contact .icon{width:18px;height:18px;transition:transform .35s var(--ease)}
.header-contact:hover .icon{transform:translate(2px,-2px)}
.mobile-nav a:last-child{display:flex;align-items:center;gap:18px}
.mobile-nav .icon{width:22px;height:22px}
.button{border-radius:999px;padding:7px 7px 7px 25px;gap:32px;min-height:60px;transition:transform .35s var(--ease),background .3s,box-shadow .35s}
.button-arrow{width:46px;height:46px;border-radius:50%;background:var(--navy);color:var(--lime);overflow:hidden;transition:background .3s,color .3s}
.button-arrow .icon{width:22px;height:22px;stroke-width:1.6;overflow:hidden}
.button:hover{transform:translateY(-2px);box-shadow:0 6px 22px #c7f35e20}
.button:hover .button-arrow{transform:none;background:#143e4b;color:#fff}
.icon-main,.icon-echo{transition:transform .45s var(--ease)}
.icon-echo{transform:translate(-28px,28px)}
.button:hover .icon-main{transform:translate(28px,-28px)}
.button:hover .icon-echo{transform:translate(0,0)}
.text-link>span,.contact-email>span{display:grid;place-items:center}
.text-link .icon,.contact-email .icon{width:20px;height:20px}
.contact-email .icon{color:var(--lime)}
.division-arrow{width:36px;height:36px;display:grid;place-items:center;border:1px solid #ffffff30;border-radius:50%;margin-top:3px;transition:background .35s,border-color .35s,transform .35s var(--ease)}
.division-arrow .icon{width:18px;height:18px;stroke-width:1.5}
.division-button{grid-template-columns:35px 1fr 36px}
.division-button.active .division-arrow{background:var(--lime);color:var(--navy);border-color:var(--lime);transform:rotate(45deg)}
.division-button:hover .division-arrow{border-color:var(--lime)}
.loop-seal>.seal-text{position:absolute;inset:0;width:100%;height:100%;fill:currentColor;stroke:none;animation:rotate 30s linear infinite}
.loop-seal>span{width:54px;height:54px;display:grid;place-items:center}
.loop-seal>span>.icon{position:static;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.4;animation:none;transition:transform .8s var(--ease)}
.loop-seal:hover>span>.icon{transform:rotate(90deg)}
.facts-row .fact-wide strong{display:block}
.fact-wide .icon{width:64px;height:64px;stroke-width:1.4}
.center-arrow{display:block;margin-top:16px}
.center-arrow .icon{width:54px;height:54px;stroke-width:1.4}
.step-controls button,.back-top{display:grid;place-items:center;transition:background .3s,border-color .3s}
.step-controls .icon,.back-top .icon{width:19px;height:19px;stroke-width:1.5}
.back-top:hover{background:var(--lime);border-color:var(--lime)}
.value-symbol .icon{width:40px;height:40px;stroke-width:1.45}
.division-strip i{display:block}
.division-strip .icon{width:19px;height:19px;stroke-width:1.6}
/* Real alpha supplies transparency; no blending against the page. */
.site-header .brand-logo{filter:none;mix-blend-mode:normal;width:174px;height:76px;object-fit:contain;object-position:left center}
.footer-brand .brand-logo{mix-blend-mode:normal;width:155px;height:68px;object-fit:contain;object-position:left center}
@media(max-width:760px){
  .site-header .brand-logo{width:153px;height:67px}
  .button{min-height:57px;padding:6px 6px 6px 21px;gap:28px}
  .button-arrow{width:43px;height:43px}
  .button-arrow .icon{width:21px;height:21px}
  .division-button{grid-template-columns:26px 1fr 32px}
  .division-arrow{width:32px;height:32px;margin-top:1px}
  .loop-seal>span{width:39px;height:39px}
  .fact-wide .icon{width:44px;height:44px}
  .center-arrow .icon{width:43px;height:43px}
  .value-symbol .icon{width:35px;height:35px}
  .division-strip .icon{width:15px;height:15px}
}
@media(prefers-reduced-motion:reduce){.loop-seal>.seal-text{animation:none}.icon-main,.icon-echo{transition:none}.button:hover .icon-main{transform:none}.button:hover .icon-echo{transform:translate(-28px,28px)}}
