/* V81: equal geometry, different action-color roles. All candidates remain local. */
html.um-v99-document {
 --action-surface:#9f1f45; --action-hover:#b12a52; --action-text:#fff; --action-border:#9f1f45;
 --recruit-action:#e8c688; --recruit-action-hover:#f0d5a7; --recruit-action-text:#9f1f45;
 --closing-paper:#f7f4ee; --action-ease:cubic-bezier(.22,.61,.36,1); --action-sheen:#ffffff2b;
}
html.um-v99-document[data-action=b] {
 --action-surface:#dea850; --action-hover:#e9b965; --action-text:#160f10; --action-border:#976728;
 --recruit-action:#dea850; --recruit-action-hover:#e9b965; --recruit-action-text:#160f10;
}
html.um-v99-document[data-action=c] {
 --action-surface:#086f72; --action-hover:#087c7e; --action-text:#fff; --action-border:#086f72;
 --recruit-action:#94d3cf; --recruit-action-hover:#afe0dc; --recruit-action-text:#160f10; --action-sheen:#ffffff0d;
}
:where(body.um-v99-top) .site-header .header-contact,:where(body.um-v99-top) .inquiry-link,:where(body.um-v99-top) .business-contact-action {
 background:var(--action-surface); color:var(--action-text); border:1px solid var(--action-border); border-radius:3px;
 transition:background-color 160ms ease,border-color 160ms ease;
}
:where(body.um-v99-top) .site-header .header-contact:is(:hover,:focus-visible),:where(body.um-v99-top) .inquiry-link:is(:hover,:focus-visible),:where(body.um-v99-top) .business-contact-action:is(:hover,:focus-visible) {
 background:var(--action-hover); color:var(--action-text);
}
:where(body.um-v99-top) .business-contact-action {
 width:min(100%,420px); max-width:420px; min-height:78px; margin-top:40px; padding:18px 22px 18px 28px;
 gap:28px; font-size:16px; line-height:1.8;
}
:where(body.um-v99-top) .inquiry-link { width:min(100%,420px); max-width:420px; min-height:78px; padding:18px 22px 18px 28px; }
:where(body.um-v99-top) #recruit .a5-action { display:flex; justify-content:flex-end; }
:where(body.um-v99-top) #recruit .a5-action .ts-button {
 max-width:420px; min-height:78px; padding:18px 22px 18px 28px; border:1px solid var(--recruit-action); border-radius:3px;
 background:var(--recruit-action); color:var(--recruit-action-text); transition:background-color 160ms ease,border-color 160ms ease;
}
:where(body.um-v99-top) #recruit .a5-action .ts-button:is(:hover,:focus-visible) {
 background:var(--recruit-action-hover); border-color:var(--recruit-action-hover); color:var(--recruit-action-text);
}
/* A stationary endpoint divider; only the arrow moves. */
:where(body.um-v99-top) :is(.inquiry-link,.business-contact-action,#recruit .ts-button)::after {
 content:""; position:absolute; top:calc(50% - 15px); right:75px; width:1px; height:30px; background:currentColor; opacity:.28; pointer-events:none;
}
:where(body.um-v99-top) :is(.inquiry-link,.business-contact-action,#recruit .ts-button)>span:last-child {
 display:grid; place-items:center; flex:0 0 32px; width:32px; height:36px; font:400 29px/1 Arial,sans-serif;
 transition:transform 240ms var(--action-ease);
}
:where(body.um-v99-top) :is(.header-contact,.inquiry-link,.business-contact-action,#recruit .ts-button) { position:relative; isolation:isolate; overflow:hidden; }
/* One interaction-only light pass. No automatic looping shine. */
:where(body.um-v99-top) :is(.header-contact,.inquiry-link,.business-contact-action,#recruit .ts-button)::before {
 content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
 background:linear-gradient(108deg,transparent 35%,var(--action-sheen) 49%,transparent 64%); transform:translateX(-130%);
}
:where(body.um-v99-top) :is(.header-contact,.inquiry-link,.business-contact-action,#recruit .ts-button):focus-visible::before {
 animation:action-light-pass 440ms var(--action-ease) both;
}
@media(hover:hover) and (pointer:fine) {
 :where(body.um-v99-top) :is(.header-contact,.inquiry-link,.business-contact-action,#recruit .ts-button):hover::before { animation:action-light-pass 440ms var(--action-ease) both; }
}
@keyframes action-light-pass { from { transform:translateX(-130%); } to { transform:translateX(130%); } }
:where(body.um-v99-top) :is(.inquiry-link,.business-contact-action,#recruit .ts-button):is(:hover,:focus-visible)>span:last-child { transform:translate(3px,-3px); }
/* Service-directory navigation is lighter than a direct inquiry. */
:where(body.um-v99-top) .business-v63[data-business=c] .v63-c-gallery-foot :is(.solid-link,.v63-all a) {
 min-height:54px; min-width:220px; padding:10px 0; background:transparent; color:inherit; border:0; border-bottom:1px solid currentColor;
}
:where(body.um-v99-top) .business-v63[data-business=c] .v63-c-gallery-foot :is(.solid-link,.v63-all a):is(:hover,:focus-visible) { background:transparent; color:inherit; }
:where(body.um-v99-top) .v63-c-gallery-foot a>span:last-child { transition:transform 240ms var(--action-ease); }
:where(body.um-v99-top) .v63-c-gallery-foot a:is(:hover,:focus-visible)>span:last-child { transform:translateX(4px); }
:where(body.um-v99-top) :is(.text-link,.ts-link,.news-listing-link) { position:relative; transition:color 180ms ease; }
:where(body.um-v99-top) :is(.text-link,.ts-link,.news-listing-link)::after {
 content:""; position:absolute; inset:auto 0 -1px; height:1px; background:currentColor; transform:scaleX(0);
 transform-origin:left center; transition:transform 240ms var(--action-ease);
}
:where(body.um-v99-top) :is(.text-link,.ts-link,.news-listing-link):is(:hover,:focus-visible)::after { transform:scaleX(1); }
:where(body.um-v99-top) .ta-company .ts-link:is(:hover,:focus-visible) { color:var(--wine); }
:where(body.um-v99-top) :is(.text-link,.ts-link,.news-listing-link,.hero-scroll)>span:last-child { transition:transform 240ms var(--action-ease); }
:where(body.um-v99-top) .ts-link:is(:hover,:focus-visible)>span:last-child,:where(body.um-v99-top) .text-link:is(:hover,:focus-visible)>span:last-child { transform:translate(3px,-3px); }
:where(body.um-v99-top) #mission .text-link:is(:hover,:focus-visible)>span:last-child { transform:translate(3px,3px); }
:where(body.um-v99-top) .hero-scroll:is(:hover,:focus-visible)>span:last-child { transform:translateY(4px); }
:where(body.um-v99-top) :is(.header-contact,.inquiry-link,.business-contact-action):focus-visible { outline:2px solid var(--action-border); outline-offset:5px; }
:where(body.um-v99-top) #recruit .ts-button:focus-visible { outline:2px solid white; outline-offset:6px; }
/* Artwork and footer share one paper ground. Original logo colors remain intact. */
:where(body.um-v99-top) .business-contact { background-color:var(--closing-paper); }
:where(body.um-v99-top) .business-contact::after {
 background:linear-gradient(to top,var(--closing-paper),transparent 72px),
 radial-gradient(ellipse 88% 62% at 46% 39%,rgba(255,255,255,.94) 0%,rgba(255,255,255,.83) 44%,rgba(255,255,255,.3) 78%,rgba(255,255,255,0) 100%);
}
:where(body.um-v99-top) .site-footer { background:var(--closing-paper); color:var(--ink); padding-block:0 60px; }
:where(body.um-v99-top) .footer-inner { padding-top:44px; border-top:1px solid #d6cdc4; }
:where(body.um-v99-top) .footer-logo { position:relative; display:block; width:220px; }
:where(body.um-v99-top) .footer-logo img { width:100%; }
:where(body.um-v99-top) .footer-logo::after { content:none; }
:where(body.um-v99-top) .footer-inner nav a { color:var(--ink); border-bottom-color:transparent; }
:where(body.um-v99-top) .footer-inner nav a:is(:hover,:focus-visible) { color:var(--wine); border-bottom-color:var(--wine); }
:where(body.um-v99-top) .footer-inner address { color:#51484b; }
:where(body.um-v99-top) .footer-inner>small { color:#64585c; }
:where(body.um-v99-top) .site-footer :focus-visible { outline-color:var(--wine); }
@media(max-width:800px) { :where(body.um-v99-top) #recruit .a5-action { justify-content:flex-start; } }
@media(max-width:600px) {
 :where(body.um-v99-top) .business-contact-action { min-height:72px; margin-top:32px; padding:17px 20px 17px 22px; font-size:14px; gap:24px; }
 :where(body.um-v99-top) .inquiry-link { min-height:72px; padding:17px 20px 17px 22px; }
 :where(body.um-v99-top) #recruit .a5-action .ts-button { min-height:72px; padding:17px 20px 17px 22px; }
 :where(body.um-v99-top) :is(.inquiry-link,.business-contact-action,#recruit .ts-button)::after { right:67px; }
 :where(body.um-v99-top) .business-contact::after {
  background:linear-gradient(to top,var(--closing-paper),transparent 56px),
  radial-gradient(ellipse 110% 58% at 46% 40%,rgba(255,255,255,.94) 0%,rgba(255,255,255,.85) 42%,rgba(255,255,255,.25) 82%,rgba(255,255,255,0) 100%);
 }
 :where(body.um-v99-top) .site-footer { padding-block:0 64px; }
 :where(body.um-v99-top) .footer-inner { padding-top:32px; }
 :where(body.um-v99-top) .footer-logo { width:200px; }
}
@media(prefers-reduced-motion:reduce) {
 :where(body.um-v99-top) :is(.header-contact,.inquiry-link,.business-contact-action,#recruit .ts-button,.v63-c-gallery-foot a,.text-link,.ts-link,.news-listing-link,.hero-scroll),:where(body.um-v99-top) :is(.header-contact,.inquiry-link,.business-contact-action,#recruit .ts-button,.v63-c-gallery-foot a,.text-link,.ts-link,.news-listing-link,.hero-scroll)>span,:where(body.um-v99-top) :is(.header-contact,.inquiry-link,.business-contact-action,#recruit .ts-button)::before,:where(body.um-v99-top) :is(.text-link,.ts-link,.news-listing-link)::after { animation:none!important; transition:none!important; }
 :where(body.um-v99-top) :is(.inquiry-link,.business-contact-action,#recruit .ts-button,.v63-c-gallery-foot a,.text-link,.ts-link,.news-listing-link,.hero-scroll):is(:hover,:focus-visible)>span:last-child { transform:none!important; }
}
html.um-v99-document[data-motion=paused] :is(.header-contact,.inquiry-link,.business-contact-action,#recruit .ts-button,.v63-c-gallery-foot a,.text-link,.ts-link,.news-listing-link,.hero-scroll),html.um-v99-document[data-motion=paused] :is(.header-contact,.inquiry-link,.business-contact-action,#recruit .ts-button,.v63-c-gallery-foot a,.text-link,.ts-link,.news-listing-link,.hero-scroll)>span,html.um-v99-document[data-motion=paused] :is(.header-contact,.inquiry-link,.business-contact-action,#recruit .ts-button)::before,html.um-v99-document[data-motion=paused] :is(.text-link,.ts-link,.news-listing-link)::after { animation:none!important; transition:none!important; }
html.um-v99-document[data-motion=paused] :is(.inquiry-link,.business-contact-action,#recruit .ts-button,.v63-c-gallery-foot a,.text-link,.ts-link,.news-listing-link,.hero-scroll):is(:hover,:focus-visible)>span:last-child { transform:none!important; }
