:root {
  --page-title: clamp(2.5rem, 4.3vw, 4rem);
  --page-section-title: clamp(1.75rem, 2.5vw, 2.25rem);
  --page-top: 164px;
  --body-size: 16px;
  --radius-control: 4px;
  --radius-button: 999px;
  --radius-panel: 8px;
  --bg: #141618;
  --bg-2: #191c1f;
  --ink: #e5e7e8;
  --ink-soft: #cbd0d4;
  --muted: #a9adb2;
  --dim: #969da3;
  --panel: #1c1f22;
  --panel-strong: #24282c;
  --core: #191c1f;
  --core-2: #1c1f22;
  --line: rgba(235,238,240,.13);
  --line-strong: rgba(235,238,240,.28);
  --accent: #e8eaed;
  --shadow: 0 32px 120px rgba(0, 0, 0, 0.34);
  --soft-shadow: 0 20px 80px rgba(0, 0, 0, 0.22);
  --motion: cubic-bezier(0.32, 0.72, 0, 1);
  --section-x: clamp(24px,5.55vw,88px);
  --section-w: 1280px;
  --nav-z: 20;
  --overlay-z: 30;
  --font-ui: "Geist", "Noto Sans SC", sans-serif;
  --font-brand: "Quantify RM", "Geist", "Noto Sans SC", sans-serif;
  --section-space: clamp(88px,8vw,128px);
  --content-space: 48px;
  --title-large: clamp(2.5rem,4.3vw,4rem);
  --title-small: clamp(2.3rem,3.7vw,3.5rem);
}

@font-face {
  font-family: "Quantify RM";
    src: url("fonts/Quantify-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Service pages share this compact brand shell; homepage layout remains independent. */
.brand-page {margin:0; min-width:320px; background:var(--bg); color:var(--ink); font:16px/1.65 var(--font-ui); -webkit-font-smoothing:antialiased; color-scheme:dark}
.brand-page * {box-sizing:border-box}
.brand-page a {color:inherit;text-decoration:none}
:where(.brand-page) button,:where(.brand-page) input,:where(.brand-page) select {font:inherit}
.brand-page :focus-visible {outline:2px solid var(--accent);outline-offset:4px}
.brand-page button {cursor:pointer}
.brand-page button:disabled {opacity:.4;cursor:not-allowed}
.brand-header {display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;max-width:var(--section-w);margin:24px auto 0;width:calc(100% - var(--section-x)*2);min-height:48px;position:relative;z-index:20}
.brand-logo {display:flex;align-items:center;width:142px}
.brand-logo img,.brand-logo svg {display:block;width:100%;height:auto}
.brand-nav {display:flex;gap:6px;padding:4px 10px;border-radius:var(--radius-button);background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line)}
.brand-nav a {padding:10px 17px;font-size:12px;border-radius:var(--radius-button);color:var(--muted);white-space:nowrap}
.brand-nav a:hover {background:var(--panel-strong);color:var(--ink)}
.brand-actions {display:flex;gap:8px;align-items:center;justify-self:end}
.brand-button {display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;min-height:48px;border:1px solid var(--line);border-radius:var(--radius-button);background:var(--panel);color:var(--ink);font-size:13px;line-height:1.3;text-decoration:none;transition:background .2s,border-color .2s}
.brand-button:hover {background:var(--panel-strong);border-color:var(--line-strong)}
.brand-button.primary {background:var(--accent);color:var(--bg);border-color:transparent}
.brand-button.primary:hover {background:#fff}
.brand-language {border:1px solid var(--line);border-radius:var(--radius-button);min-height:38px;min-width:56px;background:var(--bg-2);color:var(--ink);padding:8px 14px;font-size:12px}
.brand-menu {display:none;border:1px solid var(--line);border-radius:50%;width:44px;height:44px;background:var(--bg-2);color:var(--ink);font-size:20px}
.brand-footer {max-width:var(--section-w);width:calc(100% - var(--section-x)*2);margin:64px auto 0;padding:32px 0 48px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:24px;color:var(--muted);font-size:12px}
.brand-footer-links {display:flex;flex-wrap:wrap;gap:10px}
.brand-kicker {font-size:11px;letter-spacing:.15em;color:var(--muted);text-transform:uppercase}
@media(max-width:1000px){.brand-header{grid-template-columns:1fr auto}.brand-menu{display:block}.brand-nav{display:none;position:absolute;top:64px;right:0;left:0;padding:16px;background:var(--panel);border-radius:var(--radius-panel);flex-wrap:wrap;box-shadow:0 20px 40px #0008}.brand-nav.is-open{display:flex}.brand-nav a{font-size:15px;min-height:44px}.brand-actions{grid-column:2;grid-row:1}}
@media(max-width:520px){.brand-header{margin-top:16px;gap:12px}.brand-logo{width:118px}.brand-footer{align-items:flex-start;flex-direction:column}.brand-footer-links{width:100%}.brand-button{padding:12px 18px}}
@media(prefers-reduced-motion:reduce){.brand-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
