.bridge-main{display: flex;flex-direction: column;align-items: center;gap: var(--lumo-space-xl);width: 100%;padding: var(--lumo-space-m) var(--lumo-space-xl) var(--lumo-space-xl);padding-bottom: 100px;box-sizing: border-box}:root{--lumo-primary-color: #056ff0}.bridge-header-banner{width: 100%;text-align: center;padding: 1rem 2rem;background: linear-gradient(90deg,#056ff0,#03f7ff);color: #fff;font-size: 14px;font-weight: 500;box-sizing: border-box}.bridge-site-header{display: flex;justify-content: center;width: 100%;padding: var(--lumo-space-s) 0;background: #fff;border-bottom: 1px solid var(--lumo-contrast-10pct);box-sizing: border-box}html[theme~="dark"] .bridge-site-header{background: #0d141c;border-bottom: none}.bridge-header-inner{display: flex;align-items: center;justify-content: space-between;gap: var(--lumo-space-m);flex-wrap: wrap;width: 100%;max-width: 1200px;padding: 0 2rem;box-sizing: border-box}.bridge-header-logo{height: 28px;display: none}.bridge-header-logo-light{display: block}html[theme~="dark"] .bridge-header-logo-light{display: none}html[theme~="dark"] .bridge-header-logo-dark{display: block}.bridge-header-nav{display: flex;align-items: center;gap: var(--lumo-space-m);flex-wrap: wrap}.bridge-header-nav-link{color: var(--lumo-body-text-color);text-decoration: none;font-size: var(--lumo-font-size-s)}.bridge-header-nav-link:hover{color: var(--lumo-primary-color)}html[theme~="dark"] .bridge-header-nav-link{color: rgba(255,255,255,0.85)}html[theme~="dark"] .bridge-header-nav-link:hover{color: #fff}.bridge-header-nav-btn{padding: 8px 20px;border-radius: 6px;background: var(--lumo-primary-color);color: #fff;text-decoration: none;font-size: 14px;font-weight: 600;transition: opacity 0.2s ease}.bridge-header-nav-btn:hover{opacity: 0.85;color: #fff}html[theme~="dark"]{--lumo-base-color: #161b21;background: #0d141c}.bridge-hero{text-align: center;max-width: 720px}.bridge-cards{gap: var(--lumo-space-xl);justify-content: center;max-width: 900px}.bridge-card{display: flex;flex-direction: column;width: 360px;overflow: hidden;border: 1px solid var(--lumo-contrast-20pct);border-radius: var(--lumo-border-radius-l);background: var(--lumo-base-color);transition: transform 0.2s ease,box-shadow 0.2s ease}.bridge-card:hover{transform: translateY(-4px);box-shadow: var(--lumo-box-shadow-m)}.bridge-card-ghost{display: flex;flex-direction: column;align-items: center;justify-content: center;gap: var(--lumo-space-s);width: 360px;padding: var(--lumo-space-xl);border: 2px dashed var(--lumo-contrast-20pct);border-radius: var(--lumo-border-radius-l);color: var(--lumo-secondary-text-color);text-align: center;transition: transform 0.2s ease,border-color 0.2s ease}.bridge-card-ghost:hover{transform: translateY(-4px);border-color: var(--lumo-contrast-40pct)}.bridge-card-ghost h3{margin: 0;color: var(--lumo-secondary-text-color)}.bridge-card-ghost p{margin: 0;font-size: var(--lumo-font-size-s)}.bridge-card-ghost-icon{width: 32px;height: 32px;color: var(--lumo-contrast-40pct)}.bridge-carousel{position: relative;width: 100%;height: 180px;overflow: hidden;background: var(--lumo-contrast-5pct)}.bridge-carousel-image{width: 100%;height: 100%;object-fit: cover;object-position: top;display: block;cursor: zoom-in}.bridge-carousel-nav{position: absolute;top: 50%;transform: translateY(-50%);width: var(--lumo-size-m);height: var(--lumo-size-m);display: flex;align-items: center;justify-content: center;border-radius: 50%;background: rgba(0,0,0,0.45);color: #fff;cursor: pointer}.bridge-carousel-nav vaadin-icon{width: 18px;height: 18px;color: #fff}.bridge-carousel-prev{left: var(--lumo-space-s)}.bridge-carousel-next{right: var(--lumo-space-s)}.bridge-carousel-dots{position: absolute;bottom: var(--lumo-space-xs);left: 0;right: 0;display: flex;justify-content: center;gap: var(--lumo-space-xs)}.bridge-carousel-dot{width: 7px;height: 7px;border-radius: 50%;background: rgba(255,255,255,0.6);cursor: pointer}.bridge-carousel-dot-active{width: 7px;height: 7px;border-radius: 50%;background: #fff;cursor: pointer}.bridge-preview-dialog-image{width: 100%;display: block;cursor: pointer}.bridge-card-body{display: flex;flex-direction: column;gap: var(--lumo-space-s);padding: var(--lumo-space-l)}.bridge-card-body a[theme~="primary"]{background: linear-gradient(90deg,#0555b8,#027a91);color: #fff;border: none;text-align: center;transition: transform 0.2s ease,box-shadow 0.2s ease}.bridge-card-body a[theme~="primary"]:hover{background: linear-gradient(90deg,#044a9e,#026277)}.bridge-card-badge{align-self: flex-start;padding: 2px 10px;border-radius: var(--lumo-border-radius-m);background: var(--lumo-primary-color-10pct);color: var(--lumo-primary-text-color);font-size: var(--lumo-font-size-s);font-weight: 600;text-decoration: none;cursor: pointer;transition: transform 0.2s ease,box-shadow 0.2s ease}.bridge-card:not(.bridge-card-coming-soon):hover .bridge-card-badge,.bridge-card:not(.bridge-card-coming-soon):hover .bridge-card-body a[theme~="primary"]{transform: translateY(-3px);box-shadow: var(--lumo-box-shadow-s)}.bridge-card-coming-soon{position: relative}.bridge-card-coming-soon .bridge-carousel,.bridge-card-coming-soon .bridge-card-body{pointer-events: none}.bridge-card-coming-soon-overlay{position: absolute;inset: 0;z-index: 1;display: flex;align-items: center;justify-content: center;background: rgba(0,0,0,0.55)}.bridge-card-coming-soon-content{display: flex;flex-direction: column;align-items: center;gap: var(--lumo-space-xs);padding: var(--lumo-space-m) var(--lumo-space-l);border-radius: var(--lumo-border-radius-l);background: rgba(8,10,12,0.92);text-align: center}.bridge-card-coming-soon-content h3{margin: 0;color: #fff;font-size: var(--lumo-font-size-xl);letter-spacing: 0.05em;text-transform: uppercase}.bridge-card-coming-soon-subtitle{margin: 0;color: rgba(255,255,255,0.85);font-size: var(--lumo-font-size-s)}.bridge-card-audience{color: var(--lumo-secondary-text-color);font-size: var(--lumo-font-size-s)}.bridge-card-description-hover-link{border-bottom: 1px dotted var(--lumo-contrast-40pct)}.bridge-card-description-hover-link:hover{color: var(--lumo-primary-text-color);border-bottom-color: var(--lumo-primary-color)}.bridge-theme-toggle-btn{position: absolute;right: 2rem;cursor: pointer;background: var(--lumo-contrast-10pct);color: var(--lumo-contrast-70pct);width: 44px;height: 44px;border-radius: 50%;box-shadow: var(--lumo-box-shadow-s)}.bridge-toast-content{display: flex;flex-direction: column;min-width: 240px}.bridge-toast-message{font-weight: 600;white-space: nowrap}.bridge-toast-progress-track{width: 100%;height: 4px;margin-top: var(--lumo-space-s);background: var(--lumo-contrast-10pct);border-radius: var(--lumo-border-radius-m);overflow: hidden}.bridge-toast-progress-bar{height: 100%;width: 100%;background: var(--lumo-primary-color);transform-origin: left;animation: bridge-toast-shrink 2s linear forwards}@keyframes bridge-toast-shrink{from{transform: scaleX(1)}to{transform: scaleX(0)}}.bridge-theme-toggle-btn:hover{background: var(--lumo-contrast-20pct)}.bridge-footer{position: fixed;left: 0;right: 0;bottom: 0;z-index: 10;display: flex;justify-content: center;width: 100%;padding: var(--lumo-space-m) 0;background: var(--lumo-contrast-5pct);box-sizing: border-box}.bridge-footer-inner{position: relative;display: flex;align-items: center;justify-content: center;width: 100%;max-width: 1200px;padding: 0 2rem;box-sizing: border-box}.bridge-footer-text{display: flex;flex-direction: column;align-items: center;gap: 2px;text-align: center}.bridge-footer-meta{margin: 0;color: var(--lumo-secondary-text-color);font-size: var(--lumo-font-size-s)}.bridge-footer-stack{font-size: var(--lumo-font-size-xs)}