/* Public marketing surfaces; desktop workspace styles remain independent. */
.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 system-ui,-apple-system,"Segoe 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(94%,108rem); margin:auto; display:flex; align-items:center; justify-content:space-between; flex-wrap:nowrap; 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:nowrap; gap:1.2rem; }
.landing-page .landing-header-actions { flex:none; gap:.7rem; white-space:nowrap; }
.landing-page .landing-nav { min-width:0; flex:1; justify-content:center; white-space:nowrap; }
.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 { position:relative; display:inline-flex; align-items:center; gap:0; inline-size:min(100%,7rem); height:auto; padding:0; }
.landing-page .compact-language-picker>.language-menu-label { position:absolute; clip-path:inset(50%); inline-size:1em; block-size:1em; overflow:hidden; }
.landing-page .compact-language-picker .language-menu-toggle { display:inline-flex; align-items:center; justify-content:space-between; gap:.35rem; width:100%; min-width:0; min-height:2.1rem; padding:0 .5rem; border:.0625rem solid var(--landing-line); border-radius:.55rem; color:var(--landing-ink); background:var(--landing-surface); font-size:.72rem; font-weight:700; white-space:nowrap; }
.landing-page .compact-language-picker .language-menu-glyph { display:inline-grid; place-items:center; flex:none; inline-size:1.15rem; block-size:1.15rem; border-radius:.3rem; background:var(--landing-soft); font-size:.7rem; font-weight:800; }
.landing-page .compact-language-picker .language-menu-options { position:absolute; top:calc(100% + .35rem); right:0; z-index:80; display:grid; inline-size:100%; min-width:0; padding:.3rem; border:.0625rem solid var(--landing-line); border-radius:.65rem; background:var(--landing-surface); color:var(--landing-ink); box-shadow:0 .8rem 1.8rem #0003; }
.landing-page .compact-language-picker .language-menu-options button { display:grid; grid-template-columns:1.2rem minmax(0,1fr); align-items:center; gap:.35rem; width:100%; padding:.55rem .45rem; border:0; border-radius:.4rem; background:transparent; color:var(--landing-ink); text-align:center; cursor:pointer; }
.landing-page .compact-language-picker .language-menu-options button:hover { background:var(--landing-soft); }
.landing-page .compact-language-picker .language-menu-options strong { overflow:hidden; font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }
.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(94%,108rem); margin:auto; padding-bottom:5rem; }
.landing-page .landing-hero { padding:clamp(2rem,5vw,5rem) 0 2rem; }
.landing-page .landing-hero-layout { display:grid; grid-template-columns:minmax(18rem,.8fr) minmax(0,1.2fr); gap:clamp(2rem,5vw,5rem); align-items:center; }
.landing-page .landing-hero-copy h1 { max-width:13ch; margin:0 0 .55em; font-size:clamp(2.25rem,4.1vw,4rem); }
.landing-page .landing-hero-copy>p { font-size:1.12rem; }
.landing-page .landing-hero-points { padding-inline-start:1.2em; color:var(--landing-muted); }
.landing-page .landing-hero-points li { padding-inline-start:.25em; margin-block:.55em; }
.landing-page .landing-hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem; }
.landing-page .landing-product-preview { position:relative; display:block; min-width:0; max-width:100%; overflow:hidden; border:.0625rem solid var(--landing-line); border-radius:1rem; box-shadow:0 1.2rem 3rem #15244718; background:var(--landing-surface); }
.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-preview-viewport { position:relative; min-width:0; overflow:hidden; aspect-ratio:16/10; background:var(--landing-bg); }
.landing-page .landing-preview-viewport iframe { display:block; width:calc(100% / .76); height:calc(100% / .76); border:0; background:var(--landing-bg); pointer-events:none; transform:scale(.76); transform-origin:top left; }
.landing-page .landing-preview-link { position:absolute; z-index:1; inset:0; }
.landing-page .landing-value-note { display:flex; align-items:center; gap:1rem 2rem; padding:clamp(1rem,2vw,1.75rem); border-inline-start:.25rem solid var(--landing-accent); border-radius:.6rem; background:var(--landing-soft); }
.landing-page .landing-value-note strong { font-size:clamp(1.1rem,2vw,1.4rem); white-space:nowrap; }
.landing-page .landing-value-note p { margin:0; }
.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:68rem; margin-bottom:2rem; }
.landing-page .platform-marquee { overflow:hidden; margin:2rem 0; mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
.landing-page .platform-track,.landing-page .platform-group { display:flex; width:max-content; flex:none; align-items:center; }
.landing-page .platform-track { animation:platform-drift 32s linear infinite; }
.landing-page .platform-group { min-width:100vw; justify-content:center; gap:clamp(1.5rem,4vw,4rem); padding-inline:clamp(1.5rem,4vw,4rem); box-sizing:border-box; }
.landing-page .platform-mark { display:grid; justify-items:center; gap:.45rem; width:clamp(6.5rem,9vw,9rem); font-size:.9rem; font-weight:600; }
.landing-page .platform-mark img { inline-size:clamp(2.5rem,4vw,3.5rem); block-size:clamp(2.5rem,4vw,3.5rem); object-fit:contain; }
@keyframes platform-drift { to { transform:translateX(-50%); } }
.landing-page .landing-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1.5rem,4vw,3rem); }
.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 { 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 .landing-highlight { color:var(--landing-accent); }
.landing-page .public-hero { padding:clamp(2.5rem,6vw,5rem) 4%; background:var(--landing-soft); text-align:center; }
.landing-page .public-hero>div { display:grid; justify-items:center; width:min(100%,70rem); margin:auto; }
.landing-page .public-hero h1 { max-width:22ch; margin:0 auto .45em; }
.landing-page .public-hero p { max-width:65ch; margin-inline:auto; }
.landing-page .download-hero>div { width:min(100%,90rem); text-align:center; }
.landing-page .download-hero h1 { max-width:none; margin-inline:auto; font-size:clamp(1.65rem,3.1vw,3rem); white-space:nowrap; }
.landing-page .download-hero p { margin-inline:auto; }
.landing-page .public-content { width:min(94%,100rem); margin:auto; padding:clamp(2rem,4vw,3.5rem) 0 4rem; }
.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 { display:none; }
.landing-page .download-os-mark { display:block; width:clamp(3.5rem,6vw,5rem); height:clamp(3.5rem,6vw,5rem); margin-bottom:1rem; object-fit:contain; }
html[data-color-mode="dark"] .landing-page .download-os-mark { filter:brightness(0) invert(1); }
.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:clamp(1.25rem,2.2vw,2.25rem) 3%; background:var(--landing-surface); }
.landing-page .footer-inner { width:min(100%,108rem); margin:auto; display:grid; grid-template-columns:minmax(18rem,1.1fr) minmax(12rem,.65fr) minmax(12rem,.8fr); gap:clamp(1rem,2vw,2rem); align-items:start; }
.landing-page .footer-links { display:grid; justify-items:center; gap:.55rem; text-align:center; }
.landing-page .footer-contact-column { min-width:0; }
.landing-page .footer-brand { display:grid; justify-items:end; text-align:end; overflow-wrap:anywhere; }
.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:30; inset:auto 0 0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.75rem 2rem; width:100%; max-block-size:75dvh; overflow:auto; padding:clamp(1rem,2vw,1.6rem) max(3%,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(3%,env(safe-area-inset-left)); border:0; border-top:.0625rem solid var(--landing-line); border-radius:0; color:var(--landing-ink); background:var(--landing-surface); box-shadow:0 -.5rem 2rem #15244724; }
.landing-page .cookie-panel[hidden],.landing-page .cookie-manage-panel[hidden] { display:none; }
.landing-page .mobile-sticky-cta { display:none; }
.landing-page.error-page .mobile-sticky-cta { display:none; }
.landing-page .cookie-message { grid-column:1; grid-row:1; }
.landing-page .cookie-panel p { margin:0; font-size:.85rem; }
.landing-page .cookie-actions { grid-column:2; grid-row:1; display:flex; flex-wrap:wrap; gap:.5rem; }
.landing-page .cookie-actions button { font-size:.85rem; white-space:nowrap; }
.landing-page .cookie-actions [data-cookie-accept] { border-color:#2359cf; background:#2359cf; color:#fff; font-weight:700; }
.landing-page .cookie-panel>[data-cookie-status] { grid-column:1/-1; }
.landing-page .cookie-manage-panel { grid-column:1/-1; display:flex; align-items:center; flex-wrap:wrap; gap:.75rem 1.25rem; padding-top:.5rem; }
.landing-page .cookie-manage-panel>p:first-child { font-weight:650; }
.landing-page .cookie-switch { display:inline-flex; align-items:center; gap:.75rem; padding:.3rem 0; border:0; color:var(--landing-ink); background:none; cursor:pointer; }
.landing-page .cookie-switch-track { display:inline-flex; align-items:center; width:2.5rem; height:1.4rem; padding:.15rem; border:1px solid var(--landing-line); border-radius:2rem; background:var(--landing-soft); }
.landing-page .cookie-switch-track>span { width:1rem; aspect-ratio:1; border-radius:50%; background:var(--landing-muted); transition:transform .15s ease,background .15s ease; }
.landing-page .cookie-switch.is-active .cookie-switch-track>span { transform:translateX(1rem); background:var(--landing-accent); }
.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:.65rem; }
.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:6em; resize:none; }
.landing-page .contact-form :is([data-contact-submit],[data-contact-draft]) { width:max-content; max-width:100%; min-height:2.8rem; padding:.7em 1.25em; border-radius:.65rem; }
.landing-page .contact-form button.primary-action { border-color:#2359cf; background:#2359cf; color:#fff; font-weight:700; text-decoration:none; }
.landing-page .landing-tools-action { display:flex; width:max-content; max-width:100%; margin:1rem auto 0; }
.landing-page .contact-section { display:grid; gap:.75rem; }
.landing-page .contact-section h2 { margin:0; font-size:clamp(1.2rem,2vw,1.6rem); }
.landing-page .contact-form label { font-size:.9rem; }
.landing-page .form-status { font-size:.85rem; }
.landing-page .faq { max-width:75rem; }
.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-header-inner { flex-wrap:wrap; } .landing-page .landing-nav { order:2; flex:0 0 100%; width:100%; justify-content:center; gap:1.2rem; } }
@media (max-width:45rem) { .landing-page .landing-hero-layout,.landing-page .landing-steps,.landing-page .landing-security-section,.landing-page .landing-license-section,.landing-page .public-card-grid,.landing-page .download-grid,.landing-page .footer-inner { grid-template-columns:1fr; } .landing-page .landing-hero-copy h1 { max-width:22ch; font-size:clamp(1.95rem,8vw,2.5rem); } .landing-page .landing-header-actions { flex-wrap:nowrap; margin-left:auto; gap:.4rem; } .landing-page .compact-language-picker { flex:none; inline-size:6rem; } .landing-page .public-theme-toggle { inline-size:2.3rem; padding:.5rem; } .landing-page .landing-login-link { display:none; } .landing-page .landing-nav { justify-content:center; flex-wrap:wrap; gap:.35rem .85rem; } .landing-page .landing-nav a { font-size:.8rem; } .landing-page .landing-security-section,.landing-page .landing-license-section { margin-top:3rem; } .landing-page .landing-value-note { display:grid; gap:.3rem; } .landing-page .landing-preview-viewport { aspect-ratio:4/3; } .landing-page .download-hero h1 { font-size:clamp(1.5rem,6vw,2.2rem); white-space:normal; } .landing-page .footer-links { justify-items:center; } .landing-page .footer-brand { justify-items:center; text-align:center; } .landing-page .cookie-panel { grid-template-columns:minmax(0,1fr); gap:.5rem; padding: .75rem 1rem max(.75rem,env(safe-area-inset-bottom)); } .landing-page .cookie-panel p { font-size:.78rem; line-height:1.45; } .landing-page .cookie-message,.landing-page .cookie-actions,.landing-page .cookie-manage-panel { grid-column:1; grid-row:auto; } .landing-page .cookie-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.4rem; } .landing-page .cookie-actions button { width:100%; min-width:0; min-height:2.75rem; padding:.55rem .3rem; font-size:.7rem; white-space:normal; overflow-wrap:anywhere; } .landing-page .cookie-manage-panel { align-items:flex-start; } .landing-page .document-pagination { font-size:.9rem; } }
@media (prefers-reduced-motion:reduce) { .landing-page .platform-track { width:100%; justify-content:center; animation:none; transform:none; } .landing-page .platform-group { width:100%; min-width:0; flex-wrap:wrap; justify-content:center; padding-inline:0; } .landing-page .platform-group[aria-hidden="true"] { display:none; } }
@media (max-width:45rem) { .landing-page { padding-bottom:4.5rem; } .landing-page .mobile-sticky-cta { position:fixed; z-index:18; inset:auto 1rem max(1rem,env(safe-area-inset-bottom)) 1rem; display:flex; align-items:center; justify-content:center; min-height:3rem; border-radius:.6rem; color:#fff; background:var(--landing-accent); box-shadow:0 .5rem 1.5rem #15244740; font-weight:700; text-decoration:none; } }
@supports selector(body:has(.cookie-panel:not([hidden]))) { body:has(.cookie-panel:not([hidden])) .mobile-sticky-cta { display:none; } }
.landing-page .document-layout { display:grid; grid-template-columns:minmax(14rem,.65fr) minmax(0,2.35fr); gap:clamp(2rem,5vw,5rem); padding-top:3rem; }
.landing-page .document-nav { position:sticky; top:clamp(5rem,9vh,7rem); align-self:start; max-height:calc(100dvh - clamp(6rem,10vh,8rem)); overflow:auto; }
.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:92ch; }
.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; }
.landing-page .document-pagination { display:flex; justify-content:space-between; gap:1rem; margin-top:2rem; padding-top:1rem; border-top:.0625rem solid var(--landing-line); }
.landing-page .document-pagination a { display:grid; gap:.2rem; max-width:48%; text-decoration:none; }
.landing-page .document-pagination a:last-child { text-align:right; margin-inline-start:auto; }
.landing-page .document-pagination small { color:var(--landing-muted); }
.landing-page .document-pagination span { color:var(--landing-accent); font-weight:650; }
@media (max-width:45rem) { .landing-page .document-layout { grid-template-columns:1fr; gap:1rem; } .landing-page .document-nav { position:static; max-height:none; overflow:visible; } .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; animation:none !important; } }
