/* NLINEA's own controls, matched to observed reference enter/leave choreography. */
.f-site{--btn-ease:cubic-bezier(.16,1,.35,1);--btn-spring:cubic-bezier(.48,1.68,.64,1)}
.f-site .f-button{--btn-face:#171b20;--btn-ink:#e8ebed;--btn-tile:#575f68;--btn-arrow:#e8ebed;--btn-icon:28px;--btn-glyph:19px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:5px 5px 5px 10px;min-height:44px;max-width:100%;border:0;border-radius:0;background:var(--btn-face);color:var(--btn-ink);text-decoration:none;cursor:pointer;font-size:16px;line-height:1.1;transform-origin:center;transition:transform .35s var(--btn-spring),opacity .35s var(--btn-ease)}
.f-site .f-button .f-btn-label-mask{display:block;position:relative;flex:0 1 auto;min-width:0;height:1.1em;overflow:hidden;line-height:1.1;color:inherit;background:none}
.f-site .f-button .f-btn-label{display:block;line-height:1.1;white-space:nowrap;text-shadow:0 1.2em currentColor;transform:translateY(0);transition:transform .65s var(--btn-ease)}
.f-site .f-button>.f-btn-icon{position:relative;display:grid;place-items:center;flex:none;width:var(--btn-icon);height:var(--btn-icon);font-size:inherit;line-height:1;overflow:hidden;background:none;color:var(--btn-arrow);border-radius:0}
.f-btn-icon-bg{position:absolute;inset:0;background:var(--btn-tile);transition:transform .65s var(--btn-ease)}
.f-site .f-button .f-btn-arrow{position:absolute;display:block;width:var(--btn-glyph);height:var(--btn-glyph);transition:transform .65s var(--btn-ease);transform:translate(0,0);overflow:visible}
.f-site .f-button .f-btn-arrow-copy{transform:translate(-100%,100%)}
.f-site .f-button .f-btn-key{font:11px/1 ui-monospace,monospace;text-transform:uppercase;width:auto;height:auto}
.f-site .f-button .f-btn-key-copy{transform:translate(-100%,100%)}
.f-site .f-button:focus-visible{outline:2px solid var(--f-blue);outline-offset:5px}
.f-site .f-button:focus-visible .f-btn-label,.f-site .f-button:active .f-btn-label,.f-site .f-button.is-touch-active .f-btn-label{transform:translateY(-1.2em)}
.f-site .f-button:focus-visible .f-btn-icon-bg,.f-site .f-button:active .f-btn-icon-bg,.f-site .f-button.is-touch-active .f-btn-icon-bg{transform:scale(.8)}
.f-site .f-button:focus-visible .f-btn-arrow,.f-site .f-button:active .f-btn-arrow,.f-site .f-button.is-touch-active .f-btn-arrow{transform:translate(100%,-100%)}
.f-site .f-button:focus-visible .f-btn-arrow-copy,.f-site .f-button:active .f-btn-arrow-copy,.f-site .f-button.is-touch-active .f-btn-arrow-copy{transform:translate(0,0)}
.f-site .f-button:active,.f-site .f-press.is-pressed{transform:scale(.95)}
.f-site .f-header-actions .f-button{--btn-icon:24px;--btn-glyph:16px;font-size:14px;min-height:40px;padding:4px 4px 4px 8px;gap:8px}
.f-site .f-about-top>[data-close-about]{font:14px/1.1 Inter,Arial,sans-serif;min-height:40px;padding:4px 4px 4px 9px;gap:10px;--btn-icon:28px;--btn-tile:#575f68}
.f-site .f-faq-contact .f-button,.f-site .f-contact-header>.f-button{--btn-face:#e8ebed;--btn-ink:#171b20;--btn-tile:#171b20;--btn-arrow:#e8ebed;background:var(--btn-face);color:var(--btn-ink)}
.f-site .f-contact-header>.f-button{--btn-icon:54px;--btn-glyph:38px;font-size:clamp(24px,3.125vw,49px);padding:12px 12px 12px 16px;gap:16px;min-height:78px;line-height:1.1}
.f-site .f-contact-header>.f-button:is(:hover,:focus-visible,:active){background:var(--btn-face);color:var(--btn-ink)}
.f-site .f-contact-header>.f-button>.f-btn-icon{background:none;color:var(--btn-arrow)}
.f-site.lang-zh .f-button .f-btn-label-mask,.f-site.lang-zh .f-button .f-btn-label{height:1.25em;line-height:1.25}
.f-site.lang-zh .f-button .f-btn-label{text-shadow:0 1.4em currentColor}
.f-site.lang-zh .f-button:focus-visible .f-btn-label,.f-site.lang-zh .f-button:active .f-btn-label,.f-site.lang-zh .f-button.is-touch-active .f-btn-label{transform:translateY(-1.4em)}
.f-site .f-press{transition:transform .35s var(--btn-spring),opacity .35s var(--btn-ease);transform-origin:center}
.f-site .f-press:active{transform:scale(.95)}
.f-site .f-record-selector button,.f-site .f-journal-heading button,.f-site .f-service-record-nav button{display:grid;place-items:center;min-width:28px;min-height:32px;color:inherit}
.f-control-arrow{display:block;width:14px;height:14px}
.f-control-arrow.is-back{transform:rotate(180deg)}
.f-site .f-footer nav a{position:relative;overflow:hidden;color:#e8ebed;transition:background .65s var(--btn-ease),color .65s var(--btn-ease)}
.f-site .f-footer nav a>span:first-child{transition:transform .65s var(--btn-ease)}
.f-site .f-footer .f-footer-arrow{opacity:0;transform:translateX(-25px);filter:blur(4px);transition:transform .65s var(--btn-ease),opacity .3s var(--btn-ease),filter .3s var(--btn-ease)}
.f-site .f-footer nav a:focus-visible{background:#e8ebed;color:#171b20}
.f-site .f-footer nav a:focus-visible>span:first-child{transform:translateX(10px)}
.f-site .f-footer nav a:focus-visible .f-footer-arrow{opacity:1;filter:blur(0);transform:translateX(-10px)}
.f-site .f-back-top{display:flex;align-items:center;gap:10px;transition:background .65s var(--btn-ease),color .65s var(--btn-ease)}
.f-site .f-back-top>span{display:block;transition:transform .65s var(--btn-ease)}
.f-site .f-back-top:focus-visible{background:#e8ebed;color:#171b20}
.f-site .f-back-top:focus-visible>span{transform:translateX(10px)}
@media(hover:hover) and (pointer:fine){
 .f-site .f-button:hover{opacity:.9;background:var(--btn-face);color:var(--btn-ink)}
 .f-site .f-button:hover .f-btn-label{transform:translateY(-1.2em)}
 .f-site.lang-zh .f-button:hover .f-btn-label{transform:translateY(-1.4em)}
 .f-site .f-button:hover .f-btn-icon-bg{transform:scale(.8)}
 .f-site .f-button:hover .f-btn-arrow{transform:translate(100%,-100%)}
 .f-site .f-button:hover .f-btn-arrow-copy{transform:translate(0,0)}
 .f-site .f-press:not(.f-button):hover{opacity:.9;color:inherit}
 .f-site .f-footer nav a:hover,.f-site .f-back-top:hover{background:#e8ebed;color:#171b20}
 .f-site .f-footer nav a:hover>span:first-child,.f-site .f-back-top:hover>span{transform:translateX(10px)}
 .f-site .f-footer nav a:hover .f-footer-arrow{opacity:1;filter:blur(0);transform:translateX(-10px)}
}
@media(max-width:650px){
 .f-site .f-header-actions .f-button{--btn-icon:22px;--btn-glyph:15px;font-size:12px;gap:6px;padding:4px 4px 4px 7px;min-height:38px}
 .f-site .f-header-actions .f-button>.f-btn-icon{display:grid}
 .f-site .f-contact-header>.f-button{--btn-icon:37px;--btn-glyph:26px;font-size:24px;padding:8px 8px 8px 12px;gap:12px;min-height:53px}
}
.f-site.large-text .f-button{font-size:1rem;max-width:100%;gap:8px}
.f-site.large-text .f-button .f-btn-label-mask{height:auto;overflow:visible}
.f-site.large-text .f-button .f-btn-label{height:auto;white-space:normal;text-shadow:none;transform:none!important}
.f-site.large-text .f-header-actions .f-button{font-size:.625rem}
.f-site.large-text .f-contact-header>.f-button{--btn-icon:30px;--btn-glyph:22px;font-size:1rem;padding:10px;gap:10px;min-height:55px}
@media(prefers-reduced-motion:reduce){
 .f-site .f-button,.f-site .f-press,.f-site .f-btn-label,.f-site .f-btn-icon-bg,.f-site .f-btn-arrow,.f-site .f-nav-label,.f-site .f-footer nav a,.f-site .f-footer nav a>span,.f-site .f-back-top,.f-site .f-back-top>span{transition:none!important}
 .f-site .f-button .f-btn-label{transform:none!important;text-shadow:none}
 .f-site .f-button .f-btn-arrow{transform:none!important}.f-site .f-button .f-btn-arrow-copy{display:none}
 .f-site .f-button .f-btn-icon-bg,.f-site .f-button:active,.f-site .f-press:active,.f-site .f-press.is-pressed{transform:none!important}
 .f-site .f-footer nav a>span,.f-site .f-back-top>span{transform:none!important;filter:none!important}
}

.f-site .f-header.on-dark .f-button{--btn-face:#e8ebed;--btn-ink:#171b20;--btn-tile:#575f68;--btn-arrow:#e8ebed;background:var(--btn-face);color:var(--btn-ink)}
.f-site .f-header.on-dark .f-button>.f-btn-icon{background:none;color:var(--btn-arrow)}

.f-site .f-button.is-touch-active{opacity:.9}
