/* Shared InnovationFlow website identity. Fonts are served locally. */
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/inter-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/inter-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/inter-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/inter-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url('/fonts/inter-latin-800-normal.woff2') format('woff2')}
:root{--bg:#0a1c1b;--panel:#102d2b;--deep:#081514;--line:#2b4946;--mint:#2dd4bf;--text:#f8fafc;--muted:#c0cecb;--font:Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
body{padding-top:65px}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(10,28,27,.9);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.1)}
.site-nav{max-width:1280px;height:64px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.site-brand{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}
.site-brand img{width:32px;height:32px;object-fit:contain;transition:transform .15s}
.site-brand:hover img{transform:scale(1.05)}
.site-brand span{font-size:18px;font-weight:700;letter-spacing:-.45px;line-height:28px;color:#fff;text-transform:none}
.site-desktop-nav{display:flex;align-items:center;gap:20px}
.site-desktop-nav>a,.nav-signout{font-size:14px;font-weight:500;line-height:20px;color:#d1d5db;white-space:nowrap}
.site-desktop-nav>a:hover,.nav-signout:hover{color:#fff}
.site-desktop-nav .nav-current,.site-mobile-menu .nav-current{color:#5eead4}
.site-desktop-nav .nav-current{text-decoration:underline;text-underline-offset:7px;text-decoration-color:#0f766e}
.site-header form{margin:0;display:flex}
.nav-signout{border:0;background:transparent;padding:8px 0}
.site-header .nav-cta{padding:8px 16px;background:#0f766e;color:#fff;border-radius:8px;font-size:14px;font-weight:600;line-height:20px}
.site-header .nav-cta:hover{background:#0d9488}
.site-mobile-nav{display:none;position:relative}
.site-mobile-nav summary{width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;list-style:none;border-radius:8px;color:#fff}
.site-mobile-nav summary::-webkit-details-marker{display:none}
.site-mobile-nav summary:hover{background:rgba(255,255,255,.05)}
.site-mobile-nav summary:focus-visible{outline:3px solid var(--mint);outline-offset:3px}
.menu-icon{display:flex;flex-direction:column;gap:5px;width:20px}
.menu-icon i{display:block;width:20px;height:2px;background:currentColor;border-radius:1px}
.site-mobile-menu{position:absolute;right:0;top:calc(100% + 12px);width:min(320px,calc(100vw - 32px));padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#102d2b;box-shadow:0 15px 35px rgba(0,0,0,.2)}
.site-mobile-menu>a,.site-mobile-menu .nav-signout{display:block;width:100%;padding:12px 14px;border-radius:7px;font-size:14px;font-weight:500;line-height:20px;color:#d1d5db;text-align:left}
.site-mobile-menu>a:hover{background:rgba(255,255,255,.05);color:#fff}
.site-mobile-menu .nav-cta{margin-top:5px;text-align:center;padding:12px 14px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.playback-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}
.playback-controls button{min-height:44px;padding:10px 16px;border:1px solid #3c625b;border-radius:7px;background:transparent;color:#e1ebe8;font-size:13px;font-weight:500}
.playback-controls button:hover{background:#183e38;color:#fff}
.playback-controls #loop-video[aria-pressed=true]{background:#0f766e;border-color:#0f766e;color:#fff}
h1{font-weight:700;letter-spacing:-1.3px}
.library-intro h1{font-weight:700}
.login-page{min-height:100dvh;background:#0a1c1b}
.login-page .footer{max-width:1360px}
.login-layout{max-width:1360px;grid-template-columns:minmax(0,1.2fr) minmax(340px,.85fr);gap:100px;padding:72px 60px}
.login-intro .eyebrow{font-size:13px;letter-spacing:0;text-transform:none;font-weight:600;color:#2dd4bf}
.login-intro h1{font-size:clamp(43px,4.5vw,66px);font-weight:800;letter-spacing:-2.3px;line-height:1.08;margin:21px 0 24px}
.intro-copy{font-size:17px;max-width:460px;line-height:1.75;color:#cbd5d1}
.website-link{display:inline-flex;align-items:center;gap:9px;color:#5eead4;font-size:13px;font-weight:600;margin-top:13px}
.website-link:hover{text-decoration:underline;text-underline-offset:4px}
.login-card{background:#f8f7f3;border-color:#f8f7f3;color:#142b28;padding:37px;border-radius:14px;color-scheme:light}
.login-card .eyebrow{color:#0f766e;font-size:10px;letter-spacing:1.3px}
.login-card h2{font-size:27px;font-weight:700;letter-spacing:-.8px}
.login-card p{color:#52645f;line-height:1.65}
.login-card label{color:#263f39;font-size:13px;font-weight:600}
.login-card input{background:#fff;border-color:#a9bcb5;color:#122b25;height:50px}
.login-card input:focus-visible{outline-color:#0f766e;outline-offset:2px}
.login-card .primary-button{background:#0f766e;color:#fff;font-weight:600;border-radius:7px;min-height:49px}
.login-card .primary-button:hover{background:#115e59}
.login-card .cookie-note{font-size:11px;margin:22px 0 0;line-height:1.75}
.cookie-note a{color:#0f766e;text-decoration:underline;text-underline-offset:3px}
.login-card .form-error{color:#a32f24!important}
.legal-footer{width:100%;font-size:12px;padding-top:25px;padding-bottom:27px;gap:24px;align-items:center}
.footer-company{display:flex;flex-direction:column;gap:6px;font-size:11px}
.footer-tagline{color:#e1ebe8;font-weight:600;font-size:12px}
.legal-links{display:flex;align-items:center;gap:25px;flex-wrap:wrap}
.legal-links a{color:#d4e2dc;font-size:12px;text-decoration:underline;text-decoration-color:#557269;text-underline-offset:4px;padding:8px 0}
.legal-links a:hover{color:#5eead4;text-decoration-color:currentColor}
@media(max-width:1050px){.login-layout{gap:48px;padding:60px 36px}.login-card{padding:30px}.login-intro h1{font-size:clamp(42px,5vw,57px)}}
@media(max-width:1279px){.site-desktop-nav{display:none}.site-mobile-nav{display:block}.site-nav{padding:0 24px}}
@media(max-width:639px){.site-nav{padding:0 16px}}
@media(max-width:760px){
  .login-layout{display:block;max-width:520px;padding:36px 23px 32px}
  .login-intro h1{font-size:44px;letter-spacing:-1.7px;margin:17px 0 20px}
  .login-intro .eyebrow{font-size:12px}.intro-copy{font-size:14px;line-height:1.75}
  .website-link{font-size:12px;margin-top:4px}
  .login-card{padding:26px;margin-top:30px}.login-card h2{font-size:24px}
  .login-card .cookie-note{font-size:11px;margin-top:20px}
  .legal-footer{padding:23px 23px 26px;gap:13px;flex-direction:column;align-items:flex-start}
  .legal-links{gap:22px;order:-1}.legal-links a{font-size:12px;min-height:35px}
  .footer-company{font-size:10px;line-height:1.6}.footer-tagline{font-size:11px}
}
