/* Shared public navigation. Homepage scenes are deliberately outside this scope. */
/* Cards now separate the hero from the detailed demo. Keep the local event-to-
   timeline connector, without stretching a cross-scene route through the cards. */
body.home-v2 .scene-handoff{display:none}
.public-header,.public-auth-header{--public-logo-width:123.09375px;--public-logo-height:31.890625px}
.public-header{--public-header-height:80px;box-sizing:border-box;height:var(--public-header-height);background:#fff;border-bottom:1px solid #E2E6EC;color:#111318;font:400 16px Geologica,Arial,sans-serif;line-height:normal;font-variation-settings:"SHRP" 20,"CRSV" 0,"slnt" 0;font-synthesis:none}
.public-header *{box-sizing:border-box}
.public-header button{font:inherit;color:inherit;cursor:pointer;border:0}
.public-header .public-header-row{box-sizing:border-box;display:flex;align-items:center;position:relative;width:min(1200px,calc(100% - 112px));margin-inline:auto;height:100%;gap:24px}
.public-header .public-brand{display:flex;align-items:center;flex:none;width:var(--public-logo-width);max-width:100%;margin:0}
.public-header .public-logo,.public-auth-header .public-logo{display:block;flex:none;width:var(--public-logo-width);height:var(--public-logo-height);max-width:100%;object-fit:contain}
.public-header .public-desktop-nav{display:flex;gap:28px;margin-left:40px;font-size:14px;font-weight:500;white-space:nowrap}
.public-header a{text-decoration:none;color:inherit}
.public-header a:hover,.public-header a[aria-current=page]{color:#2457F5}
.public-header .public-desktop-nav a,.public-header .public-account{display:inline-flex;align-items:center;min-height:44px;font-variation-settings:"SHRP" 55,"CRSV" 0,"slnt" 0}
.public-header .public-account{margin-left:auto;white-space:nowrap;font-size:14px;font-weight:500}
.public-header .public-install{display:inline-flex;align-items:center;justify-content:center;flex:none;max-width:none;min-height:44px;height:44px;padding:0 16px;margin:0;background:#111318;color:#fff;font-size:13px;font-weight:500;font-variation-settings:"SHRP" 55,"CRSV" 0,"slnt" 0;border:1px solid #111318;border-radius:6px;white-space:nowrap;text-decoration:none}
.public-header .public-install:hover{background:#242A33;border-color:#242A33;color:#fff}
.public-header .public-menu-toggle,.public-header #public-compact-menu{display:none}

.public-footer{margin-top:0;border-top:1px solid #E2E6EC;padding:48px 0 24px;background:#fff;color:#111318;font-size:14px;line-height:1.5}
.public-footer .public-container{width:min(1200px,calc(100% - 64px));margin-inline:auto}
.public-footer-top{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-bottom:36px}
.public-footer-top img{display:block;width:180.887px;height:40px;object-fit:contain}
.public-footer-top p{font-size:16px;color:#68707D;margin:0}
.public-footer-links{display:grid;grid-template-columns:1.1fr 1fr 1.15fr 1.4fr 1.4fr;gap:28px}
.public-footer-links nav{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.public-footer-links b{font-weight:500;margin-bottom:12px}
.public-footer a{color:#68707D;text-decoration:none;display:inline-flex;align-items:center;min-height:36px;max-width:100%;overflow-wrap:anywhere}
.public-footer a:hover{color:#2457F5}
.public-footer-bottom{margin-top:36px;padding-top:20px;border-top:1px solid #E2E6EC;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#68707D;font-size:12px}
@media(max-width:1279px){.public-header .public-header-row{width:calc(100% - 64px)}.public-header .public-brand{min-height:44px}}
@media(max-width:1119px){
 .public-header{position:relative;z-index:20}
 .public-header .public-desktop-nav,.public-header .public-account{display:none}
 .public-header .public-menu-toggle{display:flex;align-items:center;justify-content:center;min-height:44px;margin-left:auto;padding:0 14px;border:1px solid #E2E6EC;border-radius:6px;color:#111318;background:#fff;font:inherit;font-size:14px;cursor:pointer}
 .public-header #public-compact-menu:not([hidden]){display:flex;position:absolute;top:calc(100% - 1px);right:0;width:300px;max-width:100%;margin:0;padding:12px;gap:0;flex-direction:column;z-index:40;border:1px solid #E2E6EC;border-radius:0 0 8px 8px;background:#fff;font-size:15px}
 .public-header #public-compact-menu a{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:6px}
 .public-header #public-compact-menu a:hover{background:#EDF2FF}
 .no-js .public-header{height:auto;min-height:var(--public-header-height)}
 .no-js .public-header .public-header-row{display:grid;grid-template-columns:1fr auto;padding-block:20px;gap:20px}
 .no-js .public-header .public-menu-toggle{display:none}
 .no-js .public-header #public-compact-menu[hidden]{display:flex!important;grid-column:1/-1;grid-row:2;position:static;flex-wrap:wrap;flex-direction:row;gap:0 20px;margin:0;padding:0;border:0;width:100%;max-width:100%}
 .no-js .public-header .public-install{grid-column:2;grid-row:1}
 .public-footer-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
}
@media(max-width:767px){
 .public-header{height:auto;min-height:var(--public-header-height)}
 .public-header .public-header-row{display:grid;grid-template-columns:minmax(0,1fr) auto;width:calc(100% - 40px);height:auto;gap:12px;padding-block:16px}
 .public-header .public-install{display:none}
 .public-header .public-menu-toggle{margin:0;grid-column:2;grid-row:1}
 .public-header #public-compact-menu:not([hidden]){width:100%;max-width:100%;top:calc(100% - 1px);right:0}
 .public-footer{padding-top:36px}
 .public-footer .public-container{width:calc(100% - 40px)}
 .public-footer-top{align-items:flex-start;flex-direction:column;gap:20px}
 .public-footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
 .public-footer-links a{min-height:44px}
 .no-js .public-header .public-install{grid-column:1/-1;grid-row:3}
}

/* Final homepage polish; accepted product scenes and motion assets stay intact. */
body.home-v2 #feature-cards-label{margin:0 0 20px;color:var(--muted);font-size:11px;line-height:1.4;letter-spacing:.06em;font-weight:500;font-variation-settings:"SHRP" 90,"CRSV" 0,"slnt" 0}
body.home-v2 #feature-cards .afc-copy>a{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
body.home-v2 #architecture :is(.av-discovery,.av-stream-label,.av-storage-path-label,.av-same-client,.av-available,.av-infrastructure,.av-health>p,.av-desktop>p){display:none}
body.home-v2 #architecture .av-meta-row{grid-template-columns:minmax(0,1fr)}
body.home-v2 #architecture .av-desktop .av-client-title h3{font-size:14px;line-height:1.4;color:var(--muted)}
body.home-v2 #home-conversion{display:flex;align-items:center;justify-content:space-between;gap:48px;min-height:320px;margin-top:64px;padding:52px 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
body.home-v2 #home-conversion h2{max-width:700px;font-size:40px;line-height:1.1;font-weight:450;font-variation-settings:"SHRP" 80,"CRSV" 0,"slnt" 0;letter-spacing:-1px}
body.home-v2 #home-conversion p{margin-top:20px;font-size:18px;line-height:1.5;color:var(--muted)}
body.home-v2 #home-conversion>.hero-actions{flex:none;display:flex;flex-direction:column;align-items:stretch;gap:12px;margin:0}
body.home-v2 #home-conversion .quiet-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;text-decoration:none}
@media(max-width:767px){
 body.home-v2 #feature-cards .afc-bento{gap:16px}
 body.home-v2 #feature-cards .afc-card .afc-copy{padding:18px 20px}
 body.home-v2 #feature-cards .afc-copy>a{min-height:44px;margin-top:0}
 body.home-v2 #feature-cards .afc-archive-visual{height:224px}
 body.home-v2 #feature-cards .afc-analytics-visual{height:max(360px,calc((100vw - 80px) * .944445 + 128px))}
 body.home-v2 #feature-cards .afc-pwa-visual{height:224px}
 body.home-v2 #home-conversion{flex-direction:column;align-items:stretch;gap:24px;min-height:0;margin-top:40px;padding:36px 0}
 body.home-v2 #home-conversion h2{font-size:28px;line-height:1.12;letter-spacing:-.6px}
 body.home-v2 #home-conversion p{font-size:18px;margin-top:16px}
 body.home-v2 #home-conversion>.hero-actions{width:100%}
}

/* Homepage micro-polish: mobile section rhythm only. */
@media(max-width:767px){
 body.home-v2 #architecture .av-heading-row{margin-bottom:32px}
 body.home-v2 #pwa{padding-top:48px;padding-bottom:48px}
 body.home-v2 #pwa .pwa-desktop-roadmap{margin-top:24px;padding-top:20px;gap:12px}
 body.home-v2 #home-conversion{margin-top:28px;padding-block:28px}
}

/* Public + Auth interaction contract. Native iframe documents are independent.
   No outline reset outside these shells; skip links keep their reveal behaviour. */
:is(body.public-site,body.home-v2) :is(a,button,summary,[tabindex]):focus:not(:focus-visible){outline:none}
:is(body.public-site,body.home-v2) [data-public-pointer-focus]:focus{outline:none}
:is(body.public-site,body.home-v2) :is(a,button,summary,[tabindex]):focus-visible,
body.home-v2 :is(#feature-cards,#analytics,#pwa,#pwa-install-dialog) :is(a,button,[role=tabpanel],.an-product):focus-visible{outline:var(--public-focus-outline,none);outline-offset:var(--public-focus-offset,0px)}
:is(body.public-site,body.home-v2) a:not(:is(.public-info-card,.button,[class*="btn"],[class*="button"],[class*="action"],.hero-primary,.hero-secondary,.public-install)):focus-visible:not([data-public-pointer-focus]),
body.home-v2 :is(#feature-cards,#analytics,#pwa,#pwa-install-dialog) a:not(:is(.public-info-card,.button,[class*="btn"],[class*="button"],[class*="action"],.hero-primary,.hero-secondary,.public-install)):focus-visible:not([data-public-pointer-focus]){background-color:var(--accent-soft,#EDF2FF);text-decoration-line:underline;text-decoration-thickness:2px;text-underline-offset:4px}
:is(body.public-site,body.home-v2) :is(button,summary,[role=button],[role=tabpanel],.an-product,a.public-info-card,a.button,a[class*="btn"],a[class*="button"],a[class*="action"],a.hero-primary,a.hero-secondary,a.public-install):focus-visible:not([data-public-pointer-focus]){--public-focus-outline:2px solid var(--accent,#2457F5);--public-focus-offset:-2px}
:is(body.public-site,body.home-v2) :is(a.public-info-card,a.button,a[class*="btn"],a[class*="button"],a[class*="action"],a.hero-primary,a.hero-secondary,a.public-install):focus-visible:not([data-public-pointer-focus]){text-decoration:none}
:is(body.public-site,body.home-v2) input:is([type=checkbox],[type=radio],[type=range],[type=file],[type=color],[type=button],[type=submit],[type=reset],[type=image]):focus-visible:not([data-public-pointer-focus]){outline:var(--public-focus-outline,2px solid var(--accent,#2457F5));outline-offset:var(--public-focus-offset,2px)}
:is(body.public-site,body.home-v2) :is(input:not([type=hidden],[type=checkbox],[type=radio],[type=range],[type=button],[type=submit],[type=reset],[type=image],[type=file],[type=color]),textarea,select):focus{border-color:var(--accent,#2457F5);outline:var(--public-focus-outline,none);outline-offset:var(--public-focus-offset,0px);box-shadow:none}
:is(body.public-site,body.home-v2) :is(input:not([type=checkbox]):not([type=radio]),textarea)[readonly]{background-color:var(--canvas,#F7F8FA)}
:is(body.public-site,body.home-v2) :is(input:not([type=checkbox]):not([type=radio]),textarea,select):is([aria-invalid=true],.v-input--error,:user-invalid),
:is(body.public-site,body.home-v2) :is(input:not([type=checkbox]):not([type=radio]),textarea,select):is([aria-invalid=true],.v-input--error,:user-invalid):focus{border-color:var(--danger,#b24b3b)}
:is(body.public-site,body.home-v2) :is(input:not([type=checkbox]):not([type=radio]),textarea,select):disabled{border-color:var(--construction,#C9D2DC);background-color:var(--canvas,#F7F8FA);color:var(--muted,#68707D);cursor:not-allowed}
/* Keep native autofill paint, selection and password-manager controls intact. */
@media(forced-colors:active){
 :is(body.public-site,body.home-v2) :is(a,button,input,textarea,select,summary,[tabindex]):focus-visible,
 :is(body.public-site,body.home-v2) :is(input,textarea,select):focus,
 body.home-v2 :is(#feature-cards,#analytics,#pwa,#pwa-install-dialog) :is(a,button,[role=tabpanel],.an-product):focus-visible{--public-focus-outline:2px solid Highlight;--public-focus-offset:2px;outline:2px solid Highlight;outline-offset:2px}
 :is(body.public-site,body.home-v2) :is(input:not([type=checkbox]):not([type=radio]),textarea,select):is([aria-invalid=true],.v-input--error,:user-invalid){border-style:dashed}
}
