 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 .sr-only {
     position: absolute;
     width: 1px;
     height: 1px;
     padding: 0;
     margin: -1px;
     overflow: hidden;
     clip: rect(0, 0, 0, 0);
     white-space: nowrap;
     border: 0;
 }

 :root {
     --cream: #FAF7F2;
     --charcoal: #1a1a1a;
     --forest: #1a3a32;
     --coral: #E85D4C;
     --sage: #7C9A82;
     --blue: #2563EB;
     --lavender: #E8E4F0;
     --text: #374151;
     --text-muted: #6B7280;
     --forest-light: #243D37;
     --forest-mid: #2A4A40;
     --white: #FFFFFF;
     --green-badge: #4CAF50;
     --muted: rgba(255, 255, 255, 0.5);
     --radius: 14px;
     --radius-sm: 8px;
     --radius-lg: 20px;
     --cream-dark: #EDE8E0;
     --green-success: #22C55E;
     --green-soft: #DCFCE7;
     --amber: #F59E0B;
     --amber-dim: #92700C;
     --coral-light: #D4857A;
     --forest-muted: #3A5548;
     --gray: #6B7280;
     --gray-light: #9CA3AF;
     --black: #1A1A1A;
     --font-serif: 'Instrument Serif', Georgia, 'Times New Roman', serif;
     --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
     --font-mono: 'JetBrains Mono', 'SF Mono', 'Fira Code', monospace;
     --race-duration: 8s;
 }

 body {
     font-family: 'Inter', -apple-system, sans-serif;
     background: var(--cream);
     color: var(--charcoal);
     line-height: 1.6;
     -webkit-font-smoothing: antialiased;
 }

 .serif {
     font-family: 'Instrument Serif', Georgia, serif;
 }

 /* Header */
 header {
     position: fixed;
     top: 0;
     left: 0;
     right: 0;
     z-index: 100;
     padding: 1rem 2rem;
 }

 nav {
     width: 80%;
     max-width: 1200px;
     margin: 0 auto;
     display: flex;
     justify-content: space-between;
     align-items: center;
     background: rgba(255, 255, 255);
     backdrop-filter: blur(20px);
     border: 1px solid rgba(0, 0, 0, 0.08);
     border-radius: 100px;
     padding: 0.75rem 1.5rem;
     box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
 }

 .logo {
     font-family: 'Inter', sans-serif;
     font-weight: 700;
     font-size: 1.25rem;
     letter-spacing: -0.02em;
     color: var(--charcoal);
     text-decoration: none;
     display: flex;
     align-items: center;
     gap: 0.5rem;
 }

 .logo-icon {
     width: 32px;
     height: 32px;
     background: var(--forest);
     border-radius: 8px;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .nav-links {
     display: flex;
     gap: 2.5rem;
     list-style: none;
 }

 .nav-links a {
     color: var(--text);
     text-decoration: none;
     font-size: 0.9rem;
     font-weight: 500;
     position: relative;
     transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
 }

 .nav-links a::after {
     content: '';
     position: absolute;
     bottom: -4px;
     left: 0;
     width: 0;
     height: 1.5px;
     background: var(--forest);
     transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
 }

 .nav-links a:hover {
     color: var(--forest);
 }

 .nav-links a:hover::after {
     width: 100%;
 }

 .has-dropdown {
     position: relative;
 }

 .has-dropdown>a {
     display: flex;
     align-items: center;
     gap: 3px;
 }

 .chevron-icon {
     transition: transform 0.25s ease;
     flex-shrink: 0;
 }

 .has-dropdown:hover .chevron-icon {
     transform: rotate(180deg);
 }

 .nav-dropdown {
     position: absolute;
     top: calc(100% + 16px);
     left: 50%;
     transform: translateX(-50%) translateY(8px);
     background: var(--cream);
     border: 1px solid rgba(0, 0, 0, 0.08);
     border-radius: 16px;
     box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(0, 0, 0, 0.04);
     padding: 8px;
     min-width: 280px;
     opacity: 0;
     visibility: hidden;
     transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
     z-index: 100;
 }

 .nav-dropdown::before {
     content: '';
     position: absolute;
     top: -16px;
     left: 0;
     right: 0;
     height: 16px;
 }

 .has-dropdown:hover .nav-dropdown {
     opacity: 1;
     visibility: visible;
     transform: translateX(-50%) translateY(0);
 }

 .dropdown-item {
     display: flex;
     align-items: center;
     gap: 12px;
     padding: 12px 14px;
     border-radius: 10px;
     text-decoration: none;
     border-left: 2px solid transparent;
     transition: background 0.2s ease, border-color 0.2s ease;
 }

 .dropdown-item:hover {
     background: rgba(26, 58, 50, 0.05);
     border-left-color: var(--forest);
 }

 .dropdown-item::after {
     display: none !important;
 }

 .dropdown-icon {
     width: 36px;
     height: 36px;
     border-radius: 9px;
     background: rgba(26, 58, 50, 0.06);
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
     transition: background 0.2s ease;
 }

 .dropdown-item:hover .dropdown-icon {
     background: rgba(26, 58, 50, 0.1);
 }

 .dropdown-text {
     display: flex;
     flex-direction: column;
     gap: 2px;
 }

 .dropdown-title {
     font-weight: 600;
     font-size: 0.85rem;
     color: var(--charcoal);
     line-height: 1.2;
 }

 .dropdown-desc {
     font-size: 0.75rem;
     color: var(--text-muted);
     line-height: 1.3;
     font-weight: 400;
 }

 .dropdown-item:hover .dropdown-title {
     color: var(--forest);
 }

 .nav-cta {
     display: flex;
     gap: 0.75rem;
 }

 .btn {
     padding: 0.625rem 1.25rem 0.5rem 1.25rem;
     border-radius: 8px;
     font-size: 0.9rem;
     font-weight: 600;
     text-decoration: none;
     transition: all 0.2s;
 }

 .btn-ghost {
     color: var(--forest);
     border: 1px solid transparent;
     background: transparent;
 }

 .btn-ghost:hover {
     border-color: var(--charcoal);
     background: rgba(26, 58, 50, 0.05);
 }

 .btn-primary {
     background: var(--forest);
     color: white;
 }

 .btn-primary:hover {
     background: #0f2a22;
     transform: translateY(-1px);
 }

 /* Hero */
 .hero {
     min-height: 100vh;
     padding: 8rem 2rem 4rem;
     display: grid;
     grid-template-columns: 1.15fr 1fr;
     gap: 4rem;
     max-width: 1300px;
     margin: 0 auto;
     align-items: center;
 }

 .hero-content {
     max-width: 590px;
 }

 .hero-badge {
     display: inline-flex;
     align-items: center;
     gap: 0.5rem;
     padding: 0.5rem 1rem;
     background: rgba(26, 58, 50, 0.08);
     border-radius: 100px;
     font-size: 0.8rem;
     font-weight: 600;
     color: var(--forest);
     margin-bottom: 1.5rem;
 }

 .hero-badge::before {
     content: '';
     width: 8px;
     height: 8px;
     background: var(--coral);
     border-radius: 50%;
     animation: pulse 2s infinite;
 }

 @keyframes pulse {

     0%,
     100% {
         opacity: 1;
         transform: scale(1);
     }

     50% {
         opacity: 0.5;
         transform: scale(1.2);
     }
 }

 h1 {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: clamp(2.75rem, 4.5vw, 5rem);
     font-weight: 400;
     line-height: 1.1;
     letter-spacing: -0.02em;
     margin-bottom: 1.5rem;
 }

 .hero-line2 {
     font-size: 0.65em;
     letter-spacing: 0.04em;
     font-weight: 700;
 }


 .hero-line2 b {
     text-decoration: underline;
     text-underline-offset: 0.18em;
     text-decoration-thickness: 1px;
 }
 }

 h1 em {
     font-style: italic;
     color: var(--forest);
 }

 .hero-description {
     font-size: 1.125rem;
     color: var(--text);
     line-height: 1.7;
     margin-bottom: 2rem;
 }

 .hero-ctas {
     display: flex;
     gap: 1rem;
     margin-bottom: 3rem;
 }

 .btn-large {
     padding: 1rem 2rem;
     font-size: 1rem;
 }

 .btn-outline {
     border: 1.5px solid #6b728059;
     color: var(--charcoal);
 }

 .btn-outline:hover {
     background: var(--charcoal);
     color: white;
 }

 /* Button Arrow Styles */
 .btn-arrow {
     display: inline-flex;
     align-items: center;
     gap: 0.5rem;
     justify-content: center;
 }

 .btn-arrow-icon {
     transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
     flex-shrink: 0;
     margin-top: 2px;
 }

 .btn-arrow:hover .btn-arrow-icon {
     transform: translateX(4px);
 }

 /* Primary button arrow - white stroke */
 .btn-primary .btn-arrow-icon {
     stroke: white;
 }

 /* Outline button arrow - dark stroke, white on hover */
 .btn-outline .btn-arrow-icon {
     stroke: var(--charcoal);
     transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), stroke 0.2s ease;
 }

 .btn-outline:hover .btn-arrow-icon {
     stroke: white;
 }

 /* Social Proof */
 .users {
     display: none;
     align-items: center;
     gap: 1rem;
     padding-top: 2rem;
     border-top: 1px solid rgba(0, 0, 0, 0.08);
 }

 .avatars {
     display: flex;
 }

 .avatar {
     width: 36px;
     height: 36px;
     border-radius: 50%;
     border: 2px solid var(--cream);
     margin-left: -10px;
     background: linear-gradient(135deg, var(--sage), var(--forest));
     display: flex;
     align-items: center;
     justify-content: center;
     color: white;
     font-size: 0.75rem;
     font-weight: 600;
 }

 .avatar:first-child {
     margin-left: 0;
 }

 .social-text {
     font-size: 0.875rem;
     color: var(--text-muted);
 }

 .social-text strong {
     color: var(--charcoal);
     font-weight: 600;
 }

 /* Hero Visual */
 .hero-visual {
     position: relative;
     background: white;
     border-radius: 16px;
     padding: 0;


     overflow: visible;
     border: 1px solid rgba(0, 0, 0, 0.13);

     box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12), 0 4px 16px rgba(0, 0, 0, 0.08);
 }

 .hero-visual .browser-chrome {
     background: #E8E9EB;
     border-radius: 16px;
     padding: 0.5rem 0.75rem;
     margin-bottom: 0;
     display: flex;
     align-items: center;
     gap: 0.5rem;
     border-bottom-right-radius: 0;
     border-bottom-left-radius: 0;
     border-bottom: 1px solid #E5E7EB;
 }

 .hero-visual .browser-dots {
     display: flex;
     gap: 6px;
 }

 .hero-visual .browser-dots span {
     width: 10px;
     height: 10px;
     border-radius: 50%;

 }

 .hero-visual .browser-dots span:nth-child(1) {
     background: #EF4444;
 }

 .hero-visual .browser-dots span:nth-child(2) {
     background: #F59E0B;
 }

 .hero-visual .browser-dots span:nth-child(3) {
     background: #10B981;
 }

 .hero-visual .browser-url {
     flex: 1;
     background: white;
     border: 1px solid #E5E7EB;
     border-radius: 6px;
     padding: 0.35rem 0.75rem;
     color: #9CA3AF;
     font-size: 0.8rem;
 }

 .demo-content {
     /* background: white; */
     border-radius: 16px;
     height: 350px;
     display: flex;
     flex-direction: column;
     overflow: visible;
     position: relative;
     border-top-right-radius: 0;
     border-top-left-radius: 0;
 }

 .demo-header {
     padding: 1rem 1.5rem;
     border-bottom: 1px solid #eee;
     display: flex;
     justify-content: space-between;
     align-items: center;
 }

 .demo-logo {
     font-weight: 700;
     color: var(--coral);
 }

 .demo-nav {
     display: flex;
     gap: 1rem;
     font-size: 0.8rem;
     color: var(--text-muted);
 }

 .demo-body {
     flex: 1;
     padding: 1.5rem;
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 1rem;
 }

 .demo-card {
     background: #f9fafb;
     border-radius: 8px;
     padding: 1rem;
     position: relative;
 }

 .demo-card-title {
     font-size: 0.75rem;
     color: var(--text-muted);
     margin-bottom: 0.5rem;
 }

 .demo-card-value {
     font-size: 1.25rem;
     font-weight: 700;
 }

 /* Cursor animation */
 #demo-cursor {
     position: absolute;
     width: 16px;
     height: 16px;
     pointer-events: none;
     z-index: 100;
     opacity: 0;
     top: 50px;
     left: 50px;
 }

 #demo-cursor.visible {
     opacity: 1;
 }

 #demo-cursor.clicking {
     transform: scale(0.85);
 }

 #demo-cursor svg {
     filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
     width: 16px;
     height: 16px;
 }

 /* Extract Card Animation Styles */
 #extract-zoom-container {
     transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
     transform-origin: 75px 90px;
 }

 #extract-browser {
     transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
 }

 #extract-window-rect,
 #extract-clip-rect {
     transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
 }

 #extract-cursor {
     transition: transform 0.3s ease-out, opacity 0.2s ease;
 }

 #extract-cursor.visible {
     opacity: 1;
 }

 #extract-data-table {
     transition: opacity 0.3s ease, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
 }

 #extract-data-table.visible {
     opacity: 1;
     transform: translateX(0px);
 }

 #extract-arrow {
     transition: opacity 0.3s ease;
 }

 #extract-arrow.visible {
     opacity: 1;
 }

 #extract-searchbox-focused,
 #extract-checkin-focused,
 #extract-dates-filled,
 #extract-search-btn-pressed,
 #extract-calendar,
 #extract-date15-selected,
 #extract-date18-selected,
 #extract-results-page,
 #extract-row1,
 #extract-row2,
 #extract-row3,
 #extract-success {
     transition: opacity 0.15s ease;
 }

 #extract-search-page {
     transition: opacity 0.3s ease;
 }

 #extract-typing-cursor {
     transition: transform 0.05s linear;
 }

 #extract-click-ripple {
     transition: r 0.15s ease-out;
 }

 /* Transact Card Animation Styles */
 #transact-demo {
     position: relative;
 }

 #transact-zoom-container {
     transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
     transform-origin: 160px 90px;
 }

 #transact-browser {
     transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease;
 }

 #transact-window-rect,
 #transact-clip-rect,
 #transact-header-bg {
     transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
 }

 #transact-url-bar-bg,
 #transact-url-text {
     transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
 }

 #transact-tabs {
     transition: opacity 0.2s ease;
 }

 #transact-cursor {
     transition: transform 0.3s ease-out, opacity 0.2s ease;
 }

 #transact-click-ripple {
     transition: r 0.15s ease-out;
 }

 #transact-typing-cursor {
     transition: opacity 0.1s ease;
 }

 #transact-insurance-tab,
 #transact-gmail-tab {
     transition: fill 0.15s ease, opacity 0.15s ease;
 }

 #transact-insurance-content,
 #transact-gmail-content,
 #transact-file-explorer,
 #transact-success-modal,
 #transact-success-compact {
     transition: opacity 0.3s ease;
 }

 #transact-json-panel {
     transition: opacity 0.3s ease, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
 }

 #transact-arrow {
     transition: opacity 0.3s ease;
 }

 #transact-download-indicator {
     transition: opacity 0.2s ease;
 }

 .transact-field-value {
     transition: opacity 0.15s ease;
 }

 /* Act Card Animation Styles */
 #act-demo {
     position: relative;
 }

 #act-zoom-container {
     transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
     transform-origin: 75px 90px;
 }

 #act-browser {
     transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease;
 }

 #act-window-rect,
 #act-clip-rect,
 #act-header-bg,
 #act-url-bar,
 #act-site-header {
     transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
 }

 #act-cursor {
     transition: transform 0.3s ease-out, opacity 0.2s ease;
 }

 #act-click-ripple {
     transition: r 0.15s ease-out;
 }

 #act-price-group text {
     transition: fill 0.2s ease;
 }

 #act-widget-bg {
     transition: stroke 0.3s ease, filter 0.3s ease;
 }

 #act-confirm-panel,
 #act-success-modal,
 #act-json-panel,
 #act-arrow {
     transition: opacity 0.3s ease;
 }

 #act-json-panel {
     transition: opacity 0.3s ease, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
 }

 #act-buy-btn-default,
 #act-buy-btn-highlighted,
 #act-confirm-btn-default,
 #act-confirm-btn-highlighted {
     transition: opacity 0.15s ease;
 }

 #act-target-line {
     transition: stroke-width 0.2s ease, opacity 0.2s ease;
 }

 #act-price-arrow-up,
 #act-price-arrow-down {
     transition: opacity 0.15s ease;
 }

 #act-success-check {
     stroke-dasharray: 30;
     stroke-dashoffset: 30;
     transition: stroke-dashoffset 0.4s ease;
 }

 #act-success-check.animate {
     stroke-dashoffset: 0;
 }

 /* Amazon Demo Styles */
 .amazon-frame {
     display: none;
     flex-direction: column;
     height: 100%;
     opacity: 0;
     transition: opacity 0.3s ease;
     overflow: hidden;
     border-radius: 0 0 16px 16px;
 }

 .amazon-frame.active {
     display: flex;
     opacity: 1;
 }

 .amazon-header {
     display: flex;
     align-items: center;
     gap: 0.5rem;
     padding: 0.5rem 0.75rem;
     background: #131921;
     border-radius: 0;
 }

 .amazon-header.compact {
     padding: 0.4rem 0.75rem;
 }

 .amazon-logo {
     flex-shrink: 0;
     margin-bottom: -4px;
     margin-left: -10px;
 }

 .amazon-search-bar {
     flex: 1;
     display: flex;
     align-items: stretch;
     background: white;
     border-radius: 4px;
     overflow: hidden;
     height: 28px;
 }

 .amazon-search-category {
     background: #e6e6e6;
     border: none;
     padding: 0 0.5rem;
     font-size: 0.65rem;
     color: #555;
     cursor: pointer;
     border-right: 1px solid #cdcdcd;
 }

 .amazon-search-input {
     flex: 1;
     border: none;
     padding: 0 0.5rem;
     font-size: 0.7rem;
     outline: none;
     min-width: 0;
 }

 .amazon-search-input::placeholder {
     color: #999;
 }

 .amazon-search-btn {
     background: #febd69;
     border: none;
     padding: 0 0.6rem;
     cursor: pointer;
     display: flex;
     align-items: center;
     justify-content: center;
     transition: background 0.15s ease;
 }

 .amazon-search-btn:hover {
     background: #f3a847;
 }

 .amazon-search-btn.pressed {
     background: #e09422;
     transform: scale(0.98);
 }

 .amazon-search-btn svg {
     stroke: #131921;
 }

 .amazon-nav-right {
     display: flex;
     gap: 0.75rem;
     color: white;
     font-size: 0.6rem;
 }

 .amazon-nav-item {
     display: flex;
     align-items: center;
     gap: 0.25rem;
     white-space: nowrap;
 }

 .amazon-cart svg {
     stroke: white;
 }

 .amazon-body {
     flex: 1;
     background: #eaeded;
     overflow: hidden;
 }

 .amazon-body.homepage {
     display: flex;
     flex-direction: column;
     gap: 0.5rem;
     padding: 0.5rem;
 }

 .amazon-hero-banner {
     background: linear-gradient(135deg, #232f3e 0%, #37475a 100%);
     height: 70px;
     border-radius: 4px;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .banner-text {
     color: white;
     font-size: 1rem;
     font-weight: 600;
 }

 .amazon-categories {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     gap: 0.5rem;
 }

 .category-card {
     background: white;
     border-radius: 4px;
     padding: 0.5rem;
     text-align: center;
 }

 .category-img {
     height: 40px;
     background: linear-gradient(135deg, #f0f0f0 0%, #e0e0e0 100%);
     border-radius: 4px;
     margin-bottom: 0.3rem;

     overflow: hidden;
 }

 .category-img img {
     width: 100%;
     object-fit: cover;
     height: 100%;
 }

 .category-card span {
     font-size: 0.55rem;
     color: #0f1111;
     font-weight: 500;
 }

 /* Search Results Styles */
 .amazon-body.results {
     display: flex;
     flex-direction: column;
     padding: 0;
 }

 .results-header {
     display: flex;
     justify-content: space-between;
     align-items: center;
     padding: 0.4rem 0.6rem;
     background: white;
     border-bottom: 1px solid #ddd;
 }

 .results-count {
     font-size: 0.55rem;
     color: #565959;
 }

 .results-count strong {
     color: #c45500;
 }

 .sort-dropdown {
     display: flex;
     align-items: center;
     gap: 0.25rem;
     padding: 0.25rem 0.5rem;
     background: #f0f2f2;
     border: 1px solid #d5d9d9;
     border-radius: 4px;
     font-size: 0.55rem;
     cursor: pointer;
     position: relative;
 }

 .sort-dropdown:hover {
     background: #e3e6e6;
 }

 .sort-options {
     position: absolute;
     top: 100%;
     right: 0;
     background: white;
     border: 1px solid #ddd;
     border-radius: 4px;
     box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
     display: none;
     z-index: 50;
     min-width: 120px;
 }

 .sort-options.open {
     display: block;
 }

 .sort-option {
     padding: 0.35rem 0.5rem;
     font-size: 0.55rem;
     cursor: pointer;
     white-space: nowrap;
 }

 .sort-option:hover {
     background: #f0f2f2;
 }

 .sort-option.selected {
     background: #edfdff;
     color: #007185;
 }

 .results-container {
     display: flex;
     flex: 1;
     overflow: hidden;
 }

 .filters-sidebar {
     width: 90px;
     background: white;
     padding: 0.5rem;
     border-right: 1px solid #ddd;
     overflow-y: auto;
 }

 .filter-group {
     margin-bottom: 0.6rem;
 }

 .filter-title {
     font-size: 0.6rem;
     font-weight: 700;
     color: #0f1111;
     margin-bottom: 0.3rem;
     display: flex;
     align-items: center;
     justify-content: space-between;
     cursor: pointer;
 }

 .filter-options {
     display: none;
 }

 .filter-options.open {
     display: block;
 }

 .filter-option {
     display: flex;
     align-items: center;
     gap: 0.25rem;
     font-size: 0.5rem;
     padding: 0.2rem 0;
     cursor: pointer;
     transition: background 0.15s ease;
 }

 .filter-option:hover {
     background: #f0f2f2;
 }

 .filter-option.selected {
     background: #edfdff;
 }

 .filter-option .stars {
     color: #de7921;
     font-size: 0.55rem;
 }

 .products-grid {
     flex: 1;
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 0.4rem;
     padding: 0.4rem;
     overflow-y: auto;
     align-content: start;
 }

 .products-grid.loading {
     opacity: 0.5;
     pointer-events: none;
 }

 .product-card {
     background: white;
     border-radius: 4px;
     padding: 0.4rem;
     cursor: pointer;
     transition: all 0.15s ease;
     border: 2px solid transparent;
 }

 .product-card:hover {
     box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
     border-color: #1a3a32;
 }

 .product-card.hidden {
     display: none;
 }

 .product-card[data-product="bose"] {
     display: none;
 }

 .product-image {
     height: 50px;
     background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%);
     border-radius: 4px;
     margin-bottom: 0.3rem;
     overflow: hidden;
 }

 .product-image img {
     width: 100%;
     object-fit: fill;
 }

 .product-image.sony {
     background: linear-gradient(135deg, #1a1a1a 0%, #333 100%);
 }

 .product-image.apple {
     background: linear-gradient(135deg, #f5f5f7 0%, #e8e8e8 100%);
 }

 .product-image.samsung {
     background: linear-gradient(135deg, #1428a0 0%, #4a5ae8 100%);
 }

 .product-image.bose {
     background: linear-gradient(135deg, #000 0%, #2d2d2d 100%);
 }

 .product-image.generic {
     background: linear-gradient(135deg, #ccc 0%, #999 100%);
 }

 .product-info {
     font-size: 0.5rem;
 }

 .product-title {
     color: #0f1111;
     font-weight: 500;
     line-height: 1.2;
     margin-bottom: 0.2rem;
     display: -webkit-box;
     -webkit-line-clamp: 2;
     -webkit-box-orient: vertical;
     overflow: hidden;
 }

 .product-rating {
     display: flex;
     align-items: center;
     gap: 0.25rem;
     margin-bottom: 0.15rem;
 }

 .product-rating .stars {
     color: #de7921;
     font-size: 0.55rem;
 }

 .rating-count {
     color: #007185;
     font-size: 0.45rem;
 }

 .product-price {
     font-size: 0.7rem;
     font-weight: 500;
     color: #0f1111;
 }

 .product-prime {
     color: #007185;
     font-size: 0.4rem;
     margin-top: 0.1rem;
 }

 /* Product Detail Page */
 .amazon-body.product-detail {
     background: white;
     padding: 0.75rem;
 }

 .product-detail-container {
     display: grid;
     grid-template-columns: 1fr 1.2fr;
     gap: 1rem;
     height: 100%;
 }

 .product-detail-image {
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .main-product-image {
     width: 100%;
     height: 140px;
     border-radius: 8px;
 }

 .main-product-image.sony-large {
     background: linear-gradient(135deg, #1a1a1a 0%, #333 100%);
 }

 .product-detail-info {
     display: flex;
     flex-direction: column;
     gap: 0.4rem;
 }

 .product-detail-title {
     font-size: 0.75rem;
     font-weight: 500;
     color: #0f1111;
     line-height: 1.3;
 }

 .product-detail-rating {
     display: flex;
     align-items: center;
     gap: 0.4rem;
 }

 .product-detail-rating .stars.large {
     color: #de7921;
     font-size: 0.7rem;
 }

 .product-detail-rating .rating-count {
     color: #007185;
     font-size: 0.55rem;
 }

 .product-detail-price {
     display: flex;
     align-items: baseline;
     gap: 0.3rem;
 }

 .price-label {
     font-size: 0.55rem;
     color: #565959;
 }

 .price-value {
     font-size: 1.1rem;
     font-weight: 500;
     color: #0f1111;
 }

 .product-detail-availability .in-stock {
     color: #007600;
     font-size: 0.6rem;
     font-weight: 500;
 }

 .add-to-cart-btn {
     background: #ffd814;
     border: 1px solid #fcd200;
     border-radius: 20px;
     padding: 0.4rem 0.8rem;
     font-size: 0.6rem;
     font-weight: 500;
     cursor: pointer;
     transition: background 0.15s ease;
 }

 .add-to-cart-btn:hover {
     background: #f7ca00;
 }

 .buy-now-btn {
     background: #ffa41c;
     border: 1px solid #ff8f00;
     border-radius: 20px;
     padding: 0.4rem 0.8rem;
     font-size: 0.6rem;
     font-weight: 500;
     cursor: pointer;
     transition: background 0.15s ease;
 }

 .buy-now-btn:hover {
     background: #fa8900;
 }

 /* Data Extraction Overlay */
 .extraction-overlay {
     position: absolute;
     top: auto;
     left: 55%;
     right: -35px;
     bottom: -70px;
     background: transparent;
     display: none;
     align-items: flex-end;
     justify-content: flex-end;
     pointer-events: none;
     z-index: 90;
     border-radius: 0;
 }

 .extraction-overlay.active {
     display: flex;
 }

 .extraction-modal {
     font-family: 'Inter', -apple-system, sans-serif;
     background: #EEF6EE;
     border-radius: 8px;
     border: 1px solid rgba(16, 185, 129, 0.15);
     width: 100%;
     box-shadow: 0 25px 60px rgba(0, 0, 0, 0.2), 0 8px 20px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(16, 185, 129, 0.08);
     pointer-events: auto;
     overflow: hidden;
 }

 .demo-modal-header {
     display: flex;
     align-items: center;
     gap: 5px;
     padding: 5px 8px;
     background: #E8F3E8;
     border-bottom: 1px solid #E5E7EB;
 }

 .enigma-icon {
     width: 14px;
     height: 14px;
     background: var(--coral);
     border-radius: 3px;
     display: flex;
     align-items: center;
     justify-content: center;
     color: white;
     flex-shrink: 0;
 }

 .enigma-icon svg {
     width: 8px;
     height: 8px;
 }

 .demo-modal-title {
     font-family: 'Inter', -apple-system, sans-serif;
     color: #1a3a32;
     font-size: 12px;
     font-weight: 500;
     flex: 1;
     white-space: nowrap;
 }

 .extracted-badge {
     font-family: 'Inter', -apple-system, sans-serif;
     background: rgba(16, 185, 129, 0.15);
     color: white;
     padding: 2px 5px;
     border-radius: 3px;
     font-size: 7px;
     font-weight: 600;
     opacity: 0;
     transition: opacity 0.3s ease;
     white-space: nowrap;
     display: inline-flex;
     align-items: center;
     gap: 2px;
     overflow: hidden;
     position: relative;
 }

 .extracted-badge.extracting {
     opacity: 1;
     background: rgba(16, 185, 129, 0.15);
     color: #10b981;
 }

 .extracted-badge.visible {
     opacity: 1;
     background: #10b981;
     color: white;
     animation: badge-fill 0.4s ease-out;
 }

 .badge-extracting {
     display: inline-flex;
     align-items: center;
     gap: 3px;
 }

 .badge-extracted {
     display: none;
     align-items: center;
     gap: 2px;
 }

 .extracted-badge.extracting .badge-extracting {
     display: inline-flex;
 }

 .extracted-badge.extracting .badge-extracted {
     display: none;
 }

 .extracted-badge.visible .badge-extracting {
     display: none;
 }

 .extracted-badge.visible .badge-extracted {
     display: inline-flex;
 }

 .extracting-dot {
     width: 4px;
     height: 4px;
     border-radius: 50%;
     background: #10b981;
     animation: extracting-pulse 1s ease-in-out infinite;
 }

 .checkmark-svg .checkmark-path {
     stroke-dasharray: 14;
     stroke-dashoffset: 14;
 }

 .extracted-badge.visible .checkmark-svg .checkmark-path {
     animation: checkmark-draw 0.35s ease-out 0.1s forwards;
 }

 @keyframes extracting-pulse {

     0%,
     100% {
         opacity: 0.4;
         transform: scale(0.8);
     }

     50% {
         opacity: 1;
         transform: scale(1.2);
     }
 }

 @keyframes checkmark-draw {
     to {
         stroke-dashoffset: 0;
     }
 }

 @keyframes badge-fill {
     0% {
         background: rgba(16, 185, 129, 0.15);
     }

     100% {
         background: #10b981;
     }
 }

 .json-output {
     display: flex;
     padding: 6px;
     font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
     font-size: 10px;
     line-height: 1.35;
     background: #F0F7F0;
     max-height: fit-content;
     overflow: hidden;
 }

 .json-line-numbers {
     color: #9CA3AF;
     padding-right: 5px;
     border-right: 1px solid #E5E7EB;
     margin-right: 5px;
     text-align: right;
     user-select: none;
     flex-shrink: 0;
     white-space: pre;
 }

 .json-content {
     color: #374151;
     margin: 0;
     white-space: pre;
     overflow: hidden;
     flex: 1;
 }

 .json-key {
     color: #1a3a32;
 }

 .json-string {
     color: #059669;
 }

 .json-number {
     color: #D97706;
 }

 .json-bracket {
     color: #6B7280;
 }

 /* Typing cursor for search */
 .typing-cursor {
     display: inline-block;
     width: 1px;
     height: 14px;
     background: #333;
     animation: blink 0.7s infinite;
     vertical-align: middle;
     margin-left: 1px;
 }

 @keyframes blink {

     0%,
     50% {
         opacity: 1;
     }

     51%,
     100% {
         opacity: 0;
     }
 }

 /* Agent Badge */
 .agent-badge {
     position: absolute;
     display: none;
     bottom: 1rem;
     right: 1.5rem;
     background: var(--coral);
     color: white;
     padding: 0.5rem 1rem;
     border-radius: 100px;
     font-size: 0.75rem;
     font-weight: 600;
     display: flex;
     align-items: center;
     gap: 0.5rem;
     box-shadow: 0 4px 12px rgba(232, 93, 76, 0.4);
     z-index: 999;
 }


 /* Speed Metrics Section */
 .speed-metrics-section {
     background: var(--forest);
     padding: 6rem 2rem 0rem 2rem;
 }

 .speed-metrics-section h2 {
     color: var(--white);
 }

 .speed-metrics-section .section-description {
     color: rgba(255, 255, 255, 0.7);
 }

 .speed-metrics-container {
     max-width: 1200px;
     margin: 0 auto;
 }

 /* Race Container Styles (from concept-1-the-gap) */
 .race-container {
     display: flex;
     gap: 20px;
     align-items: stretch;
     margin-bottom: 32px;
     position: relative;
     padding: 0 2.5vw;
 }

 .rc-webrun-panel {
     flex: 1;
     min-width: 0;
     display: flex;
     flex-direction: column;
     gap: 12px;
 }

 /* Right sidebar: Files + Policy stacked */
 .rc-side-panels {
     flex: 0 0 280px;
     max-width: 280px;
     display: flex;
     flex-direction: column;
     gap: 12px;
 }


 /* Browser Chrome */
 .rc-browser-window {
     background: var(--white);
     border: 1px solid var(--cream-dark);
     border-radius: var(--radius-lg);
     overflow: hidden;
     box-shadow: 0 4px 24px rgba(30, 57, 50, 0.06);
     position: relative;
     display: flex;
     flex-direction: column;
     flex: 1;
 }

 .rc-browser-chrome {
     display: flex;
     flex-direction: column;
     background: #d5d3cf;
     border-bottom: 1px solid var(--cream-dark);
 }

 /* Tab strip row */
 .rc-browser-chrome-top {
     display: flex;
     align-items: center;
     gap: 8px;
     padding: 8px 12px 0;
 }

 .rc-browser-dots {
     display: flex;
     gap: 6px;
     flex-shrink: 0;
     padding-bottom: 4px;
 }

 .rc-browser-dots span {
     width: 10px;
     height: 10px;
     border-radius: 50%;
 }

 .rc-browser-dots span:nth-child(1) {
     background: #FF5F57;
 }

 .rc-browser-dots span:nth-child(2) {
     background: #FEBC2E;
 }

 .rc-browser-dots span:nth-child(3) {
     background: #28C840;
 }

 /* --- Browser Tabs --- */
 .rc-browser-tabs {
     display: flex;
     align-items: flex-end;
     gap: 2px;
     flex: 1;
     min-width: 0;
 }

 .rc-browser-tab {
     display: flex;
     align-items: center;
     gap: 5px;
     padding: 5px 12px;
     font-family: var(--font-sans);
     font-size: 11px;
     color: rgba(0, 0, 0, 0.5);
     background: rgba(0, 0, 0, 0.04);
     border-radius: 8px 8px 0 0;
     cursor: default;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
     max-width: 200px;
     position: relative;
     line-height: 1.3;
 }

 .rc-browser-tab.active {
     background: var(--cream);
     color: var(--black);
     font-weight: 500;
 }

 .rc-browser-tab .rc-tab-icon {
     width: 12px;
     height: 12px;
     flex-shrink: 0;
 }

 .rc-browser-tab .rc-tab-close {
     width: 10px;
     height: 10px;
     color: rgba(0, 0, 0, 0.3);
     flex-shrink: 0;
     margin-left: 4px;
 }

 .rc-browser-tab.active .rc-tab-close {
     color: var(--gray-light);
 }

 .rc-browser-tab-add {
     width: 22px;
     height: 22px;
     display: flex;
     align-items: center;
     justify-content: center;
     border-radius: 50%;
     cursor: default;
     margin-left: 2px;
     margin-bottom: 2px;
     flex-shrink: 0;
 }

 .rc-browser-tab-add svg {
     width: 12px;
     height: 12px;
     color: rgba(0, 0, 0, 0.4);
 }

 .rc-browser-tab-new {
     opacity: 0;
     max-width: 0;
     padding: 5px 0;
     overflow: hidden;
     transition: opacity 0.2s ease, max-width 0.25s ease, padding 0.25s ease;
 }

 .rc-browser-tab-new.show {
     opacity: 1;
     max-width: 200px;
     padding: 5px 12px;
 }

 /* Toolbar row — matches active tab bg */
 .rc-browser-url-row {
     display: flex;
     align-items: center;
     gap: 10px;
     padding: 6px 12px 8px;
     background: var(--cream);
 }

 .rc-browser-url-bar {
     flex: 1;
     display: flex;
     align-items: center;
     gap: 6px;
     background: var(--white);
     border: 1px solid var(--cream-dark);
     border-radius: 8px;
     padding: 6px 12px;
     font-family: var(--font-sans);
     font-size: 12px;
     color: var(--gray);
 }

 .rc-browser-url-bar .rc-lock-icon {
     color: var(--green-success);
     font-size: 10px;
 }

 .rc-browser-url-bar .rc-url-text {
     color: var(--black);
     font-weight: 500;
 }

 /* Browser Viewport */
 .rc-browser-viewport {
     padding: 16px;
     flex: 1;
     position: relative;
     overflow: hidden;
 }

 /* Page Loading Bar */
 .rc-page-load-bar {
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 2px;
     z-index: 20;
     opacity: 0;
     pointer-events: none;
     transition: opacity 0.15s ease;
 }

 .rc-page-load-bar.active {
     opacity: 1;
 }

 .rc-page-load-fill {
     height: 100%;
     width: 0%;
     background: linear-gradient(90deg, #1a73e8, #4da3ff);
     border-radius: 0 1px 1px 0;
 }

 .rc-page-load-fill.filling {
     width: 100%;
     transition: width 0.45s cubic-bezier(0.4, 0, 0.2, 1);
 }

 #scene-gov {
     transition: opacity 0.2s ease;
 }

 #scene-gov.loading {
     opacity: 0;
 }

 /* ============================================
       GOVERNMENT PORTAL MOCKUP
       ============================================ */
 .rc-gov-header {
     display: flex;
     align-items: center;
     justify-content: space-between;
     margin-bottom: 12px;
     padding-bottom: 10px;
     border-bottom: 2px solid #1a4480;
 }

 .rc-gov-logo {
     font-family: var(--font-sans);
     font-size: 15px;
     font-weight: 700;
     color: #1a4480;
     display: flex;
     align-items: center;
     gap: 6px;
 }

 .rc-gov-seal {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: 20px;
     height: 20px;
     background: #1a4480;
     color: white;
     border-radius: 50%;
     font-size: 10px;
     line-height: 1;
 }

 .rc-gov-nav {
     display: flex;
     gap: 12px;
     font-family: var(--font-sans);
     font-size: 11px;
     color: var(--gray);
 }

 .rc-gov-nav-item {
     padding-bottom: 2px;
     cursor: default;
 }

 .rc-gov-nav-item.active {
     color: #1a4480;
     font-weight: 600;
     border-bottom: 2px solid #1a4480;
 }

 .rc-gov-table {
     font-family: var(--font-sans);
     font-size: 12px;
 }

 .rc-gov-table-header {
     display: grid;
     grid-template-columns: 1fr 44px 54px 30px;
     gap: 8px;
     padding: 6px 8px;
     background: #f0f4f8;
     border-radius: 4px;
     font-weight: 600;
     color: var(--gray);
     font-size: 10px;
     text-transform: uppercase;
     letter-spacing: 0.5px;
     margin-bottom: 2px;
 }

 .rc-gov-table-row {
     display: grid;
     grid-template-columns: 1fr 44px 54px 30px;
     gap: 8px;
     padding: 8px;
     border-bottom: 1px solid #f0f0f0;
     align-items: center;
     transition: background 0.2s ease;
 }

 .rc-gov-table-row.selected {
     background: #EFF6FF;
     border-radius: 4px;
     border-color: transparent;
 }

 .rc-col-name {
     overflow: hidden;
     text-overflow: ellipsis;
     white-space: nowrap;
     color: var(--black);
     font-weight: 500;
 }

 .rc-col-type {
     color: var(--gray);
     font-size: 10px;
     text-transform: uppercase;
     letter-spacing: 0.3px;
 }

 .rc-col-size {
     color: var(--gray-light);
     font-size: 11px;
     text-align: right;
 }

 .rc-col-action {
     display: flex;
     justify-content: center;
 }

 .rc-gov-download-btn {
     width: 24px;
     height: 24px;
     background: #1a4480;
     color: white;
     border: none;
     border-radius: 4px;
     font-size: 13px;
     cursor: pointer;
     display: flex;
     align-items: center;
     justify-content: center;
     line-height: 1;
 }

 /* --- Chrome-style Download Bar --- */
 .rc-chrome-download-bar {
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     background: #f1f3f4;
     border-top: 1px solid #dadce0;
     padding: 6px 12px;
     display: flex;
     align-items: center;
     gap: 8px;
     font-family: var(--font-sans);
     z-index: 3;
     opacity: 0;
     transform: translateY(100%);
     transition: opacity 0.2s ease, transform 0.2s ease;
 }

 .rc-chrome-download-bar.visible {
     opacity: 1;
     transform: translateY(0);
 }

 .rc-chrome-dl-icon {
     width: 28px;
     height: 28px;
     background: #fff;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
     position: relative;
 }

 .rc-chrome-dl-icon svg {
     width: 14px;
     height: 14px;
     color: #1a73e8;
 }

 .rc-chrome-dl-ring {
     position: absolute;
     inset: 0;
     border-radius: 50%;
     border: 2.5px solid #e8eaed;
     border-top-color: #1a73e8;
     animation: chrome-spin 0.8s linear infinite;
 }

 .rc-chrome-dl-ring.done {
     border-color: #1a73e8;
     animation: none;
 }

 @keyframes chrome-spin {
     to {
         transform: rotate(360deg);
     }
 }

 .rc-chrome-dl-info {
     flex: 1;
     min-width: 0;
 }

 .rc-chrome-dl-name {
     font-size: 11px;
     font-weight: 500;
     color: #3c4043;
     overflow: hidden;
     text-overflow: ellipsis;
     white-space: nowrap;
 }

 .rc-chrome-dl-status {
     font-size: 10px;
     color: #5f6368;
 }

 .rc-chrome-dl-close {
     width: 16px;
     height: 16px;
     color: #5f6368;
     flex-shrink: 0;
     cursor: pointer;
 }

 /* ============================================
       GOOGLE DRIVE MOCKUP — Realistic
       ============================================ */
 #scene-drive {
     margin: -16px;
     display: flex;
     flex-direction: column;
     min-height: calc(100% + 32px);
 }

 .rc-drive-scene {
     display: flex;
     flex: 1;
     font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
     background: #fff;
     position: relative;
     min-height: 380px;
 }

 /* --- Drive Top Bar --- */
 .rc-drive-topbar {
     display: flex;
     align-items: center;
     gap: 10px;
     padding: 6px 12px;
     border-bottom: 1px solid #dadce0;
 }

 .rc-drive-topbar-logo {
     display: flex;
     align-items: center;
     gap: 6px;
     flex-shrink: 0;
 }

 .rc-drive-topbar-logo svg {
     width: 22px;
     height: 20px;
 }

 .rc-drive-topbar-logo span {
     font-size: 16px;
     font-weight: 500;
     color: #5f6368;
     letter-spacing: -0.2px;
 }

 .rc-drive-search {
     flex: 1;
     display: flex;
     align-items: center;
     gap: 6px;
     background: #e9eef6;
     border-radius: 24px;
     padding: 6px 12px;
     min-width: 0;
 }

 .rc-drive-search svg {
     width: 14px;
     height: 14px;
     color: #5f6368;
     flex-shrink: 0;
 }

 .rc-drive-search span {
     font-size: 11px;
     color: #5f6368;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
 }

 .rc-drive-search-filter {
     flex-shrink: 0;
 }

 .rc-drive-topbar-icons {
     display: flex;
     align-items: center;
     gap: 4px;
     flex-shrink: 0;
 }

 .rc-drive-topbar-icons svg {
     width: 16px;
     height: 16px;
     color: #5f6368;
 }

 .rc-drive-topbar-avatar {
     width: 20px;
     height: 20px;
     border-radius: 50%;
     background: #1a73e8;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 9px;
     font-weight: 600;
     color: #fff;
     flex-shrink: 0;
 }

 /* --- Drive Sidebar --- */
 .rc-drive-sidebar {
     width: 110px;
     flex-shrink: 0;
     padding: 8px 0 8px 6px;
     border-right: 1px solid #f1f3f4;
     display: flex;
     flex-direction: column;
     gap: 0;
 }

 .rc-drive-new-btn {
     display: flex;
     align-items: center;
     gap: 4px;
     padding: 6px 14px;
     margin: 0 6px 8px 2px;
     background: #fff;
     border: 1px solid #dadce0;
     border-radius: 24px;
     font-size: 11px;
     font-weight: 500;
     color: #3c4043;
     cursor: pointer;
     box-shadow: 0 1px 2px rgba(60, 64, 67, 0.08);
 }

 .rc-drive-new-btn svg {
     width: 14px;
     height: 14px;
     color: #5f6368;
 }

 .rc-drive-nav-item {
     display: flex;
     align-items: center;
     gap: 8px;
     padding: 5px 10px;
     border-radius: 0 20px 20px 0;
     font-size: 10px;
     font-weight: 500;
     color: #3c4043;
     cursor: default;
     white-space: nowrap;
     line-height: 1.3;
 }

 .rc-drive-nav-item svg {
     width: 14px;
     height: 14px;
     flex-shrink: 0;
 }

 .rc-drive-nav-item.active {
     background: #e8f0fe;
     color: #1a73e8;
     font-weight: 600;
 }

 .rc-drive-nav-item.active svg {
     color: #1a73e8;
 }

 .rc-drive-storage {
     margin-top: auto;
     padding: 8px 10px 2px;
     font-size: 9px;
     color: #5f6368;
     line-height: 1.4;
 }

 .rc-drive-storage-bar {
     height: 3px;
     background: #e0e0e0;
     border-radius: 2px;
     margin-top: 3px;
     overflow: hidden;
 }

 .rc-drive-storage-fill {
     height: 100%;
     width: 21%;
     background: #1a73e8;
     border-radius: 2px;
 }

 /* --- Drive Main Content --- */
 .rc-drive-main {
     flex: 1;
     min-width: 0;
     display: flex;
     flex-direction: column;
     position: relative;
 }

 /* --- Drive Drop Zone Overlay --- */
 .rc-drive-drop-overlay {
     position: absolute;
     inset: 0;
     z-index: 4;
     background: rgba(232, 240, 254, 0.92);
     opacity: 0;
     pointer-events: none;
     transition: opacity 0.2s ease;
     display: flex;
     align-items: center;
     justify-content: center;
     padding: 16px;
 }

 .rc-drive-drop-overlay.visible {
     opacity: 1;
 }

 .rc-drive-drop-border {
     width: 100%;
     height: 100%;
     border: 2px dashed #1a73e8;
     border-radius: 12px;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .rc-drive-drop-content {
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 8px;
     color: #1a73e8;
 }

 .rc-drive-drop-icon {
     width: 36px;
     height: 36px;
     color: #1a73e8;
 }

 .rc-drive-drop-content span {
     font-size: 13px;
     font-weight: 500;
     color: #1a73e8;
 }

 .rc-drive-main-header {
     padding: 10px 14px 6px;
     font-size: 13px;
     font-weight: 500;
     color: #3c4043;
 }

 .rc-drive-section-title {
     display: flex;
     align-items: center;
     gap: 4px;
     font-size: 10px;
     font-weight: 500;
     color: #3c4043;
     padding: 6px 14px 4px;
 }

 .rc-drive-section-title svg {
     width: 10px;
     height: 10px;
     color: #5f6368;
 }

 /* --- Suggested Folders Row --- */
 .rc-drive-folders-row {
     display: flex;
     gap: 8px;
     padding: 4px 14px 8px;
 }

 .rc-drive-folder-chip {
     display: flex;
     align-items: center;
     gap: 6px;
     padding: 6px 10px;
     background: #fff;
     border: 1px solid #dadce0;
     border-radius: 8px;
     font-size: 10px;
     font-weight: 500;
     color: #3c4043;
     white-space: nowrap;
     min-width: 0;
 }

 .rc-drive-folder-chip svg {
     width: 16px;
     height: 14px;
     flex-shrink: 0;
 }

 .rc-drive-folder-chip .rc-folder-sub {
     font-size: 8px;
     font-weight: 400;
     color: #5f6368;
     display: block;
     line-height: 1.2;
 }

 .rc-drive-folder-chip .rc-three-dot {
     color: #5f6368;
     font-size: 12px;
     letter-spacing: -1px;
     flex-shrink: 0;
 }

 /* --- File Cards Grid --- */
 .rc-drive-files-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 8px;
     padding: 4px 14px 8px;
 }

 .rc-drive-file-card {
     border: 1px solid #dadce0;
     border-radius: 8px;
     overflow: hidden;
     background: #fff;
 }

 .rc-drive-file-card-header {
     display: flex;
     align-items: center;
     gap: 5px;
     padding: 6px 8px;
 }

 .rc-drive-file-card-header .rc-card-icon {
     width: 14px;
     height: 14px;
     flex-shrink: 0;
 }

 .rc-drive-file-card-header .rc-card-name {
     font-size: 10px;
     font-weight: 500;
     color: #3c4043;
     overflow: hidden;
     text-overflow: ellipsis;
     white-space: nowrap;
     flex: 1;
     min-width: 0;
 }

 .rc-drive-file-card-header .rc-card-dots {
     font-size: 11px;
     color: #5f6368;
     letter-spacing: -1px;
     flex-shrink: 0;
 }

 .rc-drive-file-card-thumb {
     height: 52px;
     background: #f8f9fa;
     position: relative;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 /* Skeleton lines to mimic document preview */
 .rc-drive-thumb-lines {
     display: flex;
     flex-direction: column;
     gap: 4px;
     width: 70%;
 }

 .rc-drive-thumb-lines span {
     display: block;
     height: 2px;
     background: #e0e0e0;
     border-radius: 1px;
 }

 .rc-drive-thumb-lines span:nth-child(1) {
     width: 90%;
 }

 .rc-drive-thumb-lines span:nth-child(2) {
     width: 100%;
 }

 .rc-drive-thumb-lines span:nth-child(3) {
     width: 75%;
 }

 .rc-drive-thumb-lines span:nth-child(4) {
     width: 85%;
 }

 .rc-drive-file-card-footer {
     display: flex;
     align-items: center;
     gap: 4px;
     padding: 5px 8px;
     border-top: 1px solid #f1f3f4;
 }

 .rc-drive-file-card-footer .rc-card-avatar {
     width: 14px;
     height: 14px;
     border-radius: 50%;
     background: #1a73e8;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 7px;
     font-weight: 600;
     color: #fff;
     flex-shrink: 0;
 }

 .rc-drive-file-card-footer .rc-card-activity {
     font-size: 9px;
     color: #5f6368;
     overflow: hidden;
     text-overflow: ellipsis;
     white-space: nowrap;
 }

 /* --- Upload Toast (bottom-left, compact) --- */
 .rc-drive-upload-toast {
     position: absolute;
     bottom: 10px;
     right: 10px;
     width: 260px;
     background: #fff;
     border-radius: 10px;
     box-shadow: 0 1px 3px rgba(60, 64, 67, 0.15), 0 4px 12px rgba(60, 64, 67, 0.1);
     padding: 0;
     font-family: 'Inter', Roboto, sans-serif;
     opacity: 0;
     transform: translateY(8px);
     transition: opacity 0.25s ease, transform 0.25s ease;
     z-index: 5;
     overflow: hidden;
 }

 .rc-drive-upload-toast.visible {
     opacity: 1;
     transform: translateY(0);
 }

 .rc-drive-upload-toast-header {
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 10px 12px 8px;
     border-bottom: 1px solid #e8eaed;
 }

 .rc-drive-upload-toast-title {
     font-size: 11px;
     font-weight: 500;
     color: #3c4043;
 }

 .rc-drive-upload-toast-close {
     width: 14px;
     height: 14px;
     color: #5f6368;
     cursor: pointer;
 }

 .rc-drive-upload-toast-file {
     display: flex;
     align-items: center;
     gap: 6px;
     padding: 8px 12px;
 }

 .rc-drive-upload-toast-file .rc-toast-file-icon {
     width: 16px;
     height: 16px;
     flex-shrink: 0;
 }

 .rc-drive-upload-toast-file .rc-toast-file-icon svg {
     width: 16px;
     height: 16px;
 }

 .rc-drive-upload-toast-file .rc-toast-file-name {
     font-size: 10px;
     color: #3c4043;
     flex: 1;
     min-width: 0;
     overflow: hidden;
     text-overflow: ellipsis;
     white-space: nowrap;
 }

 .rc-drive-upload-toast-file .rc-toast-file-status {
     font-size: 10px;
     color: #5f6368;
     flex-shrink: 0;
 }

 .rc-drive-upload-toast-file .rc-toast-file-check {
     color: #188038;
     flex-shrink: 0;
 }

 .rc-drive-upload-toast-file .rc-toast-file-check svg {
     width: 14px;
     height: 14px;
 }

 .rc-upload-progress-bar {
     height: 3px;
     background: #e8eaed;
     border-radius: 0;
     overflow: hidden;
     margin: 0;
 }

 .rc-upload-progress-fill {
     height: 100%;
     width: 0%;
     background: #1a73e8;
     border-radius: 0;
     transition: width 0.5s ease;
 }

 /* ============================================
       DRAG GHOST (floats across panels)
       ============================================ */
 .rc-drag-ghost {
     position: absolute;
     z-index: 50;
     pointer-events: none;
     opacity: 0;
     transition: left 0.55s cubic-bezier(0.25, 0.1, 0.25, 1),
         top 0.55s cubic-bezier(0.25, 0.1, 0.25, 1),
         opacity 0.2s ease;
 }

 .rc-drag-ghost.show {
     opacity: 1;
 }

 .rc-drag-ghost-chip {
     display: flex;
     align-items: center;
     gap: 5px;
     background: var(--white);
     border: 1px solid var(--cream-dark);
     border-radius: 6px;
     padding: 4px 10px;
     font-family: var(--font-mono);
     font-size: 10px;
     color: var(--black);
     box-shadow: 0 4px 16px rgba(30, 57, 50, 0.15);
     white-space: nowrap;
 }

 .rc-drag-ghost-chip svg {
     width: 12px;
     height: 12px;
     color: var(--forest);
     flex-shrink: 0;
 }

 .rc-drag-ghost-cursor {
     position: absolute;
     top: -14px;
     left: -2px;
     width: 16px;
     height: 20px;
 }

 /* File item dragging state */
 .rc-file-item.rc-new-file.dragging {
     opacity: 0.35;
 }


 /* File Type Icons */
 .rc-file-icon {
     position: relative;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: 18px;
     height: 20px;
     flex-shrink: 0;
 }

 .rc-file-icon svg {
     width: 100%;
     height: 100%;
 }

 .rc-file-icon-label {
     position: absolute;
     bottom: 0;
     left: 50%;
     transform: translateX(-50%);
     padding: 0.5px 2.5px;
     border-radius: 1.5px;
     font-family: var(--font-sans);
     font-size: 5.5px;
     font-weight: 800;
     letter-spacing: 0.3px;
     text-transform: uppercase;
     line-height: 1.3;
     white-space: nowrap;
 }

 .rc-file-icon-pdf .rc-file-icon-label {
     background: #dc3545;
     color: #fff;
 }

 .rc-file-icon-csv .rc-file-icon-label {
     background: #198754;
     color: #fff;
 }


 /* Flying Download Chip */
 .rc-flying-download {
     position: absolute;
     display: flex;
     align-items: center;
     gap: 6px;
     padding: 5px 8px;
     border-radius: 6px;
     background: var(--green-soft);
     font-family: var(--font-mono);
     font-size: 11px;
     color: var(--black);
     white-space: nowrap;
     opacity: 0;
     pointer-events: none;
     z-index: 50;
     box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
 }

 .rc-flying-download-name {
     flex: 1;
 }

 .rc-flying-download-size {
     color: var(--gray-light);
     font-size: 10px;
 }

 .rc-flying-download.show {
     opacity: 1;
 }

 /* Agent Annotation Pills */
 .rc-agent-pill {
     position: absolute;
     background: var(--forest);
     color: var(--white);
     font-family: var(--font-mono);
     font-size: 10px;
     font-weight: 500;
     padding: 4px 10px;
     border-radius: 100px;
     white-space: nowrap;
     z-index: 10;
     opacity: 0;
     transform: translateX(-50%) scale(0.9);
     transition: opacity 0.15s ease-out, transform 0.15s ease-out;
     pointer-events: none;
 }


 /* Pills are positioned dynamically via JS */

 .rc-agent-pill.show {
     opacity: 1;
     transform: translateX(-50%) scale(1);
 }

 /* Agent cursor */
 .rc-agent-cursor {
     position: absolute;
     width: 16px;
     height: 20px;
     z-index: 20;
     opacity: 0;
     transition: left 0.4s cubic-bezier(0.25, 0.1, 0.25, 1),
         top 0.4s cubic-bezier(0.25, 0.1, 0.25, 1),
         opacity 0.2s ease;
     pointer-events: none;
 }

 .rc-agent-cursor.show {
     opacity: 1;
 }


 .rc-sub-panel {
     background: var(--white);
     border: 1px solid var(--cream-dark);
     border-radius: var(--radius-sm);
     padding: 14px;
     box-shadow: 0 2px 8px rgba(30, 57, 50, 0.04);
     transition: opacity 0.4s ease;
 }

 /* Files card pulse when receiving a file */
 .rc-sub-panel.rc-pulse {
     transform: scale(1.06);
     transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.4s ease;
 }

 .rc-sub-panel:not(.rc-pulse) {
     transform: scale(1);
     transition: transform 0.25s ease-out, opacity 0.4s ease;
 }


 .rc-sub-panel-title {
     font-family: var(--font-sans);
     font-size: 11px;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.8px;
     color: var(--gray);
     margin-bottom: 10px;
     display: flex;
     align-items: center;
     gap: 6px;
 }

 .rc-sub-panel-title svg {
     width: 14px;
     height: 14px;
     color: var(--forest);
 }

 /* File Manager */
 .rc-file-list {
     display: flex;
     flex-direction: column;
     gap: 6px;
 }

 .rc-file-item {
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 5px 8px;
     border-radius: 6px;
     font-family: var(--font-mono);
     font-size: 11px;
     background: var(--cream);
 }

 .rc-file-item .rc-file-name {
     color: var(--black);
     display: flex;
     align-items: center;
     gap: 6px;
 }

 .rc-file-item .rc-file-name svg {
     width: 12px;
     height: 12px;
     color: var(--forest);
 }

 .rc-file-item .rc-file-size {
     color: var(--gray-light);
     font-size: 10px;
 }

 .rc-file-item.rc-new-file {
     opacity: 0;
     transform: translateY(4px);
     transition: opacity 0.3s ease, transform 0.3s ease;
     background: var(--green-soft);
 }

 .rc-file-item.rc-new-file.visible {
     opacity: 1;
     transform: translateY(0);
 }


 /* Policy Panel */
 .rc-policy-rules {
     display: flex;
     flex-direction: column;
     gap: 6px;
 }

 .rc-policy-rule {
     display: flex;
     align-items: center;
     gap: 6px;
     font-family: var(--font-mono);
     font-size: 11px;
     line-height: 1.4;
     padding: 4px 0;
     transition: opacity 0.2s ease;
 }

 .rc-policy-rule.is-block {
     opacity: 0.45;
 }

 .rc-policy-rule.checked .rc-rule-icon {
     color: var(--green-success);
 }

 .rc-policy-rule.checked .rc-rule-icon .rc-icon-check {
     display: block;
 }

 .rc-policy-rule.checked .rc-rule-icon .rc-icon-dot {
     display: none;
 }

 .rc-rule-icon {
     width: 14px;
     height: 14px;
     flex-shrink: 0;
     color: var(--gray-light);
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .rc-rule-icon .rc-icon-check {
     display: none;
 }

 .rc-rule-icon .rc-icon-dot {
     display: block;
     width: 5px;
     height: 5px;
     border-radius: 50%;
     background: currentColor;
 }

 .rc-rule-pattern {
     flex: 1;
     color: var(--black);
     min-width: 0;
     overflow: hidden;
     text-overflow: ellipsis;
     white-space: nowrap;
 }

 .rc-policy-rule.is-block .rc-rule-pattern {
     color: var(--gray);
 }

 .rc-rule-arrow {
     color: var(--gray-light);
     font-size: 10px;
     flex-shrink: 0;
 }

 .rc-policy-badge {
     display: inline-block;
     font-family: var(--font-mono);
     font-size: 9px;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.5px;
     padding: 2px 6px;
     border-radius: 4px;
     line-height: 1.3;
     flex-shrink: 0;
 }

 .rc-policy-badge.rc-allow {
     background: var(--green-soft);
     color: #16A34A;
 }

 .rc-policy-badge.rc-block {
     background: #FEE2E2;
     color: #DC2626;
 }

 /* ============================================
       TELEMETRY PANEL
       ============================================ */
 .rc-telemetry-panel {
     padding: 0 !important;
     overflow: hidden;
     border: none !important;
 }

 .rc-telemetry-body {
     background: var(--forest);
     padding: 14px;
     border-radius: var(--radius-sm);
 }

 .rc-telemetry-prompt {
     font-family: var(--font-mono);
     font-size: 11px;
     line-height: 1.5;
     color: rgba(255, 255, 255, 0.55);
     padding-bottom: 10px;
     margin-bottom: 2px;
 }

 .rc-telemetry-row:first-child {
     border-top: none;
 }

 .rc-telemetry-row {
     display: flex;
     justify-content: space-between;
     align-items: center;
     padding: 7px 0;
     border-top: 1px solid rgba(255, 255, 255, 0.08);
 }

 .rc-telemetry-label {
     font-family: var(--font-sans);
     font-size: 12px;
     color: rgba(255, 255, 255, 0.45);
 }

 .rc-telemetry-value {
     font-family: var(--font-sans);
     font-size: 13px;
     font-weight: 600;
     color: var(--white);
     display: flex;
     align-items: center;
     gap: 6px;
 }

 .rc-telemetry-mono {
     font-family: var(--font-mono);
 }

 .rc-tele-dot {
     width: 8px;
     height: 8px;
     border-radius: 50%;
 }

 .rc-tele-dot-pending {
     background: var(--amber);
 }

 .rc-tele-dot-complete {
     background: var(--green-success);
 }

 .rc-telemetry-progress {
     height: 4px;
     background: rgba(255, 255, 255, 0.1);
     border-radius: 2px;
     margin: 0;
     overflow: hidden;
 }

 .rc-telemetry-progress-fill {
     height: 100%;
     width: 0%;
     background: var(--coral);
     border-radius: 2px;
     transition: width 0.3s ease;
 }

 /* Horizontal stats row: Actions | LLM | Status */
 .rc-telemetry-stats-row {
     display: flex;
     gap: 0;
     margin-top: 10px;
     border-top: 1px solid rgba(255, 255, 255, 0.08);
     padding-top: 10px;
 }

 .rc-telemetry-stat {
     flex: 1;
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 2px;
 }

 .rc-telemetry-stat:not(:last-child) {
     border-right: 1px solid rgba(255, 255, 255, 0.08);
 }

 .rc-telemetry-stat-value {
     font-family: var(--font-sans);
     font-size: 15px;
     font-weight: 600;
     color: var(--white);
     display: flex;
     align-items: center;
     gap: 4px;
     line-height: 1;
 }

 .rc-telemetry-stat-label {
     font-family: var(--font-sans);
     font-size: 9px;
     font-weight: 500;
     text-transform: uppercase;
     letter-spacing: 0.5px;
     color: rgba(255, 255, 255, 0.4);
 }

 .rc-telemetry-status-text {
     font-size: 11px !important;
     font-family: var(--font-mono) !important;
 }

 .rc-telemetry-comparison {
     font-family: var(--font-sans);
     font-size: 11px;
     font-weight: 600;
     color: var(--coral-light);
     margin-bottom: 4px;
     opacity: 0;
     transition: opacity 0.3s ease;
 }

 .rc-telemetry-comparison.visible {
     opacity: 1;
 }

 @keyframes spin {
     to {
         transform: rotate(360deg);
     }
 }



 /* ============================================
       CTA AREA
       ============================================ */
 .rc-cta-area {
     text-align: center;
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 12px;
 }

 .rc-cta-btn {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     background: var(--forest);
     color: var(--white);
     font-family: var(--font-sans);
     font-size: var(--text-small);
     font-weight: 600;
     padding: 14px 32px;
     border-radius: 100px;
     border: none;
     cursor: pointer;
     text-decoration: none;
     transition: background 0.2s ease, transform 0.2s ease;
 }

 .rc-cta-btn:hover {
     background: var(--forest-light);
     transform: translateY(-1px);
 }

 .rc-cta-btn svg {
     width: 16px;
     height: 16px;
 }

 .rc-replay-link {
     font-family: var(--font-sans);
     font-size: 12px;
     color: var(--gray-light);
     background: none;
     border: none;
     cursor: pointer;
     padding: 4px 8px;
     transition: color 0.2s ease;
 }

 .rc-replay-link:hover {
     color: var(--gray);
 }

 /* ============================================
       REDUCED MOTION
       ============================================ */
 @media (prefers-reduced-motion: reduce) {

     .rc-gov-table-row,
     .rc-chrome-download-bar,
     .rc-drive-upload-toast,
     .rc-file-item.rc-new-file,
     .rc-agent-pill,
     .rc-agent-cursor,
     .rc-policy-check {
         transition: none !important;
         animation: none !important;
     }

     /* Show end state immediately */
     .rc-chrome-download-bar {
         opacity: 1;
         transform: none;
     }

     .rc-drive-upload-toast {
         opacity: 1;
         transform: none;
     }

     .rc-file-item.rc-new-file {
         opacity: 1;
         transform: none;
     }
 }

 /* ============================================
       RESPONSIVE: TABLET (768px–1099px)
       ============================================ */
 @media (max-width: 1099px) {
     .race-container {
         flex-direction: column;
     }

     .rc-webrun-panel {
         flex: none;
     }

     .rc-side-panels {
         flex: none;
         max-width: 100%;
         flex-direction: row;
     }

     .rc-side-panels .rc-sub-panel {
         flex: 1;
     }

     .section-headline {
         font-size: 40px;
     }

 }

 /* ============================================
       RESPONSIVE: MOBILE (< 768px)
       ============================================ */
 @media (max-width: 767px) {
     :root {
         --section-padding-v: 48px;
         --section-padding-h: 20px;
     }

     .section-headline {
         font-size: 32px;
     }

     .section-subline {
         font-size: 15px;
     }

     .rc-browser-viewport {
         padding: 12px;
         min-height: 260px;
     }

     .rc-gov-table-header,
     .rc-gov-table-row {
         grid-template-columns: 1fr 40px 48px 26px;
         gap: 4px;
         padding: 6px;
         font-size: 11px;
     }

     .rc-gov-table-header {
         font-size: 9px;
     }

     #scene-drive {
         margin: -12px;
     }

     .rc-drive-sidebar {
         width: 0;
         padding: 0;
         border: none;
         overflow: hidden;
     }

     .rc-drive-files-grid {
         grid-template-columns: repeat(2, 1fr);
         gap: 6px;
     }

     .rc-drive-file-card-thumb {
         height: 36px;
     }

     .rc-drive-upload-toast {
         width: auto;
         left: 10px;
     }

     .rc-gov-nav {
         display: none;
     }

     .rc-agent-pill {
         font-size: 9px;
         padding: 3px 8px;
     }

     .rc-side-panels {
         flex-direction: column;
     }

     .rc-sub-panel {
         padding: 10px;
     }


     .rc-cta-btn {
         width: 100%;
         justify-content: center;
     }
 }


 /* Focus/Opacity transitions for race animation panels */
 .rc-browser-window,
 .rc-sub-panel {
     transition: opacity 0.4s ease;
 }

 .speed-metric-card {
     background: var(--forest);
     backdrop-filter: blur(20px);
     border: 1px solid rgba(255, 255, 255, 0.1);
     border-radius: 24px;
     padding: 2rem 0 0 0;
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 1.5rem;
     transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
     box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.1);
     position: relative;
     opacity: 0;
     transform: translateY(30px);
 }

 .speed-metric-card.visible {
     opacity: 1;
     transform: translateY(0);
 }

 .speed-metric-card:nth-child(1) {
     transition-delay: 0.1s;
 }

 .speed-metric-card:nth-child(2) {
     transition-delay: 0.2s;
 }

 .speed-metric-card:nth-child(3) {
     transition-delay: 0.3s;
 }

 .speed-metric-card:hover {
     transform: translateY(-6px);
     box-shadow: 0 20px 48px rgba(0, 0, 0, 0.25),
         inset 0 1px 0 rgba(255, 255, 255, 0.1);
     border-color: rgba(255, 255, 255, 0.2);
 }

 .metric-badge {
     position: absolute;
     bottom: 12px;
     margin: auto;
     padding: 0.5rem 1rem;
     background: rgba(255, 255, 255, 0.15);
     color: white;
     border-radius: 50px;
     font-size: 0.75rem;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.05em;
 }

 .metric-icon {
     width: 62px;
     height: 62px;
     border-radius: 18px;
     background: rgba(255, 255, 255, 0.15);
     display: flex;
     align-items: center;
     justify-content: center;
     transition: all 0.3s ease;
     position: relative;
 }

 .metric-icon svg {
     stroke: white;
     transition: all 0.3s ease;
 }

 .speed-metric-card:hover .metric-icon {
     background: rgba(255, 255, 255, 0.25);
     transform: scale(1.05);
 }

 .speed-metric-card:hover .metric-icon svg {
     stroke: white;
 }

 .metric-label {
     font-size: 0.875rem;
     font-weight: 600;
     color: white;
     text-transform: uppercase;
     letter-spacing: 0.08em;
     text-align: center;
 }

 /* Speed comparison container */
 .speed-comparison {
     width: 100%;
     display: flex;
     flex-direction: column;
     flex: 1;
     gap: 1rem;
     padding: 1.3rem 2rem 3.5rem 2rem;
     background: rgba(0, 0, 0, 0.15);
     border-bottom-right-radius: 24px;
     border-bottom-left-radius: 24px;
 }

 .speed-bar-container {
     position: relative;
     width: 100%;
     height: 4px;
     background: rgba(255, 255, 255, 0.15);
     border-radius: 2px;
     overflow: visible;
     margin: 0.5rem 0;
 }

 /* Center indicator line */
 .speed-bar-container::after {
     content: "";
     position: absolute;
     left: 50%;
     top: -4px;
     bottom: -4px;
     width: 2px;
     background: rgba(255, 255, 255, 0.2);
     transform: translateX(-50%);
     border-radius: 1px;
 }

 /* WebRun bar - races from left */
 .speed-bar-enigma {
     position: absolute;
     left: 0;
     top: 0;
     height: 100%;
     background: var(--cream);
     border-radius: 2px;
     width: 0;
     transition: width 1.5s cubic-bezier(0.4, 0, 0.2, 1);
     z-index: 2;
 }

 /* Traditional bar - races from right */
 .speed-bar-traditional {
     position: absolute;
     right: 0;
     top: 0;
     height: 100%;
     background: rgba(255, 255, 255, 0.35);
     border-radius: 2px;
     width: 0;
     transition: width 3s cubic-bezier(0.4, 0, 0.2, 1);
 }

 /* When card is visible, animate the bars */
 .speed-metric-card.visible .speed-bar-enigma {
     width: 50%;
 }

 .speed-metric-card.visible .speed-bar-traditional {
     width: 50%;
 }

 /* Metric values */
 .metric-row {
     display: flex;
     justify-content: space-between;
     align-items: center;
     width: 100%;
     gap: 1rem;
 }

 .metric-value {
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     gap: 0.25rem;
 }

 .value-label {
     font-size: 0.625rem;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.05em;
     opacity: 0.7;
     color: rgba(255, 255, 255, 0.7);
 }

 .value-number {
     display: flex;
     align-items: baseline;
     gap: 0.375rem;
 }

 .number {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: 1.8rem;
     font-weight: 400;
     letter-spacing: -0.02em;
     line-height: 1;
 }

 .unit {
     font-size: 0.875rem;
     font-weight: 600;
     opacity: 0.7;
 }

 /* WebRun metrics - cream/white */
 .enigma-value .value-label {
     color: var(--cream);
 }

 .enigma-value .number {
     color: var(--cream);
 }

 .enigma-value .unit {
     color: var(--cream);
 }

 /* Traditional metrics - muted light */
 .traditional-value .value-label {
     color: rgba(255, 255, 255, 0.5);
 }

 .traditional-value .number {
     color: rgba(255, 255, 255, 0.5);
     font-size: 1.5rem;
 }

 .traditional-value .unit {
     color: rgba(255, 255, 255, 0.5);
     font-size: 0.75rem;
 }

 .metric-vs {
     font-size: 0.625rem;
     font-weight: 700;
     color: rgba(255, 255, 255, 0.4);
     text-transform: uppercase;
     letter-spacing: 0.1em;
     padding: 0.25rem 0.75rem;
     background: rgba(255, 255, 255, 0.1);
     border-radius: 8px;
 }

 /* Pulse effect for badge on hover */
 @keyframes badgePulse {

     0%,
     100% {
         transform: scale(1);
     }

     50% {
         transform: scale(1.05);
     }
 }

 .speed-metric-card:hover .metric-badge {
     animation: badgePulse 1.5s ease-in-out infinite;
 }

 /* Responsive for speed metrics */
 @media (max-width: 768px) {
     .speed-metrics-grid {
         grid-template-columns: 1fr;
         gap: 1.5rem;
     }

     .speed-metric-card {
         padding: 1.5rem 0 0 0;
     }

     .metric-badge {
         font-size: 0.65rem;
     }

     .number {
         font-size: 1.5rem;
     }

     .traditional-value .number {
         font-size: 1.25rem;
     }
 }

 .speed-metrics-footer {
     text-align: center;
     color: var(--text-muted);
     font-size: 1.125rem;
     max-width: 600px;
     margin: 3rem auto 0 auto;
 }

 /* How It Works - Horizontal Scroll Section */
 .how-section {
     background: var(--cream);
     padding: 0;
     position: relative;
     display: none;
 }

 /* Scroll-jacking container - height set by JS */
 .how-scroll-container {
     position: relative;
 }

 /* Sticky viewport - stays fixed while scrolling through cards */
 .how-sticky-viewport {
     position: sticky;
     top: 0;
     height: 100vh;
     display: flex;
     flex-direction: column;
     overflow: hidden;
 }

 /* Fixed header area */
 .how-header {
     padding: 4rem 2rem 2rem;
     text-align: center;
     flex-shrink: 0;
 }

 .how-header .section-label {
     font-size: 0.7rem;
     font-weight: 500;
     text-transform: uppercase;
     letter-spacing: 0.12em;
     color: var(--coral);
     margin-bottom: 1rem;
 }

 .how-header h2 {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: clamp(2rem, 4vw, 3rem);
     font-weight: 400;
     margin-bottom: 1rem;
 }

 .how-header .section-description {
     color: var(--text-muted);
     font-size: 1.125rem;
     max-width: 600px;
     margin: 0 auto;
 }

 .section-header {
     text-align: center;
     margin-bottom: 2rem;
 }

 .section-label {
     font-size: 0.7rem;
     font-weight: 500;
     text-transform: uppercase;
     letter-spacing: 0.12em;
     color: var(--coral);
     margin-bottom: 1rem;
 }

 h2 {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: clamp(2rem, 4vw, 3rem);
     font-weight: 400;
     margin-bottom: 1rem;
 }

 .section-description {
     color: var(--text-muted);
     font-size: 1.125rem;
     max-width: 600px;
     margin: 0 auto;
 }

 /* Horizontal cards track */
 .how-cards-track {
     flex: 1;
     display: flex;
     align-items: center;
     gap: 2rem;
     padding: 0 2rem;
     transition: transform 0.1s ease-out;
 }

 /* Step card - horizontal layout sizing */
 .step-card {
     flex-shrink: 0;
     width: 38vw;
     max-width: 600px;
     min-height: fit-content;
     max-height: 75vh;
     /* background: white; */
     border-radius: 24px;
     display: flex;
     flex-direction: column;
     /* border: 1px solid rgba(0, 0, 0, 0.06); */
     /* box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04); */
     opacity: 0.4;
     transform: scale(0.92);
     transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
 }

 .step-card.active {
     opacity: 1;
     transform: scale(1);
     background: white;
     border: 1px solid rgba(0, 0, 0, 0.06);
     box-shadow: 0 2px 23px rgba(0, 0, 0, 0.1);
 }

 .step-card:hover {
     /* opacity: 1; */
 }

 /* Step illustration area */
 .step-illustration {
     width: 100%;
     height: 50%;
     min-height: 220px;
     /* background: linear-gradient(135deg, #F8F6F3 0%, #EDE9E3 100%); */
     display: flex;
     align-items: center;
     justify-content: center;
     overflow: hidden;
     padding: 1.5rem 2rem 1rem 2rem;
 }

 .step-illustration svg {
     width: 100%;
     height: 100%;
     max-width: 450px;
 }

 /* Step content area */
 .step-content {
     padding: 1rem 2.5rem 2.5rem 2.5rem;
     flex: 1;
     display: flex;
     flex-direction: column;
 }

 .step-number {
     font-size: 0.75rem;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.1em;
     color: var(--coral);
     margin-bottom: 0.75rem;
 }

 .step-title {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: 1.5rem;
     font-weight: 400;
     color: var(--charcoal);
     margin-bottom: 1rem;
     line-height: 1.3;
 }

 .step-description {
     font-size: 1rem;
     color: var(--text-muted);
     line-height: 1.6;
 }

 /* Demo Section */
 /* ===== Demo Section ===== */
 .demo-section {
     background: #1E3A32;
     padding: 9rem 2rem;
     border-top: none;
 }

 .demo-section .section-label {
     color: #E85D4C;
 }

 .demo-section h2 {
     color: white;
     font-size: clamp(1.6rem, 3vw, 2.25rem);
     margin-bottom: 0.2rem;
 }

 .demo-section .section-description {
     color: rgba(255, 255, 255, 0.7);
     font-size: 1rem;
     max-width: none;
 }

 .demo-container {
     max-width: 1200px;
     margin: 0 auto;
 }

 /* Side-by-side grid */
 .demo-grid {
     display: flex;
     flex-direction: row;
     gap: 2.5rem;
     align-items: center;
 }

 /* Left column: video */
 .demo-video-wrapper {
     position: relative;
     flex: 0 0 62%;
     max-width: 62%;
 }

 .demo-video-frame {
     background: var(--forest);
     border-radius: 16px;
     box-shadow: 0 24px 48px rgba(26, 58, 50, 0.15);
 }

 .demo-video-container {
     background: #000;
     border-radius: 12px;
     aspect-ratio: 16/10;
     position: relative;
     overflow: hidden;
 }

 .demo-video-container video {
     width: 100%;
     height: 100%;
     object-fit: fill;
     position: absolute;
     top: 0;
     left: 0;
     opacity: 0;
     transition: opacity 0.3s ease;
 }

 .demo-video-container video.active {
     opacity: 1;
 }

 /* Right column: sidebar */
 .demo-sidebar {
     flex: 1;
     display: flex;
     flex-direction: column;
     gap: 1.5rem;
 }

 .demo-sidebar .section-header {
     text-align: left;
     margin-bottom: 0;
 }

 .demo-sidebar .section-description {
     margin: 0;
 }

 /* Capability Cards - vertical tabs */
 .capability-cards {
     display: flex;
     flex-direction: column;
     gap: 0.5rem;
 }

 .capability-card {
     background: rgba(255, 255, 255, 0.05);
     border: 1px solid rgba(255, 255, 255, 0.08);
     border-left: 3px solid transparent;
     border-radius: 12px;
     padding: 1rem 1.25rem;
     cursor: pointer;
     transition: all 0.25s ease;
     opacity: 0.6;
 }

 .capability-card:hover {
     background: rgba(255, 255, 255, 0.08);
     border-left-color: rgba(255, 255, 255, 0.3);
     opacity: 0.85;
 }

 .capability-card.active {
     background: rgba(255, 255, 255, 0.12);
     border-left-color: #E85D4C;
     opacity: 1;
 }

 .capability-content h3 {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: 1.1rem;
     font-weight: 400;
     margin-bottom: 0.25rem;
     color: white;
 }

 .capability-content p {
     font-size: 0.825rem;
     color: rgba(255, 255, 255, 0.65);
     line-height: 1.45;
 }

 .capability-card.active .capability-content p {
     color: rgba(255, 255, 255, 0.8);
 }

 /* Progress indicator */
 .capability-progress {
     height: 2px;
     background: rgba(255, 255, 255, 0.12);
     border-radius: 2px;
     margin-top: 0.75rem;
     overflow: hidden;
     display: none;
 }

 .capability-card.active .capability-progress {
     display: block;
 }

 .capability-progress-bar {
     height: 100%;
     background: #E85D4C;
     border-radius: 2px;
     width: 0%;
     animation: progressFill 8s linear forwards;
 }

 @keyframes progressFill {
     from {
         width: 0%;
     }

     to {
         width: 100%;
     }
 }

 /* Mobile: < 900px */
 @media (max-width: 900px) {
     .demo-section {
         padding: 3rem 1.25rem;
     }

     .demo-grid {
         flex-direction: column;
         gap: 1.5rem;
     }

     .demo-video-wrapper {
         flex: none;
         max-width: 100%;
     }

     .demo-sidebar .section-header {
         text-align: center;
     }

     .demo-sidebar .section-description {
         margin: 0 auto;
         max-width: 500px;
     }

     .capability-cards {
         flex-direction: row;
         overflow-x: auto;
         gap: 0.75rem;
         padding-bottom: 0.5rem;
         -webkit-overflow-scrolling: touch;
     }

     .capability-card {
         min-width: 220px;
         flex: 0 0 auto;
         border-left: 1px solid rgba(255, 255, 255, 0.08);
         border-radius: 12px;
         border-top: 3px solid transparent;
     }

     .capability-card.active {
         border-left-color: rgba(255, 255, 255, 0.08);
         border-top-color: #E85D4C;
     }

     .capability-card:hover {
         border-left-color: rgba(255, 255, 255, 0.08);
     }
 }


 /* ========== Capabilities Section - Vertical Sticky Scroll ========== */
 .use-cases-section {
     padding: 0 2rem;
     max-width: 1400px;
     margin: 0 auto;
     position: relative;
     z-index: 1;
     background: var(--cream);
 }

 .capabilities-container {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 4rem;
 }

 .capabilities-left {
     position: relative;
     display: flex;
     align-items: flex-start;
     padding-top: 8rem;
     padding-bottom: 8rem;
 }

 .capabilities-sticky-header {
     position: sticky;
     top: calc(50vh - 100px);
     text-align: left;
     margin-bottom: 0;
     padding: 0;
 }

 .capabilities-sticky-header .section-label {
     font-size: 0.7rem;
     font-weight: 500;
     text-transform: uppercase;
     letter-spacing: 0.12em;
     color: var(--coral);
     margin-bottom: 1rem;
 }

 .capabilities-sticky-header h2 {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: clamp(2rem, 4vw, 3rem);
     font-weight: 400;
     margin-bottom: 1rem;
 }

 .capabilities-sticky-header .section-description {
     color: var(--text-muted);
     font-size: 1.125rem;
     max-width: 600px;
     margin: 0;
 }

 .capabilities-right {
     padding: 8rem 0;
 }

 /* Vertical cards grid */
 .capabilities-grid {
     display: flex;
     flex-direction: column;
     gap: 3rem;
 }

 /* Individual capability card - vertical layout */
 .cap-card {
     background: white;
     border-radius: 20px;
     padding: 1.5rem;
     border: 1px solid rgba(0, 0, 0, 0.08);
     transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
     position: relative;
     opacity: 0.4;
     transform: scale(0.95);
 }

 .cap-card.active {
     opacity: 1;
     transform: scale(1);
     box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
 }

 .cap-card:hover {
     opacity: 1;
 }

 /* Illustration container for vertical layout */
 .cap-illustration {
     width: 100%;
     aspect-ratio: 16/9;
     background: linear-gradient(135deg, #fff7ec 0%, #eee8df 100%);
     border-radius: 12px;
     display: flex;
     align-items: center;
     justify-content: center;
     overflow: hidden;
     padding: 1.5rem;
     margin-bottom: 1.5rem;
 }

 .cap-illustration svg {
     width: 100%;
     height: 100%;
     max-width: 500px;
 }

 /* Card content area */
 .cap-content {
     padding: 0;
 }

 /* Category label */
 .cap-category {
     position: absolute;
     top: -18px;
     left: 0;
     right: 0;
     margin: 0 auto;
     text-align: center;
     width: fit-content;
     background: var(--lavender);
     color: var(--forest);
     padding: 0.35rem 1rem;
     border-radius: 100px;
     font-size: 0.8rem;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.05em;
 }

 /* Headline */
 .cap-headline {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: 1.5rem;
     margin-bottom: 0.75rem;
     font-weight: 500;
 }

 /* Pain statement */
 .cap-pain {
     color: #5a5a5a;
     font-size: 1rem;
     line-height: 1.7;
 }

 /* Hide divider and example in vertical layout */
 .cap-divider,
 .cap-example {
     display: none;
 }


 /* Integrate Anywhere Section */
 .integrate-section {
     background: var(--cream-dark);
     padding: 4rem 2rem 5rem 2rem;
     position: relative;
     overflow: hidden;
     width: 90%;
     margin: 18vh auto 0 auto;
     border-radius: 39px;
     border: 1px solid #DDDDDD59;
 }

 /* Subtle noise texture overlay */
 .integrate-section::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     opacity: 0.03;
     background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
     pointer-events: none;
 }

 .integrate-container {
     max-width: 1300px;
     margin: 0 auto;
 }

 .integrate-section .section-label {
     text-align: left;
     margin-bottom: 3rem;
 }

 .integrate-layout {
     display: grid;
     grid-template-columns: 0.4fr 60%;
     gap: 4rem;
     align-items: center;
 }

 .integrate-content {
     position: relative;
     z-index: 1;
 }

 .integrate-content h2 {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: 2.75rem;
     font-weight: 400;
     color: var(--forest);
     margin-bottom: 1.25rem;
     line-height: 1.15;
 }

 .integrate-content .subtitle {
     font-size: 1.125rem;
     color: var(--text-muted);
     line-height: 1.6;
     margin-bottom: 1.5rem;
 }

 /* Code Snippet Block */
 .code-snippet {
     background: #1a1a2e;
     border-radius: 12px;
     padding: 0;
     /* margin-bottom: 2rem; */
     overflow: hidden;
     box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
     border: 1px solid rgba(255, 255, 255, 0.1);
 }

 .code-snippet-header {
     background: #16162a;
     padding: 0;
     border-bottom: 1px solid rgba(255, 255, 255, 0.05);
     display: flex;
     gap: 0;
 }

 .code-tab {
     font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Code', monospace;
     font-size: 0.75rem;
     font-weight: 500;
     color: rgba(255, 255, 255, 0.4);
     text-transform: uppercase;
     letter-spacing: 0.03em;
     padding: 0.75rem 1rem;
     cursor: pointer;
     transition: all 0.2s ease;
     border: none;
     background: transparent;
     position: relative;
 }

 .code-tab:hover {
     color: rgba(255, 255, 255, 0.7);
     background: rgba(255, 255, 255, 0.03);
 }

 .code-tab.active {
     color: #fff;
     background: rgba(74, 222, 128, 0.08);
 }

 .code-tab.active::after {
     content: '';
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     height: 2px;
     background: #fff;
 }

 .code-snippet-body {
     padding: 1.25rem 1.5rem;
     overflow-x: auto;
     display: none;
     max-width: 472px;
 }

 .code-snippet-body[data-content="telegram"] {
     padding: 0.25rem 1.5rem 0.25rem 1.5rem;
 }

 .code-snippet-body.active {
     display: block;
 }

 .code-snippet pre {
     margin: 0;
     font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Code', monospace;
     font-size: 0.8rem;
     line-height: 1.7;
     color: #e4e4e7;
     white-space: pre;
 }

 .code-snippet .code-command {
     color: #22d3ee;
 }

 .code-snippet .code-flag {
     color: #a78bfa;
 }

 .code-snippet .code-url {
     color: #4ade80;
 }

 .code-snippet .code-header {
     color: #fbbf24;
 }

 .code-snippet .code-string {
     color: #fb923c;
 }

 .code-snippet .code-key {
     color: #f472b6;
 }

 .code-snippet .code-comment {
     color: rgba(255, 255, 255, 0.35);
 }

 /* Telegram Setup UI */
 .telegram-setup {
     padding: 0.25rem 0;
 }

 .telegram-title {
     font-size: 1.05rem;
     font-weight: 700;
     color: #1a1a1a;
     margin: 0;
 }

 .telegram-subtitle {
     font-size: 0.78rem;
     color: #6B7280;
     margin: 0.4rem 0 1rem;
 }

 .telegram-steps {
     display: flex;
     flex-direction: column;
     gap: 0.85rem;
 }

 .telegram-step {
     display: flex;
     align-items: flex-start;
     gap: 0.7rem;
     padding-top: 0.85rem;
     border-top: 1px solid rgba(255, 255, 255, 0.06);
 }

 .telegram-step:first-child {
     border-top: none;
     padding-top: 0;
 }

 .telegram-step-number {
     flex-shrink: 0;
     width: 22px;
     height: 22px;
     border-radius: 50%;
     background: #1a3a32;
     color: white;
     font-size: 0.72rem;
     font-weight: 600;
     display: flex;
     align-items: center;
     justify-content: center;
     margin-top: 1px;
 }

 .telegram-step-content {
     display: flex;
     flex-direction: column;
     gap: 0.45rem;
 }

 .telegram-step-text {
     font-size: 0.82rem;
     color: #d4d4d8;
     font-weight: 500;
 }

 .telegram-code {
     background: rgba(255, 255, 255, 0.08);
     border: 1px solid rgba(255, 255, 255, 0.12);
     border-radius: 4px;
     padding: 0.1rem 0.4rem;
     font-family: 'SF Mono', 'Monaco', monospace;
     font-size: 0.78rem;
     color: #e4e4e7;
 }

 .telegram-open-btn {
     display: inline-flex;
     align-items: center;
     gap: 0.35rem;
     padding: 0.35rem 0.75rem;
     border-radius: 6px;
     border: 1px solid rgba(255, 255, 255, 0.15);
     background: transparent;
     color: #d4d4d8;
     font-size: 0.75rem;
     font-weight: 500;
     text-decoration: none;
     width: fit-content;
     transition: background 0.15s ease, border-color 0.15s ease;
 }

 .telegram-open-btn:hover {
     background: rgba(255, 255, 255, 0.06);
     border-color: rgba(255, 255, 255, 0.25);
 }

 .telegram-code-box {
     display: inline-flex;
     align-items: center;
     gap: 0.5rem;
     background: rgba(255, 255, 255, 0.04);
     border: 1px solid rgba(255, 255, 255, 0.1);
     border-radius: 8px;
     padding: 0.35rem 0.5rem 0.35rem 0.7rem;
 }

 .telegram-code-value {
     font-family: 'SF Mono', 'Monaco', monospace;
     font-size: 0.72rem;
     color: #a1a1aa;
     letter-spacing: -0.01em;
 }

 .telegram-copy-btn {
     display: inline-flex;
     align-items: center;
     gap: 0.3rem;
     padding: 0.25rem 0.5rem;
     border-radius: 5px;
     border: 1px solid rgba(255, 255, 255, 0.12);
     background: rgba(255, 255, 255, 0.05);
     color: #a1a1aa;
     font-size: 0.7rem;
     font-weight: 500;
     cursor: pointer;
     transition: background 0.15s ease;
 }

 .telegram-copy-btn:hover {
     background: rgba(255, 255, 255, 0.1);
 }

 /* Documentation Button */
 .docs-btn-wrapper {
     position: absolute;
     bottom: 1.5rem;
     left: 50%;
     transform: translateX(-50%);
 }

 /* Marquee Container */
 .marquee-side {
     position: relative;
     overflow: hidden;
 }

 .marquee-wrapper {
     position: relative;
     padding: 1rem 0;
 }

 /* Fade edges */
 .marquee-wrapper::before,
 .marquee-wrapper::after {
     content: '';
     position: absolute;
     top: 0;
     bottom: 0;
     width: 100px;
     z-index: 10;
     pointer-events: none;
 }

 .marquee-wrapper::before {
     left: 0;
     background: linear-gradient(to right, white 0%, rgba(255, 255, 255, 0.8) 40%, transparent 100%);
 }

 .marquee-wrapper::after {
     right: 0;
     background: linear-gradient(to left, white 0%, rgba(255, 255, 255, 0.8) 40%, transparent 100%);
 }

 .logo-row {
     display: flex;
     width: max-content;
 }

 .logo-row-inner {
     display: flex;
     animation-timing-function: linear;
     animation-iteration-count: infinite;
 }

 .row-1 .logo-row-inner {
     animation: scroll-right 40s linear infinite;
 }

 .row-2 .logo-row-inner {
     animation: scroll-left 32s linear infinite;
 }

 @keyframes scroll-right {
     0% {
         transform: translateX(0);
     }

     100% {
         transform: translateX(-50%);
     }
 }

 @keyframes scroll-left {
     0% {
         transform: translateX(-50%);
     }

     100% {
         transform: translateX(0);
     }
 }

 .marquee-wrapper:hover .logo-row-inner {
     animation-play-state: paused;
 }

 /* Logo Items */
 .logo-item {
     width: 64px;
     height: 64px;
     background: white;
     border-radius: 14px;
     box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
     display: flex;
     align-items: center;
     justify-content: center;
     margin: 0 12px;
     flex-shrink: 0;
     transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
     border: 1px solid rgba(0, 0, 0, 0.05);
 }

 .logo-item:hover {
     transform: scale(1.12) translateY(-4px);
     box-shadow: 0 12px 32px rgba(26, 58, 50, 0.15);
     border-color: rgba(26, 58, 50, 0.2);
 }

 .logo-item svg,
 .logo-item img {
     width: 32px;
     height: 32px;
     opacity: 0.85;
     transition: all 0.4s ease;
 }

 .logo-item:hover svg,
 .logo-item:hover img {
     opacity: 1;
     transform: scale(1.1);
 }

 /* Logo Tooltip */
 .logo-item {
     position: relative;
 }

 .logo-item::after {
     content: attr(data-tooltip);
     position: absolute;
     bottom: calc(100% + 10px);
     left: 50%;
     transform: translateX(-50%) translateY(4px);
     background: var(--charcoal);
     color: white;
     padding: 6px 12px;
     border-radius: 8px;
     font-size: 0.75rem;
     font-weight: 500;
     white-space: nowrap;
     opacity: 0;
     visibility: hidden;
     transition: all 0.2s ease;
     pointer-events: none;
     z-index: 100;
 }

 .logo-item::before {
     content: '';
     position: absolute;
     bottom: calc(100% + 4px);
     left: 50%;
     transform: translateX(-50%) translateY(4px);
     border: 6px solid transparent;
     border-top-color: var(--charcoal);
     opacity: 0;
     visibility: hidden;
     transition: all 0.2s ease;
     pointer-events: none;
     z-index: 100;
 }

 .logo-item:hover::after,
 .logo-item:hover::before {
     opacity: 1;
     visibility: visible;
     transform: translateX(-50%) translateY(0);
 }

 /* Responsive */
 @media (max-width: 900px) {
     .integrate-section {
         width: calc(100% - 2rem);
         margin: 6vh auto 0 auto;
         padding: 3rem 1rem 4rem 1rem;
         border-radius: 24px;
         overflow: hidden;
     }

     .integrate-container {
         max-width: 100%;
         overflow: hidden;
     }

     .integrate-layout {
         grid-template-columns: 1fr;
         gap: 3rem;
     }

     .integrate-content {
         text-align: center;
         max-width: 100%;
         overflow: hidden;
     }

     .integrate-content h2 {
         font-size: 1.75rem;
         word-wrap: break-word;
     }

     .integrate-content .subtitle {
         font-size: 1rem;
         word-wrap: break-word;
     }

     .code-snippet {
         max-width: 100%;
         overflow: hidden;
     }

     .code-snippet-header {
         flex-wrap: wrap;
     }

     .code-tab {
         font-size: 0.65rem;
         padding: 0.6rem 0.75rem;
     }

     .code-snippet-body {
         max-width: 100%;
         overflow-x: auto;
         padding: 1rem;
     }

     .code-snippet pre {
         font-size: 0.7rem;
         white-space: pre-wrap;
         word-break: break-all;
     }

     .integrate-section .section-label {
         text-align: center;
     }

     .docs-btn-wrapper {
         position: relative;
         bottom: auto;
         left: auto;
         transform: none;
         margin-top: 1.5rem;
         text-align: center;
     }

     .marquee-side {
         overflow: hidden;
     }

     .marquee-wrapper::before,
     .marquee-wrapper::after {
         width: 40px;
     }

     .logo-item {
         width: 60px;
         height: 60px;
         margin: 0 8px;
     }

     .logo-item svg,
     .logo-item img {
         width: 28px;
         height: 28px;
     }
 }

 /* Pricing */
 .pricing-section {
     padding: 8rem 2rem;
     max-width: 800px;
     margin: 0 auto;
 }

 .pricing-card {
     background: white;
     border-radius: 24px;
     overflow: hidden;
     box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
 }

 .pricing-header {
     background: var(--forest);
     padding: 2.5rem;
     text-align: center;
 }

 .pricing-badge {
     display: inline-block;
     background: rgba(255, 255, 255, 0.2);
     color: white;
     padding: 0.5rem 1rem;
     border-radius: 100px;
     font-size: 0.75rem;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.08em;
     margin-bottom: 1.5rem;
 }

 .pricing-rates {
     display: flex;
     justify-content: center;
     gap: 3rem;
     color: white;
 }

 .rate-item {
     text-align: center;
 }

 .rate-value {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: 2.5rem;
 }

 .rate-unit {
     font-size: 0.875rem;
     opacity: 0.7;
 }

 .rate-label {
     font-size: 0.8rem;
     opacity: 0.7;
     margin-top: 0.25rem;
 }

 .pricing-body {
     padding: 2.5rem;
 }

 .pricing-features {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 1rem;
     margin-bottom: 2rem;
 }

 .feature-item {
     display: flex;
     align-items: center;
     gap: 0.75rem;
     font-size: 0.95rem;
 }

 .feature-check {
     width: 20px;
     height: 20px;
     background: #dcfce7;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     color: #16a34a;
 }

 .pricing-cta {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 0.5rem;
     width: 100%;
     padding: 1rem;
     background: var(--forest);
     color: white;
     border: none;
     border-radius: 12px;
     font-size: 1rem;
     font-weight: 600;
     cursor: pointer;
     text-align: center;
     text-decoration: none;
     transition: all 0.2s;
 }

 .pricing-cta:hover {
     background: #0f2a22;
     transform: translateY(-2px);
 }

 .pricing-cta .btn-arrow-icon {
     stroke: white;
     transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
 }

 .pricing-cta:hover .btn-arrow-icon {
     transform: translateX(4px);
 }

 /* CTA Section */
 .cta-section {
     background: var(--cream);
     padding: 8rem 2rem;
     text-align: center;
 }

 .cta-container {
     max-width: 900px;
     margin: 0 auto;
 }

 .cta-section h2 {
     margin-bottom: 1rem;
 }

 .cta-section h2 em {
     font-style: italic;
     color: var(--forest);
 }

 .cta-description {
     color: var(--text-muted);
     font-size: 1.125rem;
     margin-bottom: 2rem;
 }

 .cta-buttons {
     display: flex;
     gap: 1rem;
     justify-content: center;
 }

 /* Footer */
 footer {
     background: var(--forest);
     color: white;
     padding: 3rem 2rem 2rem;
 }

 .footer-container {
     max-width: 1200px;
     margin: 0 auto;
 }

 .footer-grid {
     display: grid;
     grid-template-columns: 1fr repeat(3, 1fr);
     gap: 4rem;
     margin-bottom: 1rem;
     padding-bottom: 3rem;
     justify-items: center;
     /* border-bottom: 1px solid rgba(255,255,255,0.1); */
 }

 .footer-text {
     text-align: center;
     margin-bottom: 2.5rem;
     font-size: 20px;
     color: #bdc4c2;
     font-weight: 600;
 }

 .footer-brand p {
     color: rgba(255, 255, 255, 0.6);
     font-size: 0.9rem;
     margin-top: 1rem;
     max-width: 280px;
     line-height: 1.6;
 }

 .footer-column h3 {
     font-size: 0.75rem;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.1em;
     margin-bottom: 1.25rem;
     color: rgba(255, 255, 255, 0.5);
 }

 .footer-column ul {
     list-style: none;
 }

 .footer-column li {
     margin-bottom: 0.75rem;
 }

 .footer-column a {
     color: rgba(255, 255, 255, 0.8);
     text-decoration: none;
     font-size: 0.9rem;
     transition: color 0.2s;
 }

 .footer-column a:hover {
     color: white;
 }

 .footer-bottom {
     display: flex;
     justify-content: space-between;
     align-items: center;
     font-size: 0.85rem;
     color: rgba(255, 255, 255, 0.5);
 }

 .footer-bottom a {
     color: rgba(255, 255, 255, 0.8);
     text-decoration: none;
     font-size: 0.9rem;
     transition: color 0.2s;
 }

 .footer-bottom a:hover {
     color: white;
 }

 /* Social Media Icons */
 .footer-social {
     display: flex;
     justify-content: center;
     gap: 1.5rem;
     padding: 2rem 0;
 }

 .footer-social a {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 40px;
     height: 40px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.1);
     color: rgba(255, 255, 255, 0.7);
     transition: all 0.3s ease;
 }

 .footer-social a:hover {
     background: rgba(255, 255, 255, 0.2);
     color: white;
     transform: translateY(-2px);
 }

 .footer-social svg {
     width: 20px;
     height: 20px;
 }

 /* Giant Footer Logo */
 .footer-giant-logo {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 2rem;
     padding: 2rem 0 5rem;
     margin-bottom: 1rem;
     border-bottom: 1px solid rgba(255, 255, 255, 0.08);
     overflow: hidden;
 }

 .giant-logo-icon {
     display: flex;
     align-items: center;
     justify-content: center;
     color: white;
 }

 .giant-logo-icon svg {
     width: clamp(120px, 22vw, 180px);
     height: clamp(120px, 22vw, 180px);
 }

 .giant-logo-text {
     font-family: 'Inter', -apple-system, sans-serif;
     font-size: clamp(6rem, 17vw, 14rem);
     font-weight: 700;
     color: white;
     letter-spacing: -0.04em;
     line-height: 1;
     opacity: 0.95;
 }

 @media (max-width: 768px) {
     .footer-giant-logo {
         flex-direction: column;
         gap: 1.5rem;
         padding: 3rem 0 2rem;
     }

     .giant-logo-icon svg {
         width: 80px;
         height: 80px;
     }

     .giant-logo-text {
         font-size: 4rem;
     }
 }

 /* Responsive */
 @media (max-width: 900px) {
     header {
         padding: 1rem 1rem;
     }

     nav {
         width: 100%;
     }

     .hero {
         grid-template-columns: 1fr;
         text-align: center;
         padding-top: 6rem;
     }

     .hero-content {
         max-width: 100%;
     }

     .hero-ctas {
         justify-content: center;
         flex-direction: column;
     }

     .users {
         justify-content: center;
     }

     .hero-visual {
         display: none;
     }

     .cta-buttons {
         flex-direction: column;
     }

     .stats-grid {
         grid-template-columns: 1fr;
     }

     /* How It Works Section responsive - disable horizontal scroll on mobile */
     .how-scroll-container {
         height: auto !important;
         /* Override JS-set height */
     }

     .how-sticky-viewport {
         position: relative;
         height: auto;
     }

     .how-header {
         padding: 4rem 1rem 2rem;
     }

     .how-cards-track {
         flex-direction: column;
         transform: none !important;
         /* Override JS transform */
         padding: 2rem 1rem 4rem;
         gap: 1.5rem;
     }

     .step-card {
         width: 100%;
         max-width: none;
         min-height: auto;
         max-height: none;
         opacity: 0.4;
         transform: scale(0.95);
         background: transparent;
         border: none;
         box-shadow: none;
     }

     .step-card.active {
         opacity: 1;
         transform: scale(1);
         background: white;
         border: 1px solid rgba(0, 0, 0, 0.06);
         box-shadow: 0 2px 23px rgba(0, 0, 0, 0.1);
     }

     .how-cards-track {
         align-items: center;
     }

     .step-illustration {
         height: 180px;
         min-height: auto;
     }


     /* Capabilities Section responsive - vertical layout */
     .capabilities-container {
         grid-template-columns: 1fr;
         gap: 0;
         justify-content: center;
     }

     .capabilities-left {
         order: 1;
         padding: 4rem 0 2rem 0;
     }

     .capabilities-right {
         order: 2;
         padding: 0 0 4rem 0;
     }

     .capabilities-sticky-header {
         position: relative;
         top: auto;
         transform: none;
         text-align: center;
     }

     .capabilities-sticky-header .section-description {
         margin: 0 auto;
     }

     .cap-card {
         opacity: 0.4;
         transform: scale(0.95);
     }

     .cap-card.active {
         opacity: 1;
         transform: scale(1);
         background: white;
         box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
     }

     .capabilities-grid {
         align-items: center;
     }

     .cap-content {
         text-align: center;
     }

     .cap-headline,
     .cap-pain {
         text-align: center;
     }

     .cap-illustration {
         height: 200px;
         min-height: auto;
     }

     .pricing-rates {
         flex-direction: column;
         gap: 1.5rem;
     }

     .pricing-features {
         grid-template-columns: 1fr;
     }

     .footer-grid {
         grid-template-columns: 1fr;
         gap: 2rem;
     }

     .nav-links {
         display: none;
     }

     .pricing-section {
         padding: 8rem 2rem 4rem 2rem;
     }

     .cta-section {
         padding: 4rem 2rem 8rem 2rem;
     }
 }

 /* ========== Modal Styles ========== */
 .modal-overlay {
     position: fixed;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background: rgba(0, 0, 0, 0.5);
     backdrop-filter: blur(4px);
     z-index: 1000;
     display: flex;
     align-items: center;
     justify-content: center;
     opacity: 0;
     visibility: hidden;
     transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
 }

 .modal-overlay.active {
     opacity: 1;
     visibility: visible;
 }

 .modal-container {
     background: white;
     border-radius: 24px;
     width: 100%;
     max-width: 440px;
     max-height: 90vh;
     overflow-y: auto;
     box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
     transform: scale(0.95) translateY(20px);
     transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
     position: relative;
 }

 .modal-overlay.active .modal-container {
     transform: scale(1) translateY(0);
 }

 /* Demo modal is wider for calendar */
 .modal-container.modal-demo {
     max-width: 900px;
     height: 85vh;
 }

 .modal-close {
     position: absolute;
     top: 1rem;
     right: 1rem;
     width: 36px;
     height: 36px;
     border-radius: 50%;
     background: #f3f4f6;
     border: none;
     cursor: pointer;
     display: flex;
     align-items: center;
     justify-content: center;
     transition: all 0.2s;
     z-index: 10;
 }

 .modal-close:hover {
     background: #e5e7eb;
     transform: rotate(90deg);
 }

 .modal-close svg {
     width: 18px;
     height: 18px;
     stroke: #6b7280;
 }

 .modal-content {
     padding: 2.5rem;
 }

 .modal-header {
     text-align: center;
     margin-bottom: 2rem;
 }

 .modal-title {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: 2rem;
     font-weight: 400;
     color: var(--charcoal);
     margin-bottom: 0.5rem;
 }

 .modal-subtitle {
     font-size: 0.95rem;
     color: var(--text-muted);
 }

 /* Demo Modal Specific */
 .modal-demo .modal-content {
     padding: 0;
     height: 100%;
     display: flex;
     flex-direction: column;
 }

 .modal-demo .modal-header {
     padding: 2rem 2rem 1rem;
     margin-bottom: 0;
     border-bottom: 1px solid #f3f4f6;
 }

 .demo-calendar-container {
     flex: 1;
     min-height: 0;
     overflow: hidden;
 }

 #modal-cal-inline {
     width: 100%;
     height: 100%;
     overflow: auto;
 }

 /* Modal panel transitions */
 .modal-panel {
     display: none;
 }

 .modal-panel.active {
     display: block;
     animation: modalPanelIn 0.3s ease;
 }

 @keyframes modalPanelIn {
     from {
         opacity: 0;
         transform: translateX(10px);
     }

     to {
         opacity: 1;
         transform: translateX(0);
     }
 }

 /* Responsive modal */
 @media (max-width: 500px) {
     .modal-container {
         max-width: 100%;
         margin: 1rem;
         border-radius: 20px;
     }

     .modal-content {
         padding: 2rem 1.5rem;
     }

     .form-row {
         grid-template-columns: 1fr;
     }

     .modal-container.modal-demo {
         max-width: 100%;
         height: 95vh;
         margin: 0.5rem;
     }
 }

 /* ========== THE ENGINE Section ========== */
 .engine-section {
     background: #fbf7f3;
     padding: 0 2rem 4rem 2rem;
     position: relative;
 }

 .engine-trigger-container {
     display: flex;
     justify-content: center;
     padding-top: 0rem;
 }

 .engine-trigger {
     display: inline-flex;
     align-items: center;
     gap: 0.75rem;
     padding: 0.75rem 1.5rem;
     background: transparent;
     border: none;
     font-family: 'Inter', sans-serif;
     color: var(--text-muted);
     opacity: 0.6;
     cursor: pointer;
     transition: all 0.3s ease;
     border-radius: 100px;
 }

 .engine-trigger-text {
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 0.15rem;
 }

 .engine-trigger-title {
     font-size: 0.875rem;
     font-weight: 500;
     line-height: 1.2;
 }

 .engine-trigger-subtitle {
     font-size: 0.7rem;
     font-weight: 400;
     opacity: 0.7;
     letter-spacing: 0.01em;
     line-height: 1.2;
 }

 .engine-trigger:hover {
     opacity: 1;
     color: var(--forest);
     background: rgba(26, 58, 50, 0.05);
 }

 .engine-trigger:focus {
     outline: none;
     box-shadow: 0 0 0 2px rgba(26, 58, 50, 0.2);
 }

 .engine-trigger:focus-visible {
     outline: 2px solid var(--forest);
     outline-offset: 2px;
 }

 .engine-trigger-arrow {
     display: inline-flex;
     transition: transform 0.3s ease;
 }

 .engine-trigger[aria-expanded="true"] .engine-trigger-arrow {
     transform: rotate(180deg);
 }

 .engine-trigger-arrow svg {
     animation: arrowPulse 2s ease-in-out infinite;
 }

 .engine-trigger:hover .engine-trigger-arrow svg {
     animation: none;
 }

 @keyframes arrowPulse {

     0%,
     100% {
         opacity: 0.6;
         transform: translateY(0);
     }

     50% {
         opacity: 1;
         transform: translateY(2px);
     }
 }

 .engine-content {
     max-height: 0;
     overflow: hidden;
     transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
         opacity 0.3s ease;
     opacity: 0;
 }

 .engine-content.expanded {
     max-height: 800px;
     opacity: 1;
 }

 .engine-inner {
     max-width: 680px;
     margin: 0 auto;
     padding-top: 3rem;
 }

 .engine-header {
     text-align: center;
     margin-bottom: 2rem;
 }

 .engine-label {
     font-size: 0.7rem;
     font-weight: 500;
     text-transform: uppercase;
     letter-spacing: 0.12em;
     color: var(--coral);
     margin-bottom: 0.75rem;
 }

 .engine-headline {
     font-family: 'Instrument Serif', Georgia, serif;
     font-size: clamp(1.75rem, 3vw, 2.25rem);
     font-weight: 400;
     margin-bottom: 0.75rem;
     color: var(--charcoal);
 }

 .engine-subhead {
     color: var(--text-muted);
     font-size: 1rem;
     line-height: 1.6;
     max-width: 540px;
     margin: 0 auto;
 }

 .engine-card {
     background: var(--forest);
     border-radius: 20px;
     padding: 0;
     overflow: hidden;
     box-shadow: 0 8px 32px rgba(26, 58, 50, 0.15),
         0 2px 8px rgba(0, 0, 0, 0.08);
 }

 .engine-layer {
     display: flex;
     align-items: center;
     gap: 1.25rem;
     padding: 1.5rem 2rem;
     position: relative;
     transition: background 0.2s ease;
 }

 .engine-layer:not(:last-child) {
     border-bottom: 1px solid rgba(255, 255, 255, 0.1);
 }

 .engine-layer:hover {
     background: rgba(255, 255, 255, 0.05);
 }

 .engine-layer-number {
     width: 28px;
     height: 28px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.1);
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 0.75rem;
     font-weight: 600;
     color: rgba(255, 255, 255, 0.6);
     flex-shrink: 0;
 }

 .engine-layer-icon {
     width: 44px;
     height: 44px;
     border-radius: 12px;
     background: rgba(255, 255, 255, 0.12);
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
     transition: all 0.3s ease;
 }

 .engine-layer:hover .engine-layer-icon {
     background: rgba(255, 255, 255, 0.18);
     transform: scale(1.05);
 }

 .engine-layer-icon svg {
     width: 22px;
     height: 22px;
     stroke: white;
     stroke-width: 1.5;
     fill: none;
 }

 .engine-layer-content {
     flex: 1;
     min-width: 0;
 }

 .engine-layer-title {
     font-size: 0.7rem;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.08em;
     color: white;
     margin-bottom: 0.25rem;
 }

 .engine-layer-desc {
     font-size: 0.9rem;
     color: rgba(255, 255, 255, 0.75);
     line-height: 1.5;
 }

 /* Stats callout */
 .engine-stats {
     text-align: center;
     padding-top: 1.5rem;
     font-size: 0.8rem;
     color: var(--text-muted);
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 1.5rem;
     flex-wrap: wrap;
 }

 .engine-stat {
     display: flex;
     align-items: center;
     gap: 0.5rem;
 }

 .engine-stat-dot {
     width: 4px;
     height: 4px;
     background: var(--sage);
     border-radius: 50%;
 }

 /* Mobile responsive */
 @media (max-width: 640px) {
     .engine-section {
         padding: 0 1rem 2rem 1rem;
     }

     .engine-inner {
         padding-top: 2rem;
     }

     .engine-layer {
         padding: 1.25rem 1.25rem;
         gap: 1rem;
     }

     .engine-layer-number {
         display: none;
     }

     .engine-layer-icon {
         width: 38px;
         height: 38px;
     }

     .engine-layer-icon svg {
         width: 18px;
         height: 18px;
     }

     .engine-layer-desc {
         font-size: 0.85rem;
     }

     .engine-stats {
         flex-direction: column;
         gap: 0.75rem;
     }
 }


 /* ========== ENVIRONMENTS Section ========== */
 .environments-section {
     --env-forest: #1E3932;
     --env-forest-light: #2D4A42;
     --env-coral: #C96B5A;
     --env-coral-light: #D4857A;
     --env-cream: #F8F5F0;
     --env-cream-dark: #EDE8E0;
     --env-white: #FFFFFF;
     --env-black: #1A1A1A;
     --env-gray: #6B7280;
     --env-gray-light: #9CA3AF;
     --env-font-serif: 'Instrument Serif', Georgia, 'Times New Roman', serif;
     --env-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

     background: var(--cream);
     padding: 0;
 }

 .environments-section#reliability {
     background: var(--white);
 }

 .env-section {
     max-width: 1200px;
     margin: 0 auto;
     padding: 80px 40px;
 }

 /* Grid */
 .env-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 24px;
 }

 /* Cards */
 .env-card {
     background: var(--env-white);
     border: 1px solid var(--env-cream-dark);
     border-top: 2px solid transparent;
     border-radius: 16px;
     padding: 32px;
     display: flex;
     flex-direction: column;
     transition: transform 0.2s ease, box-shadow 0.2s ease, border-top-color 0.2s ease;
 }

 .env-card:hover {
     transform: translateY(-2px);
     box-shadow: 0 8px 24px rgba(30, 57, 50, 0.08);
     border-top-color: var(--env-coral);
 }

 .env-card-icon {
     width: 40px;
     height: 40px;
     margin-bottom: 16px;
     color: var(--env-forest);
 }

 .env-card-icon svg {
     width: 100%;
     height: 100%;
 }

 .env-card-title {
     font-family: var(--env-font-sans);
     font-size: 18px;
     font-weight: 600;
     color: var(--env-black);
     margin-bottom: 8px;
     line-height: 1.3;
 }

 .env-card-description {
     font-family: var(--env-font-sans);
     font-size: 14px;
     line-height: 1.55;
     color: var(--env-gray);
     margin-bottom: 20px;
     flex-grow: 1;
 }

 /* Vignettes */
 .env-vignette {
     background: var(--env-cream);
     border-radius: 10px;
     padding: 14px;
     font-family: var(--env-font-sans);
     font-size: 12px;
     color: var(--env-gray);
     border: 1px solid var(--env-cream-dark);
     margin-top: auto;
 }

 /* Vignette: Persistent Browser */
 .env-browser-tabs {
     display: flex;
     margin-bottom: 12px;
     border-bottom: 1px solid var(--env-cream-dark);
 }

 .env-browser-tab {
     flex: 1;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 5px;
     padding-bottom: 8px;
     font-size: 11px;
     font-weight: 500;
     color: var(--env-gray-light);
     border-bottom: 2px solid transparent;
     margin-bottom: -1px;
 }

 .env-browser-tab.active {
     color: var(--env-forest);
     font-weight: 600;
     border-bottom-color: var(--env-coral);
 }

 .env-tab-count {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     min-width: 16px;
     height: 14px;
     padding: 0 4px;
     border-radius: 7px;
     font-size: 9px;
     font-weight: 600;
 }

 .env-browser-tab.active .env-tab-count {
     background: rgba(201, 107, 90, 0.12);
     color: var(--env-coral);
 }

 .env-browser-tab:not(.active) .env-tab-count {
     background: var(--env-cream-dark);
     color: var(--env-gray-light);
 }

 .env-history-row {
     display: flex;
     align-items: center;
     gap: 10px;
     padding: 6px 0;
 }

 .env-history-row+.env-history-row {
     border-top: 1px solid var(--env-cream-dark);
 }

 .env-history-favicon {
     width: 22px;
     height: 22px;
     border-radius: 5px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 10px;
     font-weight: 700;
     color: var(--env-white);
     flex-shrink: 0;
 }

 .env-history-favicon.linkedin {
     background: #0A66C2;
 }

 .env-history-favicon.hubspot {
     background: #FF7A59;
 }

 .env-history-favicon.sheets {
     background: #34A853;
 }

 .env-history-title {
     font-size: 11px;
     color: var(--env-black);
     flex-grow: 1;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
 }

 .env-history-time {
     font-size: 10px;
     color: var(--env-gray-light);
     flex-shrink: 0;
 }

 /* Vignette: File Storage */
 .env-vignette-files .env-file-row {
     display: flex;
     align-items: center;
     gap: 10px;
     padding: 6px 0;
 }

 .env-vignette-files .env-file-row+.env-file-row {
     border-top: 1px solid var(--env-cream-dark);
 }

 .env-file-type-icon {
     width: 24px;
     height: 24px;
     border-radius: 6px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 9px;
     font-weight: 700;
     color: var(--env-white);
     flex-shrink: 0;
 }

 .env-file-type-icon.audio {
     background: #7C3AED;
 }

 .env-file-type-icon.csv {
     background: #059669;
 }

 .env-file-type-icon.image {
     background: #2563EB;
 }

 .env-file-name {
     font-size: 11px;
     color: var(--env-black);
     flex-grow: 1;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
 }

 .env-file-size {
     font-size: 10px;
     color: var(--env-gray-light);
     flex-shrink: 0;
 }

 .env-quota-bar {
     margin-top: 10px;
     height: 4px;
     background: var(--env-cream-dark);
     border-radius: 2px;
     overflow: hidden;
 }

 .env-quota-fill {
     height: 100%;
     width: 4.2%;
     background: var(--env-coral);
     border-radius: 2px;
 }

 .env-quota-label {
     font-size: 10px;
     color: var(--env-gray-light);
     text-align: right;
     margin-top: 4px;
 }

 /* Vignette: Agent Memory */
 .env-vignette-memory {
     position: relative;
     overflow: hidden;
 }

 .env-memory-heading {
     font-size: 12px;
     font-weight: 600;
     color: var(--env-forest);
     margin-bottom: 6px;
 }

 .env-memory-heading span {
     color: var(--env-coral);
 }

 .env-memory-line {
     font-size: 11px;
     color: var(--env-gray);
     line-height: 1.5;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
 }

 .env-memory-line::before {
     content: '\2013';
     margin-right: 6px;
     color: var(--env-gray-light);
 }

 .env-vignette-memory::after {
     content: '';
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     height: 24px;
     background: linear-gradient(transparent, var(--env-cream));
     pointer-events: none;
 }

 /* Vignette: Configurable Skills */
 .env-skill-row {
     display: flex;
     align-items: center;
     gap: 10px;
     padding: 7px 0;
 }

 .env-skill-row+.env-skill-row {
     border-top: 1px solid var(--env-cream-dark);
 }

 .env-skill-icon {
     width: 22px;
     height: 22px;
     border-radius: 5px;
     background: var(--env-forest);
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
     color: var(--env-white);
 }

 .env-skill-icon svg {
     width: 12px;
     height: 12px;
 }

 .env-skill-name {
     font-size: 11px;
     color: var(--env-black);
     flex-grow: 1;
 }

 .env-skill-toggle {
     width: 28px;
     height: 16px;
     border-radius: 8px;
     background: var(--env-cream-dark);
     position: relative;
     flex-shrink: 0;
     transition: background 0.2s ease;
 }

 .env-skill-toggle::after {
     content: '';
     position: absolute;
     top: 2px;
     left: 2px;
     width: 12px;
     height: 12px;
     border-radius: 50%;
     background: var(--env-white);
     transition: transform 0.2s ease;
     box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
 }

 .env-skill-toggle.active {
     background: var(--env-coral);
 }

 .env-skill-toggle.active::after {
     transform: translateX(12px);
 }

 /* Vignette: Scheduled Tasks */
 .env-vignette-tasks .env-task-row {
     display: flex;
     align-items: center;
     gap: 10px;
     padding: 6px 0;
 }

 .env-vignette-tasks .env-task-row+.env-task-row {
     border-top: 1px solid var(--env-cream-dark);
 }

 .env-task-name {
     font-size: 12px;
     font-weight: 600;
     color: var(--env-black);
 }

 .env-task-freq {
     font-size: 11px;
     color: var(--env-gray-light);
 }

 .env-task-status {
     font-size: 10px;
     font-weight: 600;
     color: var(--env-coral);
     background: rgba(201, 107, 90, 0.1);
     padding: 2px 8px;
     border-radius: 100px;
 }

 .env-task-status.active {
     color: #059669;
     background: rgba(5, 150, 105, 0.1);
 }

 .env-task-controls {
     display: flex;
     gap: 4px;
 }

 .env-task-control-btn {
     width: 24px;
     height: 24px;
     border-radius: 6px;
     background: var(--env-cream-dark);
     display: flex;
     align-items: center;
     justify-content: center;
     border: none;
     cursor: default;
     color: var(--env-gray);
 }

 .env-task-control-btn svg {
     width: 12px;
     height: 12px;
 }

 /* Vignette: Full Desktop */
 .env-vignette-desktop {
     position: relative;
     height: 170px;
     overflow: hidden;
 }

 .env-desktop-window {
     position: absolute;
     background: var(--env-white);
     border: 1px solid var(--env-cream-dark);
     border-radius: 6px;
     overflow: hidden;
 }

 .env-desktop-window.env-window-files {
     left: 12px;
     top: 8px;
     width: 52%;
     height: 108px;
     z-index: 1;
 }

 .env-desktop-window.env-window-browser {
     right: 12px;
     top: 18px;
     width: 52%;
     height: 108px;
     z-index: 2;
 }

 .env-window-titlebar {
     display: flex;
     align-items: center;
     gap: 2px;
     padding: 2px 5px;
     background: var(--env-cream);
     border-bottom: 1px solid var(--env-cream-dark);
     font-size: 5px;
     font-weight: 600;
     color: var(--env-gray-light);
 }

 .env-window-dot {
     width: 3px;
     height: 3px;
     border-radius: 50%;
 }

 .env-window-dot.red {
     background: #FF5F57;
 }

 .env-window-dot.yellow {
     background: #FFBD2E;
 }

 .env-window-dot.green {
     background: #28C840;
 }

 .env-window-title {
     margin-left: 4px;
 }

 .env-window-addressbar {
     display: flex;
     align-items: center;
     gap: 3px;
     padding: 2px 5px;
     border-bottom: 1px solid var(--env-cream-dark);
 }

 .env-addressbar-nav {
     display: flex;
     align-items: center;
     gap: 1px;
     flex-shrink: 0;
 }

 .env-addressbar-nav svg {
     width: 6px;
     height: 6px;
     color: var(--env-gray-light);
 }

 .env-addressbar-url {
     flex: 1;
     height: 8px;
     background: var(--env-cream);
     border-radius: 4px;
     display: flex;
     align-items: center;
     padding: 0 4px;
     margin-left: 2px;
 }

 .env-addressbar-lock {
     width: 4px;
     height: 4px;
     margin-right: 2px;
     color: var(--env-gray-light);
     flex-shrink: 0;
 }

 .env-addressbar-url-text {
     font-size: 4.5px;
     font-weight: 500;
     color: var(--env-gray);
     white-space: nowrap;
 }

 .env-window-content {
     padding: 6px 8px;
 }

 .env-window-content-line {
     height: 4px;
     background: var(--env-cream);
     border-radius: 2px;
     margin-bottom: 4px;
 }

 /* Files window: sidebar + content layout */
 .env-files-layout {
     display: flex;
     height: 100%;
 }

 .env-files-sidebar {
     width: 28%;
     border-right: 1px solid var(--env-cream-dark);
     padding: 5px 4px;
 }

 .env-sidebar-item {
     display: flex;
     align-items: center;
     gap: 2px;
     padding: 2px 3px;
     border-radius: 3px;
     font-size: 4px;
     font-weight: 600;
     color: var(--env-gray-light);
     margin-bottom: 1px;
 }

 .env-sidebar-item.active {
     background: rgba(201, 107, 90, 0.12);
     color: var(--env-coral);
 }

 .env-sidebar-dot {
     width: 4px;
     height: 4px;
     border-radius: 1px;
     background: currentColor;
     opacity: 0.5;
     flex-shrink: 0;
 }

 .env-sidebar-item.active .env-sidebar-dot {
     opacity: 1;
 }

 .env-files-main {
     flex: 1;
     padding: 5px;
     display: flex;
     flex-wrap: wrap;
     gap: 4px;
     align-content: flex-start;
 }

 .env-file-thumb {
     width: 22px;
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 1px;
 }

 .env-file-thumb-icon {
     width: 16px;
     height: 18px;
     background: var(--env-white);
     border: none;
     border-radius: 2px;
     position: relative;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .env-file-thumb-icon::after {
     position: absolute;
     bottom: 1px;
     right: 1px;
     font-size: 3px;
     font-weight: 800;
     font-family: var(--env-font-sans);
     letter-spacing: -0.2px;
     padding: 0.5px 1.5px;
     border-radius: 1px;
     line-height: 1;
 }

 .env-file-thumb-icon.pdf::after {
     content: 'PDF';
     background: #EF4444;
     color: white;
 }

 .env-file-thumb-icon.img::after {
     content: 'PNG';
     background: #3B82F6;
     color: white;
 }

 .env-file-thumb-icon.folder {
     background: none;
     border: none;
 }

 .env-file-thumb-icon.doc::after {
     content: 'TXT';
     background: #6366F1;
     color: white;
 }

 .env-file-thumb-icon.sheet::after {
     content: 'CSV';
     background: #059669;
     color: white;
 }

 .env-file-thumb-icon.code::after {
     content: 'PY';
     background: var(--env-forest);
     color: white;
 }

 .env-file-thumb-icon svg {
     width: 8px;
     height: 8px;
     color: var(--env-gray-light);
 }

 .env-file-thumb-icon.folder svg {
     width: 14px;
     height: 14px;
     color: #F59E0B;
 }

 .env-file-thumb-label {
     font-size: 3px;
     font-weight: 500;
     color: var(--env-gray-light);
     text-align: center;
     white-space: nowrap;
 }

 .env-desktop-taskbar {
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     height: 24px;
     background: var(--env-forest);
     border-radius: 0 0 10px 10px;
     display: flex;
     align-items: center;
     gap: 6px;
     padding: 0 10px;
 }

 .env-taskbar-icon {
     width: 12px;
     height: 12px;
     border-radius: 3px;
     background: var(--env-forest-light);
 }

 .env-taskbar-clock {
     font-size: 7px;
     font-weight: 600;
     color: rgba(255, 255, 255, 0.5);
     letter-spacing: 0.3px;
 }

 /* CTA */
 .env-cta-wrapper {
     margin-top: 56px;
     text-align: center;
 }

 .env-cta-button {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     background-color: var(--env-forest);
     color: var(--env-white);
     font-family: var(--env-font-sans);
     font-size: 16px;
     font-weight: 600;
     padding: 14px 32px;
     border-radius: 100px;
     border: none;
     cursor: pointer;
     text-decoration: none;
     transition: background-color 0.2s ease, transform 0.15s ease;
 }

 .env-cta-button:hover {
     background-color: var(--env-forest-light);
     transform: translateY(-1px);
 }

 .env-cta-button svg {
     width: 16px;
     height: 16px;
     transition: transform 0.15s ease;
 }

 .env-cta-button:hover svg {
     transform: translateX(2px);
 }

 /* Focus Styles */
 .environments-section a:focus-visible,
 .environments-section button:focus-visible {
     outline: 2px solid var(--env-coral);
     outline-offset: 2px;
 }

 /* Entrance Animation */
 @media (prefers-reduced-motion: no-preference) {
     @keyframes envFadeInUp {
         from {
             opacity: 0;
             transform: translateY(16px);
         }

         to {
             opacity: 1;
             transform: translateY(0);
         }
     }

     .env-card {
         animation: envFadeInUp 0.5s ease both;
     }

     .env-grid .env-card:nth-child(1) {
         animation-delay: 0ms;
     }

     .env-grid .env-card:nth-child(2) {
         animation-delay: 80ms;
     }

     .env-grid .env-card:nth-child(3) {
         animation-delay: 160ms;
     }
 }

 /* Responsive */
 @media (max-width: 1024px) {
     .env-section {
         padding: 60px 32px;
     }

     .env-section-headline {
         font-size: 40px;
     }

     .env-grid {
         grid-template-columns: repeat(2, 1fr);
     }
 }

 @media (max-width: 768px) {
     .env-section {
         padding: 48px 20px;
     }


     .env-grid {
         grid-template-columns: 1fr;
         gap: 16px;
     }

     .env-cta-wrapper {
         margin-top: 40px;
     }

     .env-cta-button {
         width: 100%;
         justify-content: center;
     }
 }

 @media (max-width: 640px) {
     .step-content {
         text-align: center;
         padding: 0rem 2.5rem 2.5rem 2.5rem;
     }

     .cap-illustration {
         padding: 0.9rem;
     }

     .step-illustration {
         padding: 1.5rem 1rem 0rem 1rem;
     }
 }

 /* Accordion Styles */
 .accordion {
     display: flex;
     flex-direction: column;
     gap: 1rem;
     margin-top: 2rem;
 }

 .accordion-item {
     border: 1px solid rgba(0, 0, 0, 0.08);
     border-radius: 12px;
     background: white;
     overflow: hidden;
     transition: all 0.2s ease;
 }

 .accordion-item:hover {
     border-color: rgba(0, 0, 0, 0.15);
     box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
 }

 .accordion-header {
     width: 100%;
     padding: 1.5rem;
     display: flex;
     justify-content: space-between;
     align-items: center;
     background: none;
     border: none;
     cursor: pointer;
     text-align: left;
     font-size: 1.1rem;
     font-weight: 600;
     color: var(--charcoal);
     transition: background-color 0.2s ease;
 }

 .accordion-header:hover {
     background-color: rgba(0, 0, 0, 0.01);
 }

 .accordion-icon {
     width: 24px;
     height: 24px;
     transition: transform 0.3s ease;
     color: var(--forest);
 }

 .accordion-item.active .accordion-icon {
     transform: rotate(180deg);
 }

 .accordion-content {
     max-height: 0;
     overflow: hidden;
     transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
     background-color: white;
 }

 .accordion-body {
     padding: 0 1.5rem 1.5rem 1.5rem;
     color: var(--text);
     font-size: 1rem;
     line-height: 1.6;
 }

 .accordion-body ul {
     padding-left: 1.5rem;
     margin-top: 0.5rem;
     margin-bottom: 0.5rem;
 }

 .accordion-body li {
     margin-bottom: 0.5rem;
 }

 .accordion-body h3 {
     font-size: 1rem;
     font-weight: 600;
     margin-top: 1rem;
     margin-bottom: 0.5rem;
     color: var(--charcoal);
 }

 /* ── GOVERNANCE SECTION ── */
 /* ── GOVERNANCE SECTION ── */
 .governance {
     background: var(--cream-dark);
     padding: 80px 24px 72px;
     overflow: hidden;
 }

 .governance-inner {
     max-width: 1120px;
     margin: 0 auto;
 }

 .governance .section-label {
     text-align: center;
 }

 .governance h2 {
     color: var(--charcoal);
     text-align: center;
 }

 .governance .section-description {
     color: var(--text-muted);
     text-align: center;
     max-width: 560px;
     margin: 0 auto 56px;
 }

 /* ── DUAL PANEL ── */
 .dual-panel {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 20px;
     max-width: 1020px;
     margin: 0 auto;
     position: relative;
     overflow: visible;
     transition: opacity 0.4s;
 }

 /* ── LEFT PANEL: BROWSER MOCKUP ── */
 .browser-mockup {
     background: var(--white);
     border-radius: var(--radius);
     overflow: hidden;
     box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
 }

 .browser-titlebar {
     background: var(--forest-light);
     padding: 10px 14px;
     display: flex;
     align-items: center;
     gap: 10px;
 }

 .browser-dots {
     display: flex;
     gap: 6px;
 }

 .browser-dots span {
     width: 10px;
     height: 10px;
     border-radius: 50%;
 }

 .dot-red {
     background: #FF5F57;
 }

 .dot-yellow {
     background: #FFBD2E;
 }

 .dot-green {
     background: #28C840;
 }

 .browser-url {
     flex: 1;
     background: rgba(255, 255, 255, 0.12);
     border-radius: 6px;
     padding: 4px 10px;
     font-size: 11px;
     color: rgba(255, 255, 255, 0.7);
     font-family: 'Inter', sans-serif;
 }

 .crm-content {
     padding: 16px;
     background: #FAFAFA;
     min-height: 340px;
 }

 .crm-header {
     display: flex;
     align-items: center;
     justify-content: space-between;
     margin-bottom: 14px;
 }

 .crm-title {
     font-size: 15px;
     font-weight: 700;
     color: var(--forest);
 }

 .crm-search {
     background: var(--white);
     border: 1px solid #DDD;
     border-radius: 6px;
     padding: 6px 12px;
     font-size: 12px;
     color: #999;
     width: 180px;
 }

 .crm-table {
     width: 100%;
     border-collapse: collapse;
     font-size: 12px;
     margin-bottom: 18px;
 }

 .crm-table th {
     text-align: left;
     font-weight: 600;
     color: #888;
     font-size: 10px;
     text-transform: uppercase;
     letter-spacing: 0.8px;
     padding: 6px 8px;
     border-bottom: 1px solid #E8E8E8;
 }

 .crm-table td {
     padding: 9px 8px;
     border-bottom: 1px solid #F0F0F0;
     color: #444;
 }

 .crm-table .checkbox {
     width: 14px;
     height: 14px;
     border: 1.5px solid #CCC;
     border-radius: 3px;
     display: inline-block;
     vertical-align: middle;
 }

 .crm-table .checkbox.checked {
     background: var(--forest);
     border-color: var(--forest);
     position: relative;
 }

 .crm-table .checkbox.checked::after {
     content: '';
     position: absolute;
     left: 50%;
     top: 50%;
     width: 4px;
     height: 7px;
     border: solid white;
     border-width: 0 1.5px 1.5px 0;
     transform: translate(-50%, -60%) rotate(45deg);
 }

 .crm-actions {
     display: flex;
     gap: 10px;
     justify-content: flex-start;
 }

 .btn-export {
     background: var(--white);
     border: 1px solid #DDD;
     border-radius: 6px;
     padding: 7px 14px;
     font-size: 12px;
     font-weight: 500;
     color: #555;
     cursor: pointer;
 }

 .btn-delete {
     background: #FFF0EE;
     border: 1px solid #E8A9A0;
     border-radius: 6px;
     padding: 7px 14px;
     font-size: 12px;
     font-weight: 600;
     color: #C0392B;
     cursor: pointer;
     position: relative;
 }

 .btn-delete-target {
     outline: 2.5px dashed var(--coral);
     outline-offset: 3px;
     animation: target-pulse 2s ease-in-out infinite;
 }

 @keyframes target-pulse {

     0%,
     100% {
         outline-color: var(--coral);
     }

     50% {
         outline-color: rgba(224, 122, 95, 0.4);
     }
 }

 /* Agent cursor */
 .agent-cursor {
     position: absolute;
     top: 55px;
     left: 200px;
     width: 20px;
     height: 20px;
     z-index: 5;
     transition: top 0.3s cubic-bezier(0.4, 0, 0.2, 1),
         left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
 }

 .agent-cursor svg {
     width: 100%;
     height: 100%;
 }

 /* Animation helpers */
 .checkbox.checking {
     animation: check-bounce 0.25s ease-out;
 }

 @keyframes check-bounce {
     0% {
         transform: scale(1);
     }

     50% {
         transform: scale(1.3);
     }

     100% {
         transform: scale(1);
     }
 }

 .btn-delete.pressing {
     animation: btn-press 0.2s ease-out;
 }

 @keyframes btn-press {
     0% {
         transform: scale(1);
     }

     50% {
         transform: scale(0.95);
     }

     100% {
         transform: scale(1);
     }
 }

 .flow-card.checking {
     opacity: 0.78 !important;
 }

 /* ── RIGHT PANEL: POLICY FEED ── */
 .policy-feed {
     background: var(--forest-light);
     border-radius: var(--radius);
     overflow: hidden;
     box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
     display: flex;
     flex-direction: column;
 }

 .feed-titlebar {
     padding: 10px 14px;
     display: flex;
     align-items: center;
     justify-content: space-between;
     border-bottom: 1px solid rgba(255, 255, 255, 0.08);
 }

 .feed-title {
     font-size: 12px;
     font-weight: 600;
     color: rgba(255, 255, 255, 0.7);
     letter-spacing: 0.5px;
 }

 .feed-live-dot {
     width: 7px;
     height: 7px;
     background: var(--green-badge);
     border-radius: 50%;
     display: inline-block;
     margin-right: 6px;
     animation: live-pulse 1.5s ease-in-out infinite;
 }

 @keyframes live-pulse {

     0%,
     100% {
         opacity: 1;
     }

     50% {
         opacity: 0.3;
     }
 }


 /* ── FLOW CARDS ── */
 .policy-rules {
     padding: 10px 12px;
     flex: 1;
     position: relative;
 }

 /* Vertical connector line */
 .policy-rules::before {
     content: '';
     position: absolute;
     left: 24px;
     top: 16px;
     bottom: 16px;
     width: 1px;
     border-left: 1.5px dashed rgba(255, 255, 255, 0.1);
 }

 .flow-card {
     position: relative;
     background: rgba(255, 255, 255, 0.04);
     border-radius: 8px;
     padding: 10px 12px;
     margin-bottom: 6px;
     border-left: 3px solid transparent;
     margin-left: 18px;
     transition: opacity 0.4s, border-left-color 0.4s, background 0.4s;
 }

 .flow-card.inactive {
     opacity: 1;
 }

 .flow-card.triggered {
     opacity: 1;
     border-left-color: var(--coral);
     background: rgba(224, 122, 95, 0.1);
 }

 /* Connector dot on the vertical line */
 .flow-card::before {
     content: '';
     position: absolute;
     left: -24px;
     top: 50%;
     transform: translateY(-50%);
     width: 7px;
     height: 7px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.15);
     border: 1.5px solid rgba(255, 255, 255, 0.2);
 }

 .flow-card.triggered::before {
     background: var(--coral);
     border-color: var(--coral);
     box-shadow: 0 0 6px rgba(224, 122, 95, 0.4);
 }

 /* Horizontal connector from dot to card */
 .flow-card::after {
     content: '';
     position: absolute;
     left: -17px;
     top: 50%;
     width: 14px;
     height: 1px;
     border-top: 1.5px dashed rgba(255, 255, 255, 0.1);
 }

 .flow-card.triggered::after {
     border-top-color: rgba(224, 122, 95, 0.3);
 }

 .flow-label {
     font-family: 'Inter', sans-serif;
     font-size: 10px;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.8px;
     color: rgba(255, 255, 255, 0.45);
     margin-bottom: 6px;
 }

 .flow-card.triggered .flow-label {
     color: rgba(255, 255, 255, 0.8);
 }

 .flow-param-row {
     display: flex;
     align-items: center;
     gap: 8px;
     font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
     font-size: 11px;
 }

 .flow-param {
     color: rgba(255, 255, 255, 0.65);
     background: rgba(255, 255, 255, 0.06);
     padding: 3px 8px;
     border-radius: 4px;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
     max-width: 200px;
 }

 .flow-card.triggered .flow-param {
     color: var(--white);
     background: rgba(255, 255, 255, 0.1);
 }

 .flow-arrow {
     color: rgba(255, 255, 255, 0.2);
     font-size: 12px;
     flex-shrink: 0;
 }

 .flow-card.triggered .flow-arrow {
     color: rgba(224, 122, 95, 0.5);
 }

 .flow-badge {
     font-size: 9px;
     font-weight: 700;
     padding: 3px 8px;
     border-radius: 4px;
     text-transform: uppercase;
     letter-spacing: 0.6px;
     white-space: nowrap;
     flex-shrink: 0;
 }

 .badge-block {
     color: rgba(255, 255, 255, 0.4);
     border: 1px solid rgba(255, 255, 255, 0.12);
 }

 .triggered .badge-guardrail {
     color: var(--coral);
     background: rgba(224, 122, 95, 0.18);
     border: 1px solid rgba(224, 122, 95, 0.3);
 }

 .badge-guardrail {
     color: rgba(255, 255, 255, 0.4);
     border: 1px solid rgba(255, 255, 255, 0.12);
 }

 .flow-match {
     margin-top: 6px;
     font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
     font-size: 10px;
     color: var(--coral);
     font-style: italic;
     display: flex;
     align-items: center;
     gap: 4px;
     opacity: 0;
     max-height: 0;
     overflow: hidden;
     transition: opacity 0.3s, max-height 0.3s;
 }

 .flow-card.triggered .flow-match {
     opacity: 1;
     max-height: 30px;
 }

 .flow-match .match-check {
     color: var(--coral);
     font-style: normal;
     font-weight: 700;
 }

 .policy-result {
     padding: 10px 14px 12px;
     font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
     font-size: 11px;
     font-weight: 600;
     color: rgba(255, 255, 255, 0.35);
     letter-spacing: 0.5px;
     border-top: 1px solid rgba(255, 255, 255, 0.06);
     text-align: right;
     transition: color 0.4s;
 }

 .policy-result.triggered {
     color: var(--coral);
     animation: waiting-pulse 2s ease-in-out infinite;
 }

 @keyframes waiting-pulse {

     0%,
     100% {
         opacity: 1;
     }

     50% {
         opacity: 0.35;
     }
 }

 /* ── FLOATING APPROVAL DIALOG ── */
 .approval-dialog {
     position: absolute;
     bottom: -36px;
     left: 50%;
     transform: translateX(-50%) translateY(12px);
     width: 320px;
     background: var(--white);
     border-radius: var(--radius-sm);
     box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
     padding: 20px;
     z-index: 10;
     opacity: 0;
     pointer-events: none;
     transition: opacity 0.5s ease-out, transform 0.5s ease-out;
 }

 .approval-dialog.visible {
     opacity: 1;
     pointer-events: auto;
     transform: translateX(-50%) translateY(0);
     animation: dialog-float 3s ease-in-out infinite;
     animation-delay: 0.5s;
 }

 @keyframes dialog-float {

     0%,
     100% {
         transform: translateX(-50%) translateY(0);
     }

     50% {
         transform: translateX(-50%) translateY(-4px);
     }
 }

 .dialog-header {
     font-size: 13px;
     font-weight: 700;
     color: var(--forest);
     margin-bottom: 12px;
     display: flex;
     align-items: center;
     gap: 6px;
 }

 .dialog-header .icon {
     width: 18px;
     height: 18px;
     background: #FFF3E0;
     border-radius: 4px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 11px;
 }

 .dialog-rule {
     background: #F7F7F5;
     border-radius: 6px;
     padding: 10px 12px;
     margin-bottom: 16px;
     font-size: 11.5px;
     line-height: 1.7;
     color: #555;
 }

 .dialog-rule strong {
     color: var(--forest);
     font-weight: 600;
 }

 .dialog-rule .mono {
     font-family: 'SF Mono', 'Consolas', monospace;
     font-size: 11px;
     color: var(--coral);
 }

 .dialog-buttons {
     display: flex;
     gap: 10px;
 }

 .dialog-buttons button {
     flex: 1;
     padding: 9px 0;
     border-radius: 6px;
     font-size: 13px;
     font-weight: 600;
     cursor: pointer;
     transition: all 0.15s;
 }

 .btn-reject {
     background: transparent;
     border: 1.5px solid #DDD;
     color: #888;
 }

 .btn-reject:hover {
     border-color: #BBB;
     color: #666;
 }

 .btn-approve {
     background: var(--forest);
     border: 1.5px solid var(--forest);
     color: var(--white);
 }

 .btn-approve:hover {
     background: var(--forest-mid);
 }

 /* ── TEMPLATE PILLS ── */
 .template-pills {
     display: flex;
     justify-content: center;
     gap: 12px;
     margin-top: 88px;
     flex-wrap: wrap;
 }

 .template-pill {
     border: 1px solid rgba(26, 58, 50, 0.25);
     border-radius: 40px;
     padding: 8px 20px;
     font-size: 13px;
     font-weight: 500;
     color: rgba(26, 58, 50, 0.75);
     transition: all 0.2s;
     cursor: default;
 }

 .template-pill:hover {
     border-color: rgba(26, 58, 50, 0.5);
     color: var(--forest);
 }

 .template-caption {
     text-align: center;
     margin-top: 14px;
     font-size: 13px;
     color: var(--text-muted);
     font-style: italic;
 }

 /* ── CTA ── */
 .governance .section-cta {
     text-align: center;
     margin-top: 70px;
     margin-bottom: -30px;
 }

 .governance .section-cta a {
     color: var(--forest);
     text-decoration: none;
     font-size: 15px;
     font-weight: 600;
     display: inline-flex;
     align-items: center;
     gap: 6px;
     transition: opacity 0.2s;
 }

 .governance .section-cta a:hover {
     opacity: 0.8;
 }

 .governance .section-cta a .arrow {
     font-size: 18px;
 }

 /* ── RESPONSIVE ── */
 @media (max-width: 860px) {
     .dual-panel {
         grid-template-columns: 1fr;
         gap: 16px;
     }

     .approval-dialog {
         position: relative;
         bottom: auto;
         left: auto;
         transform: none;
         margin: 16px auto 0;
         width: 100%;
         max-width: 340px;
     }

     .nav-links {
         display: none;
     }

     .crm-content {
         min-height: auto;
     }
 }

 @media (max-width: 500px) {
     .governance {
         padding: 56px 16px 48px;
     }

     .flow-card {
         padding: 8px 10px;
     }

     .flow-param {
         font-size: 9px;
         max-width: 130px;
     }

     .flow-badge {
         font-size: 8px;
         padding: 2px 6px;
     }

     .template-pills {
         gap: 8px;
     }

     .template-pill {
         padding: 6px 14px;
         font-size: 12px;
     }
 }