:root {
  --scrollbar-thumb:#ee7257;
  --scrollbar-track:#f3f2eb;
  --navigation-bg:#f3f2eb;
  --navigation-text:#24211f;
  scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);
  scrollbar-width:thin;
}
html[data-page="about"] { --scrollbar-thumb:#9675d9; }
html[data-page="services"] { --scrollbar-thumb:#8566ba; }
html[data-page="contact"] { --scrollbar-thumb:#8d68ce; }
html[data-page="privacy"] { --scrollbar-thumb:#728168; }
html[data-page="finapp"] { --scrollbar-thumb:#8cc0ff; --scrollbar-track:#101522; --navigation-bg:#101522; --navigation-text:#e9eef8; }
html::-webkit-scrollbar { width:9px; height:9px; }
html::-webkit-scrollbar-track { background:var(--scrollbar-track); }
html::-webkit-scrollbar-thumb { background:var(--scrollbar-thumb); border:2px solid var(--scrollbar-track); border-radius:20px; }
html::-webkit-scrollbar-thumb:hover { background:var(--scrollbar-thumb); border-width:1px; }
.site-icon { display:inline-block; width:1em; height:1em; vertical-align:-.12em; flex-shrink:0; overflow:visible; }
.button [data-submit-label] { font-size:inherit; }
.site-ending>.site-footer { padding-bottom:calc(80px + env(safe-area-inset-bottom)); }
.mobile-language-control { display:none; }
.back-to-top {
  position:fixed; right:max(24px,env(safe-area-inset-right)); bottom:calc(24px + env(safe-area-inset-bottom));
  z-index:30; display:inline-flex; align-items:center; gap:8px; min-height:44px;
  padding:10px 16px; border:1px solid var(--scrollbar-thumb); border-radius:99px;
  background:var(--navigation-bg); color:var(--navigation-text); font-size:13px;
  text-decoration:none; box-shadow:0 3px 16px #0002;
}
.back-to-top .site-icon { width:18px; height:18px; }
.back-to-top:hover { background:var(--scrollbar-thumb); color:#101522; }
.back-to-top:focus-visible { outline:2px solid var(--scrollbar-thumb); outline-offset:4px; }
@media(max-width:900px) {
  .site-header {
    position:sticky; top:0; z-index:40; height:auto; min-height:76px; box-sizing:border-box;
    padding:calc(10px + env(safe-area-inset-top)) max(5%,env(safe-area-inset-right)) 10px max(5%,env(safe-area-inset-left));
    background:var(--navigation-bg);
  }
  .home .site-header { background:#ff7557; }
  .finapp .site-header { background:#101522; }
  .site-header .header-right { gap:10px; }
  .site-header .brand img { display:block; width:29px; height:29px; }
  .site-header .menu-toggle { min-height:44px; min-width:82px; justify-content:center; padding:10px 15px; }
  .site-header .language-switch a { min-width:44px; min-height:44px; }
  .site-header .language-switch { height:auto; }
  .site-header .mobile-menu {
    top:100%; max-height:calc(100dvh - var(--site-header-height,76px)); overflow-y:auto;
    overscroll-behavior:contain; background:var(--navigation-bg); color:var(--navigation-text);
    border-bottom:1px solid #8885; box-shadow:0 12px 22px #0001;
    padding:20px max(5%,env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(5%,env(safe-area-inset-left));
  }
  .site-header .mobile-menu>a { display:flex; align-items:center; min-height:44px; }
  .back-to-top { right:max(16px,env(safe-area-inset-right)); bottom:calc(16px + env(safe-area-inset-bottom)); }
}
@media(max-width:480px) {
  .header-right>.language-control { display:none; }
  .site-header .mobile-language-control { display:block; align-self:flex-start; padding-top:16px; border-top:1px solid #8885; width:100%; }
  .mobile-language-control .language-switch { width:fit-content; }
  .site-header .brand>span { font-size:25px; }
}
@media(prefers-reduced-motion:reduce) {
  .back-to-top { transition:none; }
}
