/* Shared product and document layouts. Colors and type come from core.css. */
.page-app { overflow-wrap:break-word; }
.app-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:12px; font-size:10px; color:#8190a8; margin-bottom:42px; }
.app-breadcrumb a { color:#a5b1c4; text-decoration:none; }
.app-breadcrumb a:hover { color:var(--cyan); }
.app-breadcrumb>span[aria-hidden] { color:#40516c; }
.product-hero,.document-hero { position:relative; overflow:hidden; background:radial-gradient(ellipse at 85% 35%,#a28aff0d,transparent 50%),radial-gradient(ellipse at 5% 0%,#ff365d09,transparent 65%); border-bottom:1px solid var(--line); }
.product-hero { padding:38px 0 0; }
.product-hero-layout { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:36px; padding-bottom:38px; }
.product-hero .section-eyebrow { display:flex; align-items:center; gap:10px; margin-bottom:24px; }
.product-hero h1 { font-size:clamp(44px,5.2vw,72px); line-height:1.1; letter-spacing:-.065em; font-weight:500; margin-bottom:26px; }
.product-hero .lead { max-width:550px; font-size:16px; line-height:1.85; font-weight:400; color:var(--muted); margin-bottom:30px; }
.product-hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.product-signature { display:flex; align-items:center; gap:10px; color:#7e8da5; font-family:var(--heading-font); font-size:9px; letter-spacing:.1em; margin:28px 0 0; }
.product-art { position:relative; height:440px; display:grid; place-items:center; min-width:0; isolation:isolate; perspective:1000px; border:0!important; }
.product-art::before { content:''; position:absolute; inset:15%; background:radial-gradient(ellipse,#a28aff13,transparent 70%); filter:blur(15px); z-index:-1; }
.product-art .stage-grid { inset:auto -5% -4%; width:110%; height:45%; }
.product-core-mark { position:absolute; width:74%; height:auto; opacity:.09; transform:rotateY(-20deg) rotateZ(-12deg); filter:drop-shadow(0 0 35px #ff365d50); }
.product-orbit { position:absolute; width:78%; aspect-ratio:1; border:1px solid #a28aff25; border-radius:50%; transform:rotateX(64deg) rotateZ(-22deg); box-shadow:0 0 24px #a28aff06; }
.product-orbit-two { width:84%; transform:rotateY(63deg) rotateX(-12deg); border-color:#68e5ea18; }
.product-slab { position:absolute; width:240px; height:250px; border:1px solid #a28aff30; border-radius:32px; transform:rotateX(14deg) rotateY(-23deg) rotateZ(-8deg) translateZ(-30px) translate(32px,23px); background:linear-gradient(140deg,#1c264280,#11172730); box-shadow:12px 22px 40px #0003; }
.product-slab-two { transform:rotateX(14deg) rotateY(-23deg) rotateZ(-8deg) translateZ(-60px) translate(64px,46px); border-color:#68e5ea20; opacity:.55; }
.product-app-icon { width:218px; height:218px; object-fit:contain; border-radius:27px; transform:rotateX(14deg) rotateY(-23deg) rotateZ(-8deg); box-shadow:8px 12px 0 #0a1020,10px 15px 0 #a28aff26,16px 34px 60px #0007; transition:transform .5s ease,box-shadow .5s ease; }
.product-art:hover .product-app-icon { transform:rotateX(9deg) rotateY(-10deg) rotateZ(-5deg) translateY(-7px); box-shadow:8px 12px 0 #0a1020,10px 15px 0 #68e5ea30,16px 34px 60px #0007; }
.product-art-caption { position:absolute; top:5px; left:18px; right:18px; display:flex; justify-content:space-between; font-family:var(--heading-font); font-size:9px; letter-spacing:.16em; color:#73829c; }
.product-art-tag { position:absolute; display:flex; align-items:center; gap:10px; padding:11px 14px; background:#101620e8; border:1px solid var(--line); border-radius:7px; font-family:var(--heading-font); font-size:9px; letter-spacing:.1em; color:#c1cadd; box-shadow:0 15px 30px #0003; backdrop-filter:blur(10px); }
.product-art-tag i { color:var(--cyan); }
.product-art-tag-local { left:0; top:32%; }
.product-art-tag-sync { right:0; bottom:21%; }
.product-art-tag-sync i { color:var(--violet); }
.product-modules { display:flex; flex-wrap:wrap; gap:10px 28px; padding:24px 0; border-top:1px solid var(--line); color:#8b9ab1; font-family:var(--heading-font); font-size:11px; }
.product-modules>span { display:flex; align-items:center; gap:9px; }
.product-modules i { color:#677891; font-size:12px; }
.product-details { padding:75px 0 0; }
.product-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.product-feature { padding:28px; min-height:250px; border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(135deg,#131a27,#0d121d); }
.product-feature .capability-top { margin-bottom:30px; }
.product-feature h3 { font-size:21px; letter-spacing:-.04em; margin-bottom:15px; }
.product-feature p { font-size:13px; line-height:1.8; margin:0; color:var(--muted); }
.product-connection { display:grid; grid-template-columns:.7fr 1.3fr; gap:55px; padding:35px; border:1px solid var(--line); border-radius:var(--radius); margin-top:24px; background:radial-gradient(ellipse at 0% 100%,#68e5ea07,transparent 60%),#0e141e; }
.product-connection h3 { font-size:24px; letter-spacing:-.04em; margin-bottom:10px; }
.product-connection .section-eyebrow { margin-bottom:14px; }
.product-connection p { font-size:14px; color:var(--muted); margin:0; }
.document-hero { padding:34px 0 0; }
.document-hero .app-breadcrumb { margin-bottom:28px; }
.document-hero-layout { display:grid; grid-template-columns:1fr 260px; align-items:center; gap:40px; min-height:230px; padding-bottom:30px; }
.document-hero .section-eyebrow { display:flex; align-items:center; gap:10px; margin-bottom:18px; }
.document-hero h1 { font-size:clamp(35px,4.5vw,58px); line-height:1.15; letter-spacing:-.055em; font-weight:500; margin-bottom:14px; max-width:870px; }
.document-kind { color:var(--paper); font-family:var(--heading-font); font-size:18px; margin-bottom:16px; }
.document-meta { font-size:11px; color:#8c9bb3; margin-bottom:3px; }
.document-emblem { position:relative; height:190px; display:grid; place-items:center; perspective:750px; }
.emblem-orbit { position:absolute; width:190px; height:190px; border:1px solid #68e5ea24; border-radius:50%; transform:rotateX(65deg) rotateZ(-20deg); }
.emblem-orbit::after { content:''; position:absolute; inset:-25px; border:1px solid #a28aff15; border-radius:50%; }
.emblem-core { position:absolute; width:195px; height:auto; opacity:.13; transform:rotateY(-25deg) rotateZ(-12deg) translate(15px,-24px); }
.document-app-icon { position:relative; width:105px; height:105px; object-fit:contain; border-radius:24px; transform:rotateX(10deg) rotateY(-20deg) rotateZ(-6deg); box-shadow:6px 8px 0 #1e263d,7px 10px 0 #a28aff30,12px 24px 40px #0006; transition:transform .4s; }
.document-emblem:hover .document-app-icon { transform:rotateX(0) rotateY(-8deg) rotateZ(-3deg) translateY(-4px); }
.document-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 0; border-top:1px solid var(--line); }
.document-label { display:flex; align-items:center; gap:10px; font-size:11px; color:#90a0b8; margin:0; }
.document-label i { color:var(--cyan); font-size:12px; }
.page-app .language-toggle { position:static; z-index:auto; display:flex; gap:5px; padding:4px; border:1px solid var(--line); background:#0e141f; border-radius:9px; }
.page-app .language-toggle .btn { font-size:11px; padding:6px 13px; border-radius:6px; min-height:32px; box-shadow:none; }
.page-app .language-toggle .btn-outline-crimson { border-color:transparent; background:transparent; color:#9aa7bb; }
.page-app .language-toggle .btn-crimson { background:#c91d44; border-color:#c91d44; color:white; }
.page-app .language-toggle .btn:hover { transform:none; }
.document-layout { display:grid; grid-template-columns:245px minmax(0,1fr); align-items:start; gap:40px; padding-top:45px; }
.document-sidebar { position:sticky; top:112px; align-self:start; max-height:calc(100vh - 140px); overflow:auto; scrollbar-width:thin; scrollbar-color:#2a3a51 transparent; }
.document-index { padding-bottom:22px; }
.document-index-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:15px; }
.document-index-heading p { font-family:var(--heading-font); color:#a4b1c6; font-size:10px; text-transform:uppercase; letter-spacing:.1em; margin:0; }
.document-index-heading>span { color:var(--cyan); }
.document-progress { width:100%; height:2px; background:#1e293c; margin-bottom:19px; overflow:hidden; }
.document-progress>span { display:block; width:100%; height:100%; transform:scaleX(0); transform-origin:left; background:linear-gradient(90deg,var(--crimson),var(--cyan)); }
.document-index nav { display:flex; flex-direction:column; gap:4px; }
.document-index nav a { display:block; padding:8px 12px; border-left:1px solid #29364c; color:#8d9cb4; text-decoration:none; font-size:11px; line-height:1.5; transition:color .2s,background .2s,border-color .2s; }
.document-index nav a:hover { color:var(--paper); background:#131c2a; }
.document-index nav a.is-current { color:var(--cyan); background:#68e5ea08; border-color:var(--cyan); }
.document-back { display:flex; gap:12px; align-items:center; padding-top:18px; border-top:1px solid var(--line); color:#a8b5ca; text-decoration:none; font-size:11px; }
.document-back>span:first-child { color:var(--crimson); font-size:19px; }
.document-content { min-width:0; border:1px solid var(--line); border-radius:var(--radius); padding:40px 44px; background:linear-gradient(155deg,#121925,#0c121c 50%); box-shadow:0 20px 55px #0002; }
.document-content h2,.document-content h3 { color:var(--paper); font-weight:500; letter-spacing:-.035em; scroll-margin-top:112px; line-height:1.4; }
.document-content h2 { font-size:23px; margin:38px 0 18px!important; border:0; padding:0; }
.document-content h3 { font-size:18px; margin:32px 0 14px!important; }
.document-content>h2:first-child,.document-content .policy-section>h2:first-child { margin-top:0!important; }
.document-content p,.document-content li { color:#b0bbce; font-size:14px; line-height:1.9; }
.document-content strong { color:#e3e9f3; font-weight:500; }
.document-content ul { padding-left:22px; margin-bottom:22px; }
.document-content li { padding-left:4px; margin-bottom:7px; }
.document-content li::marker { color:#69849d; }
.document-content a:not(.btn) { text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.document-content code { color:#93e7e9; font-size:.85em; padding:2px 5px; border-radius:4px; background:#68e5ea08; overflow-wrap:anywhere; }
.document-content .last-updated { display:inline-block; font-style:normal; font-family:var(--heading-font); font-size:10px; color:#8fabc2; padding:7px 11px; border:1px solid #68e5ea1a; border-radius:6px; background:#68e5ea05; }
.document-content .effective-date { text-align:left; background:#0b121d; color:#a9b7cd; font-size:12px; line-height:1.9; border-color:var(--line); }
.document-content :is(.app-info,.contact-info,.gdpr-notice,.highlight) { background:#68e5ea05; border:1px solid #68e5ea20; border-left:2px solid #68e5ea70; border-radius:10px; padding:20px 24px; margin:26px 0; color:#b0bbce; font-size:14px; }
.document-content .highlight { background:#a28aff08; border-color:#a28aff25; border-left-color:#a28aff70; }
.document-content :is(.app-info,.contact-info,.gdpr-notice,.highlight)>:is(h2,h3):first-child { margin-top:0!important; }
.document-content :is(.app-info,.contact-info,.gdpr-notice,.highlight)>:last-child { margin-bottom:0; }
.document-content .legal-footer { border-color:var(--line); padding-top:25px; margin-top:35px; }
.document-content .legal-footer p { font-size:11px; color:#8697af; }
.page-app .cc-footer { margin-top:75px; }
@media (max-width:1199.98px) {
 .product-hero-layout { gap:20px; }
 .product-art { height:395px; }
 .product-app-icon { width:190px; height:190px; }
 .product-slab { width:205px; height:225px; }
 .product-art-tag { font-size:8px; padding:9px 11px; }
 .document-layout { grid-template-columns:210px minmax(0,1fr); gap:28px; }
 .document-content { padding:34px; }
}
@media (max-width:991.98px) {
 .product-hero-layout { grid-template-columns:1fr 1fr; }
 .product-hero h1 { font-size:45px; }
 .product-hero .lead { font-size:14px; }
 .product-art { height:350px; }
 .product-app-icon { width:165px; height:165px; }
 .product-slab { width:175px; height:190px; }
 .product-art-tag-local { top:24%; }
 .product-art-tag-sync { bottom:16%; }
 .product-art-tag { font-size:7px; padding:8px; }
 .product-features { gap:14px; }
 .product-feature { padding:23px; }
 .product-feature h3 { font-size:19px; }
 .product-feature p { font-size:12px; }
 .product-connection { gap:30px; }
 .document-hero-layout { grid-template-columns:1fr 180px; gap:15px; }
 .document-emblem { height:175px; }
 .emblem-orbit { width:150px; height:150px; }
 .emblem-core { width:160px; }
 .document-layout { grid-template-columns:1fr; gap:20px; padding-top:30px; }
 .document-sidebar { position:static; max-height:none; }
 .document-index { padding:18px; border:1px solid var(--line); border-radius:10px; background:#101620; }
 .document-index nav { max-height:170px; overflow:auto; display:grid; grid-template-columns:1fr 1fr; gap:4px 14px; }
 .document-back { display:none; }
 .document-content h2,.document-content h3 { scroll-margin-top:100px; }
}
@media (max-width:767.98px) {
 .product-hero,.document-hero { padding-top:24px; }
 .app-breadcrumb { margin-bottom:28px; gap:9px; font-size:9px; }
 .product-hero-layout { grid-template-columns:1fr; gap:18px; padding-bottom:25px; }
 .product-hero h1 { font-size:clamp(42px,9vw,60px); }
 .product-hero .lead { font-size:15px; }
 .product-hero-actions .btn { font-size:12px; padding:12px 17px; }
 .product-art { height:330px; max-width:440px; width:100%; margin:0 auto; }
 .product-app-icon { width:175px; height:175px; }
 .product-slab { width:190px; height:205px; }
 .product-art-tag { font-size:8px; }
 .product-art-tag-local { left:5%; top:26%; }
 .product-art-tag-sync { right:5%; bottom:18%; }
 .product-modules { gap:14px 20px; font-size:10px; }
 .product-details { padding-top:45px; }
 .product-features { grid-template-columns:1fr; gap:15px; }
 .product-feature { min-height:0; padding:26px; }
 .product-feature .capability-top { margin-bottom:23px; }
 .product-feature p { font-size:14px; }
 .product-connection { grid-template-columns:1fr; gap:15px; padding:26px; }
 .document-hero-layout { grid-template-columns:1fr 95px; gap:15px; min-height:180px; padding-bottom:22px; }
 .document-hero .section-eyebrow { font-size:8px; letter-spacing:.11em; gap:7px; }
 .document-hero h1 { font-size:clamp(28px,6.5vw,44px); }
 .document-kind { font-size:15px; margin-bottom:12px; }
 .document-meta { font-size:10px; overflow-wrap:anywhere; }
 .document-emblem { height:140px; }
 .document-app-icon { width:70px; height:70px; border-radius:16px; box-shadow:4px 6px 0 #1e263d,5px 8px 0 #a28aff30,8px 16px 25px #0005; }
 .emblem-orbit { width:90px; height:90px; }
 .emblem-orbit::after { inset:-10px; }
 .emblem-core { width:115px; }
 .document-toolbar { gap:10px; padding:14px 0; }
 .document-label { font-size:10px; gap:7px; }
 .page-app .language-toggle .btn { font-size:10px; padding:5px 9px; }
 .document-layout { gap:16px; padding-top:23px; }
 .document-content { padding:26px 23px; border-radius:13px; }
 .document-content h2 { font-size:21px; }
 .document-content h3 { font-size:17px; }
 .document-content p,.document-content li { font-size:14px; line-height:1.85; }
 .document-content :is(.app-info,.contact-info,.gdpr-notice,.highlight) { padding:17px; }
 .page-app .cc-footer { margin-top:45px; }
}
@media (max-width:399.98px) {
 .document-hero-layout { grid-template-columns:minmax(0,1fr) 65px; gap:8px; }
 .document-app-icon { width:58px; height:58px; }
 .emblem-orbit { width:65px; height:65px; }
 .emblem-core { width:90px; }
 .document-index nav { grid-template-columns:1fr; max-height:140px; }
 .document-label { font-size:9px; }
 .document-toolbar { gap:7px; }
 .document-content { padding:23px 18px; }
}
@media (prefers-reduced-motion:reduce) {
 .page-app *, .page-app *::before, .page-app *::after { animation:none!important; scroll-behavior:auto!important; }
 .product-app-icon,.document-app-icon,.product-art { transition:none!important; }
 .product-art:hover .product-app-icon,.document-emblem:hover .document-app-icon { transform:none; }
 .product-art.card-3d { transform:none; }
}
