/* Public marketing surfaces; desktop workspace styles remain independent. */
@font-face { font-family:Inter; src:url("/static/assets/shared/inter.woff2") format("woff2"); font-style:normal; font-weight:100 900; font-display:swap; }
.landing-page { --landing-bg:#f7f9fc; --landing-surface:#fff; --landing-soft:#eaf0fb; --landing-line:#d9e2f0; --landing-ink:#152447; --landing-muted:#52627d; --landing-accent:#2359cf; margin:0; min-height:100dvh; color:var(--landing-ink); background:var(--landing-bg); font:1rem/1.65 Inter,system-ui,sans-serif; }
html[data-color-mode="dark"] .landing-page { --landing-bg:#101a32; --landing-surface:#162440; --landing-soft:#1e3153; --landing-line:#344767; --landing-ink:#f0f4fc; --landing-muted:#b8c7df; --landing-accent:#9ebeff; }
.landing-page *, .landing-page *::before, .landing-page *::after { box-sizing:border-box; }
.landing-page [hidden] { display:none !important; }
.landing-page a { color:inherit; text-underline-offset:.25em; }
.landing-page button,.landing-page input,.landing-page select,.landing-page textarea { font:inherit; }
.landing-page button,.landing-page a { touch-action:manipulation; }
.landing-page :focus-visible { outline:.18rem solid var(--landing-accent); outline-offset:.25rem; }
.landing-page h1,.landing-page h2,.landing-page h3 { color:var(--landing-ink); line-height:1.16; letter-spacing:-.035em; text-wrap:balance; }
.landing-page h1 { font-size:clamp(2.2rem,4.8vw,4.2rem); margin:.75em 0 .45em; }
.landing-page h2 { font-size:clamp(1.7rem,3vw,2.6rem); margin:0 0 .65em; }
.landing-page h3 { font-size:1.25rem; margin:1em 0 .65em; }
.landing-page p { margin:0 0 1em; color:var(--landing-muted); }
.landing-page .landing-shell { min-height:100dvh; }
.landing-page .landing-header { position:sticky; top:0; z-index:10; background:var(--landing-surface); border-bottom:.0625rem solid var(--landing-line); }
.landing-page .landing-header-inner { width:min(92%,78rem); margin:auto; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; padding-block:1rem; }
.landing-page .landing-brand { display:flex; gap:.55rem; align-items:center; text-decoration:none; font-size:1.25rem; letter-spacing:-.04em; }
.landing-page .landing-brand img { inline-size:1.9em; aspect-ratio:1; object-fit:contain; }
.landing-page .landing-header-actions,.landing-page .landing-nav { display:flex; align-items:center; flex-wrap:wrap; gap:1.2rem; }
.landing-page .landing-nav a { font-size:.88rem; font-weight:600; text-decoration:none; }
.landing-page .landing-nav a:hover,.landing-page .landing-nav a[aria-current] { color:var(--landing-accent); text-decoration:underline; }
.landing-page .compact-language-picker { display:flex; }
.landing-page .compact-language-picker>span { position:absolute; clip-path:inset(50%); inline-size:1em; block-size:1em; overflow:hidden; }
.landing-page .compact-language-picker select { background:var(--landing-surface); color:var(--landing-ink); border:.0625rem solid var(--landing-line); padding:.5em; border-radius:.5rem; }
.landing-page .public-theme-toggle { display:grid; place-items:center; inline-size:2.6rem; aspect-ratio:1; border:.0625rem solid var(--landing-line); border-radius:50%; background:var(--landing-soft); padding:.6rem; cursor:pointer; }
.landing-page .public-theme-toggle img { inline-size:100%; block-size:100%; }
.landing-page .theme-icon-moon,html[data-color-mode="dark"] .landing-page .theme-icon-sun { display:none; }
html[data-color-mode="dark"] .landing-page .theme-icon-moon { display:block; filter:brightness(0) invert(1); }
.landing-page .primary-action,.landing-page .landing-login-link,.landing-page .public-next-action,.landing-page .landing-download-action { display:inline-flex; align-items:center; justify-content:center; padding:.85em 1.5em; border:.0625rem solid transparent; border-radius:2rem; background:#2359cf; color:#fff; font-weight:650; text-decoration:none; cursor:pointer; line-height:1.35; }
.landing-page .landing-login-link { font-size:.85rem; }
.landing-page .flat-action,.landing-page .cookie-actions button { display:inline-flex; justify-content:center; align-items:center; padding:.85em 1.3em; border:.0625rem solid var(--landing-line); border-radius:2rem; background:var(--landing-surface); color:var(--landing-ink); text-decoration:none; font-weight:600; cursor:pointer; line-height:1.35; }
.landing-page button:active,.landing-page .primary-action:active { transform:scale(.98); }
.landing-page .landing-container { width:min(92%,78rem); margin:auto; padding-bottom:5rem; }
.landing-page .landing-hero { padding:clamp(2rem,5vw,5rem) 0 2rem; }
.landing-page .landing-hero-heading { max-width:65rem; margin:0 auto 3rem; text-align:center; }
.landing-page .landing-kicker { color:var(--landing-accent); font-weight:650; font-size:.9rem; }
.landing-page .landing-hero-layout { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:clamp(2rem,5vw,5rem); align-items:center; }
.landing-page .landing-hero-copy>p { font-size:1.12rem; }
.landing-page .landing-hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem; }
.landing-page .landing-product-preview { display:block; overflow:hidden; border:.0625rem solid var(--landing-line); border-radius:1rem; box-shadow:0 1.2rem 3rem #15244718; background:var(--landing-surface); text-decoration:none; }
.landing-page .landing-product-preview>span { display:flex; justify-content:space-between; gap:1rem; padding:.7rem 1rem; font-size:.75rem; }
.landing-page .landing-product-preview em { color:var(--landing-muted); font-style:normal; }
.landing-page .landing-product-preview img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; object-position:top; }
.landing-page .landing-trust-strip { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-around; gap:1.5rem; padding:2rem; margin-top:2rem; border-radius:1rem; background:var(--landing-soft); }
.landing-page .landing-trust-strip span { display:flex; align-items:center; gap:.6rem; font-weight:600; }
.landing-page .landing-trust-strip img { inline-size:2rem; aspect-ratio:1; object-fit:contain; }
.landing-page .landing-ad-slot { display:grid; grid-template-rows:auto 1fr; min-block-size:8rem; margin:2.5rem 0; border-block:.0625rem solid var(--landing-line); color:var(--landing-muted); text-align:center; padding:.5rem; }
.landing-page .landing-ad-slot>span { font-size:.7rem; }
.landing-page .adsbygoogle { display:block; min-block-size:6rem; }
.landing-page .landing-section { padding-top:clamp(2.5rem,5vw,5rem); scroll-margin-top:7rem; }
.landing-page .landing-section-heading { max-width:48rem; margin-bottom:2rem; }
.landing-page .landing-platform-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.landing-page .landing-platform-card { padding:clamp(1.3rem,3vw,2rem); border:.0625rem solid var(--landing-line); border-radius:1rem; background:var(--landing-surface); }
.landing-page .landing-platform-card:first-child { background:var(--landing-soft); }
.landing-page .landing-feature-icon img { inline-size:2.5rem; aspect-ratio:1; object-fit:contain; }
.landing-page .landing-tool-list { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1rem; }
.landing-page .landing-tool-list span { font-size:.8rem; padding:.2rem .7rem; border-radius:1rem; background:var(--landing-soft); }
.landing-page .landing-platform-card>a { font-size:.9rem; font-weight:600; color:var(--landing-accent); }
.landing-page .landing-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; }
.landing-page .landing-steps article { border-top:.15rem solid var(--landing-accent); padding-top:1rem; }
.landing-page .landing-security-section,.landing-page .landing-license-section,.landing-page .contact-section { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(2rem,5vw,4rem); align-items:center; margin-top:5rem; padding:clamp(1.5rem,4vw,3rem); border-radius:1rem; background:var(--landing-soft); }
.landing-page .landing-security-card { padding:1.5rem; background:var(--landing-surface); border-radius:1rem; }
.landing-page .landing-security-card li { margin-block:.6rem; }
.landing-page .landing-license-box { display:grid; gap:1rem; }
.landing-page .landing-license-box strong { display:block; font-size:1.5rem; }
.landing-page .landing-license-box span { color:var(--landing-muted); }
.landing-page .public-hero { padding:clamp(2.5rem,6vw,5rem) 4%; background:var(--landing-soft); }
.landing-page .public-hero>div { width:min(100%,70rem); margin:auto; }
.landing-page .public-hero h1 { max-width:22ch; }
.landing-page .public-hero p { max-width:65ch; }
.landing-page .public-content { width:min(92%,70rem); margin:auto; padding-bottom:4rem; }
.landing-page .public-section-label { margin:3rem 0 1.5rem; color:var(--landing-accent); font-weight:650; }
.landing-page .public-card-grid,.landing-page .download-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.landing-page .public-info-card,.landing-page .download-card { padding:2rem; border:.0625rem solid var(--landing-line); border-radius:1rem; background:var(--landing-surface); }
.landing-page .public-info-card h2,.landing-page .download-card h2 { font-size:1.35rem; }
.landing-page .public-info-card>span,.landing-page .download-os-mark { display:none; }
.landing-page .public-next-action { margin-top:2rem; }
.landing-page .download-button { width:100%; padding:.85em; border:0; border-radius:2rem; margin-top:1rem; }
.landing-page button:disabled { color:var(--landing-muted); background:var(--landing-soft); cursor:not-allowed; }
.landing-page .download-security { margin-top:2rem; }
.landing-page .legal-content { max-width:52rem; }
.landing-page .legal-content .public-card-grid { grid-template-columns:1fr; gap:0; }
.landing-page .legal-content .public-info-card { padding:1.5rem 0; border:0; border-bottom:.0625rem solid var(--landing-line); border-radius:0; background:transparent; }
.landing-page .landing-footer { border-top:.0625rem solid var(--landing-line); padding:3rem 4%; background:var(--landing-surface); }
.landing-page .footer-inner { width:min(100%,78rem); margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.landing-page .footer-inner nav { display:flex; align-content:start; flex-wrap:wrap; gap:.75rem 1.5rem; }
.landing-page .footer-inner p,.landing-page .footer-inner a,.landing-page .footer-inner button { font-size:.85rem; overflow-wrap:anywhere; }
.landing-page .footer-inner button { padding:0; border:0; color:var(--landing-accent); background:none; text-decoration:underline; cursor:pointer; }
.landing-page .cookie-panel { position:fixed; z-index:20; inset:auto 1rem 1rem auto; width:min(36rem,calc(100% - 2rem)); max-block-size:80dvh; overflow:auto; padding:1.5rem; border:.0625rem solid var(--landing-line); border-radius:1rem; color:var(--landing-ink); background:var(--landing-surface); box-shadow:0 .5rem 3rem #15244730; }
.landing-page .cookie-panel h2 { font-size:1.2rem; }
.landing-page .cookie-panel p,.landing-page .cookie-panel label { font-size:.85rem; }
.landing-page .cookie-actions { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1rem; }
.landing-page .cookie-actions button { flex:1 1 auto; font-size:.85rem; }
.landing-page .consent-check { display:flex; gap:.75rem; align-items:flex-start; margin-block:1rem; }
.landing-page input[type="checkbox"] { inline-size:1.15rem; block-size:1.15rem; flex-shrink:0; margin-top:.25em; accent-color:#2359cf; }
.landing-page .contact-form { display:grid; gap:1rem; }
.landing-page .contact-form input:not([type="checkbox"]),.landing-page .contact-form textarea { display:block; width:100%; padding:.8rem; border:.0625rem solid var(--landing-line); border-radius:.5rem; background:var(--landing-surface); color:var(--landing-ink); }
.landing-page .contact-form textarea { min-block-size:7em; resize:vertical; }
.landing-page .contact-form label { font-size:.9rem; }
.landing-page .form-status { font-size:.85rem; }
.landing-page .faq { max-width:55rem; }
.landing-page .faq details { padding:1.25rem 0; border-bottom:.0625rem solid var(--landing-line); }
.landing-page .faq summary { cursor:pointer; font-weight:650; }
.landing-page .faq details p { margin:1rem 0 0; }
@media (max-width:65rem) { .landing-page .landing-nav { order:2; width:100%; justify-content:center; gap:1.2rem; } }
@media (max-width:45rem) { .landing-page .landing-hero-layout,.landing-page .landing-platform-grid,.landing-page .landing-steps,.landing-page .landing-security-section,.landing-page .landing-license-section,.landing-page .contact-section,.landing-page .public-card-grid,.landing-page .download-grid,.landing-page .footer-inner { grid-template-columns:1fr; } .landing-page .landing-hero-heading { text-align:left; margin-bottom:1.5rem; } .landing-page .landing-header-actions { margin-left:auto; gap:.5rem; } .landing-page .landing-login-link { display:none; } .landing-page .landing-nav { justify-content:space-between; gap:.65rem; } .landing-page .landing-nav a { font-size:.8rem; } .landing-page .landing-security-section,.landing-page .landing-license-section,.landing-page .contact-section { margin-top:3rem; } .landing-page .landing-trust-strip { padding:1rem; justify-content:flex-start; } }
.landing-page .document-layout { display:grid; grid-template-columns:minmax(12rem,1fr) minmax(0,3fr); gap:clamp(2rem,5vw,5rem); padding-top:3rem; }
.landing-page .document-nav nav { display:grid; gap:.7rem; margin-bottom:2rem; font-size:.85rem; }
.landing-page .document-nav a { text-decoration:none; color:var(--landing-muted); overflow-wrap:anywhere; }
.landing-page .document-nav a:hover,.landing-page .document-nav a[aria-current] { color:var(--landing-accent); text-decoration:underline; }
.landing-page .document-body { min-inline-size:0; max-inline-size:70ch; }
.landing-page .document-identity { display:grid; gap:.2rem; margin-bottom:2rem; padding:1.25rem; border-left:.2rem solid var(--landing-accent); background:var(--landing-soft); overflow-wrap:anywhere; font-size:.9rem; }
.landing-page .document-section { padding:1.5rem 0; border-bottom:.0625rem solid var(--landing-line); scroll-margin-top:10rem; }
.landing-page .document-section h2 { font-size:1.35rem; }
.landing-page .document-section p { line-height:1.85; white-space:pre-line; }
.landing-page .document-version { font-size:.85rem; }
.landing-page .document-end { padding-top:2rem; font-size:.9rem; overflow-wrap:anywhere; }
@media (max-width:45rem) { .landing-page .document-layout { grid-template-columns:1fr; gap:1rem; } .landing-page .document-nav nav { display:flex; flex-wrap:wrap; gap:.7rem 1rem; } .landing-page .document-nav strong { flex-basis:100%; } }
@media (prefers-reduced-motion:reduce) { .landing-page * { scroll-behavior:auto !important; transition:none !important; } }
