/* Directional marks are drawn at one optical size; badges scale around them. */
:root{--icon-ease:cubic-bezier(.22,.68,.24,1)}
.arrow,.image-arrow{--icon-direction:1;display:inline-grid;place-items:center;flex-shrink:0;vertical-align:middle;line-height:0;font-size:0;transform:none;transition:background-color .25s,border-color .25s,color .25s,box-shadow .25s}
.arrow{width:28px;height:28px}
.arrow-glyph{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;transform:scaleX(var(--icon-direction));transition:translate .3s var(--icon-ease);pointer-events:none}
html[dir=rtl] .arrow,html[dir=rtl] .image-arrow{--icon-direction:-1;transform:none}
html[dir=rtl] .arrow-external,html[dir=rtl] .arrow-contact{--icon-direction:1}
.button{max-width:100%}
.button>.arrow{width:32px;height:32px;border:1px solid #ffffff40;border-radius:50%;margin-inline-start:auto}
.button.light>.arrow{border-color:#18201738}
.button>.arrow .arrow-glyph{width:19px;height:19px;stroke-width:1.6}
.under-link>.arrow{width:30px;height:30px;border:1px solid #82917855;border-radius:50%}
.under-link>.arrow .arrow-glyph{width:18px;height:18px}
.hero-links .under-link>.arrow{border-color:#c9d8bf66}
.product-actions a>.arrow{width:32px;height:32px;border-radius:50%;border:1px solid #cbd3c3}
.product-actions a>.arrow .arrow-glyph{width:19px;height:19px}
.image-arrow{width:46px;height:46px;bottom:18px;inset-inline-end:18px;border-radius:50%;background:#fffffff2;color:#202b1c;border:1px solid #c8d1c1;box-shadow:0 3px 12px #1c291012;z-index:2}
.image-arrow>.arrow-glyph{width:23px;height:23px}
.category-rail .arrow,.menu-panel nav .arrow{width:42px;height:42px;border:1px solid #bdc8b3;border-radius:50%;color:#35472c}
.category-rail .arrow-glyph,.menu-panel nav .arrow-glyph{width:21px;height:21px}
.round-link>.arrow{width:56px;height:56px;border-radius:50%;border:1px solid #b8c5ac;background:#ecf0e5}
.round-link>.arrow .arrow-glyph{width:24px;height:24px}
.project-tile figure>span{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;border:1px solid #ffffff6b;background:#f7faefee;color:#23351a;backdrop-filter:blur(8px)}
.project-tile figure>span>.arrow{width:28px;height:28px}
.project-related h3 .arrow{width:36px;height:36px;border-radius:50%;border:1px solid #c7d1bc}
.contact-directory .arrow{width:44px;height:44px;border-radius:50%;border:1px solid #c3cdb9;background:#f3f6ed;align-self:flex-start}
.contact-directory .arrow .arrow-glyph{width:21px;height:21px}
.search-result>.arrow,.finder-choices .arrow{width:36px;height:36px;border-radius:50%;border:1px solid #c7d2bd}
.search-result>.arrow .arrow-glyph,.finder-choices .arrow-glyph{width:19px;height:19px}
.slide-controls button[data-action=next-slide]{display:grid;place-items:center;border:1px solid #d4dfc666;border-radius:50%;min-width:44px;width:44px;height:44px;padding:0;margin-inline-start:8px;color:#edf3e8}
.slide-controls button[data-action=next-slide]>.arrow{width:24px;height:24px}
.slide-controls button[data-action=next-slide] .arrow-glyph{width:21px;height:21px}
.arrow-external{width:22px;height:22px;margin-inline-start:4px}
.arrow-external .arrow-glyph{width:17px;height:17px}
.footer-main a:has(>.arrow-external){display:inline-flex;align-items:center;gap:4px}
.footer-main a>.arrow-external{width:20px;height:20px}
html[dir=rtl] .under-link:hover .arrow,.under-link:hover .arrow{transform:none}
@media(hover:hover) and (pointer:fine){
  a:hover>.arrow:not(.arrow-external):not(.arrow-contact) .arrow-glyph,button:hover>.arrow .arrow-glyph{translate:calc(2px * var(--icon-direction)) 0}
  .button:hover>.arrow{background:#ffffff18;border-color:#ffffff80}
  .button.light:hover>.arrow{background:#e0e9d4;border-color:#75866a}
  .under-link:hover>.arrow,.product-actions a:hover>.arrow,.category-rail>a:hover>.arrow,.menu-panel nav>a:hover>.arrow,.round-link:hover>.arrow,.finder-choices button:hover>.arrow,.search-result:hover>.arrow{background:#e4ecd9;border-color:#8c9e7b;color:#26371c}
  .product-image:hover>.image-arrow{background:#26371d;border-color:#26371d;color:#f5f8ef;box-shadow:0 5px 18px #26371d26}
  .product-image:hover>.image-arrow .arrow-glyph{translate:calc(1px * var(--icon-direction)) -1px}
  .project-tile:hover figure>span{background:#e3edda;border-color:#e3edda}
  .contact-directory>a:hover>.arrow{background:#e4ecd9;border-color:#8c9e7b}
  .slide-controls button[data-action=next-slide]:hover{background:#e4ecd9;color:#1c2a15;border-color:#e4ecd9}
}
@media(max-width:650px){
  .button>.arrow{width:30px;height:30px}
  .image-arrow{width:44px;height:44px;bottom:15px;inset-inline-end:15px}
  .category-rail .arrow,.menu-panel nav .arrow{width:38px;height:38px}
  .round-link>.arrow{width:48px;height:48px}
  .round-link>.arrow .arrow-glyph{width:23px;height:23px}
  .contact-directory .arrow{align-self:center;margin:0}
  .project-tile figure>span{width:44px;height:44px}
  .slide-controls button[data-action=next-slide]{min-width:44px;margin-inline-start:4px;flex:0 0 44px}
}
@media(prefers-reduced-motion:reduce){.arrow,.image-arrow,.arrow-glyph{transition:none!important}.arrow-glyph{translate:none!important}}
