/* Shared home navigation and footer on every language page. Loaded last. */
.site-nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: grid; grid-template-columns: minmax(120px,1fr) auto minmax(120px,1fr); gap: 20px; align-items: center; height: 56px; padding: 0 2rem; background: rgba(9,9,14,.7); backdrop-filter: blur(20px); border-bottom: 1px solid rgba(255,255,255,.05); --bg3: #14141f; --border2: #252538; --text: #e8e8f0; --text2: #9494b0; --text3: #5c5c78; }
.site-nav .nav-logo { justify-self: start; display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 15px; letter-spacing: -.3px; text-decoration: none; color: var(--text); }
.site-nav .nav-logo-icon { width: 28px; height: 28px; background: #00b2eb; border-radius: 7px; display: flex; align-items: center; justify-content: center; }
.site-nav .lang-switch { justify-self: end; display: flex; gap: 2px; align-items: center; background: var(--bg3); border: 1px solid var(--border2); border-radius: 8px; padding: 3px; }
.site-nav .lang-switch a { font-size: 12px; font-weight: 600; letter-spacing: .3px; padding: 3px 9px; border-radius: 6px; text-decoration: none; color: var(--text2); }
.site-nav .lang-switch a.active { background: #00b2eb; color: white; }
.site-nav .section-nav a { margin: 0; }
body.lp-page { padding-top: 56px; }
body:has(> .site-nav) > main { scroll-margin-top: 120px; }
body:not(.lp-page):not(.faq-page):has(> main) { padding-top: 56px; }
footer { padding: 40px 24px; border-top: 1px solid var(--border); text-align: center; }
footer p { font-size: 13px; color: var(--text3); margin: 0; }
footer a { color: var(--text2); text-decoration: none; }
footer a:hover { color: var(--accent); }
footer .site-trust { max-width: 820px; margin: 24px auto 0; color: var(--text2); font-size: 14px; line-height: 1.8; }
.lp-search-intro { color: var(--text2); font-size: 15px; line-height: 1.7; margin-top: 18px; }
.lp-assurance > div { flex-wrap: wrap; }
.shortcut-section { padding: 72px 24px; border-block: 1px solid var(--border); background: var(--bg2); }
.shortcut-inner { width: min(100%,1000px); margin: auto; display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 64px; }
.shortcut-label { color: var(--accent); font-weight: 600; margin-bottom: 16px; }
.shortcut-section h2 { font-size: clamp(28px,3.5vw,40px); line-height: 1.15; letter-spacing: -.035em; margin: 0 0 24px; }
.shortcut-section p { color: var(--text2); font-size: 16px; line-height: 1.7; }
.shortcut-section dl { margin: 24px 0; }
.shortcut-section dl > div { display: grid; grid-template-columns: 90px 1fr; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--border); }
.shortcut-section kbd { color: var(--accent); font: 16px var(--mono); }
.shortcut-section dd { font-size: 16px; color: var(--text); }
.shortcut-section .shortcut-note, .shortcut-section figcaption { font-size: 14px; color: var(--text2); }
.shortcut-section a { display: inline-block; color: var(--accent); margin-top: 20px; }
.shortcut-section img { display: block; width: 100%; max-width: 366px; height: auto; margin: auto; }
.shortcut-section figcaption { max-width: 366px; margin: 20px auto 0; line-height: 1.6; text-align: center; }
/* The full desktop navigation fits above 1100px. */
.mobile-nav-toggle, .mobile-nav-dialog { display: none; }
@media(max-width:1100px) {
 .site-nav { height:56px; padding:0 16px; grid-template-columns:1fr auto auto; gap:16px; }
 .site-nav .nav-logo { grid-column:1; grid-row:1; gap:7px; }
 .site-nav .lang-switch { grid-column:2; grid-row:1; justify-self:end; }
 .site-nav .section-nav { display:none; }
 .mobile-nav-toggle { grid-column:3; grid-row:1; justify-self:end; display:grid; place-content:center; gap:5px; width:44px; height:44px; border:0; border-radius:8px; background:transparent; color:#e8e8f0; cursor:pointer; }
 .mobile-nav-toggle span { display:block; width:22px; height:2px; background:currentColor; border-radius:2px; }
 .mobile-nav-toggle:hover, .mobile-nav-close:hover { background:#252538; }
 .mobile-nav-toggle:focus-visible, .mobile-nav-dialog a:focus-visible, .mobile-nav-close:focus-visible { outline:2px solid #00b2eb; outline-offset:3px; }
 .mobile-nav-dialog[open] { display:flex; flex-direction:column; position:fixed; inset:0 0 0 auto; margin:0; width:min(360px,90vw); max-width:100%; height:100dvh; max-height:100dvh; padding:0 24px 32px; border:0; background:#101019; color:#e8e8f0; overflow-y:auto; transform:translateX(100%); transition:transform .25s ease; }
 .mobile-nav-dialog.is-open { transform:translateX(0); }
 .mobile-nav-dialog::backdrop { background:rgba(0,0,0,.6); }
 .mobile-nav-heading { display:flex; align-items:center; justify-content:space-between; min-height:72px; margin-bottom:16px; font-size:18px; font-weight:700; }
 .mobile-nav-close { width:44px; height:44px; border:0; border-radius:8px; background:transparent; color:inherit; font-size:30px; cursor:pointer; }
 .mobile-nav-links { display:flex; flex-direction:column; }
 .mobile-nav-links a { display:block; padding:16px 0; border-bottom:1px solid #252538; color:#e8e8f0; text-decoration:none; font-size:18px; }
 .mobile-nav-links a:hover { color:#00b2eb; }
 html.mobile-nav-open { overflow:hidden; }
 body.lp-page { padding-top:56px; }
 body:not(.lp-page):not(.faq-page):has(> main) { padding-top:56px; }
}
@media(prefers-reduced-motion:reduce) { .mobile-nav-dialog[open] { transition:none; } }
@media(max-width:760px) { .shortcut-inner { grid-template-columns:1fr; gap:36px; } .shortcut-section { padding:48px 20px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

.precision-section { padding:64px 24px; border-block:1px solid var(--border); }
.precision-inner { max-width:920px; margin:auto; }
.precision-eyebrow { color:var(--accent); font-size:14px; font-weight:600; }
.precision-section h2 { font-size:clamp(28px,4vw,44px); margin:12px 0 24px; }
.precision-section h3 { margin:32px 0 16px; }
.precision-section p { color:var(--text2); line-height:1.75; margin:16px 0; }
.precision-section .precision-eyebrow { color:var(--accent); }
.precision-example { display:flex; flex-direction:column; gap:12px; padding:24px; background:var(--bg2); border:1px solid var(--border); border-radius:16px; }
.precision-example code { font-size:clamp(14px,2.3vw,22px); overflow-wrap:anywhere; }
.precision-example strong { color:var(--accent); }
.precision-table { overflow-x:auto; }
.precision-table table { width:100%; border-collapse:collapse; font-size:14px; text-align:left; }
.precision-table th, .precision-table td { padding:14px 10px; border-bottom:1px solid var(--border); }
.precision-section p code { overflow-wrap:anywhere; }
@media(max-width:600px) { .precision-section { padding:44px 20px; } .precision-table th, .precision-table td { padding:12px 6px; font-size:12px; } }
